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 name: ComputePuppetDeployment
53 servers: {get_param: servers}
54 config: {get_resource: ComputePuppetConfig}
56 update_identifier: {get_param: NodeConfigIdentifiers}
57 tripleo::packages::enable_install: True
60 type: OS::Heat::SoftwareConfig
65 config: {get_file: ./copy-etc.sh}
68 type: OS::Heat::SoftwareDeployments
69 depends_on: ComputePuppetDeployment
71 name: CopyEtcDeployment
72 config: {get_resource: CopyEtcConfig}
73 servers: {get_param: servers}
76 type: OS::Heat::SoftwareConfig
81 config: {get_file: ./generate_json_config.sh}
84 type: OS::Heat::SoftwareDeployments
85 depends_on: CopyEtcDeployment
87 name: CopyJsonDeployment
88 config: {get_resource: CopyJsonConfig}
89 servers: {get_param: servers}
91 NovaComputeContainersDeploymentOVS:
92 type: OS::Heat::StructuredDeployments
93 depends_on: CopyJsonDeployment
95 name: NovaComputeContainersDeploymentOVS
96 config: {get_resource: NovaComputeContainersConfigOVS}
97 servers: {get_param: servers}
99 NovaComputeContainersConfigOVS:
100 type: OS::Heat::StructuredConfig
102 group: docker-compose
108 - [ {get_param: DockerNamespace}, {get_param: DockerOvsVswitchdImage} ]
109 container_name: ovs-vswitchd
115 - /lib/modules:/lib/modules:ro
116 - /var/lib/etc-data/json-config/ovs-vswitchd.json:/var/lib/kolla/config_files/config.json
118 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
124 - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchDBImage} ]
125 container_name: ovs-db-server
130 - /var/lib/etc-data/json-config/ovs-dbserver.json:/var/lib/kolla/config_files/config.json
132 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
134 NovaComputeContainersDeploymentNetconfig:
135 type: OS::Heat::SoftwareDeployments
136 depends_on: NovaComputeContainersDeploymentOVS
138 name: NovaComputeContainersDeploymentNetconfig
139 config: {get_resource: NovaComputeContainersConfigNetconfig}
140 servers: {get_param: servers}
142 # We run os-net-config here because we depend on the ovs containers to be up
143 # and running before we configure the network. This allows explicit timing
144 # of the network configuration.
145 NovaComputeContainersConfigNetconfig:
146 type: OS::Heat::SoftwareConfig
153 /usr/local/bin/run-os-net-config
155 LibvirtContainersDeployment:
156 type: OS::Heat::StructuredDeployments
157 depends_on: [CopyJsonDeployment, CopyEtcDeployment, ComputePuppetDeployment, NovaComputeContainersDeploymentNetconfig]
159 name: LibvirtContainersDeployment
160 config: {get_resource: LibvirtContainersConfig}
161 servers: {get_param: servers}
163 LibvirtContainersConfig:
164 type: OS::Heat::StructuredConfig
166 group: docker-compose
172 - [ {get_param: DockerNamespace}, {get_param: DockerComputeDataImage} ]
173 container_name: computedata
175 - /var/lib/nova/instances
182 - [ {get_param: DockerNamespace}, {get_param: DockerLibvirtImage} ]
183 container_name: libvirt
190 - /lib/modules:/lib/modules:ro
191 - /sys/fs/cgroup:/sys/fs/cgroup
192 - /var/lib/etc-data/json-config/nova-libvirt.json:/var/lib/kolla/config_files/config.json
193 - /var/lib/etc-data/libvirt/libvirtd.conf:/var/lib/kolla/config_files/libvirtd.conf
195 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
199 NovaComputeContainersDeployment:
200 type: OS::Heat::StructuredDeployments
201 depends_on: [CopyJsonDeployment, CopyEtcDeployment, ComputePuppetDeployment, NovaComputeContainersDeploymentNetconfig, LibvirtContainersDeployment]
203 name: NovaComputeContainersDeployment
204 config: {get_resource: NovaComputeContainersConfig}
205 servers: {get_param: servers}
207 NovaComputeContainersConfig:
208 type: OS::Heat::StructuredConfig
210 group: docker-compose
216 - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchImage} ]
217 container_name: openvswitch
223 - /lib/modules:/lib/modules:ro
224 - /var/lib/etc-data/json-config/neutron-openvswitch-agent.json:/var/lib/kolla/config_files/config.json
225 - /var/lib/etc-data/neutron/neutron.conf:/etc/kolla/neutron-openvswitch-agent/:ro
226 - /var/lib/etc-data/neutron/plugins/ml2/ml2_conf.ini:/var/lib/kolla/config_files/ml2_conf.ini:ro
227 - /var/lib/etc-data/neutron/neutron.conf:/var/lib/kolla/config_files/neutron.conf:ro
229 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
237 - [ {get_param: DockerNamespace}, {get_param: DockerOpenvswitchImage} ]
238 container_name: neutronagent
245 - /lib/modules:/lib/modules:ro
246 - /var/lib/etc-data/json-config/neutron-agent.json:/var/lib/kolla/config_files/config.json
247 - /var/lib/etc-data/neutron/plugins/ml2/openvswitch_agent.ini:/var/lib/kolla/config_files/ovs_neutron_plugin.ini:ro
248 - /var/lib/etc-data/neutron/neutron.conf:/var/lib/kolla/config_files/neutron.conf:ro
250 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
258 - [ {get_param: DockerNamespace}, {get_param: DockerComputeImage} ]
259 container_name: novacompute
265 - /lib/modules:/lib/modules:ro
266 - /var/lib/etc-data/json-config/nova-compute.json:/var/lib/kolla/config_files/config.json
267 - /var/lib/etc-data/nova/nova.conf:/var/lib/kolla/config_files/nova.conf:ro
269 - KOLLA_CONFIG_STRATEGY=COPY_ALWAYS
274 depends_on: NovaComputeContainersDeployment
275 type: OS::TripleO::NodeExtraConfigPost
277 servers: {get_param: servers}