-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Standalone Monasca for demo purposes with Docker Compose #16
base: master
Are you sure you want to change the base?
Conversation
Running Monasca standalone for demo purposes requires different configuration, comparing to automatic tests. It's an initial version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I definitely like the idea of having multiple docker-compose configurations available, and fully separating out the init containers is an improvement over the "
We're mainly using monasca-docker as a DevStack replacement and in CI/CD, so I don't think any of our needs conflict with what you're trying to do here. Is there any reason these changes couldn't be applied to the main docker-compose.yml to avoid duplication between the "main" and standalone environments?
Official Grafana service name is `grafana-official`. It has limitations to Monasca Keystone authentications, moreover, | ||
Monasca datasource plugin must be installed manually by below command: | ||
``` | ||
docker-compose exec grafana-official /bin/bash |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason not to use monasca/grafana here? It installs keystone auth and the monasca datasource plugin automatically (and can be configured with grafana-init)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not too strong reason, see my long answer.
As a side note, we are planning to move away from :latest and :master tags as soon as we can, the main blocker on that right now is that a lot of required patches haven't yet been merged upstream. Once those are merged and included in some stable release we'd like to move to proper release versions everywhere. |
I had zero competence with docker-compose 3 weeks ago. So I decided the most safe and most independent alternative: using own directory as a sandbox. It has a few disadvantages, for example parent directory must be added to the paths (service.build.context, service.volumes), but more flexible. In the future, when the compose file structure will be worked out, this directory may be thrown out. I don't know yet, which alternative will be the best. Without trying, we won't know. My goal is creating a Monasca delivery which is easy to install on an already installed OpenStack (not DevStack) in order to make demo, prototyping or custom characteristic measurement. In the past, I tried a VM for Monasca server, but I would like to try the Docker way, too. The easy install means harmless as possible on an installed OpenStack. Practically it means, Monasca server (Kafka+API+InfluxDB+etc.) runs in Docker containers (on a CIC or out of OpenStack), Monasca Agent runs in Python virtenv. The Keystone is a good question: I'm not sure, using different Keystone for Monasca is a good idea, but currently it's not important for me yet, because I'd like to know more deeply the Monasca, Kafka and InfluxDB protocols/schemas. I have already tried both of official Grafana and monasca/grafana. Official Grafana already has Monasca datasource plugin, meanwhile monasca/grafana is a branch on a Grafana fork. I'd like to see the differences in the future, currently the official Grafana is enough me, because I'm using it only to understand the concept InfluxDB schema. This 2 different Grafana is a good chance to figure out, how the Compose configuration can handle 2 or more different distributions for same thing (and TCP port: only one of them can run). There is another chance for playing different Compose configuration: compose-sidecar.yml, which set monasca service dependency to monasca-sidecar. Prometheus is also interesting for me, but I don't know when I can spend time for it. I'm not sure, Compose file version 3 is required. But it's compatible to swarm mode. Who knows... There are several open questions. I'm not sure, I follow the right way, but let's see it. Please take this Pull request as a first draft of an idea. The current state of this request is not good enough for merging to the master. If you mind, you can pick good idea to the master Compose configuration. But anyway, I has some findings:
|
@timothyb89 How do you see way forward with this PR? |
Signed-off-by: Dobroslaw Zybort <[email protected]>
Running Monasca standalone for demo purposes requires different configuration, comparing to automatic tests. It's an initial version.
We have several alternatives for the future:
a) maintain this repo parallel with the automatic test configuration
b) merging this repo with with the automatic test configuration (https://github.com/hpcloud-mon/monasca-docker/blob/master/docker-compose.yml) and maintaining configuration for several use cases (automatic test, demo, etc) by combining several alternate compose files.
I feel b) is better, but I'm not sure, because I don't know the long-term aims of monasca-docker.