aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app-admin/glance/Manifest1
-rw-r--r--app-admin/glance/files/glance.initd15
-rw-r--r--app-admin/glance/glance-21.0.0.ebuild136
-rw-r--r--app-admin/glance/metadata.xml23
-rw-r--r--app-emulation/spice-html5/Manifest2
-rw-r--r--app-emulation/spice-html5/metadata.xml16
-rw-r--r--app-emulation/spice-html5/spice-html5-0.2.1.ebuild28
-rw-r--r--app-emulation/spice-html5/spice-html5-0.2.2.ebuild28
-rw-r--r--dev-python/WSME/Manifest1
-rw-r--r--dev-python/WSME/WSME-0.10.0.ebuild25
-rw-r--r--dev-python/WSME/metadata.xml16
-rw-r--r--dev-python/XenAPI/Manifest1
-rw-r--r--dev-python/XenAPI/XenAPI-2.14.ebuild17
-rw-r--r--dev-python/XenAPI/metadata.xml11
-rw-r--r--dev-python/aodhclient/Manifest1
-rw-r--r--dev-python/aodhclient/aodhclient-2.1.1.ebuild31
-rw-r--r--dev-python/aodhclient/metadata.xml17
-rw-r--r--dev-python/automaton/Manifest1
-rw-r--r--dev-python/automaton/automaton-2.2.0.ebuild28
-rw-r--r--dev-python/automaton/metadata.xml12
-rw-r--r--dev-python/castellan/Manifest1
-rw-r--r--dev-python/castellan/castellan-3.6.0.ebuild35
-rw-r--r--dev-python/castellan/metadata.xml12
-rw-r--r--dev-python/cursive/Manifest1
-rw-r--r--dev-python/cursive/cursive-0.2.2-r1.ebuild28
-rw-r--r--dev-python/cursive/metadata.xml17
-rw-r--r--dev-python/futurist/Manifest1
-rw-r--r--dev-python/futurist/futurist-2.3.0.ebuild23
-rw-r--r--dev-python/futurist/metadata.xml12
-rw-r--r--dev-python/glance_store/Manifest1
-rw-r--r--dev-python/glance_store/glance_store-2.3.0.ebuild47
-rw-r--r--dev-python/glance_store/metadata.xml23
-rw-r--r--dev-python/keystonemiddleware/Manifest1
-rw-r--r--dev-python/keystonemiddleware/keystonemiddleware-9.1.0.ebuild41
-rw-r--r--dev-python/keystonemiddleware/metadata.xml17
-rw-r--r--dev-python/ldappool/Manifest1
-rw-r--r--dev-python/ldappool/ldappool-2.4.1.ebuild26
-rw-r--r--dev-python/ldappool/metadata.xml16
-rw-r--r--dev-python/microversion-parse/Manifest1
-rw-r--r--dev-python/microversion-parse/metadata.xml17
-rw-r--r--dev-python/microversion-parse/microversion-parse-1.0.1.ebuild22
-rw-r--r--dev-python/neutron-lib/Manifest1
-rw-r--r--dev-python/neutron-lib/metadata.xml13
-rw-r--r--dev-python/neutron-lib/neutron-lib-2.6.1.ebuild51
-rw-r--r--dev-python/os-brick/Manifest1
-rw-r--r--dev-python/os-brick/metadata.xml13
-rw-r--r--dev-python/os-brick/os-brick-4.0.1-r1.ebuild39
-rw-r--r--dev-python/os-ken/Manifest1
-rw-r--r--dev-python/os-ken/metadata.xml13
-rw-r--r--dev-python/os-ken/os-ken-1.2.0.ebuild34
-rw-r--r--dev-python/os-resource-classes/Manifest1
-rw-r--r--dev-python/os-resource-classes/metadata.xml13
-rw-r--r--dev-python/os-resource-classes/os-resource-classes-1.0.0.ebuild21
-rw-r--r--dev-python/os-traits/Manifest1
-rw-r--r--dev-python/os-traits/metadata.xml13
-rw-r--r--dev-python/os-traits/os-traits-2.4.0.ebuild18
-rw-r--r--dev-python/os-vif/Manifest1
-rw-r--r--dev-python/os-vif/metadata.xml13
-rw-r--r--dev-python/os-vif/os-vif-2.2.0.ebuild37
-rw-r--r--dev-python/os-win/Manifest1
-rw-r--r--dev-python/os-win/metadata.xml13
-rw-r--r--dev-python/os-win/os-win-5.1.0.ebuild34
-rw-r--r--dev-python/os-xenapi/Manifest1
-rw-r--r--dev-python/os-xenapi/metadata.xml13
-rw-r--r--dev-python/os-xenapi/os-xenapi-0.3.4-r1.ebuild30
-rw-r--r--dev-python/oslo-cache/Manifest1
-rw-r--r--dev-python/oslo-cache/metadata.xml13
-rw-r--r--dev-python/oslo-cache/oslo-cache-2.6.1.ebuild34
-rw-r--r--dev-python/oslo-concurrency/Manifest1
-rw-r--r--dev-python/oslo-concurrency/metadata.xml19
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-4.3.1.ebuild30
-rw-r--r--dev-python/oslo-db/Manifest1
-rw-r--r--dev-python/oslo-db/metadata.xml17
-rw-r--r--dev-python/oslo-db/oslo-db-8.4.0.ebuild52
-rw-r--r--dev-python/oslo-messaging/Manifest1
-rw-r--r--dev-python/oslo-messaging/metadata.xml16
-rw-r--r--dev-python/oslo-messaging/oslo-messaging-12.5.1.ebuild42
-rw-r--r--dev-python/oslo-middleware/Manifest1
-rw-r--r--dev-python/oslo-middleware/metadata.xml19
-rw-r--r--dev-python/oslo-middleware/oslo-middleware-4.1.1.ebuild37
-rw-r--r--dev-python/oslo-policy/Manifest1
-rw-r--r--dev-python/oslo-policy/metadata.xml16
-rw-r--r--dev-python/oslo-policy/oslo-policy-3.5.0.ebuild36
-rw-r--r--dev-python/oslo-privsep/Manifest1
-rw-r--r--dev-python/oslo-privsep/metadata.xml16
-rw-r--r--dev-python/oslo-privsep/oslo-privsep-2.4.0.ebuild38
-rw-r--r--dev-python/oslo-reports/Manifest1
-rw-r--r--dev-python/oslo-reports/metadata.xml12
-rw-r--r--dev-python/oslo-reports/oslo-reports-2.2.0.ebuild33
-rw-r--r--dev-python/oslo-rootwrap/Manifest1
-rw-r--r--dev-python/oslo-rootwrap/metadata.xml16
-rw-r--r--dev-python/oslo-rootwrap/oslo-rootwrap-6.2.0.ebuild22
-rw-r--r--dev-python/oslo-service/Manifest1
-rw-r--r--dev-python/oslo-service/metadata.xml12
-rw-r--r--dev-python/oslo-service/oslo-service-2.4.0.ebuild41
-rw-r--r--dev-python/oslo-upgradecheck/Manifest1
-rw-r--r--dev-python/oslo-upgradecheck/metadata.xml17
-rw-r--r--dev-python/oslo-upgradecheck/oslo-upgradecheck-1.1.1.ebuild32
-rw-r--r--dev-python/oslo-versionedobjects/Manifest1
-rw-r--r--dev-python/oslo-versionedobjects/metadata.xml12
-rw-r--r--dev-python/oslo-versionedobjects/oslo-versionedobjects-2.3.0.ebuild36
-rw-r--r--dev-python/oslo-vmware/Manifest1
-rw-r--r--dev-python/oslo-vmware/metadata.xml23
-rw-r--r--dev-python/oslo-vmware/oslo-vmware-3.7.0.ebuild42
-rw-r--r--dev-python/osprofiler/Manifest1
-rw-r--r--dev-python/osprofiler/metadata.xml17
-rw-r--r--dev-python/osprofiler/osprofiler-3.4.0.ebuild31
-rw-r--r--dev-python/ovsdbapp/Manifest1
-rw-r--r--dev-python/ovsdbapp/metadata.xml15
-rw-r--r--dev-python/ovsdbapp/ovsdbapp-1.5.0.ebuild28
-rw-r--r--dev-python/pycadf/Manifest1
-rw-r--r--dev-python/pycadf/metadata.xml16
-rw-r--r--dev-python/pycadf/pycadf-3.1.1.ebuild27
-rw-r--r--dev-python/pypowervm/Manifest1
-rw-r--r--dev-python/pypowervm/metadata.xml13
-rw-r--r--dev-python/pypowervm/pypowervm-1.1.24.ebuild31
-rw-r--r--dev-python/pysaml2/Manifest1
-rw-r--r--dev-python/pysaml2/metadata.xml20
-rw-r--r--dev-python/pysaml2/pysaml2-6.1.0.ebuild26
-rw-r--r--dev-python/python-barbicanclient/Manifest1
-rw-r--r--dev-python/python-barbicanclient/metadata.xml17
-rw-r--r--dev-python/python-barbicanclient/python-barbicanclient-5.0.1.ebuild28
-rw-r--r--dev-python/python-blazarclient/Manifest1
-rw-r--r--dev-python/python-blazarclient/metadata.xml15
-rw-r--r--dev-python/python-blazarclient/python-blazarclient-3.1.1.ebuild35
-rw-r--r--dev-python/python-designateclient/Manifest1
-rw-r--r--dev-python/python-designateclient/metadata.xml16
-rw-r--r--dev-python/python-designateclient/python-designateclient-4.1.0.ebuild36
-rw-r--r--dev-python/python-heatclient/Manifest1
-rw-r--r--dev-python/python-heatclient/metadata.xml16
-rw-r--r--dev-python/python-heatclient/python-heatclient-2.2.1.ebuild39
-rw-r--r--dev-python/python-magnumclient/Manifest1
-rw-r--r--dev-python/python-magnumclient/metadata.xml17
-rw-r--r--dev-python/python-magnumclient/python-magnumclient-3.2.1.ebuild39
-rw-r--r--dev-python/python-manilaclient/Manifest1
-rw-r--r--dev-python/python-manilaclient/metadata.xml17
-rw-r--r--dev-python/python-manilaclient/python-manilaclient-2.3.0.ebuild36
-rw-r--r--dev-python/python-mistralclient/Manifest1
-rw-r--r--dev-python/python-mistralclient/metadata.xml17
-rw-r--r--dev-python/python-mistralclient/python-mistralclient-4.1.1.ebuild34
-rw-r--r--dev-python/python-monascaclient/Manifest1
-rw-r--r--dev-python/python-monascaclient/metadata.xml17
-rw-r--r--dev-python/python-monascaclient/python-monascaclient-2.2.1.ebuild34
-rw-r--r--dev-python/python-octaviaclient/Manifest1
-rw-r--r--dev-python/python-octaviaclient/metadata.xml15
-rw-r--r--dev-python/python-octaviaclient/python-octaviaclient-2.2.0.ebuild34
-rw-r--r--dev-python/python-saharaclient/Manifest1
-rw-r--r--dev-python/python-saharaclient/metadata.xml17
-rw-r--r--dev-python/python-saharaclient/python-saharaclient-3.2.1.ebuild35
-rw-r--r--dev-python/python-senlinclient/Manifest1
-rw-r--r--dev-python/python-senlinclient/metadata.xml17
-rw-r--r--dev-python/python-senlinclient/python-senlinclient-2.1.1.ebuild31
-rw-r--r--dev-python/python-troveclient/Manifest1
-rw-r--r--dev-python/python-troveclient/metadata.xml17
-rw-r--r--dev-python/python-troveclient/python-troveclient-5.1.1.ebuild35
-rw-r--r--dev-python/python-vitrageclient/Manifest1
-rw-r--r--dev-python/python-vitrageclient/metadata.xml15
-rw-r--r--dev-python/python-vitrageclient/python-vitrageclient-4.1.1.ebuild29
-rw-r--r--dev-python/python-zaqarclient/Manifest1
-rw-r--r--dev-python/python-zaqarclient/metadata.xml17
-rw-r--r--dev-python/python-zaqarclient/python-zaqarclient-2.0.1.ebuild35
-rw-r--r--dev-python/python-zunclient/Manifest1
-rw-r--r--dev-python/python-zunclient/metadata.xml15
-rw-r--r--dev-python/python-zunclient/python-zunclient-4.1.1.ebuild33
-rw-r--r--dev-python/ryu/Manifest1
-rw-r--r--dev-python/ryu/metadata.xml12
-rw-r--r--dev-python/ryu/ryu-4.34.ebuild24
-rw-r--r--dev-python/taskflow/Manifest1
-rw-r--r--dev-python/taskflow/metadata.xml17
-rw-r--r--dev-python/taskflow/taskflow-4.5.0.ebuild37
-rw-r--r--dev-python/tinyrpc/Manifest1
-rw-r--r--dev-python/tinyrpc/metadata.xml23
-rw-r--r--dev-python/tinyrpc/tinyrpc-1.0.1.ebuild30
-rw-r--r--dev-python/tooz/Manifest1
-rw-r--r--dev-python/tooz/metadata.xml15
-rw-r--r--dev-python/tooz/tooz-2.7.1.ebuild35
-rw-r--r--dev-python/yaql/Manifest1
-rw-r--r--dev-python/yaql/metadata.xml23
-rw-r--r--dev-python/yaql/yaql-1.1.3.ebuild24
-rw-r--r--dev-python/zVMCloudConnector/Manifest1
-rw-r--r--dev-python/zVMCloudConnector/metadata.xml17
-rw-r--r--dev-python/zVMCloudConnector/zVMCloudConnector-1.4.1.ebuild27
-rw-r--r--sys-auth/keystone/Manifest2
-rw-r--r--sys-auth/keystone/keystone-18.0.0.ebuild156
-rw-r--r--sys-auth/keystone/metadata.xml19
-rw-r--r--sys-cluster/cinder/Manifest2
-rw-r--r--sys-cluster/cinder/cinder-17.1.0.ebuild191
-rw-r--r--sys-cluster/cinder/files/cinder.initd17
-rw-r--r--sys-cluster/cinder/files/cinder.sudoersd4
-rw-r--r--sys-cluster/cinder/metadata.xml22
-rw-r--r--sys-cluster/heat/Manifest2
-rw-r--r--sys-cluster/heat/files/heat.initd16
-rw-r--r--sys-cluster/heat/heat-15.0.0.ebuild163
-rw-r--r--sys-cluster/heat/metadata.xml19
-rw-r--r--sys-cluster/neutron/Manifest6
-rw-r--r--sys-cluster/neutron/files/neutron-dhcp-agent.confd2
-rw-r--r--sys-cluster/neutron/files/neutron-l3-agent.confd2
-rw-r--r--sys-cluster/neutron/files/neutron-linuxbridge-agent.confd1
-rw-r--r--sys-cluster/neutron/files/neutron-metadata-agent.confd2
-rw-r--r--sys-cluster/neutron/files/neutron-openvswitch-agent.confd1
-rw-r--r--sys-cluster/neutron/files/neutron-server.confd1
-rw-r--r--sys-cluster/neutron/files/neutron.initd17
-rw-r--r--sys-cluster/neutron/files/neutron.sudoersd4
-rw-r--r--sys-cluster/neutron/metadata.xml33
-rw-r--r--sys-cluster/neutron/neutron-17.1.1.ebuild227
-rw-r--r--sys-cluster/neutron/neutron-17.1.2.ebuild227
-rw-r--r--sys-cluster/nova/Manifest4
-rw-r--r--sys-cluster/nova/files/nova-compute.conf4
-rw-r--r--sys-cluster/nova/files/nova-sudoers3
-rw-r--r--sys-cluster/nova/files/nova.initd25
-rw-r--r--sys-cluster/nova/files/openstack-scsi-disk.rules2
-rw-r--r--sys-cluster/nova/files/scsi-openscsi-link.sh93
-rw-r--r--sys-cluster/nova/metadata.xml28
-rw-r--r--sys-cluster/nova/nova-22.2.0.ebuild213
-rw-r--r--sys-cluster/nova/nova-22.2.1.ebuild213
-rw-r--r--sys-cluster/openstack-meta/metadata.xml19
-rw-r--r--sys-cluster/openstack-meta/openstack-meta-2020.1.1.ebuild35
-rw-r--r--sys-cluster/openstack-meta/openstack-meta-2020.2.0.ebuild35
-rw-r--r--sys-cluster/placement/Manifest2
-rw-r--r--sys-cluster/placement/metadata.xml15
-rw-r--r--sys-cluster/placement/placement-4.0.0.ebuild77
-rw-r--r--sys-cluster/swift/Manifest2
-rw-r--r--sys-cluster/swift/files/swift-account.initd35
-rw-r--r--sys-cluster/swift/files/swift-container.initd35
-rw-r--r--sys-cluster/swift/files/swift-object.initd35
-rw-r--r--sys-cluster/swift/files/swift-proxy.initd56
-rw-r--r--sys-cluster/swift/metadata.xml22
-rw-r--r--sys-cluster/swift/swift-2.26.0.ebuild111
-rw-r--r--sys-cluster/swift/swift-2.27.0.ebuild113
229 files changed, 5430 insertions, 0 deletions
diff --git a/app-admin/glance/Manifest b/app-admin/glance/Manifest
new file mode 100644
index 000000000..a291daf77
--- /dev/null
+++ b/app-admin/glance/Manifest
@@ -0,0 +1 @@
+DIST glance-21.0.0.tar.gz 2032938 BLAKE2B 9da6353d95768c8f241e8ea42def5a7a457d88ddf92c4f881649f196a57ef232ddabcf4f6816256fbd1fcb21b6e7b46811c3bf7c9b9c587fc902d008cbaf525d SHA512 83d49f96a82de0093fe3991f5138febc403964f5af1012de6e63395b82a368e08b2b7d142a889244c4261d1d019336e69050e9149d40b88e1c175f7a561e4f5d
diff --git a/app-admin/glance/files/glance.initd b/app-admin/glance/files/glance.initd
new file mode 100644
index 000000000..57274ac2d
--- /dev/null
+++ b/app-admin/glance/files/glance.initd
@@ -0,0 +1,15 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command=/usr/bin/${RC_SVCNAME}
+command_user="${GLANCE_USER:-glance}"
+command_background=yes
+pidfile=/run/${RC_SVCNAME}.pid
+required_files=/etc/glance/${RC_SVCNAME}.conf
+
+depend() {
+ need net
+}
diff --git a/app-admin/glance/glance-21.0.0.ebuild b/app-admin/glance/glance-21.0.0.ebuild
new file mode 100644
index 000000000..dc9478899
--- /dev/null
+++ b/app-admin/glance/glance-21.0.0.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1
+
+DESCRIPTION="Services for discovering, registering, and retrieving VM images"
+HOMEPAGE="https://launchpad.net/glance"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/openstack/glance.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="mysql postgres +sqlite +swift"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+#note to self, wsgiref is a python builtin, no need to package it
+#>=dev-python/wsgiref-0.1.2[${PYTHON_USEDEP}]
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.6.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/eventlet-0.25.1[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.8.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ !~dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/futurist-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-2.16.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
+ >=dev-python/WSME-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.0[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-messaging-9.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-2.4.1[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.2.3[${PYTHON_USEDEP}]
+ !~dev-python/retrying-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/glance_store-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.1[${PYTHON_USEDEP}]
+ >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/os-win-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.17.0[${PYTHON_USEDEP}]
+ acct-user/glance
+ acct-group/glance
+"
+
+python_prepare_all() {
+ sed -i '/xattr/d' test-requirements.txt || die
+ sed -i '/pysendfile/d' test-requirements.txt || die
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newinitd "${FILESDIR}/glance.initd" glance-api
+
+ diropts -m 0750 -o glance -g glance
+ dodir /var/log/glance /var/lib/glance/images /var/lib/glance/scrubber
+ keepdir /etc/glance
+ keepdir /var/log/glance
+ keepdir /var/lib/glance/images
+ keepdir /var/lib/glance/scrubber
+
+ insinto /etc/glance
+ insopts -m 0640 -o glance -g glance
+ doins -r etc/*.ini etc/*.conf etc/*.sample etc/*.json etc/meta*
+
+ distutils-r1_python_install_all
+ rm -r "${ED}"/usr/etc
+}
diff --git a/app-admin/glance/metadata.xml b/app-admin/glance/metadata.xml
new file mode 100644
index 000000000..080766e81
--- /dev/null
+++ b/app-admin/glance/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <longdescription lang="en">
+ Provides services for discovering, registering, and retrieving virtual
+ machine images. Glance has a RESTful API that allows querying of VM image
+ metadata as well as retrieval of the actual image.
+ </longdescription>
+ <use>
+ <flag name="swift">Adds swift storage support</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">glance</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/app-emulation/spice-html5/Manifest b/app-emulation/spice-html5/Manifest
new file mode 100644
index 000000000..b206c42b4
--- /dev/null
+++ b/app-emulation/spice-html5/Manifest
@@ -0,0 +1,2 @@
+DIST spice-html5-spice-html5-0.2.1.tar.gz 486871 BLAKE2B 4b44ad772ab5abf13e8d3fe7c651169b340c8978f4163b9b679046efaa554f86d5919d154f16262ea28ddb512ac55ea7b6651ae63f64cf6b69033d8306191dc3 SHA512 c6e17aa465da1a0b882184bb19f2560f43fd3b345fdc00ec71774c7aec37c3453fd87b2448202011e217dda21b602d20dd4d552d49d9a52b64cb91aff092eff7
+DIST spice-html5-spice-html5-0.2.2.tar.gz 487210 BLAKE2B 125e5c2b36970c787897395eb56f71f90067ca5e6a80da4981f26ed3083b3cef4aaa40d2bb9767e775f9739eb15182c2cea874305e6a247c56be00e037bee6d6 SHA512 2a486552055762e44f54a7454d97e49d8f0d92a476b768f8724e6dfb6796851bd143a2c5b74fc2cff0bcec1f86b919428562f82e4b8de51ff95dadcc8b1a8133
diff --git a/app-emulation/spice-html5/metadata.xml b/app-emulation/spice-html5/metadata.xml
new file mode 100644
index 000000000..4567d53b9
--- /dev/null
+++ b/app-emulation/spice-html5/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>virtualization@gentoo.org</email>
+ <name>Gentoo Virtualization Project</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/app-emulation/spice-html5/spice-html5-0.2.1.ebuild b/app-emulation/spice-html5/spice-html5-0.2.1.ebuild
new file mode 100644
index 000000000..f5632403f
--- /dev/null
+++ b/app-emulation/spice-html5/spice-html5-0.2.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Spice Javascript client"
+HOMEPAGE="https://gitlab.freedesktop.org/spice/spice-html5"
+SRC_URI="https://gitlab.freedesktop.org/spice/${PN}/-/archive/${P}/${PN}-${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+# no compiling
+src_compile() {
+ true
+}
+
+src_install() {
+ insinto /usr/share/spice-html5
+ doins -r src apache.conf.sample spice.css spice.html spice_auto.html
+}
diff --git a/app-emulation/spice-html5/spice-html5-0.2.2.ebuild b/app-emulation/spice-html5/spice-html5-0.2.2.ebuild
new file mode 100644
index 000000000..b14ee2cb6
--- /dev/null
+++ b/app-emulation/spice-html5/spice-html5-0.2.2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Spice Javascript client"
+HOMEPAGE="https://gitlab.freedesktop.org/spice/spice-html5"
+SRC_URI="https://gitlab.freedesktop.org/spice/${PN}/-/archive/${P}/${PN}-${P}.tar.gz"
+S="${WORKDIR}/${PN}-${P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE=""
+
+DEPEND=""
+RDEPEND="${DEPEND}"
+BDEPEND=""
+
+# no compiling
+src_compile() {
+ true
+}
+
+src_install() {
+ insinto /usr/share/spice-html5
+ doins -r src apache.conf.sample spice.css spice.html spice_auto.html
+}
diff --git a/dev-python/WSME/Manifest b/dev-python/WSME/Manifest
new file mode 100644
index 000000000..8438e2f06
--- /dev/null
+++ b/dev-python/WSME/Manifest
@@ -0,0 +1 @@
+DIST WSME-0.10.0.tar.gz 89701 BLAKE2B 8ce4160919b66c4c858d71af02cc40741fda0261fe0c23f390805a3913e85879011975a7a562c647a877ce6b40cd0c5d273f4f44f0affff4efe5717339a143cb SHA512 2015ed56e12f566e9c40cf2d37d3dce1edf5f4678a2703b3477d362abb52866a519addc77cfcc57b712de58ab6bcad707c6971eb3de60d7f6f209fdf4cfb7a88
diff --git a/dev-python/WSME/WSME-0.10.0.ebuild b/dev-python/WSME/WSME-0.10.0.ebuild
new file mode 100644
index 000000000..a712fee52
--- /dev/null
+++ b/dev-python/WSME/WSME-0.10.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+
+inherit distutils-r1
+
+DESCRIPTION="Simplify the writing of REST APIs, and extend them with additional protocols."
+HOMEPAGE="https://pythonhosted.org/WSME"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND=">=dev-python/pbr-1.3[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.8.0[${PYTHON_USEDEP}]
+ dev-python/simplegeneric[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.12[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/WSME/metadata.xml b/dev-python/WSME/metadata.xml
new file mode 100644
index 000000000..5f1f07f83
--- /dev/null
+++ b/dev-python/WSME/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">WSME</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/XenAPI/Manifest b/dev-python/XenAPI/Manifest
new file mode 100644
index 000000000..430c88992
--- /dev/null
+++ b/dev-python/XenAPI/Manifest
@@ -0,0 +1 @@
+DIST XenAPI-2.14.tar.gz 5110 BLAKE2B 0391ccfffe8c2a264360eef4057a666e92bcbc8b31e7848f15704fff4d554db9758b1aa0b5210d1bfc41c4df261096b04961a4ff6722a8ea25305971b70f8562 SHA512 a56245b617fa049bcc62ee78e85167e322b632e53d2a6bc3e042e1cb0541ea0004aee4b957f9190c30685cef935f236d980a224322ac593896abd7a31e36abd2
diff --git a/dev-python/XenAPI/XenAPI-2.14.ebuild b/dev-python/XenAPI/XenAPI-2.14.ebuild
new file mode 100644
index 000000000..f5c99f0c2
--- /dev/null
+++ b/dev-python/XenAPI/XenAPI-2.14.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="Xen API SDK, for communication with Citrix XenServer and Xen Cloud Platform"
+HOMEPAGE="http://community.citrix.com/display/xs/Download+SDKs"
+SRC_URI="mirror://pypi/X/${PN}/${P}.tar.gz"
+
+LICENSE="LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/XenAPI/metadata.xml b/dev-python/XenAPI/metadata.xml
new file mode 100644
index 000000000..1103fc7c2
--- /dev/null
+++ b/dev-python/XenAPI/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>xen@gentoo.org</email>
+ <name>Gentoo Xen Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">XenAPI</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aodhclient/Manifest b/dev-python/aodhclient/Manifest
new file mode 100644
index 000000000..5e9751ea8
--- /dev/null
+++ b/dev-python/aodhclient/Manifest
@@ -0,0 +1 @@
+DIST aodhclient-2.1.1.tar.gz 46687 BLAKE2B 5f229e36f1b840b346fb4c85ca52185d6c3714c9f75e269ab7cfc8dc010c3afb08d387d06d419fb81cb3b8b1056afe970bc6e8c91dbe5e62c048e7c1f1fac36d SHA512 acb8f2571caa248a35625335f5c04794ff24c16bc775cad8f78621dfe159645d6ed39da62722fc990cea1c5f86b4bd08f40d1c5c82d08b632f913367fc723386
diff --git a/dev-python/aodhclient/aodhclient-2.1.1.ebuild b/dev-python/aodhclient/aodhclient-2.1.1.ebuild
new file mode 100644
index 000000000..29e24e97a
--- /dev/null
+++ b/dev-python/aodhclient/aodhclient-2.1.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Aodh API"
+HOMEPAGE="https://github.com/openstack/python-aodhclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+DEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-1.8[${PYTHON_USEDEP}]
+ >=dev-python/cliff-1.14.0[${PYTHON_USEDEP}]
+ !~dev-python/cliff-1.16.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-2.10.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/aodhclient/metadata.xml b/dev-python/aodhclient/metadata.xml
new file mode 100644
index 000000000..1397f01bd
--- /dev/null
+++ b/dev-python/aodhclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-aodhclient</remote-id>
+ <remote-id type="github">openstack/python-aodhclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/automaton/Manifest b/dev-python/automaton/Manifest
new file mode 100644
index 000000000..46260e7a6
--- /dev/null
+++ b/dev-python/automaton/Manifest
@@ -0,0 +1 @@
+DIST automaton-2.2.0.tar.gz 31629 BLAKE2B 1db3968bf2eb3dcec77edd6ca8f7ad6afd16d4e1a23fe3f5520ab78d8b78e817cf9bde14bb008e8740fdbd03e4b871361402283407133def0c15485962a210ce SHA512 9b773ac93f17542800b93e36ca8b42ab522b2fb1c72d36256a62a37463e49e9f299fbdb9d4507b7f2a6cf678bbcd16fc86be9d20720acf0b254e1bacca4c0300
diff --git a/dev-python/automaton/automaton-2.2.0.ebuild b/dev-python/automaton/automaton-2.2.0.ebuild
new file mode 100644
index 000000000..e98047b21
--- /dev/null
+++ b/dev-python/automaton/automaton-2.2.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+
+inherit distutils-r1
+
+DESCRIPTION="Friendly state machines for python."
+HOMEPAGE="https://pypi.org/project/automaton/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/automaton/metadata.xml b/dev-python/automaton/metadata.xml
new file mode 100644
index 000000000..f3a974768
--- /dev/null
+++ b/dev-python/automaton/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">automaton</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/castellan/Manifest b/dev-python/castellan/Manifest
new file mode 100644
index 000000000..2bf4ddb57
--- /dev/null
+++ b/dev-python/castellan/Manifest
@@ -0,0 +1 @@
+DIST castellan-3.6.0.tar.gz 70924 BLAKE2B bbd9bf5b411332d5454b4c0d69b63c16b751f8e23c01e723a95acbc722f57fb5f1286c20855b9a9a0e36607737e417f9c5b02a1f7ea4e394c210fa812feb6323 SHA512 d2eb7d7e9ecf29f43d16f0d95dbc18165bde7c9087670fde817fc476a58d57cd3765e9706e4108da99159065748b78dc1f25b9a6ae024359ed98ea5a10dfe3c4
diff --git a/dev-python/castellan/castellan-3.6.0.ebuild b/dev-python/castellan/castellan-3.6.0.ebuild
new file mode 100644
index 000000000..036e5deff
--- /dev/null
+++ b/dev-python/castellan/castellan-3.6.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="Generic Key Manager interface for OpenStack"
+HOMEPAGE="https://pypi.org/project/castellan/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+CDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.5.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/castellan/metadata.xml b/dev-python/castellan/metadata.xml
new file mode 100644
index 000000000..d2f19faab
--- /dev/null
+++ b/dev-python/castellan/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">castellan</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cursive/Manifest b/dev-python/cursive/Manifest
new file mode 100644
index 000000000..5a40d9f6a
--- /dev/null
+++ b/dev-python/cursive/Manifest
@@ -0,0 +1 @@
+DIST cursive-0.2.2.tar.gz 43065 BLAKE2B 2c007b357c3cd1d560f74958b78d157c97301b8c2e15ed50ff340950eb4abb8baac078865bd82a3222a22505862a78a651905c843b6b0ba4662d653dfdd5f369 SHA512 6c97f8f71b016ee57349b8156543c8ca41c29c3f234ea60967b96c09fce2cea4b36b9f92996c622bd9504d4a71893903e8d5a8ab50e089fd37bddb8095f4b9d2
diff --git a/dev-python/cursive/cursive-0.2.2-r1.ebuild b/dev-python/cursive/cursive-0.2.2-r1.ebuild
new file mode 100644
index 000000000..254e2bb45
--- /dev/null
+++ b/dev-python/cursive/cursive-0.2.2-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="Cursive implements OpenStack-specific validation of digital signatures."
+HOMEPAGE="https://github.com/openstack/cursive"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-1.8[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.4.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/cursive/metadata.xml b/dev-python/cursive/metadata.xml
new file mode 100644
index 000000000..1cfc5fcaf
--- /dev/null
+++ b/dev-python/cursive/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">cursive</remote-id>
+ <remote-id type="github">openstack/cursive</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/futurist/Manifest b/dev-python/futurist/Manifest
new file mode 100644
index 000000000..33baaef09
--- /dev/null
+++ b/dev-python/futurist/Manifest
@@ -0,0 +1 @@
+DIST futurist-2.3.0.tar.gz 42993 BLAKE2B ace10473ee65dedfa33f021437e6d2e974e7e9acd7eb5c6ae6955b133d74376d0bc5e966a8db502f17ff1825abaad1f6b583c6a21dcdd33d87ed4063d35a4638 SHA512 fa12314ce1bc12ccb7d8dd0e99a76a63dbd6a1c6560ca976eacb782f2c28a6003aee820d8ea745b59d35280b047e67563b046c761737d76fefb5928fdfba20e9
diff --git a/dev-python/futurist/futurist-2.3.0.ebuild b/dev-python/futurist/futurist-2.3.0.ebuild
new file mode 100644
index 000000000..78c48e4fd
--- /dev/null
+++ b/dev-python/futurist/futurist-2.3.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Useful additions to futures, from the future"
+HOMEPAGE="https://pypi.org/project/futurist/ http://docs.openstack.org/developer/futurist"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/futurist/metadata.xml b/dev-python/futurist/metadata.xml
new file mode 100644
index 000000000..b289e4ecf
--- /dev/null
+++ b/dev-python/futurist/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">futurist</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/glance_store/Manifest b/dev-python/glance_store/Manifest
new file mode 100644
index 000000000..af2fbb666
--- /dev/null
+++ b/dev-python/glance_store/Manifest
@@ -0,0 +1 @@
+DIST glance_store-2.3.0.tar.gz 212933 BLAKE2B 69f54fbb44de0e6e9608e38cf0b43ee6fb7df7758d19b6dee6f15fb00a25ce885610ef9c779d2138c08f5d3a28760121ef66edade0b23619685d5f985433247f SHA512 59499c1fa8b596faba0918219b76e5e7d51f6c7e94d14b99f28b2a9f87b456e638bd42fe33124ae9507043a975db6e5b5762e5979258db35b772f41a08d59be6
diff --git a/dev-python/glance_store/glance_store-2.3.0.ebuild b/dev-python/glance_store/glance_store-2.3.0.ebuild
new file mode 100644
index 000000000..de6fca8ec
--- /dev/null
+++ b/dev-python/glance_store/glance_store-2.3.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A library for glance"
+HOMEPAGE="https://github.com/openstack/glance_store"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="cinder swift vmware"
+
+DEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-1.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ cinder? (
+ >=dev-python/python-cinderclient-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.23.0[${PYTHON_USEDEP}]
+ )
+ swift? (
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ )
+ vmware? ( >=dev-python/oslo-vmware-2.17.0[${PYTHON_USEDEP}] )
+"
diff --git a/dev-python/glance_store/metadata.xml b/dev-python/glance_store/metadata.xml
new file mode 100644
index 000000000..fa7fc1e04
--- /dev/null
+++ b/dev-python/glance_store/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">glance_store</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ <remote-id type="github">openstack/glance_store</remote-id>
+ </upstream>
+ <use>
+ <flag name="cinder">enable cinder backend supprt</flag>
+ <flag name="swift">enable swift backend supprt</flag>
+ <flag name="vmware">enable vmware backend supprt</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/keystonemiddleware/Manifest b/dev-python/keystonemiddleware/Manifest
new file mode 100644
index 000000000..5a1650c2d
--- /dev/null
+++ b/dev-python/keystonemiddleware/Manifest
@@ -0,0 +1 @@
+DIST keystonemiddleware-9.1.0.tar.gz 179846 BLAKE2B 0ebae088d48f4f8444902c229e6d3df7835d847b99d9620cbe154a1ed6f12fa9533a9c62aae670d9d16a5696e5245306c8180437c772297000b8cf4490264568 SHA512 839d2c0150f305d7642bf1031508d11cb7d26e560198bc900979615838ea0a143843fdfaf363699313d7c968850153eaedba0f4a813891f5aaee46a2444181fc
diff --git a/dev-python/keystonemiddleware/keystonemiddleware-9.1.0.ebuild b/dev-python/keystonemiddleware/keystonemiddleware-9.1.0.ebuild
new file mode 100644
index 000000000..d5e0569fc
--- /dev/null
+++ b/dev-python/keystonemiddleware/keystonemiddleware-9.1.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A middleware for the OpenStack Keystone API"
+HOMEPAGE="https://github.com/openstack/keystonemiddleware"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/pycadf-1.1.0[${PYTHON_USEDEP}]
+ !~dev-python/pycadf-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/keystonemiddleware/metadata.xml b/dev-python/keystonemiddleware/metadata.xml
new file mode 100644
index 000000000..901c8c070
--- /dev/null
+++ b/dev-python/keystonemiddleware/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">keystonemiddleware</remote-id>
+ <remote-id type="github">openstack/keystonemiddleware</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ldappool/Manifest b/dev-python/ldappool/Manifest
new file mode 100644
index 000000000..8dbaca185
--- /dev/null
+++ b/dev-python/ldappool/Manifest
@@ -0,0 +1 @@
+DIST ldappool-2.4.1.tar.gz 18611 BLAKE2B 44de0b3b3c4ef94e232189216e55c0adf85b51e4d6e2e7c47a6c9dca455e9e09919bc04e264e027e4ba96af8dc7315a78e5094f5ed2ccd4c8f6c3952da38370f SHA512 ea22290d9acc7f90093cb27aacbf339e1edbad33780051db263cc5254d0b42494e6dd67da9f5e506f09c5867a69afbea89d14e0c3aac47233cba0ffe361b1a75
diff --git a/dev-python/ldappool/ldappool-2.4.1.ebuild b/dev-python/ldappool/ldappool-2.4.1.ebuild
new file mode 100644
index 000000000..d790c5409
--- /dev/null
+++ b/dev-python/ldappool/ldappool-2.4.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A connection pool for python-ldap"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/python-ldap-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/ldappool/metadata.xml b/dev-python/ldappool/metadata.xml
new file mode 100644
index 000000000..35a7936e9
--- /dev/null
+++ b/dev-python/ldappool/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">ldappool</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/microversion-parse/Manifest b/dev-python/microversion-parse/Manifest
new file mode 100644
index 000000000..32786ca79
--- /dev/null
+++ b/dev-python/microversion-parse/Manifest
@@ -0,0 +1 @@
+DIST microversion_parse-1.0.1.tar.gz 19228 BLAKE2B 592bb09f815bba018421e12b72e1053dc97d20bc0e9cd4b52772647b057cc1572cae5e365c3bd7682660d2e824150121f211fcda86e0d8f68f77164a598ff7c2 SHA512 25d6894cc65598e6215de2d6e256d26433bcb337e1f8c5dd7075c644adbf2e89feb38d08bc0522573ed8884c2734e83bcf5d0bec6292ecb44615deb18190cadc
diff --git a/dev-python/microversion-parse/metadata.xml b/dev-python/microversion-parse/metadata.xml
new file mode 100644
index 000000000..f2716f1d3
--- /dev/null
+++ b/dev-python/microversion-parse/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">microversion_parse</remote-id>
+ <remote-id type="github">openstack/microversion-parse</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/microversion-parse/microversion-parse-1.0.1.ebuild b/dev-python/microversion-parse/microversion-parse-1.0.1.ebuild
new file mode 100644
index 000000000..b15d5466f
--- /dev/null
+++ b/dev-python/microversion-parse/microversion-parse-1.0.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple parser for OpenStack microversion headers"
+HOMEPAGE="https://github.com/openstack/microversion-parse"
+SRC_URI="mirror://pypi/${PN:0:1}/microversion_parse/microversion_parse-${PV}.tar.gz"
+S="${WORKDIR}/microversion_parse-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ >=dev-python/pbr-5.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]
+"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/neutron-lib/Manifest b/dev-python/neutron-lib/Manifest
new file mode 100644
index 000000000..d2c1146f9
--- /dev/null
+++ b/dev-python/neutron-lib/Manifest
@@ -0,0 +1 @@
+DIST neutron-lib-2.6.1.tar.gz 453572 BLAKE2B 6b79394a91cb7e6efcf66c0c8bab3b722de9a5408182472fa9dfe26b4a6c630889fc9aae0f7f0bab4917eaa830cdb230788d9a3520b4b8a526dbdbb361e0379b SHA512 d2da2b0d73cb5accda8219ced9fb68344a2c75d98a0d33cf5d52e703a8ea0afb3c6bb0a85445e453b512918f1c3fe7b97fa1a587a648e6731205b421c05319b0
diff --git a/dev-python/neutron-lib/metadata.xml b/dev-python/neutron-lib/metadata.xml
new file mode 100644
index 000000000..e35c56feb
--- /dev/null
+++ b/dev-python/neutron-lib/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">openstack/neutron-lib</remote-id>
+ <remote-id type="pypi">neutron-lib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/neutron-lib/neutron-lib-2.6.1.ebuild b/dev-python/neutron-lib/neutron-lib-2.6.1.ebuild
new file mode 100644
index 000000000..5b7271263
--- /dev/null
+++ b/dev-python/neutron-lib/neutron-lib-2.6.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+
+inherit distutils-r1
+
+DESCRIPTION="Neutron shared routines and utilities."
+HOMEPAGE="https://github.com/openstack/neutron-lib"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.2[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.3[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.0.4[${PYTHON_USEDEP}]
+ !~dev-python/pecan-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.44.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/setproctitle-1.1.10[${PYTHON_USEDEP}]
+ >=dev-python/os-traits-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]"
diff --git a/dev-python/os-brick/Manifest b/dev-python/os-brick/Manifest
new file mode 100644
index 000000000..3c84b83f8
--- /dev/null
+++ b/dev-python/os-brick/Manifest
@@ -0,0 +1 @@
+DIST os-brick-4.0.1.tar.gz 192821 BLAKE2B da1037e33288a3a20c6858b8620c5905c9a1d218ab858659bce844445d6b33a9b9c629df21eab68419e755bddebc43bf20afc197eaaf4a29dcd7365d19b27b0b SHA512 7847cae82e1ef726eb1189d93f13325d57abdb52286887d6b55e256d9a9f62b0afe71580c5ff30008f5827ba76cac8e423ee5da0d2d01f5794fa3556a6c2cc64
diff --git a/dev-python/os-brick/metadata.xml b/dev-python/os-brick/metadata.xml
new file mode 100644
index 000000000..bdf902ce5
--- /dev/null
+++ b/dev-python/os-brick/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">openstack/cinder</remote-id>
+ <remote-id type="pypi">os-brick</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/os-brick/os-brick-4.0.1-r1.ebuild b/dev-python/os-brick/os-brick-4.0.1-r1.ebuild
new file mode 100644
index 000000000..dfc56644f
--- /dev/null
+++ b/dev-python/os-brick/os-brick-4.0.1-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Cinder brick library for managing local volume attaches"
+HOMEPAGE="https://github.com/openstack/cinder"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND=">=dev-python/pbr-5.4.1[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-5.4.1[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.15.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.44.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.24.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.32.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.34.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-3.0.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -i -e 's/\tetc/\t\/etc/g' setup.cfg || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/os-ken/Manifest b/dev-python/os-ken/Manifest
new file mode 100644
index 000000000..fb5019261
--- /dev/null
+++ b/dev-python/os-ken/Manifest
@@ -0,0 +1 @@
+DIST os-ken-1.2.0.tar.gz 1442682 BLAKE2B 37582acac257cc840039ef4f75a938bce357d53f680b460e0f92a116b0c3eb0a3d38f631998760083f60a4ddf45741489f2b40d6f336ca60f257f8307d3c82f9 SHA512 a88c5165822b70ca4f9c172788acdd08ad8de4f0a07bbc53d3bc37c9c97481d55f1272c74a3438a86fa0d5ebce945f04a12d7a065c580319a0d94049476408ff
diff --git a/dev-python/os-ken/metadata.xml b/dev-python/os-ken/metadata.xml
new file mode 100644
index 000000000..ae4a94616
--- /dev/null
+++ b/dev-python/os-ken/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">openstack/os-ken</remote-id>
+ <remote-id type="pypi">os-ken</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/os-ken/os-ken-1.2.0.ebuild b/dev-python/os-ken/os-ken-1.2.0.ebuild
new file mode 100644
index 000000000..b9b0f6b37
--- /dev/null
+++ b/dev-python/os-ken/os-ken-1.2.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Cinder brick library for managing local volume attaches"
+HOMEPAGE="https://github.com/openstack/os-ken"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/os-ken-${PV}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.2[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.18.3[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.23.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/tinyrpc-0.6[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2[${PYTHON_USEDEP}]"
diff --git a/dev-python/os-resource-classes/Manifest b/dev-python/os-resource-classes/Manifest
new file mode 100644
index 000000000..a1ba05aa8
--- /dev/null
+++ b/dev-python/os-resource-classes/Manifest
@@ -0,0 +1 @@
+DIST os-resource-classes-1.0.0.tar.gz 15524 BLAKE2B 6388f192be5bdc75b64a19cf20ebaf3f3db3d448f90004e321e0cf53d53b37646625643aee519d443cc0043fda2e536b3f75d1c1a83dd31eff08c7a54a50f467 SHA512 a5daef5a53e7a164bbe863af9a27e2a5ce92b490099769e7e545a059e80bbd0c74f1ec28afe1622820686b0614e5bc6e748598454d6b380891eb8a0b20333e37
diff --git a/dev-python/os-resource-classes/metadata.xml b/dev-python/os-resource-classes/metadata.xml
new file mode 100644
index 000000000..9383d85bb
--- /dev/null
+++ b/dev-python/os-resource-classes/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">openstack/os-resource-classes</remote-id>
+ <remote-id type="pypi">os-resource-classes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/os-resource-classes/os-resource-classes-1.0.0.ebuild b/dev-python/os-resource-classes/os-resource-classes-1.0.0.ebuild
new file mode 100644
index 000000000..a97214075
--- /dev/null
+++ b/dev-python/os-resource-classes/os-resource-classes-1.0.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="A list of standardized resource classes for OpenStack."
+HOMEPAGE="https://github.com/openstack/os-resource-classes"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND=">=dev-python/pbr-5.0.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/os-traits/Manifest b/dev-python/os-traits/Manifest
new file mode 100644
index 000000000..79f299572
--- /dev/null
+++ b/dev-python/os-traits/Manifest
@@ -0,0 +1 @@
+DIST os-traits-2.4.0.tar.gz 25523 BLAKE2B 4b80ea28b748d69f9ddc510a2c4766f06bfe85544c86c6771d323f8a58e3244033d4bf79c0b525be1a46b39402f19f6dd2e83bef5fcec06e52cd0a3c0708f69d SHA512 ac6cfc58f3f77d44fb252be0c00afbd147ec0da0cca395c76b5ba31d3626a7118273713935f793c9ed9a2230062c9a3e9384867795aa83318cfa2c91fb15fa55
diff --git a/dev-python/os-traits/metadata.xml b/dev-python/os-traits/metadata.xml
new file mode 100644
index 000000000..0b525ae16
--- /dev/null
+++ b/dev-python/os-traits/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">openstack/os-traits</remote-id>
+ <remote-id type="pypi">os-traits</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/os-traits/os-traits-2.4.0.ebuild b/dev-python/os-traits/os-traits-2.4.0.ebuild
new file mode 100644
index 000000000..e3205a235
--- /dev/null
+++ b/dev-python/os-traits/os-traits-2.4.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+
+inherit distutils-r1
+
+DESCRIPTION="os-traits is a library containing standardized trait strings."
+HOMEPAGE="https://github.com/openstack/os-traits"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND=">=dev-python/pbr-5.4.0[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/dev-python/os-vif/Manifest b/dev-python/os-vif/Manifest
new file mode 100644
index 000000000..4e52ac328
--- /dev/null
+++ b/dev-python/os-vif/Manifest
@@ -0,0 +1 @@
+DIST os_vif-2.2.0.tar.gz 88781 BLAKE2B 99cb3337cc8b67fc6977e284f2e3370b47ff9346752cbe99fff65fddec80f8dbd0ca4d67527a0afcfb0e35fa8e42084a8e45a0dcb7ba66a1046ff32c752e5702 SHA512 eb06e0fcee7f061670438f81098f69c6d480d5f901c7dc8f0e38f4ed1494701c7711444907abba989d577230fc05d863697b7b813099fe1fb1820b25de677901
diff --git a/dev-python/os-vif/metadata.xml b/dev-python/os-vif/metadata.xml
new file mode 100644
index 000000000..10d309234
--- /dev/null
+++ b/dev-python/os-vif/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">openstack/os-vif</remote-id>
+ <remote-id type="pypi">os-vif</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/os-vif/os-vif-2.2.0.ebuild b/dev-python/os-vif/os-vif-2.2.0.ebuild
new file mode 100644
index 000000000..3aa9f655c
--- /dev/null
+++ b/dev-python/os-vif/os-vif-2.2.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Cinder brick library for managing local volume attaches"
+HOMEPAGE="https://github.com/openstack/os-vif"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/os_vif-${PV}.tar.gz"
+S="${WORKDIR}/os_vif-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.28.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-0.12.1[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.5.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.19.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/os-win/Manifest b/dev-python/os-win/Manifest
new file mode 100644
index 000000000..2a0114cf5
--- /dev/null
+++ b/dev-python/os-win/Manifest
@@ -0,0 +1 @@
+DIST os-win-5.1.0.tar.gz 221803 BLAKE2B 37fa5271b86f62a43ea1f6da011601260a9cd32745a2369093dc5103e54945c17d16ecfaf8f5d88fd7ec3673ac41e25ff02d3c15ec5423fb9651101213801cab SHA512 bb93af1b412b8e0699f62a772bf9bacc73e2e73751cf0e9b9a37d59869a6c31e39ddbaafc4b97b494d9a38208d765362a6ce7fe071e1c089c127e1554ae73a02
diff --git a/dev-python/os-win/metadata.xml b/dev-python/os-win/metadata.xml
new file mode 100644
index 000000000..3d5c5ce2e
--- /dev/null
+++ b/dev-python/os-win/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">openstack/os-win</remote-id>
+ <remote-id type="pypi">os-win</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/os-win/os-win-5.1.0.ebuild b/dev-python/os-win/os-win-5.1.0.ebuild
new file mode 100644
index 000000000..f6392bbcb
--- /dev/null
+++ b/dev-python/os-win/os-win-5.1.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="Windows / Hyper-V library for OpenStack projects."
+HOMEPAGE="https://github.com/openstack/os-win"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/os-xenapi/Manifest b/dev-python/os-xenapi/Manifest
new file mode 100644
index 000000000..6e1654124
--- /dev/null
+++ b/dev-python/os-xenapi/Manifest
@@ -0,0 +1 @@
+DIST os-xenapi-0.3.4.tar.gz 139843 BLAKE2B 333b7af4bc5475584922264ea47a61e6c7a0fd813cd5ed99db1338c74fc86474d190df84ab8732d090668cfa5dc7ec43cfc75283f42a7298aad7d470deec5eb5 SHA512 4e5afbce07d38f93e93ac839eb26927a2436b33a39e14a57ed1e99cbd3501c7d2dec8db7f65617c8d6308e8227e60f5653102ac3a04d9322c0791040fa3f22a9
diff --git a/dev-python/os-xenapi/metadata.xml b/dev-python/os-xenapi/metadata.xml
new file mode 100644
index 000000000..13b8df709
--- /dev/null
+++ b/dev-python/os-xenapi/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">openstack/os-xenapi</remote-id>
+ <remote-id type="pypi">os-xenapi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/os-xenapi/os-xenapi-0.3.4-r1.ebuild b/dev-python/os-xenapi/os-xenapi-0.3.4-r1.ebuild
new file mode 100644
index 000000000..6133ecd19
--- /dev/null
+++ b/dev-python/os-xenapi/os-xenapi-0.3.4-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="XenAPI library for OpenStack projects"
+HOMEPAGE="https://github.com/openstack/os-xenapi"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-cache/Manifest b/dev-python/oslo-cache/Manifest
new file mode 100644
index 000000000..e7e68ab64
--- /dev/null
+++ b/dev-python/oslo-cache/Manifest
@@ -0,0 +1 @@
+DIST oslo-cache-2.6.1.tar.gz 60918 BLAKE2B 89def6f66ccb68e8725571b4f9fcc8a98c8b18dbb23186b1ed3cc09ae02eb786608c744f6ea7022fd3a832d206fe75916f74f2c000125c853993dc95f13da8f3 SHA512 20696d9a9feda9368fc261ccc124ab825b85373b2716110dcab7101346467dbf4d9e8a48b689a76ca837a8c4e97d03476b3573623ac57602f5d0e558110dd551
diff --git a/dev-python/oslo-cache/metadata.xml b/dev-python/oslo-cache/metadata.xml
new file mode 100644
index 000000000..1ce09e717
--- /dev/null
+++ b/dev-python/oslo-cache/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="launchpad">oslo</remote-id>
+ <remote-id type="pypi">oslo.cache</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-cache/oslo-cache-2.6.1.ebuild b/dev-python/oslo-cache/oslo-cache-2.6.1.ebuild
new file mode 100644
index 000000000..83dddfed0
--- /dev/null
+++ b/dev-python/oslo-cache/oslo-cache-2.6.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="Oslo Caching around dogpile.cache"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-8.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.2.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-concurrency/Manifest b/dev-python/oslo-concurrency/Manifest
new file mode 100644
index 000000000..dafe17a09
--- /dev/null
+++ b/dev-python/oslo-concurrency/Manifest
@@ -0,0 +1 @@
+DIST oslo.concurrency-4.3.1.tar.gz 54815 BLAKE2B 5926ffb363003e899e08d630e352cc4842b45939a23d8f26db0dbf96432c19cc37f8629d396fe86f5afbfc1b8e9a64a14d3a9d9d53b3ded1300e3f1e6d0151a4 SHA512 fdf89a622bcb999b1a7a77b9c5bdf15baa986e288d2af47485abf5dc4617b84ba53621a6cff72a9764e9c8a4f1504d6b5faa96c13ef29c37f2d63f7a1c3b4d61
diff --git a/dev-python/oslo-concurrency/metadata.xml b/dev-python/oslo-concurrency/metadata.xml
new file mode 100644
index 000000000..e464c80bd
--- /dev/null
+++ b/dev-python/oslo-concurrency/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+ Oslo concurrency library has utilities for safely running multi-thread, multi-process applications using locking mechanisms and for running external processes.
+ </longdescription>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.concurrency</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-4.3.1.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-4.3.1.ebuild
new file mode 100644
index 000000000..e7127f3a6
--- /dev/null
+++ b/dev-python/oslo-concurrency/oslo-concurrency-4.3.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="library for running multi-thread, multi-process applications"
+HOMEPAGE="https://pypi.org/project/oslo.concurrency/"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.concurrency/oslo.concurrency-${PV}.tar.gz"
+S="${WORKDIR}/oslo.concurrency-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+IUSE=""
+RESTRICT=""
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/fasteners-0.7.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-db/Manifest b/dev-python/oslo-db/Manifest
new file mode 100644
index 000000000..bf2d526aa
--- /dev/null
+++ b/dev-python/oslo-db/Manifest
@@ -0,0 +1 @@
+DIST oslo.db-8.4.0.tar.gz 172209 BLAKE2B f1f72347ec8c8b2ca452c54fdf9a843d0d31ebbb1356c39cd494dbacbab28e899d63568214fa73f14a8d838c4ce4137d19ee4fd6133344a17f584346775c3013 SHA512 7a64554de2b97ed3edbf4de81bd47a3bab0429c0b7f5708238c5b920010464236cca4a170a591890112706c2968b0cf1885563782c3a1925fb5767569ac1ccd6
diff --git a/dev-python/oslo-db/metadata.xml b/dev-python/oslo-db/metadata.xml
new file mode 100644
index 000000000..fbed3b784
--- /dev/null
+++ b/dev-python/oslo-db/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.db</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-db/oslo-db-8.4.0.ebuild b/dev-python/oslo-db/oslo-db-8.4.0.ebuild
new file mode 100644
index 000000000..3402db3d7
--- /dev/null
+++ b/dev-python/oslo-db/oslo-db-8.4.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Common DB Code"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.db/oslo.db-${PV}.tar.gz"
+S="${WORKDIR}/oslo.db-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="+sqlite mysql postgres"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.9.6[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[sqlite,${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[sqlite,${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -i '/^testresources/d' requirements.txt || die
+ sed -i '/^testscenarios/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/oslo-messaging/Manifest b/dev-python/oslo-messaging/Manifest
new file mode 100644
index 000000000..7db0d4125
--- /dev/null
+++ b/dev-python/oslo-messaging/Manifest
@@ -0,0 +1 @@
+DIST oslo.messaging-12.5.1.tar.gz 256120 BLAKE2B 73ed3c8fa356d63d3641626e823a87dbbfc238f9136371aa81c1b7e6be327c2f93d22bb0de4aa0906972bc2e8e0f09047cae06d2b96ef24a3c062d644ba34f68 SHA512 ad29c8a80c1f423b91d0725e8ce85015feaa8db33c911626a90c5efcb5d9c1bf55711b610e3bed4a63370627cce86f48b50658605344d1ade503673c8415de65
diff --git a/dev-python/oslo-messaging/metadata.xml b/dev-python/oslo-messaging/metadata.xml
new file mode 100644
index 000000000..75144d2fb
--- /dev/null
+++ b/dev-python/oslo-messaging/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.messaging</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-messaging/oslo-messaging-12.5.1.ebuild b/dev-python/oslo-messaging/oslo-messaging-12.5.1.ebuild
new file mode 100644
index 000000000..d8a9e4369
--- /dev/null
+++ b/dev-python/oslo-messaging/oslo-messaging-12.5.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Messaging API for RPC and notifications over different messaging transports"
+HOMEPAGE="https://pypi.org/project/oslo.messaging/"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.messaging/oslo.messaging-${PV}.tar.gz"
+S="${WORKDIR}/oslo.messaging-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/futurist-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.37.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/cachetools-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/py-amqp-2.5.2[${PYTHON_USEDEP}]
+ >=dev-python/kombu-4.6.6[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-middleware/Manifest b/dev-python/oslo-middleware/Manifest
new file mode 100644
index 000000000..1e31f3d0b
--- /dev/null
+++ b/dev-python/oslo-middleware/Manifest
@@ -0,0 +1 @@
+DIST oslo.middleware-4.1.1.tar.gz 55970 BLAKE2B 02b9fdeadfca183102601e8c765ec941c51ac15bb83af9b7d5682ba683a20cffbc478497c4b5391cf903923822cfd5c611ca0661d51c642e9089a71cc4c988d2 SHA512 53f0695da0c9bafa1d9cc18a723793a0e7a0ed09a1cd6d6a2aa0f158e6f2fb3a6b8c2ad2cc4fc248cc80ca4fc02997f586f82ca6f951c928f4efa9b2bc5d1a93
diff --git a/dev-python/oslo-middleware/metadata.xml b/dev-python/oslo-middleware/metadata.xml
new file mode 100644
index 000000000..8ddc996ef
--- /dev/null
+++ b/dev-python/oslo-middleware/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+ Oslo middleware library includes components that can be injected into wsgi pipelines to intercept request/response flows. The base class can be enhanced with functionality like add/delete/modification of http headers and support for limiting size/connection etc
+ </longdescription>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.middleware</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-middleware/oslo-middleware-4.1.1.ebuild b/dev-python/oslo-middleware/oslo-middleware-4.1.1.ebuild
new file mode 100644
index 000000000..b2c5aad47
--- /dev/null
+++ b/dev-python/oslo-middleware/oslo-middleware-4.1.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Components injected into wsgi pipelines to intercept request/response flows."
+HOMEPAGE="https://pypi.org/project/oslo.middleware/"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.middleware/oslo.middleware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.middleware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+RESTRICT=""
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.2.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-policy/Manifest b/dev-python/oslo-policy/Manifest
new file mode 100644
index 000000000..4ee71aa3e
--- /dev/null
+++ b/dev-python/oslo-policy/Manifest
@@ -0,0 +1 @@
+DIST oslo.policy-3.5.0.tar.gz 103988 BLAKE2B d78ce2cdc2b25c532c3207775430c32d1ae9e999df4cd918dfbce147a897fc9a4d46e7006bee0908b4d83cef2e2f71b2fb230aa56eeeae6302d61a435f5449ff SHA512 7d670aded9ac6ddc5360c60182f60cd75f3dec3d6d1bd9fc0d17794cd17349d8fff5e2bc8bc7df85d6bbbabad5373c824772e3d6006add69387d3663475fdb1a
diff --git a/dev-python/oslo-policy/metadata.xml b/dev-python/oslo-policy/metadata.xml
new file mode 100644
index 000000000..76e1fd24b
--- /dev/null
+++ b/dev-python/oslo-policy/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.policy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-policy/oslo-policy-3.5.0.ebuild b/dev-python/oslo-policy/oslo-policy-3.5.0.ebuild
new file mode 100644
index 000000000..39dc8894c
--- /dev/null
+++ b/dev-python/oslo-policy/oslo-policy-3.5.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Support for RBAC policy enforcement across all OpenStack services"
+HOMEPAGE="https://pypi.org/project/oslo.policy/"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.policy/oslo.policy-${PV}.tar.gz"
+S="${WORKDIR}/oslo.policy-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.40.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-privsep/Manifest b/dev-python/oslo-privsep/Manifest
new file mode 100644
index 000000000..47b409b9c
--- /dev/null
+++ b/dev-python/oslo-privsep/Manifest
@@ -0,0 +1 @@
+DIST oslo.privsep-2.4.0.tar.gz 40991 BLAKE2B e381d1f590e8de308e254db8171550f9a5658ca1c44997eb456eaa5d8cf768c24fdd5b2b629294d9c0e8ed619c97def567d34b2a35f7ef9b6a5f8f2b9f4b69c1 SHA512 5093292d9a655bc2d8cff47cac9f8d072d5d5297ab60c13e418edc109ec5734dbeb29455c0fc13cc33777d8d636f756b2f3aae9700b8c4f7daee0f9af5542fbb
diff --git a/dev-python/oslo-privsep/metadata.xml b/dev-python/oslo-privsep/metadata.xml
new file mode 100644
index 000000000..81e68bf0b
--- /dev/null
+++ b/dev-python/oslo-privsep/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.privsep</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-privsep/oslo-privsep-2.4.0.ebuild b/dev-python/oslo-privsep/oslo-privsep-2.4.0.ebuild
new file mode 100644
index 000000000..c4e86f060
--- /dev/null
+++ b/dev-python/oslo-privsep/oslo-privsep-2.4.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack library for privilege separation."
+HOMEPAGE="https://pypi.org/project/oslo.privsep/"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.privsep/oslo.privsep-${PV}.tar.gz"
+S="${WORKDIR}/oslo.privsep-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.4.14[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.6.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # allow useage of renamed msgpack
+ sed -i '/^msgpack/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/oslo-reports/Manifest b/dev-python/oslo-reports/Manifest
new file mode 100644
index 000000000..0dd38c49c
--- /dev/null
+++ b/dev-python/oslo-reports/Manifest
@@ -0,0 +1 @@
+DIST oslo.reports-2.2.0.tar.gz 50532 BLAKE2B 0c04cc328b445a5b1d0e275d07a2ec11b635b1b91612dca7b9ce1adfc66ae10ae6c245eb5babdd1c3acbe4c3d9200120fe1e99d1dfbba84d55f2dd0cc4fdc0b1 SHA512 dd8224a1789318572bcd3e0394c01a0c65f8a1b48afcf6a5dbf6503f310bb3f48457b9c0e9315620d8935156bd29efa30d9c1e0368480484776178875f84840d
diff --git a/dev-python/oslo-reports/metadata.xml b/dev-python/oslo-reports/metadata.xml
new file mode 100644
index 000000000..1d6b3692a
--- /dev/null
+++ b/dev-python/oslo-reports/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.reports</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-reports/oslo-reports-2.2.0.ebuild b/dev-python/oslo-reports/oslo-reports-2.2.0.ebuild
new file mode 100644
index 000000000..8026dc275
--- /dev/null
+++ b/dev-python/oslo-reports/oslo-reports-2.2.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="generified reports for openstack"
+HOMEPAGE="http://docs.openstack.org/developer/oslo.reports"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.reports/oslo.reports-${PV}.tar.gz"
+S="${WORKDIR}/oslo.reports-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-rootwrap/Manifest b/dev-python/oslo-rootwrap/Manifest
new file mode 100644
index 000000000..a175dc28a
--- /dev/null
+++ b/dev-python/oslo-rootwrap/Manifest
@@ -0,0 +1 @@
+DIST oslo.rootwrap-6.2.0.tar.gz 46850 BLAKE2B 0ad998aecaf8dfe0616094ed08e64380d38fa663dc63f192b58b95a07deeb690f16f1b8de2d0666c80bc49c11c06dc7221e9b9fae7243c3569971745884b752f SHA512 bf3e91ec8a18f92f6f5974a6d8369ae73dba6e61fa3001996678b85d0bfb2426536d27097ad784169e6eca50ad23471505d5089e8d4a6a84c9e0e009a6a38f5a
diff --git a/dev-python/oslo-rootwrap/metadata.xml b/dev-python/oslo-rootwrap/metadata.xml
new file mode 100644
index 000000000..955c9d759
--- /dev/null
+++ b/dev-python/oslo-rootwrap/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.rootwrap</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-rootwrap/oslo-rootwrap-6.2.0.ebuild b/dev-python/oslo-rootwrap/oslo-rootwrap-6.2.0.ebuild
new file mode 100644
index 000000000..9c2d80661
--- /dev/null
+++ b/dev-python/oslo-rootwrap/oslo-rootwrap-6.2.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="Allows fine filtering of shell commands to run as root from OpenStack services"
+HOMEPAGE="https://pypi.org/project/oslo.rootwrap/"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.rootwrap/oslo.rootwrap-${PV}.tar.gz"
+S="${WORKDIR}/oslo.rootwrap-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND=">=dev-python/six-1.10.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/oslo-service/Manifest b/dev-python/oslo-service/Manifest
new file mode 100644
index 000000000..41177b5d7
--- /dev/null
+++ b/dev-python/oslo-service/Manifest
@@ -0,0 +1 @@
+DIST oslo.service-2.4.0.tar.gz 80999 BLAKE2B 813c67eceb303d76ef39fecf057a2304966a367704a1a86a00bb2de515ded862a4eb3684f1e0f7dd4a17aca654fc6571243176d53397f8f93b5ee4cf34849d20 SHA512 7942a913c598471e9a828dba5e624ff6829d061692526021b9ae872ab558f119612e8b7b09c43efa7596e8102fbff323f106f755eef9a0ac68324606bb539703
diff --git a/dev-python/oslo-service/metadata.xml b/dev-python/oslo-service/metadata.xml
new file mode 100644
index 000000000..d5885c205
--- /dev/null
+++ b/dev-python/oslo-service/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.service</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-service/oslo-service-2.4.0.ebuild b/dev-python/oslo-service/oslo-service-2.4.0.ebuild
new file mode 100644
index 000000000..c6d16f3ac
--- /dev/null
+++ b/dev-python/oslo-service/oslo-service-2.4.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Library for running OpenStack services"
+HOMEPAGE="https://pypi.org/project/oslo.service/"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.service/oslo.service-${PV}.tar.gz"
+S="${WORKDIR}/oslo.service-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.25.2[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.4.15[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.40.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/yappi-1.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-upgradecheck/Manifest b/dev-python/oslo-upgradecheck/Manifest
new file mode 100644
index 000000000..245690678
--- /dev/null
+++ b/dev-python/oslo-upgradecheck/Manifest
@@ -0,0 +1 @@
+DIST oslo-upgradecheck-1.1.1.tar.gz 15096 BLAKE2B 7aac69c8078d8f6e89c16801fc61bf9d44811b2333ed67d4f2b8a9e432dd8ecb1f90010b796965e838267991a16c0f5b19f25afc98cbb6458906e3af656f91da SHA512 89b7fca8a95195081e83b336d3e55a9c67802ff3b88fbb5849afa7c7424212c03c3a96a916a6a62bcab18ac002f73ab7a4dcc92859e6bcc9b4002798756040b2
diff --git a/dev-python/oslo-upgradecheck/metadata.xml b/dev-python/oslo-upgradecheck/metadata.xml
new file mode 100644
index 000000000..5d9cdad2d
--- /dev/null
+++ b/dev-python/oslo-upgradecheck/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.upgradecheck</remote-id>
+ <remote-id type="launchpad">oslo</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-upgradecheck/oslo-upgradecheck-1.1.1.ebuild b/dev-python/oslo-upgradecheck/oslo-upgradecheck-1.1.1.ebuild
new file mode 100644
index 000000000..7ead889a6
--- /dev/null
+++ b/dev-python/oslo-upgradecheck/oslo-upgradecheck-1.1.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+MY_PN=${PN/-/.}
+
+DESCRIPTION="Oslo i18n library"
+HOMEPAGE="https://launchpad.net/oslo"
+SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/oslo-versionedobjects/Manifest b/dev-python/oslo-versionedobjects/Manifest
new file mode 100644
index 000000000..94569d20c
--- /dev/null
+++ b/dev-python/oslo-versionedobjects/Manifest
@@ -0,0 +1 @@
+DIST oslo.versionedobjects-2.3.0.tar.gz 149912 BLAKE2B 0a4636e35832a5d6574d35956d6d2c894db1972bf5d8859174b0e05bb1d613776d3a1546f2f523acd882f89d7dcd3675c29f3b415b02e419b381cbf4867afa3c SHA512 57078411f765b5b6d044f4f87286a2ab07a4dc1d3f3e247a8887d10b1c68a2fc40e4635f490ecab4041af1244d36cdcedafc0528ae842e1c5fa5434c08b2f4ad
diff --git a/dev-python/oslo-versionedobjects/metadata.xml b/dev-python/oslo-versionedobjects/metadata.xml
new file mode 100644
index 000000000..019840701
--- /dev/null
+++ b/dev-python/oslo-versionedobjects/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.versionedobjects</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-versionedobjects/oslo-versionedobjects-2.3.0.ebuild b/dev-python/oslo-versionedobjects/oslo-versionedobjects-2.3.0.ebuild
new file mode 100644
index 000000000..25b372c7e
--- /dev/null
+++ b/dev-python/oslo-versionedobjects/oslo-versionedobjects-2.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="A library that provides a generic versioned and RPC-friendly object model."
+HOMEPAGE="https://docs.openstack.org/developer/oslo.versionedobjects"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.versionedobjects/oslo.versionedobjects-${PV}.tar.gz"
+S="${WORKDIR}/oslo.versionedobjects-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]"
diff --git a/dev-python/oslo-vmware/Manifest b/dev-python/oslo-vmware/Manifest
new file mode 100644
index 000000000..32a9a44e9
--- /dev/null
+++ b/dev-python/oslo-vmware/Manifest
@@ -0,0 +1 @@
+DIST oslo.vmware-3.7.0.tar.gz 334704 BLAKE2B f3dd399a1cc53904070f687e1d16915097ed78147270e32c3ce71ff7621c19229a5ad1ff345bafa794567a41d83bfa613f87e07ee08f04b90b62d403be0cba63 SHA512 e9a1b0303b7208fd8071ba5c2a677ec09568cd837489d329667f9e4eb93b5aa56490fa1cda9b7927f6ee071c5b44f302742f80bfeab9812d38c3c6376b5d117f
diff --git a/dev-python/oslo-vmware/metadata.xml b/dev-python/oslo-vmware/metadata.xml
new file mode 100644
index 000000000..9381b7916
--- /dev/null
+++ b/dev-python/oslo-vmware/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Oslo messaging API supports RPC and notifications over a number of different messaging transports.
+ </longdescription>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">oslo.vmware</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/oslo-vmware/oslo-vmware-3.7.0.ebuild b/dev-python/oslo-vmware/oslo-vmware-3.7.0.ebuild
new file mode 100644
index 000000000..f1b82506e
--- /dev/null
+++ b/dev-python/oslo-vmware/oslo-vmware-3.7.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+
+inherit distutils-r1
+
+DESCRIPTION="Oslo VMware library for OpenStack projects"
+HOMEPAGE="https://pypi.org/project/oslo.vmware/"
+SRC_URI="mirror://pypi/${PN:0:1}/oslo.vmware/oslo.vmware-${PV}.tar.gz"
+S="${WORKDIR}/oslo.vmware-${PV}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/suds-0.6[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.18.4[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.21.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+"
+
+python_prepare() {
+ sed -i '/^suds-jurko/d' requirements.txt || die
+}
diff --git a/dev-python/osprofiler/Manifest b/dev-python/osprofiler/Manifest
new file mode 100644
index 000000000..4905b442a
--- /dev/null
+++ b/dev-python/osprofiler/Manifest
@@ -0,0 +1 @@
+DIST osprofiler-3.4.0.tar.gz 86842 BLAKE2B 78a679424023f7cd20a0c6c5825747e3c108e977b44985e2f106b8e82d9cfb44f84b3662df531c64cf09fd4ce313c8a457b803ca820291d58f4f2bacb51eff81 SHA512 d88c0c68eee693a799f4e52a447dd7a4b79f7eddeb1c82bf41cdf3be6457c1b1116b6caa19530de4df376a1cbc26f4094835c3ef7110016d3d9ba989f8e8e41c
diff --git a/dev-python/osprofiler/metadata.xml b/dev-python/osprofiler/metadata.xml
new file mode 100644
index 000000000..b87a4f9f3
--- /dev/null
+++ b/dev-python/osprofiler/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">osprofiler</remote-id>
+ <remote-id type="launchpad">osprofiler</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/osprofiler/osprofiler-3.4.0.ebuild b/dev-python/osprofiler/osprofiler-3.4.0.ebuild
new file mode 100644
index 000000000..5c9196de0
--- /dev/null
+++ b/dev-python/osprofiler/osprofiler-3.4.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Profiler Library"
+HOMEPAGE="https://launchpad.net/osprofiler"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE=""
+
+DEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/importlib_metadata-1.7.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/ovsdbapp/Manifest b/dev-python/ovsdbapp/Manifest
new file mode 100644
index 000000000..6fa9850bb
--- /dev/null
+++ b/dev-python/ovsdbapp/Manifest
@@ -0,0 +1 @@
+DIST ovsdbapp-1.5.0.tar.gz 88970 BLAKE2B 8ec73d73b159e7e45aa057d24a58388057e50ea006d8cb15be739a39471d0d6fed1542e0bcceed8e9daae67eb3c0b543a8131955a246832ef4e0480950f4f4d6 SHA512 d98ca56dc63aee22315b4181b9d3084e82d611489da7764cc44c14f805dcd874bd7aa72f6e1cb4f44234a118accb77d7412479b5f2224312c7105f56fdbac991
diff --git a/dev-python/ovsdbapp/metadata.xml b/dev-python/ovsdbapp/metadata.xml
new file mode 100644
index 000000000..fcfaa55e7
--- /dev/null
+++ b/dev-python/ovsdbapp/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">ovsdbapp</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ovsdbapp/ovsdbapp-1.5.0.ebuild b/dev-python/ovsdbapp/ovsdbapp-1.5.0.ebuild
new file mode 100644
index 000000000..874463936
--- /dev/null
+++ b/dev-python/ovsdbapp/ovsdbapp-1.5.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for creating OVSDB applications"
+HOMEPAGE="http://bugs.launchpad.net/ovsdbapp"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pycadf/Manifest b/dev-python/pycadf/Manifest
new file mode 100644
index 000000000..4ee0cb3e9
--- /dev/null
+++ b/dev-python/pycadf/Manifest
@@ -0,0 +1 @@
+DIST pycadf-3.1.1.tar.gz 250143 BLAKE2B f0e8c35d911146e701beeeb209840703a2b5bb56590a00bc363d48c37c825e1e2bb660aedcaa95a45c4523a532ced2cc009781e1d7d524d994bc6afdc66a3041 SHA512 26e83418066d96b4d947965ea43ec3f75a667d40f4d5ed36130eb0bbc6a79bfd212e68b3a54c3db81a7cf670288612e15d40068416fe220e85ecc7670ba735da
diff --git a/dev-python/pycadf/metadata.xml b/dev-python/pycadf/metadata.xml
new file mode 100644
index 000000000..9c5aa41ac
--- /dev/null
+++ b/dev-python/pycadf/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pycadf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycadf/pycadf-3.1.1.ebuild b/dev-python/pycadf/pycadf-3.1.1.ebuild
new file mode 100644
index 000000000..db36d0592
--- /dev/null
+++ b/dev-python/pycadf/pycadf-3.1.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="python implementation of DMTF Cloud Audit (CADF) data model"
+HOMEPAGE="https://pypi.org/project/pycadf/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pypowervm/Manifest b/dev-python/pypowervm/Manifest
new file mode 100644
index 000000000..114b90bed
--- /dev/null
+++ b/dev-python/pypowervm/Manifest
@@ -0,0 +1 @@
+DIST pypowervm-1.1.24.tar.gz 906444 BLAKE2B c8ed0b066963adcc36b19d919683027fba563da8486aa1775c3f82f8ef3466ae7d909eea3eedd807585bc29fe212f65b061201f8dd5cd81d6055a89cf97b6932 SHA512 b2d254555c7501961bd45ac7a7bfea886ac12c8eab07b6bc34352e425f6e9c9cb6fa8331796164962f1f60afcaa9aa9e8a711cdf71dcb70cce7c4188c4217543
diff --git a/dev-python/pypowervm/metadata.xml b/dev-python/pypowervm/metadata.xml
new file mode 100644
index 000000000..7bfa765c2
--- /dev/null
+++ b/dev-python/pypowervm/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">powervm/pypowervm</remote-id>
+ <remote-id type="pypi">pypowervm</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pypowervm/pypowervm-1.1.24.ebuild b/dev-python/pypowervm/pypowervm-1.1.24.ebuild
new file mode 100644
index 000000000..703314215
--- /dev/null
+++ b/dev-python/pypowervm/pypowervm-1.1.24.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7,8} )
+inherit distutils-r1
+
+DESCRIPTION="Python binding for the PowerVM REST API"
+HOMEPAGE="https://pypi.org/project/pypowervm/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.4.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.20.0[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-2.16.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/pysaml2/Manifest b/dev-python/pysaml2/Manifest
new file mode 100644
index 000000000..0123be1ab
--- /dev/null
+++ b/dev-python/pysaml2/Manifest
@@ -0,0 +1 @@
+DIST pysaml2-6.1.0.tar.gz 325101 BLAKE2B 254d1c57e03f13346db89ee18a885d03ce55ed6eec5649d5c764ed6bf97ff20e2a0715e5678409125737acf8fda464c331a17ebe422cc96518bdd3825cf8db05 SHA512 4b3f942a352e6e9ad8df9d3c41269d00dda9f4a71286a4030556d35e5e3946c214fa5c2942f529b1f1ee4dfc30a4d388dffa204f6bdc7614f65b8a3a37ea5ff9
diff --git a/dev-python/pysaml2/metadata.xml b/dev-python/pysaml2/metadata.xml
new file mode 100644
index 000000000..594322f09
--- /dev/null
+++ b/dev-python/pysaml2/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <longdescription lang="en">
+ PySAML2 is a pure python implementation of SAML Version 2 Standard. It contains all necessary pieces for building a SAML2 service provider or an identity provider. The distribution contains examples of both. Originally written to work in a WSGI environment there are extensions that allow you to use it with other frameworks.
+ </longdescription>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pysaml2</remote-id>
+ <remote-id type="github">rohe/pysaml2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysaml2/pysaml2-6.1.0.ebuild b/dev-python/pysaml2/pysaml2-6.1.0.ebuild
new file mode 100644
index 000000000..3926f0d8d
--- /dev/null
+++ b/dev-python/pysaml2/pysaml2-6.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of SAML Version 2 to be used in a WSGI environment"
+HOMEPAGE="https://github.com/rohe/pysaml2"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+RDEPEND="
+ >=dev-python/cryptography-1.4[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-barbicanclient/Manifest b/dev-python/python-barbicanclient/Manifest
new file mode 100644
index 000000000..013e16076
--- /dev/null
+++ b/dev-python/python-barbicanclient/Manifest
@@ -0,0 +1 @@
+DIST python-barbicanclient-5.0.1.tar.gz 118714 BLAKE2B dbdf98a481853c70e8548eac98a24bad66f398eba37e74425bd941b60c69aa80b1b24f77b2a4228a82f7a9f722068d55b954be8aec41f52e0665c70650b7f447 SHA512 5ab164e92b1d2820b5f84b59748e3fdf0733c587e6c4a9a17cb34cb95ab7a3900430790b50ce40b479a9f39e599a0969e3e8d1c5255ed6c595a287019a736663
diff --git a/dev-python/python-barbicanclient/metadata.xml b/dev-python/python-barbicanclient/metadata.xml
new file mode 100644
index 000000000..cfa75c410
--- /dev/null
+++ b/dev-python/python-barbicanclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-barbicanclient</remote-id>
+ <remote-id type="github">openstack/barbican</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-barbicanclient/python-barbicanclient-5.0.1.ebuild b/dev-python/python-barbicanclient/python-barbicanclient-5.0.1.ebuild
new file mode 100644
index 000000000..c7587886b
--- /dev/null
+++ b/dev-python/python-barbicanclient/python-barbicanclient-5.0.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Client library for Barbican API."
+HOMEPAGE="https://github.com/openstack/barbican"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-blazarclient/Manifest b/dev-python/python-blazarclient/Manifest
new file mode 100644
index 000000000..4706c1788
--- /dev/null
+++ b/dev-python/python-blazarclient/Manifest
@@ -0,0 +1 @@
+DIST python-blazarclient-3.1.1.tar.gz 36460 BLAKE2B b19595a3cf52da6d298e5006eada7a68c28f396c8143bbed2f22b45e910d136b54bf3d3fde95bd4fc02887bffd206d10629e923e7d81289af643e44b751c0926 SHA512 91cf8004f83494299e11d8c419f183c45726a1b9baec09ffdb719ff8db3cb91967c24a4ac684e227c87015bc00733b03fb132e34fe2fdc773164373e3fd10561
diff --git a/dev-python/python-blazarclient/metadata.xml b/dev-python/python-blazarclient/metadata.xml
new file mode 100644
index 000000000..1d7688d79
--- /dev/null
+++ b/dev-python/python-blazarclient/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-blazarclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-blazarclient/python-blazarclient-3.1.1.ebuild b/dev-python/python-blazarclient/python-blazarclient-3.1.1.ebuild
new file mode 100644
index 000000000..a7499f512
--- /dev/null
+++ b/dev-python/python-blazarclient/python-blazarclient-3.1.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="This is a client for the OpenStack Blazar API"
+HOMEPAGE="https://github.com/openstack/python-blazarclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="${CDEPEND}"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ !~dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-designateclient/Manifest b/dev-python/python-designateclient/Manifest
new file mode 100644
index 000000000..4917c4787
--- /dev/null
+++ b/dev-python/python-designateclient/Manifest
@@ -0,0 +1 @@
+DIST python-designateclient-4.1.0.tar.gz 60526 BLAKE2B 4df143ea429510aea50235ee80ac8712d436201b54544089860e452e652c220b5fa954ee88b61c30150a34655c6d38839f5d40d5860263a5456a2d65773bd58f SHA512 ae99fcf662b81ec0d14c3536dddd51e3b2f945ff5e62669efd1e2f0ad1f820884f427af6b9112c3fae5e7d0953f2008132e6e6e9fc1ad7b155c993a62434b90b
diff --git a/dev-python/python-designateclient/metadata.xml b/dev-python/python-designateclient/metadata.xml
new file mode 100644
index 000000000..e48df58b9
--- /dev/null
+++ b/dev-python/python-designateclient/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ This is a client library for Designate built on the Designate API. It provides a Python API (the designateclient module) and a command-line tool (designate).
+ </longdescription>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">openstack/python-designateclient</remote-id>
+ <remote-id type="pypi">python-designateclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-designateclient/python-designateclient-4.1.0.ebuild b/dev-python/python-designateclient/python-designateclient-4.1.0.ebuild
new file mode 100644
index 000000000..bf749a07f
--- /dev/null
+++ b/dev-python/python-designateclient/python-designateclient-4.1.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings to the Designate API."
+HOMEPAGE="https://github.com/openstack/python-designateclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ !~dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-heatclient/Manifest b/dev-python/python-heatclient/Manifest
new file mode 100644
index 000000000..00f0034b0
--- /dev/null
+++ b/dev-python/python-heatclient/Manifest
@@ -0,0 +1 @@
+DIST python-heatclient-2.2.1.tar.gz 172925 BLAKE2B 3ecccdb8647f1d78c13680158db60cfbf0f8a7415636337caca171785bf5ae06516055df619b013b7d73218ccb1cb0a697e5312ea0aef40e4445b281bb740c21 SHA512 9798dbf2def1aa160d5773dc5da57cd1b1a372bd9e734e8bbf89e817e84dfa03cb36519d0b805624dba1259964b8311c729a1632531e1c659765acc483c9f024
diff --git a/dev-python/python-heatclient/metadata.xml b/dev-python/python-heatclient/metadata.xml
new file mode 100644
index 000000000..569ee5741
--- /dev/null
+++ b/dev-python/python-heatclient/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-heatclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-heatclient/python-heatclient-2.2.1.ebuild b/dev-python/python-heatclient/python-heatclient-2.2.1.ebuild
new file mode 100644
index 000000000..3d4ece283
--- /dev/null
+++ b/dev-python/python-heatclient/python-heatclient-2.2.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="OpenStack Orchestration API Client Library"
+HOMEPAGE="https://www.openstack.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}"
+RDEPEND="${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ !~dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-magnumclient/Manifest b/dev-python/python-magnumclient/Manifest
new file mode 100644
index 000000000..5952eaeb3
--- /dev/null
+++ b/dev-python/python-magnumclient/Manifest
@@ -0,0 +1 @@
+DIST python-magnumclient-3.2.1.tar.gz 114288 BLAKE2B c8ed1d6ab2744fb082d33fab121594fa23a53523dfe74ad636e46681c52f3f9084ff5ced0dcdbd6f3cab219a093265da897b8b3b978d0fbb379765d123db348e SHA512 9c84e382e0be411100648ba4a33f33e45133dbfc75bf28945b97064998fe8c1bb0149970a8938498aefd322c87b87d6fa7b69286bb7ec336b40f6fbc9e31dbbc
diff --git a/dev-python/python-magnumclient/metadata.xml b/dev-python/python-magnumclient/metadata.xml
new file mode 100644
index 000000000..1febf4924
--- /dev/null
+++ b/dev-python/python-magnumclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-magnumclient</remote-id>
+ <remote-id type="github">openstack/python-magnumclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-magnumclient/python-magnumclient-3.2.1.ebuild b/dev-python/python-magnumclient/python-magnumclient-3.2.1.ebuild
new file mode 100644
index 000000000..7ad2c4cdb
--- /dev/null
+++ b/dev-python/python-magnumclient/python-magnumclient-3.2.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Magnum API"
+HOMEPAGE="https://github.com/openstack/python-magnumclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/os-client-config-1.28.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-manilaclient/Manifest b/dev-python/python-manilaclient/Manifest
new file mode 100644
index 000000000..7abee2be8
--- /dev/null
+++ b/dev-python/python-manilaclient/Manifest
@@ -0,0 +1 @@
+DIST python-manilaclient-2.3.0.tar.gz 263246 BLAKE2B 885ed636369d296b64bee91b8556be7059837a7958252fe0d24ae6fac7d3e04971539389113bdb06cf8223beb66370e93a3e834b5b8985edbb55b6c922cafdd0 SHA512 cedbf7aa4cce98bb46379dce70684ba3425d6fbd692cfe9878674cb8d7846bd536893fcbdd4c5dbd47e863cb509739433dff905413921ad17cce4e8123e593a9
diff --git a/dev-python/python-manilaclient/metadata.xml b/dev-python/python-manilaclient/metadata.xml
new file mode 100644
index 000000000..aff03ce98
--- /dev/null
+++ b/dev-python/python-manilaclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-manilaclient</remote-id>
+ <remote-id type="github">openstack/python-manilaclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-manilaclient/python-manilaclient-2.3.0.ebuild b/dev-python/python-manilaclient/python-manilaclient-2.3.0.ebuild
new file mode 100644
index 000000000..a71cfc86b
--- /dev/null
+++ b/dev-python/python-manilaclient/python-manilaclient-2.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Manila API"
+HOMEPAGE="https://github.com/openstack/python-manilaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+DEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-1.8[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-3.5.1[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-mistralclient/Manifest b/dev-python/python-mistralclient/Manifest
new file mode 100644
index 000000000..b529cef7a
--- /dev/null
+++ b/dev-python/python-mistralclient/Manifest
@@ -0,0 +1 @@
+DIST python-mistralclient-4.1.1.tar.gz 97257 BLAKE2B 8f58cc59f782d05111b1eb009ba06dc8dd356841ffdc75a4af2fde0492eafce4d728fe8e947e7ef80f4049c3889587ab2926294acd90191dbfc26f6a643cb2c6 SHA512 4f1f5d558ef4711b0ff7da565b0eefc9e3e32d4014d0b9c808370e0e0a00d759aa4f35a7f116f95db00d43277d614aea9fb57200e15c2c0258a48c8e828910e3
diff --git a/dev-python/python-mistralclient/metadata.xml b/dev-python/python-mistralclient/metadata.xml
new file mode 100644
index 000000000..e3c12e29f
--- /dev/null
+++ b/dev-python/python-mistralclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-mistralclient</remote-id>
+ <remote-id type="github">openstack/python-mistralclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-mistralclient/python-mistralclient-4.1.1.ebuild b/dev-python/python-mistralclient/python-mistralclient-4.1.1.ebuild
new file mode 100644
index 000000000..a7d388d6b
--- /dev/null
+++ b/dev-python/python-mistralclient/python-mistralclient-4.1.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Mistral API"
+HOMEPAGE="https://github.com/openstack/python-mistralclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="${CDEPEND}"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ !~dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-monascaclient/Manifest b/dev-python/python-monascaclient/Manifest
new file mode 100644
index 000000000..f52fb2dba
--- /dev/null
+++ b/dev-python/python-monascaclient/Manifest
@@ -0,0 +1 @@
+DIST python-monascaclient-2.2.1.tar.gz 51569 BLAKE2B f8c245867cd80530df0ba873d13465c364dd3f09003e7248497e102f88186ea18833598013fa3eb6b7015e37854036521edfb2850445d3db7d052e068477bdc1 SHA512 6a533c5fefdb31446aea62c997f69588c2c005f6ea4b419959381f623cc74b4fc4b0eeefccf7b305f1526a75ce86b91570338386f6dc959c31ce9f0b1e1022a2
diff --git a/dev-python/python-monascaclient/metadata.xml b/dev-python/python-monascaclient/metadata.xml
new file mode 100644
index 000000000..b704f4ceb
--- /dev/null
+++ b/dev-python/python-monascaclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-monascaclient</remote-id>
+ <remote-id type="github">openstack/python-monascaclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-monascaclient/python-monascaclient-2.2.1.ebuild b/dev-python/python-monascaclient/python-monascaclient-2.2.1.ebuild
new file mode 100644
index 000000000..8dd300793
--- /dev/null
+++ b/dev-python/python-monascaclient/python-monascaclient-2.2.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Monasca API"
+HOMEPAGE="https://github.com/openstack/python-monascaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="${CDEPEND}"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-octaviaclient/Manifest b/dev-python/python-octaviaclient/Manifest
new file mode 100644
index 000000000..12b77b75a
--- /dev/null
+++ b/dev-python/python-octaviaclient/Manifest
@@ -0,0 +1 @@
+DIST python-octaviaclient-2.2.0.tar.gz 83099 BLAKE2B 1ee8333ef09b205bb66445cfcb28b6789c73dd4f5752510a88ace02f0a0b5b20a086fccb9e7fd2014ffad5472c03a86bfb0fe8da8f5fb4c223c46d2352529ad9 SHA512 f6707192dd9b281acb8f3124e9c1b6d02b037034677b7c3946e39b70c0f7600790a9d70fa8228c7aa120ba3187a8aa9ce48db0a0afa16a300befd37fd77f80f1
diff --git a/dev-python/python-octaviaclient/metadata.xml b/dev-python/python-octaviaclient/metadata.xml
new file mode 100644
index 000000000..1b041d17f
--- /dev/null
+++ b/dev-python/python-octaviaclient/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-octaviaclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-octaviaclient/python-octaviaclient-2.2.0.ebuild b/dev-python/python-octaviaclient/python-octaviaclient-2.2.0.ebuild
new file mode 100644
index 000000000..2a00c9b0e
--- /dev/null
+++ b/dev-python/python-octaviaclient/python-octaviaclient-2.2.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Zun API"
+HOMEPAGE="https://github.com/openstack/python-zunclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ !~dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.14.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-saharaclient/Manifest b/dev-python/python-saharaclient/Manifest
new file mode 100644
index 000000000..17d2a6b00
--- /dev/null
+++ b/dev-python/python-saharaclient/Manifest
@@ -0,0 +1 @@
+DIST python-saharaclient-3.2.1.tar.gz 106266 BLAKE2B a9f439028ae523a452b5cdc0024e4d44527c3114826432cef837df1c32bbd89035ec09c8f72c349e7fc8347d438236b61e20df253119bf35bf69e27b00c2affa SHA512 a0e9dec4a8a1b86de182535060c99d79c7aa4c93f801088a0b7d6a40084294821c22de531b00cf73b4f6940e72dc43e505bea8aee218fdcb63ef0727aa806544
diff --git a/dev-python/python-saharaclient/metadata.xml b/dev-python/python-saharaclient/metadata.xml
new file mode 100644
index 000000000..921d49061
--- /dev/null
+++ b/dev-python/python-saharaclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-saharaclient</remote-id>
+ <remote-id type="github">openstack/python-saharaclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-saharaclient/python-saharaclient-3.2.1.ebuild b/dev-python/python-saharaclient/python-saharaclient-3.2.1.ebuild
new file mode 100644
index 000000000..406b09e25
--- /dev/null
+++ b/dev-python/python-saharaclient/python-saharaclient-3.2.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="This is a client for the OpenStack Sahara API, aka HADOOP"
+HOMEPAGE="https://github.com/openstack/python-saharaclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-senlinclient/Manifest b/dev-python/python-senlinclient/Manifest
new file mode 100644
index 000000000..922e9068c
--- /dev/null
+++ b/dev-python/python-senlinclient/Manifest
@@ -0,0 +1 @@
+DIST python-senlinclient-2.1.1.tar.gz 88012 BLAKE2B 0aab4a5eefbd87334323d3785a34fb99cba0ced69cd018d66048cd9664026756c9c11a9287eebccc9cb449d90a3a83322617c04c5e69697b244dc0b6305f73d1 SHA512 7b3813a589c21d87729837a6a208d87dff6c6a8c5f887d9684edd8931d0894b86d95b32f3f8ea65286cdb24c1ae863365712288cb97d86b7aba7dd6c73e059c7
diff --git a/dev-python/python-senlinclient/metadata.xml b/dev-python/python-senlinclient/metadata.xml
new file mode 100644
index 000000000..2fd3bf606
--- /dev/null
+++ b/dev-python/python-senlinclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-senlinclient</remote-id>
+ <remote-id type="github">openstack/python-senlinclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-senlinclient/python-senlinclient-2.1.1.ebuild b/dev-python/python-senlinclient/python-senlinclient-2.1.1.ebuild
new file mode 100644
index 000000000..0d2846697
--- /dev/null
+++ b/dev-python/python-senlinclient/python-senlinclient-2.1.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Senlin API"
+HOMEPAGE="https://github.com/openstack/python-senlinclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+DEPEND=">=dev-python/pbr-2.1.1[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/pbr-2.1.1[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.24.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/python-heatclient-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]"
diff --git a/dev-python/python-troveclient/Manifest b/dev-python/python-troveclient/Manifest
new file mode 100644
index 000000000..9f8dcc268
--- /dev/null
+++ b/dev-python/python-troveclient/Manifest
@@ -0,0 +1 @@
+DIST python-troveclient-5.1.1.tar.gz 180476 BLAKE2B 5f306b044f558fa0cc9ecdabe92842608efa21c6194fcae4f4421a589eb9ff3f7eaf0226fb922a3ece70fce1fb1e692c8aaf6d54746ba2e8890293af976fc6d7 SHA512 731f5c5f230b520b5a8b076a76e18d910123526e39f417eb697e419d59360f3dec75cb2c27159fd0f462690e0ae09f4e6a2d724fc302c0720275b7e0e1d56f17
diff --git a/dev-python/python-troveclient/metadata.xml b/dev-python/python-troveclient/metadata.xml
new file mode 100644
index 000000000..ff9651115
--- /dev/null
+++ b/dev-python/python-troveclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-troveclient</remote-id>
+ <remote-id type="github">openstack/python-troveclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-troveclient/python-troveclient-5.1.1.ebuild b/dev-python/python-troveclient/python-troveclient-5.1.1.ebuild
new file mode 100644
index 000000000..4449dc6a9
--- /dev/null
+++ b/dev-python/python-troveclient/python-troveclient-5.1.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Trove API, a scalable relational database service"
+HOMEPAGE="https://github.com/openstack/python-troveclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+DEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-3.5.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-mistralclient-3.1.0[${PYTHON_USEDEP}]
+ !~dev-python/python-mistralclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-vitrageclient/Manifest b/dev-python/python-vitrageclient/Manifest
new file mode 100644
index 000000000..745fe2d5d
--- /dev/null
+++ b/dev-python/python-vitrageclient/Manifest
@@ -0,0 +1 @@
+DIST python-vitrageclient-4.1.1.tar.gz 48885 BLAKE2B 87bbd0174567c142a38901ddf5a4f785e4a9eac9a9e22c3af6f101ead69695e6f9324e52c86c0f526e4120c2f6e807ff8719b017c38de8aad3f59ed4ebf8c2c2 SHA512 2d6758045e4250ceda55e991286e9391ccb9ec154a8802f2aa3faf81d4021b2a8b3be13cefe38df965cae4b2b094592185362780b14e32dcf7cfdc7a13d005af
diff --git a/dev-python/python-vitrageclient/metadata.xml b/dev-python/python-vitrageclient/metadata.xml
new file mode 100644
index 000000000..a0ee204be
--- /dev/null
+++ b/dev-python/python-vitrageclient/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-vitrageclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-vitrageclient/python-vitrageclient-4.1.1.ebuild b/dev-python/python-vitrageclient/python-vitrageclient-4.1.1.ebuild
new file mode 100644
index 000000000..264c6607e
--- /dev/null
+++ b/dev-python/python-vitrageclient/python-vitrageclient-4.1.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Vitrage API"
+HOMEPAGE="https://github.com/openstack/python-vitrageclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND=">=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ !~dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.3[${PYTHON_USEDEP}]
+ >=dev-python/pydot-1.4.1[${PYTHON_USEDEP}]"
diff --git a/dev-python/python-zaqarclient/Manifest b/dev-python/python-zaqarclient/Manifest
new file mode 100644
index 000000000..cd3491737
--- /dev/null
+++ b/dev-python/python-zaqarclient/Manifest
@@ -0,0 +1 @@
+DIST python-zaqarclient-2.0.1.tar.gz 86779 BLAKE2B 5c19de28ec9329542cc77281596043c746332ac568495a7845150d4449731fd31729c1c745c828f1ba4e4cfa2f64a189b53e982248d3d74e3618e05489e5f24a SHA512 31af3bf16ac821a3f204673c9359d5dcc56915d6f108c0127cad6541ea6760be5b543c839fe053593905b5d876a6910a9038661d818e50af5f986eac442accd4
diff --git a/dev-python/python-zaqarclient/metadata.xml b/dev-python/python-zaqarclient/metadata.xml
new file mode 100644
index 000000000..db7a22d6d
--- /dev/null
+++ b/dev-python/python-zaqarclient/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-zaqarclient</remote-id>
+ <remote-id type="github">openstack/python-zaqarclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-zaqarclient/python-zaqarclient-2.0.1.ebuild b/dev-python/python-zaqarclient/python-zaqarclient-2.0.1.ebuild
new file mode 100644
index 000000000..5895e2274
--- /dev/null
+++ b/dev-python/python-zaqarclient/python-zaqarclient-2.0.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=bdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Zaqar API"
+HOMEPAGE="https://github.com/openstack/python-zaqarclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/python-zunclient/Manifest b/dev-python/python-zunclient/Manifest
new file mode 100644
index 000000000..f977a8960
--- /dev/null
+++ b/dev-python/python-zunclient/Manifest
@@ -0,0 +1 @@
+DIST python-zunclient-4.1.1.tar.gz 114232 BLAKE2B 973ea1191b3d0ba13fc6ad368bd2a741ea3d14ddba32158421c1c72befee5bafbb01da4c2ce12e48e50991169efaf5eeaa4cd986ad34ed058e160c0308c868f5 SHA512 7569171ad620e8e84380639d0f99985b942857925a99fbf47f98196bd372a7b0333923d1ea501c3d7d76c06f6327d38b53f1f80f199c27f4bdf073eab4c1e53b
diff --git a/dev-python/python-zunclient/metadata.xml b/dev-python/python-zunclient/metadata.xml
new file mode 100644
index 000000000..5e20b098d
--- /dev/null
+++ b/dev-python/python-zunclient/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">python-zunclient</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/python-zunclient/python-zunclient-4.1.1.ebuild b/dev-python/python-zunclient/python-zunclient-4.1.1.ebuild
new file mode 100644
index 000000000..61fb7aaa5
--- /dev/null
+++ b/dev-python/python-zunclient/python-zunclient-4.1.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="A client for the OpenStack Zun API"
+HOMEPAGE="https://github.com/openstack/python-zunclient"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="${CDEPEND}"
+RDEPEND="
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-0.44.0[${PYTHON_USEDEP}]
+ >=dev-python/docker-py-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]"
diff --git a/dev-python/ryu/Manifest b/dev-python/ryu/Manifest
new file mode 100644
index 000000000..ae6583664
--- /dev/null
+++ b/dev-python/ryu/Manifest
@@ -0,0 +1 @@
+DIST ryu-4.34.tar.gz 1100203 BLAKE2B fd8f133ffe3b13781664b5da871419e76b6b869bcd35991e7231c61af91c7c76201679bf5a449660d2cc5841d77303d1b6e65271f27977a6ba8954e41c9b8ea1 SHA512 6841bb9325366c2558b11854a5f4e922cdf8a16723c1c48a7cc6fb4d0848e00686086eaecb9cef1e53686553d2ed689fd1d8da84882b60eefb95cb1ad21eead9
diff --git a/dev-python/ryu/metadata.xml b/dev-python/ryu/metadata.xml
new file mode 100644
index 000000000..638c9587a
--- /dev/null
+++ b/dev-python/ryu/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">ryu</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ryu/ryu-4.34.ebuild b/dev-python/ryu/ryu-4.34.ebuild
new file mode 100644
index 000000000..ed054c3d6
--- /dev/null
+++ b/dev-python/ryu/ryu-4.34.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7..8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="Component-based Software-defined Networking Framework"
+HOMEPAGE="https://ryu-sdn.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND="dev-python/pbr[${PYTHON_USEDEP}]"
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${D}"/usr/etc "${D}"/etc
+}
diff --git a/dev-python/taskflow/Manifest b/dev-python/taskflow/Manifest
new file mode 100644
index 000000000..ff11b2e60
--- /dev/null
+++ b/dev-python/taskflow/Manifest
@@ -0,0 +1 @@
+DIST taskflow-4.5.0.tar.gz 1068584 BLAKE2B 53d3541f99df2b38f1b5ee822017d71d9fe0188b4c8542fed328a316c35215a093a49058638cc6d28dcb85a0d057505958f6e814db010fcb9b17040aa281c93b SHA512 d5245cd5c80ace671f84d222c874db8078d277cbf95b7f03bb1b6b55bb72dad9f8a97d11d2e7a427ffd316b792c18c270018f802fe420b4ed5ab42bfa6f47684
diff --git a/dev-python/taskflow/metadata.xml b/dev-python/taskflow/metadata.xml
new file mode 100644
index 000000000..2ee21fe48
--- /dev/null
+++ b/dev-python/taskflow/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">taskflow</remote-id>
+ <remote-id type="github">openstack/taskflow</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/taskflow/taskflow-4.5.0.ebuild b/dev-python/taskflow/taskflow-4.5.0.ebuild
new file mode 100644
index 000000000..b54bdf739
--- /dev/null
+++ b/dev-python/taskflow/taskflow-4.5.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+inherit distutils-r1
+
+DESCRIPTION="A library to do [jobs, tasks, flows] in a HA manner using different backends"
+HOMEPAGE="https://github.com/openstack/taskflow"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/futurist-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/fasteners-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/contextlib2-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/automaton-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cachetools-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pydot-1.2.4[${PYTHON_USEDEP}]"
diff --git a/dev-python/tinyrpc/Manifest b/dev-python/tinyrpc/Manifest
new file mode 100644
index 000000000..29ebab4d9
--- /dev/null
+++ b/dev-python/tinyrpc/Manifest
@@ -0,0 +1 @@
+DIST tinyrpc-1.0.1.tar.gz 23299 BLAKE2B c1b5b9028f978594907db7d7e23b0d5b4a7fcfabb49e660a8fc5352462fd7995f841f08d96fa4845a1b82a0718cdcfd26e94901ceaecfd30bd11b917a0987fc7 SHA512 9a27e002959a54fae1ac8d89ac931cdd52b7ee96eb08c4c19f7eda4bc402834b53b0d9a3f0be857e5205df7e9597a1391e1376d6354a7d0b6085b81d8dc24b93
diff --git a/dev-python/tinyrpc/metadata.xml b/dev-python/tinyrpc/metadata.xml
new file mode 100644
index 000000000..ca3a7c651
--- /dev/null
+++ b/dev-python/tinyrpc/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">mbr/tinyrpc</remote-id>
+ <remote-id type="pypi">tinyrpc</remote-id>
+ </upstream>
+ <use>
+ <flag name="gevent">Add support for gevent</flag>
+ <flag name="httpclient">Add support for httpclient</flag>
+ <flag name="jsonext">Add support for jsonext</flag>
+ <flag name="websocket">Add support for websocket</flag>
+ <flag name="wsgi">Add support for wsgi</flag>
+ <flag name="zmq">Add support for zmq</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/tinyrpc/tinyrpc-1.0.1.ebuild b/dev-python/tinyrpc/tinyrpc-1.0.1.ebuild
new file mode 100644
index 000000000..df2e583ff
--- /dev/null
+++ b/dev-python/tinyrpc/tinyrpc-1.0.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_7 python3_8 )
+inherit distutils-r1
+
+DESCRIPTION="A protocol neutral RPC library that supports JSON-RPC and zmq."
+HOMEPAGE="https://github.com/mbr/tinyrpc"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="gevent httpclient jsonext websocket wsgi zmq"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}
+ dev-python/six[${PYTHON_USEDEP}]
+ gevent? ( dev-python/gevent[${PYTHON_USEDEP}] )
+ httpclient? ( dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+ dev-python/gevent-websocket[${PYTHON_USEDEP}]
+ )
+ websocket? ( dev-python/gevent-websocket[${PYTHON_USEDEP}] )
+ wsgi? ( dev-python/werkzeug[${PYTHON_USEDEP}] )
+ zmq? ( dev-python/pyzmq[${PYTHON_USEDEP}] )
+ jsonext? ( dev-python/jsonext[${PYTHON_USEDEP}] )"
+BDEPEND=""
diff --git a/dev-python/tooz/Manifest b/dev-python/tooz/Manifest
new file mode 100644
index 000000000..6908457c7
--- /dev/null
+++ b/dev-python/tooz/Manifest
@@ -0,0 +1 @@
+DIST tooz-2.7.1.tar.gz 94084 BLAKE2B f2c49af8ba98144c61c9658d7737d737f0892bff92abe8830da6c0b7bd06905519f9a5c0e89c5d511705bc8ccbf764ad2bbb3bb12f175077ac0fd6896e0b4b23 SHA512 a2c4827daac059e1bf92789226f48c40a328db855b1455b06e9f8949f8e0ea685e6d0ca3fd7ff5b5b309f2f395e7d8e42c2585a68e2c0f3fd9149f0efc829c34
diff --git a/dev-python/tooz/metadata.xml b/dev-python/tooz/metadata.xml
new file mode 100644
index 000000000..827a131f4
--- /dev/null
+++ b/dev-python/tooz/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ The Tooz project aims at centralizing the most common distributed primitives like group membership protocol, lock service and leader election by providing a coordination API helping developers to build distributed applications.
+ </longdescription>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">tooz</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/tooz/tooz-2.7.1.ebuild b/dev-python/tooz/tooz-2.7.1.ebuild
new file mode 100644
index 000000000..96fab8412
--- /dev/null
+++ b/dev-python/tooz/tooz-2.7.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python{3_7,3_8} )
+
+inherit distutils-r1
+
+DESCRIPTION="Library centralizing the most common distributed primitives"
+HOMEPAGE="http://docs.openstack.org/developer/tooz/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+CDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
+ ${CDEPEND}"
+RDEPEND="${CDEPEND}
+ >=dev-python/stevedore-1.17.1[${PYTHON_USEDEP}]
+ >=dev-python/voluptuous-0.8.9[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/fasteners-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-3.2.1[${PYTHON_USEDEP}]
+ >=dev-python/futurist-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.10.0[${PYTHON_USEDEP}]"
+
+python_prepare_all() {
+ # allow useage of renamed msgpack
+ sed -i '/^msgpack/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/yaql/Manifest b/dev-python/yaql/Manifest
new file mode 100644
index 000000000..3bcb8fe64
--- /dev/null
+++ b/dev-python/yaql/Manifest
@@ -0,0 +1 @@
+DIST yaql-1.1.3.tar.gz 111546 BLAKE2B 2bb2567532cf22a200074baa2e85e0fe90e402dde66e2cbad5f750c95f4e76ee94a068d0be9f741fa932ba4f505f97a2bacf1ad367dea308ce0f69a4d94c9033 SHA512 e85712f65dc932126c75cc84403d14639f76098f4bd22ff2106a68afb6685794e1797154bbf1343e1f82a8b4a13e351d2d0dec1f235e31eecd96f6394116cd4b
diff --git a/dev-python/yaql/metadata.xml b/dev-python/yaql/metadata.xml
new file mode 100644
index 000000000..b9c185360
--- /dev/null
+++ b/dev-python/yaql/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <longdescription lang="en">
+ YAQL (Yet Another Query Language) is an embeddable and extensible query
+ language, that allows performing complex queries against arbitrary objects.
+ It has a vast and comprehensive standard library of frequently used
+ querying functions and can be extend even further with user-specified
+ functions. YAQL is written in python and is distributed via PyPI.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">yaql</remote-id>
+ <remote-id type="github">openstack/yaql</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/yaql/yaql-1.1.3.ebuild b/dev-python/yaql/yaql-1.1.3.ebuild
new file mode 100644
index 000000000..1eb70cc51
--- /dev/null
+++ b/dev-python/yaql/yaql-1.1.3.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{7,8} )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="YAQL: Yet Another Query Language"
+HOMEPAGE="https://github.com/openstack/yaql"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86 ~amd64-linux ~x86-linux"
+IUSE=""
+
+DEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]"
+RDEPEND=">=dev-python/pbr-1.8[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
+ dev-python/ply[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]"
diff --git a/dev-python/zVMCloudConnector/Manifest b/dev-python/zVMCloudConnector/Manifest
new file mode 100644
index 000000000..8b65457a0
--- /dev/null
+++ b/dev-python/zVMCloudConnector/Manifest
@@ -0,0 +1 @@
+DIST zVMCloudConnector-1.4.1.tar.gz 238562 BLAKE2B 048caf53328cb96589ba4cdba747dce662cf931a9356e10325733800188e945a7f32cbfc5d6eed7900563b384952b8103b446d28c4c5c5ff7b51444605c7a8bc SHA512 206776bd04ef547df530438efe6209db7374c33727d13269f6f3632aa69c74713b358e628dc4fab8afc6657ac65a17bd2ec4c6f2984385de2187581fd734e65c
diff --git a/dev-python/zVMCloudConnector/metadata.xml b/dev-python/zVMCloudConnector/metadata.xml
new file mode 100644
index 000000000..4b9db07e2
--- /dev/null
+++ b/dev-python/zVMCloudConnector/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ z/VM cloud connector is a development sdk for manage z/VM. It provides a set of APIs to operate z/VM including guest, image, network, volume etc.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">zVMCloudConnector</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/zVMCloudConnector/zVMCloudConnector-1.4.1.ebuild b/dev-python/zVMCloudConnector/zVMCloudConnector-1.4.1.ebuild
new file mode 100644
index 000000000..f3e78a99d
--- /dev/null
+++ b/dev-python/zVMCloudConnector/zVMCloudConnector-1.4.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+
+inherit distutils-r1
+
+DESCRIPTION="a development sdk for managing z/VM"
+HOMEPAGE="https://github.com/mfcloud/python-zvm-sdk"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE=""
+
+DEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.5[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.2.3[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
diff --git a/sys-auth/keystone/Manifest b/sys-auth/keystone/Manifest
new file mode 100644
index 000000000..a93d9075a
--- /dev/null
+++ b/sys-auth/keystone/Manifest
@@ -0,0 +1,2 @@
+DIST keystone-18.0.0.tar.gz 1679326 BLAKE2B 714df5a1d7c6d601d1743a2dd3bac57c1006aeb9361241edf4205c583b6df6763411c27aa0d420aa94ee2a8cc581678013cc27ae8a97747f903d61fc852afb6e SHA512 48aa9aae46e0f61596222aa37def152cdb48876afb7edc1eadf84ea91c8bd2f6bfd645d64e9bfb82cf9d041d7ae432c34d25e34130b32b4815d9a73cea903ffc
+DIST keystone.conf.sample-18.0.0 107458 BLAKE2B c1d826acdd671638fc4542864811bda8baa237cfbf24438fa0cedc12e6f29047178cfb1b837c0aef035410848ce3e473e58b51f0eadee4c61eb75f214c65c35a SHA512 6488a1c3eac0d1376db0950cda65c62ba04dc03d896a6c0465ea09b870e5d077ed5012a84657defb9f63db25ce320c884f72c4083e4a233f18930120194ba73b
diff --git a/sys-auth/keystone/keystone-18.0.0.ebuild b/sys-auth/keystone/keystone-18.0.0.ebuild
new file mode 100644
index 000000000..d09a91b28
--- /dev/null
+++ b/sys-auth/keystone/keystone-18.0.0.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1
+
+DESCRIPTION="The Openstack authentication, authorization, and service catalog"
+HOMEPAGE="https://launchpad.net/keystone"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/keystone/victoria/keystone.conf.sample -> keystone.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/keystone.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/keystone/victoria/keystone.conf.sample -> keystone.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+sqlite ldap memcached mongo mysql postgres test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+CDEPEND=">=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0"
+DEPEND="
+ ${CDEPEND}"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/flask-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/flask-restful-0.3.5[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.3.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.3.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.3.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
+ >=dev-python/scrypt-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.44.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/pysaml2-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pycadf-1.1.0[${PYTHON_USEDEP}]
+ !~dev-python/pycadf-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ memcached? (
+ >=dev-python/python-memcached-1.56[${PYTHON_USEDEP}]
+ )
+ mongo? (
+ >=dev-python/pymongo-3.0.2[${PYTHON_USEDEP}]
+ !~dev-python/pymongo-3.1[${PYTHON_USEDEP}]
+ )
+ ldap? (
+ >=dev-python/python-ldap-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ldappool-2.3.1[${PYTHON_USEDEP}]
+ )
+ || (
+ www-servers/uwsgi[python,${PYTHON_USEDEP}]
+ www-apache/mod_wsgi[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ )
+ acct-user/keystone
+ acct-group/keystone"
+
+python_prepare_all() {
+ # it's in git, but not in the tarball.....
+ sed -i '/^hacking/d' test-requirements.txt || die
+ mkdir -p ${PN}/tests/tmp/ || die
+ sed -i 's|/usr/local|/usr|g' httpd/keystone-uwsgi-* || die
+ sed -i 's|python|python27|g' httpd/keystone-uwsgi-* || die
+ # allow useage of renamed msgpack
+ sed -i '/^msgpack/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ nosetests -I 'test_keystoneclient*' \
+ -e test_static_translated_string_is_Message \
+ -e test_get_token_id_error_handling \
+ -e test_provider_token_expiration_validation \
+ -e test_import --process-restartworker --process-timeout=60 || die "testsuite failed under python2.7"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ diropts -m 0750
+ keepdir /etc/keystone /var/log/keystone
+ insinto /etc/keystone
+ insopts -m0640 -okeystone -gkeystone
+ newins "${DISTDIR}/keystone.conf.sample-${PV}" keystone.conf.sample
+ doins etc/logging.conf.sample
+ doins etc/default_catalog.templates
+# doins etc/policy.v3cloudsample.json
+ insinto /etc/keystone/httpd
+ doins httpd/*
+
+ fowners keystone:keystone /etc/keystone /etc/keystone/httpd /var/log/keystone
+ # stupid python doing stupid things
+ rm -r "${ED}"/usr/etc
+}
+
+pkg_postinst() {
+ elog "You might want to run:"
+ elog "emerge --config =${CATEGORY}/${PF}"
+ elog "if this is a new install."
+ elog "If you have not already configured your openssl installation"
+ elog "please do it by modifying /etc/ssl/openssl.cnf"
+ elog "BEFORE issuing the configuration command."
+ elog "Otherwise default values will be used."
+}
+
+pkg_config() {
+ if [ ! -d "${ROOT}"/etc/keystone/ssl ] ; then
+ einfo "Press ENTER to configure the keystone PKI, or Control-C to abort now..."
+ read
+ "${ROOT}"/usr/bin/keystone-manage pki_setup --keystone-user keystone --keystone-group keystone
+ else
+ einfo "keystone PKI certificates directory already present, skipping configuration"
+ fi
+}
diff --git a/sys-auth/keystone/metadata.xml b/sys-auth/keystone/metadata.xml
new file mode 100644
index 000000000..59b25532a
--- /dev/null
+++ b/sys-auth/keystone/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="memcached">Installs dependencies needed for using memcached as a backend</flag>
+ <flag name="mongo">Installs dependencies needed for using mongo as a backend</flag>
+ </use>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">keystone</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/cinder/Manifest b/sys-cluster/cinder/Manifest
new file mode 100644
index 000000000..7ae129be5
--- /dev/null
+++ b/sys-cluster/cinder/Manifest
@@ -0,0 +1,2 @@
+DIST cinder-17.1.0.tar.gz 5823116 BLAKE2B 08f8c4e9acdd46d27ad5e35b8602dc7722ff0f08f577183860138f9085f6744abeccf6943d556419cc7584504c3245c19cfd4f17db4164cc8a4c144aa8c112bd SHA512 f3e91945e81e5bb7edefba62050d3750ae5ab870903e55f46e8f0a5d3c140eada1df466d5fcc6623df8ad9688cad3c6519c712494cd20b8cfeb4b992e8f516cc
+DIST cinder.conf.sample-17.1.0 186451 BLAKE2B efc75cf3c5e852d411d9c2ed2080eb554a5f81c9b39a2ee9cf44add21842c05ea5b03cc66747da2182d2efc73d83b55323cecd4aa34db99369bf62b5ed1795bc SHA512 ee60a62ec8490a38c995f9c4a9ede8eeec631745bdbc9bc6e1d195370687de5d99aa8754ea017f23e6a9542b987842c7ffd7cf203bfed37f2a7ddbe61a82d517
diff --git a/sys-cluster/cinder/cinder-17.1.0.ebuild b/sys-cluster/cinder/cinder-17.1.0.ebuild
new file mode 100644
index 000000000..1cce5217a
--- /dev/null
+++ b/sys-cluster/cinder/cinder-17.1.0.ebuild
@@ -0,0 +1,191 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1 linux-info
+
+DESCRIPTION="Cinder is the OpenStack Block storage service, a spin out of nova-volumes"
+HOMEPAGE="https://launchpad.net/cinder"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/victoria/cinder.conf.sample -> cinder.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/cinder.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/cinder/victoria/cinder.conf.sample -> cinder.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+api +scheduler +volume infiniband iscsi lvm mysql +memcached postgres rdma sqlite +tcp test +tgt"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="|| ( mysql postgres sqlite ) iscsi? ( tgt ) infiniband? ( rdma )"
+
+DEPEND=">=dev-python/pbr-5.4.1[${PYTHON_USEDEP}]
+ app-admin/sudo"
+
+# >=dev-python/oauth2client-1.5.0[${PYTHON_USEDEP}] # do not include, upstream depricated
+RDEPEND="
+ >=dev-python/pbr-5.4.1[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.26.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.4.15[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/importlib_metadata-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.12[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.21.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.11.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.23.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.44.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-6.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.44.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.40.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.7.1[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.2.1[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.9.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.15.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.15.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2015.7[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/rtslib-fb-2.1.65[${PYTHON_USEDEP}]
+ >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.3.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.3.0[sqlite,${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.3.0[sqlite,${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.31.0[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.8.5[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.24.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-vmware-2.35.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-4.0.1[${PYTHON_USEDEP}]
+ >=dev-python/os-win-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
+ >=dev-python/google-api-python-client-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/castellan-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.1.4[${PYTHON_USEDEP}]
+ >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/zstd-1.4.5.0[${PYTHON_USEDEP}]
+ iscsi? (
+ tgt? ( sys-block/tgt )
+ sys-block/open-iscsi
+ )
+ lvm? ( sys-fs/lvm2 )
+ memcached? ( net-misc/memcached )
+ app-emulation/qemu
+ sys-fs/sysfsutils
+ acct-user/cinder
+ acct-group/cinder"
+# qemu is needed for image conversion
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES=""
+ if use tcp; then
+ CONFIG_CHECK_MODULES+="SCSI_ISCSI_ATTRS ISCSI_TCP "
+ fi
+ if use rdma; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_ISER "
+ fi
+ if use infiniband; then
+ CONFIG_CHECK_MODULES+="INFINIBAND_IPOIB INFINIBAND_USER_MAD INFINIBAND_USER_ACCESS"
+ fi
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # only used for docs
+ sed -i '/^sphinx-feature-classification/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Let's track progress of this # https://bugs.launchpad.net/swift/+bug/1249727
+ nosetests -I test_wsgi.py cinder/tests/ || die "tests failed under python2.7"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/cinder
+ dodir /etc/cinder/rootwrap.d
+
+ for svc in api scheduler volume; do
+ newinitd "${FILESDIR}/cinder.initd" cinder-${svc}
+ done
+
+ insinto /etc/cinder
+ insopts -m0640 -o cinder -g cinder
+ doins "etc/cinder/api-httpd.conf"
+ doins "etc/cinder/logging_sample.conf"
+ doins "etc/cinder/rootwrap.conf"
+ doins "etc/cinder/api-paste.ini"
+ doins "etc/cinder/resource_filters.json"
+ newins "${DISTDIR}/cinder.conf.sample-${PV}" "cinder.conf.sample"
+ insinto /etc/cinder/rootwrap.d
+ doins "etc/cinder/rootwrap.d/volume.filters"
+
+ dodir /var/log/cinder
+ fowners cinder:cinder /var/log/cinder
+
+ #add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/cinder.sudoersd" cinder
+ # stupid python
+ rm -r "${ED}"/usr/etc
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "Cinder needs tgtd to be installed and running to work with iscsi"
+ elog "it also needs 'include /var/lib/cinder/volumes/*' in /etc/tgt/targets.conf"
+ fi
+}
diff --git a/sys-cluster/cinder/files/cinder.initd b/sys-cluster/cinder/files/cinder.initd
new file mode 100644
index 000000000..b6a844a93
--- /dev/null
+++ b/sys-cluster/cinder/files/cinder.initd
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command=/usr/bin/${SVCNAME}
+command_background=yes
+command_args="--config-file /etc/cinder/cinder.conf --log-file ${CINDER_LOGDIR:-/var/log/cinder}/${SVCNAME}.log"
+command_user="${CINDER_USER:-cinder}"
+pidfile=/run/${SVCNAME}.pid
+required_files=/etc/cinder/cinder.conf
+retry="SIGTERM/30"
+
+depend() {
+ need net
+}
diff --git a/sys-cluster/cinder/files/cinder.sudoersd b/sys-cluster/cinder/files/cinder.sudoersd
new file mode 100644
index 000000000..f44bab4a5
--- /dev/null
+++ b/sys-cluster/cinder/files/cinder.sudoersd
@@ -0,0 +1,4 @@
+Defaults:cinder !requiretty
+
+cinder ALL = (root) NOPASSWD: /usr/bin/cinder-rootwrap
+
diff --git a/sys-cluster/cinder/metadata.xml b/sys-cluster/cinder/metadata.xml
new file mode 100644
index 000000000..826d615f6
--- /dev/null
+++ b/sys-cluster/cinder/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <use>
+ <flag name="api">Installs the initscripts for the cinder api service</flag>
+ <flag name="iscsi">Allow using an iSCSI remote storage server as pool for disk image storage</flag>
+ <flag name="lvm">Allow using the Logical Volume Manager (<pkg>sys-fs/lvm2</pkg>) as pool for disk image storage</flag>
+ <flag name="memcached">Installs the memcached server</flag>
+ <flag name="rdma">Enable rdma storage backend support</flag>
+ <flag name="scheduler">Installs the initscripts for the cinder scheduler service</flag>
+ <flag name="tcp">Enables tcp support for the iscsi backend</flag>
+ <flag name="tgt">Enable tgt storage backend support</flag>
+ <flag name="volume">Installs the initscripts for the cinder volume service</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">cinder</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/heat/Manifest b/sys-cluster/heat/Manifest
new file mode 100644
index 000000000..3072f70fb
--- /dev/null
+++ b/sys-cluster/heat/Manifest
@@ -0,0 +1,2 @@
+DIST heat.conf.sample-15.0.0 77233 BLAKE2B 4c15a617a667aa72af08038d90a3935e68298fd240a2aef6fd877843a1c9a149315cda2a6c322762d57edb8f9c189407fe71ee2f30fde57aa40a6d7f8c132249 SHA512 4d7a31c171849451475e1fcfb4961051ad88472ab5e13c2e8809386889f00a73200d2f6e7155aa59d1bd00eb28e43e94987e7bc1e496d1c9f2ed003f0a8d96e2
+DIST openstack-heat-15.0.0.tar.gz 2391827 BLAKE2B 50e7881a4114ba2ed6ba9067a7879382b5b3d61e2db8f113190a6194f8d34d1b06734a1e3b532805cfad23999ed233ea9c8fc369e1b269828653f346e28ddff7 SHA512 dd17f5cabadd90ab88adea3782a29802b0b4467c46c40dbd41ce68c08e2425b2eec362833b79cb739e16e6d5b137256cc4955afd5bd143e3a2e613d3b428dd5d
diff --git a/sys-cluster/heat/files/heat.initd b/sys-cluster/heat/files/heat.initd
new file mode 100644
index 000000000..295879ebe
--- /dev/null
+++ b/sys-cluster/heat/files/heat.initd
@@ -0,0 +1,16 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command=/usr/bin/${SVCNAME}
+command_user="${HEAT_USER:-heat}"
+command_background=yes
+command_args="--config-file /etc/heat/heat.conf --log-file ${HEAT_LOGDIR:-/var/log/heat}/${SVCNAME}.log"
+pidfile=/run/${SVCNAME}.pid
+required_files=/etc/heat/heat.conf
+
+depend() {
+ need net
+}
diff --git a/sys-cluster/heat/heat-15.0.0.ebuild b/sys-cluster/heat/heat-15.0.0.ebuild
new file mode 100644
index 000000000..8f85d1f90
--- /dev/null
+++ b/sys-cluster/heat/heat-15.0.0.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1 linux-info
+
+DESCRIPTION="A CloudFormation-compatible openstack-native cloud orchestration engine."
+HOMEPAGE="https://launchpad.net/heat"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.victoria -> heat.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/heat.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/heat/heat.conf.sample.victoria -> heat.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/openstack-${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+ S="${WORKDIR}/openstack-${P}"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+mysql +memcached postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND="
+ >=dev-python/pbr-5.4.0[${PYTHON_USEDEP}]
+ app-admin/sudo
+"
+RDEPEND="
+ >=dev-python/pbr-5.4.0[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.3.4[${PYTHON_USEDEP}]
+ !~dev-python/Babel-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/croniter-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.19.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.20.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.20.1[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.23.0[${PYTHON_USEDEP}]
+ !~dev-python/eventlet-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.11.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-5.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.37.0[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.31.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/aodhclient-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/python-barbicanclient-4.5.2[${PYTHON_USEDEP}]
+ >=dev-python/python-blazarclient-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-heatclient-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/python-ironicclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-magnumclient-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-manilaclient-1.16.0[${PYTHON_USEDEP}]
+ >=dev-python/python-mistralclient-3.1.0[${PYTHON_USEDEP}]
+ !~dev-python/python-mistralclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-monascaclient-1.12.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.14.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-octaviaclient-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/python-saharaclient-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/python-swiftclient-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-troveclient-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-vitrageclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zaqarclient-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/python-zunclient-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.0.10[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[sqlite,${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.0.10[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.5[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.6[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.7[${PYTHON_USEDEP}]
+ !~dev-python/sqlalchemy-1.1.8[${PYTHON_USEDEP}]
+ )
+ >=dev-python/sqlalchemy-migrate-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.7.1[${PYTHON_USEDEP}]
+ >=dev-python/yaql-1.1.3[${PYTHON_USEDEP}]
+ acct-user/heat
+ acct-group/heat"
+
+PATCHES=(
+)
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ diropts -m0750 -o heat -g heat
+ keepdir /etc/heat
+ dodir /etc/heat/environment.d
+ dodir /etc/heat/templates
+
+ for svc in api api-cfn engine; do
+ newinitd "${FILESDIR}/heat.initd" heat-${svc}
+ done
+
+ insinto /etc/heat
+ insopts -m0640 -o heat -g heat
+ newins "${DISTDIR}/heat.conf.sample-${PV}" "heat.conf.sample"
+ doins "etc/heat/api-paste.ini"
+ insinto /etc/heat/templates
+ doins "etc/heat/templates/"*
+ insinto /etc/heat/environment.d
+ doins "etc/heat/environment.d/default.yaml"
+
+ dodir /var/log/heat
+ fowners heat:heat /var/log/heat
+ rm -r "${ED}"/usr/etc
+}
diff --git a/sys-cluster/heat/metadata.xml b/sys-cluster/heat/metadata.xml
new file mode 100644
index 000000000..f8a3eeab0
--- /dev/null
+++ b/sys-cluster/heat/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <longdescription lang="en">
+ Heat is a service to orchestrate multiple composite cloud applications using
+ templates, through both an OpenStack-native REST API and a
+ CloudFormation-compatible Query API.
+ </longdescription>
+ <use>
+ <flag name="memcached">Installs the memcached server</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">heat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/neutron/Manifest b/sys-cluster/neutron/Manifest
new file mode 100644
index 000000000..8d94c3474
--- /dev/null
+++ b/sys-cluster/neutron/Manifest
@@ -0,0 +1,6 @@
+DIST neutron-17.1.1.tar.gz 12925243 BLAKE2B f95068d1a85a508e447fc5de28ef6555252fdfe3deb8b0dd94a2e20f28663dc610bbb5e32fb69e0d80fbe9917c387b0c095fb43370ddfe2bbb05327553cb8e58 SHA512 cd707d4adaa6a6b606940370606fcef61a35af0d1f1108f24891d2f88611f4f2812c061d3b7a9540d4b6df882615a9366d39273184a791a911775e7c9f4402b8
+DIST neutron-17.1.2.tar.gz 12930231 BLAKE2B 865e849fb811b3abf8b589ea5752c9305962ed24bcd69a4998425a1d56abcadd87f224e883269b780655f252d40dd050805782080385d94163b5488ffbdbf52a SHA512 1320c96ba5b3b2de5feb313b564baa7308b3b964c628afa57e60ed8f541549b11ddaa0ea1e4025dc0265ad1d962f0961fdc93924fcdde98c9b7c3c23728a3ebd
+DIST neutron-configs-17.1.1.tar.gz 30314 BLAKE2B 885d00259fde0200f6a52d91b18e884012c04cb06e5e4ba6c72b77fbb0a8df30d50efd6db16faa009328eac9b7c5fb31854feb81595a542b4ac5d8172c8056b6 SHA512 cf85a563c417e1fb01f7d329c7021c20782fe67f64c5dfd542deed07e09d6a717e472976df8f1f4c3bb4a6a10e8d8b8300f18e1a3759358b3db12f77dad7bd5b
+DIST neutron-configs-17.1.2.tar.gz 30314 BLAKE2B 885d00259fde0200f6a52d91b18e884012c04cb06e5e4ba6c72b77fbb0a8df30d50efd6db16faa009328eac9b7c5fb31854feb81595a542b4ac5d8172c8056b6 SHA512 cf85a563c417e1fb01f7d329c7021c20782fe67f64c5dfd542deed07e09d6a717e472976df8f1f4c3bb4a6a10e8d8b8300f18e1a3759358b3db12f77dad7bd5b
+DIST neutron-ml2-plugins-17.1.1.tar.gz 9011 BLAKE2B d9f8cb4d26699ca44a4cf4cd422bd88b9bb5a2138a80fec469021491d87b158502801c2ce79316f52a900877f7706dc93c2a5a5a33c868918effeaa6b65a7931 SHA512 a225310f0f54991a079d515512189b3c08de22c5b13d58960ef24498401fc54b0878ed879d895e696b789e703a0bb3f4a184eccbbfb9ac9fe9447086cb952b37
+DIST neutron-ml2-plugins-17.1.2.tar.gz 9011 BLAKE2B d9f8cb4d26699ca44a4cf4cd422bd88b9bb5a2138a80fec469021491d87b158502801c2ce79316f52a900877f7706dc93c2a5a5a33c868918effeaa6b65a7931 SHA512 a225310f0f54991a079d515512189b3c08de22c5b13d58960ef24498401fc54b0878ed879d895e696b789e703a0bb3f4a184eccbbfb9ac9fe9447086cb952b37
diff --git a/sys-cluster/neutron/files/neutron-dhcp-agent.confd b/sys-cluster/neutron/files/neutron-dhcp-agent.confd
new file mode 100644
index 000000000..75ddba5eb
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-dhcp-agent.confd
@@ -0,0 +1,2 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/dhcp_agent.ini")
+
diff --git a/sys-cluster/neutron/files/neutron-l3-agent.confd b/sys-cluster/neutron/files/neutron-l3-agent.confd
new file mode 100644
index 000000000..990278682
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-l3-agent.confd
@@ -0,0 +1,2 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/l3_agent.ini")
+
diff --git a/sys-cluster/neutron/files/neutron-linuxbridge-agent.confd b/sys-cluster/neutron/files/neutron-linuxbridge-agent.confd
new file mode 100644
index 000000000..9a2d52c70
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-linuxbridge-agent.confd
@@ -0,0 +1 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/plugins/ml2/ml2_conf.ini" "/etc/neutron/plugins/ml2/linuxbridge_agent.ini")
diff --git a/sys-cluster/neutron/files/neutron-metadata-agent.confd b/sys-cluster/neutron/files/neutron-metadata-agent.confd
new file mode 100644
index 000000000..6a78b7abe
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-metadata-agent.confd
@@ -0,0 +1,2 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/metadata_agent.ini")
+
diff --git a/sys-cluster/neutron/files/neutron-openvswitch-agent.confd b/sys-cluster/neutron/files/neutron-openvswitch-agent.confd
new file mode 100644
index 000000000..30b10b69b
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-openvswitch-agent.confd
@@ -0,0 +1 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/plugins/ml2/ml2_conf.ini" "/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini")
diff --git a/sys-cluster/neutron/files/neutron-server.confd b/sys-cluster/neutron/files/neutron-server.confd
new file mode 100644
index 000000000..9b6b2e63f
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron-server.confd
@@ -0,0 +1 @@
+NEUTRON_CONFS=("/etc/neutron/neutron.conf" "/etc/neutron/plugin.ini")
diff --git a/sys-cluster/neutron/files/neutron.initd b/sys-cluster/neutron/files/neutron.initd
new file mode 100644
index 000000000..26bf768dd
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron.initd
@@ -0,0 +1,17 @@
+#!/sbin/openrc-run
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command=/usr/bin/"${SVCNAME}"
+command_background=yes
+command_user="${NEUTRON_USER:-neutron}"
+pidfile=/run/"${SVCNAME}".pid
+required_files=(${NEUTRON_CONFS[@]:-/etc/neutron/neutron.conf})
+command_args="${required_files[@]/#/--config-file } --log-file ${NEUTRON_LOGDIR:-/var/log/neutron}/${SVCNAME#*-}.log"
+retry="SIGTERM/15"
+
+depend() {
+ need net
+}
diff --git a/sys-cluster/neutron/files/neutron.sudoersd b/sys-cluster/neutron/files/neutron.sudoersd
new file mode 100644
index 000000000..0b7002374
--- /dev/null
+++ b/sys-cluster/neutron/files/neutron.sudoersd
@@ -0,0 +1,4 @@
+Defaults:neutron !requiretty
+
+neutron ALL = (root) NOPASSWD: /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf *
+
diff --git a/sys-cluster/neutron/metadata.xml b/sys-cluster/neutron/metadata.xml
new file mode 100644
index 000000000..22abebfb4
--- /dev/null
+++ b/sys-cluster/neutron/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <longdescription lang="en">
+ Just like OpenStack Nova provides an API to dynamically request and
+ configure virtual servers, Neutron provides an API to dynamically request
+ and configure virtual networks. These networks connect "interfaces" from
+ other OpenStack services (e.g., vNICs from Nova VMs). The Neutron API
+ supports extensions to provide advanced network capabilities
+ (e.g., QoS, ACLs, network monitoring, etc).
+ </longdescription>
+ <use>
+ <flag name="compute-only">Only install things needed on compute hosts</flag>
+ <flag name="dhcp">Installs the initscripts for the neutron dhcp service</flag>
+ <flag name="haproxy">haproxy backend support</flag>
+ <flag name="l3">Installs the initscripts for the neutron l3 agent service</flag>
+ <flag name="metadata">Installs the initscripts for the neutron metadata agent service</flag>
+ <flag name="openvswitch">Installs the initscripts for the neutron openvswitch agent service</flag>
+ <flag name="linuxbridge">Installs the initscripts for the neutron linuxbridge agent service</flag>
+ <flag name="server">Installs the initscripts for the neutron server service</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">neutron</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/neutron/neutron-17.1.1.ebuild b/sys-cluster/neutron/neutron-17.1.1.ebuild
new file mode 100644
index 000000000..7cb75c414
--- /dev/null
+++ b/sys-cluster/neutron/neutron-17.1.1.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1 linux-info
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+ EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="compute-only dhcp haproxy ipv6 l3 metadata openvswitch linuxbridge server sqlite +mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+DEPEND="
+ >=dev-python/pbr-4.0.0[${PYTHON_USEDEP}]
+ app-admin/sudo
+"
+RDEPEND="
+ >=dev-python/pbr-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.19.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.0.0[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.44.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.5.13[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.31.2[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.15.1[${PYTHON_USEDEP}]
+ >=dev-python/futurist-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ haproxy? ( net-proxy/haproxy )
+ openvswitch? ( net-misc/openvswitch )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )
+ acct-group/neutron
+ acct-user/neutron"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_DEFRAG_IPV4 NF_NAT NF_CONNTRACK \
+ IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+}
+
+pkg_config() {
+ fperms 0700 /var/log/neutron
+ fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use server; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-server"
+ newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+ dosym ../../plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+ fi
+ if use dhcp; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
+ newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+ fi
+ if use l3; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
+ newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+ fi
+ if use metadata; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
+ newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+ fi
+ if use openvswitch; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+ newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+ fi
+ if use linuxbridge; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
+ newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+ fi
+ diropts -m 755 -o neutron -g neutron
+ dodir /var/log/neutron /var/lib/neutron
+ keepdir /etc/neutron
+ insinto /etc/neutron
+ insopts -m 0640 -o neutron -g neutron
+
+ doins etc/*
+ # stupid renames
+ insinto /etc/neutron
+ doins -r "etc/neutron/plugins"
+ insopts -m 0640 -o root -g root
+ doins "etc/rootwrap.conf"
+ doins -r "etc/neutron/rootwrap.d"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ python_moduleinto neutron/db/migration/alembic_migrations
+ python_domodule "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/neutron/neutron-17.1.2.ebuild b/sys-cluster/neutron/neutron-17.1.2.ebuild
new file mode 100644
index 000000000..7ba8c9f50
--- /dev/null
+++ b/sys-cluster/neutron/neutron-17.1.2.ebuild
@@ -0,0 +1,227 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1 linux-info
+
+DESCRIPTION="A virtual network service for Openstack"
+HOMEPAGE="https://launchpad.net/neutron"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz"
+ EGIT_REPO_URI="https://github.com/openstack/neutron.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/configs.tar.gz -> neutron-configs-${PV}.tar.gz
+ https://dev.gentoo.org/~prometheanfire/dist/openstack/neutron/victoria/ml2_plugins.tar.gz -> neutron-ml2-plugins-${PV}.tar.gz
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="compute-only dhcp haproxy ipv6 l3 metadata openvswitch linuxbridge server sqlite +mysql postgres"
+REQUIRED_USE="!compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( !mysql !postgres !sqlite !dhcp !l3 !metadata !server
+ || ( openvswitch linuxbridge ) )"
+
+DEPEND="
+ >=dev-python/pbr-4.0.0[${PYTHON_USEDEP}]
+ app-admin/sudo
+"
+RDEPEND="
+ >=dev-python/pbr-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.19.0[${PYTHON_USEDEP}]
+ >=dev-python/decorator-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pecan-1.3.2[${PYTHON_USEDEP}]
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/neutron-lib-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.3.0[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.0.0[${PYTHON_USEDEP}]
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.0[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.0[${PYTHON_USEDEP}]
+ )
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/alembic-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.44.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-7.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.30.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-2.25.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.24.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-service-1.28.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.1[${PYTHON_USEDEP}]
+ >=dev-python/osprofiler-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/os-ken-0.3.0[${PYTHON_USEDEP}]
+ >=dev-python/ovs-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/ovsdbapp-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/pyroute2-0.5.13[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-9.1.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.31.2[${PYTHON_USEDEP}]
+ >=dev-python/python-designateclient-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.15.1[${PYTHON_USEDEP}]
+ >=dev-python/futurist-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
+ dev-python/pyudev[${PYTHON_USEDEP}]
+ sys-apps/iproute2
+ net-misc/iputils[arping]
+ net-misc/bridge-utils
+ net-firewall/ipset
+ net-firewall/iptables
+ net-firewall/ebtables
+ net-firewall/conntrack-tools
+ haproxy? ( net-proxy/haproxy )
+ openvswitch? ( net-misc/openvswitch )
+ ipv6? (
+ net-misc/radvd
+ >=net-misc/dibbler-1.0.1
+ )
+ dhcp? ( net-dns/dnsmasq[dhcp-tools] )
+ acct-group/neutron
+ acct-user/neutron"
+
+#PATCHES=(
+#)
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="VLAN_8021Q IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 NF_DEFRAG_IPV4 NF_NAT NF_CONNTRACK \
+ IP_NF_FILTER IP_NF_IPTABLES NETFILTER_XTABLES"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+}
+
+pkg_config() {
+ fperms 0700 /var/log/neutron
+ fowners neutron:neutron /var/log neutron
+}
+
+src_prepare() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ # it's /bin/ip not /sbin/ip
+ sed -i 's/sbin\/ip\,/bin\/ip\,/g' etc/neutron/rootwrap.d/* || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use server; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-server"
+ newconfd "${FILESDIR}/neutron-server.confd" "neutron-server"
+ dosym ../../plugin.ini /etc/neutron/plugins/ml2/ml2_conf.ini
+ fi
+ if use dhcp; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-dhcp-agent"
+ newconfd "${FILESDIR}/neutron-dhcp-agent.confd" "neutron-dhcp-agent"
+ fi
+ if use l3; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-l3-agent"
+ newconfd "${FILESDIR}/neutron-l3-agent.confd" "neutron-l3-agent"
+ fi
+ if use metadata; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-metadata-agent"
+ newconfd "${FILESDIR}/neutron-metadata-agent.confd" "neutron-metadata-agent"
+ fi
+ if use openvswitch; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-openvswitch-agent"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-openvswitch-agent"
+ newinitd "${FILESDIR}/neutron.initd" "neutron-ovs-cleanup"
+ newconfd "${FILESDIR}/neutron-openvswitch-agent.confd" "neutron-ovs-cleanup"
+ fi
+ if use linuxbridge; then
+ newinitd "${FILESDIR}/neutron.initd" "neutron-linuxbridge-agent"
+ newconfd "${FILESDIR}/neutron-linuxbridge-agent.confd" "neutron-linuxbridge-agent"
+ fi
+ diropts -m 755 -o neutron -g neutron
+ dodir /var/log/neutron /var/lib/neutron
+ keepdir /etc/neutron
+ insinto /etc/neutron
+ insopts -m 0640 -o neutron -g neutron
+
+ doins etc/*
+ # stupid renames
+ insinto /etc/neutron
+ doins -r "etc/neutron/plugins"
+ insopts -m 0640 -o root -g root
+ doins "etc/rootwrap.conf"
+ doins -r "etc/neutron/rootwrap.d"
+
+ #add sudoers definitions for user neutron
+ insinto /etc/sudoers.d/
+ insopts -m 0440 -o root -g root
+ newins "${FILESDIR}/neutron.sudoersd" neutron
+
+ # add generated configs
+ cd "${D}/etc/neutron" || die
+ unpack "neutron-configs-${PV}.tar.gz"
+ cd "${D}/etc/neutron/plugins/ml2" || die
+ unpack "neutron-ml2-plugins-${PV}.tar.gz"
+
+ # correcting perms
+ fowners neutron:neutron -R "/etc/neutron"
+ fperms o-rwx -R "/etc/neutron/"
+
+ #remove superfluous stuff
+ rm -R "${D}/usr/etc/"
+}
+
+python_install() {
+ distutils-r1_python_install
+ # copy migration conf file (not coppied on install via setup.py script)
+ python_moduleinto neutron/db/migration/alembic_migrations
+ python_domodule "neutron/db/migration/alembic_migrations/versions"
+}
+
+pkg_postinst() {
+ elog
+ elog "neutron-server's conf.d file may need updating to include additional ini files"
+ elog "We currently assume the ml2 plugin will be used but do not make assumptions"
+ elog "on if you will use openvswitch or linuxbridge (or something else)"
+ elog
+ elog "Other conf.d files may need updating too, but should be good for the default use case"
+ elog
+}
diff --git a/sys-cluster/nova/Manifest b/sys-cluster/nova/Manifest
new file mode 100644
index 000000000..a25a13f86
--- /dev/null
+++ b/sys-cluster/nova/Manifest
@@ -0,0 +1,4 @@
+DIST nova-22.2.0.tar.gz 9271449 BLAKE2B c7b52f4d7e819152971c67f5f0a9f2b191e0235917efd04c799413ebfbf44500c64bae9ddd6082ef7b347c500d346f46fd07bad45a7fc4e5c397713867681dbe SHA512 acb9745b2bebd669f919a2d3d73e9dc5dad5aa3de49690daddd779fb6467139f857d67c6d8af3761f12db9bf6c5120d1af7bee3e73b3c0e0c44d6b41cafe7883
+DIST nova-22.2.1.tar.gz 9274586 BLAKE2B fb44f5cbd544c08d92aef48ef2858806245f1f36f2edc1a86a03189b460431add656d00dea830bf4fd324c79bf0d0e057b06836b25f554eea6416af3c2821bce SHA512 59df339bb00d4a7e087cc9caf6d6efcb1e5205ea8889502d00c4c22eb4acc6c0f19383de76f260382d56e145fad01088c3fd28f41d26441303e13b3b839ddcce
+DIST nova.conf.sample-22.2.0 187107 BLAKE2B e577126b67f2cc1aa6597f89b1632007f726ad85875d5f27041d0f9ac88923b944fe7f45ae2b3332157713b5f93034dad4da2860917b025649a52d7d71986612 SHA512 4149f8f19a573e8717f521183ba330853742bb6731f0e9ef02842d3be1c188ea3a2cdbeb6043086869360b9b1174a17e221c4ad1f543f74220c46cf31b1ca970
+DIST nova.conf.sample-22.2.1 187107 BLAKE2B e577126b67f2cc1aa6597f89b1632007f726ad85875d5f27041d0f9ac88923b944fe7f45ae2b3332157713b5f93034dad4da2860917b025649a52d7d71986612 SHA512 4149f8f19a573e8717f521183ba330853742bb6731f0e9ef02842d3be1c188ea3a2cdbeb6043086869360b9b1174a17e221c4ad1f543f74220c46cf31b1ca970
diff --git a/sys-cluster/nova/files/nova-compute.conf b/sys-cluster/nova/files/nova-compute.conf
new file mode 100644
index 000000000..59c7aea2c
--- /dev/null
+++ b/sys-cluster/nova/files/nova-compute.conf
@@ -0,0 +1,4 @@
+[DEFAULT]
+# mkisofs_cmd is needed as the default provider for the binary was remvoed as
+# a package from Gentoo.
+mkisofs_cmd = /usr/bin/mkisofs
diff --git a/sys-cluster/nova/files/nova-sudoers b/sys-cluster/nova/files/nova-sudoers
new file mode 100644
index 000000000..f15b3285b
--- /dev/null
+++ b/sys-cluster/nova/files/nova-sudoers
@@ -0,0 +1,3 @@
+Defaults:nova !requiretty
+
+nova ALL = (root) NOPASSWD: /usr/bin/nova-rootwrap
diff --git a/sys-cluster/nova/files/nova.initd b/sys-cluster/nova/files/nova.initd
new file mode 100644
index 000000000..563c3a546
--- /dev/null
+++ b/sys-cluster/nova/files/nova.initd
@@ -0,0 +1,25 @@
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+description="Starts ${SVCNAME} service for OpenStack"
+
+command="/usr/bin/${SVCNAME}"
+command_args="--config-file /etc/nova/nova.conf"
+pidfile=/run/${SVCNAME}.pid
+command_background=true
+required_files=/etc/nova/nova.conf
+if [ "$SVCNAME" = nova-compute ]; then
+ required_files="${required_files} /etc/nova/nova-compute.conf"
+ command_args="${command_args} --config-file /etc/nova/nova-compute.conf"
+fi
+start_stop_daemon_args="-u ${NOVA_USER:-nova}"
+retry="SIGTERM/15"
+
+depend() {
+ use net
+}
+
+start_pre() {
+ checkpath --directory --owner "${NOVA_USER:-nova}":"${NOVA_GROUP:-nova}" --mode 0775 "${NOVA_RUN:-/var/lock/nova}"
+}
diff --git a/sys-cluster/nova/files/openstack-scsi-disk.rules b/sys-cluster/nova/files/openstack-scsi-disk.rules
new file mode 100644
index 000000000..ee44d5066
--- /dev/null
+++ b/sys-cluster/nova/files/openstack-scsi-disk.rules
@@ -0,0 +1,2 @@
+KERNEL=="sd*", SUBSYSTEM=="block", ENV{ID_BUS}=="scsi", PROGRAM="/etc/nova/scsi-openscsi-link.sh %b $id", SYMLINK+="disk/by-path/%c"
+
diff --git a/sys-cluster/nova/files/scsi-openscsi-link.sh b/sys-cluster/nova/files/scsi-openscsi-link.sh
new file mode 100644
index 000000000..197eac443
--- /dev/null
+++ b/sys-cluster/nova/files/scsi-openscsi-link.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+# Author: Geaaru
+# Date: October 23, 2014
+# Version: 0.1.0
+# License: GPL 2.0
+
+# Description: Script for udev symlink creation of
+# scsi disk attached and visible under
+# /dev/disk/by-path/ with name convention
+# used in openstack LVM iscsi driver.
+#
+# Requirements: lsscsi (for retrieve LUN ID, I don't know how can i do that from udev/iscsiadm)
+
+# Rules for UDEV must in this format:
+# KERNEL=="sd*", BUS=="scsi", PROGRAM="/etc/nova/scsi-openscsi-link.sh %b",SYMLINK+="disk/by-path/%c"
+
+# NOTE: it seems that input params %b or others are not passed to script.
+# I try to retrieve it from environment variables.
+
+if [[ -z "$DEVTYPE" || -z "$ID_BUS" ]] ; then
+ exit 1
+fi
+
+echo "--------------------" >> /tmp/udev.log
+echo "ENV => `env`" >> /tmp/udev.log
+echo "--------------------" >> /tmp/udev.log
+
+if [[ $DEVTYPE != "disk" || $ID_BUS != "scsi" ]]; then
+ echo "EXIT 1" >> /tmp/udev.log
+ exit 1
+fi
+
+# ID_SCSI variable what identify ?
+
+HOST=`echo "$DEVPATH" | awk '{ split($0, word, "/"); print substr(word[4], 5); }'`
+
+
+
+# Bins
+iscsiadm=/usr/sbin/iscsiadm
+lsscsi=/usr/bin/lsscsi
+
+[ -e /sys/class/iscsi_host ] || exit 1
+
+# Create file path like this:
+# /sys/class/iscsi_host/host11/device/session3/iscsi_session/session3/targetname
+file="/sys/class/iscsi_host/host${HOST}/device/session*/iscsi_session*/session*/targetname"
+
+target_iqn=$(cat ${file})
+
+if [ -z "${target_iqn}" ] ; then
+ echo "EXIT 2" >> /tmp/udev.log
+ exit 1
+fi
+
+# Retrieve target_port because I can't retrieve it with iscsi_id
+# /lib/udev/scsi_id -g -x /dev/sdg
+# ID_SCSI=1
+# ID_VENDOR=IET
+# ID_VENDOR_ENC=IET\x20\x20\x20\x20\x20
+# ID_MODEL=VIRTUAL-DISK
+# ID_MODEL_ENC=VIRTUAL-DISK
+# ID_REVISION=0001
+# ID_TYPE=disk
+# ID_SERIAL=1IET_00010001
+# ID_SERIAL_SHORT=IET_00010001
+# ID_SCSI_SERIAL= beaf11a
+
+# iscsiadm -m node | grep --colour=none iqn.2014-09.org.openstack:vol-cinder-f48f0a69-e871-4c47-9cd3-3ccb8c811363 | cut -d',' -f 1
+
+tp_ispresent=$(${iscsiadm} -m node | grep --colour=none ${target_iqn} | wc -l)
+if [ x$tp_ispresent = x0 ] ; then
+ # Target is not present. Ignore it.
+ echo "EXIT 3" >> /tmp/udev.log
+ exit 1
+fi
+
+target_portal=$(${iscsiadm} -m node | grep --colour=none ${target_iqn} | cut -d',' -f 1)
+#target=$(${iscsiadm} -m node | grep --colour=none ${target_iqn} | cut -d' ' -f 1)
+#target_portal=$(echo ${target} | cut -d',' -f 1)
+target_lun=$(${lsscsi} | grep $DEVNAME | sed 's/.[0-9]*:[0-9]*:[0-9]*:\([0-9]*\).*/\1/')
+
+echo "TARGET_PORTAL=$target_portal" >> /tmp/udev.log
+echo "TARGET_LUN=$target_lun" >> /tmp/udev.log
+
+linkname="ip-${target_portal}-iscsi-${target_iqn}-lun-${target_lun}"
+
+echo "RETURN ${linkname}" >> /tmp/udev.log
+
+echo "${linkname}"
+
+exit 0
diff --git a/sys-cluster/nova/metadata.xml b/sys-cluster/nova/metadata.xml
new file mode 100644
index 000000000..25bcac3ec
--- /dev/null
+++ b/sys-cluster/nova/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <longdescription lang="en">
+ Nova is a cloud computing fabric controller
+ (the main part of an IaaS system). It is written in Python.
+ </longdescription>
+ <use>
+ <flag name="compute">Installs the initscripts for the nova volume service</flag>
+ <flag name="compute-only">only install stuff needed for a compute host</flag>
+ <flag name="iscsi">Installs iscsi helper udev scripts</flag>
+ <flag name="memcached">Installs the memcached server</flag>
+ <flag name="novncproxy">Installs the initscripts for the nova novncproxy service</flag>
+ <flag name="openvswitch">Installs openvswitch for the neutron openvswitch support</flag>
+ <flag name="rabbitmq">Installs the rabbitmq server</flag>
+ </use>
+ <upstream>
+ <remote-id type="launchpad">nova</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/nova/nova-22.2.0.ebuild b/sys-cluster/nova/nova-22.2.0.ebuild
new file mode 100644
index 000000000..af5e82da9
--- /dev/null
+++ b/sys-cluster/nova/nova-22.2.0.ebuild
@@ -0,0 +1,213 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1 linux-info multilib udev
+
+DESCRIPTION="Cloud computing fabric controller"
+HOMEPAGE="https://launchpad.net/nova"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/victoria/nova.conf.sample -> nova.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/nova.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/victoria/nova.conf.sample -> nova.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+compute compute-only iscsi +memcached +mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
+REQUIRED_USE="
+ !compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
+
+CDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+DEPEND="
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.19[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ >=dev-python/decorator-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.22.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.4.15[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.7.1[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.23.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.1[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.44.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-10.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.33.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.40.1[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/os-resource-classes-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/os-traits-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
+ >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pypowervm-1.1.15[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
+ >=dev-python/zVMCloudConnector-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.35.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ app-emulation/libvirt[iscsi?]
+ app-emulation/spice-html5
+ novncproxy? ( www-apps/novnc )
+ sys-apps/iproute2
+ openvswitch? ( net-misc/openvswitch )
+ rabbitmq? ( net-misc/rabbitmq-server )
+ memcached? (
+ net-misc/memcached
+ >=dev-python/python-memcached-1.58
+ )
+ sys-fs/sysfsutils
+ sys-fs/multipath-tools
+ net-misc/bridge-utils
+ compute? (
+ app-cdr/cdrtools
+ sys-fs/dosfstools
+ app-emulation/qemu
+ )
+ iscsi? (
+ sys-fs/lsscsi
+ >=sys-block/open-iscsi-2.0.873-r1
+ )
+ acct-user/nova
+ acct-group/nova"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
+ NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
+ ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use !compute-only; then
+ for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
+ newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
+ done
+ fi
+ use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
+ use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
+
+ diropts -m 0750 -o nova -g qemu
+ dodir /var/log/nova /var/lib/nova/instances
+ diropts -m 0750 -o nova -g nova
+
+ insinto /etc/nova
+ insopts -m 0640 -o nova -g nova
+ newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
+ doins "${FILESDIR}/nova-compute.conf"
+ doins "${S}/etc/nova/"*
+ # rootwrap filters
+ insopts -m 0644
+ insinto /etc/nova/rootwrap.d
+ doins "etc/nova/rootwrap.d/compute.filters"
+
+ # add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0600 -o root -g root
+ doins "${FILESDIR}/nova-sudoers"
+
+ if use iscsi ; then
+ # Install udev rules for handle iscsi disk with right links under /dev
+ udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
+
+ insinto /etc/nova/
+ doins "${FILESDIR}/scsi-openscsi-link.sh"
+ fi
+ rm -r "${ED}/usr/etc"
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "iscsid needs to be running if you want cinder to connect"
+ fi
+}
diff --git a/sys-cluster/nova/nova-22.2.1.ebuild b/sys-cluster/nova/nova-22.2.1.ebuild
new file mode 100644
index 000000000..dfcfea084
--- /dev/null
+++ b/sys-cluster/nova/nova-22.2.1.ebuild
@@ -0,0 +1,213 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+inherit distutils-r1 linux-info multilib udev
+
+DESCRIPTION="Cloud computing fabric controller"
+HOMEPAGE="https://launchpad.net/nova"
+
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/victoria/nova.conf.sample -> nova.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/nova.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/nova/victoria/nova.conf.sample -> nova.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="+compute compute-only iscsi +memcached +mysql +novncproxy openvswitch postgres +rabbitmq sqlite"
+REQUIRED_USE="
+ !compute-only? ( || ( mysql postgres sqlite ) )
+ compute-only? ( compute !rabbitmq !memcached !mysql !postgres !sqlite )"
+
+CDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ !~dev-python/pbr-2.1.0[${PYTHON_USEDEP}]"
+DEPEND="
+ ${CDEPEND}
+ app-admin/sudo"
+
+RDEPEND="
+ ${CDEPEND}
+ compute-only? (
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.19[sqlite,${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ >=dev-python/decorator-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/eventlet-0.22.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
+ >=dev-python/keystonemiddleware-4.17.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.4.15[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.5.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/paste-2.0.2[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ <dev-python/prettytable-0.8[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-migrate-0.13.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.7.1[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ !~dev-python/python-cinderclient-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth-3.16.0[${PYTHON_USEDEP}]
+ >=dev-python/python-neutronclient-6.7.0[${PYTHON_USEDEP}]
+ >=dev-python/python-glanceclient-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.23.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/websockify-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-cache-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.29.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-reports-1.18.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.1.1[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.44.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-rootwrap-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-messaging-10.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-privsep-1.33.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-service-1.40.1[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-versionedobjects-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/os-brick-3.1.0[${PYTHON_USEDEP}]
+ >=dev-python/os-resource-classes-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/os-traits-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/os-vif-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/os-win-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/castellan-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/os-xenapi-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/tooz-1.58.0[${PYTHON_USEDEP}]
+ >=dev-python/cursive-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pypowervm-1.1.15[${PYTHON_USEDEP}]
+ >=dev-python/retrying-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/taskflow-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.5.3[${PYTHON_USEDEP}]
+ >=dev-python/zVMCloudConnector-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.35.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ dev-python/libvirt-python[${PYTHON_USEDEP}]
+ app-emulation/libvirt[iscsi?]
+ app-emulation/spice-html5
+ novncproxy? ( www-apps/novnc )
+ sys-apps/iproute2
+ openvswitch? ( net-misc/openvswitch )
+ rabbitmq? ( net-misc/rabbitmq-server )
+ memcached? (
+ net-misc/memcached
+ >=dev-python/python-memcached-1.58
+ )
+ sys-fs/sysfsutils
+ sys-fs/multipath-tools
+ net-misc/bridge-utils
+ compute? (
+ app-cdr/cdrtools
+ sys-fs/dosfstools
+ app-emulation/qemu
+ )
+ iscsi? (
+ sys-fs/lsscsi
+ >=sys-block/open-iscsi-2.0.873-r1
+ )
+ acct-user/nova
+ acct-group/nova"
+
+#PATCHES=(
+#)
+
+pkg_setup() {
+ linux-info_pkg_setup
+ CONFIG_CHECK_MODULES="BLK_DEV_NBD VHOST_NET IP6_NF_FILTER IP6_NF_IPTABLES IP_NF_TARGET_REJECT \
+ IP_NF_MANGLE IP_NF_TARGET_MASQUERADE NF_NAT_IPV4 IP_NF_FILTER IP_NF_IPTABLES \
+ NF_CONNTRACK_IPV4 NF_DEFRAG_IPV4 NF_NAT_IPV4 NF_NAT NF_CONNTRACK NETFILTER_XTABLES \
+ ISCSI_TCP SCSI_DH DM_MULTIPATH DM_SNAPSHOT"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK_MODULES}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled in kernel"
+ done
+ fi
+}
+
+python_prepare_all() {
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use !compute-only; then
+ for svc in api conductor consoleauth network scheduler spicehtml5proxy xvpvncproxy; do
+ newinitd "${FILESDIR}/nova.initd" "nova-${svc}"
+ done
+ fi
+ use compute && newinitd "${FILESDIR}/nova.initd" "nova-compute"
+ use novncproxy && newinitd "${FILESDIR}/nova.initd" "nova-novncproxy"
+
+ diropts -m 0750 -o nova -g qemu
+ dodir /var/log/nova /var/lib/nova/instances
+ diropts -m 0750 -o nova -g nova
+
+ insinto /etc/nova
+ insopts -m 0640 -o nova -g nova
+ newins "${DISTDIR}/nova.conf.sample-${PV}" "nova.conf.sample"
+ doins "${FILESDIR}/nova-compute.conf"
+ doins "${S}/etc/nova/"*
+ # rootwrap filters
+ insopts -m 0644
+ insinto /etc/nova/rootwrap.d
+ doins "etc/nova/rootwrap.d/compute.filters"
+
+ # add sudoers definitions for user nova
+ insinto /etc/sudoers.d/
+ insopts -m 0600 -o root -g root
+ doins "${FILESDIR}/nova-sudoers"
+
+ if use iscsi ; then
+ # Install udev rules for handle iscsi disk with right links under /dev
+ udev_newrules "${FILESDIR}/openstack-scsi-disk.rules" 60-openstack-scsi-disk.rules
+
+ insinto /etc/nova/
+ doins "${FILESDIR}/scsi-openscsi-link.sh"
+ fi
+ rm -r "${ED}/usr/etc"
+}
+
+pkg_postinst() {
+ if use iscsi ; then
+ elog "iscsid needs to be running if you want cinder to connect"
+ fi
+}
diff --git a/sys-cluster/openstack-meta/metadata.xml b/sys-cluster/openstack-meta/metadata.xml
new file mode 100644
index 000000000..c025fe896
--- /dev/null
+++ b/sys-cluster/openstack-meta/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <use>
+ <flag name="keystone">Installs Openstack Keystone</flag>
+ <flag name="swift">Installs Openstack Swift</flag>
+ <flag name="glance">Installs Openstack Glance</flag>
+ <flag name="cinder">Installs Openstack Cinder</flag>
+ <flag name="neutron">Installs Openstack Neutron</flag>
+ <flag name="nova">Installs Openstack Nova</flag>
+ <flag name="heat">Installs Openstack Heat</flag>
+ <flag name="placement">Installs Openstack Placement</flag>
+ <!-- <flag name="horizon">Installs Openstack Horizon</flag> -->
+ </use>
+</pkgmetadata>
diff --git a/sys-cluster/openstack-meta/openstack-meta-2020.1.1.ebuild b/sys-cluster/openstack-meta/openstack-meta-2020.1.1.ebuild
new file mode 100644
index 000000000..d025763fa
--- /dev/null
+++ b/sys-cluster/openstack-meta/openstack-meta-2020.1.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A openstack meta-package for installing the various openstack pieces"
+HOMEPAGE="https://openstack.org"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cinder glance heat keystone neutron nova placement swift"
+
+if [[ ${PV} != *9999 ]];then
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DEPEND=""
+RDEPEND="
+ keystone? ( >=sys-auth/keystone-17.0.0
+ <sys-auth/keystone-18 )
+ swift? ( >=sys-cluster/swift-2.25.0
+ <sys-cluster/swift-2.26.0 )
+ neutron? ( >=sys-cluster/neutron-16.0.0
+ <sys-cluster/neutron-17 )
+ glance? ( >=app-admin/glance-20.0.0
+ <app-admin/glance-21 )
+ cinder? ( >=sys-cluster/cinder-16.0.0
+ <sys-cluster/cinder-17 )
+ nova? ( >=sys-cluster/nova-21.0.0
+ <sys-cluster/nova-22 )
+ heat? ( >=sys-cluster/heat-14.0.0
+ <sys-cluster/heat-15 )
+ placement? ( >=sys-cluster/placement-3.0.0
+ <sys-cluster/placement-4 )
+"
diff --git a/sys-cluster/openstack-meta/openstack-meta-2020.2.0.ebuild b/sys-cluster/openstack-meta/openstack-meta-2020.2.0.ebuild
new file mode 100644
index 000000000..35f8d5028
--- /dev/null
+++ b/sys-cluster/openstack-meta/openstack-meta-2020.2.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="A openstack meta-package for installing the various openstack pieces"
+HOMEPAGE="https://openstack.org"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="cinder glance heat keystone neutron nova placement swift"
+
+if [[ ${PV} != *9999 ]];then
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+DEPEND=""
+RDEPEND="
+ keystone? ( >=sys-auth/keystone-18.0.0
+ <sys-auth/keystone-19 )
+ swift? ( >=sys-cluster/swift-2.26.0
+ <sys-cluster/swift-2.27.0 )
+ neutron? ( >=sys-cluster/neutron-17.0.0
+ <sys-cluster/neutron-18 )
+ glance? ( >=app-admin/glance-21.0.0
+ <app-admin/glance-22 )
+ cinder? ( >=sys-cluster/cinder-17.0.0
+ <sys-cluster/cinder-18 )
+ nova? ( >=sys-cluster/nova-22.0.0
+ <sys-cluster/nova-23 )
+ heat? ( >=sys-cluster/heat-15.0.0
+ <sys-cluster/heat-16 )
+ placement? ( >=sys-cluster/placement-4.0.0
+ <sys-cluster/placement-5 )
+"
diff --git a/sys-cluster/placement/Manifest b/sys-cluster/placement/Manifest
new file mode 100644
index 000000000..c51097b86
--- /dev/null
+++ b/sys-cluster/placement/Manifest
@@ -0,0 +1,2 @@
+DIST openstack-placement-4.0.0.tar.gz 502434 BLAKE2B 9c769d2ef78bad37ef6ac823c9b0fa29128bfea94626f6a4e9cd1ffa6e1e4d441e4b20353e97282823bc1638ee25499fa840b9d34600b1928271627d412c93cc SHA512 32ff30f7216ea56b073582c2e1c4b501229d941f3c6fc501245ab92544234774df63a9b9674ba5f1225d462ab205b2512185907e309e4135e01e1776d554b293
+DIST placement.conf.sample-4.0.0 26306 BLAKE2B 037ce73d52066fc2f2fe0542c10e3879c513ca23f127a03cd575cca0d21f7b2f4f36491c238897cacd962072797d9d2fd50be054c3ae09f95f5417ab9758b289 SHA512 640329729d0964b67a25837692f0db0f5e9682aff6bd1f3e124657c4bc0de7f6a9f65a5c17889cd6c0a0584d471c880865a59b939262ed8beac2ae452d0ea02a
diff --git a/sys-cluster/placement/metadata.xml b/sys-cluster/placement/metadata.xml
new file mode 100644
index 000000000..f4e191f8f
--- /dev/null
+++ b/sys-cluster/placement/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <longdescription lang="en">
+ OpenStack Placement provides an HTTP service for managing, selecting, and claiming providers of classes of inventory representing available resources in a cloud.
+ </longdescription>
+</pkgmetadata>
diff --git a/sys-cluster/placement/placement-4.0.0.ebuild b/sys-cluster/placement/placement-4.0.0.ebuild
new file mode 100644
index 000000000..5b83b21d6
--- /dev/null
+++ b/sys-cluster/placement/placement-4.0.0.ebuild
@@ -0,0 +1,77 @@
+# Copyright 2019-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+
+inherit distutils-r1
+
+DESCRIPTION="A HTTP service for managing, selecting, and claiming cloud resources."
+HOMEPAGE="https://github.com/openstack/placement"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/placement/victoria/placement.conf.sample -> placement.conf.sample-${PV}"
+ EGIT_REPO_URI="https://github.com/openstack/placement.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://dev.gentoo.org/~prometheanfire/dist/openstack/placement/victoria/placement.conf.sample -> placement.conf.sample-${PV}
+ https://tarballs.openstack.org/${PN}/openstack-${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+ S="${WORKDIR}/openstack-${P}"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="mysql postgres sqlite"
+REQUIRED_USE="|| ( mysql postgres sqlite )"
+
+DEPEND=">=dev-python/pbr-5.0.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/pbr-5.0.0[${PYTHON_USEDEP}]
+ sqlite? (
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ mysql? (
+ >=dev-python/pymysql-0.7.6[${PYTHON_USEDEP}]
+ !~dev-python/pymysql-0.7.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ postgres? (
+ >=dev-python/psycopg-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.2.19[${PYTHON_USEDEP}]
+ )
+ >=dev-python/keystonemiddleware-4.18.0[${PYTHON_USEDEP}]
+ >=dev-python/routes-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/webob-1.8.2[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.7.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.19.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.18.0[${PYTHON_USEDEP}]
+ !~dev-python/oslo-serialization-1.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.37.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-db-4.40.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-policy-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-middleware-3.31.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-upgradecheck-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/os-resource-classes-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/os-traits-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/microversion-parse-0.2.1[${PYTHON_USEDEP}]
+ acct-user/placement
+ acct-group/placement"
+BDEPEND=""
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ diropts -m 0750 -o placement -g placement
+ insinto /etc/placement
+ insopts -m 0640 -o placement -g placement
+ newins "${DISTDIR}/placement.conf.sample-${PV}" placement.conf.sample
+
+ dobin tools/mysql-migrate-db.sh
+ dobin tools/postgresql-migrate-db.sh
+}
diff --git a/sys-cluster/swift/Manifest b/sys-cluster/swift/Manifest
new file mode 100644
index 000000000..a74f3c0e4
--- /dev/null
+++ b/sys-cluster/swift/Manifest
@@ -0,0 +1,2 @@
+DIST swift-2.26.0.tar.gz 3235050 BLAKE2B 33b46ebc3bd57b6ca6ccb65e96dd11a754fa1b4d314c60eafd23ad8b6bb7b8fee42ce26ccf0f388ad33599520a049a2d36832ba3d1ea01b0a07a8bee3f803569 SHA512 5e4620831bfc75f231fa468ce68438a23ad7b013eef4173aa596fd2e42bd4eb7e6b4182026fa71b6f4dd31d2cfccc4e70480a42a77f93b15bf6e50e9287ea460
+DIST swift-2.27.0.tar.gz 3464571 BLAKE2B 9495abc39b150615a8f7f1900573c643b4f2edd5c187c4d525c4ad7d7e0c2d54eeec0f9b3d8711ed2028cf4d606dee532bd8e4af4b3e1527f3cee5bcc8e62835 SHA512 c9abfa16cfb4964bd774a3dd50c847bf1912e5f87edc8693746e2dcb5863289b9afd2b69b0cc0940aa3fbb49694851b0b6418462367078d0c40d2b724b135467
diff --git a/sys-cluster/swift/files/swift-account.initd b/sys-cluster/swift/files/swift-account.initd
new file mode 100644
index 000000000..205280c76
--- /dev/null
+++ b/sys-cluster/swift/files/swift-account.initd
@@ -0,0 +1,35 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+COMMAND=/usr/bin/swift-init
+PIDFILE=/run/swift/account-server.pid
+
+depend() {
+ after net
+}
+
+checkconfig() {
+ if [ ! -r /etc/swift/swift.conf ]; then
+ eerror "Missing required config file: /etc/swift/swift.conf"
+ return 1
+ fi
+ if [ ! -r /etc/swift/account-server.conf ]; then
+ eerror "Missing required config file: /etc/swift/account-server.conf"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- account start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- account stop
+ eend $?
+}
diff --git a/sys-cluster/swift/files/swift-container.initd b/sys-cluster/swift/files/swift-container.initd
new file mode 100644
index 000000000..051951af1
--- /dev/null
+++ b/sys-cluster/swift/files/swift-container.initd
@@ -0,0 +1,35 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+COMMAND=/usr/bin/swift-init
+PIDFILE=/run/swift/container-server.pid
+
+depend() {
+ after net
+}
+
+checkconfig() {
+ if [ ! -r /etc/swift/swift.conf ]; then
+ eerror "Missing required config file: /etc/swift/swift.conf"
+ return 1
+ fi
+ if [ ! -r /etc/swift/container-server.conf ]; then
+ eerror "Missing required config file: /etc/swift/container-server.conf"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- container start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- container stop
+ eend $?
+}
diff --git a/sys-cluster/swift/files/swift-object.initd b/sys-cluster/swift/files/swift-object.initd
new file mode 100644
index 000000000..59ec78ca0
--- /dev/null
+++ b/sys-cluster/swift/files/swift-object.initd
@@ -0,0 +1,35 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+COMMAND=/usr/bin/swift-init
+PIDFILE=/run/swift/object-server.pid
+
+depend() {
+ after net
+}
+
+checkconfig() {
+ if [ ! -r /etc/swift/swift.conf ]; then
+ eerror "Missing required config file: /etc/swift/swift.conf"
+ return 1
+ fi
+ if [ ! -r /etc/swift/object-server.conf ]; then
+ eerror "Missing required config file: /etc/swift/object-server.conf"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- object start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- object stop
+ eend $?
+}
diff --git a/sys-cluster/swift/files/swift-proxy.initd b/sys-cluster/swift/files/swift-proxy.initd
new file mode 100644
index 000000000..cce9c32e3
--- /dev/null
+++ b/sys-cluster/swift/files/swift-proxy.initd
@@ -0,0 +1,56 @@
+#!/sbin/openrc-run
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+COMMAND=/usr/bin/swift-init
+PIDFILE=/run/swift/proxy-server.pid
+
+depend() {
+ after net
+}
+
+opts="reload"
+
+checkconfig() {
+ if [ ! -r /etc/swift/swift.conf ]; then
+ eerror "Missing required config file: /etc/swift/swift.conf"
+ return 1
+ fi
+ if [ ! -r /etc/swift/proxy-server.conf ]; then
+ eerror "Missing required config file: /etc/swift/proxy-server.conf"
+ return 1
+ fi
+ return 0
+}
+
+start() {
+ checkconfig || return $?
+ ebegin "Starting ${SVCNAME}"
+ start-stop-daemon --start --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- proxy start
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME}"
+ start-stop-daemon --stop --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- proxy stop
+ eend $?
+}
+
+reload() {
+ checkconfig || return $?
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --quiet -i ${COMMAND} -- proxy reload
+ eend $? "Failed to reload ${SVCNAME}"
+}
+
+restart() {
+ checkconfig || return $?
+ ebegin "Restarting ${SVCNAME}"
+ start-stop-daemon --quiet -i --pidfile ${PIDFILE} ${COMMAND} -- proxy restart
+ eend $? "Failed to restart ${SVCNAME}"
+}
+
+status() {
+ start-stop-daemon --quiet -i ${COMMAND} -- proxy status
+ eend $? "Failed to get status for ${SVCNAME}"
+}
diff --git a/sys-cluster/swift/metadata.xml b/sys-cluster/swift/metadata.xml
new file mode 100644
index 000000000..6a12c88d2
--- /dev/null
+++ b/sys-cluster/swift/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="account">adds swift account support</flag>
+ <flag name="container">adds swift container support</flag>
+ <flag name="memcached">adds memcached support</flag>
+ <flag name="object">adds swift object support</flag>
+ <flag name="proxy">adds swift proxy support</flag>
+ </use>
+ <maintainer type="person">
+ <email>prometheanfire@gentoo.org</email>
+ <name>Matthew Thode</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>openstack@gentoo.org</email>
+ <name>Openstack</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="launchpad">swift</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-cluster/swift/swift-2.26.0.ebuild b/sys-cluster/swift/swift-2.26.0.ebuild
new file mode 100644
index 000000000..eb0e61b3e
--- /dev/null
+++ b/sys-cluster/swift/swift-2.26.0.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_7 python3_8 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1 linux-info
+
+DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store"
+HOMEPAGE="https://launchpad.net/swift"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/openstack/swift.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="account container doc +memcached +object proxy"
+REQUIRED_USE="|| ( proxy account container object )"
+
+CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/eventlet-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.8[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ dev-python/pyxattr[${PYTHON_USEDEP}]
+ >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.0.2[${PYTHON_USEDEP}]
+ memcached? ( net-misc/memcached )
+ net-misc/rsync[xattr]
+ acct-user/swift
+ acct-group/swift"
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR
+ ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR
+ ~ZFS"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+src_prepare() {
+ sed -i 's/xattr/pyxattr/g' requirements.txt || die
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/swift
+ insinto /etc/swift
+
+ newins "etc/swift.conf-sample" "swift.conf"
+ newins "etc/rsyncd.conf-sample" "rsyncd.conf"
+ newins "etc/mime.types-sample" "mime.types-sample"
+ newins "etc/memcache.conf-sample" "memcache.conf-sample"
+ newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample"
+ newins "etc/dispersion.conf-sample" "dispersion.conf-sample"
+
+ if use proxy; then
+ newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy"
+ newins "etc/proxy-server.conf-sample" "proxy-server.conf"
+ if use memcached; then
+ sed -i '/depend/a\ need memcached' "${D}/etc/init.d/swift-proxy"
+ fi
+ fi
+ if use account; then
+ newinitd "${FILESDIR}/swift-account.initd" "swift-account"
+ newins "etc/account-server.conf-sample" "account-server.conf"
+ fi
+ if use container; then
+ newinitd "${FILESDIR}/swift-container.initd" "swift-container"
+ newins "etc/container-server.conf-sample" "container-server.conf"
+ fi
+ if use object; then
+ newinitd "${FILESDIR}/swift-object.initd" "swift-object"
+ newins "etc/object-server.conf-sample" "object-server.conf"
+ newins "etc/object-expirer.conf-sample" "object-expirer.conf"
+ fi
+
+ if use doc; then
+ doman doc/manpages/*
+ dodoc -r doc/{s3api,saio,source}
+ fi
+
+ fowners root:swift "/etc/swift"
+ fperms 0750 /etc/swift
+}
+
+pkg_postinst() {
+ elog "Openstack swift will default to using insecure http unless a"
+ elog "certificate is created in /etc/swift/cert.crt and the associated key"
+ elog "in /etc/swift/cert.key. These can be created with the following:"
+ elog " * cd /etc/swift"
+ elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key"
+}
diff --git a/sys-cluster/swift/swift-2.27.0.ebuild b/sys-cluster/swift/swift-2.27.0.ebuild
new file mode 100644
index 000000000..80af00763
--- /dev/null
+++ b/sys-cluster/swift/swift-2.27.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_8 python3_9 )
+DISTUTILS_USE_SETUPTOOLS=rdepend
+
+inherit distutils-r1 linux-info
+
+DESCRIPTION="A highly available, distributed, and eventually consistent object/blob store"
+HOMEPAGE="https://launchpad.net/swift"
+if [[ ${PV} == *9999 ]];then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/openstack/swift.git"
+ EGIT_BRANCH="stable/victoria"
+else
+ SRC_URI="https://tarballs.openstack.org/${PN}/${P}.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+IUSE="account container doc +memcached +object proxy"
+REQUIRED_USE="|| ( proxy account container object )"
+
+CDEPEND=">=dev-python/pbr-1.8.0[${PYTHON_USEDEP}]"
+DEPEND="${CDEPEND}"
+RDEPEND="
+ ${CDEPEND}
+ >=dev-python/eventlet-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/greenlet-0.3.2[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.8[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.0[${PYTHON_USEDEP}]
+ !~dev-python/netifaces-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pastedeploy-1.3.3[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.4.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ dev-python/pyxattr[${PYTHON_USEDEP}]
+ >=dev-python/PyECLib-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.0.2[${PYTHON_USEDEP}]
+ memcached? ( net-misc/memcached )
+ net-misc/rsync[xattr]
+ acct-user/swift
+ acct-group/swift"
+
+pkg_pretend() {
+ linux-info_pkg_setup
+ CONFIG_CHECK="~EXT3_FS_XATTR ~SQUASHFS_XATTR ~CIFS_XATTR ~JFFS2_FS_XATTR
+ ~TMPFS_XATTR ~UBIFS_FS_XATTR ~EXT2_FS_XATTR ~REISERFS_FS_XATTR ~EXT4_FS_XATTR
+ ~ZFS"
+ if linux_config_exists; then
+ for module in ${CONFIG_CHECK}; do
+ linux_chkconfig_present ${module} || ewarn "${module} needs to be enabled"
+ done
+ fi
+}
+
+src_prepare() {
+ sed -i 's/xattr/pyxattr/g' requirements.txt || die
+ sed -i '/^hacking/d' test-requirements.txt || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ keepdir /etc/swift
+ insinto /etc/swift
+
+ newins "etc/swift.conf-sample" "swift.conf"
+ newins "etc/rsyncd.conf-sample" "rsyncd.conf"
+ newins "etc/mime.types-sample" "mime.types-sample"
+ newins "etc/memcache.conf-sample" "memcache.conf-sample"
+ newins "etc/drive-audit.conf-sample" "drive-audit.conf-sample"
+ newins "etc/dispersion.conf-sample" "dispersion.conf-sample"
+
+ if use proxy; then
+ newinitd "${FILESDIR}/swift-proxy.initd" "swift-proxy"
+ newins "etc/proxy-server.conf-sample" "proxy-server.conf"
+ if use memcached; then
+ sed -i '/depend/a\ need memcached' "${D}/etc/init.d/swift-proxy"
+ fi
+ fi
+ if use account; then
+ newinitd "${FILESDIR}/swift-account.initd" "swift-account"
+ newins "etc/account-server.conf-sample" "account-server.conf"
+ fi
+ if use container; then
+ newinitd "${FILESDIR}/swift-container.initd" "swift-container"
+ newins "etc/container-server.conf-sample" "container-server.conf"
+ fi
+ if use object; then
+ newinitd "${FILESDIR}/swift-object.initd" "swift-object"
+ newins "etc/object-server.conf-sample" "object-server.conf"
+ newins "etc/object-expirer.conf-sample" "object-expirer.conf"
+ fi
+
+ if use doc; then
+ doman doc/manpages/*
+ dodoc -r doc/{s3api,saio,source}
+ fi
+
+ fowners root:swift "/etc/swift"
+ fperms 0750 /etc/swift
+}
+
+pkg_postinst() {
+ elog "Openstack swift will default to using insecure http unless a"
+ elog "certificate is created in /etc/swift/cert.crt and the associated key"
+ elog "in /etc/swift/cert.key. These can be created with the following:"
+ elog " * cd /etc/swift"
+ elog " * openssl req -new -x509 -nodes -out cert.crt -keyout cert.key"
+}