Put docker puppet config in puppet_config dict
authorSteve Baker <sbaker@redhat.com>
Wed, 1 Mar 2017 03:09:31 +0000 (03:09 +0000)
committerSteve Baker <sbaker@redhat.com>
Wed, 1 Mar 2017 21:37:54 +0000 (21:37 +0000)
This approach removes the need for the yaql zip to build the
docker-puppet data by building the data in a puppet_config dict.

This allows a future change to make docker-puppet.py only accept dict
data.

Currently the step_config is left where it is and referenced inside
puppet_config, but feedback is welcome whether this is necessary or
desirable.

Change-Id: I4a4d7a6fd2735cb841174af305dbb62e0b3d3e8c

34 files changed:
docker/docker-puppet.py
docker/post.j2.yaml
docker/services/database/mongodb.yaml
docker/services/database/mysql.yaml
docker/services/glance-api.yaml
docker/services/heat-api-cfn.yaml
docker/services/heat-api.yaml
docker/services/heat-engine.yaml
docker/services/ironic-api.yaml
docker/services/ironic-conductor.yaml
docker/services/ironic-pxe.yaml
docker/services/keystone.yaml
docker/services/memcached.yaml
docker/services/mistral-api.yaml
docker/services/mistral-engine.yaml
docker/services/mistral-executor.yaml
docker/services/neutron-api.yaml
docker/services/neutron-dhcp.yaml
docker/services/neutron-ovs-agent.yaml
docker/services/neutron-plugin-ml2.yaml
docker/services/nova-api.yaml
docker/services/nova-compute.yaml
docker/services/nova-conductor.yaml
docker/services/nova-ironic.yaml
docker/services/nova-libvirt.yaml
docker/services/nova-metadata.yaml
docker/services/nova-placement.yaml
docker/services/nova-scheduler.yaml
docker/services/rabbitmq.yaml
docker/services/services.yaml
docker/services/swift-proxy.yaml
docker/services/swift-ringbuilder.yaml
docker/services/swift-storage.yaml
docker/services/zaqar.yaml

index d9496af..157bf63 100755 (executable)
@@ -102,6 +102,9 @@ for service in (json_data or []):
     config_image = service[3] or ''
     volumes = service[4] if len(service) > 4 else []
 
+    if not manifest or not config_image:
+        continue
+
     print('---------')
     print('config_volume %s' % config_volume)
     print('puppet_tags %s' % puppet_tags)
index 65d0c4e..76232d1 100644 (file)
@@ -130,16 +130,7 @@ resources:
       group: json-file
       config:
         /var/lib/docker-puppet/docker-puppet.json:
-          yaql:
-            # select only services that have a non-null config_image with
-            # a step_config as well
-            expression:
-              $.data.config_volume.zip($.data.puppet_tags, $.data.step_config, $.data.config_image).where($[3] != null and $[1] != null)
-            data:
-              config_volume: {get_param: [role_data, {{role.name}}, config_volume]}
-              step_config: {get_param: [role_data, {{role.name}}, step_config]}
-              puppet_tags: {get_param: [role_data, {{role.name}}, puppet_tags]}
-              config_image: {get_param: [role_data, {{role.name}}, config_image]}
+          {get_param: [role_data, {{role.name}}, puppet_config]}
 
   {{role.name}}GenPuppetDeployment:
     type: OS::Heat::SoftwareDeploymentGroup
index 127f883..3c4146f 100644 (file)
@@ -45,7 +45,7 @@ outputs:
         map_merge:
           - get_attr: [MongodbPuppetBase, role_data, config_settings]
           - mongodb::server::fork: false
-      step_config:
+      step_config: &step_config
         list_join:
           - "\n"
           - - "['Mongodb_database', 'Mongodb_user', 'Mongodb_replset'].each |String $val| { noop_resource($val) }"
@@ -56,9 +56,11 @@ outputs:
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerMongodbImage} ]
-      puppet_tags: file # set this even though file is the default
-      config_volume: mongodb
-      config_image: *mongodb_image
+      puppet_config:
+        config_volume: mongodb
+        puppet_tags: file # set this even though file is the default
+        step_config: *step_config
+        config_image: *mongodb_image
       kolla_config:
         /var/lib/kolla/config_files/mongodb.json:
           command: /usr/bin/mongod --unixSocketPrefix=/var/run/mongodb --config /etc/mongod.conf run
index 5809396..fd92e99 100644 (file)
@@ -54,7 +54,7 @@ outputs:
                 pid-file: /var/lib/mysql/mariadb.pid
               mysqld_safe:
                 pid-file: /var/lib/mysql/mariadb.pid
-      step_config:
+      step_config: &step_config
         list_join:
           - "\n"
           - - "['Mysql_datadir', 'Mysql_user', 'Mysql_database', 'Mysql_grant', 'Mysql_plugin'].each |String $val| { noop_resource($val) }"
@@ -65,9 +65,11 @@ outputs:
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerMysqlImage} ]
-      puppet_tags: file # set this even though file is the default
-      config_volume: mysql
-      config_image: *mysql_image
+      puppet_config:
+        config_volume: mysql
+        puppet_tags: file # set this even though file is the default
+        step_config: *step_config
+        config_image: *mysql_image
       kolla_config:
         /var/lib/kolla/config_files/mysql.json:
           command: /usr/bin/mysqld_safe
index b8ab962..ab62f7e 100644 (file)
@@ -45,16 +45,19 @@ outputs:
         map_merge:
           - get_attr: [GlanceApiPuppetBase, role_data, config_settings]
           - glance::api::sync_db: false
-      step_config: {get_attr: [GlanceApiPuppetBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [GlanceApiPuppetBase, role_data, step_config]
       service_config_settings: {get_attr: [GlanceApiPuppetBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS #
       docker_image: &glance_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerGlanceApiImage} ]
-      puppet_tags: glance_api_config,glance_api_paste_ini,glance_swift_config,glance_cache_config
-      config_volume: glance_api
-      config_image: *glance_image
+      puppet_config:
+        config_volume: glance_api
+        puppet_tags: glance_api_config,glance_api_paste_ini,glance_swift_config,glance_cache_config
+        step_config: *step_config
+        config_image: *glance_image
       kolla_config:
          /var/lib/kolla/config_files/glance-api.json:
            command: /usr/bin/glance-api --config-file /usr/share/glance/glance-api-dist.conf --config-file /etc/glance/glance-api.conf
index 9363216..fbaacbe 100644 (file)
@@ -51,19 +51,22 @@ outputs:
         map_merge:
           - get_attr: [HeatBase, role_data, config_settings]
           - apache::default_vhost: false
-      step_config: {get_attr: [HeatBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [HeatBase, role_data, step_config]
       service_config_settings: {get_attr: [HeatBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &heat_api_cfn_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerHeatApiCfnImage} ]
-      puppet_tags: heat_config,file,concat,file_line
-      config_volume: heat
-      config_image:
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerHeatEngineImage} ]
+      puppet_config:
+        config_volume: heat
+        puppet_tags: heat_config,file,concat,file_line
+        step_config: *step_config
+        config_image:
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerHeatEngineImage} ]
       kolla_config:
          /var/lib/kolla/config_files/heat_api_cfn.json:
            command: /usr/bin/heat-api-cfn --config-file /usr/share/heat/heat-dist.conf --config-file /etc/heat/heat.conf
index 2efabb6..df9160f 100644 (file)
@@ -51,19 +51,22 @@ outputs:
         map_merge:
           - get_attr: [HeatBase, role_data, config_settings]
           - apache::default_vhost: false
-      step_config: {get_attr: [HeatBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [HeatBase, role_data, step_config]
       service_config_settings: {get_attr: [HeatBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &heat_api_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerHeatApiImage} ]
-      puppet_tags: heat_config,file,concat,file_line
-      config_volume: heat
-      config_image:
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerHeatEngineImage} ]
+      puppet_config:
+        config_volume: heat
+        puppet_tags: heat_config,file,concat,file_line
+        step_config: *step_config
+        config_image:
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerHeatEngineImage} ]
       kolla_config:
          /var/lib/kolla/config_files/heat_api.json:
            command: /usr/bin/heat-api --config-file /usr/share/heat/heat-dist.conf --config-file /etc/heat/heat.conf
index db8c2be..c8259f9 100644 (file)
@@ -46,16 +46,19 @@ outputs:
         map_merge:
           - get_attr: [HeatBase, role_data, config_settings]
           - apache::default_vhost: false
-      step_config: {get_attr: [HeatBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [HeatBase, role_data, step_config]
       service_config_settings: {get_attr: [HeatBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &heat_engine_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerHeatEngineImage} ]
-      puppet_tags: heat_config,file,concat,file_line
-      config_volume: heat
-      config_image: *heat_engine_image
+      puppet_config:
+        config_volume: heat
+        puppet_tags: heat_config,file,concat,file_line
+        step_config: *step_config
+        config_image: *heat_engine_image
       kolla_config:
          /var/lib/kolla/config_files/heat_engine.json:
            command: /usr/bin/heat-engine --config-file /usr/share/heat/heat-dist.conf --config-file /etc/heat/heat.conf
index 8012056..97ba970 100644 (file)
@@ -48,19 +48,22 @@ outputs:
       config_settings:
         map_merge:
           - get_attr: [IronicApiBase, role_data, config_settings]
-      step_config: {get_attr: [IronicApiBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [IronicApiBase, role_data, step_config]
       service_config_settings: {get_attr: [IronicApiBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &ironic_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerIronicApiImage} ]
-      puppet_tags: ironic_config
-      config_volume: ironic
-      config_image:
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ]
+      puppet_config:
+        config_volume: ironic
+        puppet_tags: ironic_config
+        step_config: *step_config
+        config_image:
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ]
       kolla_config:
          /var/lib/kolla/config_files/ironic_api.json:
            command: /usr/bin/ironic-api
index 945ef3f..2cc2905 100644 (file)
@@ -55,19 +55,22 @@ outputs:
           - ironic::pxe::tftp_root: /var/lib/ironic/tftpboot
           - ironic::pxe::http_root: /var/lib/ironic/httpboot
           - ironic::conductor::http_root: /var/lib/ironic/httpboot
-      step_config: {get_attr: [IronicConductorBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [IronicConductorBase, role_data, step_config]
       service_config_settings: {get_attr: [IronicConductorBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &ironic_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerIronicConductorImage} ]
-      puppet_tags: ironic_config
-      config_volume: ironic
-      config_image:
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ]
+      puppet_config:
+        config_volume: ironic
+        puppet_tags: ironic_config
+        step_config: *step_config
+        config_image:
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ]
       kolla_config:
          /var/lib/kolla/config_files/ironic_conductor.json:
            command: /usr/bin/ironic-conductor
index bc7b467..2550519 100644 (file)
@@ -37,19 +37,21 @@ outputs:
     value:
       service_name: ironic_pxe
       config_settings: {}
-      step_config: ''
+      step_config: &step_config ''
       service_config_settings: {}
       # BEGIN DOCKER SETTINGS
       docker_image: &ironic_pxe_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerIronicPxeImage} ]
-      puppet_tags: ironic_config
-      config_volume: ironic
-      config_image:
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ]
+      puppet_config:
+        config_volume: ironic
+        puppet_tags: ironic_config
+        step_config: *step_config
+        config_image:
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerIronicConfigImage} ]
       kolla_config:
          /var/lib/kolla/config_files/ironic_pxe_http.json:
            command: /usr/sbin/httpd -DFOREGROUND
index 644326e..52e8021 100644 (file)
@@ -49,7 +49,7 @@ outputs:
         map_merge:
           - get_attr: [KeystoneBase, role_data, config_settings]
           - apache::default_vhost: false
-      step_config:
+      step_config: &step_config
         list_join:
           - "\n"
           - - "['Keystone_user', 'Keystone_endpoint', 'Keystone_domain', 'Keystone_tenant', 'Keystone_user_role', 'Keystone_role', 'Keystone_service'].each |String $val| { noop_resource($val) }"
@@ -60,9 +60,11 @@ outputs:
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerKeystoneImage} ]
-      puppet_tags: keystone_config
-      config_volume: keystone
-      config_image: *keystone_image
+      puppet_config:
+        config_volume: keystone
+        puppet_tags: keystone_config
+        step_config: *step_config
+        config_image: *keystone_image
       kolla_config:
          /var/lib/kolla/config_files/keystone.json:
            command: /usr/sbin/httpd -DFOREGROUND
index d459c82..3e51f5b 100644 (file)
@@ -42,16 +42,19 @@ outputs:
     value:
       service_name: {get_attr: [MemcachedBase, role_data, service_name]}
       config_settings: {get_attr: [MemcachedBase, role_data, config_settings]}
-      step_config: {get_attr: [MemcachedBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [MemcachedBase, role_data, step_config]
       service_config_settings: {get_attr: [MemcachedBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &memcached_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerMemcachedImage} ]
-      puppet_tags: 'file'
-      config_volume: 'memcached'
-      config_image: *memcached_image
+      puppet_config:
+        config_volume: 'memcached'
+        puppet_tags: 'file'
+        step_config: *step_config
+        config_image: *memcached_image
       kolla_config: {}
       docker_config:
         step_1:
index e535a81..843d5b2 100644 (file)
@@ -48,19 +48,22 @@ outputs:
       config_settings:
         map_merge:
           - get_attr: [MistralApiBase, role_data, config_settings]
-      step_config: {get_attr: [MistralApiBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [MistralApiBase, role_data, step_config]
       service_config_settings: {get_attr: [MistralApiBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &mistral_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerMistralApiImage} ]
-      puppet_tags: mistral_config
-      config_volume: mistral
-      config_image:
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerMistralConfigImage} ]
+      puppet_config:
+        config_volume: mistral
+        puppet_tags: mistral_config
+        step_config: *step_config
+        config_image:
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerMistralConfigImage} ]
       kolla_config:
          /var/lib/kolla/config_files/mistral_api.json:
            command: /usr/bin/mistral-server --config-file=/etc/mistral/mistral.conf --log-file=/var/log/mistral/api.log --server=api
index be4c8af..e50fc0a 100644 (file)
@@ -49,19 +49,22 @@ outputs:
       config_settings:
         map_merge:
           - get_attr: [MistralBase, role_data, config_settings]
-      step_config: {get_attr: [MistralBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [MistralBase, role_data, step_config]
       service_config_settings: {get_attr: [MistralBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &mistral_engine_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerMistralEngineImage} ]
-      puppet_tags: mistral_config
-      config_volume: mistral
-      config_image:
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerMistralConfigImage} ]
+      puppet_config:
+        config_volume: mistral
+        puppet_tags: mistral_config
+        step_config: *step_config
+        config_image:
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerMistralConfigImage} ]
       kolla_config:
          /var/lib/kolla/config_files/mistral_engine.json:
            command: /usr/bin/mistral-server --config-file=/etc/mistral/mistral.conf --log-file=/var/log/mistral/engine.log --server=engine
index 33608a4..8833154 100644 (file)
@@ -49,19 +49,22 @@ outputs:
       config_settings:
         map_merge:
           - get_attr: [MistralBase, role_data, config_settings]
-      step_config: {get_attr: [MistralBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [MistralBase, role_data, step_config]
       service_config_settings: {get_attr: [MistralBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &mistral_executor_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerMistralExecutorImage} ]
-      puppet_tags: mistral_config
-      config_volume: mistral
-      config_image:
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerMistralConfigImage} ]
+      puppet_config:
+        config_volume: mistral
+        puppet_tags: mistral_config
+        step_config: *step_config
+        config_image:
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerMistralConfigImage} ]
       kolla_config:
          /var/lib/kolla/config_files/mistral_executor.json:
            command: /usr/bin/mistral-server --config-file=/etc/mistral/mistral.conf --log-file=/var/log/mistral/executor.log --server=executor
index dfd1d5c..bf19586 100644 (file)
@@ -49,19 +49,22 @@ outputs:
       config_settings:
         map_merge:
           - get_attr: [NeutronBase, role_data, config_settings]
-      step_config: {get_attr: [NeutronBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [NeutronBase, role_data, step_config]
       service_config_settings: {get_attr: [NeutronBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &neutron_api_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerNeutronApiImage} ]
-      puppet_tags: neutron_config,neutron_api_config
-      config_volume: neutron
-      config_image:
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ]
+      puppet_config:
+        config_volume: neutron
+        puppet_tags: neutron_config,neutron_api_config
+        step_config: *step_config
+        config_image:
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ]
       kolla_config:
          /var/lib/kolla/config_files/neutron_api.json:
            command: /usr/bin/neutron-server --config-file /usr/share/neutron/neutron-dist.conf --config-dir /usr/share/neutron/server --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugin.ini
index fc13b3d..15f3055 100644 (file)
@@ -49,19 +49,22 @@ outputs:
       config_settings:
         map_merge:
           - get_attr: [NeutronBase, role_data, config_settings]
-      step_config: {get_attr: [NeutronBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [NeutronBase, role_data, step_config]
       service_config_settings: {get_attr: [NeutronBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &neutron_dhcp_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerNeutronApiImage} ]
-      puppet_tags: neutron_config,neutron_dhcp_agent_config
-      config_volume: neutron
-      config_image:
-        list_join:
-          - '/'
-          - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ]
+      puppet_config:
+        config_volume: neutron
+        puppet_tags: neutron_config,neutron_dhcp_agent_config
+        step_config: *step_config
+        config_image:
+          list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ]
       kolla_config:
          /var/lib/kolla/config_files/neutron_dhcp.json:
            command: /usr/bin/neutron-dhcp-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/dhcp_agent.ini --log-file /var/log/neutron/dhcp-agent.log
index ab99da5..f6b2929 100644 (file)
@@ -42,14 +42,17 @@ outputs:
     value:
       service_name: {get_attr: [NeutronOvsAgentBase, role_data, service_name]}
       config_settings: {get_attr: [NeutronOvsAgentBase, role_data, config_settings]}
-      step_config: {get_attr: [NeutronOvsAgentBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [NeutronOvsAgentBase, role_data, step_config]
       docker_image: &neutron_ovs_agent_image
         list_join:
         - '/'
         - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchImage} ]
-      puppet_tags: neutron_config,neutron_agent_ovs,neutron_plugin_ml2
-      config_volume: neutron
-      config_image: *neutron_ovs_agent_image
+      puppet_config:
+        config_volume: neutron
+        puppet_tags: neutron_config,neutron_agent_ovs,neutron_plugin_ml2
+        step_config: *step_config
+        config_image: *neutron_ovs_agent_image
       kolla_config:
         /var/lib/kolla/config_files/neutron-openvswitch-agent.json:
            command: /usr/bin/neutron-openvswitch-agent --config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/ml2/openvswitch_agent.ini --config-file /etc/neutron/plugins/ml2/ml2_conf.ini
index 37ab8db..5d1a348 100644 (file)
@@ -44,15 +44,18 @@ outputs:
       config_settings:
         map_merge:
           - get_attr: [NeutronBase, role_data, config_settings]
-      step_config: {get_attr: [NeutronBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [NeutronBase, role_data, step_config]
       service_config_settings: {get_attr: [NeutronBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &docker_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerNeutronConfigImage} ]
-      puppet_tags: ''
-      config_volume: 'neutron'
-      config_image: *docker_image
+      puppet_config:
+        config_volume: 'neutron'
+        puppet_tags: ''
+        step_config: *step_config
+        config_image: *docker_image
       kolla_config: {}
       docker_config: {}
index 0cf1b85..28b3a9d 100644 (file)
@@ -49,19 +49,22 @@ outputs:
         map_merge:
           - get_attr: [NovaApiBase, role_data, config_settings]
           - apache::default_vhost: false
-      step_config: {get_attr: [NovaApiBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [NovaApiBase, role_data, step_config]
       service_config_settings: {get_attr: [NovaApiBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &nova_api_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerNovaApiImage} ]
-      puppet_tags: nova_config
-      config_volume: nova
-      config_image:
-        list_join:
-        - '/'
-        - [ {get_param: DockerNamespace}, {get_param: DockerNovaBaseImage} ]
+      puppet_config:
+        config_volume: nova
+        puppet_tags: nova_config
+        step_config: *step_config
+        config_image:
+          list_join:
+          - '/'
+          - [ {get_param: DockerNamespace}, {get_param: DockerNovaBaseImage} ]
       kolla_config:
          /var/lib/kolla/config_files/nova_api.json:
            command: /usr/bin/nova-api
index 570df95..9f4e353 100644 (file)
@@ -43,14 +43,17 @@ outputs:
     value:
       service_name: {get_attr: [NovaComputeBase, role_data, service_name]}
       config_settings: {get_attr: [NovaComputeBase, role_data, config_settings]}
-      step_config: {get_attr: [NovaComputeBase, role_data, step_config]}
-      puppet_tags: nova_config,nova_paste_api_ini
+      step_config: &step_config
+        get_attr: [NovaComputeBase, role_data, step_config]
       docker_image: &nova_compute_image
         list_join:
         - '/'
         - [ {get_param: DockerNamespace}, {get_param: DockerNovaComputeImage} ]
-      config_volume: nova_libvirt
-      config_image: *nova_compute_image
+      puppet_config:
+        config_volume: nova_libvirt
+        puppet_tags: nova_config,nova_paste_api_ini
+        step_config: *step_config
+        config_image: *nova_compute_image
       kolla_config:
         /var/lib/kolla/config_files/nova-compute.json:
            command: /usr/bin/nova-compute --config-file /etc/nova/nova.conf --config-file /etc/nova/rootwrap.conf
index aa009b4..73acd0a 100644 (file)
@@ -47,19 +47,22 @@ outputs:
     value:
       service_name: {get_attr: [NovaConductorBase, role_data, service_name]}
       config_settings: {get_attr: [NovaConductorBase, role_data, config_settings]}
-      step_config: {get_attr: [NovaConductorBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [NovaConductorBase, role_data, step_config]
       service_config_settings: {get_attr: [NovaConductorBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &nova_conductor_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerNovaConductorImage} ]
-      puppet_tags: nova_config
-      config_volume: nova
-      config_image:
-        list_join:
-        - '/'
-        - [ {get_param: DockerNamespace}, {get_param: DockerNovaBaseImage} ]
+      puppet_config:
+        config_volume: nova
+        puppet_tags: nova_config
+        step_config: *step_config
+        config_image:
+          list_join:
+          - '/'
+          - [ {get_param: DockerNamespace}, {get_param: DockerNovaBaseImage} ]
       kolla_config:
          /var/lib/kolla/config_files/nova_conductor.json:
            command: /usr/bin/nova-conductor
index c1858de..5b46010 100644 (file)
@@ -45,17 +45,20 @@ outputs:
     value:
       service_name: {get_attr: [NovaIronicBase, role_data, service_name]}
       config_settings: {get_attr: [NovaIronicBase, role_data, config_settings]}
-      step_config: {get_attr: [NovaIronicBase, role_data, step_config]}
-      puppet_tags: nova_config,nova_paste_api_ini
+      step_config: &step_config
+        get_attr: [NovaIronicBase, role_data, step_config]
       docker_image: &nova_ironic_image
         list_join:
         - '/'
         - [ {get_param: DockerNamespace}, {get_param: DockerNovaComputeImage} ]
-      config_volume: nova
-      config_image:
-        list_join:
-        - '/'
-        - [ {get_param: DockerNamespace}, {get_param: DockerNovaBaseImage} ]
+      puppet_config:
+        config_volume: nova
+        puppet_tags: nova_config,nova_paste_api_ini
+        step_config: *step_config
+        config_image:
+          list_join:
+          - '/'
+          - [ {get_param: DockerNamespace}, {get_param: DockerNovaBaseImage} ]
       kolla_config:
         /var/lib/kolla/config_files/nova_ironic.json:
            command: /usr/bin/nova-compute --config-file /etc/nova/nova.conf --config-file /etc/nova/rootwrap.conf
index d6e7dc7..ed54f3d 100644 (file)
@@ -48,17 +48,20 @@ outputs:
     value:
       service_name: {get_attr: [NovaLibvirtBase, role_data, service_name]}
       config_settings: {get_attr: [NovaLibvirtBase, role_data, config_settings]}
-      step_config: {get_attr: [NovaLibvirtBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [NovaLibvirtBase, role_data, step_config]
       docker_image: &libvirt_image
         list_join:
         - '/'
         - [ {get_param: DockerNamespace}, {get_param: DockerLibvirtImage} ]
-      puppet_tags: nova_config
-      config_volume: nova_libvirt
-      config_image:
-        list_join:
-        - '/'
-        - [ {get_param: DockerNamespace}, {get_param: DockerNovaComputeImage} ]
+      puppet_config:
+        config_volume: nova_libvirt
+        puppet_tags: nova_config
+        step_config: *step_config
+        config_image:
+          list_join:
+          - '/'
+          - [ {get_param: DockerNamespace}, {get_param: DockerNovaComputeImage} ]
       kolla_config:
         /var/lib/kolla/config_files/nova-libvirt.json:
            command: /usr/sbin/libvirtd --config /etc/libvirt/libvirtd.conf
index a4baaa2..90c4c1c 100644 (file)
@@ -37,12 +37,15 @@ outputs:
       config_settings:
         map_merge:
           - get_attr: [NovaMetadataBase, role_data, config_settings]
-      step_config: {get_attr: [NovaMetadataBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [NovaMetadataBase, role_data, step_config]
       service_config_settings: {get_attr: [NovaMetadataBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: ''
-      puppet_tags: ''
-      config_volume: ''
-      config_image: ''
+      puppet_config:
+        config_volume: ''
+        puppet_tags: ''
+        step_config: *step_config
+        config_image: ''
       kolla_config: {}
       docker_config: {}
index f0f7d72..5446979 100644 (file)
@@ -45,19 +45,22 @@ outputs:
         map_merge:
           - get_attr: [NovaPlacementBase, role_data, config_settings]
           - apache::default_vhost: false
-      step_config: {get_attr: [NovaPlacementBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [NovaPlacementBase, role_data, step_config]
       service_config_settings: {get_attr: [NovaPlacementBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &nova_placement_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerNovaPlacementImage} ]
-      puppet_tags: nova_config
-      config_volume: nova_placement
-      config_image:
-        list_join:
-        - '/'
-        - [ {get_param: DockerNamespace}, {get_param: DockerNovaPlacementImage} ]
+      puppet_config:
+        config_volume: nova_placement
+        puppet_tags: nova_config
+        step_config: *step_config
+        config_image:
+          list_join:
+          - '/'
+          - [ {get_param: DockerNamespace}, {get_param: DockerNovaPlacementImage} ]
       kolla_config:
          /var/lib/kolla/config_files/nova_placement.json:
            command: /usr/sbin/httpd -DFOREGROUND
index a1a98b4..e3955a2 100644 (file)
@@ -46,15 +46,18 @@ outputs:
     value:
       service_name: {get_attr: [NovaSchedulerBase, role_data, service_name]}
       config_settings: {get_attr: [NovaSchedulerBase, role_data, config_settings]}
-      step_config: {get_attr: [NovaSchedulerBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [NovaSchedulerBase, role_data, step_config]
       service_config_settings: {get_attr: [NovaSchedulerBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &nova_scheduler_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerNovaSchedulerImage} ]
-      puppet_tags: nova_config
+      puppet_config:
       config_volume: nova
+      puppet_tags: nova_config
+      step_config: *step_config
       config_image:
         list_join:
         - '/'
index cea3d8a..aa60443 100644 (file)
@@ -46,16 +46,19 @@ outputs:
     value:
       service_name: {get_attr: [RabbitmqBase, role_data, service_name]}
       config_settings: {get_attr: [RabbitmqBase, role_data, config_settings]}
-      step_config: {get_attr: [RabbitmqBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [RabbitmqBase, role_data, step_config]
       service_config_settings: {get_attr: [RabbitmqBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &rabbitmq_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerRabbitmqImage} ]
-      puppet_tags: file
-      config_volume: rabbitmq
-      config_image: *rabbitmq_image
+      puppet_config:
+        config_volume: rabbitmq
+        puppet_tags: file
+        step_config: *step_config
+        config_image: *rabbitmq_image
       kolla_config:
         /var/lib/kolla/config_files/rabbitmq.json:
           command: /usr/lib/rabbitmq/bin/rabbitmq-server
index cd9f4cb..125c446 100644 (file)
@@ -68,9 +68,7 @@ outputs:
       step_config:
         {get_attr: [ServiceChain, role_data, step_config]}
       docker_image: {get_attr: [ServiceChain, role_data, docker_image]}
-      puppet_tags: {get_attr: [ServiceChain, role_data, puppet_tags]}
-      config_volume: {get_attr: [ServiceChain, role_data, config_volume]}
-      config_image: {get_attr: [ServiceChain, role_data, config_image]}
+      puppet_config: {get_attr: [ServiceChain, role_data, puppet_config]}
       kolla_config:
         map_merge: {get_attr: [ServiceChain, role_data, kolla_config]}
       docker_config:
index 0955331..cdfefe2 100644 (file)
@@ -42,16 +42,19 @@ outputs:
     value:
       service_name: {get_attr: [SwiftProxyBase, role_data, service_name]}
       config_settings: {get_attr: [SwiftProxyBase, role_data, config_settings]}
-      step_config: {get_attr: [SwiftProxyBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [SwiftProxyBase, role_data, step_config]
       service_config_settings: {get_attr: [SwiftProxyBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &swift_proxy_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerSwiftProxyImage} ]
-      puppet_tags: swift_proxy_config
-      config_volume: swift
-      config_image: *swift_proxy_image
+      puppet_config:
+        config_volume: swift
+        puppet_tags: swift_proxy_config
+        step_config: *step_config
+        config_image: *swift_proxy_image
       kolla_config:
         /var/lib/kolla/config_files/swift_proxy.json:
           command: /usr/bin/swift-proxy-server /etc/swift/proxy-server.conf
index de91e7c..027a695 100644 (file)
@@ -66,15 +66,18 @@ outputs:
     value:
       service_name: {get_attr: [SwiftRingbuilderBase, role_data, service_name]}
       config_settings: {get_attr: [SwiftRingbuilderBase, role_data, config_settings]}
-      step_config: {get_attr: [SwiftRingbuilderBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [SwiftRingbuilderBase, role_data, step_config]
       service_config_settings: {get_attr: [SwiftRingbuilderBase, role_data, service_config_settings]}
-      puppet_tags: exec,ring_object_device,swift::ringbuilder::create,tripleo::profile::base::swift::add_devices,swift::ringbuilder::rebalance
       # BEGIN DOCKER SETTINGS
       docker_image: &docker_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerSwiftProxyImage} ]
-      config_volume: 'swift'
-      config_image: *docker_image
+      puppet_config:
+        config_volume: 'swift'
+        puppet_tags: exec,ring_object_device,swift::ringbuilder::create,tripleo::profile::base::swift::add_devices,swift::ringbuilder::rebalance
+        step_config: *step_config
+        config_image: *docker_image
       kolla_config: {}
       docker_config: {}
index 5b2ec6e..ab9946f 100644 (file)
@@ -54,16 +54,19 @@ outputs:
     value:
       service_name: {get_attr: [SwiftStorageBase, role_data, service_name]}
       config_settings: {get_attr: [SwiftStorageBase, role_data, config_settings]}
-      step_config: {get_attr: [SwiftStorageBase, role_data, step_config]}
+      step_config: &step_config
+        get_attr: [SwiftStorageBase, role_data, step_config]
       service_config_settings: {get_attr: [SwiftStorageBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &swift_proxy_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerSwiftProxyImage} ]
-      puppet_tags: swift_config,swift_container_config,swift_container_sync_realms_config,swift_account_config,swift_object_config,swift_object_expirer_config
-      config_volume: swift
-      config_image: *swift_proxy_image
+      puppet_config:
+        config_volume: swift
+        puppet_tags: swift_config,swift_container_config,swift_container_sync_realms_config,swift_account_config,swift_object_config,swift_object_expirer_config
+        step_config: *step_config
+        config_image: *swift_proxy_image
       kolla_config:
         /var/lib/kolla/config_files/swift_account_auditor.json:
           command: /usr/bin/swift-account-auditor /etc/swift/account-server.conf
index 9f248ce..1704278 100644 (file)
@@ -42,16 +42,19 @@ outputs:
     value:
       service_name: {get_attr: [ZaqarBase, role_data, service_name]}
       config_settings: {get_attr: [ZaqarBase, role_data, config_settings]}
-      step_config: {get_attr: [ZaqarBase, role_data, step_config]}
+      step_config: &step_config
+       get_attr: [ZaqarBase, role_data, step_config]
       service_config_settings: {get_attr: [ZaqarBase, role_data, service_config_settings]}
       # BEGIN DOCKER SETTINGS
       docker_image: &zaqar_image
         list_join:
           - '/'
           - [ {get_param: DockerNamespace}, {get_param: DockerZaqarImage} ]
-      puppet_tags: zaqar_config
-      config_volume: zaqar
-      config_image: *zaqar_image
+      puppet_config:
+        config_volume: zaqar
+        puppet_tags: zaqar_config
+        step_config: *step_config
+        config_image: *zaqar_image
       kolla_config:
         /var/lib/kolla/config_files/zaqar.json:
           command: /usr/bin/zaqar-server --config-file /etc/zaqar/zaqar.conf