2017-07-14 10:02:55 +02:00
|
|
|
[Unit]
|
|
|
|
Description=Openstack nova-compute Container
|
|
|
|
After=docker.service
|
|
|
|
Requires=docker.service
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
TimeoutStartSec=0
|
|
|
|
Restart=always
|
2017-08-14 16:40:06 +02:00
|
|
|
ExecStartPre=-/usr/bin/docker kill %n
|
|
|
|
ExecStartPre=-/usr/bin/docker rm %n
|
2017-07-14 10:02:55 +02:00
|
|
|
ExecStart=/usr/bin/docker run --name %n \
|
2017-08-31 15:02:47 +02:00
|
|
|
-e "GLANCE_CONTROLLER_HOST={{ hostvars[groups['glance-controller'][0]]['listen_ip'] | default(hostvars[groups['glance-controller'][0]]['ansible_default_ipv4']['address']) }}" \
|
|
|
|
-e "KEYSTONE_HOST={{ hostvars[groups['keystone'][0]]['listen_ip'] | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }}" \
|
|
|
|
-e "METADATA_SECRET={{ secrets['METADATA_SECRET'] }}" \
|
|
|
|
-e "MEMCACHED_HOST={{ hostvars[groups['memcached'][0]]['listen_ip'] | default(hostvars[groups['memcached'][0]]['ansible_default_ipv4']['address']) }}" \
|
|
|
|
-e "MY_IP={{ listen_ip | default(ansible_default_ipv4.address) }}" \
|
|
|
|
-e "MYSQL_HOST={{ hostvars[groups['databases'][0]]['listen_ip'] | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }}" \
|
2017-08-14 16:40:06 +02:00
|
|
|
-e "MYSQL_ROOT_PASSWORD={{ secrets['MYSQL_ROOT_PASSWORD'] }}" \
|
2017-08-31 15:02:47 +02:00
|
|
|
-e "NEUTRON_CONTROLLER_HOST={{ hostvars[groups['neutron-controller'][0]]['listen_ip'] | default(hostvars[groups['neutron-controller'][0]]['ansible_default_ipv4']['address']) }}" \
|
2017-08-14 16:40:06 +02:00
|
|
|
-e "NEUTRON_PASSWORD={{ secrets['NEUTRON_PASSWORD'] }}" \
|
2017-07-31 13:21:03 +02:00
|
|
|
-e "NEUTRON_USER=neutron" \
|
2017-08-14 16:40:06 +02:00
|
|
|
-e "NOVA_COMPUTE_USER=nova_compute" \
|
2017-08-31 15:02:47 +02:00
|
|
|
-e "NOVA_CONTROLLER_HOST={{ hostvars[groups['nova-controller'][0]]['listen_ip'] | default(hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address']) }}" \
|
2017-08-14 16:40:06 +02:00
|
|
|
-e "NOVA_PASSWORD={{ secrets['NOVA_PASSWORD'] }}" \
|
|
|
|
-e "NOVA_PASSWORD={{ secrets['NOVA_PASSWORD'] }}" \
|
|
|
|
-e "NOVA_PLACEMENT_PASSWORD={{ secrets['NOVA_PLACEMENT_PASSWORD'] }}" \
|
|
|
|
-e "NOVA_PLACEMENT_USER=placement" \
|
|
|
|
-e "NOVA_USER=nova" \
|
2018-02-20 16:24:26 +01:00
|
|
|
-e "OVERLAY_IP={{ overlay_ip }}" \
|
2017-08-14 16:40:06 +02:00
|
|
|
-e "OS_PASSWORD={{ secrets['OS_PASSWORD'] }}" \
|
2017-08-31 15:02:47 +02:00
|
|
|
-e "PHYSICAL_INTERFACE_MAPPINGS={{ physical_interface_mappings }}" \
|
|
|
|
-e "RABBIT_HOST={{ hostvars[groups['rabbitmq'][0]]['listen_ip'] | default(hostvars[groups['rabbitmq'][0]]['ansible_default_ipv4']['address']) }}" \
|
2017-08-14 16:40:06 +02:00
|
|
|
-e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}" \
|
|
|
|
-e "RABBIT_USER=openstack" \
|
2018-06-20 15:48:31 +02:00
|
|
|
-e "$MON_INITIAL_MEMBERS={{ ceph_mon_initial_members }} \
|
|
|
|
-e "$MON_HOST={{ ceph_mon_host }}" \
|
|
|
|
-e "$PUBLIC_NETWORK={{ ceph_public_network }}" \
|
|
|
|
-e "$OSD_POOL_DEFAULT_SIZE={{ ceph_osd_pool_default_size }}" \
|
2017-08-31 15:02:47 +02:00
|
|
|
--add-host=keystone:{{ hostvars[groups['keystone'][0]]['listen_ip'] | default(hostvars[groups['keystone'][0]]['ansible_default_ipv4']['address']) }} \
|
|
|
|
--add-host=mariadb:{{ hostvars[groups['databases'][0]]['listen_ip'] | default(hostvars[groups['databases'][0]]['ansible_default_ipv4']['address']) }} \
|
2017-07-14 10:02:55 +02:00
|
|
|
--privileged \
|
2017-08-31 15:02:47 +02:00
|
|
|
-v /dev:/dev \
|
2017-07-14 10:02:55 +02:00
|
|
|
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
|
2017-08-10 11:17:24 +02:00
|
|
|
-v /var/lib/nova/instances:/var/lib/nova/instances \
|
|
|
|
-v /lib/modules:/lib/modules \
|
2017-08-14 16:40:06 +02:00
|
|
|
-v /etc/machine-id:/etc/machine-id \
|
2018-04-17 15:38:02 +02:00
|
|
|
-v /srv/nova-compute/etc/ceph:/etc/ceph \
|
2017-07-31 13:21:03 +02:00
|
|
|
--network host \
|
2017-08-01 10:19:54 +02:00
|
|
|
{{ docker_image }} /etc/run.sh
|
2017-07-14 10:02:55 +02:00
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|