876 lines
34 KiB
Django/Jinja
876 lines
34 KiB
Django/Jinja
{% set pypi_name = 'nova' %}
|
|
{% set source = fetch_source('https://tarballs.openstack.org/nova/nova-master.tar.gz') %}
|
|
{% set upstream_version = upstream_version() %}
|
|
{% set rpm_release = '1' %}
|
|
%global with_doc 1
|
|
%global with_tests 0
|
|
Name: {{ py2name() }}
|
|
Version: {{ py2rpmversion() }}
|
|
Release: {{ py2rpmrelease() }}
|
|
Epoch: {{ epoch('nova') }}
|
|
Summary: OpenStack Compute (nova)
|
|
License: {{ license('Apache-2.0') }}
|
|
URL: https://launchpad.net/nova
|
|
Source0: {{ source|basename }}
|
|
Source1: openstack-nova.defaultconf
|
|
Source3: nova.logrotate
|
|
Source4: nova-polkit.pkla
|
|
Source6: nova-polkit.rules
|
|
Source7: nova-sudoers
|
|
Source8: unittests.blacklist
|
|
Source9: nova.modules
|
|
Source10: nova.modprobe
|
|
Source11: openstack-nova-api.service
|
|
Source12: openstack-nova-compute.service
|
|
Source13: openstack-nova-network.service
|
|
Source14: openstack-nova-scheduler.service
|
|
Source15: openstack-nova-xvpvncproxy.service
|
|
Source16: openstack-nova-console.service
|
|
Source17: openstack-nova-consoleauth.service
|
|
Source18: openstack-nova-api-metadata.service
|
|
Source19: openstack-nova-conductor.service
|
|
Source21: openstack-nova-spicehtml5proxy.service
|
|
Source22: openstack-nova-novncproxy.service
|
|
Source23: openstack-nova-serialproxy.service
|
|
Source24: openstack-nova-api-os-compute.service
|
|
Source27: nova.tmpfiles
|
|
BuildRequires: fdupes
|
|
BuildRequires: intltool
|
|
BuildRequires: openstack-macros
|
|
BuildRequires: polkit
|
|
BuildRequires: {{ py2pkg('PyMySQL', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('python-barbicanclient', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('python-cinderclient', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('cursive', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('ddt', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('fixtures', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('python-glanceclient', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('python-ironicclient', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('python-keystoneclient', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('microversion_parse', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('mock', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('mox3', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('python-neutronclient', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('python-novaclient', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('os-api-ref', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('os-brick', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('os-resource-classes', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('os-service-types', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('os-vif', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('os-win', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.cache', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.concurrency', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.config', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.context', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.db', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.i18n', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.log', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.messaging', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.middleware', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.policy', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.privsep', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.reports', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.rootwrap', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.serialization', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.service', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.utils', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.versionedobjects', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslo.vmware', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('oslotest', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('osprofiler', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('psycopg2', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('python-subunit', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('requests-mock', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('testrepository', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('testresources', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('testscenarios', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('testtools', py_versions=['py3']) }}
|
|
BuildRequires: sudo
|
|
Requires: logrotate
|
|
Requires: python3-{{ pypi_name }} = %{epoch}:%{version}-%{release}
|
|
BuildArch: noarch
|
|
%if 0%{?suse_version}
|
|
BuildRequires: systemd-rpm-macros
|
|
Requires(pre): pwdutils
|
|
%{?systemd_requires}
|
|
%else
|
|
BuildRequires: systemd
|
|
Requires(post): systemd
|
|
Requires(postun): systemd
|
|
Requires(pre): shadow-utils
|
|
Requires(preun): systemd
|
|
%endif
|
|
|
|
%description
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
%package -n python3-{{ pypi_name }}
|
|
Summary: Nova Python library
|
|
Group: Applications/System
|
|
# Require openssh for ssh-keygen
|
|
Requires: openssh
|
|
Requires: openssl
|
|
Requires: {{ py2pkg('Babel') }}
|
|
Requires: {{ py2pkg('Jinja2') }}
|
|
Requires: {{ py2pkg('Paste') }}
|
|
Requires: {{ py2pkg('PasteDeploy') }}
|
|
Requires: {{ py2pkg('PrettyTable') }}
|
|
Requires: {{ py2pkg('Routes') }}
|
|
Requires: {{ py2pkg('SQLAlchemy') }}
|
|
Requires: {{ py2pkg('WebOb') }}
|
|
Requires: {{ py2pkg('castellan') }}
|
|
Requires: {{ py2pkg('python-cinderclient') }}
|
|
Requires: {{ py2pkg('cryptography') }}
|
|
Requires: {{ py2pkg('cursive') }}
|
|
Requires: {{ py2pkg('decorator') }}
|
|
Requires: {{ py2pkg('eventlet') }}
|
|
Requires: {{ py2pkg('python-glanceclient') }}
|
|
Requires: {{ py2pkg('greenlet') }}
|
|
Requires: {{ py2pkg('iso8601') }}
|
|
Requires: {{ py2pkg('jsonschema') }}
|
|
Requires: {{ py2pkg('keystoneauth1') }}
|
|
Requires: {{ py2pkg('keystonemiddleware') }}
|
|
Requires: {{ py2pkg('lxml') }}
|
|
Requires: {{ py2pkg('microversion_parse') }}
|
|
Requires: {{ py2pkg('netaddr') }}
|
|
Requires: {{ py2pkg('netifaces') }}
|
|
Requires: {{ py2pkg('python-neutronclient') }}
|
|
Requires: {{ py2pkg('os-brick') }}
|
|
Requires: {{ py2pkg('os-resource-classes') }}
|
|
Requires: {{ py2pkg('os-service-types') }}
|
|
Requires: {{ py2pkg('os-vif') }}
|
|
Requires: {{ py2pkg('os-win') }}
|
|
Requires: {{ py2pkg('oslo.cache') }}
|
|
Requires: {{ py2pkg('oslo.concurrency') }}
|
|
Requires: {{ py2pkg('oslo.config') }}
|
|
Requires: {{ py2pkg('oslo.context') }}
|
|
Requires: {{ py2pkg('oslo.db') }}
|
|
Requires: {{ py2pkg('oslo.i18n') }}
|
|
Requires: {{ py2pkg('oslo.log') }}
|
|
Requires: {{ py2pkg('oslo.messaging') }}
|
|
Requires: {{ py2pkg('oslo.middleware') }}
|
|
Requires: {{ py2pkg('oslo.policy') }}
|
|
Requires: {{ py2pkg('oslo.privsep') }}
|
|
Requires: {{ py2pkg('oslo.reports') }}
|
|
Requires: {{ py2pkg('oslo.rootwrap') }}
|
|
Requires: {{ py2pkg('oslo.serialization') }}
|
|
Requires: {{ py2pkg('oslo.service') }}
|
|
Requires: {{ py2pkg('oslo.utils') }}
|
|
Requires: {{ py2pkg('oslo.versionedobjects') }}
|
|
Requires: {{ py2pkg('paramiko') }}
|
|
Requires: {{ py2pkg('pbr') }}
|
|
Requires: {{ py2pkg('psutil') }}
|
|
Requires: {{ py2pkg('requests') }}
|
|
Requires: {{ py2pkg('rfc3986') }}
|
|
Requires: {{ py2pkg('setuptools') }}
|
|
Requires: {{ py2pkg('six') }}
|
|
Requires: {{ py2pkg('sqlalchemy-migrate') }}
|
|
Requires: {{ py2pkg('stevedore') }}
|
|
Requires: {{ py2pkg('websockify') }}
|
|
Requires: sudo
|
|
|
|
%description -n python3-{{ pypi_name }}
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform.
|
|
|
|
This package contains the nova Python library.
|
|
|
|
%package api
|
|
Summary: OpenStack Nova - API service
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
|
|
%description api
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova services providing programmatic access.
|
|
|
|
%package cert
|
|
Summary: OpenStack Nova certificate management service
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
|
|
%description cert
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova service for managing certificates.
|
|
|
|
%package compute
|
|
Summary: OpenStack Nova Virtual Machine control service
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
Requires: bridge-utils
|
|
Requires: curl
|
|
Requires: ipmitool
|
|
Requires: iptables
|
|
Requires: iscsi-initiator-utils
|
|
Requires: libvirt-daemon-kvm
|
|
Requires: libvirt-daemon-lxc
|
|
Requires: lvm2
|
|
Requires: openssh-clients
|
|
Requires: {{ py2pkg('libguestfs') }}
|
|
Requires: {{ py2pkg('libvirt-python') }}
|
|
Requires: rsync
|
|
Requires(pre): qemu-kvm
|
|
%if 0%{?suse_version} && 0%{?sle_version} >= 150000
|
|
Requires: mkisofs
|
|
%else
|
|
Requires: genisoimage
|
|
%endif
|
|
|
|
%description compute
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova service for controlling Virtual Machines.
|
|
|
|
%package conductor
|
|
Summary: OpenStack Nova Conductor services
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
|
|
%description conductor
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova services providing database access for
|
|
the compute service
|
|
|
|
%package console
|
|
Summary: OpenStack Nova console access services
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
|
|
%description console
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova services providing
|
|
console access services to Virtual Machines.
|
|
|
|
%package consoleauth
|
|
Summary: OpenStack Nova consoleauth access services
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
|
|
%description consoleauth
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova services providing
|
|
consoleauth access services to Virtual Machines.
|
|
|
|
%package network
|
|
Summary: OpenStack Nova Network control service
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
Requires: bridge-utils
|
|
Requires: dnsmasq
|
|
Requires: dnsmasq-utils
|
|
Requires: ebtables
|
|
Requires: iptables
|
|
Requires: radvd
|
|
|
|
%description network
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova service for controlling networking.
|
|
|
|
%package novncproxy
|
|
Summary: OpenStack Nova noVNC proxy service
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
Requires: novnc
|
|
|
|
%description novncproxy
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova noVNC Proxy service that can proxy
|
|
VNC traffic over browser websockets connections.
|
|
|
|
%package xvpvncproxy
|
|
Summary: OpenStack Nova XVP VNC proxy service
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
Requires: novnc
|
|
|
|
%description xvpvncproxy
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova VNC Proxy service that can proxy
|
|
VNC traffic over browser websockets connections.
|
|
|
|
%package scheduler
|
|
Summary: OpenStack Nova VM distribution service
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
|
|
%description scheduler
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the service for scheduling where
|
|
to run Virtual Machines in the cloud.
|
|
|
|
%package serialproxy
|
|
Summary: OpenStack Nova serial console access service
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
Requires: novnc
|
|
|
|
%description serialproxy
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova services providing the
|
|
serial console access service to Virtual Machines.
|
|
|
|
%package spicehtml5proxy
|
|
Summary: OpenStack Nova - Spice HTML5 console access service
|
|
Group: Applications/System
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
|
|
%description spicehtml5proxy
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform. It gives you the
|
|
software, control panels, and APIs required to orchestrate a cloud,
|
|
including running instances, managing networks, and controlling access
|
|
through users and projects. OpenStack Compute strives to be both
|
|
hardware and hypervisor agnostic, currently supporting a variety of
|
|
standard hardware configurations and seven major hypervisors.
|
|
|
|
This package contains the Nova services providing the
|
|
spice HTML5 console access service to Virtual Machines.
|
|
|
|
%if 0%{?with_doc}
|
|
%package doc
|
|
Summary: Documentation for OpenStack Compute
|
|
Group: Documentation/HTML
|
|
BuildRequires: graphviz
|
|
BuildRequires: {{ py2pkg('Babel', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('Jinja2', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('Paste', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('PasteDeploy', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('PrettyTable', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('Routes', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('SQLAlchemy', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('Sphinx', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('WebOb', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('castellan', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('cryptography', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('decorator', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('greenlet', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('iso8601', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('jsonschema', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('keystonemiddleware', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('lxml', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('netifaces', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('openstackdocstheme', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('os-resource-classes', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('paramiko', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('psutil', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('python-memcached', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('reno', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('requests', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('rfc3986', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('sphinx-feature-classification', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('sphinxcontrib-actdiag', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('sphinxcontrib-seqdiag', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('sqlalchemy-migrate', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('stevedore', py_versions=['py3']) }}
|
|
BuildRequires: {{ py2pkg('websockify', py_versions=['py3']) }}
|
|
|
|
%description doc
|
|
OpenStack Compute (codename Nova) is open source software designed to
|
|
provision and manage large networks of virtual machines, creating a
|
|
redundant and scalable cloud computing platform.
|
|
|
|
This package contains documentation files for nova.
|
|
%endif
|
|
|
|
%prep
|
|
%autosetup -n {{ pypi_name }}-{{ upstream_version }}
|
|
%py_req_cleanup
|
|
find . \( -name .gitignore -o -name .placeholder \) -delete
|
|
find nova -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} +
|
|
|
|
%build
|
|
%{py3_build}
|
|
%if 0%{?with_doc}
|
|
%if 0%{?rdo}
|
|
PYTHONPATH=. PBR_VERSION={{ upstream_version }} sphinx-build-3 -b html doc/source doc/build/html
|
|
PYTHONPATH=. PBR_VERSION={{ upstream_version }} sphinx-build-3 -b man doc/source doc/build/man
|
|
%else
|
|
PYTHONPATH=. PBR_VERSION={{ upstream_version }} sphinx-build -b html doc/source doc/build/html
|
|
PYTHONPATH=. PBR_VERSION={{ upstream_version }} sphinx-build -b man doc/source doc/build/man
|
|
%endif
|
|
# remove the sphinx-build leftovers
|
|
rm -rf doc/build/html/.{doctrees,buildinfo}
|
|
rm -rf doc/build/man/.{doctrees,buildinfo}
|
|
%fdupes doc/build/html/
|
|
%fdupes doc/build/man/
|
|
%endif
|
|
# config file generation
|
|
PYTHONPATH=. oslo-config-generator --config-file=etc/nova/nova-config-generator.conf
|
|
PYTHONPATH=. oslopolicy-sample-generator --config-file=etc/nova/nova-policy-generator.conf
|
|
|
|
%install
|
|
%{py3_install}
|
|
# man pages
|
|
mkdir -p %{buildroot}%{_mandir}/man1
|
|
install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/
|
|
|
|
# Setup directories
|
|
install -d -m 750 %{buildroot}%{_localstatedir}/lib/nova
|
|
install -d -m 750 %{buildroot}%{_localstatedir}/lib/nova/images
|
|
install -d -m 750 %{buildroot}%{_localstatedir}/lib/nova/buckets
|
|
install -d -m 750 %{buildroot}%{_localstatedir}/lib/nova/instances
|
|
install -d -m 750 %{buildroot}%{_localstatedir}/lib/nova/keys
|
|
install -d -m 750 %{buildroot}%{_localstatedir}/lib/nova/networks
|
|
install -d -m 750 %{buildroot}%{_localstatedir}/lib/nova/tmp
|
|
install -d -m 750 %{buildroot}%{_localstatedir}/log/nova
|
|
install -d -m 700 %{buildroot}%{_rundir}/nova
|
|
|
|
# systemd tmpfiles
|
|
install -D -m 644 %{SOURCE27} %{buildroot}/%_tmpfilesdir/%name.conf
|
|
|
|
# Install config files
|
|
install -d -m 755 %{buildroot}%{_sysconfdir}/nova
|
|
install -d -m 755 %{buildroot}%{_sysconfdir}/nova/nova.conf.d
|
|
install -p -D -m 640 %{SOURCE1} %{buildroot}%{_sysconfdir}/nova/nova.conf.d/010-nova.conf
|
|
install -p -D -m 640 etc/nova/api-paste.ini %{buildroot}%{_sysconfdir}/nova/api-paste.ini
|
|
install -p -D -m 640 etc/nova/logging_sample.conf %{buildroot}%{_sysconfdir}/nova/logging.conf
|
|
install -p -D -m 640 etc/nova/nova.conf.sample %{buildroot}%{_sysconfdir}/nova/nova.conf
|
|
install -p -D -m 640 etc/nova/policy.yaml.sample %{buildroot}%{_sysconfdir}/nova/policy.yaml
|
|
install -p -D -m 640 etc/nova/rootwrap.conf %{buildroot}%{_sysconfdir}/nova/rootwrap.conf
|
|
|
|
# delete installed conf files in usr/etc
|
|
rm -rf %{buildroot}%{_prefix}%{_sysconfdir}/
|
|
|
|
# Install version info file
|
|
cat > %{buildroot}%{_sysconfdir}/nova/release <<EOF
|
|
[Nova]
|
|
vendor = %{?dist}
|
|
product = OpenStack Nova
|
|
package = %{release}
|
|
EOF
|
|
|
|
# install logrotate
|
|
install -p -D -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/logrotate.d/%{name}
|
|
|
|
# install completion
|
|
install -p -D -m 644 tools/nova-manage.bash_completion %{buildroot}%{_sysconfdir}/bash_completion.d/openstack-nova-manage.sh
|
|
|
|
# install polkit
|
|
%if 0%{?rdo}
|
|
install -d -m 755 %{buildroot}%{_sysconfdir}/polkit-1/localauthority/50-local.d
|
|
install -p -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/polkit-1/localauthority/50-local.d/50-nova.pkla
|
|
%endif
|
|
install -D -m 644 %{SOURCE6} %{buildroot}%{_datadir}/polkit-1/rules.d/10-openstack-nova-compute.rules
|
|
|
|
# install modules/modprobe
|
|
install -D -m 644 %{SOURCE9} %{buildroot}%{_libexecdir}/modules-load.d/openstack-nova-compute.conf
|
|
install -D -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/modprobe.d/openstack-nova-compute
|
|
|
|
# install sudoers
|
|
install -p -D -m 440 %{SOURCE7} %{buildroot}%{_sysconfdir}/sudoers.d/%{name}
|
|
|
|
# install systemd service files
|
|
install -p -D -m 755 %{SOURCE11} %{buildroot}%{_unitdir}/%{name}-api.service
|
|
install -p -D -m 755 %{SOURCE12} %{buildroot}%{_unitdir}/%{name}-compute.service
|
|
install -p -D -m 755 %{SOURCE13} %{buildroot}%{_unitdir}/%{name}-network.service
|
|
install -p -D -m 755 %{SOURCE14} %{buildroot}%{_unitdir}/%{name}-scheduler.service
|
|
install -p -D -m 755 %{SOURCE15} %{buildroot}%{_unitdir}/%{name}-xvpvncproxy.service
|
|
install -p -D -m 755 %{SOURCE16} %{buildroot}%{_unitdir}/%{name}-console.service
|
|
install -p -D -m 755 %{SOURCE17} %{buildroot}%{_unitdir}/%{name}-consoleauth.service
|
|
install -p -D -m 755 %{SOURCE18} %{buildroot}%{_unitdir}/%{name}-api-metadata.service
|
|
install -p -D -m 755 %{SOURCE19} %{buildroot}%{_unitdir}/%{name}-conductor.service
|
|
install -p -D -m 755 %{SOURCE21} %{buildroot}%{_unitdir}/%{name}-spicehtml5proxy.service
|
|
install -p -D -m 755 %{SOURCE22} %{buildroot}%{_unitdir}/%{name}-novncproxy.service
|
|
install -p -D -m 755 %{SOURCE23} %{buildroot}%{_unitdir}/%{name}-serialproxy.service
|
|
install -p -D -m 755 %{SOURCE24} %{buildroot}%{_unitdir}/%{name}-api-os-compute.service
|
|
|
|
# install symlinks on SUSE
|
|
%if 0%{?suse_version}
|
|
mkdir -p %{buildroot}%{_sbindir}
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-api
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-compute
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-network
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-scheduler
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-xvpvncproxy
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-console
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-consoleauth
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-api-metadata
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-conductor
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-spicehtml5proxy
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-novncproxy
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-serialproxy
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-api-os-compute
|
|
%endif
|
|
|
|
cp -a etc/nova/rootwrap.d/ %{buildroot}%{_sysconfdir}/nova/
|
|
%fdupes %{buildroot}/%{python3_sitelib}
|
|
|
|
%if 0%{?with_tests}
|
|
%check
|
|
export OS_TEST_PATH=./nova/tests/unit
|
|
export PYTHONPATH=.
|
|
rm -v nova/tests/unit/test_hacking.py
|
|
rm -v nova/tests/unit/compute/test_compute_xen.py
|
|
rm -rf nova/tests/unit/virt/xenapi/
|
|
testr init 2>&1
|
|
#for debug only - FIX ME
|
|
#testr list-tests 2>&1
|
|
testr list-tests | grep -vE '(vif|OVS|Network|test_wsgi)' > list
|
|
testr run --load-list=list
|
|
%endif
|
|
|
|
%pre
|
|
%openstack_pre_user_group_create nova nova -s /bin/bash
|
|
|
|
%post
|
|
%tmpfiles_create %{_tmpfilesdir}/%{name}.conf
|
|
|
|
%pre compute
|
|
usermod -a -G qemu nova
|
|
|
|
#POST actions
|
|
%post api
|
|
%systemd_post %{name}-api.service %{name}-api-metadata.service %{name}-api-os-compute.service
|
|
|
|
%post cert
|
|
%systemd_post %{name}-cert.service
|
|
|
|
%post compute
|
|
%systemd_post %{name}-compute.service
|
|
|
|
%post conductor
|
|
%systemd_post %{name}-conductor.service
|
|
|
|
%post console
|
|
%systemd_post %{name}-console.service
|
|
|
|
%post consoleauth
|
|
%systemd_post %{name}-consoleauth.service
|
|
|
|
%post network
|
|
%systemd_post %{name}-network.service
|
|
|
|
%post novncproxy
|
|
%systemd_post %{name}-novncproxy.service
|
|
|
|
%post xvpvncproxy
|
|
%systemd_post %{name}-xvpvncproxy.service
|
|
|
|
%post scheduler
|
|
%systemd_post %{name}-scheduler.service
|
|
|
|
%post serialproxy
|
|
%systemd_post %{name}-serialproxy.service
|
|
|
|
%post spicehtml5proxy
|
|
%systemd_post %{name}-spicehtml5proxy.service
|
|
|
|
#PREUN actions
|
|
%preun api
|
|
%systemd_preun %{name}-api.service %{name}-api-metadata.service %{name}-api-os-compute.service
|
|
|
|
%preun cert
|
|
%systemd_preun %{name}-cert.service
|
|
|
|
%preun compute
|
|
%systemd_preun %{name}-compute.service
|
|
|
|
%preun conductor
|
|
%systemd_preun %{name}-conductor.service
|
|
|
|
%preun console
|
|
%systemd_preun %{name}-console.service
|
|
|
|
%preun consoleauth
|
|
%systemd_preun %{name}-consoleauth.service
|
|
|
|
%preun network
|
|
%systemd_preun %{name}-network.service
|
|
|
|
%preun novncproxy
|
|
%systemd_preun %{name}-novncproxy.service
|
|
|
|
%preun xvpvncproxy
|
|
%systemd_preun %{name}-xvpvncproxy.service
|
|
|
|
%preun scheduler
|
|
%systemd_preun %{name}-scheduler.service
|
|
|
|
%preun spicehtml5proxy
|
|
%systemd_preun %{name}-spicehtml5proxy.service
|
|
|
|
%preun serialproxy
|
|
%systemd_preun %{name}-serialproxy.service
|
|
|
|
#POSTUN actions
|
|
%postun api
|
|
%systemd_postun_with_restart %{name}-api.service %{name}-api-metadata.service %{name}-api-os-compute.service
|
|
|
|
%postun cert
|
|
%systemd_postun_with_restart %{name}-cert.service
|
|
|
|
%postun compute
|
|
%systemd_postun_with_restart %{name}-compute.service
|
|
|
|
%postun conductor
|
|
%systemd_postun_with_restart %{name}-conductor.service
|
|
|
|
%postun console
|
|
%systemd_postun_with_restart %{name}-console.service
|
|
|
|
%postun consoleauth
|
|
%systemd_postun_with_restart %{name}-consoleauth.service
|
|
|
|
%postun network
|
|
%systemd_postun_with_restart %{name}-network.service
|
|
|
|
%postun novncproxy
|
|
%systemd_postun_with_restart %{name}-novncproxy.service
|
|
|
|
%postun xvpvncproxy
|
|
%systemd_postun_with_restart %{name}-xvpvncproxy.service
|
|
|
|
%postun scheduler
|
|
%systemd_postun_with_restart %{name}-scheduler.service
|
|
|
|
%postun spicehtml5proxy
|
|
%systemd_postun_with_restart %{name}-spicehtml5proxy.service
|
|
|
|
%postun serialproxy
|
|
%systemd_postun_with_restart %{name}-serialproxy.service
|
|
|
|
%files
|
|
%doc README.rst
|
|
%dir %{_sysconfdir}/nova
|
|
%dir %{_sysconfdir}/nova/rootwrap.d
|
|
%dir %{_localstatedir}/lib/nova
|
|
%dir %{_localstatedir}/lib/nova/buckets
|
|
%dir %{_localstatedir}/lib/nova/instances
|
|
%dir %{_localstatedir}/lib/nova/keys
|
|
%dir %{_localstatedir}/lib/nova/networks
|
|
%dir %{_localstatedir}/lib/nova/tmp
|
|
%dir %attr(0750, nova, root) %{_localstatedir}/log/nova
|
|
%{_sysconfdir}/bash_completion.d/openstack-nova-manage.sh
|
|
%{_sysconfdir}/nova/release
|
|
%_tmpfilesdir/%name.conf
|
|
%dir %{_sysconfdir}/nova/nova.conf.d/
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
|
%config(noreplace) %{_sysconfdir}/sudoers.d/%{name}
|
|
%config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/api-paste.ini
|
|
%config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/logging.conf
|
|
%config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/nova.conf
|
|
%config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/policy.yaml
|
|
%config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/rootwrap.conf
|
|
%config(noreplace) %attr(0640, root, nova) %{_sysconfdir}/nova/nova.conf.d/010-nova.conf
|
|
%{_bindir}/nova-manage
|
|
%{_bindir}/nova-policy
|
|
%{_bindir}/nova-rootwrap
|
|
%{_bindir}/nova-rootwrap-daemon
|
|
%{_bindir}/nova-status
|
|
%{_mandir}/man1/nova*.1.gz
|
|
|
|
%files -n python3-nova
|
|
%license LICENSE
|
|
%{python3_sitelib}/nova/
|
|
%{python3_sitelib}/nova-*.egg-info
|
|
|
|
%files api
|
|
%license LICENSE
|
|
%config %{_sysconfdir}/nova/rootwrap.d/api-metadata.filters
|
|
%{_bindir}/nova-api-wsgi
|
|
%{_bindir}/nova-metadata-wsgi
|
|
%{_bindir}/nova-api
|
|
%{_bindir}/nova-api-metadata
|
|
%{_bindir}/nova-api-os-compute
|
|
%{_unitdir}/%{name}-api.service
|
|
%{_unitdir}/%{name}-api-metadata.service
|
|
%{_unitdir}/%{name}-api-os-compute.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-api-metadata
|
|
%{_sbindir}/rc%{name}-api
|
|
%{_sbindir}/rc%{name}-api-os-compute
|
|
%endif
|
|
|
|
%files compute
|
|
%license LICENSE
|
|
%{_bindir}/nova-compute
|
|
%config %{_sysconfdir}/nova/rootwrap.d/compute.filters
|
|
%if 0%{?rdo}
|
|
%config(noreplace) %{_sysconfdir}/polkit-1/localauthority/50-local.d/50-nova.pkla
|
|
%endif
|
|
%{_datadir}/polkit-1/rules.d/10-openstack-nova-compute.rules
|
|
%{_libexecdir}/modules-load.d/openstack-nova-compute.conf
|
|
%{_sysconfdir}/modprobe.d/openstack-nova-compute
|
|
%{_unitdir}/%{name}-compute.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-compute
|
|
%endif
|
|
|
|
%files conductor
|
|
%license LICENSE
|
|
%{_bindir}/nova-conductor
|
|
%{_unitdir}/%{name}-conductor.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-conductor
|
|
%endif
|
|
|
|
%files console
|
|
%license LICENSE
|
|
%{_bindir}/nova-console
|
|
%{_unitdir}/%{name}-console.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-console
|
|
%endif
|
|
|
|
%files consoleauth
|
|
%license LICENSE
|
|
%{_bindir}/nova-consoleauth
|
|
%{_unitdir}/%{name}-consoleauth.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-consoleauth
|
|
%endif
|
|
|
|
%files network
|
|
%license LICENSE
|
|
%config %{_sysconfdir}/nova/rootwrap.d/network.filters
|
|
%{_bindir}/nova-network
|
|
%{_bindir}/nova-dhcpbridge
|
|
%{_unitdir}/%{name}-network.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-network
|
|
%endif
|
|
|
|
%files novncproxy
|
|
%license LICENSE
|
|
%{_bindir}/nova-novncproxy
|
|
%{_unitdir}/%{name}-novncproxy.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-novncproxy
|
|
%endif
|
|
|
|
%files xvpvncproxy
|
|
%license LICENSE
|
|
%{_bindir}/nova-xvpvncproxy
|
|
%{_unitdir}/%{name}-xvpvncproxy.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-xvpvncproxy
|
|
%endif
|
|
|
|
%files scheduler
|
|
%license LICENSE
|
|
%{_bindir}/nova-scheduler
|
|
%{_unitdir}/%{name}-scheduler.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-scheduler
|
|
%endif
|
|
|
|
%files spicehtml5proxy
|
|
%license LICENSE
|
|
%{_bindir}/nova-spicehtml5proxy
|
|
%{_unitdir}/%{name}-spicehtml5proxy.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-spicehtml5proxy
|
|
%endif
|
|
|
|
%files serialproxy
|
|
%license LICENSE
|
|
%{_bindir}/nova-serialproxy
|
|
%{_unitdir}/%{name}-serialproxy.service
|
|
%if 0%{?suse_version}
|
|
%{_sbindir}/rc%{name}-serialproxy
|
|
%endif
|
|
|
|
%if 0%{?with_doc}
|
|
%files doc
|
|
%license LICENSE
|
|
%doc doc/build/html
|
|
%endif
|
|
|
|
%changelog
|