47 lines
2.8 KiB
Desktop File
47 lines
2.8 KiB
Desktop File
[Unit]
|
|
Description=Openstack nova-compute Container
|
|
After=docker.service
|
|
Requires=docker.service
|
|
|
|
[Service]
|
|
TimeoutStartSec=0
|
|
Restart=always
|
|
ExecStartPre=-/usr/bin/docker kill %n
|
|
ExecStartPre=-/usr/bin/docker rm %n
|
|
ExecStart=/usr/bin/docker run --name %n \
|
|
-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']) }}" \
|
|
-e "MYSQL_ROOT_PASSWORD={{ secrets['MYSQL_ROOT_PASSWORD'] }}" \
|
|
-e "NEUTRON_CONTROLLER_HOST={{ hostvars[groups['neutron-controller'][0]]['listen_ip'] | default(hostvars[groups['neutron-controller'][0]]['ansible_default_ipv4']['address']) }}" \
|
|
-e "NEUTRON_PASSWORD={{ secrets['NEUTRON_PASSWORD'] }}" \
|
|
-e "NEUTRON_USER=neutron" \
|
|
-e "NOVA_COMPUTE_USER=nova_compute" \
|
|
-e "NOVA_CONTROLLER_HOST={{ hostvars[groups['nova-controller'][0]]['listen_ip'] | default(hostvars[groups['nova-controller'][0]]['ansible_default_ipv4']['address']) }}" \
|
|
-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" \
|
|
-e "OS_PASSWORD={{ secrets['OS_PASSWORD'] }}" \
|
|
-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']) }}" \
|
|
-e "RABBIT_PASSWORD={{ secrets['RABBIT_PASSWORD'] }}" \
|
|
-e "RABBIT_USER=openstack" \
|
|
--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']) }} \
|
|
--privileged \
|
|
-v /dev:/dev \
|
|
-v /var/run/libvirt/libvirt-sock:/var/run/libvirt/libvirt-sock \
|
|
-v /var/lib/nova/instances:/var/lib/nova/instances \
|
|
-v /lib/modules:/lib/modules \
|
|
-v /etc/machine-id:/etc/machine-id \
|
|
--network host \
|
|
{{ docker_image }} /etc/run.sh
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|