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
openSUSE Build Service is sponsored by