diff --git a/sys-cluster/nova/files/nova.logrotate b/sys-cluster/nova/files/nova.logrotate new file mode 100644 index 0000000000..51c7caf738 --- /dev/null +++ b/sys-cluster/nova/files/nova.logrotate @@ -0,0 +1,7 @@ +/var/log/nova/*.log { + daily + missingok + compress + delaycompress + copytruncate +} diff --git a/sys-cluster/nova/files/nova.tmpfile b/sys-cluster/nova/files/nova.tmpfile new file mode 100644 index 0000000000..126845d14c --- /dev/null +++ b/sys-cluster/nova/files/nova.tmpfile @@ -0,0 +1 @@ +d /run/nova 0755 nova nova - diff --git a/sys-cluster/nova/files/openstack-nova-api.service b/sys-cluster/nova/files/openstack-nova-api.service new file mode 100644 index 0000000000..9c83f6da43 --- /dev/null +++ b/sys-cluster/nova/files/openstack-nova-api.service @@ -0,0 +1,15 @@ +[Unit] +Description=OpenStack Nova API Server +After=syslog.target network.target + +[Service] +Type=notify +NotifyAccess=all +TimeoutStartSec=0 +Restart=always +User=nova +ExecStart=/usr/bin/nova-api --log-file /var/log/nova/api.log + +[Install] +WantedBy=multi-user.target + diff --git a/sys-cluster/nova/files/openstack-nova-compute.service b/sys-cluster/nova/files/openstack-nova-compute.service new file mode 100644 index 0000000000..1e1f1b4ddb --- /dev/null +++ b/sys-cluster/nova/files/openstack-nova-compute.service @@ -0,0 +1,16 @@ +[Unit] +Description=OpenStack Nova Compute Server +After=syslog.target network.target libvirtd.service virtqemud.service + +[Service] +Environment=LIBGUESTFS_ATTACH_METHOD=appliance +Type=notify +NotifyAccess=all +TimeoutStartSec=0 +Restart=always +User=nova +ExecStart=/usr/bin/nova-compute --log-file /var/log/nova/compute.log + +[Install] +WantedBy=multi-user.target + diff --git a/sys-cluster/nova/files/openstack-nova-conductor.service b/sys-cluster/nova/files/openstack-nova-conductor.service new file mode 100644 index 0000000000..bca3c738ef --- /dev/null +++ b/sys-cluster/nova/files/openstack-nova-conductor.service @@ -0,0 +1,15 @@ +[Unit] +Description=OpenStack Nova Conductor Server +After=syslog.target network.target + +[Service] +Type=notify +NotifyAccess=all +TimeoutStartSec=0 +Restart=always +User=nova +ExecStart=/usr/bin/nova-conductor --log-file /var/log/nova/conductor.log + +[Install] +WantedBy=multi-user.target + diff --git a/sys-cluster/nova/files/openstack-nova-metadata-api.service b/sys-cluster/nova/files/openstack-nova-metadata-api.service new file mode 100644 index 0000000000..6885b682cd --- /dev/null +++ b/sys-cluster/nova/files/openstack-nova-metadata-api.service @@ -0,0 +1,15 @@ +[Unit] +Description=OpenStack Nova Metadata API Server +After=syslog.target network.target + +[Service] +Type=notify +NotifyAccess=all +TimeoutStartSec=0 +Restart=always +User=nova +ExecStart=/usr/bin/nova-api-metadata --log-file /var/log/nova/metadata.log + +[Install] +WantedBy=multi-user.target + diff --git a/sys-cluster/nova/files/openstack-nova-novncproxy.service b/sys-cluster/nova/files/openstack-nova-novncproxy.service new file mode 100644 index 0000000000..648aab89f8 --- /dev/null +++ b/sys-cluster/nova/files/openstack-nova-novncproxy.service @@ -0,0 +1,13 @@ +[Unit] +Description=OpenStack Nova NoVNC Proxy Server +After=syslog.target network.target + +[Service] +Type=simple +User=nova +EnvironmentFile=-/etc/conf.d/openstack-nova-novncproxy +ExecStart=/usr/bin/nova-novncproxy --web /usr/share/webapps/novnc/ --log-file /var/log/nova/novnc.log $OPTIONS +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/sys-cluster/nova/files/openstack-nova-os-compute-api.service b/sys-cluster/nova/files/openstack-nova-os-compute-api.service new file mode 100644 index 0000000000..0720a52213 --- /dev/null +++ b/sys-cluster/nova/files/openstack-nova-os-compute-api.service @@ -0,0 +1,14 @@ +[Unit] +Description=OpenStack Nova Compute API Server +After=syslog.target network.target + +[Service] +Type=notify +NotifyAccess=all +TimeoutStartSec=0 +Restart=always +User=nova +ExecStart=/usr/bin/nova-api-os-compute --log-file /var/log/nova/api-os-compute.log + +[Install] +WantedBy=multi-user.target diff --git a/sys-cluster/nova/files/openstack-nova-scheduler.service b/sys-cluster/nova/files/openstack-nova-scheduler.service new file mode 100644 index 0000000000..14e30fe7c1 --- /dev/null +++ b/sys-cluster/nova/files/openstack-nova-scheduler.service @@ -0,0 +1,15 @@ +[Unit] +Description=OpenStack Nova Scheduler Server +After=syslog.target network.target + +[Service] +Type=notify +NotifyAccess=all +TimeoutStartSec=0 +Restart=always +User=nova +ExecStart=/usr/bin/nova-scheduler --log-file /var/log/nova/scheduler.log + +[Install] +WantedBy=multi-user.target + diff --git a/sys-cluster/nova/nova-25.0.0.0_rc1-r2.ebuild b/sys-cluster/nova/nova-25.0.0.0_rc1-r3.ebuild similarity index 93% rename from sys-cluster/nova/nova-25.0.0.0_rc1-r2.ebuild rename to sys-cluster/nova/nova-25.0.0.0_rc1-r3.ebuild index 899369c6fa..3ae0f19aaa 100644 --- a/sys-cluster/nova/nova-25.0.0.0_rc1-r2.ebuild +++ b/sys-cluster/nova/nova-25.0.0.0_rc1-r3.ebuild @@ -6,7 +6,7 @@ EAPI=8 MYP="${P//_/}" PYTHON_COMPAT=( python3_{8..9} ) -inherit bash-completion-r1 distutils-r1 linux-info udev +inherit bash-completion-r1 distutils-r1 linux-info systemd tmpfiles udev DESCRIPTION="Cloud computing fabric controller" HOMEPAGE=" @@ -196,13 +196,13 @@ python_compile_all() { python_install_all() { distutils-r1_python_install_all - if use !compute-only; then - for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do - newinitd "${FILESDIR}/nova.initd" "nova-${svc}" - done - fi - use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute" - use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy" + for svc in api compute conductor consoleauth network novncproxy scheduler spicehtml5proxy xvpvncproxy; do + newinitd "${FILESDIR}/nova.initd" "nova-${svc}" + done + + for svc in api compute conductor metadata-api novncproxy os-compute-api scheduler; do + systemd_dounit "${FILESDIR}/openstack-nova-${svc}.service" + done diropts -m 0750 -o nova -g qemu dodir /var/log/nova /var/lib/nova/instances @@ -229,6 +229,11 @@ python_install_all() { newbashcomp tools/nova-manage.bash_completion nova-manage + newtmpfiles "${FILESDIR}/nova.tmpfile" nova.conf + + insinto /etc/logrotate.d + newins "${FILESDIR}/nova.logrotate" nova.conf + if use iscsi ; then # Install udev rules for handle iscsi disk with right links under /dev udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules