File patterns-OpenStack.spec of Package patterns-OpenStack
#
# spec file for package patterns-OpenStack
#
# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# NOTE(toabctl): currently min versions for Mitaka cicle
# OpenStack switched from date based version (i.e. 2015.1) to semver
%define cinder_version 9.0.0
%define glance_version 13.0.0
%define heat_version 7.0.0
%define keystone_version 10.0.0
%define neutron_version 9.0.0
%define nova_version 14.0.0
%define horizon_version 10.0.0
Name: patterns-OpenStack
Version: 2017.1
Release: 0
Summary: Patterns for OpenStack
License: GPL-2.0+
Group: Metapackages
Url: http://openstack.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
This is an internal package that is used to create the patterns
%package controller
Summary: Meta package for pattern OpenStack Controller
Group: Metapackages
Requires: openstack-cinder-api >= %{cinder_version}
Requires: openstack-cinder-backup >= %{cinder_version}
Requires: openstack-cinder-scheduler >= %{cinder_version}
Requires: openstack-cinder-volume >= %{cinder_version}
Requires: openstack-glance-api >= %{glance_version}
Requires: openstack-glance-glare >= %{glance_version}
Requires: openstack-glance-registry >= %{glance_version}
Requires: openstack-heat-api >= %{heat_version}
Requires: openstack-heat-api-cfn >= %{heat_version}
Requires: openstack-heat-engine >= %{heat_version}
Requires: openstack-keystone >= %{keystone_version}
Requires: openstack-neutron-server >= %{neutron_version}
Requires: openstack-nova-api >= %{nova_version}
Requires: openstack-nova-placement-api >= %{nova_version}
Requires: openstack-nova-scheduler >= %{nova_version}
Requires: rabbitmq-server
Requires: tgt
%if 0%{?suse_version} > 1110
Requires: postgresql-server
Requires: python-psycopg2
%else
# avoid postgresql 8.x
Requires: postgresql91-server
Requires: python-psycopg2
%endif
Recommends: openstack-dashboard >= %{horizon_version}
Recommends: openstack-nova-novncproxy >= %{nova_version}
Recommends: openstack-nova-cert >= %{nova_version}
Recommends: openstack-nova-consoleauth >= %{nova_version}
Recommends: patterns-OpenStack-clients = %version
Recommends: memcached
Recommends: python-python-memcached
Provides: pattern() = cloud_controller
%description controller
Meta package for pattern OpenStack Compute Node on kvm
%package storage-node
Summary: Meta package for pattern OpenStack Storage
Group: Metapackages
Requires: lvm2
Requires: ntp
Requires: open-iscsi
Requires: tgt
Provides: pattern() = cloud_storage
%description storage-node
Meta package for pattern OpenStack Storage Node
%package clients
Summary: Meta package for pattern OpenStack Clients
Group: Metapackages
Requires: python-cinderclient
Requires: python-glanceclient
Requires: python-heatclient
Requires: python-keystoneclient
Requires: python-neutronclient
Requires: python-novaclient
Requires: python-openstackclient
Requires: python-swiftclient
Provides: pattern() = cloud_clients
%description clients
Meta package for pattern OpenStack Controller
This contains the software for the Cloud' core
%package compute-node
Summary: Meta package for pattern OpenStack Compute Node
Group: Metapackages
%if %{suse_version} >= 1310
Requires: qemu
%else
Requires: kvm
%endif
Requires: libvirt
Requires: ntp
Requires: open-iscsi
Requires: openstack-neutron-agent >= %{neutron_version}
Requires: openstack-nova-compute >= %{nova_version}
Recommends: openstack-neutron-linuxbridge-agent >= %{neutron_version}
Provides: pattern() = cloud_compute
%description compute-node
Meta package for pattern OpenStack Compute Node on kvm
%package network-node
Summary: Meta package for pattern OpenStack Network Node
Group: Metapackages
Requires: openstack-neutron-dhcp-agent >= %{neutron_version}
Requires: openstack-neutron-l3-agent >= %{neutron_version}
Requires: openstack-neutron-metadata-agent >= %{neutron_version}
Recommends: openstack-neutron-lbaas-agent >= %{neutron_version}
Provides: pattern() = cloud_network
%description network-node
Meta package for pattern OpenStack Network Node on kvm
%prep
%build
%install
export RPM_BUILD_ROOT
mkdir -p %{buildroot}%{_datadir}/doc/packages/patterns-OpenStack/
# rpms must have at least one file, so we create one:
for p in controller compute-node clients network-node storage-node ; do
echo "This file marks the pattern $p to be installed." > %{buildroot}%{_datadir}/doc/packages/patterns-OpenStack/$p.txt
done
%files clients
%defattr(-,root,root)
%dir %{_datadir}/doc/packages/patterns-OpenStack
%{_datadir}/doc/packages/patterns-OpenStack/clients.txt
%files controller
%defattr(-,root,root)
%dir %{_datadir}/doc/packages/patterns-OpenStack
%{_datadir}/doc/packages/patterns-OpenStack/controller.txt
%files compute-node
%defattr(-,root,root)
%dir %{_datadir}/doc/packages/patterns-OpenStack
%{_datadir}/doc/packages/patterns-OpenStack/compute-node.txt
%files network-node
%defattr(-,root,root)
%dir %{_datadir}/doc/packages/patterns-OpenStack
%{_datadir}/doc/packages/patterns-OpenStack/network-node.txt
%files storage-node
%defattr(-,root,root)
%dir %{_datadir}/doc/packages/patterns-OpenStack
%{_datadir}/doc/packages/patterns-OpenStack/storage-node.txt
%changelog