Containerize Aodh alarm services
authorPradeep Kilambi <pkilambi@redhat.com>
Wed, 1 Mar 2017 15:40:17 +0000 (10:40 -0500)
committerPradeep Kilambi <pkilambi@redhat.com>
Fri, 10 Mar 2017 13:34:28 +0000 (08:34 -0500)
Closes-bug: #1668930

Change-Id: If5dff4388b255373083e164a74aaacd529a94111

docker/services/aodh-api.yaml [new file with mode: 0644]
docker/services/aodh-evaluator.yaml [new file with mode: 0644]
docker/services/aodh-listener.yaml [new file with mode: 0644]
docker/services/aodh-notifier.yaml [new file with mode: 0644]
environments/docker.yaml
roles_data_undercloud.yaml

diff --git a/docker/services/aodh-api.yaml b/docker/services/aodh-api.yaml
new file mode 100644 (file)
index 0000000..c88a061
--- /dev/null
@@ -0,0 +1,119 @@
+heat_template_version: ocata
+
+description: >
+  OpenStack containerized aodh service
+
+parameters:
+  DockerNamespace:
+    description: namespace
+    default: 'tripleoupstream'
+    type: string
+  DockerAodhApiImage:
+    description: image
+    default: 'centos-binary-aodh-api:latest'
+    type: string
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+  ServiceNetMap:
+    default: {}
+    description: Mapping of service_name -> network name. Typically set
+                 via parameter_defaults in the resource registry.  This
+                 mapping overrides those in ServiceNetMapDefaults.
+    type: json
+  DefaultPasswords:
+    default: {}
+    type: json
+
+resources:
+
+  AodhApiPuppetBase:
+      type: ../../puppet/services/aodh-api.yaml
+      properties:
+        EndpointMap: {get_param: EndpointMap}
+        ServiceNetMap: {get_param: ServiceNetMap}
+        DefaultPasswords: {get_param: DefaultPasswords}
+
+outputs:
+  role_data:
+    description: Role data for the aodh API role.
+    value:
+      service_name: {get_attr: [AodhApiPuppetBase, role_data, service_name]}
+      config_settings:
+        map_merge:
+          - get_attr: [AodhApiPuppetBase, role_data, config_settings]
+          - apache::default_vhost: false
+      step_config: &step_config
+        get_attr: [AodhApiPuppetBase, role_data, step_config]
+      service_config_settings: {get_attr: [AodhApiPuppetBase, role_data, service_config_settings]}
+      # BEGIN DOCKER SETTINGS
+      puppet_config:
+        config_volume: aodh
+        puppet_tags: aodh_api_paste_ini,aodh_config
+        step_config: *step_config
+        config_image: &aodh_image
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerAodhApiImage} ]
+      kolla_config:
+          /var/lib/kolla/config_files/aodh-api.json:
+           command: /usr/sbin/httpd -DFOREGROUND
+           config_files:
+           - dest: /etc/aodh/aodh.conf
+             owner: aodh
+             perm: '0640'
+             source: /var/lib/kolla/config_files/src/etc/aodh/aodh.conf
+           - dest: /etc/httpd/conf.d/10-aodh_wsgi.conf
+             owner: root
+             perm: '0644'
+             source: /var/lib/kolla/config_files/src/etc/httpd/conf.d/10-aodh_wsgi.conf
+           - dest: /etc/httpd/conf/httpd.conf
+             owner: root
+             perm: '0644'
+             source: /var/lib/kolla/config_files/src/etc/httpd/conf/httpd.conf
+           - dest: /etc/httpd/conf/ports.conf
+             owner: root
+             perm: '0644'
+             source: /var/lib/kolla/config_files/src/etc/httpd/conf/ports.conf
+           - dest: /var/www/cgi-bin/aodh/app
+             owner: aodh
+             perm: '0644'
+             source: /var/lib/kolla/config_files/src/var/www/cgi-bin/aodh/app
+      docker_config:
+        step_3:
+          aodh-init-log:
+            start_order: 0
+            image: *aodh_image
+            user: root
+            command: ['/bin/bash', '-c', 'mkdir -p /var/log/httpd && mkdir -p /var/log/aodh && chown aodh:aodh /var/log/aodh']
+            volumes:
+              - logs:/var/log
+          aodh_db_sync:
+            start_order: 1
+            image: *aodh_image
+            net: host
+            privileged: false
+            detach: false
+            volumes:
+              - /var/lib/config-data/aodh/etc/aodh/:/etc/aodh:ro
+              - /etc/hosts:/etc/hosts:ro
+              - /etc/localtime:/etc/localtime:ro
+              - logs:/var/log
+            command: /usr/bin/aodh-dbsync
+        step_4:
+          aodh-api:
+            image: *aodh_image
+            net: host
+            privileged: false
+            restart: always
+            volumes:
+              - /var/lib/kolla/config_files/aodh-api.json:/var/lib/kolla/config_files/config.json:ro
+              - /var/lib/config-data/aodh/:/var/lib/kolla/config_files/src:ro
+              - /var/lib/config-data/aodh/etc/httpd/conf.modules.d:/etc/httpd/conf.modules.d:ro
+              - /etc/hosts:/etc/hosts:ro
+              - /etc/localtime:/etc/localtime:ro
+              - logs:/var/log
+            environment:
+              - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
diff --git a/docker/services/aodh-evaluator.yaml b/docker/services/aodh-evaluator.yaml
new file mode 100644 (file)
index 0000000..abb44de
--- /dev/null
@@ -0,0 +1,80 @@
+heat_template_version: ocata
+
+description: >
+  OpenStack containerized Aodh Evaluator service
+
+parameters:
+  DockerNamespace:
+    description: namespace
+    default: 'tripleoupstream'
+    type: string
+  DockerAodhEvaluatorImage:
+    description: image
+    default: 'centos-binary-aodh-evaluator:latest'
+    type: string
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+  ServiceNetMap:
+    default: {}
+    description: Mapping of service_name -> network name. Typically set
+                 via parameter_defaults in the resource registry.  This
+                 mapping overrides those in ServiceNetMapDefaults.
+    type: json
+  DefaultPasswords:
+    default: {}
+    type: json
+
+resources:
+
+  AodhEvaluatorBase:
+    type: ../../puppet/services/aodh-evaluator.yaml
+    properties:
+      EndpointMap: {get_param: EndpointMap}
+      ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
+
+outputs:
+  role_data:
+    description: Role data for the Aodh API role.
+    value:
+      service_name: {get_attr: [AodhEvaluatorBase, role_data, service_name]}
+      config_settings:
+        map_merge:
+          - get_attr: [AodhEvaluatorBase, role_data, config_settings]
+      step_config: &step_config
+        get_attr: [AodhEvaluatorBase, role_data, step_config]
+      service_config_settings: {get_attr: [AodhEvaluatorBase, role_data, service_config_settings]}
+      # BEGIN DOCKER SETTINGS
+      puppet_config:
+        config_volume: aodh
+        puppet_tags: aodh_config
+        step_config: *step_config
+        config_image: &aodh_evaluator_image
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerAodhEvaluatorImage} ]
+      kolla_config:
+         /var/lib/kolla/config_files/aodh-evaluator.json:
+           command: /usr/bin/aodh-evaluator
+           config_files:
+           - dest: /etc/aodh/aodh.conf
+             owner: aodh
+             perm: '0640'
+             source: /var/lib/kolla/config_files/src/etc/aodh/aodh.conf
+      docker_config:
+        step_4:
+          aodh_evaluator:
+            image: *aodh_evaluator_image
+            net: host
+            privileged: false
+            restart: always
+            volumes:
+              - /var/lib/kolla/config_files/aodh-evaluator.json:/var/lib/kolla/config_files/config.json:ro
+              - /var/lib/config-data/aodh/:/var/lib/kolla/config_files/src:ro
+              - /etc/hosts:/etc/hosts:ro
+              - /etc/localtime:/etc/localtime:ro
+            environment:
+              - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
diff --git a/docker/services/aodh-listener.yaml b/docker/services/aodh-listener.yaml
new file mode 100644 (file)
index 0000000..5a37763
--- /dev/null
@@ -0,0 +1,80 @@
+heat_template_version: ocata
+
+description: >
+  OpenStack containerized Aodh Listener service
+
+parameters:
+  DockerNamespace:
+    description: namespace
+    default: 'tripleoupstream'
+    type: string
+  DockerAodhListenerImage:
+    description: image
+    default: 'centos-binary-aodh-listener:latest'
+    type: string
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+  ServiceNetMap:
+    default: {}
+    description: Mapping of service_name -> network name. Typically set
+                 via parameter_defaults in the resource registry.  This
+                 mapping overrides those in ServiceNetMapDefaults.
+    type: json
+  DefaultPasswords:
+    default: {}
+    type: json
+
+resources:
+
+  AodhListenerBase:
+    type: ../../puppet/services/aodh-listener.yaml
+    properties:
+      EndpointMap: {get_param: EndpointMap}
+      ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
+
+outputs:
+  role_data:
+    description: Role data for the Aodh API role.
+    value:
+      service_name: {get_attr: [AodhListenerBase, role_data, service_name]}
+      config_settings:
+        map_merge:
+          - get_attr: [AodhListenerBase, role_data, config_settings]
+      step_config: &step_config
+        get_attr: [AodhListenerBase, role_data, step_config]
+      service_config_settings: {get_attr: [AodhListenerBase, role_data, service_config_settings]}
+      # BEGIN DOCKER SETTINGS
+      puppet_config:
+        config_volume: aodh
+        puppet_tags: aodh_config
+        step_config: *step_config
+        config_image: &aodh_listener_image
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerAodhListenerImage} ]
+      kolla_config:
+         /var/lib/kolla/config_files/aodh-listener.json:
+           command: /usr/bin/aodh-listener
+           config_files:
+           - dest: /etc/aodh/aodh.conf
+             owner: aodh
+             perm: '0640'
+             source: /var/lib/kolla/config_files/src/etc/aodh/aodh.conf
+      docker_config:
+        step_4:
+          aodh_listener:
+            image: *aodh_listener_image
+            net: host
+            privileged: false
+            restart: always
+            volumes:
+              - /var/lib/kolla/config_files/aodh-listener.json:/var/lib/kolla/config_files/config.json:ro
+              - /var/lib/config-data/aodh/:/var/lib/kolla/config_files/src:ro
+              - /etc/hosts:/etc/hosts:ro
+              - /etc/localtime:/etc/localtime:ro
+            environment:
+              - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
diff --git a/docker/services/aodh-notifier.yaml b/docker/services/aodh-notifier.yaml
new file mode 100644 (file)
index 0000000..084e765
--- /dev/null
@@ -0,0 +1,80 @@
+heat_template_version: ocata
+
+description: >
+  OpenStack containerized Aodh Notifier service
+
+parameters:
+  DockerNamespace:
+    description: namespace
+    default: 'tripleoupstream'
+    type: string
+  DockerAodhNotifierImage:
+    description: image
+    default: 'centos-binary-aodh-notifier:latest'
+    type: string
+  EndpointMap:
+    default: {}
+    description: Mapping of service endpoint -> protocol. Typically set
+                 via parameter_defaults in the resource registry.
+    type: json
+  ServiceNetMap:
+    default: {}
+    description: Mapping of service_name -> network name. Typically set
+                 via parameter_defaults in the resource registry.  This
+                 mapping overrides those in ServiceNetMapDefaults.
+    type: json
+  DefaultPasswords:
+    default: {}
+    type: json
+
+resources:
+
+  AodhNotifierBase:
+    type: ../../puppet/services/aodh-notifier.yaml
+    properties:
+      EndpointMap: {get_param: EndpointMap}
+      ServiceNetMap: {get_param: ServiceNetMap}
+      DefaultPasswords: {get_param: DefaultPasswords}
+
+outputs:
+  role_data:
+    description: Role data for the Aodh API role.
+    value:
+      service_name: {get_attr: [AodhNotifierBase, role_data, service_name]}
+      config_settings:
+        map_merge:
+          - get_attr: [AodhNotifierBase, role_data, config_settings]
+      step_config: &step_config
+        get_attr: [AodhNotifierBase, role_data, step_config]
+      service_config_settings: {get_attr: [AodhNotifierBase, role_data, service_config_settings]}
+      # BEGIN DOCKER SETTINGS
+      puppet_config:
+        config_volume: aodh
+        puppet_tags: aodh_config
+        step_config: *step_config
+        config_image: &aodh_notifier_image
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerAodhNotifierImage} ]
+      kolla_config:
+         /var/lib/kolla/config_files/aodh-notifier.json:
+           command: /usr/bin/aodh-notifier
+           config_files:
+           - dest: /etc/aodh/aodh.conf
+             owner: aodh
+             perm: '0640'
+             source: /var/lib/kolla/config_files/src/etc/aodh/aodh.conf
+      docker_config:
+        step_4:
+          aodh_notifier:
+            image: *aodh_notifier_image
+            net: host
+            privileged: false
+            restart: always
+            volumes:
+              - /var/lib/kolla/config_files/aodh-notifier.json:/var/lib/kolla/config_files/config.json:ro
+              - /var/lib/config-data/aodh/:/var/lib/kolla/config_files/src:ro
+              - /etc/hosts:/etc/hosts:ro
+              - /etc/localtime:/etc/localtime:ro
+            environment:
+              - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
index 8a977f2..ecd28ca 100644 (file)
@@ -42,6 +42,11 @@ resource_registry:
   OS::TripleO::Services::SwiftStorage: ../docker/services/swift-storage.yaml
   OS::TripleO::Services::SwiftRingBuilder: ../docker/services/swift-ringbuilder.yaml
 
+  OS::TripleO::Services::AodhApi: ../docker/services/aodh-api.yaml
+  OS::TripleO::Services::AodhEvaluator: ../docker/services/aodh-evaluator.yaml
+  OS::TripleO::Services::AodhNotifier: ../docker/services/aodh-notifier.yaml
+  OS::TripleO::Services::AodhListener: ../docker/services/aodh-listener.yaml
+
   OS::TripleO::PostDeploySteps: ../docker/post.yaml
   OS::TripleO::PostUpgradeSteps: ../docker/post-upgrade.yaml
 
index 5070ef3..554b053 100644 (file)
@@ -34,3 +34,7 @@
     - OS::TripleO::Services::NeutronCorePlugin
     - OS::TripleO::Services::NeutronOvsAgent
     - OS::TripleO::Services::NeutronDhcpAgent
+    - OS::TripleO::Services::AodhApi
+    - OS::TripleO::Services::AodhEvaluator
+    - OS::TripleO::Services::AodhNotifier
+    - OS::TripleO::Services::AodhListener