# Copyright Red Hat, Inc. # All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. [Unit] Description=HotsTac(k)os Nova Compute Service Documentation=https://github.com/openstack-k8s-operators/hotstack After=hotstack-os-nova-api.service hotstack-os-nova-conductor.service hotstack-os-neutron-server.service hotstack-os-infra-setup.service Wants=hotstack-os-nova-api.service hotstack-os-nova-conductor.service hotstack-os-neutron-server.service Requires=hotstack-os-infra-setup.service PartOf=hotstack-os.target [Service] Type=simple Restart=on-failure RestartSec=10 TimeoutStartSec=120 TimeoutStopSec=30 SuccessExitStatus=143 ExecStartPre=-/usr/bin/podman rm -f hotstack-os-nova-compute ExecStart=/usr/bin/podman run \ --pull=never \ --name hotstack-os-nova-compute \ --hostname nova-compute \ --privileged \ --network host \ --user root \ --security-opt label=type:spc_t \ --add-host hotstack-os-mariadb:172.31.0.3 \ --add-host hotstack-os-rabbitmq:172.31.0.4 \ --add-host hotstack-os-memcached:172.31.0.5 \ --env NOVA_DB_PASSWORD=openstack \ --env SERVICE_PASSWORD=openstack \ --env RABBITMQ_USER=openstack \ --env RABBITMQ_PASS=openstack \ --env REGION_NAME=RegionOne \ --env METADATA_SECRET=openstack \ --env XDG_RUNTIME_DIR=/run/user/990 \ --volume /var/lib/hotstack-os/runtime/config/nova/nova.conf:/etc/nova/nova.conf:ro,z \ --volume /var/lib/hotstack-os/runtime/config/mount-wrapper.conf:/etc/hotstack/mount-wrapper.conf:ro,z \ --volume /run/user/990:/run/user/990:ro \ --volume /var/run/libvirt:/var/run/libvirt:ro \ --volume /usr/share/qemu/firmware:/usr/share/qemu/firmware:ro \ --volume /usr/share/edk2/ovmf:/usr/share/edk2/ovmf:ro \ --volume /etc/iscsi:/etc/iscsi:z \ --volume /var/lib/iscsi:/var/lib/iscsi:z \ --volume /run/openvswitch:/run/openvswitch \ --volume /var/lib/hotstack-os/nova:/var/lib/nova:z \ --volume /var/lib/hotstack-os/nova-instances:/var/lib/hotstack-os/nova-instances:shared \ --volume /var/lib/hotstack-os/nova-mnt:/var/lib/hotstack-os/nova-mnt:shared \ --volume /var/lib/hotstack-os/cinder-nfs:/var/lib/hotstack-os/cinder-nfs:z \ --volume /sys/fs/cgroup:/sys/fs/cgroup:ro \ --entrypoint /usr/local/bin/nova-compute-entrypoint.sh \ localhost/hotstack-os-nova:latest # Health check: CONTAINER INTERVAL TIMEOUT RETRIES START_PERIOD COMMAND ExecStartPost=-/usr/local/bin/hotstack-healthcheck.sh hotstack-os-nova-compute 10 5 5 30 /usr/local/bin/nova-compute-healthcheck.sh ExecStop=/usr/bin/podman stop -t 30 hotstack-os-nova-compute ExecStopPost=-/usr/bin/podman rm -f hotstack-os-nova-compute StandardOutput=journal StandardError=journal [Install] WantedBy=hotstack-os.target