Introduce common resources for docker templates
authorJuan Antonio Osorio Robles <jaosorior@redhat.com>
Thu, 13 Apr 2017 13:46:31 +0000 (13:46 +0000)
committerJuan Antonio Osorio Robles <jaosorior@redhat.com>
Tue, 18 Apr 2017 08:20:06 +0000 (11:20 +0300)
This enables common resources that the docker templates might need.
The initial resource only is common volumes, and two volumes are
introduced (localtime and hosts).

Change-Id: Ic55af32803f9493a61f9b57aff849bfc6187d992

36 files changed:
docker/services/aodh-api.yaml
docker/services/aodh-evaluator.yaml
docker/services/aodh-listener.yaml
docker/services/aodh-notifier.yaml
docker/services/containers-common.yaml [new file with mode: 0644]
docker/services/glance-api.yaml
docker/services/gnocchi-api.yaml
docker/services/gnocchi-metricd.yaml
docker/services/gnocchi-statsd.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-l3.yaml
docker/services/neutron-ovs-agent.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-placement.yaml
docker/services/nova-scheduler.yaml
docker/services/panko-api.yaml
docker/services/rabbitmq.yaml
docker/services/swift-proxy.yaml
docker/services/swift-storage.yaml
docker/services/zaqar.yaml

index 3229495..17bdb37 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   AodhApiPuppetBase:
       type: ../../puppet/services/aodh-api.yaml
       properties:
@@ -76,10 +79,13 @@ outputs:
             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
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/config-data/aodh/etc/aodh/:/etc/aodh/:ro
+                    - logs:/var/log
             command: /usr/bin/aodh-dbsync
         step_4:
           aodh-api:
@@ -88,13 +94,16 @@ outputs:
             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/etc/aodh/:/etc/aodh/:ro
-              - /var/lib/config-data/aodh/etc/httpd/:/etc/httpd/:ro
-              - /var/lib/config-data/aodh/var/www/:/var/www/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - logs:/var/log
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/aodh-api.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/aodh/etc/aodh/:/etc/aodh/:ro
+                    - /var/lib/config-data/aodh/etc/httpd/:/etc/httpd/:ro
+                    - /var/lib/config-data/aodh/var/www/:/var/www/:ro
+                    - logs:/var/log
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 1553df3..13d6cf2 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   AodhEvaluatorBase:
     type: ../../puppet/services/aodh-evaluator.yaml
     properties:
@@ -67,10 +70,13 @@ outputs:
             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/etc/aodh/:/etc/aodh/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/aodh-evaluator.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/aodh/etc/aodh/:/etc/aodh/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 300dfde..63c45aa 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   AodhListenerBase:
     type: ../../puppet/services/aodh-listener.yaml
     properties:
@@ -67,10 +70,13 @@ outputs:
             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/etc/aodh/:/etc/aodh/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/aodh-listener.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/aodh/etc/aodh/:/etc/aodh/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index b405660..dbe31b6 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   AodhNotifierBase:
     type: ../../puppet/services/aodh-notifier.yaml
     properties:
@@ -67,10 +70,13 @@ outputs:
             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/etc/aodh/:/etc/aodh/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/aodh-notifier.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/aodh/etc/aodh/:/etc/aodh/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
diff --git a/docker/services/containers-common.yaml b/docker/services/containers-common.yaml
new file mode 100644 (file)
index 0000000..a357ceb
--- /dev/null
@@ -0,0 +1,11 @@
+heat_template_version: ocata
+
+description: >
+  Contains a static list of common things necessary for containers
+
+outputs:
+  volumes:
+    description: Common volumes for the containers.
+    value:
+      - /etc/hosts:/etc/hosts:ro
+      - /etc/localtime:/etc/localtime:ro
index fdfdbc6..0b4f81e 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   GlanceApiPuppetBase:
     type: ../../puppet/services/glance-api.yaml
     properties:
@@ -68,13 +71,16 @@ outputs:
             privileged: false
             detach: false
             volumes: &glance_volumes
-              - /var/lib/kolla/config_files/glance-api.json:/var/lib/kolla/config_files/config.json
-              - /var/lib/config-data/glance_api/etc/glance/:/etc/glance/:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /lib/modules:/lib/modules:ro
-              - /run:/run
-              - /dev:/dev
-              - /etc/hosts:/etc/hosts:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/glance-api.json:/var/lib/kolla/config_files/config.json
+                    - /var/lib/config-data/glance_api/etc/glance/:/etc/glance/:ro
+                    - /lib/modules:/lib/modules:ro
+                    - /run:/run
+                    - /dev:/dev
             environment:
               - KOLLA_BOOTSTRAP=True
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
index 659785a..3b05214 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   GnocchiApiPuppetBase:
       type: ../../puppet/services/gnocchi-api.yaml
       properties:
@@ -76,10 +79,13 @@ outputs:
             detach: false
             privileged: false
             volumes:
-              - /var/lib/config-data/gnocchi/etc/gnocchi/:/etc/gnocchi/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - logs:/var/log
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/config-data/gnocchi/etc/gnocchi/:/etc/gnocchi/:ro
+                    - logs:/var/log
             command: ["/usr/bin/gnocchi-upgrade", "--skip-storage"]
         step_4:
           gnocchi-api:
@@ -88,12 +94,15 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/gnocchi-api.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/gnocchi/etc/gnocchi/:/etc/gnocchi/:ro
-              - /var/lib/config-data/gnocchi/etc/httpd/:/etc/httpd/:ro
-              - /var/lib/config-data/gnocchi/var/www/:/var/www/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/gnocchi-api.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/gnocchi/etc/gnocchi/:/etc/gnocchi/:ro
+                    - /var/lib/config-data/gnocchi/etc/httpd/:/etc/httpd/:ro
+                    - /var/lib/config-data/gnocchi/var/www/:/var/www/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 78494d6..5ce7e12 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   GnocchiMetricdBase:
     type: ../../puppet/services/gnocchi-metricd.yaml
     properties:
@@ -65,10 +68,13 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/gnocchi-metricd.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/gnocchi/etc/gnocchi/:/etc/gnocchi/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/gnocchi-metricd.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/gnocchi/etc/gnocchi/:/etc/gnocchi/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 7f43984..40023a6 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   GnocchiStatsdBase:
     type: ../../puppet/services/gnocchi-statsd.yaml
     properties:
@@ -65,10 +68,13 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/gnocchi-statsd.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/gnocchi/etc/gnocchi/:/etc/gnocchi/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/gnocchi-statsd.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/gnocchi/etc/gnocchi/:/etc/gnocchi/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index e122647..8f7bb14 100644 (file)
@@ -35,6 +35,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   HeatBase:
     type: ../../puppet/services/heat-api-cfn.yaml
     properties:
@@ -77,12 +80,15 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/heat_api_cfn.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/heat/etc/heat/:/etc/heat/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /dev:/dev
-              - /run:/run
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/heat_api_cfn.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/heat/etc/heat/:/etc/heat/:ro
+                    - /dev:/dev
+                    - /run:/run
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 3212d90..0e668ce 100644 (file)
@@ -35,6 +35,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   HeatBase:
     type: ../../puppet/services/heat-api.yaml
     properties:
@@ -77,12 +80,15 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/heat_api.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/heat/etc/heat/:/etc/heat/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /dev:/dev
-              - /run:/run
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/heat_api.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/heat/etc/heat/:/etc/heat/:ro
+                    - /dev:/dev
+                    - /run:/run
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 83c6309..5a1f011 100644 (file)
@@ -30,6 +30,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   HeatBase:
     type: ../../puppet/services/heat-engine.yaml
     properties:
@@ -69,9 +72,12 @@ outputs:
             privileged: false
             detach: false
             volumes:
-              - /var/lib/config-data/heat/etc/heat/:/etc/heat/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/config-data/heat/etc/heat/:/etc/heat/:ro
             command: ['heat-manage', 'db_sync']
         step_4:
           heat_engine:
@@ -80,11 +86,14 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/heat_engine.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/heat/etc/heat/:/etc/heat/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/heat_engine.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/heat/etc/heat/:/etc/heat/:ro
+                    - /run:/run
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index bef84e2..a019a61 100644 (file)
@@ -33,6 +33,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   IronicApiBase:
     type: ../../puppet/services/ironic-api.yaml
     properties:
@@ -74,9 +77,12 @@ outputs:
             privileged: false
             detach: false
             volumes:
-              - /var/lib/config-data/ironic/etc/:/etc/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/config-data/ironic/etc/:/etc/:ro
             command: ['ironic-dbsync', '--config-file', '/etc/ironic/ironic.conf']
         step_4:
           ironic_api:
@@ -86,10 +92,13 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/ironic_api.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/ironic/etc/:/etc/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/ironic_api.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/ironic/etc/:/etc/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 3047f30..1e1316f 100644 (file)
@@ -33,6 +33,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   IronicConductorBase:
     type: ../../puppet/services/ironic-conductor.yaml
     properties:
@@ -87,15 +90,18 @@ outputs:
             privileged: true
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/ironic_conductor.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/ironic/etc/ironic/:/etc/ironic/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /lib/modules:/lib/modules:ro
-              - /sys:/sys
-              - /dev:/dev
-              - /run:/run #shared?
-              - /var/lib/ironic:/var/lib/ironic
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/ironic_conductor.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/ironic/etc/ironic/:/etc/ironic/:ro
+                    - /lib/modules:/lib/modules:ro
+                    - /sys:/sys
+                    - /dev:/dev
+                    - /run:/run #shared?
+                    - /var/lib/ironic:/var/lib/ironic
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       host_prep_tasks:
index 51538e7..6ec8039 100644 (file)
@@ -31,6 +31,11 @@ parameters:
     default: {}
     type: json
 
+resources:
+
+  ContainersCommon:
+    type: ./containers-common.yaml
+
 outputs:
   role_data:
     description: Role data for the Ironic PXE role.
@@ -65,21 +70,24 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/ironic_pxe_tftp.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/ironic/etc/ironic/:/etc/ironic/:ro
-              # TODO(mandre) check how docker like mounting in a bind-mounted tree
-              # This directory may contain migrated data from BM
-              - /var/lib/ironic:/var/lib/ironic/
-              # These files were generated by puppet inside the config container
-              # TODO(mandre) check the mount permission (ro/rw)
-              - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/chain.c32:/var/lib/ironic/tftpboot/chain.c32
-              - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/pxelinux.0:/var/lib/ironic/tftpboot/pxelinux.0
-              - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/ipxe.efi:/var/lib/ironic/tftpboot/ipxe.efi
-              - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/undionly.kpxe:/var/lib/ironic/tftpboot/undionly.kpxe
-              - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/map-file:/var/lib/ironic/tftpboot/map-file
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /dev/log:/dev/log
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/ironic_pxe_tftp.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/ironic/etc/ironic/:/etc/ironic/:ro
+                    # TODO(mandre) check how docker like mounting in a bind-mounted tree
+                    # This directory may contain migrated data from BM
+                    - /var/lib/ironic:/var/lib/ironic/
+                    # These files were generated by puppet inside the config container
+                    # TODO(mandre) check the mount permission (ro/rw)
+                    - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/chain.c32:/var/lib/ironic/tftpboot/chain.c32
+                    - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/pxelinux.0:/var/lib/ironic/tftpboot/pxelinux.0
+                    - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/ipxe.efi:/var/lib/ironic/tftpboot/ipxe.efi
+                    - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/undionly.kpxe:/var/lib/ironic/tftpboot/undionly.kpxe
+                    - /var/lib/config-data/ironic/var/lib/ironic/tftpboot/map-file:/var/lib/ironic/tftpboot/map-file
+                    - /dev/log:/dev/log
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
           ironic_pxe_http:
@@ -89,12 +97,15 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/ironic_pxe_http.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/ironic/etc/ironic/:/etc/ironic/:ro
-              - /var/lib/config-data/ironic/etc/httpd/:/etc/httpd/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /var/lib/ironic:/var/lib/ironic/
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/ironic_pxe_http.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/ironic/etc/ironic/:/etc/ironic/:ro
+                    - /var/lib/config-data/ironic/etc/httpd/:/etc/httpd/:ro
+                    - /var/lib/ironic:/var/lib/ironic/
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       host_prep_tasks:
index 526a357..e7717ab 100644 (file)
@@ -42,6 +42,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   KeystoneBase:
     type: ../../puppet/services/keystone.yaml
     properties:
@@ -96,23 +99,26 @@ outputs:
             privileged: false
             detach: false
             volumes: &keystone_volumes
-              - /var/lib/kolla/config_files/keystone.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/keystone/var/www/:/var/www/:ro
-              - /var/lib/config-data/keystone/etc/keystone/:/etc/keystone/:ro
-              - /var/lib/config-data/keystone/etc/httpd/:/etc/httpd/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - logs:/var/log
-              -
-                if:
-                  - internal_tls_enabled
-                  - /etc/pki/tls/certs/httpd:/etc/pki/tls/certs/httpd:ro
-                  - ''
-              -
-                if:
-                  - internal_tls_enabled
-                  - /etc/pki/tls/private/httpd:/etc/pki/tls/private/httpd:ro
-                  - ''
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/keystone.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/keystone/var/www/:/var/www/:ro
+                    - /var/lib/config-data/keystone/etc/keystone/:/etc/keystone/:ro
+                    - /var/lib/config-data/keystone/etc/httpd/:/etc/httpd/:ro
+                    - logs:/var/log
+                    -
+                      if:
+                        - internal_tls_enabled
+                        - /etc/pki/tls/certs/httpd:/etc/pki/tls/certs/httpd:ro
+                        - ''
+                    -
+                      if:
+                        - internal_tls_enabled
+                        - /etc/pki/tls/private/httpd:/etc/pki/tls/private/httpd:ro
+                        - ''
             environment:
               - KOLLA_BOOTSTRAP=True
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
index a78be3c..87b5f40 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   MemcachedBase:
     type: ../../puppet/services/memcached.yaml
     properties:
@@ -63,9 +66,12 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/config-data/memcached/etc/sysconfig/memcached:/etc/sysconfig/memcached:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/config-data/memcached/etc/sysconfig/memcached:/etc/sysconfig/memcached:ro
             command: ['/bin/bash', '-c', 'source /etc/sysconfig/memcached; /usr/bin/memcached -p ${PORT} -u ${USER} -m ${CACHESIZE} -c ${MAXCONN} $OPTIONS']
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
index 5b5e1f5..7c2413d 100644 (file)
@@ -33,6 +33,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   MistralApiBase:
     type: ../../puppet/services/mistral-api.yaml
     properties:
@@ -75,9 +78,12 @@ outputs:
             privileged: false
             detach: false
             volumes:
-              - /var/lib/config-data/mistral/etc/:/etc/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/config-data/mistral/etc/:/etc/:ro
             command: ['mistral-db-manage', '--config-file', '/etc/mistral/mistral.conf', 'upgrade', 'head']
           mistral_db_populate:
             start_order: 2
@@ -86,9 +92,12 @@ outputs:
             privileged: false
             detach: false
             volumes:
-              - /var/lib/config-data/mistral/etc/:/etc/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/config-data/mistral/etc/:/etc/:ro
             # NOTE: dprince this requires that we install openstack-tripleo-common into
             # the Mistral API image so that we get tripleo* actions
             command: ['mistral-db-manage', '--config-file', '/etc/mistral/mistral.conf', 'populate']
@@ -100,10 +109,13 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/mistral_api.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/mistral/etc/mistral/:/etc/mistral/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/mistral_api.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/mistral/etc/mistral/:/etc/mistral/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index feecd5d..01ca3f0 100644 (file)
@@ -34,6 +34,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   MistralBase:
     type: ../../puppet/services/mistral-engine.yaml
     properties:
@@ -75,11 +78,14 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /run:/run
-              - /var/lib/kolla/config_files/mistral_engine.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/mistral/etc/mistral/:/etc/mistral/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /run:/run
+                    - /var/lib/kolla/config_files/mistral_engine.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/mistral/etc/mistral/:/etc/mistral/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 45fed7b..374b0be 100644 (file)
@@ -34,6 +34,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   MistralBase:
     type: ../../puppet/services/mistral-executor.yaml
     properties:
@@ -75,15 +78,18 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/mistral_executor.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/mistral/etc/mistral/:/etc/mistral/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              # FIXME: this is required in order for Nova cells
-              # initialization workflows on the Undercloud. Need to
-              # exclude this on the overcloud for security reasons.
-              - /var/lib/config-data/nova/etc/nova:/etc/nova:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/mistral_executor.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/mistral/etc/mistral/:/etc/mistral/:ro
+                    - /run:/run
+                    # FIXME: this is required in order for Nova cells
+                    # initialization workflows on the Undercloud. Need to
+                    # exclude this on the overcloud for security reasons.
+                    - /var/lib/config-data/nova/etc/nova:/etc/nova:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index c5001a3..00b1f85 100644 (file)
@@ -34,6 +34,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   NeutronBase:
     type: ../../puppet/services/neutron-api.yaml
     properties:
@@ -78,10 +81,13 @@ outputs:
             # and run as neutron user
             user: root
             volumes:
-              - /var/lib/config-data/neutron/etc/neutron:/etc/neutron:ro
-              - /var/lib/config-data/neutron/usr/share/neutron:/usr/share/neutron:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/config-data/neutron/etc/neutron:/etc/neutron:ro
+                    - /var/lib/config-data/neutron/usr/share/neutron:/usr/share/neutron:ro
             command: ['neutron-db-manage', 'upgrade', 'heads']
         step_4:
           neutron_api:
@@ -90,10 +96,13 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/neutron_api.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/neutron/etc/neutron/:/etc/neutron/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/neutron_api.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/neutron/etc/neutron/:/etc/neutron/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 03fbf76..e48f53b 100644 (file)
@@ -34,6 +34,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   NeutronBase:
     type: ../../puppet/services/neutron-dhcp.yaml
     properties:
@@ -76,12 +79,15 @@ outputs:
             privileged: true
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/neutron_dhcp.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/neutron/etc/neutron/:/etc/neutron/:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /lib/modules:/lib/modules:ro
-              - /run/:/run
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/neutron_dhcp.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/neutron/etc/neutron/:/etc/neutron/:ro
+                    - /lib/modules:/lib/modules:ro
+                    - /run/:/run
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 0b04b56..90fe65f 100644 (file)
@@ -34,6 +34,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   NeutronL3Base:
     type: ../../puppet/services/neutron-l3.yaml
     properties:
@@ -72,10 +75,14 @@ outputs:
             privileged: true
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/neutron-l3-agent.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/neutron/etc/neutron/:/etc/neutron/:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /lib/modules:/lib/modules:ro
-              - /run:/run
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/neutron-l3-agent.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/neutron/etc/neutron/:/etc/neutron/:ro
+                    - /lib/modules:/lib/modules:ro
+                    - /run:/run
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
index bea08e9..c40ef8b 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   NeutronOvsAgentBase:
     type: ../../puppet/services/neutron-ovs-agent.yaml
     properties:
@@ -64,11 +67,15 @@ outputs:
             privileged: true
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/neutron-openvswitch-agent.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/neutron/etc/neutron/:/etc/neutron/:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /lib/modules:/lib/modules:ro
-              - /run:/run
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/neutron-openvswitch-agent.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/neutron/etc/neutron/:/etc/neutron/:ro
+                    - /lib/modules:/lib/modules:ro
+                    - /run:/run
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 97fafb0..8621bb6 100644 (file)
@@ -33,6 +33,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   NovaApiBase:
     type: ../../puppet/services/nova-api.yaml
     properties:
@@ -126,10 +129,13 @@ outputs:
             privileged: true
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/nova_api.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/nova/etc/nova/:/etc/nova/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/nova_api.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/nova/etc/nova/:/etc/nova/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
         step_5:
index eefcb36..a47dfd3 100644 (file)
@@ -29,6 +29,8 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
 
   NovaComputeBase:
     type: ../../puppet/services/nova-compute.yaml
@@ -66,15 +68,19 @@ outputs:
             user: root
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/nova-compute.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/nova_libvirt/etc/nova/:/etc/nova/:ro
-              - /dev:/dev
-              - /etc/iscsi:/etc/iscsi
-              - /etc/localtime:/etc/localtime:ro
-              - /lib/modules:/lib/modules:ro
-              - /run:/run
-              - /var/lib/nova:/var/lib/nova
-              - /var/lib/libvirt:/var/lib/libvirt
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/nova-compute.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/nova_libvirt/etc/nova/:/etc/nova/:ro
+                    - /dev:/dev
+                    - /etc/iscsi:/etc/iscsi
+                    - /lib/modules:/lib/modules:ro
+                    - /run:/run
+                    - /var/lib/nova:/var/lib/nova
+                    - /var/lib/libvirt:/var/lib/libvirt
             environment:
              - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       host_prep_tasks:
index b7a1d74..e414b21 100644 (file)
@@ -34,6 +34,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   NovaConductorBase:
     type: ../../puppet/services/nova-conductor.yaml
     properties:
@@ -73,11 +76,14 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/nova_conductor.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/nova/etc/nova/:/etc/nova/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/nova_conductor.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/nova/etc/nova/:/etc/nova/:ro
+                    - /run:/run
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 9941abd..b994c2c 100644 (file)
@@ -33,6 +33,8 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
 
   NovaIronicBase:
     type: ../../puppet/services/nova-ironic.yaml
@@ -70,13 +72,17 @@ outputs:
             user: root
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/nova_ironic.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/nova/etc/nova/:/etc/nova/:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /dev:/dev
-              - /etc/iscsi:/etc/iscsi
-              - /var/lib/nova/:/var/lib/nova
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/nova_ironic.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/nova/etc/nova/:/etc/nova/:ro
+                    - /run:/run
+                    - /dev:/dev
+                    - /etc/iscsi:/etc/iscsi
+                    - /var/lib/nova/:/var/lib/nova
             environment:
              - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index 15cee59..ba63760 100644 (file)
@@ -35,6 +35,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   NovaLibvirtBase:
     type: ../../puppet/services/nova-libvirt.yaml
     properties:
@@ -73,18 +76,22 @@ outputs:
             privileged: true
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/nova-libvirt.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/nova_libvirt/etc/libvirt/:/etc/libvirt/:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /lib/modules:/lib/modules:ro
-              - /dev:/dev
-              - /run:/run
-              - /sys/fs/cgroup:/sys/fs/cgroup
-              - /var/lib/nova:/var/lib/nova
-              # Needed to use host's virtlogd
-              - /var/run/libvirt:/var/run/libvirt
-              - /var/lib/libvirt:/var/lib/libvirt
-              - /etc/libvirt/qemu:/etc/libvirt/qemu
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/nova-libvirt.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/nova_libvirt/etc/libvirt/:/etc/libvirt/:ro
+                    - /lib/modules:/lib/modules:ro
+                    - /dev:/dev
+                    - /run:/run
+                    - /sys/fs/cgroup:/sys/fs/cgroup
+                    - /var/lib/nova:/var/lib/nova
+                    # Needed to use host's virtlogd
+                    - /var/run/libvirt:/var/run/libvirt
+                    - /var/lib/libvirt:/var/lib/libvirt
+                    - /etc/libvirt/qemu:/etc/libvirt/qemu
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       host_prep_tasks:
index 0c595dc..53460a8 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   NovaPlacementBase:
     type: ../../puppet/services/nova-placement.yaml
     properties:
@@ -70,12 +73,15 @@ outputs:
             user: root
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/nova_placement.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/nova_placement/etc/nova/:/etc/nova/:ro
-              - /var/lib/config-data/nova_placement/etc/httpd/:/etc/httpd/:ro
-              - /var/lib/config-data/nova_placement/var/www/:/var/www/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/nova_placement.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/nova_placement/etc/nova/:/etc/nova/:ro
+                    - /var/lib/config-data/nova_placement/etc/httpd/:/etc/httpd/:ro
+                    - /var/lib/config-data/nova_placement/var/www/:/var/www/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index e6f4896..54f30ab 100644 (file)
@@ -33,6 +33,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   NovaSchedulerBase:
     type: ../../puppet/services/nova-scheduler.yaml
     properties:
@@ -72,11 +75,14 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/nova_scheduler.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/nova/etc/nova/:/etc/nova/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/nova_scheduler.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/nova/etc/nova/:/etc/nova/:ro
+                    - /run:/run
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks:
index f4f1f7b..61bdf7a 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   PankoApiPuppetBase:
     type: ../../puppet/services/panko-api.yaml
     properties:
@@ -76,10 +79,13 @@ outputs:
             detach: false
             privileged: false
             volumes:
-              - /var/lib/config-data/panko/etc/panko:/etc/panko:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - logs:/var/log
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/config-data/panko/etc/panko:/etc/panko:ro
+                    - logs:/var/log
             command: /usr/bin/panko-dbsync
         step_4:
           panko_api:
@@ -89,11 +95,14 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/panko-api.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/panko/etc/panko/:/etc/panko/:ro
-              - /var/lib/config-data/panko/etc/httpd/:/etc/httpd/:ro
-              - /var/lib/config-data/panko/var/www/:/var/www/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/panko-api.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/panko/etc/panko/:/etc/panko/:ro
+                    - /var/lib/config-data/panko/etc/httpd/:/etc/httpd/:ro
+                    - /var/lib/config-data/panko/var/www/:/var/www/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
index 9d5a52a..a04893e 100644 (file)
@@ -33,6 +33,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   RabbitmqBase:
     type: ../../puppet/services/rabbitmq.yaml
     properties:
@@ -69,11 +72,14 @@ outputs:
             net: host
             privileged: false
             volumes:
-              - /var/lib/kolla/config_files/rabbitmq.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/rabbitmq/etc/rabbitmq/:/etc/rabbitmq/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /var/lib/rabbitmq:/var/lib/rabbitmq
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/rabbitmq.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/rabbitmq/etc/rabbitmq/:/etc/rabbitmq/:ro
+                    - /var/lib/rabbitmq:/var/lib/rabbitmq
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
               - KOLLA_BOOTSTRAP=True
@@ -95,11 +101,14 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/rabbitmq.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/rabbitmq/etc/rabbitmq/:/etc/rabbitmq/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /var/lib/rabbitmq:/var/lib/rabbitmq
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/rabbitmq.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/rabbitmq/etc/rabbitmq/:/etc/rabbitmq/:ro
+                    - /var/lib/rabbitmq:/var/lib/rabbitmq
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       host_prep_tasks:
index e60aca1..6e8d6eb 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   SwiftProxyBase:
     type: ../../puppet/services/swift-proxy.yaml
     properties:
@@ -65,15 +68,18 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_proxy.json:/var/lib/kolla/config_files/config.json:ro
-              # FIXME I'm mounting /etc/swift as rw.  Are the rings written to
-              # at all during runtime?
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_proxy.json:/var/lib/kolla/config_files/config.json:ro
+                    # FIXME I'm mounting /etc/swift as rw.  Are the rings written to
+                    # at all during runtime?
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       host_prep_tasks:
index cccddb4..5044c54 100644 (file)
@@ -41,6 +41,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   SwiftStorageBase:
     type: ../../puppet/services/swift-storage.yaml
     properties:
@@ -114,13 +117,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_account_auditor.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_account_auditor.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: &kolla_env
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
           swift_account_reaper:
@@ -129,13 +135,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_account_reaper.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_account_reaper.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_account_replicator:
             image: *swift_account_image
@@ -143,13 +152,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_account_replicator.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_account_replicator.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_account_server:
             image: *swift_account_image
@@ -157,13 +169,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_account_server.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_account_server.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_container_auditor:
             image: &swift_container_image
@@ -174,13 +189,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_container_auditor.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_container_auditor.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_container_replicator:
             image: *swift_container_image
@@ -188,13 +206,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_container_replicator.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_container_replicator.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_container_updater:
             image: *swift_container_image
@@ -202,13 +223,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_container_updater.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_container_updater.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_container_server:
             image: *swift_container_image
@@ -216,13 +240,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_container_server.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_container_server.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_object_auditor:
             image: &swift_object_image
@@ -233,13 +260,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_object_auditor.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_object_auditor.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_object_expirer:
             image: *swift_proxy_image
@@ -247,13 +277,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_object_expirer.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_object_expirer.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_object_replicator:
             image: *swift_object_image
@@ -261,13 +294,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_object_replicator.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_object_replicator.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_object_updater:
             image: *swift_object_image
@@ -275,13 +311,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_object_updater.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_object_updater.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
           swift_object_server:
             image: *swift_object_image
@@ -289,13 +328,16 @@ outputs:
             user: swift
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/swift_object_server.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
-              - /run:/run
-              - /srv/node:/srv/node
-              - /dev:/dev
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/swift_object_server.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/swift/etc/swift:/etc/swift:rw
+                    - /run:/run
+                    - /srv/node:/srv/node
+                    - /dev:/dev
             environment: *kolla_env
       host_prep_tasks:
         - name: create /srv/node
index 21aff31..fdb353b 100644 (file)
@@ -29,6 +29,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   ZaqarBase:
     type: ../../puppet/services/zaqar.yaml
     properties:
@@ -67,10 +70,13 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/zaqar.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/zaqar/etc/zaqar/:/etc/zaqar/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/zaqar.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/zaqar/etc/zaqar/:/etc/zaqar/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
           zaqar_websocket:
@@ -79,10 +85,13 @@ outputs:
             privileged: false
             restart: always
             volumes:
-              - /var/lib/kolla/config_files/zaqar_websocket.json:/var/lib/kolla/config_files/config.json:ro
-              - /var/lib/config-data/zaqar/etc/zaqar/:/etc/zaqar/:ro
-              - /etc/hosts:/etc/hosts:ro
-              - /etc/localtime:/etc/localtime:ro
+              yaql:
+                expression: $.data.common.concat($.data.service)
+                data:
+                  common: {get_attr: [ContainersCommon, volumes]}
+                  service:
+                    - /var/lib/kolla/config_files/zaqar_websocket.json:/var/lib/kolla/config_files/config.json:ro
+                    - /var/lib/config-data/zaqar/etc/zaqar/:/etc/zaqar/:ro
             environment:
               - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
       upgrade_tasks: