Move containers common volumes from yaql to list_concat
[apex-tripleo-heat-templates.git] / docker / services / nova-libvirt.yaml
index 480bb80..1b103df 100644 (file)
@@ -1,4 +1,4 @@
-heat_template_version: ocata
+heat_template_version: pike
 
 description: >
   OpenStack Libvirt Service
@@ -35,6 +35,9 @@ parameters:
 
 resources:
 
+  ContainersCommon:
+    type: ./containers-common.yaml
+
   NovaLibvirtBase:
     type: ../../puppet/services/nova-libvirt.yaml
     properties:
@@ -47,7 +50,15 @@ outputs:
     description: Role data for the Libvirt service.
     value:
       service_name: {get_attr: [NovaLibvirtBase, role_data, service_name]}
-      config_settings: {get_attr: [NovaLibvirtBase, role_data, config_settings]}
+      config_settings:
+        map_merge:
+          - get_attr: [NovaLibvirtBase, role_data, config_settings]
+          # FIXME: we need to disable migration for now as the
+          # hieradata is common for all services, and this means nova
+          # and nova_placement puppet runs also try to configure
+          # libvirt, and they fail. We can remove this override when
+          # we have hieradata separation between containers.
+          - tripleo::profile::base::nova::manage_migration: false
       step_config: &step_config
         get_attr: [NovaLibvirtBase, role_data, step_config]
       puppet_config:
@@ -60,12 +71,7 @@ outputs:
           - [ {get_param: DockerNamespace}, {get_param: DockerNovaConfigImage} ]
       kolla_config:
         /var/lib/kolla/config_files/nova-libvirt.json:
-           command: /usr/sbin/libvirtd --config /etc/libvirt/libvirtd.conf
-           config_files:
-           - dest: /etc/libvirt/libvirtd.conf
-             owner: root
-             perm: '0644'
-             source: /var/lib/kolla/config_files/src/etc/libvirt/libvirtd.conf
+          command: /usr/sbin/libvirtd --config /etc/libvirt/libvirtd.conf
       docker_config:
         step_3:
           nova_libvirt:
@@ -78,18 +84,20 @@ 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:/var/lib/kolla/config_files/src:ro
-              - /dev:/dev
-              - /etc/localtime:/etc/localtime:ro
-              - /lib/modules:/lib/modules:ro
-              - /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
+              list_concat:
+                - {get_attr: [ContainersCommon, 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
+                  - /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: