Enable trust anchor injection
[apex-tripleo-heat-templates.git] / docker / compute-post.yaml
index 0d049eb..1dc7be1 100644 (file)
@@ -9,6 +9,9 @@ parameters:
   NodeConfigIdentifiers:
      type: json
      description: Value which changes if the node configuration may need to be re-applied
+  DockerNamespace:
+    type: string
+    default: kollaglue
   DockerComputeImage:
     type: string
   DockerComputeDataImage:
@@ -67,8 +70,24 @@ resources:
       config: {get_resource: CopyEtcConfig}
       servers:  {get_param: servers}
 
+  CopyJsonConfig:
+    type: OS::Heat::SoftwareConfig
+    properties:
+      group: script
+      outputs:
+      - name: result
+      config: {get_file: ./generate_json_config.sh}
+
+  CopyJsonDeployment:
+    type: OS::Heat::SoftwareDeployments
+    depends_on: CopyEtcDeployment
+    properties:
+      config: {get_resource: CopyJsonConfig}
+      servers:  {get_param: servers}
+
   NovaComputeContainersDeploymentOVS:
     type: OS::Heat::StructuredDeployments
+    depends_on: CopyJsonDeployment
     properties:
       config: {get_resource: NovaComputeContainersConfigOVS}
       servers: {get_param: servers}
@@ -79,7 +98,10 @@ resources:
       group: docker-compose
       config:
         ovsvswitchd:
-          image: {get_param: DockerOvsVswitchdImage}
+          image:
+            list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerOvsVswitchdImage} ]
           container_name: ovs-vswitchd
           net: host
           privileged: true
@@ -87,18 +109,23 @@ resources:
           volumes:
            - /run:/run
            - /lib/modules:/lib/modules:ro
+           - /var/lib/etc-data/json-config/ovs-vswitchd.json:/var/lib/kolla/config_files/config.json
           environment:
-           - KOLLA_CONFIG_STRATEGY=CONFIG_EXTERNAL_COPY_ALWAYS
+           - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
 
         openvswitchdb:
-          image: {get_param: DockerOpenvswitchDBImage}
+          image:
+            list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchDBImage} ]
           container_name: ovs-db-server
           net: host
           restart: always
           volumes:
            - /run:/run
+           - /var/lib/etc-data/json-config/ovs-dbserver.json:/var/lib/kolla/config_files/config.json
           environment:
-           - KOLLA_CONFIG_STRATEGY=CONFIG_EXTERNAL_COPY_ALWAYS
+           - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
 
   NovaComputeContainersDeploymentNetconfig:
     type: OS::Heat::SoftwareDeployments
@@ -122,7 +149,7 @@ resources:
 
   LibvirtContainersDeployment:
     type: OS::Heat::StructuredDeployments
-    depends_on: [CopyEtcDeployment, ComputePuppetDeployment, NovaComputeContainersDeploymentNetconfig]
+    depends_on: [CopyJsonDeployment, CopyEtcDeployment, ComputePuppetDeployment, NovaComputeContainersDeploymentNetconfig]
     properties:
       config: {get_resource: LibvirtContainersConfig}
       servers: {get_param: servers}
@@ -133,11 +160,20 @@ resources:
       group: docker-compose
       config:
         computedata:
-          image: {get_param: DockerComputeDataImage}
+          image:
+            list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerComputeDataImage} ]
           container_name: computedata
+          volumes:
+           - /var/lib/nova/instances
+           - /var/lib/libvirt
 
         libvirt:
-          image: {get_param: DockerLibvirtImage}
+          image:
+            list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerLibvirtImage} ]
           container_name: libvirt
           net: host
           pid: host
@@ -146,16 +182,17 @@ resources:
           volumes:
            - /run:/run
            - /lib/modules:/lib/modules:ro
-           - /var/lib/etc-data/libvirt/libvirtd.conf:/opt/kolla/libvirtd/libvirtd.conf
-           - /var/lib/nova/instances:/var/lib/nova/instances
+           - /sys/fs/cgroup:/sys/fs/cgroup
+           - /var/lib/etc-data/json-config/nova-libvirt.json:/var/lib/kolla/config_files/config.json
+           - /var/lib/etc-data/libvirt/libvirtd.conf:/var/lib/kolla/config_files/libvirtd.conf
           environment:
-           - KOLLA_CONFIG_STRATEGY=CONFIG_EXTERNAL_COPY_ALWAYS
+           - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
           volumes_from:
            - computedata
 
   NovaComputeContainersDeployment:
     type: OS::Heat::StructuredDeployments
-    depends_on: [CopyEtcDeployment, ComputePuppetDeployment, NovaComputeContainersDeploymentNetconfig, LibvirtContainersDeployment]
+    depends_on: [CopyJsonDeployment, CopyEtcDeployment, ComputePuppetDeployment, NovaComputeContainersDeploymentNetconfig, LibvirtContainersDeployment]
     properties:
       config: {get_resource: NovaComputeContainersConfig}
       servers: {get_param: servers}
@@ -166,7 +203,10 @@ resources:
       group: docker-compose
       config:
         openvswitch:
-          image: {get_param: DockerOpenvswitchImage}
+          image:
+            list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchImage} ]
           container_name: openvswitch
           net: host
           privileged: true
@@ -174,17 +214,20 @@ resources:
           volumes:
            - /run:/run
            - /lib/modules:/lib/modules:ro
+           - /var/lib/etc-data/json-config/neutron-openvswitch-agent.json:/var/lib/kolla/config_files/config.json
            - /var/lib/etc-data/neutron/neutron.conf:/etc/kolla/neutron-openvswitch-agent/:ro
-           - /var/lib/etc-data/neutron/plugins/ml2/ml2_conf.ini:/etc/kolla/neutron-openvswitch-agent/:ro
+           - /var/lib/etc-data/neutron/plugins/ml2/ml2_conf.ini:/var/lib/kolla/config_files/ml2_conf.ini:ro
+           - /var/lib/etc-data/neutron/neutron.conf:/var/lib/kolla/config_files/neutron.conf:ro
           environment:
-           - KOLLA_CONFIG_STRATEGY=CONFIG_EXTERNAL_COPY_ALWAYS
+           - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
           volumes_from:
            - computedata
-           # FIXME: Kolla now uses a JSON model to run custom commands.  We rebuilt a custom container to read in KOLLA_COMMAND_ARGS
 
-        # FIXME: Here we're subjugating kolla's start scripts because we want our custom run command
         neutronagent:
-          image: {get_param: DockerOpenvswitchImage}
+          image:
+            list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchImage} ]
           container_name: neutronagent
           net: host
           pid: host
@@ -193,33 +236,32 @@ resources:
           volumes:
            - /run:/run
            - /lib/modules:/lib/modules:ro
-           - /var/lib/etc-data/neutron/neutron.conf:/etc/neutron/neutron.conf:ro
-           - /var/lib/etc-data/neutron/plugins/ml2/openvswitch_agent.ini:/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini:ro
+           - /var/lib/etc-data/json-config/neutron-agent.json:/var/lib/kolla/config_files/config.json
+           - /var/lib/etc-data/neutron/plugins/ml2/openvswitch_agent.ini:/var/lib/kolla/config_files/ovs_neutron_plugin.ini:ro
+           - /var/lib/etc-data/neutron/neutron.conf:/var/lib/kolla/config_files/neutron.conf:ro
           environment:
-           - KOLLA_CONFIG_STRATEGY=CONFIG_EXTERNAL_COPY_ALWAYS
-           # FIXME: Kolla now uses a JSON model to run custom commands.  We rebuilt a custom container to read in KOLLA_COMMAND_ARGS
-           - KOLLA_COMMAND_ARGS=--config-file /usr/share/neutron/neutron-dist.conf --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini
+           - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
           volumes_from:
            - computedata
 
         novacompute:
-          image: {get_param: DockerComputeImage}
+          image:
+            list_join:
+            - '/'
+            - [ {get_param: DockerNamespace}, {get_param: DockerComputeImage} ]
           container_name: novacompute
           net: host
           privileged: true
           restart: always
           volumes:
            - /run:/run
-           - /sys/fs/cgroup:/sys/fs/cgroup
            - /lib/modules:/lib/modules:ro
-           - /var/lib/etc-data/:/etc/:ro
-           - /var/lib/nova/instances:/var/lib/nova/instances
+           - /var/lib/etc-data/json-config/nova-compute.json:/var/lib/kolla/config_files/config.json
+           - /var/lib/etc-data/nova/nova.conf:/var/lib/kolla/config_files/nova.conf:ro
+          environment:
+           - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
           volumes_from:
            - computedata
-          # FIXME: this skips the kolla start.sh script and just starts Nova
-          # Ideally we'd have an environment that switched the kolla container
-          # to be externally configured.
-          command: /usr/bin/nova-compute
 
   ExtraConfig:
     depends_on: NovaComputeContainersDeployment