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 default: tripleoupstream
17 DockerComputeDataImage:
21 DockerNeutronAgentImage:
23 DockerOpenvswitchImage:
25 DockerOvsVswitchdImage:
27 DockerOpenvswitchDBImage:
33 type: OS::Heat::SoftwareConfig
39 tags: package,file,concat,file_line,nova_config,neutron_config,neutron_agent_ovs,neutron_plugin_ml2
41 - name: tripleo::packages::enable_install
47 get_file: ../puppet/manifests/overcloud_compute.pp
49 ComputePuppetDeployment:
50 type: OS::Heat::SoftwareDeployments
52 servers: {get_param: servers}
53 config: {get_resource: ComputePuppetConfig}
55 update_identifier: {get_param: NodeConfigIdentifiers}
56 tripleo::packages::enable_install: True
59 type: OS::Heat::SoftwareConfig
64 config: {get_file: ./copy-etc.sh}
67 type: OS::Heat::SoftwareDeployments
68 depends_on: ComputePuppetDeployment
70 config: {get_resource: CopyEtcConfig}
71 servers: {get_param: servers}
74 type: OS::Heat::SoftwareConfig
79 config: {get_file: ./generate_json_config.sh}
82 type: OS::Heat::SoftwareDeployments
83 depends_on: CopyEtcDeployment
85 config: {get_resource: CopyJsonConfig}
86 servers: {get_param: servers}
88 NovaComputeContainersDeploymentOVS:
89 type: OS::Heat::StructuredDeployments
90 depends_on: CopyJsonDeployment
92 config: {get_resource: NovaComputeContainersConfigOVS}
93 servers: {get_param: servers}
95 NovaComputeContainersConfigOVS:
96 type: OS::Heat::StructuredConfig
104 - [ {get_param: DockerNamespace}, {get_param: DockerOvsVswitchdImage} ]
105 container_name: ovs-vswitchd
111 - /lib/modules:/lib/modules:ro
112 - /var/lib/etc-data/json-config/ovs-vswitchd.json:/var/lib/kolla/config_files/config.json
114 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
120 - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchDBImage} ]
121 container_name: ovs-db-server
126 - /var/lib/etc-data/json-config/ovs-dbserver.json:/var/lib/kolla/config_files/config.json
128 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
130 NovaComputeContainersDeploymentNetconfig:
131 type: OS::Heat::SoftwareDeployments
132 depends_on: NovaComputeContainersDeploymentOVS
134 config: {get_resource: NovaComputeContainersConfigNetconfig}
135 servers: {get_param: servers}
137 # We run os-net-config here because we depend on the ovs containers to be up
138 # and running before we configure the network. This allows explicit timing
139 # of the network configuration.
140 NovaComputeContainersConfigNetconfig:
141 type: OS::Heat::SoftwareConfig
148 /usr/local/bin/run-os-net-config
150 LibvirtContainersDeployment:
151 type: OS::Heat::StructuredDeployments
152 depends_on: [CopyJsonDeployment, CopyEtcDeployment, ComputePuppetDeployment, NovaComputeContainersDeploymentNetconfig]
154 config: {get_resource: LibvirtContainersConfig}
155 servers: {get_param: servers}
157 LibvirtContainersConfig:
158 type: OS::Heat::StructuredConfig
160 group: docker-compose
166 - [ {get_param: DockerNamespace}, {get_param: DockerComputeDataImage} ]
167 container_name: computedata
169 - /var/lib/nova/instances
176 - [ {get_param: DockerNamespace}, {get_param: DockerLibvirtImage} ]
177 container_name: libvirt
184 - /lib/modules:/lib/modules:ro
185 - /sys/fs/cgroup:/sys/fs/cgroup
186 - /var/lib/etc-data/json-config/nova-libvirt.json:/var/lib/kolla/config_files/config.json
187 - /var/lib/etc-data/libvirt/libvirtd.conf:/var/lib/kolla/config_files/libvirtd.conf
189 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
193 NovaComputeContainersDeployment:
194 type: OS::Heat::StructuredDeployments
195 depends_on: [CopyJsonDeployment, CopyEtcDeployment, ComputePuppetDeployment, NovaComputeContainersDeploymentNetconfig, LibvirtContainersDeployment]
197 config: {get_resource: NovaComputeContainersConfig}
198 servers: {get_param: servers}
200 NovaComputeContainersConfig:
201 type: OS::Heat::StructuredConfig
203 group: docker-compose
209 - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchImage} ]
210 container_name: openvswitch
216 - /lib/modules:/lib/modules:ro
217 - /var/lib/etc-data/json-config/neutron-openvswitch-agent.json:/var/lib/kolla/config_files/config.json
218 - /var/lib/etc-data/neutron/neutron.conf:/etc/kolla/neutron-openvswitch-agent/:ro
219 - /var/lib/etc-data/neutron/plugins/ml2/ml2_conf.ini:/var/lib/kolla/config_files/ml2_conf.ini:ro
220 - /var/lib/etc-data/neutron/neutron.conf:/var/lib/kolla/config_files/neutron.conf:ro
222 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
230 - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchImage} ]
231 container_name: neutronagent
238 - /lib/modules:/lib/modules:ro
239 - /var/lib/etc-data/json-config/neutron-agent.json:/var/lib/kolla/config_files/config.json
240 - /var/lib/etc-data/neutron/plugins/ml2/openvswitch_agent.ini:/var/lib/kolla/config_files/ovs_neutron_plugin.ini:ro
241 - /var/lib/etc-data/neutron/neutron.conf:/var/lib/kolla/config_files/neutron.conf:ro
243 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
251 - [ {get_param: DockerNamespace}, {get_param: DockerComputeImage} ]
252 container_name: novacompute
258 - /lib/modules:/lib/modules:ro
259 - /var/lib/etc-data/json-config/nova-compute.json:/var/lib/kolla/config_files/config.json
260 - /var/lib/etc-data/nova/nova.conf:/var/lib/kolla/config_files/nova.conf:ro
262 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
267 depends_on: NovaComputeContainersDeployment
268 type: OS::TripleO::NodeExtraConfigPost
270 servers: {get_param: servers}