%global with_doc %{!?_without_doc:1}%{?_without_doc:0} %global with_trans %{!?_without_trans:1}%{?_without_trans:0} %global release_name kilo %global service nova %{!?upstream_version: %global upstream_version %{version}%{?milestone}} Name: openstack-nova Version: 2015.1.0 Release: 3%{?milestone}%{?dist} Summary: OpenStack Compute (nova) Group: Applications/System License: ASL 2.0 URL: http://openstack.org/projects/compute/ Source0: http://launchpad.net/%{service}/%{release_name}/%{version}/+download/%{service}-%{upstream_version}.tar.gz Patch0001: 0001-Ironic-Extra-configdrive-metadata-from-Nodes.patch Source1: nova-dist.conf Source2: nova.conf.sample Source6: nova.logrotate Source10: openstack-nova-api.service Source11: openstack-nova-cert.service Source12: openstack-nova-compute.service Source13: openstack-nova-network.service Source14: openstack-nova-objectstore.service Source15: openstack-nova-scheduler.service Source18: openstack-nova-xvpvncproxy.service Source19: openstack-nova-console.service Source20: openstack-nova-consoleauth.service Source25: openstack-nova-metadata-api.service Source26: openstack-nova-conductor.service Source27: openstack-nova-cells.service Source28: openstack-nova-spicehtml5proxy.service Source29: openstack-nova-novncproxy.service Source31: openstack-nova-serialproxy.service Source21: nova-polkit.pkla Source23: nova-polkit.rules Source22: nova-ifc-template Source24: nova-sudoers Source30: openstack-nova-novncproxy.sysconfig BuildArch: noarch BuildRequires: intltool BuildRequires: python-sphinx BuildRequires: python-oslo-sphinx BuildRequires: python-setuptools BuildRequires: python-netaddr BuildRequires: python-pbr BuildRequires: python-d2to1 BuildRequires: python-six BuildRequires: python-oslo-i18n Requires: openstack-nova-compute = %{version}-%{release} Requires: openstack-nova-cert = %{version}-%{release} Requires: openstack-nova-scheduler = %{version}-%{release} Requires: openstack-nova-api = %{version}-%{release} Requires: openstack-nova-network = %{version}-%{release} Requires: openstack-nova-objectstore = %{version}-%{release} Requires: openstack-nova-conductor = %{version}-%{release} Requires: openstack-nova-console = %{version}-%{release} Requires: openstack-nova-cells = %{version}-%{release} Requires: openstack-nova-novncproxy = %{version}-%{release} %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 common Summary: Components common to all OpenStack Nova services Group: Applications/System Requires: python-nova = %{version}-%{release} Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Requires(pre): shadow-utils BuildRequires: systemd %description common 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 scripts, config and dependencies shared between all the OpenStack nova services. %package compute Summary: OpenStack Nova Virtual Machine control service Group: Applications/System Requires: openstack-nova-common = %{version}-%{release} Requires: curl Requires: iscsi-initiator-utils Requires: iptables iptables-ipv6 Requires: ipmitool Requires: python-libguestfs Requires: libvirt-python Requires: libvirt-daemon-kvm %if 0%{?rhel}==0 Requires: libvirt-daemon-lxc %endif Requires: openssh-clients Requires: rsync Requires: lvm2 Requires: python-cinderclient Requires(pre): qemu-kvm Requires: genisoimage Requires: bridge-utils %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 network Summary: OpenStack Nova Network control service Group: Applications/System Requires: openstack-nova-common = %{version}-%{release} Requires: radvd Requires: bridge-utils Requires: dnsmasq Requires: dnsmasq-utils Requires: ebtables %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 scheduler Summary: OpenStack Nova VM distribution service Group: Applications/System Requires: openstack-nova-common = %{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 cert Summary: OpenStack Nova certificate management service Group: Applications/System Requires: openstack-nova-common = %{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 api Summary: OpenStack Nova API services Group: Applications/System Requires: openstack-nova-common = %{version}-%{release} Requires: python-cinderclient %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 conductor Summary: OpenStack Nova Conductor services Group: Applications/System Requires: openstack-nova-common = %{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 objectstore Summary: OpenStack Nova simple object store service Group: Applications/System Requires: openstack-nova-common = %{version}-%{release} %description objectstore 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 providing a simple object store. %package console Summary: OpenStack Nova console access services Group: Applications/System Requires: openstack-nova-common = %{version}-%{release} Requires: python-websockify %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 cells Summary: OpenStack Nova Cells services Group: Applications/System Requires: openstack-nova-common = %{version}-%{release} %description cells 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 Cells service providing additional scaling and (geographic) distribution for compute services. %package novncproxy Summary: OpenStack Nova noVNC proxy service Group: Applications/System Requires: openstack-nova-common = %{version}-%{release} Requires: novnc Requires: python-websockify %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 spicehtml5proxy Summary: OpenStack Nova Spice HTML5 console access service Group: Applications/System Requires: openstack-nova-common = %{version}-%{release} Requires: python-websockify %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. %package serialproxy Summary: OpenStack Nova serial console access service Group: Applications/System Requires: openstack-nova-common = %{version}-%{release} Requires: python-websockify %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 -n python-nova Summary: Nova Python libraries Group: Applications/System Requires: openssl # Require openssh for ssh-keygen Requires: openssh Requires: sudo Requires: MySQL-python Requires: python-paramiko Requires: python-eventlet Requires: python-greenlet Requires: python-iso8601 Requires: python-netaddr Requires: python-lxml Requires: python-anyjson Requires: python-boto Requires: python-cheetah Requires: python-ldap Requires: python-stevedore Requires: python-memcached Requires: python-sqlalchemy Requires: python-migrate Requires: python-paste-deploy Requires: python-routes Requires: python-webob Requires: python-glanceclient >= 1:0 Requires: python-neutronclient Requires: python-novaclient Requires: python-oslo-config >= 1:1.2.0 Requires: python-oslo-db Requires: python-oslo-vmware Requires: python-pyasn1 Requires: python-six >= 1.4.1 Requires: python-babel Requires: python-jinja2 Requires: python-oslo-concurrency Requires: python-keystonemiddleware Requires: python-oslo-rootwrap Requires: python-oslo-messaging >= 1.3.0-0.1.a4 Requires: python-oslo-i18n Requires: python-posix_ipc Requires: python-rfc3986 Requires: python-oslo-middleware Requires: python-oslo-utils Requires: python-oslo-serialization Requires: python-pbr Requires: python-oslo-log Requires: python-oslo-context Requires: python-jsonschema Requires: python-psutil %description -n python-nova 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. %if 0%{?with_doc} %package doc Summary: Documentation for OpenStack Compute Group: Documentation BuildRequires: graphviz # Required to build module documents BuildRequires: python-boto BuildRequires: python-eventlet BuildRequires: python-routes BuildRequires: python-sqlalchemy BuildRequires: python-webob # while not strictly required, quiets the build down when building docs. BuildRequires: python-migrate, python-iso8601 %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 %setup -q -n nova-%{upstream_version} %patch0001 -p1 find . \( -name .gitignore -o -name .placeholder \) -delete find nova -name \*.py -exec sed -i '/\/usr\/bin\/env python/{d;q}' {} + # Remove the requirements file so that pbr hooks don't add it # to distutils requiers_dist config rm -rf {test-,}requirements.txt tools/{pip,test}-requires %build %{__python} setup.py build install -p -D -m 640 %{SOURCE2} etc/nova/nova.conf.sample # Avoid http://bugzilla.redhat.com/1059815. Remove when that is closed sed -i 's|group/name|group;name|; s|\[DEFAULT\]/|DEFAULT;|' etc/nova/nova.conf.sample # Programmatically update defaults in sample config # which is installed at /etc/nova/nova.conf # First we ensure all values are commented in appropriate format. # Since icehouse, there was an uncommented keystone_authtoken section # at the end of the file which mimics but also conflicted with our # distro editing that had been done for many releases. sed -i '/^[^#[]/{s/^/#/; s/ //g}; /^#[^ ]/s/ = /=/' etc/nova/nova.conf.sample # TODO: Make this more robust # Note it only edits the first occurance, so assumes a section ordering in sample # and also doesn't support multi-valued variables like dhcpbridge_flagfile. while read name eq value; do test "$name" && test "$value" || continue sed -i "0,/^# *$name=/{s!^# *$name=.*!#$name=$value!}" etc/nova/nova.conf.sample done < %{SOURCE1} %install %{__python} setup.py install -O1 --skip-build --root %{buildroot} # docs generation requires everything to be installed first export PYTHONPATH="$( pwd ):$PYTHONPATH" pushd doc %if 0%{?with_doc} SPHINX_DEBUG=1 sphinx-build -b html source build/html # Fix hidden-file-or-dir warnings rm -fr build/html/.doctrees build/html/.buildinfo %endif # Create dir link to avoid a sphinx-build exception mkdir -p build/man/.doctrees/ ln -s . build/man/.doctrees/man SPHINX_DEBUG=1 sphinx-build -b man -c source source/man build/man mkdir -p %{buildroot}%{_mandir}/man1 install -p -D -m 644 build/man/*.1 %{buildroot}%{_mandir}/man1/ popd # Setup directories install -d -m 755 %{buildroot}%{_sharedstatedir}/nova install -d -m 755 %{buildroot}%{_sharedstatedir}/nova/buckets install -d -m 755 %{buildroot}%{_sharedstatedir}/nova/instances install -d -m 755 %{buildroot}%{_sharedstatedir}/nova/keys install -d -m 755 %{buildroot}%{_sharedstatedir}/nova/networks install -d -m 755 %{buildroot}%{_sharedstatedir}/nova/tmp install -d -m 750 %{buildroot}%{_localstatedir}/log/nova # Setup ghost CA cert install -d -m 755 %{buildroot}%{_sharedstatedir}/nova/CA install -p -m 755 nova/CA/*.sh %{buildroot}%{_sharedstatedir}/nova/CA install -p -m 644 nova/CA/openssl.cnf.tmpl %{buildroot}%{_sharedstatedir}/nova/CA install -d -m 755 %{buildroot}%{_sharedstatedir}/nova/CA/{certs,crl,newcerts,projects,reqs} touch %{buildroot}%{_sharedstatedir}/nova/CA/{cacert.pem,crl.pem,index.txt,openssl.cnf,serial} install -d -m 750 %{buildroot}%{_sharedstatedir}/nova/CA/private touch %{buildroot}%{_sharedstatedir}/nova/CA/private/cakey.pem # Install config files install -d -m 755 %{buildroot}%{_sysconfdir}/nova install -p -D -m 640 %{SOURCE1} %{buildroot}%{_datadir}/nova/nova-dist.conf install -p -D -m 640 etc/nova/nova.conf.sample %{buildroot}%{_sysconfdir}/nova/nova.conf install -p -D -m 640 etc/nova/rootwrap.conf %{buildroot}%{_sysconfdir}/nova/rootwrap.conf install -p -D -m 640 etc/nova/api-paste.ini %{buildroot}%{_sysconfdir}/nova/api-paste.ini install -p -D -m 640 etc/nova/policy.json %{buildroot}%{_sysconfdir}/nova/policy.json # Install version info file cat > %{buildroot}%{_sysconfdir}/nova/release </dev/null || groupadd -r nova --gid 162 if ! getent passwd nova >/dev/null; then useradd -u 162 -r -g nova -G nova,nobody -d %{_sharedstatedir}/nova -s /sbin/nologin -c "OpenStack Nova Daemons" nova fi exit 0 %pre compute usermod -a -G qemu nova exit 0 %post compute %systemd_post %{name}-compute.service %post network %systemd_post %{name}-network.service %post scheduler %systemd_post %{name}-scheduler.service %post cert %systemd_post %{name}-cert.service %post api %systemd_post %{name}-api.service %{name}-metadata-api.service %post conductor %systemd_post %{name}-conductor.service %post objectstore %systemd_post %{name}-objectstore.service %post console %systemd_post %{name}-console.service %{name}-consoleauth.service %{name}-xvpvncproxy.service %post cells %systemd_post %{name}-cells.service %post novncproxy %systemd_post %{name}-novncproxy.service %post spicehtml5proxy %systemd_post %{name}-spicehtml5proxy.service %post serialproxy %systemd_post %{name}-serialproxy.service %preun compute %systemd_preun %{name}-compute.service %preun network %systemd_preun %{name}-network.service %preun scheduler %systemd_preun %{name}-scheduler.service %preun cert %systemd_preun %{name}-cert.service %preun api %systemd_preun %{name}-api.service %{name}-metadata-api.service %preun objectstore %systemd_preun %{name}-objectstore.service %preun conductor %systemd_preun %{name}-conductor.service %preun console %systemd_preun %{name}-console.service %{name}-consoleauth.service %{name}-xvpvncproxy.service %preun cells %systemd_preun %{name}-cells.service %preun novncproxy %systemd_preun %{name}-novncproxy.service %preun spicehtml5proxy %systemd_preun %{name}-spicehtml5proxy.service %preun serialproxy %systemd_preun %{name}-serialproxy.service %postun compute %systemd_postun_with_restart %{name}-compute.service %postun network %systemd_postun_with_restart %{name}-network.service %postun scheduler %systemd_postun_with_restart %{name}-scheduler.service %postun cert %systemd_postun_with_restart %{name}-cert.service %postun api %systemd_postun_with_restart %{name}-api.service %{name}-metadata-api.service %postun objectstore %systemd_postun_with_restart %{name}-objectstore.service %postun conductor %systemd_postun_with_restart %{name}-conductor.service %postun console %systemd_postun_with_restart %{name}-console.service %{name}-consoleauth.service %{name}-xvpvncproxy.service %postun cells %systemd_postun_with_restart %{name}-cells.service %postun novncproxy %systemd_postun_with_restart %{name}-novncproxy.service %postun spicehtml5proxy %systemd_postun_with_restart %{name}-spicehtml5proxy.service %postun serialproxy %systemd_postun_with_restart %{name}-serialproxy.service %files %doc LICENSE %{_bindir}/nova-all %files common %doc LICENSE %dir %{_sysconfdir}/nova %{_sysconfdir}/nova/release %attr(-, root, nova) %{_datadir}/nova/nova-dist.conf %config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/nova.conf %config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/api-paste.ini %config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/rootwrap.conf %config(noreplace) %attr(-, root, nova) %{_sysconfdir}/nova/policy.json %config(noreplace) %{_sysconfdir}/logrotate.d/openstack-nova %config(noreplace) %{_sysconfdir}/sudoers.d/nova %config(noreplace) %{_sysconfdir}/polkit-1/localauthority/50-local.d/50-nova.pkla %config(noreplace) %{_sysconfdir}/polkit-1/rules.d/50-nova.rules %dir %attr(0750, nova, root) %{_localstatedir}/log/nova %dir %attr(0755, nova, root) %{_localstatedir}/run/nova %{_bindir}/nova-manage %{_bindir}/nova-rootwrap %{_datarootdir}/nova %{_mandir}/man1/nova*.1.gz %defattr(-, nova, nova, -) %dir %{_sharedstatedir}/nova %dir %{_sharedstatedir}/nova/buckets %dir %{_sharedstatedir}/nova/instances %dir %{_sharedstatedir}/nova/keys %dir %{_sharedstatedir}/nova/networks %dir %{_sharedstatedir}/nova/tmp %files compute %{_bindir}/nova-compute %{_bindir}/nova-idmapshift %{_unitdir}/openstack-nova-compute.service %{_datarootdir}/nova/rootwrap/compute.filters %files network %{_bindir}/nova-network %{_bindir}/nova-dhcpbridge %{_unitdir}/openstack-nova-network.service %{_datarootdir}/nova/rootwrap/network.filters %files scheduler %{_bindir}/nova-scheduler %{_unitdir}/openstack-nova-scheduler.service %files cert %{_bindir}/nova-cert %{_unitdir}/openstack-nova-cert.service %defattr(-, nova, nova, -) %dir %{_sharedstatedir}/nova/CA/ %dir %{_sharedstatedir}/nova/CA/certs %dir %{_sharedstatedir}/nova/CA/crl %dir %{_sharedstatedir}/nova/CA/newcerts %dir %{_sharedstatedir}/nova/CA/projects %dir %{_sharedstatedir}/nova/CA/reqs %{_sharedstatedir}/nova/CA/*.sh %{_sharedstatedir}/nova/CA/openssl.cnf.tmpl %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{_sharedstatedir}/nova/CA/cacert.pem %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{_sharedstatedir}/nova/CA/crl.pem %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{_sharedstatedir}/nova/CA/index.txt %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{_sharedstatedir}/nova/CA/openssl.cnf %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{_sharedstatedir}/nova/CA/serial %dir %attr(0750, -, -) %{_sharedstatedir}/nova/CA/private %ghost %config(missingok,noreplace) %verify(not md5 size mtime) %{_sharedstatedir}/nova/CA/private/cakey.pem %files api %{_bindir}/nova-api* %{_unitdir}/openstack-nova-*api.service %{_datarootdir}/nova/rootwrap/api-metadata.filters %files conductor %{_bindir}/nova-conductor %{_unitdir}/openstack-nova-conductor.service %files objectstore %{_bindir}/nova-objectstore %{_unitdir}/openstack-nova-objectstore.service %files console %{_bindir}/nova-console* %{_bindir}/nova-xvpvncproxy %{_unitdir}/openstack-nova-console*.service %{_unitdir}/openstack-nova-xvpvncproxy.service %files cells %{_bindir}/nova-cells %{_unitdir}/openstack-nova-cells.service %files novncproxy %{_bindir}/nova-novncproxy %{_unitdir}/openstack-nova-novncproxy.service %config(noreplace) %{_sysconfdir}/sysconfig/openstack-nova-novncproxy %files spicehtml5proxy %{_bindir}/nova-spicehtml5proxy %{_unitdir}/openstack-nova-spicehtml5proxy.service %files serialproxy %{_bindir}/nova-serialproxy %{_unitdir}/openstack-nova-serialproxy.service %files -n python-nova %defattr(-,root,root,-) %doc LICENSE %{python_sitelib}/nova %{python_sitelib}/nova-*.egg-info %if 0%{?with_doc} %files doc %doc LICENSE doc/build/html %endif %changelog * Mon May 04 2015 Alan Pevec 2015.1.0-3 - update keystone_authtoken section in sample conf - openstack-nova-* systemd unit files need NotifyAccess=all rhbz#1189347 - Ironic: Extra configdrive metadata from Nodes * Thu Apr 30 2015 Alan Pevec 2015.1.0-2 - OpenStack Kilo release