Merge "monasca-thresh: Fix topology submission to storm"
This commit is contained in:
@@ -50,6 +50,7 @@ monasca_services:
|
|||||||
image: "{{ monasca_thresh_image_full }}"
|
image: "{{ monasca_thresh_image_full }}"
|
||||||
volumes: "{{ monasca_thresh_default_volumes + monasca_thresh_extra_volumes }}"
|
volumes: "{{ monasca_thresh_default_volumes + monasca_thresh_extra_volumes }}"
|
||||||
dimensions: "{{ monasca_thresh_dimensions }}"
|
dimensions: "{{ monasca_thresh_dimensions }}"
|
||||||
|
state: "exited"
|
||||||
monasca-notification:
|
monasca-notification:
|
||||||
container_name: monasca_notification
|
container_name: monasca_notification
|
||||||
group: monasca-notification
|
group: monasca-notification
|
||||||
|
|||||||
@@ -46,16 +46,43 @@
|
|||||||
|
|
||||||
- name: Restart monasca-thresh container
|
- name: Restart monasca-thresh container
|
||||||
vars:
|
vars:
|
||||||
service_name: "monasca-thresh"
|
service: "{{ monasca_services['monasca-thresh'] }}"
|
||||||
service: "{{ monasca_services[service_name] }}"
|
|
||||||
become: true
|
become: true
|
||||||
kolla_docker:
|
kolla_docker:
|
||||||
action: "recreate_or_restart_container"
|
action: "start_container"
|
||||||
common_options: "{{ docker_common_options }}"
|
common_options: "{{ docker_common_options }}"
|
||||||
name: "{{ service.container_name }}"
|
name: "{{ service.container_name }}"
|
||||||
image: "{{ service.image }}"
|
image: "{{ service.image }}"
|
||||||
volumes: "{{ service.volumes }}"
|
volumes: "{{ service.volumes }}"
|
||||||
dimensions: "{{ service.dimensions }}"
|
dimensions: "{{ service.dimensions }}"
|
||||||
|
detach: False
|
||||||
|
remove_on_exit: false
|
||||||
|
restart_policy: no
|
||||||
|
environment:
|
||||||
|
KOLLA_BOOTSTRAP:
|
||||||
|
run_once: True
|
||||||
|
delegate_to: "{{ groups[service.group]|first }}"
|
||||||
|
when:
|
||||||
|
- kolla_action != "config"
|
||||||
|
|
||||||
|
- name: Resubmitting monasca-thresh topology
|
||||||
|
vars:
|
||||||
|
service: "{{ monasca_services['monasca-thresh'] }}"
|
||||||
|
become: true
|
||||||
|
kolla_docker:
|
||||||
|
action: "start_container"
|
||||||
|
common_options: "{{ docker_common_options }}"
|
||||||
|
name: "resubmit_{{ service.container_name }}"
|
||||||
|
image: "{{ service.image }}"
|
||||||
|
volumes: "{{ service.volumes }}"
|
||||||
|
dimensions: "{{ service.dimensions }}"
|
||||||
|
detach: False
|
||||||
|
restart_policy: no
|
||||||
|
environment:
|
||||||
|
KOLLA_BOOTSTRAP:
|
||||||
|
TOPOLOGY_REPLACE:
|
||||||
|
run_once: True
|
||||||
|
delegate_to: "{{ groups[service.group]|first }}"
|
||||||
when:
|
when:
|
||||||
- kolla_action != "config"
|
- kolla_action != "config"
|
||||||
|
|
||||||
|
|||||||
@@ -9,6 +9,7 @@
|
|||||||
pid_mode: "{{ item.value.pid_mode|default('') }}"
|
pid_mode: "{{ item.value.pid_mode|default('') }}"
|
||||||
volumes: "{{ item.value.volumes }}"
|
volumes: "{{ item.value.volumes }}"
|
||||||
dimensions: "{{ item.value.dimensions }}"
|
dimensions: "{{ item.value.dimensions }}"
|
||||||
|
state: "{{ item.value.state | default('running') }}"
|
||||||
when:
|
when:
|
||||||
- inventory_hostname in groups[item.value.group]
|
- inventory_hostname in groups[item.value.group]
|
||||||
- item.value.enabled | bool
|
- item.value.enabled | bool
|
||||||
|
|||||||
@@ -268,7 +268,7 @@
|
|||||||
- inventory_hostname in groups[service['group']]
|
- inventory_hostname in groups[service['group']]
|
||||||
- service.enabled | bool
|
- service.enabled | bool
|
||||||
notify:
|
notify:
|
||||||
- Restart monasca-thresh container
|
- Resubmitting monasca-thresh topology
|
||||||
|
|
||||||
- name: Copying over monasca-thresh storm config
|
- name: Copying over monasca-thresh storm config
|
||||||
vars:
|
vars:
|
||||||
@@ -286,7 +286,7 @@
|
|||||||
- inventory_hostname in groups[service['group']]
|
- inventory_hostname in groups[service['group']]
|
||||||
- service.enabled | bool
|
- service.enabled | bool
|
||||||
notify:
|
notify:
|
||||||
- Restart monasca-thresh container
|
- Resubmitting monasca-thresh topology
|
||||||
|
|
||||||
- name: Copying over monasca-notification config
|
- name: Copying over monasca-notification config
|
||||||
vars:
|
vars:
|
||||||
|
|||||||
@@ -9,5 +9,18 @@
|
|||||||
|
|
||||||
- import_tasks: bootstrap_service.yml
|
- import_tasks: bootstrap_service.yml
|
||||||
|
|
||||||
|
# NOTE(sshambar): We don't want pre-upgrade monasca-thresh instances
|
||||||
|
# running in local mode after an upgrade, so stop them.
|
||||||
|
# The first node will be replaced with the submission container in the
|
||||||
|
# handlers below.
|
||||||
|
- name: Stopping all monasca-thresh instances but the first node
|
||||||
|
become: true
|
||||||
|
kolla_docker:
|
||||||
|
action: "stop_container"
|
||||||
|
common_options: "{{ docker_common_options }}"
|
||||||
|
name: "{{ monasca_services['monasca-thresh']['container_name'] }}"
|
||||||
|
when:
|
||||||
|
- inventory_hostname != groups['monasca-thresh']|first
|
||||||
|
|
||||||
- name: Flush handlers
|
- name: Flush handlers
|
||||||
meta: flush_handlers
|
meta: flush_handlers
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"command": "/opt/storm/bin/storm jar /monasca-thresh-source/monasca-thresh-*/thresh/target/monasca-thresh-*-SNAPSHOT-shaded.jar -Djava.io.tmpdir=/var/lib/monasca-thresh/data monasca.thresh.ThresholdingEngine /etc/monasca/thresh-config.yml monasca-thresh local",
|
"command": "/opt/storm/bin/storm jar /monasca-thresh-source/monasca-thresh-*/thresh/target/monasca-thresh-*-SNAPSHOT-shaded.jar -Djava.io.tmpdir=/var/lib/monasca-thresh/data monasca.thresh.ThresholdingEngine /etc/monasca/thresh-config.yml monasca-thresh",
|
||||||
"config_files": [
|
"config_files": [
|
||||||
{
|
{
|
||||||
"source": "{{ container_config_directory }}/thresh-config.yml",
|
"source": "{{ container_config_directory }}/thresh-config.yml",
|
||||||
|
|||||||
@@ -1,9 +1 @@
|
|||||||
storm.local.dir: "/var/lib/monasca-thresh/data"
|
|
||||||
storm.log.dir: "/var/log/kolla/storm"
|
|
||||||
storm.workers.artifacts.dir: "/var/lib/monasca-thresh/worker-artifacts"
|
|
||||||
nimbus.seeds: [{{ monasca_storm_nimbus_servers }}]
|
nimbus.seeds: [{{ monasca_storm_nimbus_servers }}]
|
||||||
storm.zookeeper.port: {{ zookeeper_client_port }}
|
|
||||||
storm.zookeeper.servers:
|
|
||||||
{% for host in groups['zookeeper'] %}
|
|
||||||
- "{{ 'api' | kolla_address(host) }}"
|
|
||||||
{% endfor %}
|
|
||||||
|
|||||||
13
releasenotes/notes/bug-1808805-3ebd9b0edceff170.yaml
Normal file
13
releasenotes/notes/bug-1808805-3ebd9b0edceff170.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Fixes monasca-thresh to correctly submit the topology to Storm.
|
||||||
|
The previous container ran the topology in local mode (within the
|
||||||
|
container), and didn't use the Storm cloud. The new container
|
||||||
|
handles submitting the topology to Storm and also handles killing
|
||||||
|
and replaces the topology when it's configuration has changed.
|
||||||
|
As a result, the monasca-thresh container is only used for
|
||||||
|
submission, and exits after that's completed.
|
||||||
|
The logs for the topology will now be available in the storm
|
||||||
|
worker-artifact logs.
|
||||||
|
`LP#1808805 <https://launchpad.net/bugs/1808805>`__
|
||||||
Reference in New Issue
Block a user