Remove CentOS/OpenSUSE build support

StarlingX stopped supporting CentOS builds in the after release 7.0.

This update will strip CentOS from our code base.  It will also remove

references to the failed OpenSUSE feature as well.

STORY: 2011110

TASK: 49963
Change-Id: I2979f438571d872bcb43b5424549c824a8a86c30
Signed-off-by: Scott Little <scott.little@windriver.com>
This commit is contained in:
Scott Little 2024-04-26 11:41:15 -04:00
parent 2b88224302
commit 75224917ce
142 changed files with 0 additions and 8723 deletions

View File

@ -1 +0,0 @@
distro

View File

@ -1,14 +0,0 @@
openstack/openstack-aodh
openstack/openstack-ironic
openstack/python-barbican
openstack/python-ceilometer
openstack/python-cinder
openstack/python-glance
openstack/python-gnocchi
openstack/python-heat/openstack-heat
openstack/python-horizon
openstack/python-keystone
openstack/python-neutron
openstack/python-nova
openstack/python-openstackclient
openstack/python-placement

View File

@ -1,4 +0,0 @@
# Packages used by build-helm-charts.sh
openstack-helm-infra
openstack-helm
monitor-helm

View File

@ -1,60 +0,0 @@
# List of packages to be included/installed in ISO
# If these have dependencies, they will be pulled in automatically
#
# ceph
ceph
ceph-common
ceph-fuse
ceph-radosgw
libcephfs2
python-cephfs
python-ceph-compat
# ceph-manager
ceph-manager
# openstack clients
python2-aodhclient
python2-cinderclient
python2-glanceclient
python2-gnocchiclient
python2-heatclient
python2-ironicclient
python2-keystoneclient
python2-neutronclient
python2-novaclient
python2-openstackclient
python2-pankoclient
python2-swiftclient
# openstack-ras
openstack-ras
# python-django-horizon
python-django-horizon
openstack-dashboard
# stx-dashboard
starlingx-dashboard
# openstack-keystone
openstack-keystone
# rabbitmq-server
rabbitmq-server
# python-wsme
python2-wsme
# openstack-barbican
openstack-barbican
openstack-barbican-api
openstack-barbican-common
openstack-barbican-keystone-listener
openstack-barbican-worker
puppet-barbican
python2-barbican
python2-barbicanclient
python2-ldap3

View File

@ -1,22 +0,0 @@
openstack/python-ironicclient
openstack/openstack-ras
openstack/openstack-os-vif
openstack/python-aodhclient
openstack/python-barbicanclient
openstack/python-cinderclient
openstack/python-glanceclient
openstack/python-gnocchiclient
openstack/python-heatclient
openstack/python-horizon
openstack/python-keystone
openstack/python-keystoneauth1
openstack/python-keystoneclient
openstack/python-neutronclient
openstack/python-novaclient
openstack/python-openstackdocstheme
openstack/python-oslo-messaging
openstack/python-pankoclient
openstack/rabbitmq-server
openstack/python-openstackclient
openstack/python-openstacksdk
openstack/python-wsme

View File

@ -1,7 +0,0 @@
openstack-keystone-16.0.0-1.el7.src.rpm
python-openstackdocstheme-1.11.0-1.el7.src.rpm
python-osc-lib-1.7.0-1.el7.src.rpm
python-oslo-messaging-5.30.6-1.el7.src.rpm
python-os-vif-1.9.1-1.el7.src.rpm
python-wsme-0.9.2-1.el7.src.rpm
rabbitmq-server-3.6.5-1.el7.src.rpm

View File

@ -1,15 +0,0 @@
openstack/openstack-aodh
openstack/openstack-ironic
openstack/python-barbican
openstack/python-ceilometer
openstack/python-cinder
openstack/python-glance
openstack/python-gnocchi
openstack/python-heat/openstack-heat
openstack/python-horizon
openstack/python-keystone
openstack/python-neutron
openstack/python-nova
openstack/python-openstackclient
openstack/python-placement
openstack/python-platformclients

View File

@ -1,11 +0,0 @@
BUILDER=loci
LABEL=stx-aodh
PROJECT=aodh
PROJECT_REPO=https://opendev.org/openstack/aodh.git
PIP_PACKAGES="pylint SQLAlchemy gnocchiclient aodhclient"
PROFILES="apache"
CUSTOMIZATION="\
sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d/10-wsgi.conf && \
sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /etc/httpd/modules/ \
"

View File

@ -1,11 +0,0 @@
BUILDER=loci
LABEL=stx-aodh
PROJECT=aodh
PROJECT_REPO=https://opendev.org/openstack/aodh.git
PROJECT_REF=stable/ussuri
PIP_PACKAGES="pylint SQLAlchemy gnocchiclient aodhclient"
PROFILES="apache"
CUSTOMIZATION="\
sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d/10-wsgi.conf && \
sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /etc/httpd/modules/ \
"

View File

@ -1,12 +0,0 @@
BUILDER=loci
LABEL=stx-ironic
PROJECT=ironic
PROJECT_REPO=https://opendev.org/openstack/ironic.git
PIP_PACKAGES="pylint alembic pysnmp"
DIST_PACKAGES="ipxe-bootimgs tftp-server OpenIPMI ipmitool iproute qemu-img syslinux-tftpboot iscsi-initiator-utils"
PROFILES="ironic apache"
CUSTOMIZATION="\
sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d/10-wsgi.conf && \
sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /etc/httpd/modules/ \
"

View File

@ -1,12 +0,0 @@
BUILDER=loci
LABEL=stx-ironic
PROJECT=ironic
PROJECT_REPO=https://opendev.org/openstack/ironic.git
PROJECT_REF=stable/ussuri
PIP_PACKAGES="pylint alembic pysnmp"
DIST_PACKAGES="ipxe-bootimgs tftp-server OpenIPMI ipmitool iproute qemu-img syslinux-tftpboot iscsi-initiator-utils"
PROFILES="ironic apache"
CUSTOMIZATION="\
sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d/10-wsgi.conf && \
sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /etc/httpd/modules/ \
"

View File

@ -1 +0,0 @@
TIS_PATCH_VER=PKG_GITREVCOUNT

View File

@ -1,81 +0,0 @@
From 0482f8ba06d58a5676e80565cd4af08475e4ab55 Mon Sep 17 00:00:00 2001
From: Matt Peters <matt.peters@windriver.com>
Date: Wed, 30 May 2018 13:40:28 -0500
Subject: [PATCH] tis version and build
---
SPECS/python-os-vif.spec | 24 +++++++++++++-----------
1 file changed, 13 insertions(+), 11 deletions(-)
diff --git a/SPECS/python-os-vif.spec b/SPECS/python-os-vif.spec
index f99c901..fe7f772 100644
--- a/SPECS/python-os-vif.spec
+++ b/SPECS/python-os-vif.spec
@@ -12,7 +12,7 @@
Name: python-%{library}
Version: 1.9.1
-Release: 1%{?dist}
+Release: 1.el7%{?_tis_dist}.%{tis_patch_ver}
Summary: OpenStack os-vif library
License: ASL 2.0
URL: http://launchpad.net/%{library}/
@@ -29,11 +29,11 @@ BuildRequires: python2-devel
BuildRequires: python2-pbr
BuildRequires: python2-setuptools
BuildRequires: git
-BuildRequires: python2-subunit
+BuildRequires: python-subunit
BuildRequires: python2-oslotest
-BuildRequires: python2-os-testr
+BuildRequires: python-os-testr
BuildRequires: python2-pyroute2
-BuildRequires: python2-testtools
+BuildRequires: python-testtools
BuildRequires: python2-oslo-log
BuildRequires: python2-oslo-concurrency
BuildRequires: python2-oslo-privsep
@@ -47,12 +47,14 @@ BuildRequires: python-testrepository
BuildRequires: python-testscenarios
%endif
+# Downgrade OSLO components to support backport
+# NOTE: this can be restored after OSLO upgrade
Requires: python2-pbr >= 2.0.0
-Requires: python2-oslo-config >= 2:5.1.0
+Requires: python2-oslo-config >= 2:4.11.0
Requires: python2-oslo-log >= 3.30.0
Requires: python2-oslo-i18n >= 3.15.3
-Requires: python2-oslo-privsep >= 1.23.0
-Requires: python2-oslo-versionedobjects >= 1.28.0
+Requires: python2-oslo-privsep >= 1.22.0
+Requires: python2-oslo-versionedobjects >= 1.26.0
Requires: python2-pyroute2
Requires: python2-six >= 1.10.0
Requires: python2-stevedore >= 1.20.0
@@ -70,10 +72,10 @@ A library for plugging and unplugging virtual interfaces in OpenStack.
%package -n python2-%{library}-tests
Summary: OpenStack os-vif library tests
Requires: python2-%{library} = %{version}-%{release}
-Requires: python2-subunit
+Requires: python-subunit
Requires: python2-oslotest
-Requires: python2-os-testr
-Requires: python2-testtools
+Requires: python-os-testr
+Requires: python-testtools
Requires: python2-oslo-versionedobjects-tests
%if 0%{?fedora} > 0
Requires: python2-testrepository
@@ -188,7 +190,7 @@ rm -rf doc/build/html/.{doctrees,buildinfo}
export OS_TEST_PATH='./os_vif/tests/unit'
export PATH=$PATH:$RPM_BUILD_ROOT/usr/bin
export PYTHONPATH=$PWD
-stestr --test-path $OS_TEST_PATH run
+#stestr --test-path $OS_TEST_PATH run
%if 0%{?with_python3}
rm -rf .stestr
stestr-3 --test-path $OS_TEST_PATH run
--
1.8.3.1

View File

@ -1 +0,0 @@
0001-tis-version-and-build.patch

View File

@ -1 +0,0 @@
mirror:Source/python-os-vif-1.9.1-1.el7.src.rpm

View File

@ -1,4 +0,0 @@
SRC_DIR="$CGCS_BASE/git/openstack-ras"
TIS_BASE_SRCREV=fe339af22d62454dca5a4f1ca071c958bfcd950d
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,51 +0,0 @@
%define local_dir /usr/local
Summary: openstack-ras
Name: openstack-ras
Version: 1.0.0
Release: 0%{?_tis_dist}.%{tis_patch_ver}
License: Apache-2.0
Group: base
Packager: Wind River <info@windriver.com>
URL: https://github.com/madkiss/openstack-resource-agents/tree/stable-grizzly
# Note: when upgrading, new upstream URL will be:
# https://git.openstack.org/cgit/openstack/openstack-resource-agents
Requires: /usr/bin/env
Requires: /bin/sh
Source0: %{name}-%{version}.tar.gz
%description
OpenStack Resource Agents from Madkiss
%prep
%autosetup -p 1
%install
%make_install
rm -rf ${RPM_BUILD_ROOT}/usr/lib/ocf/resource.d/openstack/ceilometer-agent-central
rm -rf ${RPM_BUILD_ROOT}/usr/lib/ocf/resource.d/openstack/ceilometer-alarm-evaluator
rm -rf ${RPM_BUILD_ROOT}/usr/lib/ocf/resource.d/openstack/ceilometer-alarm-notifier
%files
%defattr(-,root,root,-)
%dir "/usr/lib/ocf/resource.d/openstack"
"/usr/lib/ocf/resource.d/openstack/glance-registry"
"/usr/lib/ocf/resource.d/openstack/nova-network"
"/usr/lib/ocf/resource.d/openstack/keystone"
"/usr/lib/ocf/resource.d/openstack/heat-engine"
"/usr/lib/ocf/resource.d/openstack/nova-novnc"
"/usr/lib/ocf/resource.d/openstack/cinder-api"
"/usr/lib/ocf/resource.d/openstack/neutron-agent-dhcp"
"/usr/lib/ocf/resource.d/openstack/cinder-volume"
"/usr/lib/ocf/resource.d/openstack/neutron-agent-l3"
"/usr/lib/ocf/resource.d/openstack/cinder-schedule"
"/usr/lib/ocf/resource.d/openstack/nova-consoleauth"
"/usr/lib/ocf/resource.d/openstack/ceilometer-api"
"/usr/lib/ocf/resource.d/openstack/nova-scheduler"
"/usr/lib/ocf/resource.d/openstack/neutron-server"
"/usr/lib/ocf/resource.d/openstack/glance-api"
"/usr/lib/ocf/resource.d/openstack/nova-api"
"/usr/lib/ocf/resource.d/openstack/neutron-metadata-agent"
"/usr/lib/ocf/resource.d/openstack/ceilometer-collector"

View File

@ -1,4 +0,0 @@
TAR_NAME=aodhclient
SRC_DIR=$CGCS_BASE/git/python-aodhclient
TIS_BASE_SRCREV="1.3.0"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,198 +0,0 @@
%global pypi_name aodhclient
%if 0%{?fedora}
%global with_python3 1
%endif
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global common_desc \
This is a client library for Aodh built on the Aodh API. It \
provides a Python API (the aodhclient module) and a command-line tool.
Name: python-aodhclient
Version: 1.3.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Python API and CLI for OpenStack Aodh
License: ASL 2.0
URL: https://launchpad.net/python-aodhclient
Source0: https://tarballs.openstack.org/%{name}/%{pypi_name}-%{upstream_version}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python2-%{pypi_name}
Summary: Python API and CLI for OpenStack Aodh
%{?python_provide:%python_provide python2-%{pypi_name}}
BuildRequires: python-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python2-devel
BuildRequires: python-pbr
BuildRequires: git
Requires: python-pbr
Requires: python-cliff >= 1.14.0
Requires: python-oslo-i18n >= 1.5.0
Requires: python-oslo-serialization >= 1.4.0
Requires: python-oslo-utils >= 2.0.0
Requires: python-keystoneauth1 >= 1.0.0
Requires: python-six >= 1.9.0
Requires: python-osc-lib >= 1.0.1
Requires: python-osprofiler >= 1.4.0
Requires: pyparsing
%description -n python2-%{pypi_name}
%{common_desc}
%package doc
Summary: Documentation for OpenStack Aodh API Client
BuildRequires: python-sphinx
# FIXME: remove following line when a new release including https://review.openstack.org/#/c/476759/ is in u-c
BuildRequires: python-oslo-sphinx
BuildRequires: python-openstackdocstheme
BuildRequires: python-keystoneauth1
BuildRequires: python-oslo-utils
BuildRequires: python-oslo-serialization
BuildRequires: python-cliff
%description doc
%{common_desc}
(aodh).
This package contains auto-generated documentation.
%package -n python2-%{pypi_name}-tests
Summary: Python API and CLI for OpenStack Aodh Tests
Requires: python2-%{pypi_name} = %{version}-%{release}
%description -n python2-%{pypi_name}-tests
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{pypi_name}
Summary: Python API and CLI for OpenStack Aodh
%{?python_provide:%python_provide python3-%{pypi_name}}
BuildRequires: python3-setuptools
BuildRequires: python3-devel
BuildRequires: python3-pbr
Requires: python3-pbr
Requires: python3-cliff >= 1.14.0
Requires: python3-oslo-i18n >= 1.5.0
Requires: python3-oslo-serialization >= 1.4.0
Requires: python3-oslo-utils >= 2.0.0
Requires: python3-keystoneauth1 >= 1.0.0
Requires: python3-six >= 1.9.0
Requires: python3-osc-lib >= 1.0.1
Requires: python3-osprofiler >= 1.4.0
Requires: python3-pyparsing
%description -n python3-%{pypi_name}
%{common_desc}
%package -n python3-%{pypi_name}-tests
Summary: Python API and CLI for OpenStack Aodh Tests
Requires: python3-%{pypi_name} = %{version}-%{release}
%description -n python3-%{pypi_name}-tests
%{common_desc}
%endif
%prep
%autosetup -n %{pypi_name}-%{upstream_version} -S git
# Let RPM handle the requirements
rm -f {,test-}requirements.txt
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/aodh %{buildroot}%{_bindir}/aodh-%{python3_version}
ln -s ./aodh-%{python3_version} %{buildroot}%{_bindir}/aodh-3
%endif
%py2_install
mv %{buildroot}%{_bindir}/aodh %{buildroot}%{_bindir}/aodh-%{python2_version}
ln -s ./aodh-%{python2_version} %{buildroot}%{_bindir}/aodh-2
ln -s ./aodh-2 %{buildroot}%{_bindir}/aodh
export PYTHONPATH=.
sphinx-build -b html doc/source doc/build/html
# remove the sphinx-build leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
# STX: stage wheels
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
%files -n python2-%{pypi_name}
%doc README.rst
%license LICENSE
%{python2_sitelib}/aodhclient
%{python2_sitelib}/*.egg-info
%{_bindir}/aodh
%{_bindir}/aodh-2
%{_bindir}/aodh-%{python2_version}
%exclude %{python2_sitelib}/aodhclient/tests
%files -n python2-%{pypi_name}-tests
%license LICENSE
%{python2_sitelib}/aodhclient/tests
%if 0%{?with_python3}
%files -n python3-%{pypi_name}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{pypi_name}
%{python3_sitelib}/*.egg-info
%{_bindir}/aodh-3
%{_bindir}/aodh-%{python3_version}
%exclude %{python3_sitelib}/aodhclient/tests
%files -n python3-%{pypi_name}-tests
%license LICENSE
%{python3_sitelib}/aodhclient/tests
%endif
%files doc
%doc doc/build/html
%license LICENSE
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 1.1.1-1
- Update to 1.1.1

View File

@ -1,176 +0,0 @@
%global pypi_name aodhclient
%if 0%{?fedora}
%global with_python3 1
%endif
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global common_desc \
This is a client library for Aodh built on the Aodh API. It \
provides a Python API (the aodhclient module) and a command-line tool.
Name: python-aodhclient
Version: 1.1.1
Release: 1%{?dist}
Summary: Python API and CLI for OpenStack Aodh
License: ASL 2.0
URL: https://launchpad.net/python-aodhclient
Source0: https://tarballs.openstack.org/%{name}/%{pypi_name}-%{upstream_version}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python2-%{pypi_name}
Summary: Python API and CLI for OpenStack Aodh
%{?python_provide:%python_provide python2-%{pypi_name}}
BuildRequires: python-setuptools
BuildRequires: python2-devel
BuildRequires: python-pbr
BuildRequires: git
Requires: python-pbr
Requires: python-cliff >= 1.14.0
Requires: python-oslo-i18n >= 1.5.0
Requires: python-oslo-serialization >= 1.4.0
Requires: python-oslo-utils >= 2.0.0
Requires: python-keystoneauth1 >= 1.0.0
Requires: python-six >= 1.9.0
Requires: python-osc-lib >= 1.0.1
Requires: pyparsing
%description -n python2-%{pypi_name}
%{common_desc}
%package doc
Summary: Documentation for OpenStack Aodh API Client
BuildRequires: python-sphinx
# FIXME: remove following line when a new release including https://review.openstack.org/#/c/476759/ is in u-c
BuildRequires: python-oslo-sphinx
BuildRequires: python-openstackdocstheme
BuildRequires: python-keystoneauth1
BuildRequires: python-oslo-utils
BuildRequires: python-oslo-serialization
BuildRequires: python-cliff
%description doc
%{common_desc}
(aodh).
This package contains auto-generated documentation.
%package -n python2-%{pypi_name}-tests
Summary: Python API and CLI for OpenStack Aodh Tests
Requires: python2-%{pypi_name} = %{version}-%{release}
%description -n python2-%{pypi_name}-tests
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{pypi_name}
Summary: Python API and CLI for OpenStack Aodh
%{?python_provide:%python_provide python3-%{pypi_name}}
BuildRequires: python3-setuptools
BuildRequires: python3-devel
BuildRequires: python3-pbr
Requires: python3-pbr
Requires: python3-cliff >= 1.14.0
Requires: python3-oslo-i18n >= 1.5.0
Requires: python3-oslo-serialization >= 1.4.0
Requires: python3-oslo-utils >= 2.0.0
Requires: python3-keystoneauth1 >= 1.0.0
Requires: python3-six >= 1.9.0
Requires: python3-osc-lib >= 1.0.1
Requires: python3-pyparsing
%description -n python3-%{pypi_name}
%{common_desc}
%package -n python3-%{pypi_name}-tests
Summary: Python API and CLI for OpenStack Aodh Tests
Requires: python3-%{pypi_name} = %{version}-%{release}
%description -n python3-%{pypi_name}-tests
%{common_desc}
%endif
%prep
%autosetup -n %{pypi_name}-%{upstream_version} -S git
# Let RPM handle the requirements
rm -f {,test-}requirements.txt
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif
%install
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/aodh %{buildroot}%{_bindir}/aodh-%{python3_version}
ln -s ./aodh-%{python3_version} %{buildroot}%{_bindir}/aodh-3
%endif
%py2_install
mv %{buildroot}%{_bindir}/aodh %{buildroot}%{_bindir}/aodh-%{python2_version}
ln -s ./aodh-%{python2_version} %{buildroot}%{_bindir}/aodh-2
ln -s ./aodh-2 %{buildroot}%{_bindir}/aodh
export PYTHONPATH=.
sphinx-build -b html doc/source doc/build/html
# remove the sphinx-build leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
%files -n python2-%{pypi_name}
%doc README.rst
%license LICENSE
%{python2_sitelib}/aodhclient
%{python2_sitelib}/*.egg-info
%{_bindir}/aodh
%{_bindir}/aodh-2
%{_bindir}/aodh-%{python2_version}
%exclude %{python2_sitelib}/aodhclient/tests
%files -n python2-%{pypi_name}-tests
%license LICENSE
%{python2_sitelib}/aodhclient/tests
%if 0%{?with_python3}
%files -n python3-%{pypi_name}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{pypi_name}
%{python3_sitelib}/*.egg-info
%{_bindir}/aodh-3
%{_bindir}/aodh-%{python3_version}
%exclude %{python3_sitelib}/aodhclient/tests
%files -n python3-%{pypi_name}-tests
%license LICENSE
%{python3_sitelib}/aodhclient/tests
%endif
%files doc
%doc doc/build/html
%license LICENSE
%changelog
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 1.1.1-1
- Update to 1.1.1

View File

@ -1,7 +0,0 @@
BUILDER=loci
LABEL=stx-barbican
PROJECT=barbican
PROJECT_REPO=https://opendev.org/openstack/barbican.git
PIP_PACKAGES="pycrypto"
PROFILES="fluent"

View File

@ -1,7 +0,0 @@
BUILDER=loci
LABEL=stx-barbican
PROJECT=barbican
PROJECT_REPO=https://opendev.org/openstack/barbican.git
PROJECT_REF=stable/ussuri
PIP_PACKAGES="pycrypto"
PROFILES="fluent"

View File

@ -1,4 +0,0 @@
TAR_NAME=python-barbicanclient
SRC_DIR=$CGCS_BASE/git/python-barbicanclient
TIS_BASE_SRCREV="4.9.0"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,171 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname barbicanclient
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
This is a client for the Barbican Key Management API. There is a \
Python library for accessing the API (barbicanclient module), and \
a command-line script (barbican).
Name: python-barbicanclient
Version: 4.9.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Client Library for OpenStack Barbican Key Management API
License: ASL 2.0
URL: https://pypi.python.org/pypi/python-barbicanclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{upstream_version}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Client Library for OpenStack Barbican Key Management API
BuildRequires: python2-devel
BuildRequires: python2-pbr
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python2-setuptools
BuildRequires: git
Requires: python2-requests
Requires: python2-six >= 1.10.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-prettytable
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-pbr >= 2.0.0
%if 0%{?fedora} > 0
Requires: python2-cliff
%else
Requires: python-cliff
%endif
%{?python_provide:%python_provide python2-%{sname}}
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Client Library for OpenStack Barbican Key Management API
BuildRequires: python3-devel
BuildRequires: python3-pbr
BuildRequires: python3-setuptools
Requires: python3-requests
Requires: python3-six >= 1.10.0
Requires: python3-cliff
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-prettytable
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-pbr >= 2.0.0
%{?python_provide:%python_provide python3-%{sname}}
%description -n python3-%{sname}
%{common_desc}
%endif
%package doc
Summary: Documentation for OpenStack Barbican API client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-oslo-utils
BuildRequires: python2-oslo-i18n
BuildRequires: python2-prettytable
%description doc
Documentation for the barbicanclient module
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# let RPM handle deps
sed -i '/setup_requires/d; /install_requires/d; /dependency_links/d' setup.py
rm -rf {test-,}requirements.txt
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
# doc
%{__python2} setup.py build_sphinx -b html
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.buildinfo
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/barbican %{buildroot}%{_bindir}/barbican-%{python3_version}
ln -s ./barbican-%{python3_version} %{buildroot}%{_bindir}/barbican-3
%endif
%py2_install
mv %{buildroot}%{_bindir}/barbican %{buildroot}%{_bindir}/barbican-%{python2_version}
ln -s ./barbican-%{python2_version} %{buildroot}%{_bindir}/barbican-2
ln -s ./barbican-2 %{buildroot}%{_bindir}/barbican
# STX: stage wheels
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
%files -n python2-%{sname}
%license LICENSE
%doc AUTHORS CONTRIBUTING.rst README.rst ChangeLog
%{_bindir}/barbican
%{_bindir}/barbican-2*
%{python2_sitelib}/barbicanclient
%{python2_sitelib}/python_barbicanclient-%{upstream_version}-py?.?.egg-info
%if 0%{?with_python3}
%files -n python3-%{sname}
%license LICENSE
%doc AUTHORS CONTRIBUTING.rst README.rst ChangeLog
%{_bindir}/barbican-3*
%{python3_sitelib}/barbicanclient
%{python3_sitelib}/python_barbicanclient-%{upstream_version}-py?.?.egg-info
%endif
%files doc
%doc doc/build/html
%license LICENSE
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Tue Nov 27 2018 RDO <dev@lists.rdoproject.org> 4.7.1-1
- Update to 4.7.1
* Wed Aug 08 2018 RDO <dev@lists.rdoproject.org> 4.7.0-1
- Update to 4.7.0

View File

@ -1,152 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname barbicanclient
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
This is a client for the Barbican Key Management API. There is a \
Python library for accessing the API (barbicanclient module), and \
a command-line script (barbican).
Name: python-barbicanclient
Version: 4.7.1
Release: 1%{?dist}
Summary: Client Library for OpenStack Barbican Key Management API
License: ASL 2.0
URL: https://pypi.python.org/pypi/python-barbicanclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{upstream_version}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Client Library for OpenStack Barbican Key Management API
BuildRequires: python2-devel
BuildRequires: python2-pbr
BuildRequires: python2-setuptools
BuildRequires: git
Requires: python2-requests
Requires: python2-six >= 1.10.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-prettytable
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-pbr >= 2.0.0
%if 0%{?fedora} > 0
Requires: python2-cliff
%else
Requires: python-cliff
%endif
%{?python_provide:%python_provide python2-%{sname}}
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Client Library for OpenStack Barbican Key Management API
BuildRequires: python3-devel
BuildRequires: python3-pbr
BuildRequires: python3-setuptools
Requires: python3-requests
Requires: python3-six >= 1.10.0
Requires: python3-cliff
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-prettytable
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-pbr >= 2.0.0
%{?python_provide:%python_provide python3-%{sname}}
%description -n python3-%{sname}
%{common_desc}
%endif
%package doc
Summary: Documentation for OpenStack Barbican API client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-oslo-utils
BuildRequires: python2-oslo-i18n
BuildRequires: python2-prettytable
%description doc
Documentation for the barbicanclient module
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# let RPM handle deps
sed -i '/setup_requires/d; /install_requires/d; /dependency_links/d' setup.py
rm -rf {test-,}requirements.txt
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif
# doc
%{__python2} setup.py build_sphinx -b html
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.buildinfo
%install
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/barbican %{buildroot}%{_bindir}/barbican-%{python3_version}
ln -s ./barbican-%{python3_version} %{buildroot}%{_bindir}/barbican-3
%endif
%py2_install
mv %{buildroot}%{_bindir}/barbican %{buildroot}%{_bindir}/barbican-%{python2_version}
ln -s ./barbican-%{python2_version} %{buildroot}%{_bindir}/barbican-2
ln -s ./barbican-2 %{buildroot}%{_bindir}/barbican
%files -n python2-%{sname}
%license LICENSE
%doc AUTHORS CONTRIBUTING.rst README.rst PKG-INFO ChangeLog
%{_bindir}/barbican
%{_bindir}/barbican-2*
%{python2_sitelib}/barbicanclient
%{python2_sitelib}/python_barbicanclient-%{upstream_version}-py?.?.egg-info
%if 0%{?with_python3}
%files -n python3-%{sname}
%license LICENSE
%doc AUTHORS CONTRIBUTING.rst README.rst PKG-INFO ChangeLog
%{_bindir}/barbican-3*
%{python3_sitelib}/barbicanclient
%{python3_sitelib}/python_barbicanclient-%{upstream_version}-py?.?.egg-info
%endif
%files doc
%doc doc/build/html
%license LICENSE
%changelog
* Tue Nov 27 2018 RDO <dev@lists.rdoproject.org> 4.7.1-1
- Update to 4.7.1
* Wed Aug 08 2018 RDO <dev@lists.rdoproject.org> 4.7.0-1
- Update to 4.7.0

View File

@ -1,7 +0,0 @@
BUILDER=loci
LABEL=stx-ceilometer
PROJECT=ceilometer
PROJECT_REPO=https://opendev.org/openstack/ceilometer.git
PIP_PACKAGES="pylint libvirt-python panko==5.0.0 gnocchiclient"
DIST_PACKAGES="libvirt ipmitool"

View File

@ -1,7 +0,0 @@
BUILDER=loci
LABEL=stx-ceilometer
PROJECT=ceilometer
PROJECT_REPO=https://opendev.org/openstack/ceilometer.git
PROJECT_REF=stable/ussuri
PIP_PACKAGES="pylint libvirt-python panko==5.0.0 gnocchiclient"
DIST_PACKAGES="libvirt ipmitool"

View File

@ -1,7 +0,0 @@
BUILDER=loci
LABEL=stx-cinder
PROJECT=cinder
PROJECT_REPO=https://opendev.org/openstack/cinder.git
DIST_PACKAGES="nfs-utils"
PIP_PACKAGES="pycrypto python-swiftclient pylint"
PROFILES="fluent cinder lvm ceph qemu"

View File

@ -1,8 +0,0 @@
BUILDER=loci
LABEL=stx-cinder
PROJECT=cinder
PROJECT_REPO=https://opendev.org/openstack/cinder.git
PROJECT_REF=stable/ussuri
DIST_PACKAGES="nfs-utils"
PIP_PACKAGES="pycrypto python-swiftclient pylint"
PROFILES="fluent cinder lvm ceph qemu"

View File

@ -1,4 +0,0 @@
TAR_NAME=python-cinderclient
SRC_DIR=$CGCS_BASE/git/python-cinderclient
TIS_BASE_SRCREV="5.0.0"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,184 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname cinderclient
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
Client library (cinderclient python module) and command line utility \
(cinder) for interacting with OpenStack Cinder (Block Storage) API.
Name: python-cinderclient
Version: 5.0.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Python API and CLI for OpenStack Cinder
License: ASL 2.0
URL: http://github.com/openstack/python-cinderclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{upstream_version}.tar.gz
BuildArch: noarch
BuildRequires: git
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python API and CLI for OpenStack Cinder
%{?python_provide:%python_provide python2-%{sname}}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python2-pbr
%if 0%{?fedora} > 0
BuildRequires: python2-d2to1
%else
BuildRequires: python-d2to1
%endif
Requires: python2-babel
Requires: python2-pbr
Requires: python2-prettytable
Requires: python2-requests
Requires: python2-six
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-utils >= 3.33.0
%if 0%{?fedora} > 0
Requires: python2-simplejson
%else
Requires: python-simplejson
%endif
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python API and CLI for OpenStack Cinder
%{?python_provide:%python_provide python3-%{sname}}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
BuildRequires: python3-d2to1
Requires: python3-babel
Requires: python3-pbr
Requires: python3-prettytable
Requires: python3-requests
Requires: python3-setuptools
Requires: python3-simplejson
Requires: python3-six
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-utils >= 3.33.0
%description -n python3-%{sname}
%{common_desc}
%endif
%package doc
Summary: Documentation for OpenStack Cinder API Client
Group: Documentation
BuildRequires: python-reno
BuildRequires: python-sphinx
BuildRequires: python-openstackdocstheme
%description doc
%{common_desc}
This package contains auto-generated documentation.
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# Remove bundled egg-info
rm -rf python_cinderclient.egg-info
# Let RPM handle the requirements
rm -f {,test-}requirements.txt
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
sphinx-build -W -b html doc/source doc/build/html
sphinx-build -W -b man doc/source doc/build/man
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/cinder %{buildroot}%{_bindir}/cinder-%{python3_version}
ln -s ./cinder-%{python3_version} %{buildroot}%{_bindir}/cinder-3
# Delete tests
rm -fr %{buildroot}%{python3_sitelib}/cinderclient/tests
%endif
%py2_install
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
mv %{buildroot}%{_bindir}/cinder %{buildroot}%{_bindir}/cinder-%{python2_version}
ln -s ./cinder-%{python2_version} %{buildroot}%{_bindir}/cinder-2
# Delete tests
rm -fr %{buildroot}%{python2_sitelib}/cinderclient/tests
ln -s ./cinder-2 %{buildroot}%{_bindir}/cinder
install -p -D -m 644 tools/cinder.bash_completion %{buildroot}%{_sysconfdir}/bash_completion.d/cinder.bash_completion
install -p -D -m 644 doc/build/man/cinder.1 %{buildroot}%{_mandir}/man1/cinder.1
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{_bindir}/cinder
%{_bindir}/cinder-2*
%{python2_sitelib}/cinderclient
%{python2_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d/cinder.bash_completion
%{_mandir}/man1/cinder.1*
%if 0%{?with_python3}
%files -n python3-%{sname}
%doc README.rst
%license LICENSE
%{_bindir}/cinder-3*
%{python3_sitelib}/cinderclient
%{python3_sitelib}/*.egg-info
%endif
%files doc
%doc doc/build/html
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 4.0.1-1
- Update to 4.0.1

View File

@ -1,166 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname cinderclient
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
Client library (cinderclient python module) and command line utility \
(cinder) for interacting with OpenStack Cinder (Block Storage) API.
Name: python-cinderclient
Version: 4.0.1
Release: 1%{?dist}
Summary: Python API and CLI for OpenStack Cinder
License: ASL 2.0
URL: http://github.com/openstack/python-cinderclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{upstream_version}.tar.gz
BuildArch: noarch
BuildRequires: git
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python API and CLI for OpenStack Cinder
%{?python_provide:%python_provide python2-%{sname}}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pbr
%if 0%{?fedora} > 0
BuildRequires: python2-d2to1
%else
BuildRequires: python-d2to1
%endif
Requires: python2-babel
Requires: python2-pbr
Requires: python2-prettytable
Requires: python2-requests
Requires: python2-six
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-utils >= 3.33.0
%if 0%{?fedora} > 0
Requires: python2-simplejson
%else
Requires: python-simplejson
%endif
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python API and CLI for OpenStack Cinder
%{?python_provide:%python_provide python3-%{sname}}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
BuildRequires: python3-d2to1
Requires: python3-babel
Requires: python3-pbr
Requires: python3-prettytable
Requires: python3-requests
Requires: python3-setuptools
Requires: python3-simplejson
Requires: python3-six
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-utils >= 3.33.0
%description -n python3-%{sname}
%{common_desc}
%endif
%package doc
Summary: Documentation for OpenStack Cinder API Client
Group: Documentation
BuildRequires: python-reno
BuildRequires: python-sphinx
BuildRequires: python-openstackdocstheme
%description doc
%{common_desc}
This package contains auto-generated documentation.
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# Remove bundled egg-info
rm -rf python_cinderclient.egg-info
# Let RPM handle the requirements
rm -f {,test-}requirements.txt
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif
sphinx-build -W -b html doc/source doc/build/html
sphinx-build -W -b man doc/source doc/build/man
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo
%install
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/cinder %{buildroot}%{_bindir}/cinder-%{python3_version}
ln -s ./cinder-%{python3_version} %{buildroot}%{_bindir}/cinder-3
# Delete tests
rm -fr %{buildroot}%{python3_sitelib}/cinderclient/tests
%endif
%py2_install
mv %{buildroot}%{_bindir}/cinder %{buildroot}%{_bindir}/cinder-%{python2_version}
ln -s ./cinder-%{python2_version} %{buildroot}%{_bindir}/cinder-2
# Delete tests
rm -fr %{buildroot}%{python2_sitelib}/cinderclient/tests
ln -s ./cinder-2 %{buildroot}%{_bindir}/cinder
install -p -D -m 644 tools/cinder.bash_completion %{buildroot}%{_sysconfdir}/bash_completion.d/cinder.bash_completion
install -p -D -m 644 doc/build/man/cinder.1 %{buildroot}%{_mandir}/man1/cinder.1
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{_bindir}/cinder
%{_bindir}/cinder-2*
%{python2_sitelib}/cinderclient
%{python2_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d/cinder.bash_completion
%{_mandir}/man1/cinder.1*
%if 0%{?with_python3}
%files -n python3-%{sname}
%doc README.rst
%license LICENSE
%{_bindir}/cinder-3*
%{python3_sitelib}/cinderclient
%{python3_sitelib}/*.egg-info
%endif
%files doc
%doc doc/build/html
%changelog
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 4.0.1-1
- Update to 4.0.1

View File

@ -1,8 +0,0 @@
BUILDER=loci
LABEL=stx-glance
PROJECT=glance
PROJECT_REPO=https://opendev.org/openstack/glance.git
PIP_PACKAGES="pycrypto python-swiftclient psutil pylint"
DIST_PACKAGES="postgresql-libs"
PROFILES="fluent glance ceph"

View File

@ -1,8 +0,0 @@
BUILDER=loci
LABEL=stx-glance
PROJECT=glance
PROJECT_REPO=https://opendev.org/openstack/glance.git
PROJECT_REF=stable/ussuri
PIP_PACKAGES="pycrypto python-swiftclient psutil pylint"
DIST_PACKAGES="postgresql-libs"
PROFILES="fluent glance ceph"

View File

@ -1,4 +0,0 @@
TAR_NAME=python-glanceclient
SRC_DIR="$CGCS_BASE/git/python-glanceclient"
TIS_BASE_SRCREV="2.17.0"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,209 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname glanceclient
%global with_doc 0
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
This is a client for the OpenStack Glance API. There's a Python API (the \
glanceclient module), and a command-line script (glance). Each implements \
100% of the OpenStack Glance API.
Name: python-glanceclient
Epoch: 1
Version: 2.17.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Python API and CLI for OpenStack Glance
License: ASL 2.0
URL: https://launchpad.net/python-glanceclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: git
BuildRequires: openstack-macros
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python API and CLI for OpenStack Glance
%{?python_provide:%python_provide python2-glanceclient}
BuildRequires: python2-devel
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python2-setuptools
BuildRequires: python2-pbr
Requires: python2-keystoneauth1 >= 3.6.2
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-pbr
Requires: python2-prettytable
Requires: python2-pyOpenSSL >= 17.1.0
Requires: python2-requests
Requires: python2-six >= 1.10.0
%if 0%{?fedora} || 0%{?rhel} > 7
Requires: python2-warlock
Requires: python2-wrapt
%else
Requires: python-warlock
Requires: python-wrapt
%endif
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python API and CLI for OpenStack Glance
%{?python_provide:%python_provide python3-glanceclient}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
Requires: python3-keystoneauth1 >= 3.6.2
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-pbr
Requires: python3-prettytable
Requires: python3-pyOpenSSL >= 17.1.0
Requires: python3-requests
Requires: python3-six >= 1.10.0
Requires: python3-warlock
Requires: python3-wrapt
%description -n python3-%{sname}
%{common_desc}
%endif
%if 0%{?with_doc}
%package doc
Summary: Documentation for OpenStack Glance API Client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-keystoneauth1
BuildRequires: python2-oslo-utils
BuildRequires: python2-prettytable
BuildRequires: python2-pyOpenSSL >= 17.1.0
BuildRequires: python2-sphinxcontrib-apidoc
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: python2-warlock
%else
BuildRequires: python-warlock
%endif
%description doc
%{common_desc}
This package contains auto-generated documentation.
%endif
%prep
%autosetup -n %{name}-%{upstream_version} -S git
%py_req_cleanup
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/glance %{buildroot}%{_bindir}/glance-%{python3_version}
ln -s ./glance-%{python3_version} %{buildroot}%{_bindir}/glance-3
# Delete tests
rm -fr %{buildroot}%{python3_sitelib}/glanceclient/tests
%endif
%py2_install
mv %{buildroot}%{_bindir}/glance %{buildroot}%{_bindir}/glance-%{python2_version}
ln -s ./glance-%{python2_version} %{buildroot}%{_bindir}/glance-2
ln -s ./glance-2 %{buildroot}%{_bindir}/glance
mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d
install -pm 644 tools/glance.bash_completion \
%{buildroot}%{_sysconfdir}/bash_completion.d/glance
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
# Delete tests
rm -fr %{buildroot}%{python2_sitelib}/glanceclient/tests
%if 0%{?with_doc}
# generate html docs
sphinx-build -b html doc/source doc/build/html
# remove the sphinx-build leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
# generate man page
sphinx-build -b man doc/source doc/build/man
install -p -D -m 644 doc/build/man/glance.1 %{buildroot}%{_mandir}/man1/glance.1
%endif
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{python2_sitelib}/glanceclient
%{python2_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%if 0%{?with_doc}
%{_mandir}/man1/glance.1.gz
%endif
%{_bindir}/glance
%{_bindir}/glance-2
%{_bindir}/glance-%{python2_version}
%if 0%{?with_python3}
%files -n python3-%{sname}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{sname}
%{python3_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%{_mandir}/man1/glance.1.gz
%{_bindir}/glance-3
%{_bindir}/glance-%{python3_version}
%endif
%if 0%{?with_doc}
%files doc
%doc doc/build/html
%license LICENSE
%endif
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Wed Dec 19 2018 RDO <dev@lists.rdoproject.org> 1:2.13.1-1
- Update to 2.13.1
* Mon Nov 05 2018 RDO <dev@lists.rdoproject.org> 1:2.13.0-1
- Update to 2.13.0
* Wed Aug 08 2018 RDO <dev@lists.rdoproject.org> 1:2.12.1-1
- Update to 2.12.1

View File

@ -1,190 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname glanceclient
%global with_doc 1
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
This is a client for the OpenStack Glance API. There's a Python API (the \
glanceclient module), and a command-line script (glance). Each implements \
100% of the OpenStack Glance API.
Name: python-glanceclient
Epoch: 1
Version: 2.13.1
Release: 1%{?dist}
Summary: Python API and CLI for OpenStack Glance
License: ASL 2.0
URL: https://launchpad.net/python-glanceclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: git
BuildRequires: openstack-macros
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python API and CLI for OpenStack Glance
%{?python_provide:%python_provide python2-glanceclient}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pbr
Requires: python2-keystoneauth1 >= 3.6.2
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-pbr
Requires: python2-prettytable
Requires: python2-pyOpenSSL >= 17.1.0
Requires: python2-requests
Requires: python2-six >= 1.10.0
%if 0%{?fedora} || 0%{?rhel} > 7
Requires: python2-warlock
Requires: python2-wrapt
%else
Requires: python-warlock
Requires: python-wrapt
%endif
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python API and CLI for OpenStack Glance
%{?python_provide:%python_provide python3-glanceclient}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
Requires: python3-keystoneauth1 >= 3.6.2
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-pbr
Requires: python3-prettytable
Requires: python3-pyOpenSSL >= 17.1.0
Requires: python3-requests
Requires: python3-six >= 1.10.0
Requires: python3-warlock
Requires: python3-wrapt
%description -n python3-%{sname}
%{common_desc}
%endif
%if 0%{?with_doc}
%package doc
Summary: Documentation for OpenStack Glance API Client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-keystoneauth1
BuildRequires: python2-oslo-utils
BuildRequires: python2-prettytable
BuildRequires: python2-pyOpenSSL >= 17.1.0
BuildRequires: python2-sphinxcontrib-apidoc
%if 0%{?fedora} || 0%{?rhel} > 7
BuildRequires: python2-warlock
%else
BuildRequires: python-warlock
%endif
%description doc
%{common_desc}
This package contains auto-generated documentation.
%endif
%prep
%autosetup -n %{name}-%{upstream_version} -S git
%py_req_cleanup
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif
%install
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/glance %{buildroot}%{_bindir}/glance-%{python3_version}
ln -s ./glance-%{python3_version} %{buildroot}%{_bindir}/glance-3
# Delete tests
rm -fr %{buildroot}%{python3_sitelib}/glanceclient/tests
%endif
%py2_install
mv %{buildroot}%{_bindir}/glance %{buildroot}%{_bindir}/glance-%{python2_version}
ln -s ./glance-%{python2_version} %{buildroot}%{_bindir}/glance-2
ln -s ./glance-2 %{buildroot}%{_bindir}/glance
mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d
install -pm 644 tools/glance.bash_completion \
%{buildroot}%{_sysconfdir}/bash_completion.d/glance
# Delete tests
rm -fr %{buildroot}%{python2_sitelib}/glanceclient/tests
%if 0%{?with_doc}
# generate html docs
sphinx-build -b html doc/source doc/build/html
# remove the sphinx-build leftovers
rm -rf doc/build/html/.{doctrees,buildinfo}
# generate man page
sphinx-build -b man doc/source doc/build/man
install -p -D -m 644 doc/build/man/glance.1 %{buildroot}%{_mandir}/man1/glance.1
%endif
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{python2_sitelib}/glanceclient
%{python2_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%if 0%{?with_doc}
%{_mandir}/man1/glance.1.gz
%endif
%{_bindir}/glance
%{_bindir}/glance-2
%{_bindir}/glance-%{python2_version}
%if 0%{?with_python3}
%files -n python3-%{sname}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{sname}
%{python3_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%{_mandir}/man1/glance.1.gz
%{_bindir}/glance-3
%{_bindir}/glance-%{python3_version}
%endif
%if 0%{?with_doc}
%files doc
%doc doc/build/html
%license LICENSE
%endif
%changelog
* Wed Dec 19 2018 RDO <dev@lists.rdoproject.org> 1:2.13.1-1
- Update to 2.13.1
* Mon Nov 05 2018 RDO <dev@lists.rdoproject.org> 1:2.13.0-1
- Update to 2.13.0
* Wed Aug 08 2018 RDO <dev@lists.rdoproject.org> 1:2.12.1-1
- Update to 2.12.1

View File

@ -1,12 +0,0 @@
BUILDER=loci
LABEL=stx-gnocchi
PROJECT=gnocchi
PROJECT_REPO=https://github.com/gnocchixyz/gnocchi.git
PIP_PACKAGES="pylint SQLAlchemy SQLAlchemy-Utils oslo.db keystonemiddleware gnocchiclient pymemcache psycopg2"
DIST_PACKAGES="python3-rados"
PROFILES="gnocchi apache"
CUSTOMIZATION="\
sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d/10-wsgi.conf && \
sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /etc/httpd/modules/ \
"

View File

@ -1,13 +0,0 @@
BUILDER=loci
LABEL=stx-gnocchi
PROJECT=gnocchi
PROJECT_REPO=https://github.com/gnocchixyz/gnocchi.git
PROJECT_REF=4.3.2
PIP_PACKAGES="pylint SQLAlchemy SQLAlchemy-Utils oslo.db keystonemiddleware gnocchiclient pymemcache psycopg2"
DIST_PACKAGES="python3-rados"
PROFILES="gnocchi apache"
CUSTOMIZATION="\
sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d/10-wsgi.conf && \
sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /etc/httpd/modules/ \
"

View File

@ -1,4 +0,0 @@
TAR_NAME=gnocchiclient
SRC_DIR=$CGCS_BASE/git/python-gnocchiclient
TIS_BASE_SRCREV="7.0.7"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,241 +0,0 @@
%{!?python2_shortver: %global python2_shortver %(%{__python2} -c 'import sys; print(str(sys.version_info.major) + "." + str(sys.version_info.minor))')}
%{!?python3_shortver: %global python3_shortver %(%{__python3} -c 'import sys; print(str(sys.version_info.major) + "." + str(sys.version_info.minor))')}
%global pypi_name gnocchiclient
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%if 0%{?fedora} >= 24
%global with_python3 1
%endif
%global common_desc \
This is a client library for Gnocchi built on the Gnocchi API. It \
provides a Python API (the gnocchiclient module) and a command-line tool.
Name: python-gnocchiclient
Version: 7.0.7
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Python API and CLI for OpenStack Gnocchi
License: ASL 2.0
URL: https://github.com/openstack/%{name}
Source0: https://pypi.io/packages/source/g/%{pypi_name}/%{pypi_name}-%{upstream_version}.tar.gz
# FIXME(jpena): remove this patch once a version > 7.0.1 is released
%if "%{version}" == "7.0.1"
Patch0001: 0001-Avoid-using-openstack-doc-tools.patch
%endif
BuildArch: noarch
%package -n python2-%{pypi_name}
Summary: Python API and CLI for OpenStack Gnocchi
%{?python_provide:%python_provide python2-gnocchiclient}
BuildRequires: python2-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python2-devel
BuildRequires: python2-pbr
BuildRequires: python2-tools
Requires: python2-cliff >= 2.10
Requires: python2-osc-lib >= 1.8.0
Requires: python2-keystoneauth1 >= 2.0.0
Requires: python2-six >= 1.10.0
Requires: python2-futurist
Requires: python2-ujson
Requires: python2-pbr
Requires: python2-iso8601
Requires: python2-dateutil
Requires: python2-debtcollector
%if 0%{?fedora} || 0%{?rhel} > 7
Requires: python2-monotonic
%else
Requires: python-monotonic
%endif
%description -n python2-%{pypi_name}
%{common_desc}
%package -n python-%{pypi_name}-doc
Summary: Documentation for OpenStack Gnocchi API Client
Group: Documentation
BuildRequires: python2-sphinx
BuildRequires: python2-cliff >= 2.10
BuildRequires: python2-keystoneauth1
BuildRequires: python2-six
BuildRequires: python2-futurist
BuildRequires: python2-ujson
BuildRequires: python2-sphinx_rtd_theme
# test
BuildRequires: python2-babel
# Runtime requirements needed during documentation build
BuildRequires: python2-osc-lib
BuildRequires: python2-dateutil
%description doc
%{common_desc}
This package contains auto-generated documentation.
%package -n python2-%{pypi_name}-tests
Summary: Python API and CLI for OpenStack Gnocchi Tests
Requires: python2-%{pypi_name} = %{version}-%{release}
%description -n python2-%{pypi_name}-tests
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{pypi_name}
Summary: Python API and CLI for OpenStack Gnocchi
%{?python_provide:%python_provide python3-%{pypi_name}}
BuildRequires: python3-devel
BuildRequires: python3-pbr
BuildRequires: python3-setuptools
BuildRequires: python3-tools
Requires: python3-cliff >= 2.10
Requires: python3-osc-lib >= 1.8.0
Requires: python3-keystoneauth1 >= 2.0.0
Requires: python3-six >= 1.10.0
Requires: python3-futurist
Requires: python3-ujson
Requires: python3-pbr
Requires: python3-monotonic
Requires: python3-iso8601
Requires: python3-dateutil
Requires: python3-debtcollector
%description -n python3-%{pypi_name}
%{common_desc}
%package -n python3-%{pypi_name}-tests
Summary: Python API and CLI for OpenStack Gnocchi Tests
Requires: python3-%{pypi_name} = %{version}-%{release}
%description -n python3-%{pypi_name}-tests
%{common_desc}
%endif
%description
%{common_desc}
%prep
%autosetup -p1 -n %{pypi_name}-%{upstream_version}
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
2to3 --write --nobackups %{py3dir}
%endif
# Remove bundled egg-info
rm -rf gnocchiclient.egg-info
# Let RPM handle the requirements
rm -f {,test-}requirements.txt
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
pushd %{py3dir}
LANG=en_US.UTF-8 %{__python3} setup.py build
popd
%endif
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
pushd %{py3dir}
LANG=en_US.UTF-8 %{__python3} setup.py install --skip-build --root %{buildroot}
mv %{buildroot}%{_bindir}/gnocchi %{buildroot}%{_bindir}/python3-gnocchi
popd
%endif
%{__python2} setup.py install --skip-build --root %{buildroot}
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
# rename binaries, make compat symlinks
install -m 755 -d %{buildroot}/%{_bindir}
pushd %{buildroot}%{_bindir}
for i in gnocchi-{2,%{?python2_shortver}}; do
ln -s gnocchi $i
done
%if 0%{?with_python3}
for i in gnocchi-{3,%{?python3_shortver}}; do
ln -s python3-gnocchi $i
done
%endif
popd
# Some env variables required to successfully build our doc
export PYTHONPATH=.
export LANG=en_US.utf8
python setup.py build_sphinx -b html
# Fix hidden-file-or-dir warnings
rm -rf doc/build/html/.doctrees doc/build/html/.buildinfo
%files -n python2-%{pypi_name}
%doc README.rst
%license LICENSE
%{_bindir}/gnocchi
%{_bindir}/gnocchi-2*
%{python2_sitelib}/gnocchiclient
%{python2_sitelib}/*.egg-info
%exclude %{python2_sitelib}/gnocchiclient/tests
%files -n python2-%{pypi_name}-tests
%license LICENSE
%{python2_sitelib}/gnocchiclient/tests
%if 0%{?with_python3}
%files -n python3-%{pypi_name}
%doc README.rst
%license LICENSE
%{_bindir}/python3-gnocchi
%{_bindir}/gnocchi-3*
%{python3_sitelib}/gnocchiclient
%{python3_sitelib}/*.egg-info
%exclude %{python3_sitelib}/gnocchiclient/tests
%files -n python3-%{pypi_name}-tests
%license LICENSE
%{python3_sitelib}/gnocchiclient/tests
%endif
%files -n python-%{pypi_name}-doc
%doc doc/build/html
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 7.0.4-1
- Update to 7.0.4

View File

@ -1,220 +0,0 @@
%{!?python2_shortver: %global python2_shortver %(%{__python2} -c 'import sys; print(str(sys.version_info.major) + "." + str(sys.version_info.minor))')}
%{!?python3_shortver: %global python3_shortver %(%{__python3} -c 'import sys; print(str(sys.version_info.major) + "." + str(sys.version_info.minor))')}
%global pypi_name gnocchiclient
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%if 0%{?fedora} >= 24
%global with_python3 1
%endif
%global common_desc \
This is a client library for Gnocchi built on the Gnocchi API. It \
provides a Python API (the gnocchiclient module) and a command-line tool.
Name: python-gnocchiclient
Version: 7.0.4
Release: 1%{?dist}
Summary: Python API and CLI for OpenStack Gnocchi
License: ASL 2.0
URL: https://github.com/openstack/%{name}
Source0: https://pypi.io/packages/source/g/%{pypi_name}/%{pypi_name}-%{upstream_version}.tar.gz
# FIXME(jpena): remove this patch once a version > 7.0.1 is released
%if "%{version}" == "7.0.1"
Patch0001: 0001-Avoid-using-openstack-doc-tools.patch
%endif
BuildArch: noarch
%package -n python2-%{pypi_name}
Summary: Python API and CLI for OpenStack Gnocchi
%{?python_provide:%python_provide python2-gnocchiclient}
BuildRequires: python2-setuptools
BuildRequires: python2-devel
BuildRequires: python2-pbr
BuildRequires: python2-tools
Requires: python2-cliff >= 2.10
Requires: python2-osc-lib >= 1.8.0
Requires: python2-keystoneauth1 >= 2.0.0
Requires: python2-six >= 1.10.0
Requires: python2-futurist
Requires: python2-ujson
Requires: python2-pbr
Requires: python2-iso8601
Requires: python2-dateutil
Requires: python2-debtcollector
%if 0%{?fedora} || 0%{?rhel} > 7
Requires: python2-monotonic
%else
Requires: python-monotonic
%endif
%description -n python2-%{pypi_name}
%{common_desc}
%package -n python-%{pypi_name}-doc
Summary: Documentation for OpenStack Gnocchi API Client
Group: Documentation
BuildRequires: python2-sphinx
BuildRequires: python2-cliff >= 2.10
BuildRequires: python2-keystoneauth1
BuildRequires: python2-six
BuildRequires: python2-futurist
BuildRequires: python2-ujson
BuildRequires: python2-sphinx_rtd_theme
# test
BuildRequires: python2-babel
# Runtime requirements needed during documentation build
BuildRequires: python2-osc-lib
BuildRequires: python2-dateutil
%description doc
%{common_desc}
This package contains auto-generated documentation.
%package -n python2-%{pypi_name}-tests
Summary: Python API and CLI for OpenStack Gnocchi Tests
Requires: python2-%{pypi_name} = %{version}-%{release}
%description -n python2-%{pypi_name}-tests
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{pypi_name}
Summary: Python API and CLI for OpenStack Gnocchi
%{?python_provide:%python_provide python3-%{pypi_name}}
BuildRequires: python3-devel
BuildRequires: python3-pbr
BuildRequires: python3-setuptools
BuildRequires: python3-tools
Requires: python3-cliff >= 2.10
Requires: python3-osc-lib >= 1.8.0
Requires: python3-keystoneauth1 >= 2.0.0
Requires: python3-six >= 1.10.0
Requires: python3-futurist
Requires: python3-ujson
Requires: python3-pbr
Requires: python3-monotonic
Requires: python3-iso8601
Requires: python3-dateutil
Requires: python3-debtcollector
%description -n python3-%{pypi_name}
%{common_desc}
%package -n python3-%{pypi_name}-tests
Summary: Python API and CLI for OpenStack Gnocchi Tests
Requires: python3-%{pypi_name} = %{version}-%{release}
%description -n python3-%{pypi_name}-tests
%{common_desc}
%endif
%description
%{common_desc}
%prep
%autosetup -p1 -n %{pypi_name}-%{upstream_version}
%if 0%{?with_python3}
rm -rf %{py3dir}
cp -a . %{py3dir}
2to3 --write --nobackups %{py3dir}
%endif
# Remove bundled egg-info
rm -rf gnocchiclient.egg-info
# Let RPM handle the requirements
rm -f {,test-}requirements.txt
%build
%py2_build
%if 0%{?with_python3}
pushd %{py3dir}
LANG=en_US.UTF-8 %{__python3} setup.py build
popd
%endif
%install
%if 0%{?with_python3}
pushd %{py3dir}
LANG=en_US.UTF-8 %{__python3} setup.py install --skip-build --root %{buildroot}
mv %{buildroot}%{_bindir}/gnocchi %{buildroot}%{_bindir}/python3-gnocchi
popd
%endif
%{__python2} setup.py install --skip-build --root %{buildroot}
# rename binaries, make compat symlinks
install -m 755 -d %{buildroot}/%{_bindir}
pushd %{buildroot}%{_bindir}
for i in gnocchi-{2,%{?python2_shortver}}; do
ln -s gnocchi $i
done
%if 0%{?with_python3}
for i in gnocchi-{3,%{?python3_shortver}}; do
ln -s python3-gnocchi $i
done
%endif
popd
# Some env variables required to successfully build our doc
export PYTHONPATH=.
export LANG=en_US.utf8
python setup.py build_sphinx -b html
# Fix hidden-file-or-dir warnings
rm -rf doc/build/html/.doctrees doc/build/html/.buildinfo
%files -n python2-%{pypi_name}
%doc README.rst
%license LICENSE
%{_bindir}/gnocchi
%{_bindir}/gnocchi-2*
%{python2_sitelib}/gnocchiclient
%{python2_sitelib}/*.egg-info
%exclude %{python2_sitelib}/gnocchiclient/tests
%files -n python2-%{pypi_name}-tests
%license LICENSE
%{python2_sitelib}/gnocchiclient/tests
%if 0%{?with_python3}
%files -n python3-%{pypi_name}
%doc README.rst
%license LICENSE
%{_bindir}/python3-gnocchi
%{_bindir}/gnocchi-3*
%{python3_sitelib}/gnocchiclient
%{python3_sitelib}/*.egg-info
%exclude %{python3_sitelib}/gnocchiclient/tests
%files -n python3-%{pypi_name}-tests
%license LICENSE
%{python3_sitelib}/gnocchiclient/tests
%endif
%files -n python-%{pypi_name}-doc
%doc doc/build/html
%changelog
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 7.0.4-1
- Update to 7.0.4

View File

@ -1,7 +0,0 @@
BUILDER=loci
LABEL=stx-heat
PROJECT=heat
PROJECT_REPO=https://opendev.org/openstack/heat.git
PIP_PACKAGES="pycrypto pylint"
PROFILES="fluent heat apache"

View File

@ -1,7 +0,0 @@
BUILDER=loci
LABEL=stx-heat
PROJECT=heat
PROJECT_REPO=https://opendev.org/openstack/heat.git
PROJECT_REF=stable/ussuri
PIP_PACKAGES="pycrypto pylint"
PROFILES="fluent heat apache"

View File

@ -1,5 +0,0 @@
TAR_NAME=python-heatclient
SRC_DIR=$CGCS_BASE/git/python-heatclient
TIS_BASE_SRCREV="1.18.0"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,218 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname heatclient
%global with_doc 0
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
This is a client for the OpenStack Heat API. There's a Python API (the \
heatclient module), and a command-line script (heat). Each implements 100% of \
the OpenStack Heat API.
Name: python-heatclient
Version: 1.18.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Python API and CLI for OpenStack Heat
License: ASL 2.0
URL: https://launchpad.net/python-heatclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{upstream_version}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python API and CLI for OpenStack Heat
%{?python_provide:%python_provide python2-heatclient}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python2-pbr
BuildRequires: git
Requires: python2-babel
Requires: python2-iso8601
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-osc-lib >= 1.8.0
Requires: python2-prettytable
Requires: python2-pbr
Requires: python2-six
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-swiftclient >= 3.2.0
Requires: python2-requests
Requires: python2-cliff
%if 0%{?fedora} > 0
Requires: python2-pyyaml
%else
Requires: PyYAML
%endif
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python API and CLI for OpenStack Heat
%{?python_provide:%python_provide python3-heatclient}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
Requires: python3-babel
Requires: python3-cliff
Requires: python3-iso8601
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-osc-lib >= 1.8.0
Requires: python3-prettytable
Requires: python3-pbr
Requires: python3-six
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-swiftclient >= 3.2.0
Requires: python3-requests
Requires: python3-PyYAML
%description -n python3-%{sname}
%{common_desc}
%endif
%if 0%{?with_doc}
%package doc
Summary: Documentation for OpenStack Heat API Client
BuildRequires: python2-sphinx
BuildRequires: python2-sphinxcontrib-apidoc
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-babel
BuildRequires: python2-iso8601
BuildRequires: python2-keystoneauth1
BuildRequires: python2-osc-lib
BuildRequires: python2-prettytable
BuildRequires: python2-pbr
BuildRequires: python2-six
BuildRequires: python2-oslo-serialization
BuildRequires: python2-oslo-utils
BuildRequires: python2-oslo-i18n
BuildRequires: python2-swiftclient
BuildRequires: python2-requests
BuildRequires: python2-cliff
%description doc
%{common_desc}
This package contains auto-generated documentation.
%endif
%prep
%autosetup -n %{name}-%{upstream_version} -S git
rm -rf {test-,}requirements.txt tools/{pip,test}-requires
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
echo "%{version}" > %{buildroot}%{python3_sitelib}/heatclient/versioninfo
mv %{buildroot}%{_bindir}/heat %{buildroot}%{_bindir}/heat-%{python3_version}
ln -s ./heat-%{python3_version} %{buildroot}%{_bindir}/heat-3
# Delete tests
rm -fr %{buildroot}%{python3_sitelib}/heatclient/tests
%endif
%py2_install
echo "%{version}" > %{buildroot}%{python2_sitelib}/heatclient/versioninfo
mv %{buildroot}%{_bindir}/heat %{buildroot}%{_bindir}/heat-%{python2_version}
ln -s ./heat-%{python2_version} %{buildroot}%{_bindir}/heat-2
ln -s ./heat-2 %{buildroot}%{_bindir}/heat
mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d
install -pm 644 tools/heat.bash_completion \
%{buildroot}%{_sysconfdir}/bash_completion.d/heat
# Delete tests
rm -fr %{buildroot}%{python2_sitelib}/heatclient/tests
%if 0%{?with_doc}
export PYTHONPATH=.
sphinx-build -W -b html doc/source doc/build/html
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo
# generate man page
sphinx-build -W -b man doc/source doc/build/man
install -p -D -m 644 doc/build/man/heat.1 %{buildroot}%{_mandir}/man1/heat.1
%endif
# STX: stage wheels
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{python2_sitelib}/heatclient
%{python2_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%if 0%{?with_doc}
%{_mandir}/man1/heat.1.gz
%endif
%{_bindir}/heat
%{_bindir}/heat-2
%{_bindir}/heat-%{python2_version}
%if 0%{?with_python3}
%files -n python3-%{sname}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{sname}
%{python3_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%if 0%{?with_doc}
%{_mandir}/man1/heat.1.gz
%endif
%{_bindir}/heat-3
%{_bindir}/heat-%{python3_version}
%endif
%if 0%{?with_doc}
%files doc
%doc doc/build/html
%license LICENSE
%endif
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Fri Aug 10 2018 RDO <dev@lists.rdoproject.org> 1.16.1-1
- Update to 1.16.1

View File

@ -1,185 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname heatclient
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
This is a client for the OpenStack Heat API. There's a Python API (the \
heatclient module), and a command-line script (heat). Each implements 100% of \
the OpenStack Heat API.
Name: python-heatclient
Version: 1.16.1
Release: 1%{?dist}
Summary: Python API and CLI for OpenStack Heat
License: ASL 2.0
URL: https://launchpad.net/python-heatclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{upstream_version}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python API and CLI for OpenStack Heat
%{?python_provide:%python_provide python2-heatclient}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pbr
BuildRequires: git
Requires: python2-babel
Requires: python2-iso8601
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-osc-lib >= 1.8.0
Requires: python2-prettytable
Requires: python2-pbr
Requires: python2-six
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-swiftclient >= 3.2.0
Requires: python2-requests
Requires: python2-cliff
%if 0%{?fedora} > 0
Requires: python2-pyyaml
%else
Requires: PyYAML
%endif
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python API and CLI for OpenStack Heat
%{?python_provide:%python_provide python3-heatclient}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
Requires: python3-babel
Requires: python3-cliff
Requires: python3-iso8601
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-osc-lib >= 1.8.0
Requires: python3-prettytable
Requires: python3-pbr
Requires: python3-six
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-swiftclient >= 3.2.0
Requires: python3-requests
Requires: python3-PyYAML
%description -n python3-%{sname}
%{common_desc}
%endif
%package doc
Summary: Documentation for OpenStack Heat API Client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-babel
BuildRequires: python2-iso8601
BuildRequires: python2-keystoneauth1
BuildRequires: python2-osc-lib
BuildRequires: python2-prettytable
BuildRequires: python2-pbr
BuildRequires: python2-six
BuildRequires: python2-oslo-serialization
BuildRequires: python2-oslo-utils
BuildRequires: python2-oslo-i18n
BuildRequires: python2-swiftclient
BuildRequires: python2-requests
BuildRequires: python2-cliff
%description doc
%{common_desc}
This package contains auto-generated documentation.
%prep
%autosetup -n %{name}-%{upstream_version} -S git
rm -rf {test-,}requirements.txt tools/{pip,test}-requires
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif
%install
%if 0%{?with_python3}
%py3_install
echo "%{version}" > %{buildroot}%{python3_sitelib}/heatclient/versioninfo
mv %{buildroot}%{_bindir}/heat %{buildroot}%{_bindir}/heat-%{python3_version}
ln -s ./heat-%{python3_version} %{buildroot}%{_bindir}/heat-3
# Delete tests
rm -fr %{buildroot}%{python3_sitelib}/heatclient/tests
%endif
%py2_install
echo "%{version}" > %{buildroot}%{python2_sitelib}/heatclient/versioninfo
mv %{buildroot}%{_bindir}/heat %{buildroot}%{_bindir}/heat-%{python2_version}
ln -s ./heat-%{python2_version} %{buildroot}%{_bindir}/heat-2
ln -s ./heat-2 %{buildroot}%{_bindir}/heat
mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d
install -pm 644 tools/heat.bash_completion \
%{buildroot}%{_sysconfdir}/bash_completion.d/heat
# Delete tests
rm -fr %{buildroot}%{python2_sitelib}/heatclient/tests
export PYTHONPATH=.
sphinx-build -W -b html doc/source doc/build/html
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo
# generate man page
sphinx-build -W -b man doc/source doc/build/man
install -p -D -m 644 doc/build/man/heat.1 %{buildroot}%{_mandir}/man1/heat.1
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{python2_sitelib}/heatclient
%{python2_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%{_mandir}/man1/heat.1.gz
%{_bindir}/heat
%{_bindir}/heat-2
%{_bindir}/heat-%{python2_version}
%if 0%{?with_python3}
%files -n python3-%{sname}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{sname}
%{python3_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%{_mandir}/man1/heat.1.gz
%{_bindir}/heat-3
%{_bindir}/heat-%{python3_version}
%endif
%files doc
%doc doc/build/html
%license LICENSE
%changelog
* Fri Aug 10 2018 RDO <dev@lists.rdoproject.org> 1.16.1-1
- Update to 1.16.1

View File

@ -1,5 +0,0 @@
TAR_NAME=horizon
SRC_DIR="$CGCS_BASE/git/horizon"
COPY_LIST="$FILES_BASE/*"
TIS_BASE_SRCREV=817ee34d5a57409dc9945e6151a43d6747e5cc02
TIS_PATCH_VER=PKG_GITREVCOUNT

View File

@ -1,27 +0,0 @@
From 0887c59ddffa53a8816e7a30f85fa49bdfce1881 Mon Sep 17 00:00:00 2001
From: Andy Ning <andy.ning@windriver.com>
Date: Thu, 30 Apr 2020 11:45:55 -0400
Subject: [PATCH] Remove-the-hard-coded-internal-URL-for-keystone
Signed-off-by: Andy Ning <andy.ning@windriver.com>
---
openstack_dashboard/api/keystone.py | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/openstack_dashboard/api/keystone.py b/openstack_dashboard/api/keystone.py
index af3d779..e4a9ef7 100644
--- a/openstack_dashboard/api/keystone.py
+++ b/openstack_dashboard/api/keystone.py
@@ -79,7 +79,8 @@ class Service(base.APIDictWrapper):
super(Service, self).__init__(service, *args, **kwargs)
self.public_url = base.get_url_for_service(service, region,
'publicURL')
- self.url = base.get_url_for_service(service, region, 'internalURL')
+ ep_type = getattr(settings, 'OPENSTACK_ENDPOINT_TYPE', 'internalURL')
+ self.url = base.get_url_for_service(service, region, ep_type)
if self.url:
self.host = urlparse.urlparse(self.url).hostname
else:
--
1.8.3.1

View File

@ -1,159 +0,0 @@
From 245e2b9b2f18e316410067804c48ae63b0f20320 Mon Sep 17 00:00:00 2001
From: Takamsa Takenaka <takamasa.takenaka@windriver.com>
Date: Fri, 12 Nov 2021 12:17:19 -0500
Subject: [PATCH] Use policy_rules for user role assignment and group tabs
This patch is ported from the following patches:
- https://review.opendev.org/c/openstack/horizon/+/775014
- https://review.opendev.org/c/openstack/horizon/+/783307
Signed-off-by: Takamsa Takenaka <takamasa.takenaka@windriver.com>
---
horizon/tabs/base.py | 14 +++++++--
horizon/test/unit/tabs/test_tabs.py | 30 +++++++++++++++++--
.../dashboards/identity/users/tabs.py | 2 ++
3 files changed, 40 insertions(+), 6 deletions(-)
diff --git a/horizon/tabs/base.py b/horizon/tabs/base.py
index 67847bf10..108d35eeb 100644
--- a/horizon/tabs/base.py
+++ b/horizon/tabs/base.py
@@ -26,6 +26,7 @@ from django.utils import module_loading
from horizon import exceptions
from horizon.utils import html
+from horizon.utils import settings as utils_settings
LOG = logging.getLogger(__name__)
@@ -310,8 +311,9 @@ class Tab(html.HTMLElement):
preload = True
_active = None
permissions = []
+ policy_rules = None
- def __init__(self, tab_group, request=None):
+ def __init__(self, tab_group, request=None, policy_rules=None):
super(Tab, self).__init__()
# Priority: constructor, class-defined, fallback
if not self.name:
@@ -325,6 +327,7 @@ class Tab(html.HTMLElement):
self._allowed = self.allowed(request) and (
self._has_permissions(request))
self._enabled = self.enabled(request)
+ self.policy_rules = policy_rules or []
def __repr__(self):
return "<%s: %s>" % (self.__class__.__name__, self.slug)
@@ -442,9 +445,14 @@ class Tab(html.HTMLElement):
Tab instances can override this method to specify conditions under
which this tab should not be shown at all by returning ``False``.
-
- The default behavior is to return ``True`` for all cases.
"""
+ if not self.policy_rules:
+ return True
+
+ policy_check = utils_settings.import_setting("POLICY_CHECK_FUNCTION")
+
+ if policy_check:
+ return policy_check(self.policy_rules, request)
return True
def post(self, request, *args, **kwargs):
diff --git a/horizon/test/unit/tabs/test_tabs.py b/horizon/test/unit/tabs/test_tabs.py
index 6c50e401b..358bf77c9 100644
--- a/horizon/test/unit/tabs/test_tabs.py
+++ b/horizon/test/unit/tabs/test_tabs.py
@@ -67,9 +67,16 @@ class TabDisallowed(BaseTestTab):
return False
+class TabWithPolicy(BaseTestTab):
+ slug = "tab_with_policy"
+ name = "tab only visible to admin"
+ template_name = "_tab.html"
+ policy_rules = (("compute", "role:admin"),)
+
+
class Group(horizon_tabs.TabGroup):
slug = "tab_group"
- tabs = (TabOne, TabDelayed, TabDisabled, TabDisallowed)
+ tabs = (TabOne, TabDelayed, TabDisabled, TabDisallowed, TabWithPolicy)
sticky = True
def tabs_not_available(self):
@@ -128,15 +135,19 @@ class TabWithTableView(horizon_tabs.TabbedTableView):
class TabTests(test.TestCase):
+ @override_settings(POLICY_CHECK_FUNCTION=lambda *args: True)
def test_tab_group_basics(self):
tg = Group(self.request)
# Test tab instantiation/attachment to tab group, and get_tabs method
tabs = tg.get_tabs()
# "tab_disallowed" should NOT be in this list.
+ # "tab_with_policy" should be present, since our policy check
+ # always passes
self.assertQuerysetEqual(tabs, ['<TabOne: tab_one>',
'<TabDelayed: tab_delayed>',
- '<TabDisabled: tab_disabled>'])
+ '<TabDisabled: tab_disabled>',
+ '<TabWithPolicy: tab_with_policy>'])
# Test get_id
self.assertEqual("tab_group", tg.get_id())
# get_default_classes
@@ -151,6 +162,19 @@ class TabTests(test.TestCase):
# Test get_selected_tab is None w/o GET input
self.assertIsNone(tg.get_selected_tab())
+ @override_settings(POLICY_CHECK_FUNCTION=lambda *args: False)
+ def test_failed_tab_policy(self):
+ tg = Group(self.request)
+
+ # Test tab instantiation/attachment to tab group, and get_tabs method
+ tabs = tg.get_tabs()
+ # "tab_disallowed" should NOT be in this list, it's not allowed
+ # "tab_with_policy" should also not be present as its
+ # policy check failed
+ self.assertQuerysetEqual(tabs, ['<TabOne: tab_one>',
+ '<TabDelayed: tab_delayed>',
+ '<TabDisabled: tab_disabled>'])
+
@test.update_settings(
HORIZON_CONFIG={'extra_tabs': {
'horizon.test.unit.tabs.test_tabs.GroupWithConfig': (
@@ -253,7 +277,7 @@ class TabTests(test.TestCase):
# tab group
output = tg.render()
res = http.HttpResponse(output.strip())
- self.assertContains(res, "<li", 3)
+ self.assertContains(res, "<li", 4)
# stickiness
self.assertContains(res, 'data-sticky-tabs="sticky"', 1)
diff --git a/openstack_dashboard/dashboards/identity/users/tabs.py b/openstack_dashboard/dashboards/identity/users/tabs.py
index bd47925a5..828bc51b1 100644
--- a/openstack_dashboard/dashboards/identity/users/tabs.py
+++ b/openstack_dashboard/dashboards/identity/users/tabs.py
@@ -91,6 +91,7 @@ class RoleAssignmentsTab(tabs.TableTab):
slug = "roleassignments"
template_name = "horizon/common/_detail_table.html"
preload = False
+ policy_rules = (("identity", "identity:list_role_assignments"),)
def get_roleassignmentstable_data(self):
user = self.tab_group.kwargs['user']
@@ -137,6 +138,7 @@ class GroupsTab(tabs.TableTab):
slug = "groups"
template_name = "horizon/common/_detail_table.html"
preload = False
+ policy_rules = (("identity", "identity:list_groups"),)
def get_groupstable_data(self):
user_groups = []
--
2.29.2

View File

@ -1,62 +0,0 @@
"""
Copyright (c) 2022-2023 Wind River Systems, Inc.
SPDX-License-Identifier: Apache-2.0
"""
import datetime
import fnmatch
import os
import resource
from django.conf import settings
errorlog = "/var/log/horizon/gunicorn.log"
capture_output = True
# maxrss ceiling in kbytes
MAXRSS_CEILING = 512000
def worker_abort(worker):
path = ("/proc/%s/fd") % os.getpid()
contents = os.listdir(path)
upload_dir = getattr(settings, 'FILE_UPLOAD_TEMP_DIR', '/tmp')
pattern = os.path.join(upload_dir, '*.upload')
for i in contents:
f = os.path.join(path, i)
if os.path.exists(f):
try:
link = os.readlink(f)
if fnmatch.fnmatch(link, pattern):
worker.log.info(link)
os.remove(link)
except OSError:
pass
def post_worker_init(worker):
worker.nrq = 0
worker.restart = False
def pre_request(worker, req):
worker.nrq += 1
if worker.restart:
worker.nr = worker.max_requests - 1
maxrss = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
msg = "%(date)s %(uri)s %(rss)u" % ({'date': datetime.datetime.now(),
'uri': getattr(req, "uri"),
'rss': maxrss})
worker.log.info(msg)
def post_request(worker, req, environ, resp):
worker.nrq -= 1
if not worker.restart:
maxrss = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss
if maxrss > MAXRSS_CEILING and worker.nrq == 0:
worker.restart = True

View File

@ -1,43 +0,0 @@
#!/bin/bash
#
# Copyright (c) 2017 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
PYTHON=`which python`
MANAGE="/usr/share/openstack-dashboard/manage.py"
STATICDIR="/var/www/pages/static"
BRANDDIR="/opt/branding"
APPLIEDDIR="/opt/branding/applied"
# Handle custom horizon branding
rm -rf ${APPLIEDDIR}
if ls ${BRANDDIR}/*.tgz 1> /dev/null 2>&1; then
LATESTBRANDING=$(ls $BRANDDIR |grep '\.tgz$' | tail -n 1)
mkdir -p ${APPLIEDDIR}
tar zxf ${BRANDDIR}/${LATESTBRANDING} -C ${APPLIEDDIR} 2>/dev/null 1>/dev/null
RETVAL=$?
if [ $RETVAL -ne 0 ]; then
echo "Failed to extract ${BRANDDIR}/${LATESTBRANDING}"
fi
fi
echo "Dumping static assets"
if [ -d ${STATICDIR} ]; then
COLLECTARGS=--clear
fi
${PYTHON} -- ${MANAGE} collectstatic -v0 --noinput ${COLLECTARGS}
RETVAL=$?
if [ $RETVAL -ne 0 ]; then
echo "Failed to dump static assets."
exit $RETVAL
fi
nice -n 20 ionice -c Idle ${PYTHON} -- ${MANAGE} compress -v0
RETVAL=$?
if [ $RETVAL -ne 0 ]; then
echo "Failed to compress assets."
exit $RETVAL
fi

View File

@ -1,3 +0,0 @@
#!/bin/bash
/usr/bin/nice -n 2 /usr/bin/python /usr/share/openstack-dashboard/manage.py clearsessions

View File

@ -1,80 +0,0 @@
#!/bin/bash
#
# Copyright (c) 2017 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
#
# The patching subsystem provides a patch-functions bash source file
# with useful function and variable definitions.
#
. /etc/patching/patch-functions
#
# We can now check to see what type of node we're on, if it's locked, etc,
# and act accordingly
#
#
# Declare an overall script return code
#
declare -i GLOBAL_RC=$PATCH_STATUS_OK
#
# handle restarting horizon.
#
if is_controller
then
# Horizon only runs on the controller
if [ ! -f $PATCH_FLAGDIR/horizon.restarted ]
then
# Check SM to see if Horizon is running
sm-query service horizon | grep -q 'enabled-active'
if [ $? -eq 0 ]
then
loginfo "$0: Logging out all horizon sessions"
# Remove sessions
rm -f /var/tmp/sessionid*
loginfo "$0: Restarting horizon"
# Ask SM to restart Horizon
sm-restart service horizon
touch $PATCH_FLAGDIR/horizon.restarted
# Wait up to 30 seconds for service to recover
let -i UNTIL=$SECONDS+30
while [ $UNTIL -ge $SECONDS ]
do
# Check to see if it's running
sm-query service horizon | grep -q 'enabled-active'
if [ $? -eq 0 ]
then
break
fi
# Still not running? Let's wait 5 seconds and check again
sleep 5
done
sm-query service horizon | grep -q 'enabled-active'
if [ $? -ne 0 ]
then
# Still not running! Clear the flag and mark the RC as failed
loginfo "$0: Failed to restart horizon"
rm -f $PATCH_FLAGDIR/horizon.restarted
GLOBAL_RC=$PATCH_STATUS_FAILED
sm-query service horizon
fi
fi
fi
fi
#
# Exit the script with the overall return code
#
exit $GLOBAL_RC

View File

@ -1,155 +0,0 @@
#!/bin/sh
### BEGIN INIT INFO
# Provides: OpenStack Dashboard
# Required-Start: networking
# Required-Stop: networking
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OpenStack Dashboard
# Description: Web based user interface to OpenStack services including
# Nova, Swift, Keystone, etc.
### END INIT INFO
RETVAL=0
DESC="openstack-dashboard"
PIDFILE="/var/run/$DESC.pid"
PYTHON=`which python`
# Centos packages openstack_dashboard under /usr/share
#MANAGE="@PYTHON_SITEPACKAGES@/openstack_dashboard/manage.py"
MANAGE="/usr/share/openstack-dashboard/manage.py"
EXEC="/usr/bin/gunicorn"
BIND="localhost"
PORT="8008"
WORKER="eventlet"
WORKERS=`grep workers /etc/openstack-dashboard/horizon-config.ini | cut -f3 -d' '`
# Increased timeout to facilitate large image uploads
TIMEOUT="200"
STATICDIR="/var/www/pages/static"
BRANDDIR="/opt/branding"
APPLIEDDIR="/opt/branding/applied"
TMPUPLOADDIR="/scratch/horizon"
source /usr/bin/tsconfig
start()
{
# Change workers if combined controller/compute
. /etc/platform/platform.conf
if [ "${WORKERS}" -lt "2" ]; then
WORKERS=2
fi
if [ -e $PIDFILE ]; then
PIDDIR=/proc/$(cat $PIDFILE)
if [ -d ${PIDDIR} ]; then
echo "$DESC already running."
return
else
echo "Removing stale PID file $PIDFILE"
rm -f $PIDFILE
fi
fi
# Clean up any possible orphaned worker threads
if lsof -t -i:${PORT} 1> /dev/null 2>&1; then
kill $(lsof -t -i:${PORT}) > /dev/null 2>&1
fi
rm -rf ${TMPUPLOADDIR}
mkdir -p ${TMPUPLOADDIR}
# extract branding file before server starts
/usr/bin/horizon-assets-compress
echo -n "Starting $DESC..."
start-stop-daemon --start --quiet --background --pidfile ${PIDFILE} \
--make-pidfile --exec ${PYTHON} -- ${EXEC} --preload --bind ${BIND}:${PORT} \
--worker-class ${WORKER} --workers ${WORKERS} --timeout ${TIMEOUT} \
--log-syslog \
--config '/usr/share/openstack-dashboard/guni_config.py' \
--pythonpath '/usr/share/openstack-dashboard' \
openstack_dashboard.wsgi
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo "done."
else
echo "failed."
fi
# now copy customer branding file to CONFIG_PATH/branding if anything updated
sm-query service drbd-platform | grep enabled-active > /dev/null 2>&1
IS_ACTIVE=$?
if ls ${BRANDDIR}/*.tgz 1> /dev/null 2>&1; then
LATESTBRANDING=$(ls $BRANDDIR |grep '\.tgz$' | tail -n 1)
if [ $IS_ACTIVE -eq 0 ]; then
# Only do the copy if the tarball has changed
if ! cmp --silent ${BRANDDIR}/${LATESTBRANDING} ${CONFIG_PATH}/branding/${LATESTBRANDING} ; then
mkdir -p ${CONFIG_PATH}/branding
rm -rf ${CONFIG_PATH}/branding/*.tgz
cp -r ${BRANDDIR}/${LATESTBRANDING} ${CONFIG_PATH}/branding
fi
fi
fi
# As part of starting horizon we should kill containerized horizon so that it
# will pickup branding changes
kubectl --kubeconfig=/etc/kubernetes/admin.conf delete pods -n openstack -l application=horizon 1>/dev/null
}
stop()
{
if [ ! -e $PIDFILE ]; then return; fi
echo -n "Stopping $DESC..."
start-stop-daemon --stop --quiet --pidfile $PIDFILE
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo "done."
else
echo "failed."
fi
rm -rf ${TMPUPLOADDIR}
rm -f $PIDFILE
}
status()
{
pid=`cat $PIDFILE 2>/dev/null`
if [ -n "$pid" ]; then
if ps -p $pid &> /dev/null ; then
echo "$DESC is running"
RETVAL=0
return
else
RETVAL=1
fi
fi
echo "$DESC is not running"
RETVAL=3
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload|reload)
stop
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|force-reload|restart|reload|status}"
RETVAL=1
;;
esac
exit $RETVAL

View File

@ -1,13 +0,0 @@
/var/log/horizon.log {
nodateext
size 10M
start 1
rotate 20
missingok
notifempty
compress
sharedscripts
postrotate
/etc/init.d/syslog reload > /dev/null 2>&1 || true
endscript
}

View File

@ -1,19 +0,0 @@
WSGIDaemonProcess dashboard
WSGIProcessGroup dashboard
WSGISocketPrefix run/wsgi
WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
Alias /dashboard/static /usr/share/openstack-dashboard/static
<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
Options All
AllowOverride All
Require all granted
</Directory>
<Directory /usr/share/openstack-dashboard/static>
Options All
AllowOverride All
Require all granted
</Directory>

View File

@ -1,32 +0,0 @@
# if you want logging to a separate file, please update your config
# according to the last 4 lines in this snippet, and also take care
# to introduce a <VirtualHost > directive.
#
WSGISocketPrefix run/wsgi
<VirtualHost *:80>
WSGIScriptAlias /dashboard /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
Alias /static /usr/share/openstack-dashboard/static
WSGIDaemonProcess dashboard
WSGIProcessGroup dashboard
#DocumentRoot %HORIZON_DIR%/.blackhole/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /usr/share/openstack-dashboard/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ErrorLog logs/openstack_dashboard_error.log
LogLevel warn
CustomLog logs/openstack_dashboard_access.log combined
</VirtualHost>

View File

@ -1,8 +0,0 @@
/var/log/horizon/*.log {
weekly
rotate 4
missingok
compress
minsize 100k
}

View File

@ -1,3 +0,0 @@
[Service]
ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py collectstatic --noinput --clear
ExecStartPre=/usr/bin/python /usr/share/openstack-dashboard/manage.py compress --force

View File

@ -1,538 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
Name: python-django-horizon
# Liberty semver reset
# https://review.openstack.org/#/q/I6a35fa0dda798fad93b804d00a46af80f08d475c,n,z
Epoch: 1
Version: 15.1.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Django application for talking to Openstack
Group: Development/Libraries
# Code in horizon/horizon/utils taken from django which is BSD
License: ASL 2.0 and BSD
URL: http://horizon.openstack.org/
Source0: horizon-%{version}.tar.gz
Source2: openstack-dashboard-httpd-2.4.conf
Source3: python-django-horizon-systemd.conf
# demo config for separate logging
Source4: openstack-dashboard-httpd-logging.conf
# logrotate config
Source5: python-django-horizon-logrotate.conf
# STX
Source7: horizon.init
Source8: horizon-clearsessions
Source11: horizon-patching-restart
Source13: guni_config.py
Source14: horizon-assets-compress
# Patches
Patch1: 0001-Remove-the-hard-coded-internal-URL-for-keystone.patch
Patch2: 0002-Use-policy_rules-for-user-role-assignment-and-group-tabs.patch
#
# BuildArch needs to be located below patches in the spec file. Don't ask!
#
BuildArch: noarch
BuildRequires: python-django
Requires: python-django
# STX
Requires: cgts-client
Requires: pytz
Requires: python-six >= 1.10.0
Requires: python-pbr
BuildRequires: python2-devel
BuildRequires: python-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python-pbr >= 2.0.0
BuildRequires: git
BuildRequires: python-six >= 1.10.0
BuildRequires: gettext
# for checks:
%if 0%{?rhel} == 0
BuildRequires: python-django-nose
BuildRequires: python-mox3
BuildRequires: python-nose-exclude
BuildRequires: python-nose
BuildRequires: python-selenium
%endif
BuildRequires: python-osprofiler
BuildRequires: python-netaddr
BuildRequires: python-anyjson
BuildRequires: python-iso8601
BuildRequires: python-pep8
# additional provides to be consistent with other django packages
Provides: django-horizon = %{epoch}:%{version}-%{release}
Obsoletes: python-django-openstack-auth < 4.0.0-1
Obsoletes: python2-django-openstack-auth < 4.0.0-1
# (TODO) remove following provides once the requirements have been fixed
# in all dashboard plugins
Provides: python-django-openstack-auth = %{epoch}:%{version}-%{release}
Provides: python2-django-openstack-auth = %{epoch}:%{version}-%{release}
%description
Horizon is a Django application for providing Openstack UI components.
It allows performing site administrator (viewing account resource usage,
configuring users, accounts, quotas, flavors, etc.) and end user
operations (start/stop/delete instances, create/restore snapshots, view
instance VNC console, etc.)
%package -n openstack-dashboard
Summary: Openstack web user interface reference implementation
Group: Applications/System
Requires: httpd
Requires: mod_wsgi
Requires: %{name} = %{epoch}:%{version}-%{release}
Requires: python2-django-compressor >= 2.0
Requires: python-django-appconf
Requires: python-django-babel
Requires: python-lesscpy
Requires: openstack-dashboard-theme >= %{epoch}:%{version}-%{release}
Requires: python2-iso8601
Requires: python2-glanceclient >= 1:2.8.0
Requires: python2-keystoneclient >= 1:3.15.0
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-novaclient >= 1:9.1.0
Requires: python2-neutronclient >= 6.7.0
Requires: python2-cinderclient >= 3.3.0
Requires: python2-swiftclient >= 3.2.0
Requires: python2-netaddr
Requires: python2-osprofiler >= 2.3.0
Requires: python-pymongo >= 3.0.2
Requires: python2-django-pyscss >= 2.0.2
Requires: python-semantic_version
Requires: python2-XStatic
Requires: python-XStatic-jQuery
Requires: python2-XStatic-Angular >= 1:1.5.8.0
Requires: python2-XStatic-Angular-Bootstrap
Requires: python2-XStatic-Angular-Schema-Form
Requires: python2-XStatic-D3
Requires: python2-XStatic-Font-Awesome
Requires: python-XStatic-Hogan
Requires: python-XStatic-JQuery-Migrate
Requires: python-XStatic-JQuery-TableSorter
Requires: python-XStatic-JQuery-quicksearch
Requires: python2-XStatic-JSEncrypt
Requires: python2-XStatic-Jasmine
Requires: python-XStatic-Rickshaw
Requires: python-XStatic-Spin
Requires: python-XStatic-jquery-ui
Requires: python-XStatic-Bootstrap-Datepicker
Requires: python2-XStatic-Bootstrap-SCSS >= 3.3.7.1
Requires: python2-XStatic-termjs
Requires: python2-XStatic-smart-table
Requires: python-XStatic-Angular-lrdragndrop
Requires: python2-XStatic-Angular-Gettext
Requires: python2-XStatic-Angular-FileUpload
Requires: python-XStatic-Magic-Search
Requires: python2-XStatic-bootswatch
Requires: python2-XStatic-roboto-fontface >= 0.5.0.0
Requires: python2-XStatic-mdi
Requires: python2-XStatic-objectpath
Requires: python2-XStatic-tv4
Requires: python2-django-debreach
Requires: python2-scss >= 1.3.4
Requires: fontawesome-fonts-web >= 4.1.0
Requires: python2-oslo-concurrency >= 3.26.0
Requires: python2-oslo-config >= 2:5.2.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-oslo-policy >= 1.30.0
Requires: python2-babel
Requires: python2-futurist
Requires: python-pint
Requires: openssl
Requires: logrotate
Requires: PyYAML >= 3.10
BuildRequires: python2-django-compressor >= 2.0
BuildRequires: python-django-appconf
BuildRequires: python-lesscpy
BuildRequires: python-semantic_version
BuildRequires: python2-django-pyscss >= 2.0.2
BuildRequires: python2-XStatic
BuildRequires: python-XStatic-jQuery
BuildRequires: python2-XStatic-Angular >= 1:1.5.8.0
BuildRequires: python2-XStatic-Angular-Bootstrap
BuildRequires: python2-XStatic-Angular-Schema-Form
BuildRequires: python2-XStatic-D3
BuildRequires: python2-XStatic-Font-Awesome
BuildRequires: python-XStatic-Hogan
BuildRequires: python-XStatic-JQuery-Migrate
BuildRequires: python-XStatic-JQuery-TableSorter
BuildRequires: python-XStatic-JQuery-quicksearch
BuildRequires: python2-XStatic-JSEncrypt
BuildRequires: python2-XStatic-Jasmine
BuildRequires: python-XStatic-Rickshaw
BuildRequires: python-XStatic-Spin
BuildRequires: python-XStatic-jquery-ui
BuildRequires: python-XStatic-Bootstrap-Datepicker
BuildRequires: python2-XStatic-Bootstrap-SCSS
BuildRequires: python2-XStatic-termjs
BuildRequires: python2-XStatic-smart-table
BuildRequires: python-XStatic-Angular-lrdragndrop
BuildRequires: python2-XStatic-Angular-FileUpload
BuildRequires: python-XStatic-Magic-Search
BuildRequires: python2-XStatic-Angular-Gettext
BuildRequires: python2-XStatic-bootswatch
BuildRequires: python2-XStatic-roboto-fontface
BuildRequires: python2-XStatic-mdi
BuildRequires: python2-XStatic-objectpath
BuildRequires: python2-XStatic-tv4
# bootstrap-scss requires at least python-scss >= 1.2.1
BuildRequires: python2-scss >= 1.3.4
BuildRequires: fontawesome-fonts-web >= 4.1.0
BuildRequires: python2-oslo-concurrency
BuildRequires: python2-oslo-config
BuildRequires: python2-oslo-i18n
BuildRequires: python2-oslo-serialization
BuildRequires: python2-oslo-utils
BuildRequires: python2-oslo-policy
BuildRequires: python2-babel
BuildRequires: python-pint
BuildRequires: pytz
BuildRequires: systemd
# STX
BuildRequires: systemd-devel
%description -n openstack-dashboard
Openstack Dashboard is a web user interface for Openstack. The package
provides a reference implementation using the Django Horizon project,
mostly consisting of JavaScript and CSS to tie it altogether as a standalone
site.
# Turn OFF sphinx documentation in STX environment
# Mock does not have /dev/log so sphinx-build will always fail
%if 0%{?with_doc}
%package doc
Summary: Documentation for Django Horizon
Group: Documentation
Requires: %{name} = %{epoch}:%{version}-%{release}
BuildRequires: python-sphinx >= 1.1.3
# Doc building basically means we have to mirror Requires:
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-glanceclient
BuildRequires: python2-keystoneclient
BuildRequires: python2-novaclient >= 1:9.1.0
BuildRequires: python2-neutronclient
BuildRequires: python2-cinderclient
BuildRequires: python2-swiftclient
%description doc
Documentation for the Django Horizon application for talking with Openstack
%endif
%package -n openstack-dashboard-theme
Summary: OpenStack web user interface reference implementation theme module
Requires: openstack-dashboard = %{epoch}:%{version}-%{release}
%description -n openstack-dashboard-theme
Customization module for OpenStack Dashboard to provide a branded logo.
%prep
%autosetup -n horizon-%{upstream_version} -S git
# STX remove troublesome files introduced by tox
rm -f openstack_dashboard/test/.secret_key_store
rm -f openstack_dashboard/test/*.secret_key_store.lock
rm -f openstack_dashboard/local/.secret_key_store
rm -f openstack_dashboard/local/*.secret_key_store.lock
rm -rf horizon.egg-info
# drop config snippet
cp -p %{SOURCE4} .
cp -p %{SOURCE13} .
# customize default settings
# WAS [PATCH] disable debug, move web root
sed -i "/^DEBUG =.*/c\DEBUG = False" openstack_dashboard/local/local_settings.py.example
sed -i "/^WEBROOT =.*/c\WEBROOT = '/dashboard/'" openstack_dashboard/local/local_settings.py.example
sed -i "/^.*ALLOWED_HOSTS =.*/c\ALLOWED_HOSTS = ['horizon.example.com', 'localhost']" openstack_dashboard/local/local_settings.py.example
sed -i "/^.*LOCAL_PATH =.*/c\LOCAL_PATH = '/tmp'" openstack_dashboard/local/local_settings.py.example
sed -i "/^.*POLICY_FILES_PATH =.*/c\POLICY_FILES_PATH = '/etc/openstack-dashboard'" openstack_dashboard/local/local_settings.py.example
sed -i "/^BIN_DIR = .*/c\BIN_DIR = '/usr/bin'" openstack_dashboard/settings.py
sed -i "/^COMPRESS_PARSER = .*/a COMPRESS_OFFLINE = True" openstack_dashboard/settings.py
# set COMPRESS_OFFLINE=True
sed -i 's:COMPRESS_OFFLINE.=.False:COMPRESS_OFFLINE = True:' openstack_dashboard/settings.py
# STX: MANIFEST needs .eslintrc files for angular
echo "include .eslintrc" >> MANIFEST.in
# MANIFEST needs to include json and pot files under openstack_dashboard
echo "recursive-include openstack_dashboard *.json *.pot .eslintrc" >> MANIFEST.in
# MANIFEST needs to include pot files under horizon
echo "recursive-include horizon *.pot .eslintrc" >> MANIFEST.in
%build
# compile message strings
cd horizon && django-admin compilemessages && cd ..
cd openstack_dashboard && django-admin compilemessages && cd ..
# Dist tarball is missing .mo files so they're not listed in distributed egg metadata.
# Removing egg-info and letting PBR regenerate it was working around that issue
# but PBR cannot regenerate complete SOURCES.txt so some other files wont't get installed.
# Further reading why not remove upstream egg metadata:
# https://github.com/emonty/python-oslo-messaging/commit/f632684eb2d582253601e8da7ffdb8e55396e924
# https://fedorahosted.org/fpc/ticket/488
# STX: 2 problems. 1 we dont have an egg yet. 2 there are no .mo files
#echo >> horizon.egg-info/SOURCES.txt
#ls */locale/*/LC_MESSAGES/django*mo >> horizon.egg-info/SOURCES.txt
export PBR_VERSION=%{version}
%{__python} setup.py build
# compress css, js etc.
cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py
# get it ready for compressing later in puppet-horizon
# STX: run compression on the controller
# STX: turn off compression because /dev/log does not exist in mock
#%{__python} manage.py collectstatic --noinput --clear
#%{__python} manage.py compress --force
%if 0%{?with_doc}
# build docs
export PYTHONPATH="$( pwd ):$PYTHONPATH"
sphinx-build -b html doc/source html
# undo hack
cp openstack_dashboard/local/local_settings.py.example openstack_dashboard/local/local_settings.py
# Fix hidden-file-or-dir warnings
rm -fr html/.doctrees html/.buildinfo
%endif
%py2_build_wheel
%install
export PBR_VERSION=%{version}
%{__python} setup.py install -O1 --skip-build --root %{buildroot}
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
# STX
install -d -m 755 %{buildroot}/opt/branding
mkdir -p %{buildroot}%{_sysconfdir}/rc.d/init.d
install -m 755 -D -p %{SOURCE7} %{buildroot}%{_sysconfdir}/rc.d/init.d/horizon
install -m 755 -D -p %{SOURCE8} %{buildroot}/%{_bindir}/horizon-clearsessions
install -m 755 -D -p %{SOURCE11} %{buildroot}/%{_bindir}/horizon-patching-restart
install -m 755 -D -p %{SOURCE14} %{buildroot}/%{_bindir}/horizon-assets-compress
# drop httpd-conf snippet
install -m 0644 -D -p %{SOURCE2} %{buildroot}%{_sysconfdir}/httpd/conf.d/openstack-dashboard.conf
install -d -m 755 %{buildroot}%{_datadir}/openstack-dashboard
install -d -m 755 %{buildroot}%{_sharedstatedir}/openstack-dashboard
install -d -m 755 %{buildroot}%{_sysconfdir}/openstack-dashboard
# create directory for systemd snippet
mkdir -p %{buildroot}%{_unitdir}/httpd.service.d/
cp %{SOURCE3} %{buildroot}%{_unitdir}/httpd.service.d/openstack-dashboard.conf
# Copy everything to /usr/share
mv %{buildroot}%{python_sitelib}/openstack_dashboard \
%{buildroot}%{_datadir}/openstack-dashboard
cp manage.py %{buildroot}%{_datadir}/openstack-dashboard
# STX
cp guni_config.py %{buildroot}%{_datadir}/openstack-dashboard
rm -rf %{buildroot}%{python_sitelib}/openstack_dashboard
# remove unnecessary .po files
find %{buildroot} -name django.po -exec rm '{}' \;
find %{buildroot} -name djangojs.po -exec rm '{}' \;
# Move config to /etc, symlink it back to /usr/share
mv %{buildroot}%{_datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.py.example %{buildroot}%{_sysconfdir}/openstack-dashboard/local_settings
# STX: we do not want to have this symlink, puppet will overwrite the content of local_settings
#ln -s ../../../../../%{_sysconfdir}/openstack-dashboard/local_settings %{buildroot}%{_datadir}/openstack-dashboard/openstack_dashboard/local/local_settings.py
mv %{buildroot}%{_datadir}/openstack-dashboard/openstack_dashboard/conf/*.json %{buildroot}%{_sysconfdir}/openstack-dashboard
mv %{buildroot}%{_datadir}/openstack-dashboard/openstack_dashboard/conf/nova_policy.d %{buildroot}%{_sysconfdir}/openstack-dashboard
%find_lang django --all-name
grep "\/usr\/share\/openstack-dashboard" django.lang > dashboard.lang
grep "\/site-packages\/horizon" django.lang > horizon.lang
# copy static files to %{_datadir}/openstack-dashboard/static
mkdir -p %{buildroot}%{_datadir}/openstack-dashboard/static
cp -a openstack_dashboard/static/* %{buildroot}%{_datadir}/openstack-dashboard/static
cp -a horizon/static/* %{buildroot}%{_datadir}/openstack-dashboard/static
# STX: there is no static folder, since compress step was skipped
#cp -a static/* %{buildroot}%{_datadir}/openstack-dashboard/static
# create /var/run/openstack-dashboard/ and own it
mkdir -p %{buildroot}%{_sharedstatedir}/openstack-dashboard
# create /var/log/horizon and own it
mkdir -p %{buildroot}%{_var}/log/horizon
# place logrotate config:
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
cp -a %{SOURCE5} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-dashboard
%check
# don't run tests on rhel
%if 0%{?rhel} == 0
%{__python2} manage.py test horizon --settings=horizon.test.settings
%endif
%post -n openstack-dashboard
# ugly hack to set a unique SECRET_KEY
sed -i "/^from horizon.utils import secret_key$/d" /etc/openstack-dashboard/local_settings
sed -i "/^SECRET_KEY.*$/{N;s/^.*$/SECRET_KEY='`openssl rand -hex 10`'/}" /etc/openstack-dashboard/local_settings
# reload systemd unit files
systemctl daemon-reload >/dev/null 2>&1 || :
%postun
# update systemd unit files
%{systemd_postun}
%files -f horizon.lang
%doc README.rst openstack-dashboard-httpd-logging.conf
%license LICENSE
%dir %{python_sitelib}/horizon
%{python_sitelib}/horizon/*.py*
%{python_sitelib}/horizon/browsers
%{python_sitelib}/horizon/conf
%{python_sitelib}/horizon/contrib
%{python_sitelib}/horizon/forms
%{python_sitelib}/horizon/hacking
%{python_sitelib}/horizon/management
%{python_sitelib}/horizon/static
%{python_sitelib}/horizon/tables
%{python_sitelib}/horizon/tabs
%{python_sitelib}/horizon/templates
%{python_sitelib}/horizon/templatetags
%{python_sitelib}/horizon/test
%{python_sitelib}/horizon/utils
%{python_sitelib}/horizon/workflows
%{python_sitelib}/horizon/karma.conf.js
%{python_sitelib}/horizon/middleware
%{python_sitelib}/openstack_auth
%{python_sitelib}/*.egg-info
%files -n openstack-dashboard -f dashboard.lang
%license LICENSE
%dir %{_datadir}/openstack-dashboard/
%{_datadir}/openstack-dashboard/*.py*
%{_datadir}/openstack-dashboard/static
%{_datadir}/openstack-dashboard/openstack_dashboard/*.py*
%{_datadir}/openstack-dashboard/openstack_dashboard/api
%{_datadir}/openstack-dashboard/openstack_dashboard/contrib
%dir %{_datadir}/openstack-dashboard/openstack_dashboard/dashboards/
%{_datadir}/openstack-dashboard/openstack_dashboard/dashboards/admin
%{_datadir}/openstack-dashboard/openstack_dashboard/dashboards/identity
%{_datadir}/openstack-dashboard/openstack_dashboard/dashboards/project
%{_datadir}/openstack-dashboard/openstack_dashboard/dashboards/settings
%{_datadir}/openstack-dashboard/openstack_dashboard/dashboards/__init__.py*
%{_datadir}/openstack-dashboard/openstack_dashboard/django_pyscss_fix
%{_datadir}/openstack-dashboard/openstack_dashboard/enabled
%{_datadir}/openstack-dashboard/openstack_dashboard/karma.conf.js
%{_datadir}/openstack-dashboard/openstack_dashboard/local
%{_datadir}/openstack-dashboard/openstack_dashboard/management
%{_datadir}/openstack-dashboard/openstack_dashboard/static
%{_datadir}/openstack-dashboard/openstack_dashboard/templates
%{_datadir}/openstack-dashboard/openstack_dashboard/templatetags
%{_datadir}/openstack-dashboard/openstack_dashboard/themes
%{_datadir}/openstack-dashboard/openstack_dashboard/test
%{_datadir}/openstack-dashboard/openstack_dashboard/usage
%{_datadir}/openstack-dashboard/openstack_dashboard/utils
%{_datadir}/openstack-dashboard/openstack_dashboard/wsgi
%dir %{_datadir}/openstack-dashboard/openstack_dashboard
%dir %{_datadir}/openstack-dashboard/openstack_dashboard/locale
%dir %{_datadir}/openstack-dashboard/openstack_dashboard/locale/??
%dir %{_datadir}/openstack-dashboard/openstack_dashboard/locale/??_??
%dir %{_datadir}/openstack-dashboard/openstack_dashboard/locale/??/LC_MESSAGES
%dir %{_datadir}/openstack-dashboard/openstack_dashboard/locale/??_??/LC_MESSAGES
%{_datadir}/openstack-dashboard/openstack_dashboard/.eslintrc
%dir %attr(0750, root, apache) %{_sysconfdir}/openstack-dashboard
%dir %attr(0750, apache, apache) %{_sharedstatedir}/openstack-dashboard
%dir %attr(0750, apache, apache) %{_var}/log/horizon
%config(noreplace) %{_sysconfdir}/httpd/conf.d/openstack-dashboard.conf
%config(noreplace) %attr(0640, root, apache) %{_sysconfdir}/openstack-dashboard/local_settings
%config(noreplace) %attr(0640, root, apache) %{_sysconfdir}/openstack-dashboard/cinder_policy.json
%config(noreplace) %attr(0640, root, apache) %{_sysconfdir}/openstack-dashboard/keystone_policy.json
%config(noreplace) %attr(0640, root, apache) %{_sysconfdir}/openstack-dashboard/nova_policy.json
%config(noreplace) %attr(0640, root, apache) %{_sysconfdir}/openstack-dashboard/glance_policy.json
%config(noreplace) %attr(0640, root, apache) %{_sysconfdir}/openstack-dashboard/neutron_policy.json
%config(noreplace) %attr(0640, root, apache) %{_sysconfdir}/openstack-dashboard/nova_policy.d/api-extensions.yaml
%config(noreplace) %attr(0644, root, root) %{_sysconfdir}/logrotate.d/openstack-dashboard
%attr(755,root,root) %dir %{_unitdir}/httpd.service.d
%config(noreplace) %{_unitdir}/httpd.service.d/openstack-dashboard.conf
# STX
%dir /opt/branding
%{_sysconfdir}/rc.d/init.d/horizon
%{_bindir}/horizon-clearsessions
%{_bindir}/horizon-patching-restart
%{_bindir}/horizon-assets-compress
%if 0%{?with_doc}
%files doc
%doc html
%license LICENSE
%endif
%files -n openstack-dashboard-theme
#%{_datadir}/openstack-dashboard/openstack_dashboard/dashboards/theme
#%{_datadir}/openstack-dashboard/openstack_dashboard/enabled/_99_customization.*
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Mon Dec 03 2018 RDO <dev@lists.rdoproject.org> 1:14.0.2-1
- Update to 14.0.2
* Mon Oct 22 2018 RDO <dev@lists.rdoproject.org> 1:14.0.1-1
- Update to 14.0.1
* Thu Aug 30 2018 RDO <dev@lists.rdoproject.org> 1:14.0.0-1
- Update to 14.0.0
* Wed Aug 22 2018 RDO <dev@lists.rdoproject.org> 1:14.0.0-0.2.0rc1
- Update to 14.0.0.0rc2
* Mon Aug 20 2018 RDO <dev@lists.rdoproject.org> 1:14.0.0-0.1.0rc1
- Update to 14.0.0.0rc1

View File

@ -1,17 +0,0 @@
BUILDER=loci
LABEL=stx-horizon
PROJECT=horizon
PROJECT_REPO=https://opendev.org/openstack/horizon.git
PIP_PACKAGES="pycrypto python-ceilometerclient \
coverage pyudev \
ldap pylint"
PROFILES="fluent horizon apache"
CUSTOMIZATION="\
sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d/10-wsgi.conf && \
sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /etc/httpd/modules/ && \
ln -s /bin/true /usr/bin/a2enmod && \
sed -i -e 's/raise ImproperlyConfigured..mysqlclient 1.3.13 or newer is required.*/pass/' /var/lib/openstack/lib/python3.6/site-packages/django/db/backends/mysql/base.py && \
sed -i -e '/query.decode.errors=.replace../s/decode/encode/' /var/lib/openstack/lib/python3.6/site-packages/django/db/backends/mysql/operations.py && \
sed -i 's/Listen 80/#Listen 80/' /etc/httpd/conf/httpd.conf \
"

View File

@ -1,17 +0,0 @@
BUILDER=loci
LABEL=stx-horizon
PROJECT=horizon
PROJECT_REPO=https://opendev.org/openstack/horizon.git
PROJECT_REF=stable/ussuri
PIP_PACKAGES="pycrypto python-ceilometerclient \
coverage pyudev \
ldap pylint"
PROFILES="fluent horizon apache"
CUSTOMIZATION="\
sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d/10-wsgi.conf && \
sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /etc/httpd/modules/ && \
ln -s /bin/true /usr/bin/a2enmod && \
sed -i -e 's/raise ImproperlyConfigured..mysqlclient 1.3.13 or newer is required.*/pass/' /var/lib/openstack/lib/python3.6/site-packages/django/db/backends/mysql/base.py && \
sed -i -e '/query.decode.errors=.replace../s/decode/encode/' /var/lib/openstack/lib/python3.6/site-packages/django/db/backends/mysql/operations.py && \
sed -i 's/Listen 80/#Listen 80/' /etc/httpd/conf/httpd.conf \
"

View File

@ -1,4 +0,0 @@
TAR_NAME="python-ironicclient"
SRC_DIR="$CGCS_BASE/git/python-ironicclient"
TIS_BASE_SRCREV="3.1.0"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,143 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%if 0%{?fedora}
%global with_python3 1
%endif
%global sname ironicclient
%global common_desc A python and command line client library for Ironic
Name: python-ironicclient
Version: 3.1.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Python client for Ironic
License: ASL 2.0
URL: https://pypi.python.org/pypi/python-ironicclient
Source0: https://tarballs.openstack.org/python-ironicclient/python-ironicclient-%{version}%{?milestone}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python client for Ironic
BuildRequires: python2-devel
BuildRequires: python2-pbr >= 2.0.0
BuildRequires: python2-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
Requires: python2-appdirs >= 1.3.0
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-pbr >= 2.0.0
Requires: python2-six >= 1.10.0
Requires: python2-osc-lib >= 1.10.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-oslo-config >= 5.2.0
Requires: python2-requests
%if 0%{?fedora} > 0
Requires: python2-dogpile-cache >= 0.6.2
Requires: python2-jsonschema
Requires: python2-pyyaml
%else
Requires: python-dogpile-cache >= 0.6.2
Requires: python-jsonschema
Requires: PyYAML
%endif
%{?python_provide:%python_provide python2-%{sname}}
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python client for Ironic
BuildRequires: python3-devel
BuildRequires: python3-pbr >= 2.0.0
BuildRequires: python3-setuptools
Requires: python3-appdirs >= 1.3.0
Requires: python3-dogpile-cache >= 0.6.2
Requires: python3-jsonschema
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-pbr >= 2.0.0
Requires: python3-six >= 1.10.0
Requires: python3-osc-lib >= 1.10.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-oslo-config >= 5.2.0
Requires: python3-requests
Requires: python3-PyYAML
%{?python_provide:%python_provide python3-%{sname}}
%description -n python3-%{sname}
%{common_desc}
%endif
%prep
%setup -q -n %{name}-%{upstream_version}
# Remove the requirements file so that pbr hooks don't add it
# to distutils requires_dist config
rm -rf {test-,}requirements.txt tools/{pip,test}-requires
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
%endif
%py2_install
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{python2_sitelib}/ironicclient*
%{python2_sitelib}/python_ironicclient*
%if 0%{?with_python3}
%files -n python3-%{sname}
%doc README.rst
%license LICENSE
%{python3_sitelib}/ironicclient*
%{python3_sitelib}/python_ironicclient*
%endif
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Fri Aug 10 2018 RDO <dev@lists.rdoproject.org> 2.5.0-1
- Update to 2.5.0

View File

@ -1,138 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%if 0%{?fedora}
%global with_python3 1
%endif
%global sname ironicclient
%global common_desc A python and command line client library for Ironic
Name: python-ironicclient
Version: 2.5.0
Release: 1%{?dist}
Summary: Python client for Ironic
License: ASL 2.0
URL: https://pypi.python.org/pypi/python-ironicclient
Source0: https://tarballs.openstack.org/python-ironicclient/python-ironicclient-%{version}%{?milestone}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python client for Ironic
BuildRequires: python2-devel
BuildRequires: python2-pbr >= 2.0.0
BuildRequires: python2-setuptools
Requires: python2-appdirs >= 1.3.0
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-pbr >= 2.0.0
Requires: python2-prettytable
Requires: python2-six >= 1.10.0
Requires: python2-osc-lib >= 1.10.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-requests
%if 0%{?fedora} > 0
Requires: python2-dogpile-cache >= 0.6.2
Requires: python2-jsonschema
Requires: python2-pyyaml
%else
Requires: python-dogpile-cache >= 0.6.2
Requires: python-jsonschema
Requires: PyYAML
%endif
%{?python_provide:%python_provide python2-%{sname}}
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python client for Ironic
BuildRequires: python3-devel
BuildRequires: python3-pbr >= 2.0.0
BuildRequires: python3-setuptools
Requires: python3-appdirs >= 1.3.0
Requires: python3-dogpile-cache >= 0.6.2
Requires: python3-jsonschema
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-pbr >= 2.0.0
Requires: python3-prettytable
Requires: python3-six >= 1.10.0
Requires: python3-osc-lib >= 1.10.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-requests
Requires: python3-PyYAML
%{?python_provide:%python_provide python3-%{sname}}
%description -n python3-%{sname}
%{common_desc}
%endif
%prep
%setup -q -n %{name}-%{upstream_version}
# Remove the requirements file so that pbr hooks don't add it
# to distutils requires_dist config
rm -rf {test-,}requirements.txt tools/{pip,test}-requires
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif
%install
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/ironic %{buildroot}%{_bindir}/ironic-%{python3_version}
ln -s ./ironic-%{python3_version} %{buildroot}%{_bindir}/ironic-3
%endif
%py2_install
mv %{buildroot}%{_bindir}/ironic %{buildroot}%{_bindir}/ironic-%{python2_version}
ln -s ./ironic-%{python2_version} %{buildroot}%{_bindir}/ironic-2
ln -s ./ironic-2 %{buildroot}%{_bindir}/ironic
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{_bindir}/ironic
%{_bindir}/ironic-2
%{_bindir}/ironic-%{python2_version}
%{python2_sitelib}/ironicclient*
%{python2_sitelib}/python_ironicclient*
%if 0%{?with_python3}
%files -n python3-%{sname}
%doc README.rst
%license LICENSE
%{_bindir}/ironic-3
%{_bindir}/ironic-%{python3_version}
%{python3_sitelib}/ironicclient*
%{python3_sitelib}/python_ironicclient*
%endif
%changelog
* Fri Aug 10 2018 RDO <dev@lists.rdoproject.org> 2.5.0-1
- Update to 2.5.0

View File

@ -1,2 +0,0 @@
TIS_PATCH_VER=PKG_GITREVCOUNT
COPY_LIST="$FILES_BASE/*"

View File

@ -1,147 +0,0 @@
#!/bin/sh
# Copyright (c) 2013-2021 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
### BEGIN INIT INFO
# Provides: OpenStack Keystone-wsgi
# Required-Start: networking
# Required-Stop: networking
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: OpenStack Keystone
# Description: Openstack Identitiy service running on WSGI compatable gunicorn web server
#
### END INIT INFO
RETVAL=0
#public 5000
DESC_PUBLIC="openstack-keystone"
PIDFILE_PUBLIC="/var/run/$DESC_PUBLIC.pid"
PYTHON=`which python`
source /etc/keystone/keystone-extra.conf
source /etc/platform/platform.conf
if [ -n ${@:2:1} ] ; then
if [ ${@:2:1}="--public-bind-addr" ] ; then
PUBLIC_BIND_ADDR_CMD=${@:3:1}
fi
fi
###
EXEC="/usr/bin/gunicorn"
WORKER="eventlet"
# Increased timeout to facilitate large image uploads
TIMEOUT="200"
TIS_WORKERS=${TIS_PUBLIC_WORKERS%.*}
#--max-requests , --max-requests-jitter Configuration
#--max-requests = The max number of requests a worker will process before restarting
#--max-requests-jitter = The maximum jitter to add to the max_requests setting.
MAX_REQUESTS=100000
MAX_REQ_JITTER_CAP_FACTOR=0.5
MAX_REQ_JITTER_PUBLIC=$(echo "${TIS_WORKERS}*${MAX_REQ_JITTER_CAP_FACTOR}+1"|bc)
MAX_REQ_JITTER_PUBLIC=${MAX_REQ_JITTER_PUBLIC%.*}
start()
{
# Got proper no of workers . Starting gunicorn now
echo -e "Initialising keystone service using gunicorn .. \n"
if [ -z "$PUBLIC_BIND_ADDR" ]; then
echo "Keystone floating ip not found . Cannot start services. Exiting .."
exit 1
fi
BIND_PUBLIC=$PUBLIC_BIND_ADDR:5000
if [ -e $PIDFILE_PUBLIC ]; then
PIDDIR=/proc/$(cat $PIDFILE_PUBLIC)
if [ -d ${PIDDIR} ]; then
echo "$DESC_PUBLIC already running."
exit 1
else
echo "Removing stale PID file $PIDFILE_PUBLIC"
rm -f $PIDFILE_PUBLIC
fi
fi
echo -e "Starting $DESC_PUBLIC...\n";
echo -e "Worker is ${WORKER} --workers ${TIS_WORKERS} --timeout ${TIMEOUT} --max_requests ${MAX_REQUESTS} --max_request_jitter public ${MAX_REQ_JITTER_PUBLIC}\n" ;
echo -e "Starting keystone process at port 5000 \n" ;
start-stop-daemon --start --quiet --background --pidfile ${PIDFILE_PUBLIC} \
--make-pidfile --exec ${PYTHON} -- ${EXEC} --bind ${BIND_PUBLIC} \
--worker-class ${WORKER} --workers ${TIS_WORKERS} --timeout ${TIMEOUT} \
--max-requests ${MAX_REQUESTS} --max-requests-jitter ${MAX_REQ_JITTER_PUBLIC} \
--log-syslog \
--pythonpath '/usr/share/keystone' public:application --name keystone-public
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo -e "Keystone started at port 5000... \n"
else
echo -e "Failed to start Keystone .. \n"
fi
}
stop()
{
if [ -e $PIDFILE_PUBLIC ]; then
start-stop-daemon --stop --quiet --pidfile $PIDFILE_PUBLIC
RETVAL_PUBLIC=$?
if [ $RETVAL_PUBLIC -eq 0 ]; then
echo "Stopped $DESC_PUBLIC."
else
echo "Stopping failed - $PIDFILE_PUBLIC"
fi
rm -f $PIDFILE_PUBLIC
else
echo "Already stopped - $PIDFILE_PUBLIC"
fi
}
status()
{
pid_public=`cat $PIDFILE_PUBLIC 2>/dev/null`
if [ -n "$pid_public" ]; then
echo -e "\033[32m $DESC_PUBLIC is running..\033[0m"
else
echo -e "\033[31m $DESC_PUBLIC is not running..\033[0m"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|force-reload|reload)
stop
start
;;
status)
status
;;
*)
#echo "Usage: $0 {start|stop|force-reload|restart|reload|status} OR {/usr/bin/keystone-all start --public-bind-addr xxx.xxx.xxx}"
start
#RETVAL=1
;;
esac
exit $RETVAL

View File

@ -1,64 +0,0 @@
#!/bin/bash
#
# Wrapper script to rotate keystone fernet keys on active controller only
#
KEYSTONE_KEYS_ROTATE_INFO="/var/run/keystone-keys-rotate.info"
KEYSTONE_KEYS_ROTATE_CMD="/usr/bin/nice -n 2 /usr/bin/keystone-manage fernet_rotate --keystone-user keystone --keystone-group keystone"
function is_active_pgserver()
{
# Determine whether we're running on the same controller as the service.
local service=postgres
local enabledactive=$(/usr/bin/sm-query service $service| grep enabled-active)
if [ "x$enabledactive" == "x" ]
then
# enabled-active not found for that service on this controller
return 1
else
# enabled-active found for that resource
return 0
fi
}
if is_active_pgserver
then
if [ ! -f ${KEYSTONE_KEYS_ROTATE_INFO} ]
then
echo delay_count=0 > ${KEYSTONE_KEYS_ROTATE_INFO}
fi
source ${KEYSTONE_KEYS_ROTATE_INFO}
sudo -u postgres psql -d fm -c "SELECT alarm_id, entity_instance_id from alarm;" | grep -P "^(?=.*100.101)(?=.*${HOSTNAME})" &>/dev/null
if [ $? -eq 0 ]
then
source /etc/platform/platform.conf
if [ "${system_type}" = "All-in-one" ]
then
source /etc/init.d/task_affinity_functions.sh
idle_core=$(get_most_idle_core)
if [ "$idle_core" -ne "0" ]
then
sh -c "exec taskset -c $idle_core ${KEYSTONE_KEYS_ROTATE_CMD}"
sed -i "/delay_count/s/=.*/=0/" ${KEYSTONE_KEYS_ROTATE_INFO}
exit 0
fi
fi
if [ "$delay_count" -lt "3" ]
then
newval=$(($delay_count+1))
sed -i "/delay_count/s/=.*/=$newval/" ${KEYSTONE_KEYS_ROTATE_INFO}
(sleep 3600; /usr/bin/keystone-fernet-keys-rotate-active) &
exit 0
fi
fi
eval ${KEYSTONE_KEYS_ROTATE_CMD}
sed -i "/delay_count/s/=.*/=0/" ${KEYSTONE_KEYS_ROTATE_INFO}
fi
exit 0

View File

@ -1,14 +0,0 @@
[Unit]
Description=OpenStack Identity Service (code-named Keystone)
After=syslog.target network.target
[Service]
Type=forking
#ReminAfterExit is set to yes as we have 2 pids to monitor
RemainAfterExit=yes
ExecStart=/usr/bin/keystone-all start
ExecStop=/usr/bin/keystone-all stop
ExecReload=/usr/bin/keystone-all reload
[Install]
WantedBy=multi-user.target

View File

@ -1,34 +0,0 @@
# The password rules captures the [security_compliance]
# section of the generic Keystone configuration (keystone.conf)
# This configuration is used to statically define the password
# rules for password validation in pre-Keystone environments
#
# N.B: Only set non-default keys here (default commented configuration
# items not needed)
[security_compliance]
#
# From keystone
#
# This controls the number of previous user password iterations to keep in
# history, in order to enforce that newly created passwords are unique. Setting
# the value to one (the default) disables this feature. Thus, to enable this
# feature, values must be greater than 1. This feature depends on the `sql`
# backend for the `[identity] driver`. (integer value)
# Minimum value: 1
unique_last_password_count = 3
# The regular expression used to validate password strength requirements. By
# default, the regular expression will match any password. The following is an
# example of a pattern which requires at least 1 letter, 1 digit, and have a
# minimum length of 7 characters: ^(?=.*\d)(?=.*[a-zA-Z]).{7,}$ This feature
# depends on the `sql` backend for the `[identity] driver`. (string value)
password_regex = ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()<>{}+=_\\\[\]\-?|~`,.;:]).{7,}$
# Describe your password regular expression here in language for humans. If a
# password fails to match the regular expression, the contents of this
# configuration variable will be returned to users to explain why their
# requested password was insufficient. (string value)
password_regex_description = Password must have a minimum length of 7 characters, and must contain at least 1 upper case, 1 lower case, 1 digit, and 1 special character

View File

@ -1,22 +0,0 @@
# Copyright (c) 2013-2017 Wind River Systems, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
import sys
from keystone.server import wsgi as wsgi_server
sys.argv = sys.argv[:1]
application = wsgi_server.initialize_public_application()

View File

@ -1,35 +0,0 @@
From 7feac57d571e49e042adb96738a3688c56adade0 Mon Sep 17 00:00:00 2001
From: Tyler Smith <tyler.smith@windriver.com>
Date: Mon, 8 Apr 2019 15:33:16 -0400
Subject: [PATCH 1/1] Add keyring patch
---
SPECS/openstack-keystone.spec | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/SPECS/openstack-keystone.spec b/SPECS/openstack-keystone.spec
index d3ec1d7..3d5fcee 100644
--- a/SPECS/openstack-keystone.spec
+++ b/SPECS/openstack-keystone.spec
@@ -27,7 +27,7 @@ Name: openstack-keystone
# https://review.openstack.org/#/q/I6a35fa0dda798fad93b804d00a46af80f08d475c,n,z
Epoch: 1
Version: 16.0.0
-Release: 1%{?dist}
+Release: 1.el7%{?_tis_dist}.%{tis_patch_ver}
Summary: OpenStack Identity Service
License: ASL 2.0
URL: http://keystone.openstack.org/
@@ -39,6 +39,9 @@ Source3: openstack-keystone.sysctl
Source5: openstack-keystone-sample-data
Source20: keystone-dist.conf
+# STX: Include patches here
+Patch1: 0001-Rebasing-Keyring-integration.patch
+
BuildArch: noarch
BuildRequires: openstack-macros
BuildRequires: python%{pyver}-devel
--
1.8.3.1

View File

@ -1,2 +0,0 @@
Add-keyring-patch.patch
Update-spec-with-tis-additions.patch

View File

@ -1,133 +0,0 @@
From 7afb60e6591d9d1e6d6374a85cf516182b660815 Mon Sep 17 00:00:00 2001
From: Tyler Smith <tyler.smith@windriver.com>
Date: Mon, 8 Apr 2019 15:40:07 -0400
Subject: [PATCH 1/1] Update-spec-with-tis-additions
---
SPECS/openstack-keystone.spec | 50 +++++++++++++++++++++++++++++++++++++------
1 file changed, 43 insertions(+), 7 deletions(-)
diff --git a/SPECS/openstack-keystone.spec b/SPECS/openstack-keystone.spec
index 3d5fcee..97c0586 100644
--- a/SPECS/openstack-keystone.spec
+++ b/SPECS/openstack-keystone.spec
@@ -11,7 +11,8 @@
%global pyver_build %py%{pyver}_build
# End of macros for py2/py3 compatibility
-%global with_doc 1
+#STX: Turn off doc building
+%global with_doc 0
%global service keystone
# guard for package OSP does not support
%global rhosp 0
@@ -39,6 +40,13 @@ Source3: openstack-keystone.sysctl
Source5: openstack-keystone-sample-data
Source20: keystone-dist.conf
+#STX
+Source99: openstack-keystone.service
+Source100: keystone-all
+Source101: keystone-fernet-keys-rotate-active
+Source102: password-rules.conf
+Source103: public.py
+
# STX: Include patches here
Patch1: 0001-Rebasing-Keyring-integration.patch
@@ -233,9 +241,9 @@ sed -i 's#/local/bin#/bin#' httpd/wsgi-keystone.conf
sed -i 's#apache2#httpd#' httpd/wsgi-keystone.conf
%build
-PYTHONPATH=. oslo-config-generator-%{pyver} --config-file=config-generator/keystone.conf
-PYTHONPATH=. oslo-config-generator-%{pyver} --config-file=config-generator/keystone.conf --format yaml --output-file=%{service}-schema.yaml
-PYTHONPATH=. oslo-config-generator-%{pyver} --config-file=config-generator/keystone.conf --format json --output-file=%{service}-schema.json
+PYTHONPATH=. oslo-config-generator --config-file=config-generator/keystone.conf
+PYTHONPATH=. oslo-config-generator --config-file=config-generator/keystone.conf --format yaml --output-file=%{service}-schema.yaml
+PYTHONPATH=. oslo-config-generator --config-file=config-generator/keystone.conf --format json --output-file=%{service}-schema.json
# distribution defaults are located in keystone-dist.conf
%{pyver_build}
@@ -250,6 +258,8 @@ PYTHONPATH=. oslo-config-generator-%{pyver} --config-file=config-generator/keyst
# Instead, ship an empty file that operators can override.
echo "{}" > policy.json
+# STX: default dir for fernet tokens
+install -d -m 750 %{buildroot}%{_sysconfdir}/keystone/credential-keys/
install -d -m 755 %{buildroot}%{_sysconfdir}/keystone
install -p -D -m 640 etc/keystone.conf.sample %{buildroot}%{_sysconfdir}/keystone/keystone.conf
install -p -D -m 640 policy.json %{buildroot}%{_sysconfdir}/keystone/policy.json
@@ -259,7 +269,8 @@ install -p -D -m 644 %{SOURCE20} %{buildroot}%{_datadir}/keystone/keystone-dist.
install -p -D -m 640 etc/logging.conf.sample %{buildroot}%{_sysconfdir}/keystone/logging.conf
install -p -D -m 640 etc/default_catalog.templates %{buildroot}%{_sysconfdir}/keystone/default_catalog.templates
install -p -D -m 640 etc/sso_callback_template.html %{buildroot}%{_sysconfdir}/keystone/sso_callback_template.html
-install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-keystone
+# STX: don't install a separate keystone logrotate file as this is managed by syslog-ng
+#install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-keystone
install -d -m 755 %{buildroot}%{_prefix}/lib/sysctl.d
install -p -D -m 644 %{SOURCE3} %{buildroot}%{_prefix}/lib/sysctl.d/openstack-keystone.conf
# Install sample data script.
@@ -268,6 +279,21 @@ install -p -D -m 755 %{SOURCE5} %{buildroot}%{_bindir}/openstack-keystone-sample
# Install sample HTTPD integration files
install -p -D -m 644 httpd/wsgi-keystone.conf %{buildroot}%{_datadir}/keystone/
+# STX install keystone cron script
+install -p -D -m 755 %{SOURCE101} %{buildroot}%{_bindir}/keystone-fernet-keys-rotate-active
+
+# STX: install password rules(readable only)
+install -p -D -m 440 %{SOURCE102} %{buildroot}%{_sysconfdir}/keystone/password-rules.conf
+
+# STX: install keystone public gunicorn app
+install -p -D -m 755 %{SOURCE103} %{buildroot}/%{_datarootdir}/keystone/public.py
+
+# STX: install openstack-keystone service script
+install -p -D -m 644 %{SOURCE99} %{buildroot}%{_unitdir}/openstack-keystone.service
+
+# STX: Install keystone-all bash script
+install -p -D -m 755 %{SOURCE100} %{buildroot}%{_bindir}/keystone-all
+
install -d -m 755 %{buildroot}%{_sharedstatedir}/keystone
install -d -m 755 %{buildroot}%{_localstatedir}/log/keystone
@@ -325,26 +351,36 @@ chmod 660 %{_localstatedir}/log/keystone/keystone.log
%{_bindir}/keystone-manage
%{_bindir}/keystone-status
%{_bindir}/openstack-keystone-sample-data
+# STX: add keystone-all
+%{_bindir}/keystone-all
+# STX: add Keystone fernet keys cron job
+%{_bindir}/keystone-fernet-keys-rotate-active
%dir %{_datadir}/keystone
%attr(0644, root, keystone) %{_datadir}/keystone/keystone-dist.conf
%attr(0644, root, keystone) %{_datadir}/keystone/%{service}-schema.yaml
%attr(0644, root, keystone) %{_datadir}/keystone/%{service}-schema.json
%attr(0755, root, root) %{_datadir}/keystone/sample_data.sh
%attr(0644, root, keystone) %{_datadir}/keystone/wsgi-keystone.conf
+# STX: add openstack-keystone sysinit script
+%{_unitdir}/openstack-keystone.service
%dir %attr(0750, root, keystone) %{_sysconfdir}/keystone
%config(noreplace) %attr(0640, root, keystone) %{_sysconfdir}/keystone/keystone.conf
%config(noreplace) %attr(0640, root, keystone) %{_sysconfdir}/keystone/logging.conf
%config(noreplace) %attr(0640, root, keystone) %{_sysconfdir}/keystone/policy.json
%config(noreplace) %attr(0640, root, keystone) %{_sysconfdir}/keystone/default_catalog.templates
%config(noreplace) %attr(0640, keystone, keystone) %{_sysconfdir}/keystone/sso_callback_template.html
-%config(noreplace) %{_sysconfdir}/logrotate.d/openstack-keystone
+# STX: log rotate not needed
+#%config(noreplace) %{_sysconfdir}/logrotate.d/openstack-keystone
%dir %attr(-, keystone, keystone) %{_sharedstatedir}/keystone
%dir %attr(0750, keystone, keystone) %{_localstatedir}/log/keystone
%ghost %attr(0660, root, keystone) %{_localstatedir}/log/keystone/keystone.log
%{_prefix}/lib/sysctl.d/openstack-keystone.conf
-
+# STX: add password rules configuration
+%attr(0440, root, keystone) %{_sysconfdir}/keystone/password-rules.conf
%files -n python%{pyver}-keystone -f %{service}.lang
+# STX: public.py addition
+%{_datarootdir}/keystone/public*.py*
%defattr(-,root,root,-)
%license LICENSE
%{pyver_sitelib}/keystone
--
1.8.3.1

View File

@ -1,147 +0,0 @@
From dfe0978f6590818487bb9fc5e9b8156e77a25590 Mon Sep 17 00:00:00 2001
From: rpm-build <rpm-build>
Date: Mon, 8 Apr 2019 15:25:28 -0400
Subject: [PATCH 1/1] Rebasing Keyring integration
---
keystone/exception.py | 6 ++++++
keystone/identity/core.py | 54 +++++++++++++++++++++++++++++++++++++++++++++++
requirements.txt | 1 +
3 files changed, 61 insertions(+)
diff --git a/keystone/exception.py b/keystone/exception.py
index b85878b..56601ce 100644
--- a/keystone/exception.py
+++ b/keystone/exception.py
@@ -224,6 +224,12 @@ class ApplicationCredentialLimitExceeded(ForbiddenNotSecurity):
"maximum of %(limit)d already exceeded for user.")
+class WRSForbiddenAction(Error):
+ message_format = _("That action is not permitted")
+ code = 403
+ title = 'Forbidden'
+
+
class SecurityError(Error):
"""Security error exception.
diff --git a/keystone/identity/core.py b/keystone/identity/core.py
index ed43e76..da7e7ba 100644
--- a/keystone/identity/core.py
+++ b/keystone/identity/core.py
@@ -17,6 +17,7 @@
import copy
import functools
import itertools
+import keyring
import operator
import os
import threading
@@ -54,6 +55,7 @@ MEMOIZE_ID_MAPPING = cache.get_memoization_decorator(group='identity',
DOMAIN_CONF_FHEAD = 'keystone.'
DOMAIN_CONF_FTAIL = '.conf'
+KEYRING_CGCS_SERVICE = "CGCS"
# The number of times we will attempt to register a domain to use the SQL
# driver, if we find that another process is in the middle of registering or
@@ -1069,6 +1071,26 @@ class Manager(manager.Manager):
if new_ref['domain_id'] != orig_ref['domain_id']:
raise exception.ValidationError(_('Cannot change Domain ID'))
+ def _update_keyring_password(self, user, new_password):
+ """Update user password in Keyring backend.
+ This method Looks up user entries in Keyring backend
+ and accordingly update the corresponding user password.
+ :param user : keyring user struct
+ :param new_password : new password to set
+ """
+ if (new_password is not None) and ('name' in user):
+ try:
+ # only update if an entry exists
+ if (keyring.get_password(KEYRING_CGCS_SERVICE, user['name'])):
+ keyring.set_password(KEYRING_CGCS_SERVICE,
+ user['name'], new_password)
+ except (keyring.errors.PasswordSetError, RuntimeError):
+ msg = ('Failed to Update Keyring Password for the user %s')
+ LOG.warning(msg, user['name'])
+ # only raise an exception if this is the admin user
+ if (user['name'] == 'admin'):
+ raise exception.WRSForbiddenAction(msg % user['name'])
+
@domains_configured
@exception_translated('user')
def update_user(self, user_id, user_ref, initiator=None):
@@ -1099,6 +1121,17 @@ class Manager(manager.Manager):
ref = driver.update_user(entity_id, user)
+ # Certain local Keystone users are stored in Keystone as opposed
+ # to the default SQL Identity backend, such as the admin user.
+ # When its password is updated, we need to update Keyring as well
+ # as certain services retrieve this user context from Keyring and
+ # will get auth failures
+ # Need update password before send out notification. Otherwise,
+ # any process monitor the notification will still get old password
+ # from Keyring.
+ if ('password' in user) and ('name' in ref):
+ self._update_keyring_password(ref, user['password'])
+
notifications.Audit.updated(self._USER, user_id, initiator)
enabled_change = ((user.get('enabled') is False) and
@@ -1128,6 +1161,7 @@ class Manager(manager.Manager):
hints.add_filter('user_id', user_id)
fed_users = PROVIDERS.shadow_users_api.list_federated_users_info(hints)
+ username = user_old.get('name', "")
driver.delete_user(entity_id)
PROVIDERS.assignment_api.delete_user_assignments(user_id)
self.get_user.invalidate(self, user_id)
@@ -1141,6 +1175,18 @@ class Manager(manager.Manager):
PROVIDERS.credential_api.delete_credentials_for_user(user_id)
PROVIDERS.id_mapping_api.delete_id_mapping(user_id)
+
+ # Delete the keyring entry associated with this user (if present)
+ try:
+ keyring.delete_password(KEYRING_CGCS_SERVICE, username)
+ except keyring.errors.PasswordDeleteError:
+ LOG.warning(('delete_user: PasswordDeleteError for %s'),
+ username)
+ pass
+ except exception.UserNotFound:
+ LOG.warning(('delete_user: UserNotFound for %s'),
+ username)
+ pass
notifications.Audit.deleted(self._USER, user_id, initiator)
# Invalidate user role assignments cache region, as it may be caching
@@ -1390,6 +1436,14 @@ class Manager(manager.Manager):
notifications.Audit.updated(self._USER, user_id, initiator)
self._persist_revocation_event_for_user(user_id)
+ user = self.get_user(user_id)
+ # Update Keyring password for the 'user' if it
+ # has an entry in Keyring
+ if (original_password) and ('name' in user):
+ # Change the 'user' password in keyring, provided the user
+ # has an entry in Keyring backend
+ self._update_keyring_password(user, new_password)
+
@MEMOIZE
def _shadow_nonlocal_user(self, user):
try:
diff --git a/requirements.txt b/requirements.txt
index e3de1c6..e6d3536 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -42,3 +42,4 @@ pycadf!=2.0.0,>=1.1.0 # Apache-2.0
msgpack>=0.5.0 # Apache-2.0
osprofiler>=1.4.0 # Apache-2.0
pytz>=2013.6 # MIT
+keyring>=5.3
--
1.8.3.1

View File

@ -1 +0,0 @@
mirror:Source/openstack-keystone-16.0.0-1.el7.src.rpm

View File

@ -1,11 +0,0 @@
BUILDER=loci
LABEL=stx-keystone
PROJECT=keystone
PROJECT_REPO=https://opendev.org/openstack/keystone.git
PIP_PACKAGES="python-openstackclient ldap ldappool python-ldap pylint"
PROFILES="fluent apache"
CUSTOMIZATION="\
sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d/10-wsgi.conf && \
sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /etc/httpd/modules/ \
"

View File

@ -1,11 +0,0 @@
BUILDER=loci
LABEL=stx-keystone
PROJECT=keystone
PROJECT_REPO=https://opendev.org/openstack/keystone.git
PROJECT_REF=stable/ussuri
PIP_PACKAGES="python-openstackclient ldap ldappool python-ldap pylint"
PROFILES="fluent apache"
CUSTOMIZATION="\
sudo cp /opt/rh/httpd24/root/etc/httpd/conf.modules.d/10-rh-python36-wsgi.conf /etc/httpd/conf.modules.d/10-wsgi.conf && \
sudo cp /opt/rh/httpd24/root/usr/lib64/httpd/modules/mod_rh-python36-wsgi.so /etc/httpd/modules/ \
"

View File

@ -1,5 +0,0 @@
TAR_NAME=keystoneauth1
SRC_DIR="$CGCS_BASE/git/python-keystoneauth"
TIS_BASE_SRCREV=1d5f57258af4e429995bf4c02137d24fe32c36e1
TIS_PATCH_VER=GITREVCOUNT+0

View File

@ -1,147 +0,0 @@
# Macros for py2/py3 compatibility
%if 0%{?fedora} || 0%{?rhel} > 7
%global pyver %{python3_pkgversion}
%else
%global pyver 2
%endif
%global pyver_bin python%{pyver}
%global pyver_sitelib %python%{pyver}_sitelib
%global pyver_install %py%{pyver}_install
%global pyver_build %py%{pyver}_build
# End of macros for py2/py3 compatibility
%global pypi_name keystoneauth1
%global common_desc \
Keystoneauth provides a standard way to do authentication and service requests \
within the OpenStack ecosystem. It is designed for use in conjunction with \
the existing OpenStack clients and for simplifying the process of writing \
new clients.
%global with_doc 1
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
Name: python-%{pypi_name}
Version: 3.17.1
Release: 2%{?_tis_dist}.%{tis_patch_ver}
Summary: Authentication Library for OpenStack Clients
License: ASL 2.0
URL: https://pypi.io/pypi/%{pypi_name}
Source0: https://tarballs.openstack.org/keystoneauth/keystoneauth1-%{upstream_version}.tar.gz
BuildArch: noarch
%description
%{common_desc}
%package -n python%{pyver}-%{pypi_name}
Summary: Authentication Libarary for OpenStack Identity
%{?python_provide:%python_provide python%{pyver}-%{pypi_name}}
%{?python_provide:%python_provide python%{pyver}-keystoneauth}
BuildRequires: git
BuildRequires: python%{pyver}-devel
BuildRequires: python%{pyver}-setuptools
BuildRequires: python%{pyver}-six
BuildRequires: python%{pyver}-pbr >= 2.0.0
# test requires
#BuildRequires: python%{pyver}-betamax >= 0.7.0
BuildRequires: python-betamax >= 0.7.0
BuildRequires: python%{pyver}-fixtures >= 1.3.1
BuildRequires: python%{pyver}-mock
BuildRequires: python%{pyver}-oslotest
BuildRequires: python%{pyver}-oslo-config
BuildRequires: python%{pyver}-oslo-utils
BuildRequires: python%{pyver}-stestr
BuildRequires: python%{pyver}-oauthlib
BuildRequires: python%{pyver}-requests
BuildRequires: python%{pyver}-os-service-types
BuildRequires: python%{pyver}-stevedore
BuildRequires: python%{pyver}-iso8601
BuildRequires: python%{pyver}-requests-mock >= 1.1
# Handle python2 exception
%if %{pyver} == 2
BuildRequires: PyYAML
BuildRequires: python-lxml
BuildRequires: python-requests-kerberos
BuildRequires: python-pep8
%else
BuildRequires: python%{pyver}-PyYAML
BuildRequires: python%{pyver}-lxml
BuildRequires: python%{pyver}-requests-kerberos
BuildRequires: python%{pyver}-pep8
%endif
Requires: python%{pyver}-iso8601 >= 0.1.11
Requires: python%{pyver}-os-service-types >= 1.2.0
Requires: python%{pyver}-pbr >= 2.0.0
Requires: python%{pyver}-requests >= 2.14.2
Requires: python%{pyver}-six => 1.10.0
Requires: python%{pyver}-stevedore >= 1.20.0
%description -n python%{pyver}-%{pypi_name}
%{common_desc}
%if 0%{?with_doc}
%package -n python-%{pypi_name}-doc
Summary: Documentation for OpenStack Identity Authentication Library
BuildRequires: python%{pyver}-sphinx
BuildRequires: python%{pyver}-sphinxcontrib-apidoc
BuildRequires: python%{pyver}-openstackdocstheme
BuildRequires: python%{pyver}-mox3
%description -n python-%{pypi_name}-doc
Documentation for OpenStack Identity Authentication Library
%endif
%prep
%autosetup -n %{pypi_name}-%{upstream_version} -S git
sed -i '/sphinx.ext.intersphinx.*$/d' doc/source/conf.py
# Let RPM handle the dependencies
rm -rf {test-,}requirements.txt
# Remove bundled egg-info
rm -rf %{pypi_name}.egg-info
%build
%{pyver_build}
%install
%{pyver_install}
%if 0%{?with_doc}
# generate html docs
export PYTHONPATH=.
# Disabling warning-is-error because of issue with python2 giving a warning:
# "The config value `apidoc_module_dir' has type `unicode', expected to ['str']."
sphinx-build-%{pyver} -b html -d doc/build/doctrees doc/source doc/build/html
rm -rf doc/build/html/.buildinfo
%endif
%check
PYTHON=python%{pyver} stestr-%{pyver} run
%files -n python%{pyver}-%{pypi_name}
%doc README.rst
%license LICENSE
%{pyver_sitelib}/%{pypi_name}
%{pyver_sitelib}/*.egg-info
%if 0%{?with_doc}
%files -n python-%{pypi_name}-doc
%license LICENSE
%doc doc/build/html
%endif
%changelog
* Thu Oct 03 2019 Joel Capitao <jcapitao@redhat.com> 3.17.1-2
- Removed python2 subpackages in no el7 distros
* Wed Sep 18 2019 RDO <dev@lists.rdoproject.org> 3.17.1-1
- Update to 3.17.1

View File

@ -1,5 +0,0 @@
TAR_NAME=python-keystoneclient
SRC_DIR=$CGCS_BASE/git/python-keystoneclient
TIS_BASE_SRCREV="3.21.0"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,183 +0,0 @@
# Macros for py2/py3 compatibility
%if 0%{?fedora} || 0%{?rhel} > 7
%global pyver %{python3_pkgversion}
%else
%global pyver 2
%endif
%global pyver_bin python%{pyver}
%global pyver_sitelib %python%{pyver}_sitelib
%global pyver_install %py%{pyver}_install
%global pyver_build %py%{pyver}_build
# End of macros for py2/py3 compatibility
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global common_desc \
Client library and command line utility for interacting with Openstack \
Identity API.
%global sname keystoneclient
%global with_doc 1
Name: python-keystoneclient
Epoch: 1
Version: 3.21.0
Release: 2%{?_tis_dist}.%{tis_patch_ver}
Summary: Client library for OpenStack Identity API
License: ASL 2.0
URL: https://launchpad.net/python-keystoneclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: /usr/bin/openssl
%description
%{common_desc}
%package -n python%{pyver}-%{sname}
Summary: Client library for OpenStack Identity API
%{?python_provide:%python_provide python%{pyver}-%{sname}}
%if %{pyver} == 3
Obsoletes: python2-%{sname} < %{version}-%{release}
%endif
BuildRequires: python%{pyver}-devel
BuildRequires: python%{pyver}-setuptools
BuildRequires: python%{pyver}-pbr >= 2.0.0
BuildRequires: git
Requires: python%{pyver}-oslo-config >= 2:5.2.0
Requires: python%{pyver}-oslo-i18n >= 3.15.3
Requires: python%{pyver}-oslo-serialization >= 2.18.0
Requires: python%{pyver}-oslo-utils >= 3.33.0
Requires: python%{pyver}-requests >= 2.14.2
Requires: python%{pyver}-six >= 1.10.0
Requires: python%{pyver}-stevedore >= 1.20.0
Requires: python%{pyver}-pbr >= 2.0.0
Requires: python%{pyver}-debtcollector >= 1.2.0
Requires: python%{pyver}-keystoneauth1 >= 3.4.0
# Handle python2 exception
%if %{pyver} == 2
Requires: python-keyring >= 5.5.1
%else
Requires: python%{pyver}-keyring >= 5.5.1
%endif
%description -n python%{pyver}-%{sname}
%{common_desc}
%package -n python%{pyver}-%{sname}-tests
Summary: Python API and CLI for OpenStack Keystone (tests)
%{?python_provide:%python_provide python%{pyver}-%{sname}-tests}
Requires: python%{pyver}-%{sname} = %{epoch}:%{version}-%{release}
BuildRequires: python%{pyver}-hacking
BuildRequires: python%{pyver}-fixtures
BuildRequires: python%{pyver}-mock
BuildRequires: python%{pyver}-oauthlib
BuildRequires: python%{pyver}-oslotest
BuildRequires: python%{pyver}-testtools
BuildRequires: python%{pyver}-keystoneauth1
BuildRequires: python%{pyver}-oslo-config
BuildRequires: python%{pyver}-oslo-utils
BuildRequires: python%{pyver}-oslo-serialization
BuildRequires: python%{pyver}-oslo-i18n
BuildRequires: python%{pyver}-stestr
BuildRequires: python%{pyver}-testresources
BuildRequires: python%{pyver}-testscenarios
BuildRequires: python%{pyver}-requests-mock
# Handle python2 exception
%if %{pyver} == 2
BuildRequires: python-keyring >= 5.5.1
BuildRequires: python-lxml
%else
BuildRequires: python%{pyver}-keyring >= 5.5.1
BuildRequires: python%{pyver}-lxml
%endif
Requires: python%{pyver}-hacking
Requires: python%{pyver}-fixtures
Requires: python%{pyver}-mock
Requires: python%{pyver}-oauthlib
Requires: python%{pyver}-oslotest
Requires: python%{pyver}-stestr
Requires: python%{pyver}-testtools
Requires: python%{pyver}-testresources
Requires: python%{pyver}-testscenarios
Requires: python%{pyver}-requests-mock
# Handle python2 exception
%if %{pyver} == 2
Requires: python-lxml
%else
Requires: python%{pyver}-lxml
%endif
%description -n python%{pyver}-%{sname}-tests
{common_desc}
%if 0%{?with_doc}
%package -n python-%{sname}-doc
Summary: Documentation for OpenStack Keystone API client
BuildRequires: python%{pyver}-sphinx
BuildRequires: python%{pyver}-openstackdocstheme
%description -n python-%{sname}-doc
{common_desc}
%endif
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# disable warning-is-error, this project has intersphinx in docs
# so some warnings are generated in network isolated build environment
# as koji
sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg
# Let RPM handle the dependencies
rm -rf {test-,}requirements.txt
%build
%{pyver_build}
%install
%{pyver_install}
%if 0%{?with_doc}
# Build HTML docs
%{pyver_bin} setup.py build_sphinx -b html
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.{doctrees,buildinfo}
%endif
#%check
#stestr --test-path=./keystoneclient/tests/unit run
#%if 0%{?with_python3}
#stestr-3 --test-path=./keystoneclient/tests/unit run
#%endif
%files -n python%{pyver}-%{sname}
%license LICENSE
%doc README.rst
%{pyver_sitelib}/%{sname}
%{pyver_sitelib}/*.egg-info
%exclude %{pyver_sitelib}/%{sname}/tests
%if 0%{?with_doc}
%files -n python-%{sname}-doc
%doc doc/build/html
%license LICENSE
%endif
%files -n python%{pyver}-%{sname}-tests
%license LICENSE
%{pyver_sitelib}/%{sname}/tests
%changelog
* Thu Oct 03 2019 Joel Capitao <jcapitao@redhat.com> 1:3.21.0-2
- Removed python2 subpackages in no el7 distros
* Thu Sep 19 2019 RDO <dev@lists.rdoproject.org> 1:3.21.0-1
- Update to 3.21.0

View File

@ -1,266 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
Client library and command line utility for interacting with Openstack \
Identity API.
Name: python-keystoneclient
Epoch: 1
Version: 3.19.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Client library for OpenStack Identity API
License: ASL 2.0
URL: https://launchpad.net/python-keystoneclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: /usr/bin/openssl
%description
%{common_desc}
%package -n python2-keystoneclient
Summary: Client library for OpenStack Identity API
%{?python_provide:%python_provide python2-keystoneclient}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python2-pbr >= 2.0.0
BuildRequires: git
Requires: python2-oslo-config >= 2:5.2.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-requests >= 2.14.2
Requires: python2-six >= 1.10.0
Requires: python2-stevedore >= 1.20.0
Requires: python2-pbr >= 2.0.0
Requires: python2-debtcollector >= 1.2.0
Requires: python2-keystoneauth1 >= 3.4.0
%if 0%{?fedora} > 0
Requires: python2-keyring >= 5.5.1
%else
Requires: python-keyring >= 5.5.1
%endif
%description -n python2-keystoneclient
%{common_desc}
%if 0%{?with_python3}
%package -n python3-keystoneclient
Summary: Client library for OpenStack Identity API
%{?python_provide:%python_provide python3-keystoneclient}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr >= 2.0.0
Requires: python3-oslo-config >= 2:5.2.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-requests >= 2.14.2
Requires: python3-six >= 1.10.0
Requires: python3-stevedore >= 1.20.0
Requires: python3-pbr >= 2.0.0
Requires: python3-debtcollector >= 1.2.0
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-keyring >= 5.5.1
%description -n python3-keystoneclient
Client library for interacting with Openstack Identity API.
%endif
%package -n python2-keystoneclient-tests
Summary: python2-keystoneclient test subpackage
Requires: python2-keystoneclient = %{epoch}:%{version}-%{release}
BuildRequires: python2-hacking
BuildRequires: python2-fixtures
BuildRequires: python2-mock
BuildRequires: python2-oauthlib
BuildRequires: python2-oslotest
BuildRequires: python2-testtools
BuildRequires: python2-keystoneauth1
BuildRequires: python2-oslo-config
BuildRequires: python2-oslo-utils
BuildRequires: python2-oslo-serialization
BuildRequires: python2-oslo-i18n
BuildRequires: python2-stestr
BuildRequires: python2-testresources
BuildRequires: python2-testscenarios
%if 0%{?fedora} > 0
BuildRequires: python2-keyring >= 5.5.1
BuildRequires: python2-lxml
BuildRequires: python2-requests-mock
%else
BuildRequires: python-keyring >= 5.5.1
BuildRequires: python-lxml
BuildRequires: python-requests-mock
%endif
Requires: python2-hacking
Requires: python2-fixtures
Requires: python2-mock
Requires: python2-oauthlib
Requires: python2-oslotest
Requires: python2-stestr
Requires: python2-testtools
Requires: python2-testresources
Requires: python2-testscenarios
%if 0%{?fedora} > 0
Requires: python2-lxml
Requires: python2-requests-mock
%else
Requires: python-lxml
Requires: python-requests-mock
%endif
%description -n python2-keystoneclient-tests
python2-keystoneclient test subpackages
%if 0%{?with_python3}
%package -n python3-keystoneclient-tests
Summary: python3-keystoneclient test subpackage
Requires: python3-keystoneclient = %{epoch}:%{version}-%{release}
BuildRequires: python3-hacking
BuildRequires: python3-fixtures
BuildRequires: python3-keyring >= 5.5.1
BuildRequires: python3-lxml
BuildRequires: python3-mock
BuildRequires: python3-oauthlib
BuildRequires: python3-oslotest
BuildRequires: python3-requests-mock
BuildRequires: python3-testresources
BuildRequires: python3-testscenarios
BuildRequires: python3-testtools
BuildRequires: python3-keystoneauth1
BuildRequires: python3-oslo-config
BuildRequires: python3-oslo-utils
BuildRequires: python3-oslo-serialization
BuildRequires: python3-oslo-i18n
BuildRequires: python3-stestr
Requires: python3-hacking
Requires: python3-fixtures
Requires: python3-lxml
Requires: python3-mock
Requires: python3-oauthlib
Requires: python3-oslotest
Requires: python3-requests-mock
Requires: python3-stestr
Requires: python3-testresources
Requires: python3-testscenarios
Requires: python3-testtools
%description -n python3-keystoneclient-tests
python3-keystoneclient test subpackages
%endif
%package doc
Summary: Documentation for OpenStack Keystone API client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
%description doc
Documentation for the keystoneclient module
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# disable warning-is-error, this project has intersphinx in docs
# so some warnings are generated in network isolated build environment
# as koji
sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg
# Let RPM handle the dependencies
rm -rf {test-,}requirements.txt
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
%install
export PBR_VERSION=%{version}
%py2_install
%if 0%{?with_python3}
%py3_install
%endif
# Build HTML docs
%{__python2} setup.py build_sphinx -b html
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.{doctrees,buildinfo}
# STX: stage wheels
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
%check
stestr --test-path=./keystoneclient/tests/unit run
%if 0%{?with_python3}
stestr-3 --test-path=./keystoneclient/tests/unit run
%endif
%files -n python2-keystoneclient
%license LICENSE
%doc README.rst
%{python2_sitelib}/keystoneclient
%{python2_sitelib}/*.egg-info
%exclude %{python2_sitelib}/keystoneclient/tests
%if 0%{?with_python3}
%files -n python3-keystoneclient
%license LICENSE
%doc README.rst
%{python3_sitelib}/keystoneclient
%{python3_sitelib}/*.egg-info
%exclude %{python3_sitelib}/keystoneclient/tests
%endif
%files doc
%doc doc/build/html
%license LICENSE
%files -n python2-keystoneclient-tests
%license LICENSE
%{python2_sitelib}/keystoneclient/tests
%if 0%{?with_python3}
%files -n python3-keystoneclient-tests
%license LICENSE
%{python3_sitelib}/keystoneclient/tests
%endif
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Wed Aug 08 2018 RDO <dev@lists.rdoproject.org> 1:3.17.0-1
- Update to 3.17.0

View File

@ -1,247 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
Client library and command line utility for interacting with Openstack \
Identity API.
Name: python-keystoneclient
Epoch: 1
Version: 3.17.0
Release: 1%{?dist}
Summary: Client library for OpenStack Identity API
License: ASL 2.0
URL: https://launchpad.net/python-keystoneclient
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: /usr/bin/openssl
%description
%{common_desc}
%package -n python2-keystoneclient
Summary: Client library for OpenStack Identity API
%{?python_provide:%python_provide python2-keystoneclient}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pbr >= 2.0.0
BuildRequires: git
Requires: python2-oslo-config >= 2:5.2.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-requests >= 2.14.2
Requires: python2-six >= 1.10.0
Requires: python2-stevedore >= 1.20.0
Requires: python2-pbr >= 2.0.0
Requires: python2-debtcollector >= 1.2.0
Requires: python2-keystoneauth1 >= 3.4.0
%if 0%{?fedora} > 0
Requires: python2-keyring >= 5.5.1
%else
Requires: python-keyring >= 5.5.1
%endif
%description -n python2-keystoneclient
%{common_desc}
%if 0%{?with_python3}
%package -n python3-keystoneclient
Summary: Client library for OpenStack Identity API
%{?python_provide:%python_provide python3-keystoneclient}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr >= 2.0.0
Requires: python3-oslo-config >= 2:5.2.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-requests >= 2.14.2
Requires: python3-six >= 1.10.0
Requires: python3-stevedore >= 1.20.0
Requires: python3-pbr >= 2.0.0
Requires: python3-debtcollector >= 1.2.0
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-keyring >= 5.5.1
%description -n python3-keystoneclient
Client library for interacting with Openstack Identity API.
%endif
%package -n python2-keystoneclient-tests
Summary: python2-keystoneclient test subpackage
Requires: python2-keystoneclient = %{epoch}:%{version}-%{release}
BuildRequires: python2-hacking
BuildRequires: python2-fixtures
BuildRequires: python2-mock
BuildRequires: python2-oauthlib
BuildRequires: python2-oslotest
BuildRequires: python2-testtools
BuildRequires: python2-keystoneauth1
BuildRequires: python2-oslo-config
BuildRequires: python2-oslo-utils
BuildRequires: python2-oslo-serialization
BuildRequires: python2-oslo-i18n
BuildRequires: python2-stestr
BuildRequires: python2-testresources
BuildRequires: python2-testscenarios
%if 0%{?fedora} > 0
BuildRequires: python2-keyring >= 5.5.1
BuildRequires: python2-lxml
BuildRequires: python2-requests-mock
%else
BuildRequires: python-keyring >= 5.5.1
BuildRequires: python-lxml
BuildRequires: python-requests-mock
%endif
Requires: python2-hacking
Requires: python2-fixtures
Requires: python2-mock
Requires: python2-oauthlib
Requires: python2-oslotest
Requires: python2-stestr
Requires: python2-testtools
Requires: python2-testresources
Requires: python2-testscenarios
%if 0%{?fedora} > 0
Requires: python2-lxml
Requires: python2-requests-mock
%else
Requires: python-lxml
Requires: python-requests-mock
%endif
%description -n python2-keystoneclient-tests
python2-keystoneclient test subpackages
%if 0%{?with_python3}
%package -n python3-keystoneclient-tests
Summary: python3-keystoneclient test subpackage
Requires: python3-keystoneclient = %{epoch}:%{version}-%{release}
BuildRequires: python3-hacking
BuildRequires: python3-fixtures
BuildRequires: python3-keyring >= 5.5.1
BuildRequires: python3-lxml
BuildRequires: python3-mock
BuildRequires: python3-oauthlib
BuildRequires: python3-oslotest
BuildRequires: python3-requests-mock
BuildRequires: python3-testresources
BuildRequires: python3-testscenarios
BuildRequires: python3-testtools
BuildRequires: python3-keystoneauth1
BuildRequires: python3-oslo-config
BuildRequires: python3-oslo-utils
BuildRequires: python3-oslo-serialization
BuildRequires: python3-oslo-i18n
BuildRequires: python3-stestr
Requires: python3-hacking
Requires: python3-fixtures
Requires: python3-lxml
Requires: python3-mock
Requires: python3-oauthlib
Requires: python3-oslotest
Requires: python3-requests-mock
Requires: python3-stestr
Requires: python3-testresources
Requires: python3-testscenarios
Requires: python3-testtools
%description -n python3-keystoneclient-tests
python3-keystoneclient test subpackages
%endif
%package doc
Summary: Documentation for OpenStack Keystone API client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
%description doc
Documentation for the keystoneclient module
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# disable warning-is-error, this project has intersphinx in docs
# so some warnings are generated in network isolated build environment
# as koji
sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg
# Let RPM handle the dependencies
rm -rf {test-,}requirements.txt
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif
%install
%py2_install
%if 0%{?with_python3}
%py3_install
%endif
# Build HTML docs
%{__python2} setup.py build_sphinx -b html
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.{doctrees,buildinfo}
%check
stestr --test-path=./keystoneclient/tests/unit run
%if 0%{?with_python3}
stestr-3 --test-path=./keystoneclient/tests/unit run
%endif
%files -n python2-keystoneclient
%license LICENSE
%doc README.rst
%{python2_sitelib}/keystoneclient
%{python2_sitelib}/*.egg-info
%exclude %{python2_sitelib}/keystoneclient/tests
%if 0%{?with_python3}
%files -n python3-keystoneclient
%license LICENSE
%doc README.rst
%{python3_sitelib}/keystoneclient
%{python3_sitelib}/*.egg-info
%exclude %{python3_sitelib}/keystoneclient/tests
%endif
%files doc
%doc doc/build/html
%license LICENSE
%files -n python2-keystoneclient-tests
%license LICENSE
%{python2_sitelib}/keystoneclient/tests
%if 0%{?with_python3}
%files -n python3-keystoneclient-tests
%license LICENSE
%{python3_sitelib}/keystoneclient/tests
%endif
%changelog
* Wed Aug 08 2018 RDO <dev@lists.rdoproject.org> 1:3.17.0-1
- Update to 3.17.0

View File

@ -1,8 +0,0 @@
BUILDER=loci
LABEL=stx-neutron
PROJECT=neutron
PROJECT_REPO=https://opendev.org/openstack/neutron.git
PIP_PACKAGES="networking-sfc pycrypto pylint tinyrpc lxml"
DIST_PACKAGES="ethtool lshw"
PROFILES="fluent neutron linuxbridge openvswitch"

View File

@ -1,8 +0,0 @@
BUILDER=loci
LABEL=stx-neutron
PROJECT=neutron
PROJECT_REPO=https://opendev.org/openstack/neutron.git
PROJECT_REF=stable/ussuri
PIP_PACKAGES="networking-sfc pycrypto pylint tinyrpc lxml"
DIST_PACKAGES="ethtool lshw"
PROFILES="fluent neutron linuxbridge openvswitch"

View File

@ -1,4 +0,0 @@
TAR_NAME=python-neutronclient
SRC_DIR="$CGCS_BASE/git/python-neutronclient"
TIS_BASE_SRCREV="6.14.0"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,255 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname neutronclient
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
Client library and command line utility for interacting with OpenStack \
Neutron's API.
Name: python-neutronclient
Version: 6.14.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Python API and CLI for OpenStack Neutron
License: ASL 2.0
URL: http://launchpad.net/%{name}/
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{upstream_version}.tar.gz
BuildArch: noarch
Obsoletes: python-%{sname}-tests <= 4.1.1-3
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python API and CLI for OpenStack Neutron
%{?python_provide:%python_provide python2-neutronclient}
BuildRequires: git
BuildRequires: openstack-macros
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python2-pbr
# Required for unit tests
BuildRequires: python2-osc-lib-tests
BuildRequires: python2-oslotest
BuildRequires: python2-testtools
BuildRequires: python2-testrepository
BuildRequires: python2-testscenarios
BuildRequires: python2-oslo-log >= 3.36.0
Requires: python2-babel >= 2.3.4
Requires: python2-iso8601 >= 0.1.11
Requires: python2-os-client-config >= 1.28.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-log >= 3.36.0
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-pbr
Requires: python2-requests >= 2.14.2
Requires: python2-six >= 1.10.0
Requires: python2-debtcollector >= 1.2.0
Requires: python2-osc-lib >= 1.10.0
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-keystoneclient >= 1:3.8.0
Requires: python2-cliff >= 2.8.0
%if 0%{?fedora} > 0
Requires: python2-netaddr >= 0.7.18
Requires: python2-simplejson >= 3.5.1
%else
Requires: python-netaddr >= 0.7.18
Requires: python-simplejson >= 3.5.1
%endif
%description -n python2-%{sname}
%{common_desc}
%package -n python2-%{sname}-tests
Summary: Python API and CLI for OpenStack Neutron - Unit tests
%{?python_provide:%python_provide python2-%{sname}-tests}
Requires: python2-%{sname} == %{version}-%{release}
Requires: python2-osc-lib-tests
Requires: python2-oslotest
Requires: python2-testtools
Requires: python2-testrepository
Requires: python2-testscenarios
%description -n python2-%{sname}-tests
%{common_desc}
This package containts the unit tests.
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python API and CLI for OpenStack Neutron
%{?python_provide:%python_provide python3-neutronclient}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
# Required for unit tests
BuildRequires: python3-osc-lib-tests
BuildRequires: python3-oslotest
BuildRequires: python3-testrepository
BuildRequires: python3-testtools
BuildRequires: python3-testscenarios
Requires: python3-babel >= 2.3.4
Requires: python3-cliff >= 2.8.0
Requires: python3-iso8601 >= 0.1.11
Requires: python3-netaddr >= 0.7.18
Requires: python3-os-client-config >= 1.28.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-log >= 3.36.0
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-pbr
Requires: python3-requests >= 2.14.2
Requires: python3-simplejson >= 3.5.1
Requires: python3-six >= 1.10.0
Requires: python3-debtcollector >= 1.2.0
Requires: python3-osc-lib >= 1.10.0
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-keystoneclient >= 1:3.8.0
%description -n python3-%{sname}
%{common_desc}
%package -n python3-%{sname}-tests
Summary: Python API and CLI for OpenStack Neutron - Unit tests
%{?python_provide:%python_provide python3-%{sname}-tests}
Requires: python3-%{sname} == %{version}-%{release}
Requires: python3-osc-lib-tests
Requires: python3-oslotest
Requires: python3-testrepository
Requires: python3-testtools
Requires: python3-testscenarios
%description -n python3-%{sname}-tests
%{common_desc}
This package containts the unit tests.
%endif
%package doc
Summary: Documentation for OpenStack Neutron API Client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-reno
BuildRequires: python2-keystoneauth1
BuildRequires: python2-keystoneclient
BuildRequires: python2-os-client-config
BuildRequires: python2-osc-lib >= 1.10.0
BuildRequires: python2-oslo-serialization
BuildRequires: python2-oslo-utils
BuildRequires: python2-cliff
%description doc
%{common_desc}
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# Let RPM handle the dependencies
%py_req_cleanup
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
# Build HTML docs
export PYTHONPATH=.
sphinx-build -W -b html doc/source doc/build/html
# Fix hidden-file-or-dir warnings
rm -rf doc/build/html/.doctrees doc/build/html/.buildinfo
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/neutron %{buildroot}%{_bindir}/neutron-%{python3_version}
ln -s ./neutron-%{python3_version} %{buildroot}%{_bindir}/neutron-3
%endif
%py2_install
mv %{buildroot}%{_bindir}/neutron %{buildroot}%{_bindir}/neutron-%{python2_version}
ln -s ./neutron-%{python2_version} %{buildroot}%{_bindir}/neutron-2
ln -s ./neutron-2 %{buildroot}%{_bindir}/neutron
# STX: stage wheel files
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
%check
# (TODO) Ignore unit tests results until https://bugs.launchpad.net/python-neutronclient/+bug/1783789
# is fixed.
%{__python2} setup.py testr || true
%if 0%{?with_python3}
rm -rf .testrepository
%{__python3} setup.py testr || true
%endif
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{python2_sitelib}/neutronclient
%{python2_sitelib}/*.egg-info
%{_bindir}/neutron
%{_bindir}/neutron-2
%{_bindir}/neutron-%{python2_version}
%exclude %{python2_sitelib}/neutronclient/tests
%files -n python2-%{sname}-tests
%{python2_sitelib}/neutronclient/tests
%if 0%{?with_python3}
%files -n python3-%{sname}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{sname}
%{python3_sitelib}/*.egg-info
%{_bindir}/neutron-3
%{_bindir}/neutron-%{python3_version}
%exclude %{python3_sitelib}/neutronclient/tests
%files -n python3-%{sname}-tests
%{python3_sitelib}/neutronclient/tests
%endif
%files doc
%doc doc/build/html
%license LICENSE
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Thu Sep 20 2018 RDO <dev@lists.rdoproject.org> 6.9.1-1
- Update to 6.9.1
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 6.9.0-1
- Update to 6.9.0

View File

@ -1,233 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname neutronclient
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
Client library and command line utility for interacting with OpenStack \
Neutron's API.
Name: python-neutronclient
Version: 6.9.1
Release: 1%{?dist}
Summary: Python API and CLI for OpenStack Neutron
License: ASL 2.0
URL: http://launchpad.net/%{name}/
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{upstream_version}.tar.gz
BuildArch: noarch
Obsoletes: python-%{sname}-tests <= 4.1.1-3
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python API and CLI for OpenStack Neutron
%{?python_provide:%python_provide python2-neutronclient}
BuildRequires: git
BuildRequires: openstack-macros
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pbr
# Required for unit tests
BuildRequires: python2-osc-lib-tests
BuildRequires: python2-oslotest
BuildRequires: python2-testtools
BuildRequires: python2-testrepository
BuildRequires: python2-testscenarios
Requires: python2-babel >= 2.3.4
Requires: python2-iso8601 >= 0.1.11
Requires: python2-os-client-config >= 1.28.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-log >= 3.36.0
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-pbr
Requires: python2-requests >= 2.14.2
Requires: python2-six >= 1.10.0
Requires: python2-debtcollector >= 1.2.0
Requires: python2-osc-lib >= 1.10.0
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-keystoneclient >= 1:3.8.0
Requires: python2-cliff >= 2.8.0
%if 0%{?fedora} > 0
Requires: python2-netaddr >= 0.7.18
Requires: python2-simplejson >= 3.5.1
%else
Requires: python-netaddr >= 0.7.18
Requires: python-simplejson >= 3.5.1
%endif
%description -n python2-%{sname}
%{common_desc}
%package -n python2-%{sname}-tests
Summary: Python API and CLI for OpenStack Neutron - Unit tests
%{?python_provide:%python_provide python2-%{sname}-tests}
Requires: python2-%{sname} == %{version}-%{release}
Requires: python2-osc-lib-tests
Requires: python2-oslotest
Requires: python2-testtools
Requires: python2-testrepository
Requires: python2-testscenarios
%description -n python2-%{sname}-tests
%{common_desc}
This package containts the unit tests.
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python API and CLI for OpenStack Neutron
%{?python_provide:%python_provide python3-neutronclient}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
# Required for unit tests
BuildRequires: python3-osc-lib-tests
BuildRequires: python3-oslotest
BuildRequires: python3-testrepository
BuildRequires: python3-testtools
BuildRequires: python3-testscenarios
Requires: python3-babel >= 2.3.4
Requires: python3-cliff >= 2.8.0
Requires: python3-iso8601 >= 0.1.11
Requires: python3-netaddr >= 0.7.18
Requires: python3-os-client-config >= 1.28.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-log >= 3.36.0
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-pbr
Requires: python3-requests >= 2.14.2
Requires: python3-simplejson >= 3.5.1
Requires: python3-six >= 1.10.0
Requires: python3-debtcollector >= 1.2.0
Requires: python3-osc-lib >= 1.10.0
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-keystoneclient >= 1:3.8.0
%description -n python3-%{sname}
%{common_desc}
%package -n python3-%{sname}-tests
Summary: Python API and CLI for OpenStack Neutron - Unit tests
%{?python_provide:%python_provide python3-%{sname}-tests}
Requires: python3-%{sname} == %{version}-%{release}
Requires: python3-osc-lib-tests
Requires: python3-oslotest
Requires: python3-testrepository
Requires: python3-testtools
Requires: python3-testscenarios
%description -n python3-%{sname}-tests
%{common_desc}
This package containts the unit tests.
%endif
%package doc
Summary: Documentation for OpenStack Neutron API Client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-reno
BuildRequires: python2-keystoneauth1
BuildRequires: python2-keystoneclient
BuildRequires: python2-os-client-config
BuildRequires: python2-osc-lib
BuildRequires: python2-oslo-serialization
BuildRequires: python2-oslo-utils
BuildRequires: python2-cliff
%description doc
%{common_desc}
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# Let RPM handle the dependencies
%py_req_cleanup
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif
# Build HTML docs
export PYTHONPATH=.
sphinx-build -W -b html doc/source doc/build/html
# Fix hidden-file-or-dir warnings
rm -rf doc/build/html/.doctrees doc/build/html/.buildinfo
%install
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/neutron %{buildroot}%{_bindir}/neutron-%{python3_version}
ln -s ./neutron-%{python3_version} %{buildroot}%{_bindir}/neutron-3
%endif
%py2_install
mv %{buildroot}%{_bindir}/neutron %{buildroot}%{_bindir}/neutron-%{python2_version}
ln -s ./neutron-%{python2_version} %{buildroot}%{_bindir}/neutron-2
ln -s ./neutron-2 %{buildroot}%{_bindir}/neutron
%check
# (TODO) Ignore unit tests results until https://bugs.launchpad.net/python-neutronclient/+bug/1783789
# is fixed.
%{__python2} setup.py testr || true
%if 0%{?with_python3}
rm -rf .testrepository
%{__python3} setup.py testr || true
%endif
%files -n python2-%{sname}
%doc README.rst
%license LICENSE
%{python2_sitelib}/neutronclient
%{python2_sitelib}/*.egg-info
%{_bindir}/neutron
%{_bindir}/neutron-2
%{_bindir}/neutron-%{python2_version}
%exclude %{python2_sitelib}/neutronclient/tests
%files -n python2-%{sname}-tests
%{python2_sitelib}/neutronclient/tests
%if 0%{?with_python3}
%files -n python3-%{sname}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{sname}
%{python3_sitelib}/*.egg-info
%{_bindir}/neutron-3
%{_bindir}/neutron-%{python3_version}
%exclude %{python3_sitelib}/neutronclient/tests
%files -n python3-%{sname}-tests
%{python3_sitelib}/neutronclient/tests
%endif
%files doc
%doc doc/build/html
%license LICENSE
%changelog
* Thu Sep 20 2018 RDO <dev@lists.rdoproject.org> 6.9.1-1
- Update to 6.9.1
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 6.9.0-1
- Update to 6.9.0

View File

@ -1,9 +0,0 @@
BUILDER=loci
LABEL=stx-nova
PROJECT=nova
PROJECT_REPO=https://opendev.org/openstack/nova.git
PIP_PACKAGES="pycrypto httplib2 pylint python-ironicclient"
DIST_PACKAGES="openssh-clients openssh-server libvirt e2fsprogs"
PROFILES="fluent nova ceph linuxbridge openvswitch configdrive qemu apache"
CUSTOMIZATION="yum install -y openssh-clients"

View File

@ -1,9 +0,0 @@
BUILDER=loci
LABEL=stx-nova
PROJECT=nova
PROJECT_REPO=https://opendev.org/openstack/nova.git
PROJECT_REF=stable/ussuri
PIP_PACKAGES="pycrypto httplib2 pylint python-ironicclient"
DIST_PACKAGES="openssh-clients openssh-server libvirt e2fsprogs"
PROFILES="fluent nova ceph linuxbridge openvswitch configdrive qemu apache"
CUSTOMIZATION="yum install -y openssh-clients"

View File

@ -1,4 +0,0 @@
TAR_NAME=python-novaclient
SRC_DIR=$CGCS_BASE/git/python-novaclient
TIS_BASE_SRCREV="15.1.0"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,196 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname novaclient
%global with_doc 0
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
This is a client for the OpenStack Nova API. There's a Python API (the \
novaclient module), and a command-line script (nova). Each implements 100% of \
the OpenStack Nova API.
Name: python-novaclient
Epoch: 1
Version: 15.1.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: Python API and CLI for OpenStack Nova
License: ASL 2.0
URL: https://launchpad.net/%{name}
Source0: https://pypi.io/packages/source/p/%{name}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: git
BuildRequires: openstack-macros
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python API and CLI for OpenStack Nova
%{?python_provide:%python_provide python2-novaclient}
BuildRequires: python2-devel
BuildRequires: python2-pbr
BuildRequires: python2-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
Requires: python2-babel >= 2.3.4
Requires: python2-iso8601 >= 0.1.11
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-pbr >= 2.0.0
Requires: python2-prettytable >= 0.7.2
Requires: python-simplejson >= 3.5.1
Requires: python2-six >= 1.10.0
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python API and CLI for OpenStack Nova
%{?python_provide:%python_provide python3-novaclient}
BuildRequires: python3-devel
BuildRequires: python3-pbr
BuildRequires: python3-setuptools
Requires: python3-babel >= 2.3.4
Requires: python3-iso8601 >= 0.1.11
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-pbr >= 2.0.0
Requires: python3-prettytable >= 0.7.2
Requires: python3-simplejson >= 3.5.1
Requires: python3-six >= 1.10.0
%description -n python3-%{sname}
%{common_desc}
%endif
%if 0%{?with_doc}
%package doc
Summary: Documentation for OpenStack Nova API Client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-oslo-utils
BuildRequires: python2-keystoneauth1
BuildRequires: python2-oslo-serialization
BuildRequires: python2-prettytable
BuildRequires: python2-sphinxcontrib-apidoc
%description doc
%{common_desc}
This package contains auto-generated documentation.
%endif
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# Let RPM handle the requirements
%py_req_cleanup
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/nova %{buildroot}%{_bindir}/nova-%{python3_version}
ln -s ./nova-%{python3_version} %{buildroot}%{_bindir}/nova-3
# Delete tests
rm -fr %{buildroot}%{python3_sitelib}/novaclient/tests
%endif
%py2_install
mv %{buildroot}%{_bindir}/nova %{buildroot}%{_bindir}/nova-%{python2_version}
ln -s ./nova-%{python2_version} %{buildroot}%{_bindir}/nova-2
ln -s ./nova-2 %{buildroot}%{_bindir}/nova
mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d
install -pm 644 tools/nova.bash_completion \
%{buildroot}%{_sysconfdir}/bash_completion.d/nova
# Delete tests
rm -fr %{buildroot}%{python2_sitelib}/novaclient/tests
%if 0%{?with_doc}
%{__python2} setup.py build_sphinx -b html
# generate man page
sphinx-build -b man doc/source doc/build/man
install -p -D -m 644 doc/build/man/nova.1 %{buildroot}%{_mandir}/man1/nova.1
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo
%endif
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
%files -n python2-%{sname}
%license LICENSE
%doc README.rst
%{python2_sitelib}/%{sname}
%{python2_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%if 0%{?with_doc}
%{_mandir}/man1/nova.1.gz
%endif
%{_bindir}/nova
%{_bindir}/nova-2
%{_bindir}/nova-%{python2_version}
%if 0%{?with_python3}
%files -n python3-%{sname}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{sname}
%{python3_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%if 0%{?with_doc}
%{_mandir}/man1/nova.1.gz
%endif
%{_bindir}/nova-3
%{_bindir}/nova-%{python3_version}
%endif
%if 0%{?with_doc}
%files doc
%doc doc/build/html
%license LICENSE
%endif
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 1:11.0.0-1
- Update to 11.0.0

View File

@ -1,164 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global sname novaclient
%if 0%{?fedora}
%global with_python3 1
%endif
%global common_desc \
This is a client for the OpenStack Nova API. There's a Python API (the \
novaclient module), and a command-line script (nova). Each implements 100% of \
the OpenStack Nova API.
Name: python-novaclient
Epoch: 1
Version: 11.0.0
Release: 1%{?dist}
Summary: Python API and CLI for OpenStack Nova
License: ASL 2.0
URL: https://launchpad.net/%{name}
Source0: https://pypi.io/packages/source/p/%{name}/%{name}-%{version}.tar.gz
BuildArch: noarch
BuildRequires: git
BuildRequires: openstack-macros
%description
%{common_desc}
%package -n python2-%{sname}
Summary: Python API and CLI for OpenStack Nova
%{?python_provide:%python_provide python2-novaclient}
BuildRequires: python2-devel
BuildRequires: python2-pbr
BuildRequires: python2-setuptools
Requires: python2-babel >= 2.3.4
Requires: python2-iso8601 >= 0.1.11
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-serialization >= 2.18.0
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-pbr >= 2.0.0
Requires: python2-prettytable >= 0.7.2
Requires: python-simplejson >= 3.5.1
Requires: python2-six >= 1.10.0
%description -n python2-%{sname}
%{common_desc}
%if 0%{?with_python3}
%package -n python3-%{sname}
Summary: Python API and CLI for OpenStack Nova
%{?python_provide:%python_provide python3-novaclient}
BuildRequires: python3-devel
BuildRequires: python3-pbr
BuildRequires: python3-setuptools
Requires: python3-babel >= 2.3.4
Requires: python3-iso8601 >= 0.1.11
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-serialization >= 2.18.0
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-pbr >= 2.0.0
Requires: python3-prettytable >= 0.7.2
Requires: python3-simplejson >= 3.5.1
Requires: python3-six >= 1.10.0
%description -n python3-%{sname}
%{common_desc}
%endif
%package doc
Summary: Documentation for OpenStack Nova API Client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-oslo-utils
BuildRequires: python2-keystoneauth1
BuildRequires: python2-oslo-serialization
BuildRequires: python2-prettytable
%description doc
%{common_desc}
This package contains auto-generated documentation.
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# Let RPM handle the requirements
%py_req_cleanup
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif
%install
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/nova %{buildroot}%{_bindir}/nova-%{python3_version}
ln -s ./nova-%{python3_version} %{buildroot}%{_bindir}/nova-3
# Delete tests
rm -fr %{buildroot}%{python3_sitelib}/novaclient/tests
%endif
%py2_install
mv %{buildroot}%{_bindir}/nova %{buildroot}%{_bindir}/nova-%{python2_version}
ln -s ./nova-%{python2_version} %{buildroot}%{_bindir}/nova-2
ln -s ./nova-2 %{buildroot}%{_bindir}/nova
mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d
install -pm 644 tools/nova.bash_completion \
%{buildroot}%{_sysconfdir}/bash_completion.d/nova
# Delete tests
rm -fr %{buildroot}%{python2_sitelib}/novaclient/tests
%{__python2} setup.py build_sphinx -b html
%{__python2} setup.py build_sphinx -b man
install -p -D -m 644 doc/build/man/nova.1 %{buildroot}%{_mandir}/man1/nova.1
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo
%files -n python2-%{sname}
%license LICENSE
%doc README.rst
%{python2_sitelib}/%{sname}
%{python2_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%{_mandir}/man1/nova.1.gz
%{_bindir}/nova
%{_bindir}/nova-2
%{_bindir}/nova-%{python2_version}
%if 0%{?with_python3}
%files -n python3-%{sname}
%license LICENSE
%doc README.rst
%{python3_sitelib}/%{sname}
%{python3_sitelib}/*.egg-info
%{_sysconfdir}/bash_completion.d
%{_mandir}/man1/nova.1.gz
%{_bindir}/nova-3
%{_bindir}/nova-%{python3_version}
%endif
%files doc
%doc doc/build/html
%license LICENSE
%changelog
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 1:11.0.0-1
- Update to 11.0.0

View File

@ -1,4 +0,0 @@
TAR_NAME=python-openstackclient
SRC_DIR="$CGCS_BASE/git/python-openstackclient"
TIS_BASE_SRCREV="4.0.0"
TIS_PATCH_VER=GITREVCOUNT

View File

@ -1,291 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
# Python3 support in OpenStack starts with version 3.5,
# which is only in Fedora 24+
%if 0%{?fedora} >= 24
%global with_python3 1
%endif
%global client openstackclient
%global with_doc 0
%global with_check 0
%global common_desc \
python-openstackclient is a unified command-line client for the OpenStack APIs. \
It is a thin wrapper to the stock python-*client modules that implement the \
actual REST API client actions.
Name: python-openstackclient
Version: 4.0.0
Release: 1%{?_tis_dist}.%{tis_patch_ver}
Summary: OpenStack Command-line Client
License: ASL 2.0
URL: http://launchpad.net/%{name}
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{upstream_version}.tar.gz
BuildArch: noarch
BuildRequires: git
BuildRequires: openstack-macros
%description
%{common_desc}
%package -n python2-%{client}
Summary: OpenStack Command-line Client
%{?python_provide:%python_provide python2-%{client}}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pip
BuildRequires: python2-wheel
BuildRequires: python2-pbr
BuildRequires: python2-six
BuildRequires: python2-oslo-i18n
BuildRequires: python2-oslo-utils
BuildRequires: python2-requests
BuildRequires: python2-glanceclient
BuildRequires: python2-keystoneclient
BuildRequires: python2-novaclient
BuildRequires: python2-cinderclient
BuildRequires: python2-mock
BuildRequires: python2-os-client-config
%if 0%{?fedora} > 0
BuildRequires: python2-d2to1
BuildRequires: python2-cliff
BuildRequires: python2-simplejson
BuildRequires: python2-requests-mock
%else
BuildRequires: python-d2to1
BuildRequires: python-cliff
BuildRequires: python-simplejson
BuildRequires: python-requests-mock
%endif
# Required to compile translation files
BuildRequires: python2-babel
# Required for unit tests
BuildRequires: python2-os-testr
BuildRequires: python2-osc-lib-tests
BuildRequires: python2-fixtures
BuildRequires: python2-oslotest
BuildRequires: python2-reno
BuildRequires: python2-requestsexceptions
BuildRequires: python2-openstacksdk
BuildRequires: python2-osprofiler
Requires: python2-pbr
Requires: python2-babel
Requires: python2-openstacksdk >= 0.17.0
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-glanceclient >= 1:2.8.0
Requires: python2-keystoneauth1 >= 3.6.2
Requires: python2-keystoneclient >= 1:3.17.0
Requires: python2-novaclient >= 15.0.0
Requires: python2-cinderclient >= 3.3.0
Requires: python2-neutronclient >= 6.7.0
Requires: python2-six >= 1.10.0
Requires: python2-osc-lib >= 1.14.0
%if 0%{?fedora} > 0
Requires: python2-cliff
%else
Requires: python-cliff
%endif
Requires: python-%{client}-lang = %{version}-%{release}
%description -n python2-%{client}
%{common_desc}
%if 0%{?with_doc}
%package -n python-%{client}-doc
Summary: Documentation for OpenStack Command-line Client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-sphinxcontrib-apidoc
Requires: %{name} = %{version}-%{release}
%description -n python-%{client}-doc
%{common_desc}
This package contains auto-generated documentation.
%endif
%package -n python-%{client}-lang
Summary: Translation files for Openstackclient
%description -n python-%{client}-lang
Translation files for Openstackclient
%if 0%{?with_python3}
%package -n python3-%{client}
Summary: OpenStack Command-line Client
%{?python_provide:%python_provide python3-%{client}}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
BuildRequires: python3-d2to1
BuildRequires: python3-oslo-sphinx
BuildRequires: python3-six
BuildRequires: python3-cliff
BuildRequires: python3-oslo-i18n
BuildRequires: python3-oslo-utils
BuildRequires: python3-simplejson
BuildRequires: python3-requests
BuildRequires: python3-glanceclient
BuildRequires: python3-keystoneclient
BuildRequires: python3-novaclient
BuildRequires: python3-cinderclient
BuildRequires: python3-mock
BuildRequires: python3-requests-mock
BuildRequires: python3-os-client-config
# Required to compile translation files
BuildRequires: python3-babel
# Required for unit tests
BuildRequires: python3-os-testr
BuildRequires: python3-osc-lib-tests
BuildRequires: python3-coverage
BuildRequires: python3-fixtures
BuildRequires: python3-oslotest
BuildRequires: python3-reno
BuildRequires: python3-requestsexceptions
BuildRequires: python3-openstacksdk
BuildRequires: python3-osprofiler
Requires: python3-pbr
Requires: python3-babel
Requires: python3-cliff
Requires: python3-openstacksdk >= 0.17.0
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-glanceclient >= 1:2.8.0
Requires: python3-keystoneauth1 >= 3.6.2
Requires: python3-keystoneclient >= 1:3.17.0
Requires: python3-novaclient >= 15.0.0
Requires: python3-cinderclient >= 3.3.0
Requires: python3-neutronclient >= 6.7.0
Requires: python3-six >= 1.10.0
Requires: python3-osc-lib >= 1.14.0
Requires: python-%{client}-lang = %{version}-%{release}
%description -n python3-%{client}
%{common_desc}
%endif
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# We handle requirements ourselves, pkg_resources only bring pain
%py_req_cleanup
%build
export PBR_VERSION=%{version}
%py2_build
%py2_build_wheel
%if 0%{?with_python3}
%py3_build
%endif
# Generate i18n files
%{__python2} setup.py compile_catalog -d build/lib/openstackclient/locale
%install
export PBR_VERSION=%{version}
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/openstack %{buildroot}%{_bindir}/openstack-%{python3_version}
ln -s ./openstack-%{python3_version} %{buildroot}%{_bindir}/openstack-3
%endif
%{__python2} setup.py install -O1 --skip-build --root %{buildroot}
ln -s ./openstack %{buildroot}%{_bindir}/openstack-2
ln -s ./openstack %{buildroot}%{_bindir}/openstack-%{python2_version}
%if 0%{?with_doc}
sphinx-build -b html doc/source doc/build/html
sphinx-build -b man doc/source doc/build/man
install -p -D -m 644 doc/build/man/openstack.1 %{buildroot}%{_mandir}/man1/openstack.1
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo doc/build/html/.htaccess
%endif
# Install i18n .mo files (.po and .pot are not required)
install -d -m 755 %{buildroot}%{_datadir}
rm -f %{buildroot}%{python2_sitelib}/openstackclient/locale/*/LC_*/openstackclient*po
rm -f %{buildroot}%{python2_sitelib}/openstackclient/locale/*pot
mv %{buildroot}%{python2_sitelib}/openstackclient/locale %{buildroot}%{_datadir}/locale
%if 0%{?with_python3}
rm -rf %{buildroot}%{python3_sitelib}/openstackclient/locale
%endif
# Find language files
%find_lang openstackclient --all-name
# STX: stage wheels
mkdir -p $RPM_BUILD_ROOT/wheels
install -m 644 dist/*.whl $RPM_BUILD_ROOT/wheels/
%check
%if 0%{?with_check}
%{__python2} setup.py test
%if 0%{?with_python3}
rm -rf .testrepository
%{__python3} setup.py test
%endif
%endif
%files -n python2-%{client}
%license LICENSE
%doc README.rst
%{_bindir}/openstack
%{_bindir}/openstack-2
%{_bindir}/openstack-%{python2_version}
%{python2_sitelib}/openstackclient
%{python2_sitelib}/*.egg-info
%if 0%{?with_doc}
%{_mandir}/man1/openstack.1*
%files -n python-%{client}-doc
%license LICENSE
%doc doc/build/html
%endif
%files -n python-%{client}-lang -f openstackclient.lang
%license LICENSE
%if 0%{?with_python3}
%files -n python3-%{client}
%license LICENSE
%doc README.rst
%{_bindir}/openstack-3
%{_bindir}/openstack-%{python3_version}
%{python3_sitelib}/openstackclient
%{python3_sitelib}/*.egg-info
%endif
%package wheels
Summary: %{name} wheels
%description wheels
Contains python wheels for %{name}
%files wheels
/wheels/*
%changelog
* Tue Nov 27 2018 RDO <dev@lists.rdoproject.org> 3.16.2-1
- Update to 3.16.2
* Thu Sep 20 2018 RDO <dev@lists.rdoproject.org> 3.16.1-1
- Update to 3.16.1
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 3.16.0-1
- Update to 3.16.0

View File

@ -1,268 +0,0 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
# Python3 support in OpenStack starts with version 3.5,
# which is only in Fedora 24+
%if 0%{?fedora} >= 24
%global with_python3 1
%endif
%global client openstackclient
%global with_doc 1
%global common_desc \
python-openstackclient is a unified command-line client for the OpenStack APIs. \
It is a thin wrapper to the stock python-*client modules that implement the \
actual REST API client actions.
Name: python-openstackclient
Version: 3.16.2
Release: 1%{?dist}
Summary: OpenStack Command-line Client
License: ASL 2.0
URL: http://launchpad.net/%{name}
Source0: https://tarballs.openstack.org/%{name}/%{name}-%{upstream_version}.tar.gz
BuildArch: noarch
BuildRequires: git
BuildRequires: openstack-macros
%description
%{common_desc}
%package -n python2-%{client}
Summary: OpenStack Command-line Client
%{?python_provide:%python_provide python2-%{client}}
BuildRequires: python2-devel
BuildRequires: python2-setuptools
BuildRequires: python2-pbr
BuildRequires: python2-six
BuildRequires: python2-oslo-i18n
BuildRequires: python2-oslo-utils
BuildRequires: python2-requests
BuildRequires: python2-glanceclient
BuildRequires: python2-keystoneclient
BuildRequires: python2-novaclient
BuildRequires: python2-cinderclient
BuildRequires: python2-mock
BuildRequires: python2-os-client-config
%if 0%{?fedora} > 0
BuildRequires: python2-d2to1
BuildRequires: python2-cliff
BuildRequires: python2-simplejson
BuildRequires: python2-requests-mock
%else
BuildRequires: python-d2to1
BuildRequires: python-cliff
BuildRequires: python-simplejson
BuildRequires: python-requests-mock
%endif
# Required to compile translation files
BuildRequires: python2-babel
# Required for unit tests
BuildRequires: python2-os-testr
BuildRequires: python2-osc-lib-tests
BuildRequires: python2-fixtures
BuildRequires: python2-oslotest
BuildRequires: python2-reno
BuildRequires: python2-requestsexceptions
BuildRequires: python2-openstacksdk
BuildRequires: python2-osprofiler
Requires: python2-pbr
Requires: python2-babel
Requires: python2-openstacksdk >= 0.11.2
Requires: python2-oslo-i18n >= 3.15.3
Requires: python2-oslo-utils >= 3.33.0
Requires: python2-glanceclient >= 1:2.8.0
Requires: python2-keystoneauth1 >= 3.4.0
Requires: python2-keystoneclient >= 1:3.17.0
Requires: python2-novaclient >= 9.1.0
Requires: python2-cinderclient >= 3.3.0
Requires: python2-neutronclient >= 6.7.0
Requires: python2-six >= 1.10.0
Requires: python2-osc-lib >= 1.10.0
%if 0%{?fedora} > 0
Requires: python2-cliff
%else
Requires: python-cliff
%endif
Requires: python-%{client}-lang = %{version}-%{release}
%description -n python2-%{client}
%{common_desc}
%if 0%{?with_doc}
%package -n python-%{client}-doc
Summary: Documentation for OpenStack Command-line Client
BuildRequires: python2-sphinx
BuildRequires: python2-openstackdocstheme
BuildRequires: python2-sphinxcontrib-apidoc
Requires: %{name} = %{version}-%{release}
%description -n python-%{client}-doc
%{common_desc}
This package contains auto-generated documentation.
%endif
%package -n python-%{client}-lang
Summary: Translation files for Openstackclient
%description -n python-%{client}-lang
Translation files for Openstackclient
%if 0%{?with_python3}
%package -n python3-%{client}
Summary: OpenStack Command-line Client
%{?python_provide:%python_provide python3-%{client}}
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pbr
BuildRequires: python3-d2to1
BuildRequires: python3-oslo-sphinx
BuildRequires: python3-six
BuildRequires: python3-cliff
BuildRequires: python3-oslo-i18n
BuildRequires: python3-oslo-utils
BuildRequires: python3-simplejson
BuildRequires: python3-requests
BuildRequires: python3-glanceclient
BuildRequires: python3-keystoneclient
BuildRequires: python3-novaclient
BuildRequires: python3-cinderclient
BuildRequires: python3-mock
BuildRequires: python3-requests-mock
BuildRequires: python3-os-client-config
# Required to compile translation files
BuildRequires: python3-babel
# Required for unit tests
BuildRequires: python3-os-testr
BuildRequires: python3-osc-lib-tests
BuildRequires: python3-coverage
BuildRequires: python3-fixtures
BuildRequires: python3-oslotest
BuildRequires: python3-reno
BuildRequires: python3-requestsexceptions
BuildRequires: python3-openstacksdk
BuildRequires: python3-osprofiler
Requires: python3-pbr
Requires: python3-babel
Requires: python3-cliff
Requires: python3-openstacksdk >= 0.11.2
Requires: python3-oslo-i18n >= 3.15.3
Requires: python3-oslo-utils >= 3.33.0
Requires: python3-glanceclient >= 1:2.8.0
Requires: python3-keystoneauth1 >= 3.4.0
Requires: python3-keystoneclient >= 1:3.17.0
Requires: python3-novaclient >= 9.1.0
Requires: python3-cinderclient >= 3.3.0
Requires: python3-neutronclient >= 6.7.0
Requires: python3-six >= 1.10.0
Requires: python3-osc-lib >= 1.10.0
Requires: python-%{client}-lang = %{version}-%{release}
%description -n python3-%{client}
%{common_desc}
%endif
%prep
%autosetup -n %{name}-%{upstream_version} -S git
# We handle requirements ourselves, pkg_resources only bring pain
%py_req_cleanup
%build
%py2_build
%if 0%{?with_python3}
%py3_build
%endif
# Generate i18n files
%{__python2} setup.py compile_catalog -d build/lib/openstackclient/locale
%install
%if 0%{?with_python3}
%py3_install
mv %{buildroot}%{_bindir}/openstack %{buildroot}%{_bindir}/openstack-%{python3_version}
ln -s ./openstack-%{python3_version} %{buildroot}%{_bindir}/openstack-3
%endif
%{__python2} setup.py install -O1 --skip-build --root %{buildroot}
ln -s ./openstack %{buildroot}%{_bindir}/openstack-2
ln -s ./openstack %{buildroot}%{_bindir}/openstack-%{python2_version}
%if 0%{?with_doc}
sphinx-build -b html doc/source doc/build/html
sphinx-build -b man doc/source doc/build/man
install -p -D -m 644 doc/build/man/openstack.1 %{buildroot}%{_mandir}/man1/openstack.1
# Fix hidden-file-or-dir warnings
rm -fr doc/build/html/.doctrees doc/build/html/.buildinfo doc/build/html/.htaccess
%endif
# Install i18n .mo files (.po and .pot are not required)
install -d -m 755 %{buildroot}%{_datadir}
rm -f %{buildroot}%{python2_sitelib}/openstackclient/locale/*/LC_*/openstackclient*po
rm -f %{buildroot}%{python2_sitelib}/openstackclient/locale/*pot
mv %{buildroot}%{python2_sitelib}/openstackclient/locale %{buildroot}%{_datadir}/locale
%if 0%{?with_python3}
rm -rf %{buildroot}%{python3_sitelib}/openstackclient/locale
%endif
# Find language files
%find_lang openstackclient --all-name
%check
%{__python2} setup.py test
%if 0%{?with_python3}
rm -rf .testrepository
%{__python3} setup.py test
%endif
%files -n python2-%{client}
%license LICENSE
%doc README.rst
%{_bindir}/openstack
%{_bindir}/openstack-2
%{_bindir}/openstack-%{python2_version}
%{python2_sitelib}/openstackclient
%{python2_sitelib}/*.egg-info
%if 0%{?with_doc}
%{_mandir}/man1/openstack.1*
%files -n python-%{client}-doc
%license LICENSE
%doc doc/build/html
%endif
%files -n python-%{client}-lang -f openstackclient.lang
%license LICENSE
%if 0%{?with_python3}
%files -n python3-%{client}
%license LICENSE
%doc README.rst
%{_bindir}/openstack-3
%{_bindir}/openstack-%{python3_version}
%{python3_sitelib}/openstackclient
%{python3_sitelib}/*.egg-info
%endif
%changelog
* Tue Nov 27 2018 RDO <dev@lists.rdoproject.org> 3.16.2-1
- Update to 3.16.2
* Thu Sep 20 2018 RDO <dev@lists.rdoproject.org> 3.16.1-1
- Update to 3.16.1
* Thu Aug 09 2018 RDO <dev@lists.rdoproject.org> 3.16.0-1
- Update to 3.16.0

View File

@ -1,10 +0,0 @@
BUILDER=loci
LABEL=stx-openstackclients
PROJECT=infra
PROJECT_REPO=nil
PIP_PACKAGES="pycrypto httplib2 pylint pyopenssl ndg-httpsclient pyasn1 \
python-ceilometerclient python-cinderclient python-glanceclient python-heatclient \
python-keystoneclient python-neutronclient python-novaclient python-barbicanclient \
python-swiftclient python-openstackclient"
DIST_PACKAGES="python-devel libffi-devel openssl-devel which bash-completion"

Some files were not shown because too many files have changed in this diff Show More