1 heat_template_version: 2015-04-30
4 OpenStack compute node post deployment for Docker.
11 description: Value which changes if the node configuration may need to be re-applied
14 DockerComputeDataImage:
18 DockerNeutronAgentImage:
20 DockerOpenvswitchImage:
22 DockerOvsVswitchdImage:
24 DockerOpenvswitchDBImage:
30 type: OS::Heat::SoftwareConfig
36 tags: package,file,concat,file_line,nova_config,neutron_config,neutron_agent_ovs,neutron_plugin_ml2
38 - name: tripleo::packages::enable_install
44 get_file: ../puppet/manifests/overcloud_compute.pp
46 ComputePuppetDeployment:
47 type: OS::Heat::SoftwareDeployments
49 servers: {get_param: servers}
50 config: {get_resource: ComputePuppetConfig}
52 update_identifier: {get_param: NodeConfigIdentifiers}
53 tripleo::packages::enable_install: True
56 type: OS::Heat::SoftwareConfig
61 config: {get_file: ./copy-etc.sh}
64 type: OS::Heat::SoftwareDeployments
65 depends_on: ComputePuppetDeployment
67 config: {get_resource: CopyEtcConfig}
68 servers: {get_param: servers}
71 type: OS::Heat::SoftwareConfig
76 config: {get_file: ./generate_json_config.sh}
79 type: OS::Heat::SoftwareDeployments
80 depends_on: CopyEtcDeployment
82 config: {get_resource: CopyJsonConfig}
83 servers: {get_param: servers}
85 NovaComputeContainersDeploymentOVS:
86 type: OS::Heat::StructuredDeployments
87 depends_on: CopyJsonDeployment
89 config: {get_resource: NovaComputeContainersConfigOVS}
90 servers: {get_param: servers}
92 NovaComputeContainersConfigOVS:
93 type: OS::Heat::StructuredConfig
98 image: {get_param: DockerOvsVswitchdImage}
99 container_name: ovs-vswitchd
105 - /lib/modules:/lib/modules:ro
106 - /var/lib/etc-data/json-config/ovs-vswitchd.json:/var/lib/kolla/config_files/config.json
108 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
111 image: {get_param: DockerOpenvswitchDBImage}
112 container_name: ovs-db-server
117 - /var/lib/etc-data/json-config/ovs-dbserver.json:/var/lib/kolla/config_files/config.json
119 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
121 NovaComputeContainersDeploymentNetconfig:
122 type: OS::Heat::SoftwareDeployments
123 depends_on: NovaComputeContainersDeploymentOVS
125 config: {get_resource: NovaComputeContainersConfigNetconfig}
126 servers: {get_param: servers}
128 # We run os-net-config here because we depend on the ovs containers to be up
129 # and running before we configure the network. This allows explicit timing
130 # of the network configuration.
131 NovaComputeContainersConfigNetconfig:
132 type: OS::Heat::SoftwareConfig
139 /usr/local/bin/run-os-net-config
141 LibvirtContainersDeployment:
142 type: OS::Heat::StructuredDeployments
143 depends_on: [CopyJsonDeployment, CopyEtcDeployment, ComputePuppetDeployment, NovaComputeContainersDeploymentNetconfig]
145 config: {get_resource: LibvirtContainersConfig}
146 servers: {get_param: servers}
148 LibvirtContainersConfig:
149 type: OS::Heat::StructuredConfig
151 group: docker-compose
154 image: {get_param: DockerComputeDataImage}
155 container_name: computedata
157 - /var/lib/nova/instances
161 image: {get_param: DockerLibvirtImage}
162 container_name: libvirt
169 - /lib/modules:/lib/modules:ro
170 - /var/lib/etc-data/json-config/nova-libvirt.json:/var/lib/kolla/config_files/config.json
171 - /var/lib/etc-data/libvirt/libvirtd.conf:/var/lib/kolla/config_files/libvirtd.conf
173 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
177 NovaComputeContainersDeployment:
178 type: OS::Heat::StructuredDeployments
179 depends_on: [CopyJsonDeployment, CopyEtcDeployment, ComputePuppetDeployment, NovaComputeContainersDeploymentNetconfig, LibvirtContainersDeployment]
181 config: {get_resource: NovaComputeContainersConfig}
182 servers: {get_param: servers}
184 NovaComputeContainersConfig:
185 type: OS::Heat::StructuredConfig
187 group: docker-compose
190 image: {get_param: DockerOpenvswitchImage}
191 container_name: openvswitch
197 - /lib/modules:/lib/modules:ro
198 - /var/lib/etc-data/json-config/neutron-openvswitch-agent.json:/var/lib/kolla/config_files/config.json
199 - /var/lib/etc-data/neutron/neutron.conf:/etc/kolla/neutron-openvswitch-agent/:ro
200 - /var/lib/etc-data/neutron/plugins/ml2/ml2_conf.ini:/var/lib/kolla/config_files/ml2_conf.ini:ro
201 - /var/lib/etc-data/neutron/neutron.conf:/var/lib/kolla/config_files/neutron.conf:ro
203 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
208 image: {get_param: DockerOpenvswitchImage}
209 container_name: neutronagent
216 - /lib/modules:/lib/modules:ro
217 - /var/lib/etc-data/json-config/neutron-agent.json:/var/lib/kolla/config_files/config.json
218 - /var/lib/etc-data/neutron/plugins/ml2/openvswitch_agent.ini:/var/lib/kolla/config_files/ovs_neutron_plugin.ini:ro
219 - /var/lib/etc-data/neutron/neutron.conf:/var/lib/kolla/config_files/neutron.conf:ro
221 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
226 image: {get_param: DockerComputeImage}
227 container_name: novacompute
233 - /sys/fs/cgroup:/sys/fs/cgroup
234 - /lib/modules:/lib/modules:ro
235 - /var/lib/etc-data/json-config/nova-compute.json:/var/lib/kolla/config_files/config.json
236 - /var/lib/etc-data/nova/nova.conf:/var/lib/kolla/config_files/nova.conf:ro
238 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
243 depends_on: NovaComputeContainersDeployment
244 type: OS::TripleO::NodeExtraConfigPost
246 servers: {get_param: servers}