From c04019d98ad3be123fd34fe4c28ed42427c713b5 Mon Sep 17 00:00:00 2001 From: "Sar Ashki, Babak" Date: Thu, 16 Apr 2020 16:49:06 -0700 Subject: [PATCH] Move commone recipes and classes to meta-stak-common Signed-off-by: Sar Ashki, Babak --- classes/openssl10.bbclass | 45 - ...fix-path-to-find-configuration-files.patch | 35 - .../files/python-barbican/gunicorn-config.py | 16 - .../openstack-barbican-api.service | 19 - ...enstack-barbican-keystone-listener.service | 13 - .../openstack-barbican-worker.service | 13 - .../python/files/python-keystone/admin-openrc | 12 - .../convert_keystone_backend.py | 43 - .../python-keystone/hybrid-backend-setup | 6 - .../python/files/python-keystone/identity.sh | 226 -- ...tly-import-localcontext-from-oslo.me.patch | 32 - ...tone-fix-location-of-files-for-tests.patch | 34 - .../files/python-keystone/keystone-init | 60 - .../python-keystone/keystone-init.service | 12 - ...eystone-remove-git-commands-in-tests.patch | 39 - ...ch-in-etc-directory-for-config-files.patch | 41 - .../files/python-keystone/keystone.conf | 3142 ----------------- .../python-keystone/stx-files/keystone-all | 156 - .../keystone-fernet-keys-rotate-active | 64 - .../stx-files/openstack-keystone.service | 14 - .../stx-files/password-rules.conf | 49 - .../files/python-keystone/stx-files/public.py | 21 - .../files/python-keystone/wsgi-keystone.conf | 67 - .../0001-Adapt-redfishtool-to-python2.patch | 640 ---- .../python/python-3parclient_4.2.3.bb | 26 - recipes-devtools/python/python-adal_1.0.2.bb | 41 - .../python/python-alabaster_0.7.12.bb | 29 - recipes-devtools/python/python-amqp_2.5.2.bb | 30 - .../python/python-aodhclient_git.bb | 61 - .../backports/__init__.py | 5 - .../python/python-backports-init_1.0.bb | 40 - .../python/python-barbican_git.bb | 169 - .../python/python-castellan_git.bb | 49 - .../python-cinderclient/cinder-api-check.sh | 14 - .../python/python-cinderclient_git.bb | 63 - .../python/python-cliff_2.14.1.bb | 47 - recipes-devtools/python/python-dateutil.inc | 38 - .../python/python-dateutil_2.8.1.bb | 17 - .../python/python-defusedxml_0.6.0.bb | 26 - .../python/python-django-babel_git.bb | 39 - recipes-devtools/python/python-django_git.bb | 36 - .../python/python-docker_3.3.0.bb | 30 - .../python/python-futurist_1.8.1.bb | 40 - .../python/python-glanceclient_git.bb | 62 - .../python/python-gnocchiclient_7.0.4.bb | 36 - .../python/python-imagesize_1.2.0.bb | 28 - .../python/python-importlib-metadata_0.23.bb | 42 - .../python/python-ironicclient_2.7.0.bb | 39 - .../python/python-keystone_git.bb | 317 -- .../python/python-keystoneauth1.inc | 43 - .../python/python-keystoneauth1_3.17.1.bb | 17 - .../python/python-keystonemiddleware_git.bb | 60 - .../python/python-kubernetes_8.0.0.bb | 31 - recipes-devtools/python/python-ldap_3.2.0.bb | 46 - .../python/python-magnumclient_git.bb | 51 - .../python/python-muranoclient_git.bb | 56 - .../python/python-neutronclient_git.bb | 76 - .../python-novaclient/nova-api-check.sh | 14 - .../python/python-novaclient_git.bb | 77 - .../python/python-osc-lib_1.12.1.bb | 45 - .../python/python-oslo.cache_git.bb | 50 - .../python/python-oslo.concurrency_git.bb | 51 - .../python/python-oslo.config_git.bb | 54 - .../python/python-oslo.context_git.bb | 49 - recipes-devtools/python/python-oslo.db_git.bb | 50 - .../python/python-oslo.log_git.bb | 58 - .../python/python-oslo.middleware_git.bb | 56 - .../python/python-oslo.policy_git.bb | 46 - .../python/python-oslo.serialization_git.bb | 53 - .../python-oslo.versionedobjects_git.bb | 51 - .../python/python-osprofiler_git.bb | 45 - .../python/python-packaging_20.1.bb | 29 - .../python/python-pankoclient_0.5.0.bb | 35 - .../python/python-pyghmi_1.5.7.bb | 34 - recipes-devtools/python/python-pysaml2_git.bb | 41 - .../python/python-redfishtool_git.bb | 46 - .../python/python-requests-toolbelt_git.bb | 38 - .../python/python-ruamel.ordereddict_0.4.9.bb | 25 - .../python/python-ruamel.yaml_0.15.9.bb | 38 - recipes-devtools/python/python-ryu_git.bb | 54 - .../python/python-saharaclient_git.bb | 45 - .../python/python-snowballstemmer_2.0.0.bb | 30 - .../python-sphinxcontrib-websupport_1.1.0.bb | 29 - recipes-devtools/python/python-zipp_0.6.0.bb | 29 - .../python/python3-redfishtool_git.bb | 43 - ...olor-setting-for-mips64_n32-binaries.patch | 40 - ...satisfiable-dependency-when-building.patch | 33 - ...lib-rpm-as-the-installation-path-for.patch | 58 - ...1-Do-not-read-config-files-from-HOME.patch | 38 - ...-PATH-environment-variable-before-ru.patch | 28 - .../0001-Fix-build-with-musl-C-library.patch | 48 - ...kage-building-into-a-separate-functi.patch | 84 - ...lling-execute-package-scriptlets-wit.patch | 62 - .../files/0001-perl-disable-auto-reqs.patch | 32 - ...rict-virtual-memory-usage-if-limit-s.patch | 65 - ...prefixing-etc-from-RPM_ETCCONFIGDIR-.patch | 72 - ...ry-package-creation-via-thread-pools.patch | 127 - ...e-operations-over-string-pools-threa.patch | 207 -- ...ove-static-local-variables-from-buil.patch | 336 -- ...hat-ELF-binaries-are-executable-to-b.patch | 33 - recipes-devtools/rpm/rpm2_4.14.2.bb | 195 - recipes-devtools/ruby/ruby.inc | 57 - ...ket-extconf-hardcode-wide-getaddr-in.patch | 31 - ...Obey-LDFLAGS-for-the-link-of-libruby.patch | 12 - .../ruby/ruby/ext.socket.extmk.patch | 13 - recipes-devtools/ruby/ruby/extmk.patch | 12 - .../ruby/ruby/ruby-CVE-2017-9226.patch | 17 - .../ruby/ruby/ruby-CVE-2017-9228.patch | 34 - recipes-devtools/ruby/ruby_2.0.0-p648.bb | 95 - ...d-RPC-roundtrips-while-listing-items.patch | 388 -- ...002-Use-proto_dist-from-command-line.patch | 31 - .../rabbitmq/files/rabbitmq-script-wrapper | 54 - ...0001-Remove-excessive-sd_notify-code.patch | 131 - ...002-Add-systemd-notification-support.patch | 21 - ...istinct-exit-codes-for-CLI-utilities.patch | 124 - ...-login-from-non-loopback-connections.patch | 18 - ...void-RPC-roundtrips-in-list-commands.patch | 280 -- ...ch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch | 18 - ...bitmq-server-fails-with-home-not-set.patch | 26 - .../rabbitmq/files/rabbitmq-server.logrotate | 12 - .../rabbitmq/files/rabbitmq-server.service | 16 - .../rabbitmq/files/rabbitmq-server.tmpfiles | 1 - .../rabbitmq/rabbitmq-server_3.6.5.bb | 131 - .../puppet/4.8.2/add_puppet_gemspec.patch | 23 - .../files/puppet/4.8.2/puppet-poky-dnf.patch | 12 - .../4.8.2/puppet-updates-for-poky-stx.patch | 12 - .../puppet/files/puppet/4.8.2/puppet.conf | 24 - .../puppet/files/puppet/4.8.2/puppet.init | 72 - .../puppet/files/puppet/4.8.2/puppet.service | 10 - recipes-support/puppet/puppet_4.8.2.bb | 79 - 130 files changed, 10930 deletions(-) delete mode 100644 classes/openssl10.bbclass delete mode 100644 recipes-devtools/python/files/python-barbican/barbican-fix-path-to-find-configuration-files.patch delete mode 100644 recipes-devtools/python/files/python-barbican/gunicorn-config.py delete mode 100644 recipes-devtools/python/files/python-barbican/openstack-barbican-api.service delete mode 100644 recipes-devtools/python/files/python-barbican/openstack-barbican-keystone-listener.service delete mode 100644 recipes-devtools/python/files/python-barbican/openstack-barbican-worker.service delete mode 100644 recipes-devtools/python/files/python-keystone/admin-openrc delete mode 100755 recipes-devtools/python/files/python-keystone/convert_keystone_backend.py delete mode 100755 recipes-devtools/python/files/python-keystone/hybrid-backend-setup delete mode 100644 recipes-devtools/python/files/python-keystone/identity.sh delete mode 100644 recipes-devtools/python/files/python-keystone/keystone-explicitly-import-localcontext-from-oslo.me.patch delete mode 100644 recipes-devtools/python/files/python-keystone/keystone-fix-location-of-files-for-tests.patch delete mode 100644 recipes-devtools/python/files/python-keystone/keystone-init delete mode 100644 recipes-devtools/python/files/python-keystone/keystone-init.service delete mode 100644 recipes-devtools/python/files/python-keystone/keystone-remove-git-commands-in-tests.patch delete mode 100644 recipes-devtools/python/files/python-keystone/keystone-search-in-etc-directory-for-config-files.patch delete mode 100644 recipes-devtools/python/files/python-keystone/keystone.conf delete mode 100644 recipes-devtools/python/files/python-keystone/stx-files/keystone-all delete mode 100644 recipes-devtools/python/files/python-keystone/stx-files/keystone-fernet-keys-rotate-active delete mode 100644 recipes-devtools/python/files/python-keystone/stx-files/openstack-keystone.service delete mode 100644 recipes-devtools/python/files/python-keystone/stx-files/password-rules.conf delete mode 100644 recipes-devtools/python/files/python-keystone/stx-files/public.py delete mode 100644 recipes-devtools/python/files/python-keystone/wsgi-keystone.conf delete mode 100644 recipes-devtools/python/files/python-redfishtool/0001-Adapt-redfishtool-to-python2.patch delete mode 100644 recipes-devtools/python/python-3parclient_4.2.3.bb delete mode 100644 recipes-devtools/python/python-adal_1.0.2.bb delete mode 100644 recipes-devtools/python/python-alabaster_0.7.12.bb delete mode 100644 recipes-devtools/python/python-amqp_2.5.2.bb delete mode 100644 recipes-devtools/python/python-aodhclient_git.bb delete mode 100644 recipes-devtools/python/python-backports-init/backports/__init__.py delete mode 100644 recipes-devtools/python/python-backports-init_1.0.bb delete mode 100644 recipes-devtools/python/python-barbican_git.bb delete mode 100644 recipes-devtools/python/python-castellan_git.bb delete mode 100644 recipes-devtools/python/python-cinderclient/cinder-api-check.sh delete mode 100644 recipes-devtools/python/python-cinderclient_git.bb delete mode 100644 recipes-devtools/python/python-cliff_2.14.1.bb delete mode 100644 recipes-devtools/python/python-dateutil.inc delete mode 100644 recipes-devtools/python/python-dateutil_2.8.1.bb delete mode 100644 recipes-devtools/python/python-defusedxml_0.6.0.bb delete mode 100644 recipes-devtools/python/python-django-babel_git.bb delete mode 100644 recipes-devtools/python/python-django_git.bb delete mode 100644 recipes-devtools/python/python-docker_3.3.0.bb delete mode 100644 recipes-devtools/python/python-futurist_1.8.1.bb delete mode 100644 recipes-devtools/python/python-glanceclient_git.bb delete mode 100644 recipes-devtools/python/python-gnocchiclient_7.0.4.bb delete mode 100644 recipes-devtools/python/python-imagesize_1.2.0.bb delete mode 100644 recipes-devtools/python/python-importlib-metadata_0.23.bb delete mode 100644 recipes-devtools/python/python-ironicclient_2.7.0.bb delete mode 100644 recipes-devtools/python/python-keystone_git.bb delete mode 100644 recipes-devtools/python/python-keystoneauth1.inc delete mode 100644 recipes-devtools/python/python-keystoneauth1_3.17.1.bb delete mode 100644 recipes-devtools/python/python-keystonemiddleware_git.bb delete mode 100644 recipes-devtools/python/python-kubernetes_8.0.0.bb delete mode 100644 recipes-devtools/python/python-ldap_3.2.0.bb delete mode 100644 recipes-devtools/python/python-magnumclient_git.bb delete mode 100644 recipes-devtools/python/python-muranoclient_git.bb delete mode 100644 recipes-devtools/python/python-neutronclient_git.bb delete mode 100644 recipes-devtools/python/python-novaclient/nova-api-check.sh delete mode 100644 recipes-devtools/python/python-novaclient_git.bb delete mode 100644 recipes-devtools/python/python-osc-lib_1.12.1.bb delete mode 100644 recipes-devtools/python/python-oslo.cache_git.bb delete mode 100644 recipes-devtools/python/python-oslo.concurrency_git.bb delete mode 100644 recipes-devtools/python/python-oslo.config_git.bb delete mode 100644 recipes-devtools/python/python-oslo.context_git.bb delete mode 100644 recipes-devtools/python/python-oslo.db_git.bb delete mode 100644 recipes-devtools/python/python-oslo.log_git.bb delete mode 100644 recipes-devtools/python/python-oslo.middleware_git.bb delete mode 100644 recipes-devtools/python/python-oslo.policy_git.bb delete mode 100644 recipes-devtools/python/python-oslo.serialization_git.bb delete mode 100644 recipes-devtools/python/python-oslo.versionedobjects_git.bb delete mode 100644 recipes-devtools/python/python-osprofiler_git.bb delete mode 100644 recipes-devtools/python/python-packaging_20.1.bb delete mode 100644 recipes-devtools/python/python-pankoclient_0.5.0.bb delete mode 100644 recipes-devtools/python/python-pyghmi_1.5.7.bb delete mode 100644 recipes-devtools/python/python-pysaml2_git.bb delete mode 100644 recipes-devtools/python/python-redfishtool_git.bb delete mode 100644 recipes-devtools/python/python-requests-toolbelt_git.bb delete mode 100644 recipes-devtools/python/python-ruamel.ordereddict_0.4.9.bb delete mode 100644 recipes-devtools/python/python-ruamel.yaml_0.15.9.bb delete mode 100644 recipes-devtools/python/python-ryu_git.bb delete mode 100644 recipes-devtools/python/python-saharaclient_git.bb delete mode 100644 recipes-devtools/python/python-snowballstemmer_2.0.0.bb delete mode 100644 recipes-devtools/python/python-sphinxcontrib-websupport_1.1.0.bb delete mode 100644 recipes-devtools/python/python-zipp_0.6.0.bb delete mode 100644 recipes-devtools/python/python3-redfishtool_git.bb delete mode 100644 recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch delete mode 100644 recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch delete mode 100644 recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch delete mode 100644 recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch delete mode 100644 recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch delete mode 100644 recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch delete mode 100644 recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch delete mode 100644 recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch delete mode 100644 recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch delete mode 100644 recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch delete mode 100644 recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch delete mode 100644 recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch delete mode 100644 recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch delete mode 100644 recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch delete mode 100644 recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch delete mode 100644 recipes-devtools/rpm/rpm2_4.14.2.bb delete mode 100644 recipes-devtools/ruby/ruby.inc delete mode 100644 recipes-devtools/ruby/ruby/0001-openembedded-socket-extconf-hardcode-wide-getaddr-in.patch delete mode 100644 recipes-devtools/ruby/ruby/0002-Obey-LDFLAGS-for-the-link-of-libruby.patch delete mode 100644 recipes-devtools/ruby/ruby/ext.socket.extmk.patch delete mode 100644 recipes-devtools/ruby/ruby/extmk.patch delete mode 100644 recipes-devtools/ruby/ruby/ruby-CVE-2017-9226.patch delete mode 100644 recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch delete mode 100644 recipes-devtools/ruby/ruby_2.0.0-p648.bb delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-common-0002-Use-proto_dist-from-command-line.patch delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-script-wrapper delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-server-0002-Add-systemd-notification-support.patch delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-server-fails-with-home-not-set.patch delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-server.logrotate delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-server.service delete mode 100644 recipes-extended/rabbitmq/files/rabbitmq-server.tmpfiles delete mode 100644 recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb delete mode 100644 recipes-support/puppet/files/puppet/4.8.2/add_puppet_gemspec.patch delete mode 100644 recipes-support/puppet/files/puppet/4.8.2/puppet-poky-dnf.patch delete mode 100644 recipes-support/puppet/files/puppet/4.8.2/puppet-updates-for-poky-stx.patch delete mode 100644 recipes-support/puppet/files/puppet/4.8.2/puppet.conf delete mode 100644 recipes-support/puppet/files/puppet/4.8.2/puppet.init delete mode 100644 recipes-support/puppet/files/puppet/4.8.2/puppet.service delete mode 100644 recipes-support/puppet/puppet_4.8.2.bb diff --git a/classes/openssl10.bbclass b/classes/openssl10.bbclass deleted file mode 100644 index 1e92746..0000000 --- a/classes/openssl10.bbclass +++ /dev/null @@ -1,45 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -python __anonymous() { - if bb.utils.contains('DEPENDS', 'openssl', True, False, d) or \ - bb.utils.contains('DEPENDS', 'openssl-native', True, False, d): - d.setVar('DEPENDS', d.getVar('DEPENDS').replace('openssl', 'openssl10')) - d.setVar('DEPENDS', d.getVar('DEPENDS').replace('openssl-native', 'openssl10-native')) -} - - -python do_ssl10_mk_symlink() { - - import shutil - l = d.getVar("STAGING_INCDIR") + "/openssl" - - if os.path.islink(l): - os.unlink(l) - elif os.path.isdir(l): - shutil.rmtree(l) - - os.symlink("openssl10/openssl",l) - - l = d.getVar("STAGING_LIBDIR") - if os.path.islink(l + "/libssl.so"): - os.unlink(l + "/libssl.so") - os.unlink(l + "/libcrypto.so") - - os.symlink("libssl.so.1.0.2", l + "/libssl.so") - os.symlink("libcrypto.so.1.0.2", l + "/libcrypto.so") -} - -addtask ssl10_mk_symlink before do_configure after do_prepare_recipe_sysroot diff --git a/recipes-devtools/python/files/python-barbican/barbican-fix-path-to-find-configuration-files.patch b/recipes-devtools/python/files/python-barbican/barbican-fix-path-to-find-configuration-files.patch deleted file mode 100644 index 3f0987e..0000000 --- a/recipes-devtools/python/files/python-barbican/barbican-fix-path-to-find-configuration-files.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 223013ada4792ab0d8f9b02c89aa139969f99a97 Mon Sep 17 00:00:00 2001 -From: "Sar Ashki, Babak" -Date: Sun, 29 Dec 2019 21:41:38 -0800 -Subject: [PATCH] barbican: fix path to find configuration files - -From 3364915002aa2deaf63841e338375648e5dc8f24 Mon Sep 17 00:00:00 2001 -From: Keith Holman -Date: Fri, 13 Jun 2014 13:46:04 -0400 - -Barbican attempts to find configuration files for tests based on where -the files are located within the source tree. On deployment, -configuration files are installed to a directory specified by a build -recipe. This fix updates the location for the configuration files -with an identifier that is replaced during deployment. ---- - barbican/tests/api/test_resources_policy.py | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/barbican/tests/api/test_resources_policy.py b/barbican/tests/api/test_resources_policy.py -index 37a1630f..d9bd9d72 100644 ---- a/barbican/tests/api/test_resources_policy.py -+++ b/barbican/tests/api/test_resources_policy.py -@@ -37,8 +37,7 @@ from barbican.tests import utils - - - # Point to the policy.json file located in source control. --TEST_VAR_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), -- '../../../etc', 'barbican')) -+TEST_VAR_DIR = "%BARBICAN_CONF_DIR%" - - CONF = config.new_config() - --- -2.23.0 - diff --git a/recipes-devtools/python/files/python-barbican/gunicorn-config.py b/recipes-devtools/python/files/python-barbican/gunicorn-config.py deleted file mode 100644 index c8c1e07..0000000 --- a/recipes-devtools/python/files/python-barbican/gunicorn-config.py +++ /dev/null @@ -1,16 +0,0 @@ -import multiprocessing - -bind = '0.0.0.0:9311' -user = 'barbican' -group = 'barbican' - -timeout = 30 -backlog = 2048 -keepalive = 2 - -workers = multiprocessing.cpu_count() * 2 - -loglevel = 'info' -errorlog = '-' -accesslog = '-' - diff --git a/recipes-devtools/python/files/python-barbican/openstack-barbican-api.service b/recipes-devtools/python/files/python-barbican/openstack-barbican-api.service deleted file mode 100644 index 197a281..0000000 --- a/recipes-devtools/python/files/python-barbican/openstack-barbican-api.service +++ /dev/null @@ -1,19 +0,0 @@ -[Unit] -Description=Openstack Barbican API server -After=syslog.target network.target -Before=httpd.service - -[Service] -PIDFile=/run/barbican/pid -User=barbican -Group=barbican -RuntimeDirectory=barbican -RuntimeDirectoryMode=770 -ExecStart=/usr/bin/gunicorn --pid /run/barbican/pid -c /etc/barbican/gunicorn-config.py --paste /etc/barbican/barbican-api-paste.ini -ExecReload=/usr/bin/kill -s HUP $MAINPID -ExecStop=/usr/bin/kill -s TERM $MAINPID -StandardError=syslog -Restart=on-failure - -[Install] -WantedBy=multi-user.target diff --git a/recipes-devtools/python/files/python-barbican/openstack-barbican-keystone-listener.service b/recipes-devtools/python/files/python-barbican/openstack-barbican-keystone-listener.service deleted file mode 100644 index 595f2eb..0000000 --- a/recipes-devtools/python/files/python-barbican/openstack-barbican-keystone-listener.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Openstack Barbican worker daemon -After=syslog.target network.target - -[Service] -Type=simple -ExecStart=/usr/bin/barbican-keystone-listener -User=barbican -Group=barbican -Restart=on-failure - -[Install] -WantedBy=multi-user.target diff --git a/recipes-devtools/python/files/python-barbican/openstack-barbican-worker.service b/recipes-devtools/python/files/python-barbican/openstack-barbican-worker.service deleted file mode 100644 index 2eb311e..0000000 --- a/recipes-devtools/python/files/python-barbican/openstack-barbican-worker.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=Openstack Barbican worker daemon -After=syslog.target network.target - -[Service] -Type=simple -ExecStart=/usr/bin/barbican-worker -User=barbican -Group=barbican -Restart=on-failure - -[Install] -WantedBy=multi-user.target diff --git a/recipes-devtools/python/files/python-keystone/admin-openrc b/recipes-devtools/python/files/python-keystone/admin-openrc deleted file mode 100644 index 4b459d7..0000000 --- a/recipes-devtools/python/files/python-keystone/admin-openrc +++ /dev/null @@ -1,12 +0,0 @@ -# -# Matches bootstrap data in keystone-init -# -export OS_PROJECT_DOMAIN_NAME=Default -export OS_USER_DOMAIN_NAME=Default -export OS_PROJECT_NAME=admin -export OS_USERNAME=%ADMIN_USER% -export OS_PASSWORD=%ADMIN_PASSWORD% -export OS_AUTH_URL=http://%CONTROLLER_IP%:35357/v3 -export OS_IDENTITY_API_VERSION=3 -export OS_IMAGE_API_VERSION=2 -export OS_REGION_NAME=RegionOne diff --git a/recipes-devtools/python/files/python-keystone/convert_keystone_backend.py b/recipes-devtools/python/files/python-keystone/convert_keystone_backend.py deleted file mode 100755 index eebd59d..0000000 --- a/recipes-devtools/python/files/python-keystone/convert_keystone_backend.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/python - -import sys -import ConfigParser -import shutil - -path = "/etc/keystone/keystone.conf" - -if len(sys.argv) != 2: - sys.stderr.write("Usage: "+sys.argv[0]+" [sql|hybrid]\n") - sys.exit(1) - -backend = sys.argv[1] -if backend == "hybrid": - identity_backend = 'keystone.identity.backends.hybrid_identity.Identity' - assignment_backend = 'keystone.assignment.backends.hybrid_assignment.Assignment' -elif backend == "sql": - identity_backend = 'keystone.identity.backends.sql.Identity' - assignment_backend = 'keystone.assignment.backends.sql.Assignment' -else: - sys.stderr.write("Usage: "+sys.argv[0]+" [sql|hybrid]\n") - sys.exit(1) - -shutil.copyfile(path, path + ".bak") - -cfg = ConfigParser.ConfigParser() -c = cfg.read(path) - -if not cfg.has_section("identity"): - cfg.add_section("identity") - -cfg.set("identity", "driver", identity_backend) - -if not cfg.has_section("assignment"): - cfg.add_section("assignment") - -cfg.set("assignment", "driver", assignment_backend) - -fp = open(path, "w") -cfg.write(fp) -fp.close() - -exit(0) diff --git a/recipes-devtools/python/files/python-keystone/hybrid-backend-setup b/recipes-devtools/python/files/python-keystone/hybrid-backend-setup deleted file mode 100755 index d3f7eac..0000000 --- a/recipes-devtools/python/files/python-keystone/hybrid-backend-setup +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh - -/etc/keystone/convert_keystone_backend.py hybrid - -/etc/init.d/openldap start -/etc/init.d/keystone restart diff --git a/recipes-devtools/python/files/python-keystone/identity.sh b/recipes-devtools/python/files/python-keystone/identity.sh deleted file mode 100644 index af99673..0000000 --- a/recipes-devtools/python/files/python-keystone/identity.sh +++ /dev/null @@ -1,226 +0,0 @@ -#!/bin/bash - -# -# Copyright (C) 2014 Wind River Systems, Inc. -# -# The identity.sh provides utilities for services to add tenant/role/users, -# and service/endpoints into keystone database -# - -# Use shared secret for authentication before any user created. -export OS_SERVICE_TOKEN="password" -export OS_SERVICE_ENDPOINT="http://localhost:35357/v2.0" - -declare -A PARAMS - -# Shortcut function to get a newly generated ID -function get_field () { - while read data; do - if [ "$1" -lt 0 ]; then - field="(\$(NF$1))" - else - field="\$$(($1 + 1))" - fi - echo "$data" | awk -F'[ \t]*\\|[ \t]*' "{print $field}" - done -} - -# Usage help -help () { - if [ $# -eq 0 ]; then - echo "Usage: $0 ..." - echo "" - echo "Keystone CLI wrapper to create tenant/user/role, and service/endpoint." - echo "It uses the default tenant, user and password from environment variables" - echo "(OS_TENANT_NAME, OS_USERNAME, OS_PASSWORD) to authenticate with keystone." - echo "" - echo "Positional arguments:" - echo " " - echo " user-create" - echo " service-create" - echo "" - echo "See \"identity.sh help COMMAND\" for help on a specific command." - exit 0 - fi - - case "$2" in - service-create) - echo "Usage: $0 $2 [--name=] [--type=] [--description=] [--region=] [--publicurl=] [--adminurl=] [--internalurl=]" - echo "" - echo "Create service and endpoint in keystone." - echo "" - echo "Arguments:" - echo " --name=" - echo " The name of the service" - echo " --type=" - echo " The type of the service" - echo " --description=" - echo " Description of the service" - echo " --region=" - echo " The region of the service" - echo " --publicurl=" - echo " Public URL of the service endpoint" - echo " --adminurl=" - echo " Admin URL of the service endpoint" - echo " --internalurl=" - echo " Internal URL of the service endpoint" - ;; - user-create) - echo "Usage: $0 $2 [--name=] [--pass=] [--tenant=] [--role=] [--email=]" - echo "" - echo "Arguments:" - echo " --name=" - echo " The name of the user" - echo " --pass=" - echo " The password of the user" - echo " --tenant=" - echo " The tenant of the user belongs to" - echo " --role=" - echo " The role of the user in the " - echo " --email=" - echo " The email of the user" - ;; - *) - echo "Usage: $0 help ..." - echo "" - exit 0 - ;; - esac -} - -# Parse the command line parameters in an map -parse_param () { - while [ $# -ne 0 ]; do - param=$1 - shift - - key=`echo $param | cut -d '=' -f 1` - key=`echo $key | tr -d '[-*2]'` - PARAMS[$key]=`echo $param | cut -d '=' -f 2` - done -} - -# Create tenant/role/user, and add user to the tenant as role -user-create () { - # validation checking - if [[ "$@" =~ ^--name=.*\ --pass=.*\ --tenant=.*\ --role=.*\ --email=.*$ ]]; then - params=`echo "$@" | sed -e 's%--name=\(.*\) --pass=\(.*\) --tenant=\(.*\) --role=\(.*\) --email=\(.*\)%--name=\1|--pass=\2|--tenant=\3|--role=\4|--email=\5%g'` - else - help - exit 1 - fi - - # parse the cmdline parameters - IFS="|" - parse_param $params - unset IFS - - echo "Adding user in keystone ..." - - if [ "x${PARAMS["tenant"]}" != "x" ]; then - # check if tenant exist, create it if not - TENANT_ID=$(keystone tenant-get ${PARAMS["tenant"]} | grep " id " | get_field 2) - if [ "x$TENANT_ID" == "x" ]; then - echo "Creating tenant ${PARAMS["tenant"]} in keystone ..." - TENANT_ID=$(keystone tenant-create --name=${PARAMS["tenant"]} | grep " id " | get_field 2) - fi - echo "Tenant list:" - keystone tenant-list - fi - - if [ "x${PARAMS["role"]}" != "x" ]; then - # check if role exist, create it if not - ROLE_ID=$(keystone role-get ${PARAMS["role"]} | grep " id " | get_field 2) - if [ "x$ROLE_ID" == "x" ]; then - echo "Creating role ${PARAMS["role"]} in keystone ..." - ROLE_ID=$(keystone role-create --name=${PARAMS["role"]} | grep " id " | get_field 2) - fi - echo "Role list:" - keystone role-list - fi - - if [ "x${PARAMS["name"]}" != "x" ]; then - # check if user exist, create it if not - USER_ID=$(keystone user-get ${PARAMS["name"]} | grep " id " | get_field 2) - if [ "x$USER_ID" == "x" ]; then - echo "Creating user ${PARAMS["name"]} in keystone ..." - USER_ID=$(keystone user-create --name=${PARAMS["name"]} --pass=${PARAMS["pass"]} --tenant-id $TENANT_ID --email=${PARAMS["email"]} | grep " id " | get_field 2) - fi - echo "User list:" - keystone user-list - fi - - if [ "x$USER_ID" != "x" ] && [ "x$TENANT_ID" != "x" ] && [ "x$ROLE_ID" != "x" ]; then - # add the user to the tenant as role - keystone user-role-list --user-id $USER_ID --tenant-id $TENANT_ID | grep $ROLE_ID &> /dev/null - if [ $? -eq 1 ]; then - echo "Adding user ${PARAMS["name"]} in tenant ${PARAMS["tenant"]} as ${PARAMS["role"]} ..." - keystone user-role-add --tenant-id $TENANT_ID --user-id $USER_ID --role-id $ROLE_ID - fi - fi - - if [ "x$USER_ID" != "x" ] && [ "x$TENANT_ID" != "x" ]; then - echo "User ${PARAMS["name"]} in Tenant ${PARAMS["tenant"]} role list:" - keystone user-role-list --user-id $USER_ID --tenant-id $TENANT_ID - fi -} - -# Create service and its endpoint -service-create () { - # validation checking - if [[ "$@" =~ ^--name=.*\ --type=.*\ --description=.*\ --region=.*\ --publicurl=.*\ --adminurl=.*\ --internalurl=.*$ ]]; then - params=`echo "$@" | sed -e 's%--name=\(.*\) --type=\(.*\) --description=\(.*\) --region=\(.*\) --publicurl=\(.*\) --adminurl=\(.*\) --internalurl=\(.*\)%--name=\1|--type=\2|--description=\3|--region=\4|--publicurl=\5|--adminurl=\6|--internalurl=\7%g'` - else - help - exit 1 - fi - - # parse the cmdline parameters - IFS=$"|" - parse_param $params - unset IFS - - echo "Creating service in keystone ..." - - if [ "x${PARAMS["name"]}" != "x" ]; then - # check if service already created, create it if not - SERVICE_ID=$(keystone service-get ${PARAMS["name"]} | grep " id " | get_field 2) - if [ "x$SERVICE_ID" == "x" ]; then - echo "Adding service ${PARAMS["name"]} in keystone ..." - SERVICE_ID=$(keystone service-create --name ${PARAMS["name"]} --type ${PARAMS["type"]} --description "${PARAMS["description"]}" | grep " id " | get_field 2) - fi - echo "Service list:" - keystone service-list - fi - - if [ "x$SERVICE_ID" != "x" ]; then - # create its endpoint - keystone endpoint-list | grep $SERVICE_ID | grep ${PARAMS["region"]} | grep ${PARAMS["publicurl"]} | grep ${PARAMS["adminurl"]} | grep ${PARAMS["internalurl"]} - if [ $? -eq 1 ]; then - echo "Creating endpoint for ${PARAMS["name"]} in keystone ..." - keystone endpoint-create --region ${PARAMS["region"]} --service-id $SERVICE_ID --publicurl ${PARAMS["publicurl"]} --adminurl ${PARAMS["adminurl"]} --internalurl ${PARAMS["internalurl"]} - fi - echo "Endpoints list:" - keystone endpoint-list - fi -} - -case "$1" in - service-create) - shift - service-create $@ - ;; - user-create) - shift - user-create $@ - ;; - help) - help $@ - ;; - *) - help - exit 0 - ;; -esac - -exit 0 diff --git a/recipes-devtools/python/files/python-keystone/keystone-explicitly-import-localcontext-from-oslo.me.patch b/recipes-devtools/python/files/python-keystone/keystone-explicitly-import-localcontext-from-oslo.me.patch deleted file mode 100644 index 5c152e0..0000000 --- a/recipes-devtools/python/files/python-keystone/keystone-explicitly-import-localcontext-from-oslo.me.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 0d6b66b2d5314b454a421bd22fcc8173baf0bc95 Mon Sep 17 00:00:00 2001 -From: Bruce Ashfield -Date: Mon, 20 Oct 2014 15:59:33 -0400 -Subject: [PATCH] keystone: explicitly import localcontext from oslo.messaging - -When using apache as a front end to keystone, juno has a problem when -authenticating clients due to a failure to import localcontext from -oslo. - -We can work around this issue by doing the export explicitly in the -entry routine versus in the library itself. - -Signed-off-by: Bruce Ashfield ---- - httpd/keystone.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/httpd/keystone.py b/httpd/keystone.py -index f5ce498c5152..b2b9285ad2ab 100644 ---- a/httpd/keystone.py -+++ b/httpd/keystone.py -@@ -32,6 +32,7 @@ from keystone.common import sql - from keystone import config - from keystone.openstack.common import log - from keystone import service -+from oslo.messaging import localcontext - - - CONF = config.CONF --- -1.9.1 - diff --git a/recipes-devtools/python/files/python-keystone/keystone-fix-location-of-files-for-tests.patch b/recipes-devtools/python/files/python-keystone/keystone-fix-location-of-files-for-tests.patch deleted file mode 100644 index 3e73696..0000000 --- a/recipes-devtools/python/files/python-keystone/keystone-fix-location-of-files-for-tests.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 205ee3cfa4c7efd39f5fe991b53327c1bd771f97 Mon Sep 17 00:00:00 2001 -From: Keith Holman -Date: Tue, 3 Jun 2014 16:19:54 -0400 -Subject: [PATCH] keystone: fix location of files for tests - -Keystone tests define the location of certificate files -as the location of the files in the source tree. However, -when installed on the system these files are put in a -different location. This patch provides a symbol, which -is replaced, for the base path of the location of the test -files. - -Signed-off-by: Keith Holman ---- - keystone/tests/test_overrides.conf | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/keystone/tests/test_overrides.conf b/keystone/tests/test_overrides.conf -index 801b0d2..ba35343 100644 ---- a/keystone/tests/test_overrides.conf -+++ b/keystone/tests/test_overrides.conf -@@ -21,6 +21,6 @@ debug_cache_backend = True - proxies = keystone.tests.test_cache.CacheIsolatingProxy - - [signing] --certfile = ../../examples/pki/certs/signing_cert.pem --keyfile = ../../examples/pki/private/signing_key.pem --ca_certs = ../../examples/pki/certs/cacert.pem -+certfile = %KEYSTONE_PACKAGE_DIR%/examples/pki/certs/signing_cert.pem -+keyfile = %KEYSTONE_PACKAGE_DIR%/examples/pki/private/signing_key.pem -+ca_certs = %KEYSTONE_PACKAGE_DIR%/examples/pki/certs/cacert.pem --- -1.9.3 - diff --git a/recipes-devtools/python/files/python-keystone/keystone-init b/recipes-devtools/python/files/python-keystone/keystone-init deleted file mode 100644 index db4b4fa..0000000 --- a/recipes-devtools/python/files/python-keystone/keystone-init +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash -# -# Basic keystone setup as described on: -# https://docs.openstack.org/mitaka/install-guide-ubuntu/keystone-install.html -# https://docs.openstack.org/keystone/pike/install/keystone-install-ubuntu.html -# -# Prerequisites: /etc/postgresql/postgresql-init must be run first to create the DB -# -# After complete you should be able to query keystone with something like the -# following (https://docs.openstack.org/keystone/latest/api_curl_examples.html) -# -#curl -i \ -# -H "Content-Type: application/json" \ -# -d ' -#{ "auth": { -# "identity": { -# "methods": ["password"], -# "password": { -# "user": { -# "name": "%ADMIN_USER%", -# "domain": { "id": "default" }, -# "password": "%ADMIN_PASSWORD%" -# } -# } -# } -# } -#}' \ -# "http://localhost:5000/v3/auth/tokens" ; echo - - -# Substitutions setup at do_intall() -DB_USER=%DB_USER% -KEYSTONE_USER=%KEYSTONE_USER% -KEYSTONE_GROUP=%KEYSTONE_GROUP% -CONTROLLER_IP=%CONTROLLER_IP% -ADMIN_USER=%ADMIN_USER% -ADMIN_PASSWORD=%ADMIN_PASSWORD% -ADMIN_ROLE=%ADMIN_ROLE% - -# Create the keystone DB and grant the necessary permissions -sudo -u postgres psql -c "CREATE DATABASE keystone" 2> /dev/null -sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE keystone TO ${DB_USER}" 2> /dev/null - -keystone-manage db_sync - -keystone-manage fernet_setup --keystone-user ${KEYSTONE_USER} --keystone-group ${KEYSTONE_GROUP} -keystone-manage credential_setup --keystone-user ${KEYSTONE_USER} --keystone-group ${KEYSTONE_GROUP} - -keystone-manage bootstrap \ - --bootstrap-password ${ADMIN_PASSWORD} \ - --bootstrap-username ${ADMIN_USER} \ - --bootstrap-project-name admin \ - --bootstrap-role-name ${ADMIN_ROLE} \ - --bootstrap-service-name keystone \ - --bootstrap-region-id RegionOne \ - --bootstrap-admin-url http://${CONTROLLER_IP}:35357 \ - --bootstrap-internal-url http://${CONTROLLER_IP}:5000 \ - --bootstrap-public-url http://${CONTROLLER_IP}:5000 - -#keystone-manage pki_setup --keystone-user=root --keystone-group=daemon diff --git a/recipes-devtools/python/files/python-keystone/keystone-init.service b/recipes-devtools/python/files/python-keystone/keystone-init.service deleted file mode 100644 index b114806..0000000 --- a/recipes-devtools/python/files/python-keystone/keystone-init.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Barebones OpenStack keystone initialization -After=postgresql-init.service - -[Service] -Type=oneshot -ExecStart=%SYSCONFIGDIR%/keystone/keystone-init -ExecStartPost=/bin/systemctl --no-reload disable keystone-init.service -RemainAfterExit=No - -[Install] -WantedBy=multi-user.target diff --git a/recipes-devtools/python/files/python-keystone/keystone-remove-git-commands-in-tests.patch b/recipes-devtools/python/files/python-keystone/keystone-remove-git-commands-in-tests.patch deleted file mode 100644 index 928c0fb..0000000 --- a/recipes-devtools/python/files/python-keystone/keystone-remove-git-commands-in-tests.patch +++ /dev/null @@ -1,39 +0,0 @@ -From d2ee135a3c97f714e6da59adf45a91a2f1632057 Mon Sep 17 00:00:00 2001 -From: Keith Holman -Date: Wed, 4 Jun 2014 11:30:53 -0400 -Subject: [PATCH] keystone: remove git commands in tests - -Keystone tests are designed to be used during development -and will use git to download the latest keystoneclient from -source to test against. However, on the system installation -we install keystone-client as a separate package, and do not -want to download an external version to test. In order to -test against the version installed as a separate package, -remove the git calls that clone the keystone-client repository -and just returned the desired directory. - -Signed-off-by: Keith Holman ---- - keystone/tests/core.py | 2 ++ - 1 file changed, 2 insertions(+) - -Index: git/keystone/tests/core.py -=================================================================== ---- git.orig/keystone/tests/core.py -+++ git/keystone/tests/core.py -@@ -125,6 +125,7 @@ - - working_dir = os.getcwd() - revdir = os.path.join(VENDOR, '%s-%s' % (name, rev.replace('/', '_'))) -+ """ - modcheck = os.path.join(VENDOR, '.%s-%s' % (name, rev.replace('/', '_'))) - try: - if os.path.exists(modcheck): -@@ -145,6 +146,7 @@ - fd.write('1') - except environment.subprocess.CalledProcessError: - LOG.warning(_('Failed to checkout %s'), repo) -+ """ - os.chdir(working_dir) - return revdir - diff --git a/recipes-devtools/python/files/python-keystone/keystone-search-in-etc-directory-for-config-files.patch b/recipes-devtools/python/files/python-keystone/keystone-search-in-etc-directory-for-config-files.patch deleted file mode 100644 index 6f88e17..0000000 --- a/recipes-devtools/python/files/python-keystone/keystone-search-in-etc-directory-for-config-files.patch +++ /dev/null @@ -1,41 +0,0 @@ -From ed3c1f7c8eb90506eda1aafbc6d4de3b9e2abe71 Mon Sep 17 00:00:00 2001 -From: Keith Holman -Date: Tue, 3 Jun 2014 11:28:23 -0400 -Subject: [PATCH] keystone: search in etc directory for config files - -The core.py file in the tests directory is setup to find -the file as they exist in the source code tree. When -deployed some configuration files are moved to the /etc -directory. This modification changes the test code to -find the files in the new location. - -Signed-off-by: Keith Holman ---- - keystone/tests/core.py | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -Index: git/keystone/tests/core.py -=================================================================== ---- git.orig/keystone/tests/core.py -+++ git/keystone/tests/core.py -@@ -68,9 +68,9 @@ - PID = six.text_type(os.getpid()) - TESTSDIR = os.path.dirname(os.path.abspath(__file__)) - TESTCONF = os.path.join(TESTSDIR, 'config_files') --ROOTDIR = os.path.normpath(os.path.join(TESTSDIR, '..', '..')) -+ROOTDIR = os.path.normpath(os.path.join(TESTSDIR, '..')) - VENDOR = os.path.join(ROOTDIR, 'vendor') --ETCDIR = os.path.join(ROOTDIR, 'etc') -+ETCDIR = "/etc/keystone" - - - def _calc_tmpdir(): -@@ -560,7 +560,7 @@ - def _paste_config(self, config): - if not config.startswith('config:'): - test_path = os.path.join(TESTSDIR, config) -- etc_path = os.path.join(ROOTDIR, 'etc', config) -+ etc_path = os.path.join(ETCDIR, config) - for path in [test_path, etc_path]: - if os.path.exists('%s-paste.ini' % path): - return 'config:%s-paste.ini' % path diff --git a/recipes-devtools/python/files/python-keystone/keystone.conf b/recipes-devtools/python/files/python-keystone/keystone.conf deleted file mode 100644 index 9ae33f0..0000000 --- a/recipes-devtools/python/files/python-keystone/keystone.conf +++ /dev/null @@ -1,3142 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -[DEFAULT] - -# -# From keystone -# - -# Using this feature is *NOT* recommended. Instead, use the `keystone-manage -# bootstrap` command. The value of this option is treated as a "shared secret" -# that can be used to bootstrap Keystone through the API. This "token" does not -# represent a user (it has no identity), and carries no explicit authorization -# (it effectively bypasses most authorization checks). If set to `None`, the -# value is ignored and the `admin_token` middleware is effectively disabled. -# (string value) -#admin_token = - -# The base public endpoint URL for Keystone that is advertised to clients -# (NOTE: this does NOT affect how Keystone listens for connections). Defaults -# to the base host URL of the request. For example, if keystone receives a -# request to `http://server:5000/v3/users`, then this will option will be -# automatically treated as `http://server:5000`. You should only need to set -# option if either the value of the base URL contains a path that keystone does -# not automatically infer (`/prefix/v3`), or if the endpoint should be found on -# a different host. (uri value) -#public_endpoint = - -# DEPRECATED: The base admin endpoint URL for Keystone that is advertised to -# clients (NOTE: this does NOT affect how Keystone listens for connections). -# Defaults to the base host URL of the request. For example, if keystone -# receives a request to `http://server:35357/v3/users`, then this will option -# will be automatically treated as `http://server:35357`. You should only need -# to set option if either the value of the base URL contains a path that -# keystone does not automatically infer (`/prefix/v3`), or if the endpoint -# should be found on a different host. (uri value) -# This option is deprecated for removal since R. -# Its value may be silently ignored in the future. -# Reason: With the removal of the 2.0 API keystone does not distinguish between -# admin and public endpoints. -#admin_endpoint = - -# Maximum depth of the project hierarchy, excluding the project acting as a -# domain at the top of the hierarchy. WARNING: Setting it to a large value may -# adversely impact performance. (integer value) -#max_project_tree_depth = 5 - -# Limit the sizes of user & project ID/names. (integer value) -#max_param_size = 64 - -# Similar to `[DEFAULT] max_param_size`, but provides an exception for token -# values. With Fernet tokens, this can be set as low as 255. With UUID tokens, -# this should be set to 32). (integer value) -#max_token_size = 255 - -# The maximum number of entities that will be returned in a collection. This -# global limit may be then overridden for a specific driver, by specifying a -# list_limit in the appropriate section (for example, `[assignment]`). No limit -# is set by default. In larger deployments, it is recommended that you set this -# to a reasonable number to prevent operations like listing all users and -# projects from placing an unnecessary load on the system. (integer value) -#list_limit = - -# If set to true, strict password length checking is performed for password -# manipulation. If a password exceeds the maximum length, the operation will -# fail with an HTTP 403 Forbidden error. If set to false, passwords are -# automatically truncated to the maximum length. (boolean value) -#strict_password_check = false - -# If set to true, then the server will return information in HTTP responses -# that may allow an unauthenticated or authenticated user to get more -# information than normal, such as additional details about why authentication -# failed. This may be useful for debugging but is insecure. (boolean value) -#insecure_debug = false - -# Default `publisher_id` for outgoing notifications. If left undefined, -# Keystone will default to using the server's host name. (string value) -#default_publisher_id = - -# Define the notification format for identity service events. A `basic` -# notification only has information about the resource being operated on. A -# `cadf` notification has the same information, as well as information about -# the initiator of the event. The `cadf` option is entirely backwards -# compatible with the `basic` option, but is fully CADF-compliant, and is -# recommended for auditing use cases. (string value) -# Possible values: -# basic - -# cadf - -#notification_format = cadf - -# You can reduce the number of notifications keystone emits by explicitly -# opting out. Keystone will not emit notifications that match the patterns -# expressed in this list. Values are expected to be in the form of -# `identity..`. By default, all notifications related -# to authentication are automatically suppressed. This field can be set -# multiple times in order to opt-out of multiple notification topics. For -# example, the following suppresses notifications describing user creation or -# successful authentication events: notification_opt_out=identity.user.create -# notification_opt_out=identity.authenticate.success (multi valued) -#notification_opt_out = identity.authenticate.success -#notification_opt_out = identity.authenticate.pending -#notification_opt_out = identity.authenticate.failed - -# -# From oslo.log -# - -# If set to true, the logging level will be set to DEBUG instead of the default -# INFO level. (boolean value) -# Note: This option can be changed without restarting. -#debug = false - -# The name of a logging configuration file. This file is appended to any -# existing logging configuration files. For details about logging configuration -# files, see the Python logging module documentation. Note that when logging -# configuration files are used then all logging configuration is set in the -# configuration file and other logging configuration options are ignored (for -# example, logging_context_format_string). (string value) -# Note: This option can be changed without restarting. -# Deprecated group/name - [DEFAULT]/log_config -#log_config_append = - -# Defines the format string for %%(asctime)s in log records. Default: -# %(default)s . This option is ignored if log_config_append is set. (string -# value) -#log_date_format = %Y-%m-%d %H:%M:%S - -# (Optional) Name of log file to send logging output to. If no default is set, -# logging will go to stderr as defined by use_stderr. This option is ignored if -# log_config_append is set. (string value) -# Deprecated group/name - [DEFAULT]/logfile -#log_file = - -# (Optional) The base directory used for relative log_file paths. This option -# is ignored if log_config_append is set. (string value) -# Deprecated group/name - [DEFAULT]/logdir -#log_dir = - -# Uses logging handler designed to watch file system. When log file is moved or -# removed this handler will open a new log file with specified path -# instantaneously. It makes sense only if log_file option is specified and -# Linux platform is used. This option is ignored if log_config_append is set. -# (boolean value) -#watch_log_file = false - -# Use syslog for logging. Existing syslog format is DEPRECATED and will be -# changed later to honor RFC5424. This option is ignored if log_config_append -# is set. (boolean value) -#use_syslog = false - -# Enable journald for logging. If running in a systemd environment you may wish -# to enable journal support. Doing so will use the journal native protocol -# which includes structured metadata in addition to log messages.This option is -# ignored if log_config_append is set. (boolean value) -#use_journal = false - -# Syslog facility to receive log lines. This option is ignored if -# log_config_append is set. (string value) -#syslog_log_facility = LOG_USER - -# Use JSON formatting for logging. This option is ignored if log_config_append -# is set. (boolean value) -#use_json = false - -# Log output to standard error. This option is ignored if log_config_append is -# set. (boolean value) -#use_stderr = false - -# Format string to use for log messages with context. (string value) -#logging_context_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [%(request_id)s %(user_identity)s] %(instance)s%(message)s - -# Format string to use for log messages when context is undefined. (string -# value) -#logging_default_format_string = %(asctime)s.%(msecs)03d %(process)d %(levelname)s %(name)s [-] %(instance)s%(message)s - -# Additional data to append to log message when logging level for the message -# is DEBUG. (string value) -#logging_debug_format_suffix = %(funcName)s %(pathname)s:%(lineno)d - -# Prefix each line of exception output with this format. (string value) -#logging_exception_prefix = %(asctime)s.%(msecs)03d %(process)d ERROR %(name)s %(instance)s - -# Defines the format string for %(user_identity)s that is used in -# logging_context_format_string. (string value) -#logging_user_identity_format = %(user)s %(tenant)s %(domain)s %(user_domain)s %(project_domain)s - -# List of package logging levels in logger=LEVEL pairs. This option is ignored -# if log_config_append is set. (list value) -#default_log_levels = amqp=WARN,amqplib=WARN,boto=WARN,qpid=WARN,sqlalchemy=WARN,suds=INFO,oslo.messaging=INFO,oslo_messaging=INFO,iso8601=WARN,requests.packages.urllib3.connectionpool=WARN,urllib3.connectionpool=WARN,websocket=WARN,requests.packages.urllib3.util.retry=WARN,urllib3.util.retry=WARN,keystonemiddleware=WARN,routes.middleware=WARN,stevedore=WARN,taskflow=WARN,keystoneauth=WARN,oslo.cache=INFO,dogpile.core.dogpile=INFO - -# Enables or disables publication of error events. (boolean value) -#publish_errors = false - -# The format for an instance that is passed with the log message. (string -# value) -#instance_format = "[instance: %(uuid)s] " - -# The format for an instance UUID that is passed with the log message. (string -# value) -#instance_uuid_format = "[instance: %(uuid)s] " - -# Interval, number of seconds, of log rate limiting. (integer value) -#rate_limit_interval = 0 - -# Maximum number of logged messages per rate_limit_interval. (integer value) -#rate_limit_burst = 0 - -# Log level name used by rate limiting: CRITICAL, ERROR, INFO, WARNING, DEBUG -# or empty string. Logs with level greater or equal to rate_limit_except_level -# are not filtered. An empty string means that all levels are filtered. (string -# value) -#rate_limit_except_level = CRITICAL - -# Enables or disables fatal status of deprecations. (boolean value) -#fatal_deprecations = false - -# -# From oslo.messaging -# - -# Size of RPC connection pool. (integer value) -#rpc_conn_pool_size = 30 - -# The pool size limit for connections expiration policy (integer value) -#conn_pool_min_size = 2 - -# The time-to-live in sec of idle connections in the pool (integer value) -#conn_pool_ttl = 1200 - -# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. -# The "host" option should point or resolve to this address. (string value) -#rpc_zmq_bind_address = * - -# MatchMaker driver. (string value) -# Possible values: -# redis - -# sentinel - -# dummy - -#rpc_zmq_matchmaker = redis - -# Number of ZeroMQ contexts, defaults to 1. (integer value) -#rpc_zmq_contexts = 1 - -# Maximum number of ingress messages to locally buffer per topic. Default is -# unlimited. (integer value) -#rpc_zmq_topic_backlog = - -# Directory for holding IPC sockets. (string value) -#rpc_zmq_ipc_dir = /var/run/openstack - -# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match -# "host" option, if running Nova. (string value) -#rpc_zmq_host = localhost - -# Number of seconds to wait before all pending messages will be sent after -# closing a socket. The default value of -1 specifies an infinite linger -# period. The value of 0 specifies no linger period. Pending messages shall be -# discarded immediately when the socket is closed. Positive values specify an -# upper bound for the linger period. (integer value) -# Deprecated group/name - [DEFAULT]/rpc_cast_timeout -#zmq_linger = -1 - -# The default number of seconds that poll should wait. Poll raises timeout -# exception when timeout expired. (integer value) -#rpc_poll_timeout = 1 - -# Expiration timeout in seconds of a name service record about existing target -# ( < 0 means no timeout). (integer value) -#zmq_target_expire = 300 - -# Update period in seconds of a name service record about existing target. -# (integer value) -#zmq_target_update = 180 - -# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean -# value) -#use_pub_sub = false - -# Use ROUTER remote proxy. (boolean value) -#use_router_proxy = false - -# This option makes direct connections dynamic or static. It makes sense only -# with use_router_proxy=False which means to use direct connections for direct -# message types (ignored otherwise). (boolean value) -#use_dynamic_connections = false - -# How many additional connections to a host will be made for failover reasons. -# This option is actual only in dynamic connections mode. (integer value) -#zmq_failover_connections = 2 - -# Minimal port number for random ports range. (port value) -# Minimum value: 0 -# Maximum value: 65535 -#rpc_zmq_min_port = 49153 - -# Maximal port number for random ports range. (integer value) -# Minimum value: 1 -# Maximum value: 65536 -#rpc_zmq_max_port = 65536 - -# Number of retries to find free port number before fail with ZMQBindError. -# (integer value) -#rpc_zmq_bind_port_retries = 100 - -# Default serialization mechanism for serializing/deserializing -# outgoing/incoming messages (string value) -# Possible values: -# json - -# msgpack - -#rpc_zmq_serialization = json - -# This option configures round-robin mode in zmq socket. True means not keeping -# a queue when server side disconnects. False means to keep queue and messages -# even if server is disconnected, when the server appears we send all -# accumulated messages to it. (boolean value) -#zmq_immediate = true - -# Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any -# other negative value) means to skip any overrides and leave it to OS default; -# 0 and 1 (or any other positive value) mean to disable and enable the option -# respectively. (integer value) -#zmq_tcp_keepalive = -1 - -# The duration between two keepalive transmissions in idle condition. The unit -# is platform dependent, for example, seconds in Linux, milliseconds in Windows -# etc. The default value of -1 (or any other negative value and 0) means to -# skip any overrides and leave it to OS default. (integer value) -#zmq_tcp_keepalive_idle = -1 - -# The number of retransmissions to be carried out before declaring that remote -# end is not available. The default value of -1 (or any other negative value -# and 0) means to skip any overrides and leave it to OS default. (integer -# value) -#zmq_tcp_keepalive_cnt = -1 - -# The duration between two successive keepalive retransmissions, if -# acknowledgement to the previous keepalive transmission is not received. The -# unit is platform dependent, for example, seconds in Linux, milliseconds in -# Windows etc. The default value of -1 (or any other negative value and 0) -# means to skip any overrides and leave it to OS default. (integer value) -#zmq_tcp_keepalive_intvl = -1 - -# Maximum number of (green) threads to work concurrently. (integer value) -#rpc_thread_pool_size = 100 - -# Expiration timeout in seconds of a sent/received message after which it is -# not tracked anymore by a client/server. (integer value) -#rpc_message_ttl = 300 - -# Wait for message acknowledgements from receivers. This mechanism works only -# via proxy without PUB/SUB. (boolean value) -#rpc_use_acks = false - -# Number of seconds to wait for an ack from a cast/call. After each retry -# attempt this timeout is multiplied by some specified multiplier. (integer -# value) -#rpc_ack_timeout_base = 15 - -# Number to multiply base ack timeout by after each retry attempt. (integer -# value) -#rpc_ack_timeout_multiplier = 2 - -# Default number of message sending attempts in case of any problems occurred: -# positive value N means at most N retries, 0 means no retries, None or -1 (or -# any other negative values) mean to retry forever. This option is used only if -# acknowledgments are enabled. (integer value) -#rpc_retry_attempts = 3 - -# List of publisher hosts SubConsumer can subscribe on. This option has higher -# priority then the default publishers list taken from the matchmaker. (list -# value) -#subscribe_on = - -# Size of executor thread pool when executor is threading or eventlet. (integer -# value) -# Deprecated group/name - [DEFAULT]/rpc_thread_pool_size -#executor_thread_pool_size = 64 - -# Seconds to wait for a response from a call. (integer value) -#rpc_response_timeout = 60 - -# A URL representing the messaging driver to use and its full configuration. -# (string value) -#transport_url = - -# DEPRECATED: The messaging driver to use, defaults to rabbit. Other drivers -# include amqp and zmq. (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#rpc_backend = rabbit - -# The default exchange under which topics are scoped. May be overridden by an -# exchange name specified in the transport_url option. (string value) -#control_exchange = keystone - - -[access_rules_config] - -# -# From keystone -# - -# Entry point for the access rules config backend driver in the -# `keystone.access_rules_config` namespace. Keystone only provides a `json` -# driver, so there is no reason to change this unless you are providing a -# custom entry point. (string value) -#driver = json - -# Toggle for access rules caching. This has no effect unless global caching is -# enabled. (boolean value) -#caching = true - -# Time to cache access rule data in seconds. This has no effect unless global -# caching is enabled. (integer value) -#cache_time = - -# Path to access rules configuration. If not present, no access rule -# configuration will be loaded and application credential access rules will be -# unavailable. (string value) -#rules_file = /etc/keystone/access_rules.json - -# Toggles permissive mode for access rules. When enabled, application -# credentials can be created with any access rules regardless of operator's -# configuration. (boolean value) -#permissive = false - - -[application_credential] - -# -# From keystone -# - -# Entry point for the application credential backend driver in the -# `keystone.application_credential` namespace. Keystone only provides a `sql` -# driver, so there is no reason to change this unless you are providing a -# custom entry point. (string value) -#driver = sql - -# Toggle for application credential caching. This has no effect unless global -# caching is enabled. (boolean value) -#caching = true - -# Time to cache application credential data in seconds. This has no effect -# unless global caching is enabled. (integer value) -#cache_time = - -# Maximum number of application credentials a user is permitted to create. A -# value of -1 means unlimited. If a limit is not set, users are permitted to -# create application credentials at will, which could lead to bloat in the -# keystone database or open keystone to a DoS attack. (integer value) -#user_limit = -1 - - -[assignment] - -# -# From keystone -# - -# Entry point for the assignment backend driver (where role assignments are -# stored) in the `keystone.assignment` namespace. Only a SQL driver is supplied -# by keystone itself. Unless you are writing proprietary drivers for keystone, -# you do not need to set this option. (string value) -#driver = sql - -# A list of role names which are prohibited from being an implied role. (list -# value) -#prohibited_implied_role = admin - - -[auth] - -# -# From keystone -# - -# Allowed authentication methods. Note: You should disable the `external` auth -# method if you are currently using federation. External auth and federation -# both use the REMOTE_USER variable. Since both the mapped and external plugin -# are being invoked to validate attributes in the request environment, it can -# cause conflicts. (list value) -#methods = external,password,token,oauth1,mapped,application_credential - -# Entry point for the password auth plugin module in the -# `keystone.auth.password` namespace. You do not need to set this unless you -# are overriding keystone's own password authentication plugin. (string value) -#password = - -# Entry point for the token auth plugin module in the `keystone.auth.token` -# namespace. You do not need to set this unless you are overriding keystone's -# own token authentication plugin. (string value) -#token = - -# Entry point for the external (`REMOTE_USER`) auth plugin module in the -# `keystone.auth.external` namespace. Supplied drivers are `DefaultDomain` and -# `Domain`. The default driver is `DefaultDomain`, which assumes that all users -# identified by the username specified to keystone in the `REMOTE_USER` -# variable exist within the context of the default domain. The `Domain` option -# expects an additional environment variable be presented to keystone, -# `REMOTE_DOMAIN`, containing the domain name of the `REMOTE_USER` (if -# `REMOTE_DOMAIN` is not set, then the default domain will be used instead). -# You do not need to set this unless you are taking advantage of "external -# authentication", where the application server (such as Apache) is handling -# authentication instead of keystone. (string value) -#external = - -# Entry point for the OAuth 1.0a auth plugin module in the -# `keystone.auth.oauth1` namespace. You do not need to set this unless you are -# overriding keystone's own `oauth1` authentication plugin. (string value) -#oauth1 = - -# Entry point for the mapped auth plugin module in the `keystone.auth.mapped` -# namespace. You do not need to set this unless you are overriding keystone's -# own `mapped` authentication plugin. (string value) -#mapped = - -# Entry point for the application_credential auth plugin module in the -# `keystone.auth.application_credential` namespace. You do not need to set this -# unless you are overriding keystone's own `application_credential` -# authentication plugin. (string value) -#application_credential = - - -[cache] - -# -# From oslo.cache -# - -# Prefix for building the configuration dictionary for the cache region. This -# should not need to be changed unless there is another dogpile.cache region -# with the same configuration name. (string value) -#config_prefix = cache.oslo - -# Default TTL, in seconds, for any cached item in the dogpile.cache region. -# This applies to any cached method that doesn't have an explicit cache -# expiration time defined for it. (integer value) -#expiration_time = 600 - -# Cache backend module. For eventlet-based or environments with hundreds of -# threaded servers, Memcache with pooling (oslo_cache.memcache_pool) is -# recommended. For environments with less than 100 threaded servers, Memcached -# (dogpile.cache.memcached) or Redis (dogpile.cache.redis) is recommended. Test -# environments with a single instance of the server can use the -# dogpile.cache.memory backend. (string value) -# Possible values: -# oslo_cache.memcache_pool - -# oslo_cache.dict - -# dogpile.cache.memcached - -# dogpile.cache.redis - -# dogpile.cache.memory - -# dogpile.cache.null - -#backend = dogpile.cache.null - -# Arguments supplied to the backend module. Specify this option once per -# argument to be passed to the dogpile.cache backend. Example format: -# ":". (multi valued) -#backend_argument = - -# Proxy classes to import that will affect the way the dogpile.cache backend -# functions. See the dogpile.cache documentation on changing-backend-behavior. -# (list value) -#proxies = - -# Global toggle for caching. (boolean value) -#enabled = true - -# Extra debugging from the cache backend (cache keys, get/set/delete/etc -# calls). This is only really useful if you need to see the specific cache- -# backend get/set/delete calls with the keys/values. Typically this should be -# left set to false. (boolean value) -#debug_cache_backend = false - -# Memcache servers in the format of "host:port". (dogpile.cache.memcache and -# oslo_cache.memcache_pool backends only). (list value) -#memcache_servers = localhost:11211 - -# Number of seconds memcached server is considered dead before it is tried -# again. (dogpile.cache.memcache and oslo_cache.memcache_pool backends only). -# (integer value) -#memcache_dead_retry = 300 - -# Timeout in seconds for every call to a server. (dogpile.cache.memcache and -# oslo_cache.memcache_pool backends only). (integer value) -#memcache_socket_timeout = 3 - -# Max total number of open connections to every memcached server. -# (oslo_cache.memcache_pool backend only). (integer value) -#memcache_pool_maxsize = 10 - -# Number of seconds a connection to memcached is held unused in the pool before -# it is closed. (oslo_cache.memcache_pool backend only). (integer value) -#memcache_pool_unused_timeout = 60 - -# Number of seconds that an operation will wait to get a memcache client -# connection. (integer value) -#memcache_pool_connection_get_timeout = 10 - - -[catalog] - -# -# From keystone -# - -# Absolute path to the file used for the templated catalog backend. This option -# is only used if the `[catalog] driver` is set to `templated`. (string value) -#template_file = default_catalog.templates - -# Entry point for the catalog driver in the `keystone.catalog` namespace. -# Keystone provides a `sql` option (which supports basic CRUD operations -# through SQL), a `templated` option (which loads the catalog from a templated -# catalog file on disk), and a `endpoint_filter.sql` option (which supports -# arbitrary service catalogs per project). (string value) -#driver = sql - -# Toggle for catalog caching. This has no effect unless global caching is -# enabled. In a typical deployment, there is no reason to disable this. -# (boolean value) -#caching = true - -# Time to cache catalog data (in seconds). This has no effect unless global and -# catalog caching are both enabled. Catalog data (services, endpoints, etc.) -# typically does not change frequently, and so a longer duration than the -# global default may be desirable. (integer value) -#cache_time = - -# Maximum number of entities that will be returned in a catalog collection. -# There is typically no reason to set this, as it would be unusual for a -# deployment to have enough services or endpoints to exceed a reasonable limit. -# (integer value) -#list_limit = - - -[cors] - -# -# From oslo.middleware -# - -# Indicate whether this resource may be shared with the domain received in the -# requests "origin" header. Format: "://[:]", no trailing -# slash. Example: https://horizon.example.com (list value) -#allowed_origin = - -# Indicate that the actual request can include user credentials (boolean value) -#allow_credentials = true - -# Indicate which headers are safe to expose to the API. Defaults to HTTP Simple -# Headers. (list value) -#expose_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,Openstack-Auth-Receipt - -# Maximum cache age of CORS preflight requests. (integer value) -#max_age = 3600 - -# Indicate which methods can be used during the actual request. (list value) -#allow_methods = GET,PUT,POST,DELETE,PATCH - -# Indicate which header field names may be used during the actual request. -# (list value) -#allow_headers = X-Auth-Token,X-Openstack-Request-Id,X-Subject-Token,X-Project-Id,X-Project-Name,X-Project-Domain-Id,X-Project-Domain-Name,X-Domain-Id,X-Domain-Name,Openstack-Auth-Receipt - - -[credential] - -# -# From keystone -# - -# Entry point for the credential backend driver in the `keystone.credential` -# namespace. Keystone only provides a `sql` driver, so there's no reason to -# change this unless you are providing a custom entry point. (string value) -#driver = sql - -# Entry point for credential encryption and decryption operations in the -# `keystone.credential.provider` namespace. Keystone only provides a `fernet` -# driver, so there's no reason to change this unless you are providing a custom -# entry point to encrypt and decrypt credentials. (string value) -#provider = fernet - -# Directory containing Fernet keys used to encrypt and decrypt credentials -# stored in the credential backend. Fernet keys used to encrypt credentials -# have no relationship to Fernet keys used to encrypt Fernet tokens. Both sets -# of keys should be managed separately and require different rotation policies. -# Do not share this repository with the repository used to manage keys for -# Fernet tokens. (string value) -#key_repository = /etc/keystone/credential-keys/ - - -[database] - -# -# From oslo.db -# - -# If True, SQLite uses synchronous mode. (boolean value) -#sqlite_synchronous = true - -# The back end to use for the database. (string value) -# Deprecated group/name - [DEFAULT]/db_backend -#backend = sqlalchemy - -# The SQLAlchemy connection string to use to connect to the database. (string -# value) -# Deprecated group/name - [DEFAULT]/sql_connection -# Deprecated group/name - [DATABASE]/sql_connection -# Deprecated group/name - [sql]/connection -#connection = - -# The SQLAlchemy connection string to use to connect to the slave database. -# (string value) -#slave_connection = - -# The SQL mode to be used for MySQL sessions. This option, including the -# default, overrides any server-set SQL mode. To use whatever SQL mode is set -# by the server configuration, set this to no value. Example: mysql_sql_mode= -# (string value) -#mysql_sql_mode = TRADITIONAL - -# If True, transparently enables support for handling MySQL Cluster (NDB). -# (boolean value) -#mysql_enable_ndb = false - -# Connections which have been present in the connection pool longer than this -# number of seconds will be replaced with a new one the next time they are -# checked out from the pool. (integer value) -# Deprecated group/name - [DATABASE]/idle_timeout -# Deprecated group/name - [database]/idle_timeout -# Deprecated group/name - [DEFAULT]/sql_idle_timeout -# Deprecated group/name - [DATABASE]/sql_idle_timeout -# Deprecated group/name - [sql]/idle_timeout -#connection_recycle_time = 3600 - -# Minimum number of SQL connections to keep open in a pool. (integer value) -# Deprecated group/name - [DEFAULT]/sql_min_pool_size -# Deprecated group/name - [DATABASE]/sql_min_pool_size -#min_pool_size = 1 - -# Maximum number of SQL connections to keep open in a pool. Setting a value of -# 0 indicates no limit. (integer value) -# Deprecated group/name - [DEFAULT]/sql_max_pool_size -# Deprecated group/name - [DATABASE]/sql_max_pool_size -#max_pool_size = 5 - -# Maximum number of database connection retries during startup. Set to -1 to -# specify an infinite retry count. (integer value) -# Deprecated group/name - [DEFAULT]/sql_max_retries -# Deprecated group/name - [DATABASE]/sql_max_retries -#max_retries = 10 - -# Interval between retries of opening a SQL connection. (integer value) -# Deprecated group/name - [DEFAULT]/sql_retry_interval -# Deprecated group/name - [DATABASE]/reconnect_interval -#retry_interval = 10 - -# If set, use this value for max_overflow with SQLAlchemy. (integer value) -# Deprecated group/name - [DEFAULT]/sql_max_overflow -# Deprecated group/name - [DATABASE]/sqlalchemy_max_overflow -#max_overflow = 50 - -# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer -# value) -# Minimum value: 0 -# Maximum value: 100 -# Deprecated group/name - [DEFAULT]/sql_connection_debug -#connection_debug = 0 - -# Add Python stack traces to SQL as comment strings. (boolean value) -# Deprecated group/name - [DEFAULT]/sql_connection_trace -#connection_trace = false - -# If set, use this value for pool_timeout with SQLAlchemy. (integer value) -# Deprecated group/name - [DATABASE]/sqlalchemy_pool_timeout -#pool_timeout = - -# Enable the experimental use of database reconnect on connection lost. -# (boolean value) -#use_db_reconnect = false - -# Seconds between retries of a database transaction. (integer value) -#db_retry_interval = 1 - -# If True, increases the interval between retries of a database operation up to -# db_max_retry_interval. (boolean value) -#db_inc_retry_interval = true - -# If db_inc_retry_interval is set, the maximum seconds between retries of a -# database operation. (integer value) -#db_max_retry_interval = 10 - -# Maximum retries in case of connection error or deadlock error before error is -# raised. Set to -1 to specify an infinite retry count. (integer value) -#db_max_retries = 20 - - -[domain_config] - -# -# From keystone -# - -# Entry point for the domain-specific configuration driver in the -# `keystone.resource.domain_config` namespace. Only a `sql` option is provided -# by keystone, so there is no reason to set this unless you are providing a -# custom entry point. (string value) -#driver = sql - -# Toggle for caching of the domain-specific configuration backend. This has no -# effect unless global caching is enabled. There is normally no reason to -# disable this. (boolean value) -#caching = true - -# Time-to-live (TTL, in seconds) to cache domain-specific configuration data. -# This has no effect unless `[domain_config] caching` is enabled. (integer -# value) -#cache_time = 300 - - -[endpoint_filter] - -# -# From keystone -# - -# Entry point for the endpoint filter driver in the `keystone.endpoint_filter` -# namespace. Only a `sql` option is provided by keystone, so there is no reason -# to set this unless you are providing a custom entry point. (string value) -#driver = sql - -# This controls keystone's behavior if the configured endpoint filters do not -# result in any endpoints for a user + project pair (and therefore a -# potentially empty service catalog). If set to true, keystone will return the -# entire service catalog. If set to false, keystone will return an empty -# service catalog. (boolean value) -#return_all_endpoints_if_no_filter = true - - -[endpoint_policy] - -# -# From keystone -# - -# Entry point for the endpoint policy driver in the `keystone.endpoint_policy` -# namespace. Only a `sql` driver is provided by keystone, so there is no reason -# to set this unless you are providing a custom entry point. (string value) -#driver = sql - - -[eventlet_server] - -# -# From keystone -# - -# DEPRECATED: The IP address of the network interface for the public service to -# listen on. (unknown value) -# Deprecated group/name - [DEFAULT]/bind_host -# Deprecated group/name - [DEFAULT]/public_bind_host -# This option is deprecated for removal since K. -# Its value may be silently ignored in the future. -# Reason: Support for running keystone under eventlet has been removed in the -# Newton release. These options remain for backwards compatibility because they -# are used for URL substitutions. -#public_bind_host = 0.0.0.0 - -# DEPRECATED: The port number for the public service to listen on. (port value) -# Minimum value: 0 -# Maximum value: 65535 -# Deprecated group/name - [DEFAULT]/public_port -# This option is deprecated for removal since K. -# Its value may be silently ignored in the future. -# Reason: Support for running keystone under eventlet has been removed in the -# Newton release. These options remain for backwards compatibility because they -# are used for URL substitutions. -#public_port = 5000 - -# DEPRECATED: The IP address of the network interface for the admin service to -# listen on. (unknown value) -# Deprecated group/name - [DEFAULT]/bind_host -# Deprecated group/name - [DEFAULT]/admin_bind_host -# This option is deprecated for removal since K. -# Its value may be silently ignored in the future. -# Reason: Support for running keystone under eventlet has been removed in the -# Newton release. These options remain for backwards compatibility because they -# are used for URL substitutions. -#admin_bind_host = 0.0.0.0 - -# DEPRECATED: The port number for the admin service to listen on. (port value) -# Minimum value: 0 -# Maximum value: 65535 -# Deprecated group/name - [DEFAULT]/admin_port -# This option is deprecated for removal since K. -# Its value may be silently ignored in the future. -# Reason: Support for running keystone under eventlet has been removed in the -# Newton release. These options remain for backwards compatibility because they -# are used for URL substitutions. -#admin_port = 35357 - - -[federation] - -# -# From keystone -# - -# Entry point for the federation backend driver in the `keystone.federation` -# namespace. Keystone only provides a `sql` driver, so there is no reason to -# set this option unless you are providing a custom entry point. (string value) -#driver = sql - -# Prefix to use when filtering environment variable names for federated -# assertions. Matched variables are passed into the federated mapping engine. -# (string value) -#assertion_prefix = - -# Value to be used to obtain the entity ID of the Identity Provider from the -# environment. For `mod_shib`, this would be `Shib-Identity-Provider`. For -# `mod_auth_openidc`, this could be `HTTP_OIDC_ISS`. For `mod_auth_mellon`, -# this could be `MELLON_IDP`. (string value) -#remote_id_attribute = - -# An arbitrary domain name that is reserved to allow federated ephemeral users -# to have a domain concept. Note that an admin will not be able to create a -# domain with this name or update an existing domain to this name. You are not -# advised to change this value unless you really have to. (string value) -#federated_domain_name = Federated - -# A list of trusted dashboard hosts. Before accepting a Single Sign-On request -# to return a token, the origin host must be a member of this list. This -# configuration option may be repeated for multiple values. You must set this -# in order to use web-based SSO flows. For example: -# trusted_dashboard=https://acme.example.com/auth/websso -# trusted_dashboard=https://beta.example.com/auth/websso (multi valued) -#trusted_dashboard = - -# Absolute path to an HTML file used as a Single Sign-On callback handler. This -# page is expected to redirect the user from keystone back to a trusted -# dashboard host, by form encoding a token in a POST request. Keystone's -# default value should be sufficient for most deployments. (string value) -#sso_callback_template = /etc/keystone/sso_callback_template.html - -# Toggle for federation caching. This has no effect unless global caching is -# enabled. There is typically no reason to disable this. (boolean value) -#caching = true - - -[fernet_receipts] - -# -# From keystone -# - -# Directory containing Fernet receipt keys. This directory must exist before -# using `keystone-manage fernet_setup` for the first time, must be writable by -# the user running `keystone-manage fernet_setup` or `keystone-manage -# fernet_rotate`, and of course must be readable by keystone's server process. -# The repository may contain keys in one of three states: a single staged key -# (always index 0) used for receipt validation, a single primary key (always -# the highest index) used for receipt creation and validation, and any number -# of secondary keys (all other index values) used for receipt validation. With -# multiple keystone nodes, each node must share the same key repository -# contents, with the exception of the staged key (index 0). It is safe to run -# `keystone-manage fernet_rotate` once on any one node to promote a staged key -# (index 0) to be the new primary (incremented from the previous highest -# index), and produce a new staged key (a new key with index 0); the resulting -# repository can then be atomically replicated to other nodes without any risk -# of race conditions (for example, it is safe to run `keystone-manage -# fernet_rotate` on host A, wait any amount of time, create a tarball of the -# directory on host A, unpack it on host B to a temporary location, and -# atomically move (`mv`) the directory into place on host B). Running -# `keystone-manage fernet_rotate` *twice* on a key repository without syncing -# other nodes will result in receipts that can not be validated by all nodes. -# (string value) -#key_repository = /etc/keystone/fernet-keys/ - -# This controls how many keys are held in rotation by `keystone-manage -# fernet_rotate` before they are discarded. The default value of 3 means that -# keystone will maintain one staged key (always index 0), one primary key (the -# highest numerical index), and one secondary key (every other index). -# Increasing this value means that additional secondary keys will be kept in -# the rotation. (integer value) -# Minimum value: 1 -#max_active_keys = 3 - - -[fernet_tokens] - -# -# From keystone -# - -# Directory containing Fernet token keys. This directory must exist before -# using `keystone-manage fernet_setup` for the first time, must be writable by -# the user running `keystone-manage fernet_setup` or `keystone-manage -# fernet_rotate`, and of course must be readable by keystone's server process. -# The repository may contain keys in one of three states: a single staged key -# (always index 0) used for token validation, a single primary key (always the -# highest index) used for token creation and validation, and any number of -# secondary keys (all other index values) used for token validation. With -# multiple keystone nodes, each node must share the same key repository -# contents, with the exception of the staged key (index 0). It is safe to run -# `keystone-manage fernet_rotate` once on any one node to promote a staged key -# (index 0) to be the new primary (incremented from the previous highest -# index), and produce a new staged key (a new key with index 0); the resulting -# repository can then be atomically replicated to other nodes without any risk -# of race conditions (for example, it is safe to run `keystone-manage -# fernet_rotate` on host A, wait any amount of time, create a tarball of the -# directory on host A, unpack it on host B to a temporary location, and -# atomically move (`mv`) the directory into place on host B). Running -# `keystone-manage fernet_rotate` *twice* on a key repository without syncing -# other nodes will result in tokens that can not be validated by all nodes. -# (string value) -#key_repository = /etc/keystone/fernet-keys/ - -# This controls how many keys are held in rotation by `keystone-manage -# fernet_rotate` before they are discarded. The default value of 3 means that -# keystone will maintain one staged key (always index 0), one primary key (the -# highest numerical index), and one secondary key (every other index). -# Increasing this value means that additional secondary keys will be kept in -# the rotation. (integer value) -# Minimum value: 1 -#max_active_keys = 3 - - -[healthcheck] - -# -# From oslo.middleware -# - -# DEPRECATED: The path to respond to healtcheck requests on. (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -#path = /healthcheck - -# Show more detailed information as part of the response (boolean value) -#detailed = false - -# Additional backends that can perform health checks and report that -# information back as part of a request. (list value) -#backends = - -# Check the presence of a file to determine if an application is running on a -# port. Used by DisableByFileHealthcheck plugin. (string value) -#disable_by_file_path = - -# Check the presence of a file based on a port to determine if an application -# is running on a port. Expects a "port:path" list of strings. Used by -# DisableByFilesPortsHealthcheck plugin. (list value) -#disable_by_file_paths = - - -[identity] - -# -# From keystone -# - -# This references the domain to use for all Identity API v2 requests (which are -# not aware of domains). A domain with this ID can optionally be created for -# you by `keystone-manage bootstrap`. The domain referenced by this ID cannot -# be deleted on the v3 API, to prevent accidentally breaking the v2 API. There -# is nothing special about this domain, other than the fact that it must exist -# to order to maintain support for your v2 clients. There is typically no -# reason to change this value. (string value) -#default_domain_id = default - -# A subset (or all) of domains can have their own identity driver, each with -# their own partial configuration options, stored in either the resource -# backend or in a file in a domain configuration directory (depending on the -# setting of `[identity] domain_configurations_from_database`). Only values -# specific to the domain need to be specified in this manner. This feature is -# disabled by default, but may be enabled by default in a future release; set -# to true to enable. (boolean value) -#domain_specific_drivers_enabled = false - -# By default, domain-specific configuration data is read from files in the -# directory identified by `[identity] domain_config_dir`. Enabling this -# configuration option allows you to instead manage domain-specific -# configurations through the API, which are then persisted in the backend -# (typically, a SQL database), rather than using configuration files on disk. -# (boolean value) -#domain_configurations_from_database = false - -# Absolute path where keystone should locate domain-specific `[identity]` -# configuration files. This option has no effect unless `[identity] -# domain_specific_drivers_enabled` is set to true. There is typically no reason -# to change this value. (string value) -#domain_config_dir = /etc/keystone/domains - -# Entry point for the identity backend driver in the `keystone.identity` -# namespace. Keystone provides a `sql` and `ldap` driver. This option is also -# used as the default driver selection (along with the other configuration -# variables in this section) in the event that `[identity] -# domain_specific_drivers_enabled` is enabled, but no applicable domain- -# specific configuration is defined for the domain in question. Unless your -# deployment primarily relies on `ldap` AND is not using domain-specific -# configuration, you should typically leave this set to `sql`. (string value) -#driver = sql - -# Toggle for identity caching. This has no effect unless global caching is -# enabled. There is typically no reason to disable this. (boolean value) -#caching = true - -# Time to cache identity data (in seconds). This has no effect unless global -# and identity caching are enabled. (integer value) -#cache_time = 600 - -# Maximum allowed length for user passwords. Decrease this value to improve -# performance. Changing this value does not effect existing passwords. (integer -# value) -# Maximum value: 4096 -#max_password_length = 4096 - -# Maximum number of entities that will be returned in an identity collection. -# (integer value) -#list_limit = - -# The password hashing algorithm to use for passwords stored within keystone. -# (string value) -# Possible values: -# bcrypt - -# scrypt - -# pbkdf2_sha512 - -#password_hash_algorithm = bcrypt - -# This option represents a trade off between security and performance. Higher -# values lead to slower performance, but higher security. Changing this option -# will only affect newly created passwords as existing password hashes already -# have a fixed number of rounds applied, so it is safe to tune this option in a -# running cluster. The default for bcrypt is 12, must be between 4 and 31, -# inclusive. The default for scrypt is 16, must be within `range(1,32)`. The -# default for pbkdf_sha512 is 60000, must be within `range(1,1<<32)` WARNING: -# If using scrypt, increasing this value increases BOTH time AND memory -# requirements to hash a password. (integer value) -#password_hash_rounds = - -# Optional block size to pass to scrypt hash function (the `r` parameter). -# Useful for tuning scrypt to optimal performance for your CPU architecture. -# This option is only used when the `password_hash_algorithm` option is set to -# `scrypt`. Defaults to 8. (integer value) -#scrypt_block_size = - -# Optional parallelism to pass to scrypt hash function (the `p` parameter). -# This option is only used when the `password_hash_algorithm` option is set to -# `scrypt`. Defaults to 1. (integer value) -#scrypt_parallelism = - -# Number of bytes to use in scrypt and pbkfd2_sha512 hashing salt. Default for -# scrypt is 16 bytes. Default for pbkfd2_sha512 is 16 bytes. Limited to a -# maximum of 96 bytes due to the size of the column used to store password -# hashes. (integer value) -# Minimum value: 0 -# Maximum value: 96 -#salt_bytesize = - - -[identity_mapping] - -# -# From keystone -# - -# Entry point for the identity mapping backend driver in the -# `keystone.identity.id_mapping` namespace. Keystone only provides a `sql` -# driver, so there is no reason to change this unless you are providing a -# custom entry point. (string value) -#driver = sql - -# Entry point for the public ID generator for user and group entities in the -# `keystone.identity.id_generator` namespace. The Keystone identity mapper only -# supports generators that produce 64 bytes or less. Keystone only provides a -# `sha256` entry point, so there is no reason to change this value unless -# you're providing a custom entry point. (string value) -#generator = sha256 - -# The format of user and group IDs changed in Juno for backends that do not -# generate UUIDs (for example, LDAP), with keystone providing a hash mapping to -# the underlying attribute in LDAP. By default this mapping is disabled, which -# ensures that existing IDs will not change. Even when the mapping is enabled -# by using domain-specific drivers (`[identity] -# domain_specific_drivers_enabled`), any users and groups from the default -# domain being handled by LDAP will still not be mapped to ensure their IDs -# remain backward compatible. Setting this value to false will enable the new -# mapping for all backends, including the default LDAP driver. It is only -# guaranteed to be safe to enable this option if you do not already have -# assignments for users and groups from the default LDAP domain, and you -# consider it to be acceptable for Keystone to provide the different IDs to -# clients than it did previously (existing IDs in the API will suddenly -# change). Typically this means that the only time you can set this value to -# false is when configuring a fresh installation, although that is the -# recommended value. (boolean value) -#backward_compatible_ids = true - - -[jwt_tokens] - -# -# From keystone -# - -# Directory containing public keys for validating JWS token signatures. This -# directory must exist in order for keystone's server process to start. It must -# also be readable by keystone's server process. It must contain at least one -# public key that corresponds to a private key in `keystone.conf [jwt_tokens] -# jws_private_key_repository`. This option is only applicable in deployments -# issuing JWS tokens and setting `keystone.conf [tokens] provider = jws`. -# (string value) -#jws_public_key_repository = /etc/keystone/jws-keys/public - -# Directory containing private keys for signing JWS tokens. This directory must -# exist in order for keystone's server process to start. It must also be -# readable by keystone's server process. It must contain at least one private -# key that corresponds to a public key in `keystone.conf [jwt_tokens] -# jws_public_key_repository`. In the event there are multiple private keys in -# this directory, keystone will use a key named `private.pem` to sign tokens. -# In the future, keystone may support the ability to sign tokens with multiple -# private keys. For now, only a key named `private.pem` within this directory -# is required to issue JWS tokens. This option is only applicable in -# deployments issuing JWS tokens and setting `keystone.conf [tokens] provider = -# jws`. (string value) -#jws_private_key_repository = /etc/keystone/jws-keys/private - - -[ldap] - -# -# From keystone -# - -# URL(s) for connecting to the LDAP server. Multiple LDAP URLs may be specified -# as a comma separated string. The first URL to successfully bind is used for -# the connection. (string value) -#url = ldap://localhost - -# The user name of the administrator bind DN to use when querying the LDAP -# server, if your LDAP server requires it. (string value) -#user = - -# The password of the administrator bind DN to use when querying the LDAP -# server, if your LDAP server requires it. (string value) -#password = - -# The default LDAP server suffix to use, if a DN is not defined via either -# `[ldap] user_tree_dn` or `[ldap] group_tree_dn`. (string value) -#suffix = cn=example,cn=com - -# The search scope which defines how deep to search within the search base. A -# value of `one` (representing `oneLevel` or `singleLevel`) indicates a search -# of objects immediately below to the base object, but does not include the -# base object itself. A value of `sub` (representing `subtree` or -# `wholeSubtree`) indicates a search of both the base object itself and the -# entire subtree below it. (string value) -# Possible values: -# one - -# sub - -#query_scope = one - -# Defines the maximum number of results per page that keystone should request -# from the LDAP server when listing objects. A value of zero (`0`) disables -# paging. (integer value) -# Minimum value: 0 -#page_size = 0 - -# The LDAP dereferencing option to use for queries involving aliases. A value -# of `default` falls back to using default dereferencing behavior configured by -# your `ldap.conf`. A value of `never` prevents aliases from being dereferenced -# at all. A value of `searching` dereferences aliases only after name -# resolution. A value of `finding` dereferences aliases only during name -# resolution. A value of `always` dereferences aliases in all cases. (string -# value) -# Possible values: -# never - -# searching - -# always - -# finding - -# default - -#alias_dereferencing = default - -# Sets the LDAP debugging level for LDAP calls. A value of 0 means that -# debugging is not enabled. This value is a bitmask, consult your LDAP -# documentation for possible values. (integer value) -# Minimum value: -1 -#debug_level = - -# Sets keystone's referral chasing behavior across directory partitions. If -# left unset, the system's default behavior will be used. (boolean value) -#chase_referrals = - -# The search base to use for users. Defaults to the `[ldap] suffix` value. -# (string value) -#user_tree_dn = - -# The LDAP search filter to use for users. (string value) -#user_filter = - -# The LDAP object class to use for users. (string value) -#user_objectclass = inetOrgPerson - -# The LDAP attribute mapped to user IDs in keystone. This must NOT be a -# multivalued attribute. User IDs are expected to be globally unique across -# keystone domains and URL-safe. (string value) -#user_id_attribute = cn - -# The LDAP attribute mapped to user names in keystone. User names are expected -# to be unique only within a keystone domain and are not expected to be URL- -# safe. (string value) -#user_name_attribute = sn - -# The LDAP attribute mapped to user descriptions in keystone. (string value) -#user_description_attribute = description - -# The LDAP attribute mapped to user emails in keystone. (string value) -#user_mail_attribute = mail - -# The LDAP attribute mapped to user passwords in keystone. (string value) -#user_pass_attribute = userPassword - -# The LDAP attribute mapped to the user enabled attribute in keystone. If -# setting this option to `userAccountControl`, then you may be interested in -# setting `[ldap] user_enabled_mask` and `[ldap] user_enabled_default` as well. -# (string value) -#user_enabled_attribute = enabled - -# Logically negate the boolean value of the enabled attribute obtained from the -# LDAP server. Some LDAP servers use a boolean lock attribute where "true" -# means an account is disabled. Setting `[ldap] user_enabled_invert = true` -# will allow these lock attributes to be used. This option will have no effect -# if either the `[ldap] user_enabled_mask` or `[ldap] user_enabled_emulation` -# options are in use. (boolean value) -#user_enabled_invert = false - -# Bitmask integer to select which bit indicates the enabled value if the LDAP -# server represents "enabled" as a bit on an integer rather than as a discrete -# boolean. A value of `0` indicates that the mask is not used. If this is not -# set to `0` the typical value is `2`. This is typically used when `[ldap] -# user_enabled_attribute = userAccountControl`. Setting this option causes -# keystone to ignore the value of `[ldap] user_enabled_invert`. (integer value) -# Minimum value: 0 -#user_enabled_mask = 0 - -# The default value to enable users. This should match an appropriate integer -# value if the LDAP server uses non-boolean (bitmask) values to indicate if a -# user is enabled or disabled. If this is not set to `True`, then the typical -# value is `512`. This is typically used when `[ldap] user_enabled_attribute = -# userAccountControl`. (string value) -#user_enabled_default = True - -# List of user attributes to ignore on create and update, or whether a specific -# user attribute should be filtered for list or show user. (list value) -#user_attribute_ignore = default_project_id - -# The LDAP attribute mapped to a user's default_project_id in keystone. This is -# most commonly used when keystone has write access to LDAP. (string value) -#user_default_project_id_attribute = - -# If enabled, keystone uses an alternative method to determine if a user is -# enabled or not by checking if they are a member of the group defined by the -# `[ldap] user_enabled_emulation_dn` option. Enabling this option causes -# keystone to ignore the value of `[ldap] user_enabled_invert`. (boolean value) -#user_enabled_emulation = false - -# DN of the group entry to hold enabled users when using enabled emulation. -# Setting this option has no effect unless `[ldap] user_enabled_emulation` is -# also enabled. (string value) -#user_enabled_emulation_dn = - -# Use the `[ldap] group_member_attribute` and `[ldap] group_objectclass` -# settings to determine membership in the emulated enabled group. Enabling this -# option has no effect unless `[ldap] user_enabled_emulation` is also enabled. -# (boolean value) -#user_enabled_emulation_use_group_config = false - -# A list of LDAP attribute to keystone user attribute pairs used for mapping -# additional attributes to users in keystone. The expected format is -# `:`, where `ldap_attr` is the attribute in the LDAP -# object and `user_attr` is the attribute which should appear in the identity -# API. (list value) -#user_additional_attribute_mapping = - -# The search base to use for groups. Defaults to the `[ldap] suffix` value. -# (string value) -#group_tree_dn = - -# The LDAP search filter to use for groups. (string value) -#group_filter = - -# The LDAP object class to use for groups. If setting this option to -# `posixGroup`, you may also be interested in enabling the `[ldap] -# group_members_are_ids` option. (string value) -#group_objectclass = groupOfNames - -# The LDAP attribute mapped to group IDs in keystone. This must NOT be a -# multivalued attribute. Group IDs are expected to be globally unique across -# keystone domains and URL-safe. (string value) -#group_id_attribute = cn - -# The LDAP attribute mapped to group names in keystone. Group names are -# expected to be unique only within a keystone domain and are not expected to -# be URL-safe. (string value) -#group_name_attribute = ou - -# The LDAP attribute used to indicate that a user is a member of the group. -# (string value) -#group_member_attribute = member - -# Enable this option if the members of the group object class are keystone user -# IDs rather than LDAP DNs. This is the case when using `posixGroup` as the -# group object class in Open Directory. (boolean value) -#group_members_are_ids = false - -# The LDAP attribute mapped to group descriptions in keystone. (string value) -#group_desc_attribute = description - -# List of group attributes to ignore on create and update. or whether a -# specific group attribute should be filtered for list or show group. (list -# value) -#group_attribute_ignore = - -# A list of LDAP attribute to keystone group attribute pairs used for mapping -# additional attributes to groups in keystone. The expected format is -# `:`, where `ldap_attr` is the attribute in the LDAP -# object and `group_attr` is the attribute which should appear in the identity -# API. (list value) -#group_additional_attribute_mapping = - -# If enabled, group queries will use Active Directory specific filters for -# nested groups. (boolean value) -#group_ad_nesting = false - -# An absolute path to a CA certificate file to use when communicating with LDAP -# servers. This option will take precedence over `[ldap] tls_cacertdir`, so -# there is no reason to set both. (string value) -#tls_cacertfile = - -# An absolute path to a CA certificate directory to use when communicating with -# LDAP servers. There is no reason to set this option if you've also set -# `[ldap] tls_cacertfile`. (string value) -#tls_cacertdir = - -# Enable TLS when communicating with LDAP servers. You should also set the -# `[ldap] tls_cacertfile` and `[ldap] tls_cacertdir` options when using this -# option. Do not set this option if you are using LDAP over SSL (LDAPS) instead -# of TLS. (boolean value) -#use_tls = false - -# Specifies which checks to perform against client certificates on incoming TLS -# sessions. If set to `demand`, then a certificate will always be requested and -# required from the LDAP server. If set to `allow`, then a certificate will -# always be requested but not required from the LDAP server. If set to `never`, -# then a certificate will never be requested. (string value) -# Possible values: -# demand - -# never - -# allow - -#tls_req_cert = demand - -# The connection timeout to use with the LDAP server. A value of `-1` means -# that connections will never timeout. (integer value) -# Minimum value: -1 -#connection_timeout = -1 - -# Enable LDAP connection pooling for queries to the LDAP server. There is -# typically no reason to disable this. (boolean value) -#use_pool = true - -# The size of the LDAP connection pool. This option has no effect unless -# `[ldap] use_pool` is also enabled. (integer value) -# Minimum value: 1 -#pool_size = 10 - -# The maximum number of times to attempt reconnecting to the LDAP server before -# aborting. A value of zero prevents retries. This option has no effect unless -# `[ldap] use_pool` is also enabled. (integer value) -# Minimum value: 0 -#pool_retry_max = 3 - -# The number of seconds to wait before attempting to reconnect to the LDAP -# server. This option has no effect unless `[ldap] use_pool` is also enabled. -# (floating point value) -#pool_retry_delay = 0.1 - -# The connection timeout to use when pooling LDAP connections. A value of `-1` -# means that connections will never timeout. This option has no effect unless -# `[ldap] use_pool` is also enabled. (integer value) -# Minimum value: -1 -#pool_connection_timeout = -1 - -# The maximum connection lifetime to the LDAP server in seconds. When this -# lifetime is exceeded, the connection will be unbound and removed from the -# connection pool. This option has no effect unless `[ldap] use_pool` is also -# enabled. (integer value) -# Minimum value: 1 -#pool_connection_lifetime = 600 - -# Enable LDAP connection pooling for end user authentication. There is -# typically no reason to disable this. (boolean value) -#use_auth_pool = true - -# The size of the connection pool to use for end user authentication. This -# option has no effect unless `[ldap] use_auth_pool` is also enabled. (integer -# value) -# Minimum value: 1 -#auth_pool_size = 100 - -# The maximum end user authentication connection lifetime to the LDAP server in -# seconds. When this lifetime is exceeded, the connection will be unbound and -# removed from the connection pool. This option has no effect unless `[ldap] -# use_auth_pool` is also enabled. (integer value) -# Minimum value: 1 -#auth_pool_connection_lifetime = 60 - - -[matchmaker_redis] - -# -# From oslo.messaging -# - -# DEPRECATED: Host to locate redis. (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#host = 127.0.0.1 - -# DEPRECATED: Use this port to connect to redis host. (port value) -# Minimum value: 0 -# Maximum value: 65535 -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#port = 6379 - -# DEPRECATED: Password for Redis server (optional). (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#password = - -# DEPRECATED: List of Redis Sentinel hosts (fault tolerance mode), e.g., -# [host:port, host1:port ... ] (list value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#sentinel_hosts = - -# Redis replica set name. (string value) -#sentinel_group_name = oslo-messaging-zeromq - -# Time in ms to wait between connection attempts. (integer value) -#wait_timeout = 2000 - -# Time in ms to wait before the transaction is killed. (integer value) -#check_timeout = 20000 - -# Timeout in ms on blocking socket operations. (integer value) -#socket_timeout = 10000 - - -[memcache] - -# -# From keystone -# - -# Number of seconds memcached server is considered dead before it is tried -# again. This is used by the key value store system. (integer value) -#dead_retry = 300 - -# Timeout in seconds for every call to a server. This is used by the key value -# store system. (integer value) -#socket_timeout = 3 - -# Max total number of open connections to every memcached server. This is used -# by the key value store system. (integer value) -#pool_maxsize = 10 - -# Number of seconds a connection to memcached is held unused in the pool before -# it is closed. This is used by the key value store system. (integer value) -#pool_unused_timeout = 60 - -# Number of seconds that an operation will wait to get a memcache client -# connection. This is used by the key value store system. (integer value) -#pool_connection_get_timeout = 10 - - -[oauth1] - -# -# From keystone -# - -# Entry point for the OAuth backend driver in the `keystone.oauth1` namespace. -# Typically, there is no reason to set this option unless you are providing a -# custom entry point. (string value) -#driver = sql - -# Number of seconds for the OAuth Request Token to remain valid after being -# created. This is the amount of time the user has to authorize the token. -# Setting this option to zero means that request tokens will last forever. -# (integer value) -# Minimum value: 0 -#request_token_duration = 28800 - -# Number of seconds for the OAuth Access Token to remain valid after being -# created. This is the amount of time the consumer has to interact with the -# service provider (which is typically keystone). Setting this option to zero -# means that access tokens will last forever. (integer value) -# Minimum value: 0 -#access_token_duration = 86400 - - -[oslo_messaging_amqp] - -# -# From oslo.messaging -# - -# Name for the AMQP container. must be globally unique. Defaults to a generated -# UUID (string value) -#container_name = - -# Timeout for inactive connections (in seconds) (integer value) -#idle_timeout = 0 - -# Debug: dump AMQP frames to stdout (boolean value) -#trace = false - -# Attempt to connect via SSL. If no other ssl-related parameters are given, it -# will use the system's CA-bundle to verify the server's certificate. (boolean -# value) -#ssl = false - -# CA certificate PEM file used to verify the server's certificate (string -# value) -#ssl_ca_file = - -# Self-identifying certificate PEM file for client authentication (string -# value) -#ssl_cert_file = - -# Private key PEM file used to sign ssl_cert_file certificate (optional) -# (string value) -#ssl_key_file = - -# Password for decrypting ssl_key_file (if encrypted) (string value) -#ssl_key_password = - -# By default SSL checks that the name in the server's certificate matches the -# hostname in the transport_url. In some configurations it may be preferable to -# use the virtual hostname instead, for example if the server uses the Server -# Name Indication TLS extension (rfc6066) to provide a certificate per virtual -# host. Set ssl_verify_vhost to True if the server's SSL certificate uses the -# virtual host name instead of the DNS name. (boolean value) -#ssl_verify_vhost = false - -# DEPRECATED: Accept clients using either SSL or plain TCP (boolean value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Not applicable - not a SSL server -#allow_insecure_clients = false - -# Space separated list of acceptable SASL mechanisms (string value) -#sasl_mechanisms = - -# Path to directory that contains the SASL configuration (string value) -#sasl_config_dir = - -# Name of configuration file (without .conf suffix) (string value) -#sasl_config_name = - -# SASL realm to use if no realm present in username (string value) -#sasl_default_realm = - -# DEPRECATED: User name for message broker authentication (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Should use configuration option transport_url to provide the -# username. -#username = - -# DEPRECATED: Password for message broker authentication (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Should use configuration option transport_url to provide the -# password. -#password = - -# Seconds to pause before attempting to re-connect. (integer value) -# Minimum value: 1 -#connection_retry_interval = 1 - -# Increase the connection_retry_interval by this many seconds after each -# unsuccessful failover attempt. (integer value) -# Minimum value: 0 -#connection_retry_backoff = 2 - -# Maximum limit for connection_retry_interval + connection_retry_backoff -# (integer value) -# Minimum value: 1 -#connection_retry_interval_max = 30 - -# Time to pause between re-connecting an AMQP 1.0 link that failed due to a -# recoverable error. (integer value) -# Minimum value: 1 -#link_retry_delay = 10 - -# The maximum number of attempts to re-send a reply message which failed due to -# a recoverable error. (integer value) -# Minimum value: -1 -#default_reply_retry = 0 - -# The deadline for an rpc reply message delivery. (integer value) -# Minimum value: 5 -#default_reply_timeout = 30 - -# The deadline for an rpc cast or call message delivery. Only used when caller -# does not provide a timeout expiry. (integer value) -# Minimum value: 5 -#default_send_timeout = 30 - -# The deadline for a sent notification message delivery. Only used when caller -# does not provide a timeout expiry. (integer value) -# Minimum value: 5 -#default_notify_timeout = 30 - -# The duration to schedule a purge of idle sender links. Detach link after -# expiry. (integer value) -# Minimum value: 1 -#default_sender_link_timeout = 600 - -# Indicates the addressing mode used by the driver. -# Permitted values: -# 'legacy' - use legacy non-routable addressing -# 'routable' - use routable addresses -# 'dynamic' - use legacy addresses if the message bus does not support routing -# otherwise use routable addressing (string value) -#addressing_mode = dynamic - -# Enable virtual host support for those message buses that do not natively -# support virtual hosting (such as qpidd). When set to true the virtual host -# name will be added to all message bus addresses, effectively creating a -# private 'subnet' per virtual host. Set to False if the message bus supports -# virtual hosting using the 'hostname' field in the AMQP 1.0 Open performative -# as the name of the virtual host. (boolean value) -#pseudo_vhost = true - -# address prefix used when sending to a specific server (string value) -#server_request_prefix = exclusive - -# address prefix used when broadcasting to all servers (string value) -#broadcast_prefix = broadcast - -# address prefix when sending to any server in group (string value) -#group_request_prefix = unicast - -# Address prefix for all generated RPC addresses (string value) -#rpc_address_prefix = openstack.org/om/rpc - -# Address prefix for all generated Notification addresses (string value) -#notify_address_prefix = openstack.org/om/notify - -# Appended to the address prefix when sending a fanout message. Used by the -# message bus to identify fanout messages. (string value) -#multicast_address = multicast - -# Appended to the address prefix when sending to a particular RPC/Notification -# server. Used by the message bus to identify messages sent to a single -# destination. (string value) -#unicast_address = unicast - -# Appended to the address prefix when sending to a group of consumers. Used by -# the message bus to identify messages that should be delivered in a round- -# robin fashion across consumers. (string value) -#anycast_address = anycast - -# Exchange name used in notification addresses. -# Exchange name resolution precedence: -# Target.exchange if set -# else default_notification_exchange if set -# else control_exchange if set -# else 'notify' (string value) -#default_notification_exchange = - -# Exchange name used in RPC addresses. -# Exchange name resolution precedence: -# Target.exchange if set -# else default_rpc_exchange if set -# else control_exchange if set -# else 'rpc' (string value) -#default_rpc_exchange = - -# Window size for incoming RPC Reply messages. (integer value) -# Minimum value: 1 -#reply_link_credit = 200 - -# Window size for incoming RPC Request messages (integer value) -# Minimum value: 1 -#rpc_server_credit = 100 - -# Window size for incoming Notification messages (integer value) -# Minimum value: 1 -#notify_server_credit = 100 - -# Send messages of this type pre-settled. -# Pre-settled messages will not receive acknowledgement -# from the peer. Note well: pre-settled messages may be -# silently discarded if the delivery fails. -# Permitted values: -# 'rpc-call' - send RPC Calls pre-settled -# 'rpc-reply'- send RPC Replies pre-settled -# 'rpc-cast' - Send RPC Casts pre-settled -# 'notify' - Send Notifications pre-settled -# (multi valued) -#pre_settled = rpc-cast -#pre_settled = rpc-reply - - -[oslo_messaging_kafka] - -# -# From oslo.messaging -# - -# DEPRECATED: Default Kafka broker Host (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#kafka_default_host = localhost - -# DEPRECATED: Default Kafka broker Port (port value) -# Minimum value: 0 -# Maximum value: 65535 -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#kafka_default_port = 9092 - -# Max fetch bytes of Kafka consumer (integer value) -#kafka_max_fetch_bytes = 1048576 - -# Default timeout(s) for Kafka consumers (floating point value) -#kafka_consumer_timeout = 1.0 - -# Pool Size for Kafka Consumers (integer value) -#pool_size = 10 - -# The pool size limit for connections expiration policy (integer value) -#conn_pool_min_size = 2 - -# The time-to-live in sec of idle connections in the pool (integer value) -#conn_pool_ttl = 1200 - -# Group id for Kafka consumer. Consumers in one group will coordinate message -# consumption (string value) -#consumer_group = oslo_messaging_consumer - -# Upper bound on the delay for KafkaProducer batching in seconds (floating -# point value) -#producer_batch_timeout = 0.0 - -# Size of batch for the producer async send (integer value) -#producer_batch_size = 16384 - - -[oslo_messaging_notifications] - -# -# From oslo.messaging -# - -# The Drivers(s) to handle sending notifications. Possible values are -# messaging, messagingv2, routing, log, test, noop (multi valued) -# Deprecated group/name - [DEFAULT]/notification_driver -#driver = - -# A URL representing the messaging driver to use for notifications. If not set, -# we fall back to the same configuration used for RPC. (string value) -# Deprecated group/name - [DEFAULT]/notification_transport_url -#transport_url = - -# AMQP topic used for OpenStack notifications. (list value) -# Deprecated group/name - [rpc_notifier2]/topics -# Deprecated group/name - [DEFAULT]/notification_topics -#topics = notifications - -# The maximum number of attempts to re-send a notification message which failed -# to be delivered due to a recoverable error. 0 - No retry, -1 - indefinite -# (integer value) -#retry = -1 - - -[oslo_messaging_rabbit] - -# -# From oslo.messaging -# - -# Use durable queues in AMQP. (boolean value) -# Deprecated group/name - [DEFAULT]/amqp_durable_queues -# Deprecated group/name - [DEFAULT]/rabbit_durable_queues -#amqp_durable_queues = false - -# Auto-delete queues in AMQP. (boolean value) -#amqp_auto_delete = false - -# Enable SSL (boolean value) -#ssl = - -# SSL version to use (valid only if SSL enabled). Valid values are TLSv1 and -# SSLv23. SSLv2, SSLv3, TLSv1_1, and TLSv1_2 may be available on some -# distributions. (string value) -# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_version -#ssl_version = - -# SSL key file (valid only if SSL enabled). (string value) -# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_keyfile -#ssl_key_file = - -# SSL cert file (valid only if SSL enabled). (string value) -# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_certfile -#ssl_cert_file = - -# SSL certification authority file (valid only if SSL enabled). (string value) -# Deprecated group/name - [oslo_messaging_rabbit]/kombu_ssl_ca_certs -#ssl_ca_file = - -# How long to wait before reconnecting in response to an AMQP consumer cancel -# notification. (floating point value) -#kombu_reconnect_delay = 1.0 - -# EXPERIMENTAL: Possible values are: gzip, bz2. If not set compression will not -# be used. This option may not be available in future versions. (string value) -#kombu_compression = - -# How long to wait a missing client before abandoning to send it its replies. -# This value should not be longer than rpc_response_timeout. (integer value) -# Deprecated group/name - [oslo_messaging_rabbit]/kombu_reconnect_timeout -#kombu_missing_consumer_retry_timeout = 60 - -# Determines how the next RabbitMQ node is chosen in case the one we are -# currently connected to becomes unavailable. Takes effect only if more than -# one RabbitMQ node is provided in config. (string value) -# Possible values: -# round-robin - -# shuffle - -#kombu_failover_strategy = round-robin - -# DEPRECATED: The RabbitMQ broker address where a single node is used. (string -# value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#rabbit_host = localhost - -# DEPRECATED: The RabbitMQ broker port where a single node is used. (port -# value) -# Minimum value: 0 -# Maximum value: 65535 -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#rabbit_port = 5672 - -# DEPRECATED: RabbitMQ HA cluster host:port pairs. (list value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#rabbit_hosts = $rabbit_host:$rabbit_port - -# DEPRECATED: The RabbitMQ userid. (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#rabbit_userid = guest - -# DEPRECATED: The RabbitMQ password. (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#rabbit_password = guest - -# The RabbitMQ login method. (string value) -# Possible values: -# PLAIN - -# AMQPLAIN - -# RABBIT-CR-DEMO - -#rabbit_login_method = AMQPLAIN - -# DEPRECATED: The RabbitMQ virtual host. (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -# Reason: Replaced by [DEFAULT]/transport_url -#rabbit_virtual_host = / - -# How frequently to retry connecting with RabbitMQ. (integer value) -#rabbit_retry_interval = 1 - -# How long to backoff for between retries when connecting to RabbitMQ. (integer -# value) -#rabbit_retry_backoff = 2 - -# Maximum interval of RabbitMQ connection retries. Default is 30 seconds. -# (integer value) -#rabbit_interval_max = 30 - -# DEPRECATED: Maximum number of RabbitMQ connection retries. Default is 0 -# (infinite retry count). (integer value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -#rabbit_max_retries = 0 - -# Try to use HA queues in RabbitMQ (x-ha-policy: all). If you change this -# option, you must wipe the RabbitMQ database. In RabbitMQ 3.0, queue mirroring -# is no longer controlled by the x-ha-policy argument when declaring a queue. -# If you just want to make sure that all queues (except those with auto- -# generated names) are mirrored across all nodes, run: "rabbitmqctl set_policy -# HA '^(?!amq\.).*' '{"ha-mode": "all"}' " (boolean value) -#rabbit_ha_queues = false - -# Positive integer representing duration in seconds for queue TTL (x-expires). -# Queues which are unused for the duration of the TTL are automatically -# deleted. The parameter affects only reply and fanout queues. (integer value) -# Minimum value: 1 -#rabbit_transient_queues_ttl = 1800 - -# Specifies the number of messages to prefetch. Setting to zero allows -# unlimited messages. (integer value) -#rabbit_qos_prefetch_count = 0 - -# Number of seconds after which the Rabbit broker is considered down if -# heartbeat's keep-alive fails (0 disable the heartbeat). EXPERIMENTAL (integer -# value) -#heartbeat_timeout_threshold = 60 - -# How often times during the heartbeat_timeout_threshold we check the -# heartbeat. (integer value) -#heartbeat_rate = 2 - -# Deprecated, use rpc_backend=kombu+memory or rpc_backend=fake (boolean value) -#fake_rabbit = false - -# Maximum number of channels to allow (integer value) -#channel_max = - -# The maximum byte size for an AMQP frame (integer value) -#frame_max = - -# How often to send heartbeats for consumer's connections (integer value) -#heartbeat_interval = 3 - -# Arguments passed to ssl.wrap_socket (dict value) -#ssl_options = - -# Set socket timeout in seconds for connection's socket (floating point value) -#socket_timeout = 0.25 - -# Set TCP_USER_TIMEOUT in seconds for connection's socket (floating point -# value) -#tcp_user_timeout = 0.25 - -# Set delay for reconnection to some host which has connection error (floating -# point value) -#host_connection_reconnect_delay = 0.25 - -# Connection factory implementation (string value) -# Possible values: -# new - -# single - -# read_write - -#connection_factory = single - -# Maximum number of connections to keep queued. (integer value) -#pool_max_size = 30 - -# Maximum number of connections to create above `pool_max_size`. (integer -# value) -#pool_max_overflow = 0 - -# Default number of seconds to wait for a connections to available (integer -# value) -#pool_timeout = 30 - -# Lifetime of a connection (since creation) in seconds or None for no -# recycling. Expired connections are closed on acquire. (integer value) -#pool_recycle = 600 - -# Threshold at which inactive (since release) connections are considered stale -# in seconds or None for no staleness. Stale connections are closed on acquire. -# (integer value) -#pool_stale = 60 - -# Default serialization mechanism for serializing/deserializing -# outgoing/incoming messages (string value) -# Possible values: -# json - -# msgpack - -#default_serializer_type = json - -# Persist notification messages. (boolean value) -#notification_persistence = false - -# Exchange name for sending notifications (string value) -#default_notification_exchange = ${control_exchange}_notification - -# Max number of not acknowledged message which RabbitMQ can send to -# notification listener. (integer value) -#notification_listener_prefetch_count = 100 - -# Reconnecting retry count in case of connectivity problem during sending -# notification, -1 means infinite retry. (integer value) -#default_notification_retry_attempts = -1 - -# Reconnecting retry delay in case of connectivity problem during sending -# notification message (floating point value) -#notification_retry_delay = 0.25 - -# Time to live for rpc queues without consumers in seconds. (integer value) -#rpc_queue_expiration = 60 - -# Exchange name for sending RPC messages (string value) -#default_rpc_exchange = ${control_exchange}_rpc - -# Exchange name for receiving RPC replies (string value) -#rpc_reply_exchange = ${control_exchange}_rpc_reply - -# Max number of not acknowledged message which RabbitMQ can send to rpc -# listener. (integer value) -#rpc_listener_prefetch_count = 100 - -# Max number of not acknowledged message which RabbitMQ can send to rpc reply -# listener. (integer value) -#rpc_reply_listener_prefetch_count = 100 - -# Reconnecting retry count in case of connectivity problem during sending -# reply. -1 means infinite retry during rpc_timeout (integer value) -#rpc_reply_retry_attempts = -1 - -# Reconnecting retry delay in case of connectivity problem during sending -# reply. (floating point value) -#rpc_reply_retry_delay = 0.25 - -# Reconnecting retry count in case of connectivity problem during sending RPC -# message, -1 means infinite retry. If actual retry attempts in not 0 the rpc -# request could be processed more than one time (integer value) -#default_rpc_retry_attempts = -1 - -# Reconnecting retry delay in case of connectivity problem during sending RPC -# message (floating point value) -#rpc_retry_delay = 0.25 - - -[oslo_messaging_zmq] - -# -# From oslo.messaging -# - -# ZeroMQ bind address. Should be a wildcard (*), an ethernet interface, or IP. -# The "host" option should point or resolve to this address. (string value) -#rpc_zmq_bind_address = * - -# MatchMaker driver. (string value) -# Possible values: -# redis - -# sentinel - -# dummy - -#rpc_zmq_matchmaker = redis - -# Number of ZeroMQ contexts, defaults to 1. (integer value) -#rpc_zmq_contexts = 1 - -# Maximum number of ingress messages to locally buffer per topic. Default is -# unlimited. (integer value) -#rpc_zmq_topic_backlog = - -# Directory for holding IPC sockets. (string value) -#rpc_zmq_ipc_dir = /var/run/openstack - -# Name of this node. Must be a valid hostname, FQDN, or IP address. Must match -# "host" option, if running Nova. (string value) -#rpc_zmq_host = localhost - -# Number of seconds to wait before all pending messages will be sent after -# closing a socket. The default value of -1 specifies an infinite linger -# period. The value of 0 specifies no linger period. Pending messages shall be -# discarded immediately when the socket is closed. Positive values specify an -# upper bound for the linger period. (integer value) -# Deprecated group/name - [DEFAULT]/rpc_cast_timeout -#zmq_linger = -1 - -# The default number of seconds that poll should wait. Poll raises timeout -# exception when timeout expired. (integer value) -#rpc_poll_timeout = 1 - -# Expiration timeout in seconds of a name service record about existing target -# ( < 0 means no timeout). (integer value) -#zmq_target_expire = 300 - -# Update period in seconds of a name service record about existing target. -# (integer value) -#zmq_target_update = 180 - -# Use PUB/SUB pattern for fanout methods. PUB/SUB always uses proxy. (boolean -# value) -#use_pub_sub = false - -# Use ROUTER remote proxy. (boolean value) -#use_router_proxy = false - -# This option makes direct connections dynamic or static. It makes sense only -# with use_router_proxy=False which means to use direct connections for direct -# message types (ignored otherwise). (boolean value) -#use_dynamic_connections = false - -# How many additional connections to a host will be made for failover reasons. -# This option is actual only in dynamic connections mode. (integer value) -#zmq_failover_connections = 2 - -# Minimal port number for random ports range. (port value) -# Minimum value: 0 -# Maximum value: 65535 -#rpc_zmq_min_port = 49153 - -# Maximal port number for random ports range. (integer value) -# Minimum value: 1 -# Maximum value: 65536 -#rpc_zmq_max_port = 65536 - -# Number of retries to find free port number before fail with ZMQBindError. -# (integer value) -#rpc_zmq_bind_port_retries = 100 - -# Default serialization mechanism for serializing/deserializing -# outgoing/incoming messages (string value) -# Possible values: -# json - -# msgpack - -#rpc_zmq_serialization = json - -# This option configures round-robin mode in zmq socket. True means not keeping -# a queue when server side disconnects. False means to keep queue and messages -# even if server is disconnected, when the server appears we send all -# accumulated messages to it. (boolean value) -#zmq_immediate = true - -# Enable/disable TCP keepalive (KA) mechanism. The default value of -1 (or any -# other negative value) means to skip any overrides and leave it to OS default; -# 0 and 1 (or any other positive value) mean to disable and enable the option -# respectively. (integer value) -#zmq_tcp_keepalive = -1 - -# The duration between two keepalive transmissions in idle condition. The unit -# is platform dependent, for example, seconds in Linux, milliseconds in Windows -# etc. The default value of -1 (or any other negative value and 0) means to -# skip any overrides and leave it to OS default. (integer value) -#zmq_tcp_keepalive_idle = -1 - -# The number of retransmissions to be carried out before declaring that remote -# end is not available. The default value of -1 (or any other negative value -# and 0) means to skip any overrides and leave it to OS default. (integer -# value) -#zmq_tcp_keepalive_cnt = -1 - -# The duration between two successive keepalive retransmissions, if -# acknowledgement to the previous keepalive transmission is not received. The -# unit is platform dependent, for example, seconds in Linux, milliseconds in -# Windows etc. The default value of -1 (or any other negative value and 0) -# means to skip any overrides and leave it to OS default. (integer value) -#zmq_tcp_keepalive_intvl = -1 - -# Maximum number of (green) threads to work concurrently. (integer value) -#rpc_thread_pool_size = 100 - -# Expiration timeout in seconds of a sent/received message after which it is -# not tracked anymore by a client/server. (integer value) -#rpc_message_ttl = 300 - -# Wait for message acknowledgements from receivers. This mechanism works only -# via proxy without PUB/SUB. (boolean value) -#rpc_use_acks = false - -# Number of seconds to wait for an ack from a cast/call. After each retry -# attempt this timeout is multiplied by some specified multiplier. (integer -# value) -#rpc_ack_timeout_base = 15 - -# Number to multiply base ack timeout by after each retry attempt. (integer -# value) -#rpc_ack_timeout_multiplier = 2 - -# Default number of message sending attempts in case of any problems occurred: -# positive value N means at most N retries, 0 means no retries, None or -1 (or -# any other negative values) mean to retry forever. This option is used only if -# acknowledgments are enabled. (integer value) -#rpc_retry_attempts = 3 - -# List of publisher hosts SubConsumer can subscribe on. This option has higher -# priority then the default publishers list taken from the matchmaker. (list -# value) -#subscribe_on = - - -[oslo_middleware] - -# -# From oslo.middleware -# - -# The maximum body size for each request, in bytes. (integer value) -# Deprecated group/name - [DEFAULT]/osapi_max_request_body_size -# Deprecated group/name - [DEFAULT]/max_request_body_size -#max_request_body_size = 114688 - -# DEPRECATED: The HTTP Header that will be used to determine what the original -# request protocol scheme was, even if it was hidden by a SSL termination -# proxy. (string value) -# This option is deprecated for removal. -# Its value may be silently ignored in the future. -#secure_proxy_ssl_header = X-Forwarded-Proto - -# Whether the application is behind a proxy or not. This determines if the -# middleware should parse the headers or not. (boolean value) -#enable_proxy_headers_parsing = false - - -[oslo_policy] - -# -# From oslo.policy -# - -# This option controls whether or not to enforce scope when evaluating -# policies. If ``True``, the scope of the token used in the request is compared -# to the ``scope_types`` of the policy being enforced. If the scopes do not -# match, an ``InvalidScope`` exception will be raised. If ``False``, a message -# will be logged informing operators that policies are being invoked with -# mismatching scope. (boolean value) -#enforce_scope = false - -# The file that defines policies. (string value) -#policy_file = policy.json - -# Default rule. Enforced when a requested rule is not found. (string value) -#policy_default_rule = default - -# Directories where policy configuration files are stored. They can be relative -# to any directory in the search path defined by the config_dir option, or -# absolute paths. The file defined by policy_file must exist for these -# directories to be searched. Missing or empty directories are ignored. (multi -# valued) -#policy_dirs = policy.d - -# Content Type to send and receive data for REST based policy check (string -# value) -# Possible values: -# application/x-www-form-urlencoded - -# application/json - -#remote_content_type = application/x-www-form-urlencoded - -# server identity verification for REST based policy check (boolean value) -#remote_ssl_verify_server_crt = false - -# Absolute path to ca cert file for REST based policy check (string value) -#remote_ssl_ca_crt_file = - -# Absolute path to client cert for REST based policy check (string value) -#remote_ssl_client_crt_file = - -# Absolute path client key file REST based policy check (string value) -#remote_ssl_client_key_file = - - -[policy] - -# -# From keystone -# - -# Entry point for the policy backend driver in the `keystone.policy` namespace. -# Supplied drivers are `rules` (which does not support any CRUD operations for -# the v3 policy API) and `sql`. Typically, there is no reason to set this -# option unless you are providing a custom entry point. (string value) -#driver = sql - -# Maximum number of entities that will be returned in a policy collection. -# (integer value) -#list_limit = - - -[profiler] - -# -# From osprofiler -# - -# -# Enables the profiling for all services on this node. Default value is False -# (fully disable the profiling feature). -# -# Possible values: -# -# * True: Enables the feature -# * False: Disables the feature. The profiling cannot be started via this -# project -# operations. If the profiling is triggered by another project, this project -# part -# will be empty. -# (boolean value) -# Deprecated group/name - [profiler]/profiler_enabled -#enabled = false - -# -# Enables SQL requests profiling in services. Default value is False (SQL -# requests won't be traced). -# -# Possible values: -# -# * True: Enables SQL requests profiling. Each SQL query will be part of the -# trace and can the be analyzed by how much time was spent for that. -# * False: Disables SQL requests profiling. The spent time is only shown on a -# higher level of operations. Single SQL queries cannot be analyzed this -# way. -# (boolean value) -#trace_sqlalchemy = false - -# -# Secret key(s) to use for encrypting context data for performance profiling. -# This string value should have the following format: -# [,,...], -# where each key is some random string. A user who triggers the profiling via -# the REST API has to set one of these keys in the headers of the REST API call -# to include profiling results of this node for this particular project. -# -# Both "enabled" flag and "hmac_keys" config options should be set to enable -# profiling. Also, to generate correct profiling information across all -# services -# at least one key needs to be consistent between OpenStack projects. This -# ensures it can be used from client side to generate the trace, containing -# information from all possible resources. (string value) -#hmac_keys = SECRET_KEY - -# -# Connection string for a notifier backend. Default value is messaging:// which -# sets the notifier to oslo_messaging. -# -# Examples of possible values: -# -# * messaging://: use oslo_messaging driver for sending notifications. -# * mongodb://127.0.0.1:27017 : use mongodb driver for sending notifications. -# * elasticsearch://127.0.0.1:9200 : use elasticsearch driver for sending -# notifications. -# (string value) -#connection_string = messaging:// - -# -# Document type for notification indexing in elasticsearch. -# (string value) -#es_doc_type = notification - -# -# This parameter is a time value parameter (for example: es_scroll_time=2m), -# indicating for how long the nodes that participate in the search will -# maintain -# relevant resources in order to continue and support it. -# (string value) -#es_scroll_time = 2m - -# -# Elasticsearch splits large requests in batches. This parameter defines -# maximum size of each batch (for example: es_scroll_size=10000). -# (integer value) -#es_scroll_size = 10000 - -# -# Redissentinel provides a timeout option on the connections. -# This parameter defines that timeout (for example: socket_timeout=0.1). -# (floating point value) -#socket_timeout = 0.1 - -# -# Redissentinel uses a service name to identify a master redis service. -# This parameter defines the name (for example: -# sentinal_service_name=mymaster). -# (string value) -#sentinel_service_name = mymaster - - -[receipt] - -# -# From keystone -# - -# The amount of time that a receipt should remain valid (in seconds). This -# value should always be very short, as it represents how long a user has to -# reattempt auth with the missing auth methods. (integer value) -# Minimum value: 0 -# Maximum value: 86400 -#expiration = 300 - -# Entry point for the receipt provider in the `keystone.receipt.provider` -# namespace. The receipt provider controls the receipt construction and -# validation operations. Keystone includes just the `fernet` receipt provider -# for now. `fernet` receipts do not need to be persisted at all, but require -# that you run `keystone-manage fernet_setup` (also see the `keystone-manage -# fernet_rotate` command). (string value) -#provider = fernet - -# Toggle for caching receipt creation and validation data. This has no effect -# unless global caching is enabled, or if cache_on_issue is disabled as we only -# cache receipts on issue. (boolean value) -#caching = true - -# The number of seconds to cache receipt creation and validation data. This has -# no effect unless both global and `[receipt] caching` are enabled. (integer -# value) -# Minimum value: 0 -#cache_time = 300 - -# Enable storing issued receipt data to receipt validation cache so that first -# receipt validation doesn't actually cause full validation cycle. This option -# has no effect unless global caching and receipt caching are enabled. (boolean -# value) -#cache_on_issue = true - - -[resource] - -# -# From keystone -# - -# DEPRECATED: Entry point for the resource driver in the `keystone.resource` -# namespace. Only a `sql` driver is supplied by keystone. Unless you are -# writing proprietary drivers for keystone, you do not need to set this option. -# (string value) -# This option is deprecated for removal since P. -# Its value may be silently ignored in the future. -# Reason: Non-SQL resource cannot be used with SQL Identity and has been unable -# to be used since Ocata. SQL Resource backend is a requirement as of Pike. -# Setting this option no longer has an effect on how Keystone operates. -#driver = sql - -# Toggle for resource caching. This has no effect unless global caching is -# enabled. (boolean value) -# Deprecated group/name - [assignment]/caching -#caching = true - -# Time to cache resource data in seconds. This has no effect unless global -# caching is enabled. (integer value) -# Deprecated group/name - [assignment]/cache_time -#cache_time = - -# Maximum number of entities that will be returned in a resource collection. -# (integer value) -# Deprecated group/name - [assignment]/list_limit -#list_limit = - -# Name of the domain that owns the `admin_project_name`. If left unset, then -# there is no admin project. `[resource] admin_project_name` must also be set -# to use this option. (string value) -#admin_project_domain_name = - -# This is a special project which represents cloud-level administrator -# privileges across services. Tokens scoped to this project will contain a true -# `is_admin_project` attribute to indicate to policy systems that the role -# assignments on that specific project should apply equally across every -# project. If left unset, then there is no admin project, and thus no explicit -# means of cross-project role assignments. `[resource] -# admin_project_domain_name` must also be set to use this option. (string -# value) -#admin_project_name = - -# This controls whether the names of projects are restricted from containing -# URL-reserved characters. If set to `new`, attempts to create or update a -# project with a URL-unsafe name will fail. If set to `strict`, attempts to -# scope a token with a URL-unsafe project name will fail, thereby forcing all -# project names to be updated to be URL-safe. (string value) -# Possible values: -# off - -# new - -# strict - -#project_name_url_safe = off - -# This controls whether the names of domains are restricted from containing -# URL-reserved characters. If set to `new`, attempts to create or update a -# domain with a URL-unsafe name will fail. If set to `strict`, attempts to -# scope a token with a URL-unsafe domain name will fail, thereby forcing all -# domain names to be updated to be URL-safe. (string value) -# Possible values: -# off - -# new - -# strict - -#domain_name_url_safe = off - - -[revoke] - -# -# From keystone -# - -# Entry point for the token revocation backend driver in the `keystone.revoke` -# namespace. Keystone only provides a `sql` driver, so there is no reason to -# set this option unless you are providing a custom entry point. (string value) -#driver = sql - -# The number of seconds after a token has expired before a corresponding -# revocation event may be purged from the backend. (integer value) -# Minimum value: 0 -#expiration_buffer = 1800 - -# Toggle for revocation event caching. This has no effect unless global caching -# is enabled. (boolean value) -#caching = true - -# Time to cache the revocation list and the revocation events (in seconds). -# This has no effect unless global and `[revoke] caching` are both enabled. -# (integer value) -# Deprecated group/name - [token]/revocation_cache_time -#cache_time = 3600 - - -[role] - -# -# From keystone -# - -# Entry point for the role backend driver in the `keystone.role` namespace. -# Keystone only provides a `sql` driver, so there's no reason to change this -# unless you are providing a custom entry point. (string value) -#driver = - -# Toggle for role caching. This has no effect unless global caching is enabled. -# In a typical deployment, there is no reason to disable this. (boolean value) -#caching = true - -# Time to cache role data, in seconds. This has no effect unless both global -# caching and `[role] caching` are enabled. (integer value) -#cache_time = - -# Maximum number of entities that will be returned in a role collection. This -# may be useful to tune if you have a large number of discrete roles in your -# deployment. (integer value) -#list_limit = - - -[saml] - -# -# From keystone -# - -# Determines the lifetime for any SAML assertions generated by keystone, using -# `NotOnOrAfter` attributes. (integer value) -#assertion_expiration_time = 3600 - -# Name of, or absolute path to, the binary to be used for XML signing. Although -# only the XML Security Library (`xmlsec1`) is supported, it may have a non- -# standard name or path on your system. If keystone cannot find the binary -# itself, you may need to install the appropriate package, use this option to -# specify an absolute path, or adjust keystone's PATH environment variable. -# (string value) -#xmlsec1_binary = xmlsec1 - -# Absolute path to the public certificate file to use for SAML signing. The -# value cannot contain a comma (`,`). (string value) -#certfile = /etc/keystone/ssl/certs/signing_cert.pem - -# Absolute path to the private key file to use for SAML signing. The value -# cannot contain a comma (`,`). (string value) -#keyfile = /etc/keystone/ssl/private/signing_key.pem - -# This is the unique entity identifier of the identity provider (keystone) to -# use when generating SAML assertions. This value is required to generate -# identity provider metadata and must be a URI (a URL is recommended). For -# example: `https://keystone.example.com/v3/OS-FEDERATION/saml2/idp`. (uri -# value) -#idp_entity_id = - -# This is the single sign-on (SSO) service location of the identity provider -# which accepts HTTP POST requests. A value is required to generate identity -# provider metadata. For example: `https://keystone.example.com/v3/OS- -# FEDERATION/saml2/sso`. (uri value) -#idp_sso_endpoint = - -# This is the language used by the identity provider's organization. (string -# value) -#idp_lang = en - -# This is the name of the identity provider's organization. (string value) -#idp_organization_name = SAML Identity Provider - -# This is the name of the identity provider's organization to be displayed. -# (string value) -#idp_organization_display_name = OpenStack SAML Identity Provider - -# This is the URL of the identity provider's organization. The URL referenced -# here should be useful to humans. (uri value) -#idp_organization_url = https://example.com/ - -# This is the company name of the identity provider's contact person. (string -# value) -#idp_contact_company = Example, Inc. - -# This is the given name of the identity provider's contact person. (string -# value) -#idp_contact_name = SAML Identity Provider Support - -# This is the surname of the identity provider's contact person. (string value) -#idp_contact_surname = Support - -# This is the email address of the identity provider's contact person. (string -# value) -#idp_contact_email = support@example.com - -# This is the telephone number of the identity provider's contact person. -# (string value) -#idp_contact_telephone = +1 800 555 0100 - -# This is the type of contact that best describes the identity provider's -# contact person. (string value) -# Possible values: -# technical - -# support - -# administrative - -# billing - -# other - -#idp_contact_type = other - -# Absolute path to the identity provider metadata file. This file should be -# generated with the `keystone-manage saml_idp_metadata` command. There is -# typically no reason to change this value. (string value) -#idp_metadata_path = /etc/keystone/saml2_idp_metadata.xml - -# The prefix of the RelayState SAML attribute to use when generating enhanced -# client and proxy (ECP) assertions. In a typical deployment, there is no -# reason to change this value. (string value) -#relay_state_prefix = ss:mem: - - -[security_compliance] - -# -# From keystone -# - -# The maximum number of days a user can go without authenticating before being -# considered "inactive" and automatically disabled (locked). This feature is -# disabled by default; set any value to enable it. This feature depends on the -# `sql` backend for the `[identity] driver`. When a user exceeds this threshold -# and is considered "inactive", the user's `enabled` attribute in the HTTP API -# may not match the value of the user's `enabled` column in the user table. -# (integer value) -# Minimum value: 1 -#disable_user_account_days_inactive = - -# The maximum number of times that a user can fail to authenticate before the -# user account is locked for the number of seconds specified by -# `[security_compliance] lockout_duration`. This feature is disabled by -# default. If this feature is enabled and `[security_compliance] -# lockout_duration` is not set, then users may be locked out indefinitely until -# the user is explicitly enabled via the API. This feature depends on the `sql` -# backend for the `[identity] driver`. (integer value) -# Minimum value: 1 -#lockout_failure_attempts = - -# The number of seconds a user account will be locked when the maximum number -# of failed authentication attempts (as specified by `[security_compliance] -# lockout_failure_attempts`) is exceeded. Setting this option will have no -# effect unless you also set `[security_compliance] lockout_failure_attempts` -# to a non-zero value. This feature depends on the `sql` backend for the -# `[identity] driver`. (integer value) -# Minimum value: 1 -#lockout_duration = 1800 - -# The number of days for which a password will be considered valid before -# requiring it to be changed. This feature is disabled by default. If enabled, -# new password changes will have an expiration date, however existing passwords -# would not be impacted. This feature depends on the `sql` backend for the -# `[identity] driver`. (integer value) -# Minimum value: 1 -#password_expires_days = - -# This controls the number of previous user password iterations to keep in -# history, in order to enforce that newly created passwords are unique. The -# total number which includes the new password should not be greater or equal -# to this value. Setting the value to zero (the default) disables this feature. -# Thus, to enable this feature, values must be greater than 0. This feature -# depends on the `sql` backend for the `[identity] driver`. (integer value) -# Minimum value: 0 -#unique_last_password_count = 0 - -# The number of days that a password must be used before the user can change -# it. This prevents users from changing their passwords immediately in order to -# wipe out their password history and reuse an old password. This feature does -# not prevent administrators from manually resetting passwords. It is disabled -# by default and allows for immediate password changes. This feature depends on -# the `sql` backend for the `[identity] driver`. Note: If -# `[security_compliance] password_expires_days` is set, then the value for this -# option should be less than the `password_expires_days`. (integer value) -# Minimum value: 0 -#minimum_password_age = 0 - -# The regular expression used to validate password strength requirements. By -# default, the regular expression will match any password. The following is an -# example of a pattern which requires at least 1 letter, 1 digit, and have a -# minimum length of 7 characters: ^(?=.*\d)(?=.*[a-zA-Z]).{7,}$ This feature -# depends on the `sql` backend for the `[identity] driver`. (string value) -#password_regex = - -# Describe your password regular expression here in language for humans. If a -# password fails to match the regular expression, the contents of this -# configuration variable will be returned to users to explain why their -# requested password was insufficient. (string value) -#password_regex_description = - -# Enabling this option requires users to change their password when the user is -# created, or upon administrative reset. Before accessing any services, -# affected users will have to change their password. To ignore this requirement -# for specific users, such as service users, set the `options` attribute -# `ignore_change_password_upon_first_use` to `True` for the desired user via -# the update user API. This feature is disabled by default. This feature is -# only applicable with the `sql` backend for the `[identity] driver`. (boolean -# value) -#change_password_upon_first_use = false - - -[shadow_users] - -# -# From keystone -# - -# Entry point for the shadow users backend driver in the -# `keystone.identity.shadow_users` namespace. This driver is used for -# persisting local user references to externally-managed identities (via -# federation, LDAP, etc). Keystone only provides a `sql` driver, so there is no -# reason to change this option unless you are providing a custom entry point. -# (string value) -#driver = sql - - -[signing] - -# -# From keystone -# - -# DEPRECATED: Absolute path to the public certificate file to use for signing -# responses to revocation lists requests. Set this together with `[signing] -# keyfile`. For non-production environments, you may be interested in using -# `keystone-manage pki_setup` to generate self-signed certificates. (string -# value) -# This option is deprecated for removal since P. -# Its value may be silently ignored in the future. -# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in -# Pike. These options remain for backwards compatibility. -#certfile = /etc/keystone/ssl/certs/signing_cert.pem - -# DEPRECATED: Absolute path to the private key file to use for signing -# responses to revocation lists requests. Set this together with `[signing] -# certfile`. (string value) -# This option is deprecated for removal since P. -# Its value may be silently ignored in the future. -# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in -# Pike. These options remain for backwards compatibility. -#keyfile = /etc/keystone/ssl/private/signing_key.pem - -# DEPRECATED: Absolute path to the public certificate authority (CA) file to -# use when creating self-signed certificates with `keystone-manage pki_setup`. -# Set this together with `[signing] ca_key`. There is no reason to set this -# option unless you are requesting revocation lists in a non-production -# environment. Use a `[signing] certfile` issued from a trusted certificate -# authority instead. (string value) -# This option is deprecated for removal since P. -# Its value may be silently ignored in the future. -# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in -# Pike. These options remain for backwards compatibility. -#ca_certs = /etc/keystone/ssl/certs/ca.pem - -# DEPRECATED: Absolute path to the private certificate authority (CA) key file -# to use when creating self-signed certificates with `keystone-manage -# pki_setup`. Set this together with `[signing] ca_certs`. There is no reason -# to set this option unless you are requesting revocation lists in a non- -# production environment. Use a `[signing] certfile` issued from a trusted -# certificate authority instead. (string value) -# This option is deprecated for removal since P. -# Its value may be silently ignored in the future. -# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in -# Pike. These options remain for backwards compatibility. -#ca_key = /etc/keystone/ssl/private/cakey.pem - -# DEPRECATED: Key size (in bits) to use when generating a self-signed token -# signing certificate. There is no reason to set this option unless you are -# requesting revocation lists in a non-production environment. Use a `[signing] -# certfile` issued from a trusted certificate authority instead. (integer -# value) -# Minimum value: 1024 -# This option is deprecated for removal since P. -# Its value may be silently ignored in the future. -# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in -# Pike. These options remain for backwards compatibility. -#key_size = 2048 - -# DEPRECATED: The validity period (in days) to use when generating a self- -# signed token signing certificate. There is no reason to set this option -# unless you are requesting revocation lists in a non-production environment. -# Use a `[signing] certfile` issued from a trusted certificate authority -# instead. (integer value) -# This option is deprecated for removal since P. -# Its value may be silently ignored in the future. -# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in -# Pike. These options remain for backwards compatibility. -#valid_days = 3650 - -# DEPRECATED: The certificate subject to use when generating a self-signed -# token signing certificate. There is no reason to set this option unless you -# are requesting revocation lists in a non-production environment. Use a -# `[signing] certfile` issued from a trusted certificate authority instead. -# (string value) -# This option is deprecated for removal since P. -# Its value may be silently ignored in the future. -# Reason: `keystone-manage pki_setup` was deprecated in Mitaka and removed in -# Pike. These options remain for backwards compatibility. -#cert_subject = /C=US/ST=Unset/L=Unset/O=Unset/CN=www.example.com - - -[token] - -# -# From keystone -# - -# The amount of time that a token should remain valid (in seconds). Drastically -# reducing this value may break "long-running" operations that involve multiple -# services to coordinate together, and will force users to authenticate with -# keystone more frequently. Drastically increasing this value will increase the -# number of tokens that will be simultaneously valid. Keystone tokens are also -# bearer tokens, so a shorter duration will also reduce the potential security -# impact of a compromised token. (integer value) -# Minimum value: 0 -# Maximum value: 9223372036854775807 -#expiration = 3600 - -# Entry point for the token provider in the `keystone.token.provider` -# namespace. The token provider controls the token construction, validation, -# and revocation operations. Supported upstream providers are `fernet` and -# `jws`. Neither `fernet` or `jws` tokens require persistence and both require -# additional setup. If using `fernet`, you're required to run `keystone-manage -# fernet_setup`, which creates symmetric keys used to encrypt tokens. If using -# `jws`, you're required to generate an ECDSA keypair using a SHA-256 hash -# algorithm for signing and validating token, which can be done with `keystone- -# manage create_jws_keypair`. Note that `fernet` tokens are encrypted and `jws` -# tokens are only signed. Please be sure to consider this if your deployment -# has security requirements regarding payload contents used to generate token -# IDs. (string value) -#provider = fernet - -# Toggle for caching token creation and validation data. This has no effect -# unless global caching is enabled. (boolean value) -#caching = true - -# The number of seconds to cache token creation and validation data. This has -# no effect unless both global and `[token] caching` are enabled. (integer -# value) -# Minimum value: 0 -# Maximum value: 9223372036854775807 -#cache_time = - -# This toggles support for revoking individual tokens by the token identifier -# and thus various token enumeration operations (such as listing all tokens -# issued to a specific user). These operations are used to determine the list -# of tokens to consider revoked. Do not disable this option if you're using the -# `kvs` `[revoke] driver`. (boolean value) -#revoke_by_id = true - -# This toggles whether scoped tokens may be re-scoped to a new project or -# domain, thereby preventing users from exchanging a scoped token (including -# those with a default project scope) for any other token. This forces users to -# either authenticate for unscoped tokens (and later exchange that unscoped -# token for tokens with a more specific scope) or to provide their credentials -# in every request for a scoped token to avoid re-scoping altogether. (boolean -# value) -#allow_rescope_scoped_token = true - -# DEPRECATED: This controls whether roles should be included with tokens that -# are not directly assigned to the token's scope, but are instead linked -# implicitly to other role assignments. (boolean value) -# This option is deprecated for removal since R. -# Its value may be silently ignored in the future. -# Reason: Default roles depend on a chain of implied role assignments. Ex: an -# admin user will also have the reader and member role. By ensuring that all -# these roles will always appear on the token validation response, we can -# improve the simplicity and readability of policy files. -#infer_roles = true - -# DEPRECATED: Enable storing issued token data to token validation cache so -# that first token validation doesn't actually cause full validation cycle. -# This option has no effect unless global caching is enabled and will still -# cache tokens even if `[token] caching = False`. (boolean value) -# This option is deprecated for removal since S. -# Its value may be silently ignored in the future. -# Reason: Keystone already exposes a configuration option for caching tokens. -# Having a separate configuration option to cache tokens when they are issued -# is redundant, unnecessarily complicated, and is misleading if token caching -# is disabled because tokens will still be pre-cached by default when they are -# issued. The ability to pre-cache tokens when they are issued is going to rely -# exclusively on the ``keystone.conf [token] caching`` option in the future. -#cache_on_issue = true - -# This controls the number of seconds that a token can be retrieved for beyond -# the built-in expiry time. This allows long running operations to succeed. -# Defaults to two days. (integer value) -#allow_expired_window = 172800 - - -[tokenless_auth] - -# -# From keystone -# - -# The list of distinguished names which identify trusted issuers of client -# certificates allowed to use X.509 tokenless authorization. If the option is -# absent then no certificates will be allowed. The format for the values of a -# distinguished name (DN) must be separated by a comma and contain no spaces. -# Furthermore, because an individual DN may contain commas, this configuration -# option may be repeated multiple times to represent multiple values. For -# example, keystone.conf would include two consecutive lines in order to trust -# two different DNs, such as `trusted_issuer = CN=john,OU=keystone,O=openstack` -# and `trusted_issuer = CN=mary,OU=eng,O=abc`. (multi valued) -#trusted_issuer = - -# The federated protocol ID used to represent X.509 tokenless authorization. -# This is used in combination with the value of `[tokenless_auth] -# issuer_attribute` to find a corresponding federated mapping. In a typical -# deployment, there is no reason to change this value. (string value) -#protocol = x509 - -# The name of the WSGI environment variable used to pass the issuer of the -# client certificate to keystone. This attribute is used as an identity -# provider ID for the X.509 tokenless authorization along with the protocol to -# look up its corresponding mapping. In a typical deployment, there is no -# reason to change this value. (string value) -#issuer_attribute = SSL_CLIENT_I_DN - - -[trust] - -# -# From keystone -# - -# Allows authorization to be redelegated from one user to another, effectively -# chaining trusts together. When disabled, the `remaining_uses` attribute of a -# trust is constrained to be zero. (boolean value) -#allow_redelegation = false - -# Maximum number of times that authorization can be redelegated from one user -# to another in a chain of trusts. This number may be reduced further for a -# specific trust. (integer value) -#max_redelegation_count = 3 - -# Entry point for the trust backend driver in the `keystone.trust` namespace. -# Keystone only provides a `sql` driver, so there is no reason to change this -# unless you are providing a custom entry point. (string value) -#driver = sql - - -[unified_limit] - -# -# From keystone -# - -# Entry point for the unified limit backend driver in the -# `keystone.unified_limit` namespace. Keystone only provides a `sql` driver, so -# there's no reason to change this unless you are providing a custom entry -# point. (string value) -#driver = sql - -# Toggle for unified limit caching. This has no effect unless global caching is -# enabled. In a typical deployment, there is no reason to disable this. -# (boolean value) -#caching = true - -# Time to cache unified limit data, in seconds. This has no effect unless both -# global caching and `[unified_limit] caching` are enabled. (integer value) -#cache_time = - -# Maximum number of entities that will be returned in a role collection. This -# may be useful to tune if you have a large number of unified limits in your -# deployment. (integer value) -#list_limit = - -# The enforcement model to use when validating limits associated to projects. -# Enforcement models will behave differently depending on the existing limits, -# which may result in backwards incompatible changes if a model is switched in -# a running deployment. (string value) -# Possible values: -# flat - -# strict_two_level - -#enforcement_model = flat - - -[wsgi] - -# -# From keystone -# - -# If set to true, this enables the oslo debug middleware in Keystone. This -# Middleware prints a lot of information about the request and the response. It -# is useful for getting information about the data on the wire (decoded) and -# passed to the WSGI application pipeline. This middleware has no effect on the -# "debug" setting in the [DEFAULT] section of the config file or setting -# Keystone's log-level to "DEBUG"; it is specific to debugging the WSGI data as -# it enters and leaves Keystone (specific request-related data). This option is -# used for introspection on the request and response data between the web -# server (apache, nginx, etc) and Keystone. This middleware is inserted as the -# first element in the middleware chain and will show the data closest to the -# wire. WARNING: NOT INTENDED FOR USE IN PRODUCTION. THIS MIDDLEWARE CAN AND -# WILL EMIT SENSITIVE/PRIVILEGED DATA. (boolean value) -#debug_middleware = false diff --git a/recipes-devtools/python/files/python-keystone/stx-files/keystone-all b/recipes-devtools/python/files/python-keystone/stx-files/keystone-all deleted file mode 100644 index bde324b..0000000 --- a/recipes-devtools/python/files/python-keystone/stx-files/keystone-all +++ /dev/null @@ -1,156 +0,0 @@ -#!/bin/sh -# Copyright (c) 2013-2018 Wind River Systems, Inc. -# -# SPDX-License-Identifier: Apache-2.0 -# - -### BEGIN INIT INFO -# Provides: OpenStack Keystone-wsgi -# Required-Start: networking -# Required-Stop: networking -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: OpenStack Keystone -# Description: Openstack Identitiy service running on WSGI compatable gunicorn web server -# -### END INIT INFO - -RETVAL=0 -#public 5000 - -DESC_PUBLIC="openstack-keystone" - -PIDFILE_PUBLIC="/var/run/$DESC_PUBLIC.pid" - -PYTHON=`which python` - -source /etc/keystone/keystone-extra.conf -source /etc/platform/platform.conf - -if [ -n ${@:2:1} ] ; then - if [ ${@:2:1}="--public-bind-addr" ] ; then - PUBLIC_BIND_ADDR_CMD=${@:3:1} - fi -fi - - -### -EXEC="/usr/bin/gunicorn" - -WORKER="eventlet" -# Increased timeout to facilitate large image uploads -TIMEOUT="200" - -# Calculate the no of workers based on the number of workers retrieved by -# Platform Eng which is retreived from the keystone-extra.conf - -if [ "$system_type" == "All-in-one" ]; then - TIS_WORKERS_FACTOR=1 -else - TIS_WORKERS_FACTOR=1.5 -fi -TIS_WORKERS=$(echo "${TIS_WORKERS_FACTOR}*${TIS_PUBLIC_WORKERS}"|bc ) -TIS_WORKERS=${TIS_WORKERS%.*} - -#--max-requests , --max-requests-jitter Configuration -#--max-requests = The max number of requests a worker will process before restarting -#--max-requests-jitter = The maximum jitter to add to the max_requests setting. -MAX_REQUESTS=100000 -MAX_REQ_JITTER_CAP_FACTOR=0.5 -MAX_REQ_JITTER_PUBLIC=$(echo "${TIS_WORKERS}*${MAX_REQ_JITTER_CAP_FACTOR}+1"|bc) -MAX_REQ_JITTER_PUBLIC=${MAX_REQ_JITTER_PUBLIC%.*} - - -start() -{ - # Got proper no of workers . Starting gunicorn now - echo -e "Initialising keystone service using gunicorn .. \n" - - if [ -z "$PUBLIC_BIND_ADDR" ]; then - echo "Keystone floating ip not found . Cannot start services. Exiting .." - exit 1 - fi - BIND_PUBLIC=$PUBLIC_BIND_ADDR:5000 - - if [ -e $PIDFILE_PUBLIC ]; then - PIDDIR=/proc/$(cat $PIDFILE_PUBLIC) - if [ -d ${PIDDIR} ]; then - echo "$DESC_PUBLIC already running." - exit 1 - else - echo "Removing stale PID file $PIDFILE_PUBLIC" - rm -f $PIDFILE_PUBLIC - fi - fi - - echo -e "Starting $DESC_PUBLIC...\n"; - echo -e "Worker is ${WORKER} --workers ${TIS_WORKERS} --timeout ${TIMEOUT} --max_requests ${MAX_REQUESTS} --max_request_jitter public ${MAX_REQ_JITTER_PUBLIC}\n" ; - - echo -e "Starting keystone process at port 5000 \n" ; - - start-stop-daemon --start --quiet --background --pidfile ${PIDFILE_PUBLIC} \ - --make-pidfile --exec ${PYTHON} -- ${EXEC} --bind ${BIND_PUBLIC} \ - --worker-class ${WORKER} --workers ${TIS_WORKERS} --timeout ${TIMEOUT} \ - --max-requests ${MAX_REQUESTS} --max-requests-jitter ${MAX_REQ_JITTER_PUBLIC} \ - --log-syslog \ - --pythonpath '/usr/share/keystone' public:application --name keystone-public - - RETVAL=$? - if [ $RETVAL -eq 0 ]; then - echo -e "Keystone started at port 5000... \n" - else - echo -e "Failed to start Keystone .. \n" - fi -} - -stop() -{ - if [ -e $PIDFILE_PUBLIC ]; then - start-stop-daemon --stop --quiet --pidfile $PIDFILE_PUBLIC - RETVAL_PUBLIC=$? - if [ $RETVAL_PUBLIC -eq 0 ]; then - echo "Stopped $DESC_PUBLIC." - else - echo "Stopping failed - $PIDFILE_PUBLIC" - fi - rm -f $PIDFILE_PUBLIC - else - echo "Already stopped - $PIDFILE_PUBLIC" - fi -} - -status() -{ - pid_public=`cat $PIDFILE_PUBLIC 2>/dev/null` - - if [ -n "$pid_public" ]; then - echo -e "\033[32m $DESC_PUBLIC is running..\033[0m" - else - echo -e "\033[31m $DESC_PUBLIC is not running..\033[0m" - fi -} - - - -case "$1" in - start) - start - ;; - stop) - stop - ;; - restart|force-reload|reload) - stop - start - ;; - status) - status - ;; - *) - #echo "Usage: $0 {start|stop|force-reload|restart|reload|status} OR {/usr/bin/keystone-all start --public-bind-addr xxx.xxx.xxx}" - start - #RETVAL=1 - ;; -esac - -exit $RETVAL diff --git a/recipes-devtools/python/files/python-keystone/stx-files/keystone-fernet-keys-rotate-active b/recipes-devtools/python/files/python-keystone/stx-files/keystone-fernet-keys-rotate-active deleted file mode 100644 index 8080ea0..0000000 --- a/recipes-devtools/python/files/python-keystone/stx-files/keystone-fernet-keys-rotate-active +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash - -# -# Wrapper script to rotate keystone fernet keys on active controller only -# -KEYSTONE_KEYS_ROTATE_INFO="/var/run/keystone-keys-rotate.info" -KEYSTONE_KEYS_ROTATE_CMD="/usr/bin/nice -n 2 /usr/bin/keystone-manage fernet_rotate --keystone-user keystone --keystone-group keystone" - -function is_active_pgserver() -{ - # Determine whether we're running on the same controller as the service. - local service=postgres - local enabledactive=$(/usr/bin/sm-query service $service| grep enabled-active) - if [ "x$enabledactive" == "x" ] - then - # enabled-active not found for that service on this controller - return 1 - else - # enabled-active found for that resource - return 0 - fi -} - -if is_active_pgserver -then - if [ ! -f ${KEYSTONE_KEYS_ROTATE_INFO} ] - then - echo delay_count=0 > ${KEYSTONE_KEYS_ROTATE_INFO} - fi - - source ${KEYSTONE_KEYS_ROTATE_INFO} - sudo -u postgres psql -d sysinv -c "SELECT alarm_id, entity_instance_id from i_alarm;" | grep -P "^(?=.*100.101)(?=.*${HOSTNAME})" &>/dev/null - if [ $? -eq 0 ] - then - source /etc/platform/platform.conf - if [ "${system_type}" = "All-in-one" ] - then - source /etc/init.d/task_affinity_functions.sh - idle_core=$(get_most_idle_core) - if [ "$idle_core" -ne "0" ] - then - sh -c "exec taskset -c $idle_core ${KEYSTONE_KEYS_ROTATE_CMD}" - sed -i "/delay_count/s/=.*/=0/" ${KEYSTONE_KEYS_ROTATE_INFO} - exit 0 - fi - fi - - if [ "$delay_count" -lt "3" ] - then - newval=$(($delay_count+1)) - sed -i "/delay_count/s/=.*/=$newval/" ${KEYSTONE_KEYS_ROTATE_INFO} - (sleep 3600; /usr/bin/keystone-fernet-keys-rotate-active) & - exit 0 - fi - - fi - - eval ${KEYSTONE_KEYS_ROTATE_CMD} - sed -i "/delay_count/s/=.*/=0/" ${KEYSTONE_KEYS_ROTATE_INFO} - -fi - -exit 0 - diff --git a/recipes-devtools/python/files/python-keystone/stx-files/openstack-keystone.service b/recipes-devtools/python/files/python-keystone/stx-files/openstack-keystone.service deleted file mode 100644 index a72aa84..0000000 --- a/recipes-devtools/python/files/python-keystone/stx-files/openstack-keystone.service +++ /dev/null @@ -1,14 +0,0 @@ -[Unit] -Description=OpenStack Identity Service (code-named Keystone) -After=syslog.target network.target - -[Service] -Type=forking -#ReminAfterExit is set to yes as we have 2 pids to monitor -RemainAfterExit=yes -ExecStart=/usr/bin/keystone-all start -ExecStop=/usr/bin/keystone-all stop -ExecReload=/usr/bin/keystone-all reload - -[Install] -WantedBy=multi-user.target diff --git a/recipes-devtools/python/files/python-keystone/stx-files/password-rules.conf b/recipes-devtools/python/files/python-keystone/stx-files/password-rules.conf deleted file mode 100644 index 6a24880..0000000 --- a/recipes-devtools/python/files/python-keystone/stx-files/password-rules.conf +++ /dev/null @@ -1,49 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# The password rules captures the [security_compliance] -# section of the generic Keystone configuration (keystone.conf) -# This configuration is used to statically define the password -# rules for password validation in pre-Keystone environments -# -# N.B: Only set non-default keys here (default commented configuration -# items not needed) - -[security_compliance] - -# -# From keystone -# - -# This controls the number of previous user password iterations to keep in -# history, in order to enforce that newly created passwords are unique. Setting -# the value to one (the default) disables this feature. Thus, to enable this -# feature, values must be greater than 1. This feature depends on the `sql` -# backend for the `[identity] driver`. (integer value) -# Minimum value: 1 -unique_last_password_count = 2 - -# The regular expression used to validate password strength requirements. By -# default, the regular expression will match any password. The following is an -# example of a pattern which requires at least 1 letter, 1 digit, and have a -# minimum length of 7 characters: ^(?=.*\d)(?=.*[a-zA-Z]).{7,}$ This feature -# depends on the `sql` backend for the `[identity] driver`. (string value) -password_regex = ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()<>{}+=_\\\[\]\-?|~`,.;:]).{7,}$ - -# Describe your password regular expression here in language for humans. If a -# password fails to match the regular expression, the contents of this -# configuration variable will be returned to users to explain why their -# requested password was insufficient. (string value) -password_regex_description = Password must have a minimum length of 7 characters, and must contain at least 1 upper case, 1 lower case, 1 digit, and 1 special character diff --git a/recipes-devtools/python/files/python-keystone/stx-files/public.py b/recipes-devtools/python/files/python-keystone/stx-files/public.py deleted file mode 100644 index d3a29f3..0000000 --- a/recipes-devtools/python/files/python-keystone/stx-files/public.py +++ /dev/null @@ -1,21 +0,0 @@ -# Copyright (c) 2013-2017 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - - -from keystone.server import wsgi as wsgi_server - -import sys -sys.argv = sys.argv[:1] - -application = wsgi_server.initialize_public_application() diff --git a/recipes-devtools/python/files/python-keystone/wsgi-keystone.conf b/recipes-devtools/python/files/python-keystone/wsgi-keystone.conf deleted file mode 100644 index b3a06bb..0000000 --- a/recipes-devtools/python/files/python-keystone/wsgi-keystone.conf +++ /dev/null @@ -1,67 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -Listen 5000 -Listen 35357 - - - WSGIDaemonProcess keystone-public processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} - WSGIProcessGroup keystone-public - WSGIScriptAlias / /usr/bin/keystone-wsgi-public - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - ErrorLogFormat "%{cu}t %M" - ErrorLog /var/log/apache2/keystone.log - CustomLog /var/log/apache2/keystone_access.log combined - - - Require all granted - - - - - WSGIDaemonProcess keystone-admin processes=5 threads=1 user=keystone group=keystone display-name=%{GROUP} - WSGIProcessGroup keystone-admin - WSGIScriptAlias / /usr/bin/keystone-wsgi-admin - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - ErrorLogFormat "%{cu}t %M" - ErrorLog /var/log/apache2/keystone.log - CustomLog /var/log/apache2/keystone_access.log combined - - - Require all granted - - - -Alias /identity /usr/bin/keystone-wsgi-public - - SetHandler wsgi-script - Options +ExecCGI - - WSGIProcessGroup keystone-public - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - - -Alias /identity_admin /usr/bin/keystone-wsgi-admin - - SetHandler wsgi-script - Options +ExecCGI - - WSGIProcessGroup keystone-admin - WSGIApplicationGroup %{GLOBAL} - WSGIPassAuthorization On - diff --git a/recipes-devtools/python/files/python-redfishtool/0001-Adapt-redfishtool-to-python2.patch b/recipes-devtools/python/files/python-redfishtool/0001-Adapt-redfishtool-to-python2.patch deleted file mode 100644 index 5cad092..0000000 --- a/recipes-devtools/python/files/python-redfishtool/0001-Adapt-redfishtool-to-python2.patch +++ /dev/null @@ -1,640 +0,0 @@ -From ecaf5c44da357e2ee5279a3f84a060f7af2c9dd1 Mon Sep 17 00:00:00 2001 -From: zhipengl -Date: Fri, 21 Jun 2019 01:50:14 +0800 -Subject: [PATCH] Adapt-redfishtool-to-python2 - -Signed-off-by: zhipengl ---- - redfishtool/AccountService.py | 18 +++++++++--------- - redfishtool/Chassis.py | 22 +++++++++++----------- - redfishtool/Managers.py | 29 ++++++++++++++--------------- - redfishtool/ServiceRoot.py | 2 +- - redfishtool/SessionService.py | 10 +++++----- - redfishtool/Systems.py | 36 ++++++++++++++++++------------------ - redfishtool/raw.py | 2 +- - redfishtool/redfishtoolTransport.py | 29 ++++++++++++++--------------- - setup.py | 1 + - 9 files changed, 74 insertions(+), 75 deletions(-) - -diff --git a/redfishtool/AccountService.py b/redfishtool/AccountService.py -index e0ec106..bfb17f8 100644 ---- a/redfishtool/AccountService.py -+++ b/redfishtool/AccountService.py -@@ -34,7 +34,7 @@ import getopt - import re - import sys - from .ServiceRoot import RfServiceRoot --from urllib.parse import urljoin -+from urlparse import urljoin - - class RfAccountServiceMain(): - def __init__(self): -@@ -259,13 +259,13 @@ class RfAccountServiceOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="UserName") - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, UserName".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, UserName".format(collName), skip1=True, printV12=cmdTop) - - # else: check if no account was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=accountsLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the session specific by -i or -m or -l - # search collection to find path using getPath2 -@@ -287,14 +287,14 @@ class RfAccountServiceOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # else, return ALL of the Accounts members - else: - rft.printVerbose(4,"getting expanded Accounts Collection") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=accountsLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -@@ -324,13 +324,13 @@ class RfAccountServiceOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="IsPredefined") - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, IsPredefined".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, IsPredefined".format(collName), skip1=True, printV12=cmdTop) - - # else: check if no account was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=rolesLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the session specific by -i or -m or -l - # search collection to find path using getPath2 -@@ -352,14 +352,14 @@ class RfAccountServiceOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # else, return ALL of the Accounts members - else: - rft.printVerbose(4,"getting expanded Roles Collection") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=rolesLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -diff --git a/redfishtool/Chassis.py b/redfishtool/Chassis.py -index d8f0bf5..0494bd9 100644 ---- a/redfishtool/Chassis.py -+++ b/redfishtool/Chassis.py -@@ -37,7 +37,7 @@ import getopt - import re - import sys - from .ServiceRoot import RfServiceRoot --from urllib.parse import urljoin -+from urlparse import urljoin - - class RfChassisMain(): - def __init__(self): -@@ -208,7 +208,7 @@ class RfChassisOperations(): - rft.printVerbose(4,"Expand Chassis collection to return ALL Chassis collection members fully expanded in response") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=systemsLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - # otherwise, just return the collection - # now read the /Chassis collection -@@ -217,7 +217,7 @@ class RfChassisOperations(): - if cmdTop is True: prop=rft.prop - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=systemsLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," Chassis Collection:",skip1=True, printV12=cmdTop) -+ rft.printVerbose(1," Chassis Collection:", skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -@@ -262,7 +262,7 @@ class RfChassisOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="AssetTag") - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, AssetTag".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, AssetTag".format(collName), skip1=True, printV12=cmdTop) - return(rc,r,j,d) - - -@@ -439,7 +439,7 @@ class RfChassisOperations(): - - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=resLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Resource ".format(resName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Resource ".format(resName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -@@ -464,7 +464,7 @@ class RfChassisOperations(): - - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=resLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Resource ".format(resName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Resource ".format(resName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -@@ -521,13 +521,13 @@ class RfChassisOperations(): - if( prop in powerControl[indx] ): - respDataVal=powerControl[indx][prop] - respData={prop: respDataVal} -- rft.printVerbose(1," Get Current Power consumption (PowerConsumedWatts) of PowerControl[{}] resource".format(indx,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get Current Power consumption (PowerConsumedWatts) of PowerControl[{}] resource".format(indx), skip1=True, printV12=cmdTop) - else: - rft.printErr("Error: Property {} not not returned in PowerControl[{}] resource".format(prop,indx)) - return(4,r,j,d) - else: - respData=powerControl[indx] #return the full powerControl array -- rft.printVerbose(1," Chassis PowerControl[{}] array:".format(indx,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Chassis PowerControl[{}] array:".format(indx), skip1=True, printV12=cmdTop) - - return(rc,r,j,respData) - -@@ -684,13 +684,13 @@ class RfChassisOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="Name") - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName), skip1=True, printV12=cmdTop) - - # else: check if no Log was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=logLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the proc specific by -i or -m - # search collection to find path using getPath2 -@@ -712,7 +712,7 @@ class RfChassisOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # If '--Entries' specified, get "Entries" nav link and read it - if rc == 0 and rft.gotEntriesOptn: -diff --git a/redfishtool/Managers.py b/redfishtool/Managers.py -index 586a871..400dad7 100644 ---- a/redfishtool/Managers.py -+++ b/redfishtool/Managers.py -@@ -37,7 +37,7 @@ import getopt - import re - import sys - from .ServiceRoot import RfServiceRoot --from urllib.parse import urljoin -+from urlparse import urljoin - - class RfManagersMain(): - def __init__(self): -@@ -211,7 +211,7 @@ class RfManagersOperations(): - rft.printVerbose(4,"Expand Managers collection to return ALL Managers collection members fully expanded in response") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=systemsLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - # otherwise, just return the collection - # now read the /Managers collection -@@ -467,7 +467,7 @@ class RfManagersOperations(): - - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=resLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Resource ".format(resName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Resource ".format(resName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -@@ -503,13 +503,13 @@ class RfManagersOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="Name") - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName), skip1=True, printV12=cmdTop) - - # else: check if no NIC was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=nicLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the proc specific by -i or -m - # search collection to find path using getPath2 -@@ -531,14 +531,14 @@ class RfManagersOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # else, return ALL of the EthernetInterfaces members - else: - rft.printVerbose(4,"getting expanded EthernetInterfaces Collection") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=nicLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -@@ -568,13 +568,13 @@ class RfManagersOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="Name" ) - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName), skip1=True, printV12=cmdTop) - - # else: check if no SerialInterfaces controller was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=cntlrLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the proc specific by -i or -m - # search collection to find path using getPath2 -@@ -596,14 +596,14 @@ class RfManagersOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # else, return ALL of the SerialInterfaces members - else: - rft.printVerbose(4,"getting expanded SerialInterfaces Collection") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=cntlrLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -@@ -633,13 +633,12 @@ class RfManagersOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="Name") - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName,skip1=True, printV12=cmdTop)) -- -+ rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName), skip1=True, printV12=cmdTop) - # else: check if no Log was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=logLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the proc specific by -i or -m - # search collection to find path using getPath2 -@@ -661,7 +660,7 @@ class RfManagersOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # If '--Entries' specified, get "Entries" nav link and read it - if rc == 0 and rft.gotEntriesOptn: -diff --git a/redfishtool/ServiceRoot.py b/redfishtool/ServiceRoot.py -index 5d85b5d..9395b83 100644 ---- a/redfishtool/ServiceRoot.py -+++ b/redfishtool/ServiceRoot.py -@@ -12,7 +12,7 @@ - # - import requests - import json --from urllib.parse import urljoin, urlparse, urlunparse -+from urlparse import urljoin, urlparse, urlunparse - - class RfServiceRoot: - def __init__(self): -diff --git a/redfishtool/SessionService.py b/redfishtool/SessionService.py -index 7a07811..c7a1624 100644 ---- a/redfishtool/SessionService.py -+++ b/redfishtool/SessionService.py -@@ -30,7 +30,7 @@ import getopt - import re - import sys - from .ServiceRoot import RfServiceRoot --from urllib.parse import urljoin -+from urlparse import urljoin - - class RfSessionServiceMain(): - def __init__(self): -@@ -267,13 +267,13 @@ class RfSessionServiceOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="UserName") - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, Socket".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, Socket".format(collName), skip1=True, printV12=cmdTop) - - # else: check if no session was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=sessionsLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the session specific by -i or -m or -l - # search collection to find path using getPath2 -@@ -295,14 +295,14 @@ class RfSessionServiceOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # else, return ALL of the Sessions members - else: - rft.printVerbose(4,"getting expanded Sessions Collection") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=sessionsLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -diff --git a/redfishtool/Systems.py b/redfishtool/Systems.py -index 9a7dfbe..9a9148a 100644 ---- a/redfishtool/Systems.py -+++ b/redfishtool/Systems.py -@@ -39,7 +39,7 @@ import getopt - import re - import sys - from .ServiceRoot import RfServiceRoot --from urllib.parse import urljoin -+from urlparse import urljoin - - class RfSystemsMain(): - def __init__(self): -@@ -216,7 +216,7 @@ class RfSystemsOperations(): - rft.printVerbose(4,"Expand Systems collection to return ALL Systems collection members fully expanded in response") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=systemsLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - # otherwise, just return the collection - # now read the /Systems collection -@@ -419,7 +419,7 @@ class RfSystemsOperations(): - reqData=reqPostData) - - if(rc==0): -- rft.printVerbose(1," Systems reset: ", resetType, skip1=True, printV12=cmdTop) -+ rft.printVerbose(1,(" Systems reset: {}").format(resetType), skip1=True, printV12=cmdTop) - resetd=None - return(rc,r,False,resetd) - else: return(rc,r,False,None) -@@ -623,13 +623,13 @@ class RfSystemsOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="Socket") - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, Socket".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, Socket".format(collName), skip1=True, printV12=cmdTop) - - # else: check if no proc was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=procsLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the proc specific by -i or -m - # search collection to find path using getPath2 -@@ -651,14 +651,14 @@ class RfSystemsOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # else, return ALL of the processor members - else: - rft.printVerbose(4,"getting expanded Processor Collection") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=procsLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -@@ -688,13 +688,13 @@ class RfSystemsOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="Name") - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName), skip1=True, printV12=cmdTop) - - # else: check if no NIC was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=nicLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the proc specific by -i or -m - # search collection to find path using getPath2 -@@ -716,14 +716,14 @@ class RfSystemsOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # else, return ALL of the EthernetInterfaces members - else: - rft.printVerbose(4,"getting expanded EthernetInterfaces Collection") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=nicLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -@@ -753,13 +753,13 @@ class RfSystemsOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="Name" ) - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName), skip1=True, printV12=cmdTop) - - # else: check if no SimpleStorage controller was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=cntlrLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the proc specific by -i or -m - # search collection to find path using getPath2 -@@ -781,14 +781,14 @@ class RfSystemsOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # else, return ALL of the SimpleStorage members - else: - rft.printVerbose(4,"getting expanded SimpleStorage Collection") - rc,r,j,d=rft.getAllCollectionMembers(rft, r.url, relPath=cntlrLink) - if(rc==0): -- rft.printVerbose(1," Get ALL {} Collection Members".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," Get ALL {} Collection Members".format(collName), skip1=True, printV12=cmdTop) - - return(rc,r,j,d) - -@@ -818,13 +818,13 @@ class RfSystemsOperations(): - #loop through the members and create the list sub-operation response - rc,r,j,d=rft.listCollection(rft, r, d, prop="Name") - if(rc==0): -- rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," list {} Collection member info: Id, URI, Name".format(collName), skip1=True, printV12=cmdTop) - - # else: check if no Log was specified. If not, return the collection - elif(rft.IdLevel2OptnCount==0): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', r.url, relPath=logLink, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection ".format(collName), skip1=True, printV12=cmdTop) - - # else: check if the -a (all) option is set. If not, return the proc specific by -i or -m - # search collection to find path using getPath2 -@@ -846,7 +846,7 @@ class RfSystemsOperations(): - elif( r is None ): - rc,r,j,d=rft.rftSendRecvRequest(rft.AUTHENTICATED_API, 'GET', collUrl, relPath=path2, prop=prop) - if(rc==0): -- rft.printVerbose(1," {} Collection Member ".format(collName,skip1=True, printV12=cmdTop)) -+ rft.printVerbose(1," {} Collection Member ".format(collName), skip1=True, printV12=cmdTop) - - # If '--Entries' specified, get "Entries" nav link and read it - if rc == 0 and rft.gotEntriesOptn: -diff --git a/redfishtool/raw.py b/redfishtool/raw.py -index bfb617c..1b32d0b 100644 ---- a/redfishtool/raw.py -+++ b/redfishtool/raw.py -@@ -30,7 +30,7 @@ import getopt - import re - import sys - #from .ServiceRoot import RfServiceRoot --from urllib.parse import urljoin, urlparse, urlunparse -+from urlparse import urljoin, urlparse, urlunparse - - class RfRawMain(): - def __init__(self): -diff --git a/redfishtool/redfishtoolTransport.py b/redfishtool/redfishtoolTransport.py -index 017fa11..f157eff 100644 ---- a/redfishtool/redfishtoolTransport.py -+++ b/redfishtool/redfishtoolTransport.py -@@ -39,7 +39,7 @@ import json - import sys - import socket - import time --from urllib.parse import urljoin, urlparse, urlunparse -+from urlparse import urljoin, urlparse, urlunparse - from requests.auth import HTTPBasicAuth, AuthBase - from .ServiceRoot import RfServiceRoot - -@@ -730,31 +730,32 @@ class RfTransport(): - return(0) - - -- def printVerbose(self,v,*argv, skip1=False, printV12=True,**kwargs): -+ def printVerbose(self,v, argv, skip1=False, printV12=True): - if(self.quiet): - return(0) - if( (v==1 or v==2) and (printV12 is True) and (self.verbose >= v )): - if(skip1 is True): print("#") -- print("#",*argv, **kwargs) -+ print("#", argv) - elif( (v==1 or v==2) and (self.verbose >4 )): - if(skip1 is True): print("#") -- print("#",*argv, **kwargs) -+ print("#", argv) - elif((v==3 ) and (printV12 is True) and (self.verbose >=v)): - if(skip1 is True): print("#") -- print("#REQUEST:",*argv,file=sys.stdout,**kwargs) -+ sys.stdout.write("#REQUEST:",argv) -+ # print("#REQUEST:",argv,file=sys.stdout) - elif((v==4 or v==5) and (self.verbose >=v)): - if(skip1 is True): print("#") -- print("#DB{}:".format(v),*argv,file=sys.stdout,**kwargs) -+ sys.stdout.write("#DB{}:".format(v),argv) -+ # print("#DB{}:".format(v),argv,file=sys.stdout) - elif( v==0): #print no mater value of verbose, but not if quiet=1 - if(skip1 is True): print("") -- print(*argv, **kwargs) -+ print(argv) - else: - pass - - sys.stdout.flush() - #if you set v= anything except 0,1,2,3,4,5 it is ignored - -- - def printStatus(self, s, r=None, hdrs=None, authMsg=None, addSessionLoginInfo=False): - if(self.quiet): - return(0) -@@ -785,22 +786,20 @@ class RfTransport(): - sys.stdout.flush() - - -- -- -- def printErr(self,*argv,noprog=False,prepend="",**kwargs): -+ def printErr(self,argv,noprog=False,prepend=""): - if( self.quiet == False): - if(noprog is True): -- print(prepend,*argv, file=sys.stderr, **kwargs) -+ sys.stderr.write("{}{}".format(prepend,argv)) - else: -- print(prepend," {}:".format(self.program),*argv, file=sys.stderr, **kwargs) -+ sys.stderr.write("{} {}:{}".format(prepend, self.program, argv)) - else: - pass -- -+ - sys.stderr.flush() - return(0) - - -- def printStatusErr4xx(self, status_code,*argv,noprog=False, prepend="",**kwargs): -+ def printStatusErr4xx(self, status_code): - if(self.quiet): - return(0) - if( status_code < 400 ): -diff --git a/setup.py b/setup.py -index d37d099..481f429 100644 ---- a/setup.py -+++ b/setup.py -@@ -1,5 +1,6 @@ - from setuptools import setup - from os import path -+from io import open - - this_directory = path.abspath(path.dirname(__file__)) - with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f: --- -2.7.4 - diff --git a/recipes-devtools/python/python-3parclient_4.2.3.bb b/recipes-devtools/python/python-3parclient_4.2.3.bb deleted file mode 100644 index 547f44e..0000000 --- a/recipes-devtools/python/python-3parclient_4.2.3.bb +++ /dev/null @@ -1,26 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "HPE 3PAR HTTP REST Client" -HOMEPAGE = "https://pythonhosted.org/python-3parclient/" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=c6f4d3b3208673edc0228bbc3ad053cc" - -SRC_URI[md5sum] = "845e688b5607a71fc307e8371daf5d40" -SRC_URI[sha256sum] = "fcd1c5c7d9356f4244a6c0b2b6dd6c64366399642c348b02999ea8fbf79e3a8d" - -PYPI_PACKAGE = "python-3parclient" -inherit setuptools pypi diff --git a/recipes-devtools/python/python-adal_1.0.2.bb b/recipes-devtools/python/python-adal_1.0.2.bb deleted file mode 100644 index c919ddc..0000000 --- a/recipes-devtools/python/python-adal_1.0.2.bb +++ /dev/null @@ -1,41 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Microsoft Azure Active Directory Authentication Library (ADAL) for Python" -HOMEPAGE = "https://github.com/AzureAD/azure-activedirectory-library-for-python" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://setup.py;beginline=2;endline=27;md5=43b81fae9d7baa1f0b1c9774a68ca33a" - - -inherit pypi setuptools - -PYPI_PACKAGE = "adal" - -SRC_URI[md5sum] = "895791621c696fbbb00dee975260f890" -SRC_URI[sha256sum] = "4c020807b3f3cfd90f59203077dd5e1f59671833f8c3c5028ec029ed5072f9ce" - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-dateutil \ - ${PYTHON_PN}-pyjwt \ - ${PYTHON_PN}-crypt \ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-json \ - ${PYTHON_PN}-logging \ - ${PYTHON_PN}-netclient \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-xml \ - " diff --git a/recipes-devtools/python/python-alabaster_0.7.12.bb b/recipes-devtools/python/python-alabaster_0.7.12.bb deleted file mode 100644 index 5b7f7eb..0000000 --- a/recipes-devtools/python/python-alabaster_0.7.12.bb +++ /dev/null @@ -1,29 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = " \ - Alabaster is a visually (c)lean, responsive, configurable theme for the \ - Sphinx documentation system. It is Python 2+3 compatible. \ - " -HOMEPAGE = "https://alabaster.readthedocs.io/en/latest/" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=da053683d66d543813a727e8a30c96ca" - -SRC_URI[md5sum] = "3591827fde96d1dd23970fb05410ed04" -SRC_URI[sha256sum] = "a661d72d58e6ea8a57f7a86e37d86716863ee5e92788398526d58b26a4e4dc02" - -PYPI_PACKAGE = "alabaster" -inherit setuptools pypi diff --git a/recipes-devtools/python/python-amqp_2.5.2.bb b/recipes-devtools/python/python-amqp_2.5.2.bb deleted file mode 100644 index a479667..0000000 --- a/recipes-devtools/python/python-amqp_2.5.2.bb +++ /dev/null @@ -1,30 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Low-level AMQP client for Python" -HOMEPAGE = "https://pypi.python.org/pypi/amqp/" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9d6ba772ac59c08a25a12ce15bd5f27b" - -SRC_URI[md5sum] = "852ecff645c00f124c78915fcc8ea7c0" -SRC_URI[sha256sum] = "77f1aef9410698d20eaeac5b73a87817365f457a507d82edf292e12cbb83b08d" - -PYPI_PACKAGE = "amqp" -inherit setuptools pypi - -RDEPENDS_${PN} += " \ - python-vine \ - " diff --git a/recipes-devtools/python/python-aodhclient_git.bb b/recipes-devtools/python/python-aodhclient_git.bb deleted file mode 100644 index e10f005..0000000 --- a/recipes-devtools/python/python-aodhclient_git.bb +++ /dev/null @@ -1,61 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "client library for Aodh built on the Aodh API" -HOMEPAGE = "https://launchpad.net/python-aodhclient" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRCREV = "6d03e61986418a3a95635405ae65ae9f28a5c61e" -SRCNAME = "python-aodhclient" -BRANCH = "stable/train" -PROTOCOL = "https" -PV = "1.2.0+git${SRCPV}" -S = "${WORKDIR}/git" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools monitor rmargparse - -DEPENDS += " \ - python-pip \ - python-pbr-native\ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-pbr \ - python-cliff \ - python-oslo.i18n \ - python-oslo.serialization \ - python-oslo.utils \ - python-keystoneauth1 \ - python-six \ - python-osc-lib \ - python-pyparsing \ - " - - -do_install_append() { - : -} - -FILES_${PN} += " \ - " diff --git a/recipes-devtools/python/python-backports-init/backports/__init__.py b/recipes-devtools/python/python-backports-init/backports/__init__.py deleted file mode 100644 index febdb2f..0000000 --- a/recipes-devtools/python/python-backports-init/backports/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -# A Python "namespace package" http://www.python.org/dev/peps/pep-0382/ -# This always goes inside of a namespace package's __init__.py - -from pkgutil import extend_path -__path__ = extend_path(__path__, __name__) diff --git a/recipes-devtools/python/python-backports-init_1.0.bb b/recipes-devtools/python/python-backports-init_1.0.bb deleted file mode 100644 index 1848fad..0000000 --- a/recipes-devtools/python/python-backports-init_1.0.bb +++ /dev/null @@ -1,40 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -SUMMARY = "Helper package to avoid backports/__init__.py conflicts" -DETAIL = "backports packages in python2 suffer from a flaw in the namespace \ -implementation and can conflict with each other. For OE purposes, at least \ -fix the conflicting install of .../site-packages/backports/__init__.py" -AUTHOR = "Tim Orling " -SECTION = "devel/python" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -SRC_URI = "file://backports/__init__.py" - -inherit python-dir - -# provide to avoid warnings -do_compile() { - : -} - -do_install() { - install -d ${D}${PYTHON_SITEPACKAGES_DIR}/backports - install ${WORKDIR}/backports/__init__.py ${D}${PYTHON_SITEPACKAGES_DIR}/backports/ -} - -FILES_${PN} = "${PYTHON_SITEPACKAGES_DIR}/backports/__init__.py" diff --git a/recipes-devtools/python/python-barbican_git.bb b/recipes-devtools/python/python-barbican_git.bb deleted file mode 100644 index 80f3fdf..0000000 --- a/recipes-devtools/python/python-barbican_git.bb +++ /dev/null @@ -1,169 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Barbican is a ReST API designed for the secure storage, provisioning and management of secrets." -HOMEPAGE = "https://wiki.openstack.org/wiki/Barbican" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=fc8be9e7dffe97390d1216b01fd0be01" - -PR = "r0" -SRCNAME = "barbican" -BARBICAN_MAX_PACKET_SIZE ?= "65535" - -SRC_URI = " \ - git://github.com/openstack/barbican.git;branch=${BRANCH} \ - file://${BPN}/barbican-fix-path-to-find-configuration-files.patch \ - file://${BPN}/openstack-barbican-api.service \ - file://${BPN}/openstack-barbican-worker.service \ - file://${BPN}/openstack-barbican-keystone-listener.service \ - file://${BPN}/gunicorn-config.py \ - " - -SRCREV = "4c0ddda941289fba8e5ec4341b5d02d155d46162" -BRANCH = "stable/stein" -PV = "8.0.0+git${SRCPV}" -S = "${WORKDIR}/git" - -inherit update-rc.d setuptools identity hosts useradd default_configs monitor systemd - -SYSTEMD_SERVICE_${SRCNAME} = " \ - openstack-barbican-api.service \ - openstack-barbican-worker.service \ - openstack-barbican-keystone-listener.service \ - " - -SYSTEMD_AUTO_ENABLE_${SRCNAME} = "disable" - -SERVICECREATE_PACKAGES = "${SRCNAME}-setup" -KEYSTONE_HOST="${CONTROLLER_IP}" - -# USERCREATE_PARAM and SERVICECREATE_PARAM contain the list of parameters to be set. -# If the flag for a parameter in the list is not set here, the default value will be given to that parameter. -# Parameters not in the list will be set to empty. - -USERCREATE_PARAM_${SRCNAME}-setup = "name pass tenant role email" -SERVICECREATE_PARAM_${SRCNAME}-setup = "name type description region publicurl adminurl internalurl" -python () { - flags = {'type':'keystore',\ - 'description':'Barbican Key Management Service',\ - 'publicurl':"'http://${KEYSTONE_HOST}:9311/v1'",\ - 'adminurl':"'http://${KEYSTONE_HOST}:9312/v1'",\ - 'internalurl':"'http://${KEYSTONE_HOST}:9313/v1'"} - d.setVarFlags("SERVICECREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags) -} -SERVICECREATE_PACKAGES[vardeps] += "KEYSTONE_HOST" - -do_install_append() { - TEMPLATE_CONF_DIR=${S}${sysconfdir}/${SRCNAME} - BARBICAN_CONF_DIR=${D}${sysconfdir}/${SRCNAME} - - install -d ${BARBICAN_CONF_DIR} - cp -r ${TEMPLATE_CONF_DIR}/* ${BARBICAN_CONF_DIR} - - install -d ${D}${localstatedir}/lib/barbican - - # Install the systemd service files - install -d ${D}${systemd_system_unitdir}/ - install -m 644 ${WORKDIR}/${BPN}/*.service ${D}${systemd_system_unitdir} - - # python-gunicorn and gunicorn-config.py are required by openstack-barbican-api.service - install -m 644 ${WORKDIR}/${PN}/gunicorn-config.py ${BARBICAN_CONF_DIR} - - # Modify barbican-api-paste.ini for gunicorn - echo '[server:main]' >> ${BARBICAN_CONF_DIR}/barbican-api-paste.ini - echo 'use = egg:gunicorn#main' >> ${BARBICAN_CONF_DIR}/barbican-api-paste.ini - - sed -e "s:%BARBICAN_CONF_DIR%:${sysconfdir}/${SRCNAME}:g" \ - -i ${D}/${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}/tests/api/test_resources_policy.py -} - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system barbican" -USERADD_PARAM_${PN} = "--system --home /var/lib/barbican -g barbican \ - --no-create-home --shell /bin/false barbican" - -PACKAGES += "${SRCNAME} \ - ${SRCNAME}-setup " - -FILES_${PN} = "${libdir}/* \ -" -FILES_${SRCNAME} = "${sysconfdir}/${SRCNAME}/* \ - ${sysconfdir}/init.d/barbican-api \ - ${bindir} \ - ${bindir}/* \ - ${localstatedir}/* \ - ${systemd_system_unitdir} \ -" - -ALLOW_EMPTY_${SRCNAME}-setup = "1" -pkg_postinst_${SRCNAME}-setup () { - if [ -z "$D" ]; then - chown -R barbican:barbican ${sysconfdir}/${SRCNAME} - chown -R barbican:barbican ${localstatedir}/lib/barbican - fi -} - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " -# Stx config files -DEPENDS += " \ - openstack-barbican-api \ - " - - -RDEPENDS_${SRCNAME} = "${PN} \ - ${SRCNAME}-setup \ - uwsgi \ - python-falcon \ - python-oslo.messaging" - -RDEPENDS_${PN} += " \ - python-pip \ - python-pbr \ - python-alembic \ - python-babel \ - python-eventlet \ - python-falcon \ - python-iso8601 \ - python-jsonschema \ - python-kombu \ - python-netaddr \ - python-pastedeploy \ - python-paste \ - python-pycrypto \ - python-pysqlite \ - python-keystoneclient \ - python-sqlalchemy \ - python-stevedore \ - python-webob \ - python-wsgiref \ - python-barbicanclient \ - python-gunicorn \ - python-castellan \ - python-ldap3 \ - " - -INITSCRIPT_PACKAGES = "${SRCNAME}" -INITSCRIPT_NAME_${SRCNAME} = "barbican-api" -INITSCRIPT_PARAMS_${SRCNAME} = "${OS_DEFAULT_INITSCRIPT_PARAMS}" - -MONITOR_SERVICE_PACKAGES = "${SRCNAME}" -MONITOR_SERVICE_${SRCNAME} = "barbican" - - -FILES_${PN}_append = " ${datadir}/" diff --git a/recipes-devtools/python/python-castellan_git.bb b/recipes-devtools/python/python-castellan_git.bb deleted file mode 100644 index aacd868..0000000 --- a/recipes-devtools/python/python-castellan_git.bb +++ /dev/null @@ -1,49 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Generic Key Manager interface for OpenStack" -HOMEPAGE = "https://github.com/openstack/castellan" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRCREV = "8e2929b8779eaa03f15a25da5cf64ef8539a026b" -SRCNAME = "castellan" -PROTOCOL = "https" -BRANCH = "stable/stein" -S = "${WORKDIR}/git" -PV = "0.17.0+git${SRCPV}" - -SRC_URI = "git://opendev.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-pbr \ - python-babel \ - python-cryptography \ - python-barbicanclient \ - python-oslo.config \ - python-oslo.context \ - python-oslo.i18n \ - python-oslo.log \ - python-oslo.utils \ - python-keystoneauth1 \ - " diff --git a/recipes-devtools/python/python-cinderclient/cinder-api-check.sh b/recipes-devtools/python/python-cinderclient/cinder-api-check.sh deleted file mode 100644 index 9e64f8b..0000000 --- a/recipes-devtools/python/python-cinderclient/cinder-api-check.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/bash - -CMD="cinder list" - -data=$($CMD 2>&1) -res=$? -if [ ${res} -eq 127 ]; then - exit 0 -elif [ ${res} -ne 0 ]; then - echo "OpenStack \"cinder api\" failed: " - echo $data - exit $res -fi -exit 0 diff --git a/recipes-devtools/python/python-cinderclient_git.bb b/recipes-devtools/python/python-cinderclient_git.bb deleted file mode 100644 index 3d431d5..0000000 --- a/recipes-devtools/python/python-cinderclient_git.bb +++ /dev/null @@ -1,63 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Client for the OpenStack Cinder API" -HOMEPAGE = "https://opendev.org/openstack/python-cinderclient" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3572962e13e5e739b30b0864365e0795" - -SRCREV = "4e17e1d1912f1902a37e4db543e38cdbe3961358" -SRCNAME = "python-cinderclient" -BRANCH = "stable/train" -PROTOCOL = "https" -PV = "4.1.0+git${SRCPV}" -S = "${WORKDIR}/git" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " \ - python-pip \ - python-pbr-native\ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - bash \ - python-pbr \ - python-prettytable \ - python-keystoneauth1 \ - python-oslo.i18n \ - python-oslo.utils \ - python-six \ - python-osc-lib \ - python-babel \ - python-requests \ - python-simplejson \ - " - - -do_install_append() { - : -} - -FILES_${PN} += " \ - " diff --git a/recipes-devtools/python/python-cliff_2.14.1.bb b/recipes-devtools/python/python-cliff_2.14.1.bb deleted file mode 100644 index bfcd2b7..0000000 --- a/recipes-devtools/python/python-cliff_2.14.1.bb +++ /dev/null @@ -1,47 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Command Line Interface Formulation Framework" -HOMEPAGE = "https://github.com/dreamhost/cliff" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI[md5sum] = "4c5d43d98970c79b091e25676cce2b10" -SRC_URI[sha256sum] = "b47387a344898ccb28ca7f386f017ade9eb66dc1713e5c642a0bc09ec606cc67" - -inherit setuptools pypi - -DEPENDS += "\ - python-pbr \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN} += "python-prettytable \ - python-cmd2 \ - python-pbr \ - python-pyparsing \ - python-prettytable \ - python-six \ - python-stevedore \ - python-unicodecsv \ - python-pyyaml \ -" - -CLEANBROKEN = "1" diff --git a/recipes-devtools/python/python-dateutil.inc b/recipes-devtools/python/python-dateutil.inc deleted file mode 100644 index aafb569..0000000 --- a/recipes-devtools/python/python-dateutil.inc +++ /dev/null @@ -1,38 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -SUMMARY = "Extensions to the standard Python datetime module" -DESCRIPTION = "The dateutil module provides powerful extensions to the datetime module available in the Python standard library." -HOMEPAGE = "https://dateutil.readthedocs.org" -LICENSE = "BSD-3-Clause & Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e3155c7bdc71f66e02678411d2abf996" - -SRC_URI[md5sum] = "f2a1d4b680b297b367a974664ca3a4f6" -SRC_URI[sha256sum] = "73ebfe9dbf22e832286dafa60473e4cd239f8592f699aa5adaf10050e6e1823c" - -PYPI_PACKAGE = "python-dateutil" -inherit pypi - -PACKAGES =+ "${PN}-zoneinfo" -FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -RDEPENDS_${PN}_class-target = "\ - ${PYTHON_PN}-datetime \ - ${PYTHON_PN}-numbers \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-stringold \ -" diff --git a/recipes-devtools/python/python-dateutil_2.8.1.bb b/recipes-devtools/python/python-dateutil_2.8.1.bb deleted file mode 100644 index dfb2f2b..0000000 --- a/recipes-devtools/python/python-dateutil_2.8.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -inherit setuptools -require python-dateutil.inc diff --git a/recipes-devtools/python/python-defusedxml_0.6.0.bb b/recipes-devtools/python/python-defusedxml_0.6.0.bb deleted file mode 100644 index e642c1c..0000000 --- a/recipes-devtools/python/python-defusedxml_0.6.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -SUMMARY = "defusedxml -- defusing XML bombs and other exploits" -HOMEPAGE = "https://github.com/tiran/defusedxml" - -LICENSE = "Python-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=056fea6a4b395a24d0d278bf5c80249e" -#a5c8025e305fb49e6d405769358851f6 - -SRC_URI[md5sum] = "a59741f675c4cba649de40a99f732897" -SRC_URI[sha256sum] = "f684034d135af4c6cbb949b8a4d2ed61634515257a67299e5f940fbaa34377f5" - -inherit pypi setuptools diff --git a/recipes-devtools/python/python-django-babel_git.bb b/recipes-devtools/python/python-django-babel_git.bb deleted file mode 100644 index 02f2966..0000000 --- a/recipes-devtools/python/python-django-babel_git.bb +++ /dev/null @@ -1,39 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Tools for using Babel with Django" -HOMEPAGE = "https://github.com/python-babel/django-babel" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=5ae97ab65116b8d7890c59de57577b46" - -SRCREV = "1da5c0ba7ef3b12810154d9e64b3e847ecbb06cc" -SRCNAME = "django-babel" -BRANCH = "master" -PROTOCOL = "https" -PV = "0.6.2+git${SRCPV}" -S = "${WORKDIR}/git" - -SRC_URI = "git://github.com/python-babel/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " python-pip" - -RDEPENDS_${PN}_append = " \ - python-django \ - python-babel \ - " - diff --git a/recipes-devtools/python/python-django_git.bb b/recipes-devtools/python/python-django_git.bb deleted file mode 100644 index 4346361..0000000 --- a/recipes-devtools/python/python-django_git.bb +++ /dev/null @@ -1,36 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "client library for Aodh built on the Aodh API" -HOMEPAGE = "https://launchpad.net/python-aodhclient" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause & Python-2.0" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=f09eb47206614a4954c51db8a94840fa\ - file://LICENSE.python;md5=6b60258130e4ed10d3101517eb5b9385 \ - " - -SRCREV = "1c9cb948d7b0c264d244763b6682ab790a6b90a0" -SRCNAME = "django" -BRANCH = "stable/1.11.x" -PROTOCOL = "https" -PV = "1.11.20+git${SRCPV}" -S = "${WORKDIR}/git" - -SRC_URI = "git://github.com/django/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -FILES_${PN} += "${datadir}/django/" diff --git a/recipes-devtools/python/python-docker_3.3.0.bb b/recipes-devtools/python/python-docker_3.3.0.bb deleted file mode 100644 index 820a685..0000000 --- a/recipes-devtools/python/python-docker_3.3.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "A Python library for the Docker Engine API" -HOMEPAGE = "https://pypi.org/project/docker/3.3.0" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=34f3846f940453127309b920eeb89660" - -SRC_URI[md5sum] = "660c3c0c3776cb88f34fc549d7c89ed2" -SRC_URI[sha256sum] = "dc5cc0971a0d36fe94c5ce89bd4adb6c892713500af7b0818708229c3199911a" - -inherit setuptools pypi - -RDEPENDS_${PN}_append = " \ - python-docker-pycreds \ - python-backports-ssl \ - " diff --git a/recipes-devtools/python/python-futurist_1.8.1.bb b/recipes-devtools/python/python-futurist_1.8.1.bb deleted file mode 100644 index c7d671e..0000000 --- a/recipes-devtools/python/python-futurist_1.8.1.bb +++ /dev/null @@ -1,40 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Useful additions to futures, from the future" -HOMEPAGE = "https://pypi.python.org/pypi/futurist" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRC_URI[md5sum] = "3e5a4b8254ded1624ec807cb7ae04ba5" -SRC_URI[sha256sum] = "499ee57728a987028725f836ac22aa18899702162fa0a0f1bbe2ecd5c8daf1eb" - -inherit setuptools pypi - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-pbr \ - python-six \ - python-monotonic \ - python-futures \ - python-contextlib2 \ - python-prettytable \ - " - diff --git a/recipes-devtools/python/python-glanceclient_git.bb b/recipes-devtools/python/python-glanceclient_git.bb deleted file mode 100644 index 39d09aa..0000000 --- a/recipes-devtools/python/python-glanceclient_git.bb +++ /dev/null @@ -1,62 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Client library for Glance built on the OpenStack Images API." -HOMEPAGE = "https://opendev.org/openstack/python-glanceclient" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" - -SRCREV = "44a4dbd6ce2642daeaca9f45ac99e2d1b39e805a" -SRCNAME = "python-glanceclient" -BRANCH = "stable/train" -PROTOCOL = "https" -PV = "2.16.0+git${SRCPV}" -S = "${WORKDIR}/git" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools monitor rmargparse - -DEPENDS += " \ - python-pip \ - python-pbr-native\ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - bash \ - python-pbr \ - python-prettytable \ - python-keystoneauth1 \ - python-warlock \ - python-six \ - python-oslo.utils \ - python-oslo.i18n \ - python-wrapt \ - python-pyopenssl \ - " - - -do_install_append() { - : -} - -FILES_${PN} += " \ - " diff --git a/recipes-devtools/python/python-gnocchiclient_7.0.4.bb b/recipes-devtools/python/python-gnocchiclient_7.0.4.bb deleted file mode 100644 index 5e1e933..0000000 --- a/recipes-devtools/python/python-gnocchiclient_7.0.4.bb +++ /dev/null @@ -1,36 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "python-gnocchiclient" -STABLE = "master" -PROTOCOL = "https" -BRANCH = "master" -SRCREV = "64814b9ace54e0151e9c28f4e57b87dafc984241" -S = "${WORKDIR}/git" -PV = "7.0.4" - -LICENSE = "Apache-2.0" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRC_URI = "git://github.com/gnocchixyz/python-gnocchiclient.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" -DEPENDS += " \ - python \ - python-pbr-native \ - " - -RDEPENDS_${PN}_append = " python-ujson" - -inherit setuptools diff --git a/recipes-devtools/python/python-imagesize_1.2.0.bb b/recipes-devtools/python/python-imagesize_1.2.0.bb deleted file mode 100644 index ead33f5..0000000 --- a/recipes-devtools/python/python-imagesize_1.2.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = " \ - This module analyzes JPEG/JPEG 2000/PNG/GIF/TIFF/SVG image headers and returns image size. \ - " -HOMEPAGE = "https://github.com/shibukawa/imagesize_py" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=0c128f0f7e8a02e1b83884c0b5a41cda" - -SRC_URI[md5sum] = "3a1e124594183778a8f87e4bcdb6dca9" -SRC_URI[sha256sum] = "b1f6b5a4eab1f73479a50fb79fcf729514a900c341d8503d62a62dbc4127a2b1" - -PYPI_PACKAGE = "imagesize" -inherit setuptools pypi diff --git a/recipes-devtools/python/python-importlib-metadata_0.23.bb b/recipes-devtools/python/python-importlib-metadata_0.23.bb deleted file mode 100644 index da8b2ab..0000000 --- a/recipes-devtools/python/python-importlib-metadata_0.23.bb +++ /dev/null @@ -1,42 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -SUMMARY = "Read metadata from Python packages" -DESCRIPTION = "Read metadata from Python packages" -HOMEPAGE = "https://pypi.org/project/importlib-metadata/" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e88ae122f3925d8bde8319060f2ddb8e" - -SRC_URI[md5sum] = "80d677d744995336c9c22d21a85ddeb8" -SRC_URI[sha256sum] = "aa18d7378b00b40847790e7c27e11673d7fed219354109d0e7b9e5b25dc3ad26" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" - -PYPI_PACKAGE = "importlib_metadata" - -inherit pypi setuptools - -S = "${WORKDIR}/importlib_metadata-${PV}" - -RDEPENDS_${PN} += "\ - ${PYTHON_PN}-zipp \ - ${PYTHON_PN}-pathlib2 \ - python-compression \ - python-configparser \ - python-contextlib2 \ - python-pathlib2 \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-devtools/python/python-ironicclient_2.7.0.bb b/recipes-devtools/python/python-ironicclient_2.7.0.bb deleted file mode 100644 index 33d4683..0000000 --- a/recipes-devtools/python/python-ironicclient_2.7.0.bb +++ /dev/null @@ -1,39 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "python-ironicclient" -STABLE = "master" -PROTOCOL = "https" -BRANCH = "master" -PV = "2.7.0" - -LICENSE = "Apache-2.0" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRC_URI = "https://tarballs.openstack.org/python-ironicclient/python-ironicclient-${PV}.tar.gz" -SRC_URI[md5sum] = "6b13e133eb0c521a09c377f28fef139e" - -DEPENDS += " \ - python \ - python-pbr-native \ - " - -inherit setuptools - -RDEPENDS_${PN}_append = " \ - bash \ - python-dogpile.cache \ - " diff --git a/recipes-devtools/python/python-keystone_git.bb b/recipes-devtools/python/python-keystone_git.bb deleted file mode 100644 index e6f3b6c..0000000 --- a/recipes-devtools/python/python-keystone_git.bb +++ /dev/null @@ -1,317 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Authentication service for OpenStack" -HOMEPAGE = "http://www.openstack.org" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRCREV = "c78581b4608f3dc10e945d358963000f284f188a" -SRCNAME = "keystone" -PROTOCOL = "git" -BRANCH = "stable/stein" -S = "${WORKDIR}/git" -PV = "15.0.0+git${SRCPV}" - - -SRC_URI = " \ - git://opendev.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};branch=${BRANCH} \ - file://${PN}/keystone.conf \ - file://${PN}/identity.sh \ - file://${PN}/convert_keystone_backend.py \ - file://${PN}/wsgi-keystone.conf \ - file://${PN}/admin-openrc \ - file://${PN}/keystone-init.service \ - file://${PN}/stx-files/openstack-keystone.service \ - file://${PN}/stx-files/keystone-all \ - file://${PN}/stx-files/keystone-fernet-keys-rotate-active \ - file://${PN}/stx-files/public.py \ - file://${PN}/stx-files/password-rules.conf \ - " - - -inherit setuptools identity hosts default_configs monitor useradd systemd - -SERVICE_TOKEN = "password" -TOKEN_FORMAT ?= "PKI" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system -m -s /bin/false keystone" - -LDAP_DN ?= "dc=my-domain,dc=com" - -SERVICECREATE_PACKAGES = "${SRCNAME}-setup" -KEYSTONE_HOST="${CONTROLLER_IP}" - -# USERCREATE_PARAM and SERVICECREATE_PARAM contain the list of parameters to be -# set. If the flag for a parameter in the list is not set here, the default -# value will be given to that parameter. Parameters not in the list will be set -# to empty. - -USERCREATE_PARAM_${SRCNAME}-setup = "name pass tenant role email" -python () { - flags = {'name':'${ADMIN_USER}',\ - 'pass':'${ADMIN_PASSWORD}',\ - 'tenant':'${ADMIN_TENANT}',\ - 'role':'${ADMIN_ROLE}',\ - 'email':'${ADMIN_USER_EMAIL}',\ - } - d.setVarFlags("USERCREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags) -} - -SERVICECREATE_PARAM_${SRCNAME}-setup = "name type description region publicurl adminurl internalurl" -python () { - flags = {'type':'identity',\ - 'description':'OpenStack Identity',\ - 'publicurl':"'http://${KEYSTONE_HOST}:8081/keystone/main/v2.0'",\ - 'adminurl':"'http://${KEYSTONE_HOST}:8081/keystone/admin/v2.0'",\ - 'internalurl':"'http://${KEYSTONE_HOST}:8081/keystone/main/v2.0'"} - d.setVarFlags("SERVICECREATE_PARAM_%s-setup" % d.getVar('SRCNAME',True), flags) -} - -do_install_append() { - - KEYSTONE_CONF_DIR=${D}${sysconfdir}/keystone - KEYSTONE_DATA_DIR=${D}${localstatedir}/lib/keystone - KEYSTONE_PACKAGE_DIR=${D}${PYTHON_SITEPACKAGES_DIR}/keystone - APACHE_CONF_DIR=${D}${sysconfdir}/apache2/conf.d/ - - - # Create directories - install -m 755 -d ${KEYSTONE_CONF_DIR} - install -m 755 -d ${KEYSTONE_DATA_DIR} - install -m 755 -d ${APACHE_CONF_DIR} - install -d ${D}${localstatedir}/log/${SRCNAME} - - # Setup the systemd service file - install -d ${D}${systemd_system_unitdir}/ - install -m 644 ${WORKDIR}/${PN}/keystone-init.service ${D}${systemd_system_unitdir}/keystone-init.service - - mv ${D}/${datadir}/etc/keystone/sso_callback_template.html ${KEYSTONE_CONF_DIR}/ - rm -rf ${D}/${datadir} - - # Setup the admin-openrc file - KS_OPENRC_FILE=${KEYSTONE_CONF_DIR}/admin-openrc - install -m 600 ${WORKDIR}/${PN}/admin-openrc ${KS_OPENRC_FILE} - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${KS_OPENRC_FILE} - sed -e "s:%ADMIN_USER%:${ADMIN_USER}:g" -i ${KS_OPENRC_FILE} - sed -e "s:%ADMIN_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${KS_OPENRC_FILE} - - # Install various configuration files. We have to select suitable - # permissions as packages such as Apache require read access. - # - # Apache needs to read the keystone.conf - install -m 644 ${WORKDIR}/${PN}/keystone.conf ${KEYSTONE_CONF_DIR}/ - # Apache needs to read the wsgi-keystone.conf - install -m 644 ${WORKDIR}/${PN}/wsgi-keystone.conf ${APACHE_CONF_DIR}/keystone.conf - install -m 600 ${S}${sysconfdir}/logging.conf.sample ${KEYSTONE_CONF_DIR}/logging.conf - - # Copy examples from upstream - cp -r ${S}/examples ${KEYSTONE_PACKAGE_DIR} - - # Edit the configuration to allow it to work out of the box - KEYSTONE_CONF_FILE=${KEYSTONE_CONF_DIR}/keystone.conf - sed "/# admin_endpoint = .*/a \ - public_endpoint = http://%CONTROLLER_IP%:5000/ " \ - -i ${KEYSTONE_CONF_FILE} - - sed "/# admin_endpoint = .*/a \ - admin_endpoint = http://%CONTROLLER_IP%:35357/ " \ - -i ${KEYSTONE_CONF_FILE} - - sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${KEYSTONE_CONF_FILE} - sed -e "s:%DB_USER%:${DB_USER}:g" -i ${KEYSTONE_CONF_FILE} - sed -e "s:%DB_PASSWORD%:${DB_PASSWORD}:g" -i ${KEYSTONE_CONF_FILE} - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${KEYSTONE_CONF_FILE} - sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${KEYSTONE_CONF_FILE} - sed -e "s:%TOKEN_FORMAT%:${TOKEN_FORMAT}:g" -i ${KEYSTONE_CONF_FILE} - - install -d ${KEYSTONE_PACKAGE_DIR}/tests/tmp - if [ -e "${KEYSTONE_PACKAGE_DIR}/tests/test_overrides.conf" ];then - sed -e "s:%KEYSTONE_PACKAGE_DIR%:${PYTHON_SITEPACKAGES_DIR}/keystone:g" \ - -i ${KEYSTONE_PACKAGE_DIR}/tests/test_overrides.conf - fi - - if ${@bb.utils.contains('DISTRO_FEATURES', 'OpenLDAP', 'true', 'false', d)}; - then - sed -i -e '/^\[identity\]/a \ -driver = keystone.identity.backends.hybrid_identity.Identity \ -\ -[assignment]\ -driver = keystone.assignment.backends.hybrid_assignment.Assignment\ -' ${D}${sysconfdir}/keystone/keystone.conf - - sed -i -e '/^\[ldap\]/a \ -url = ldap://localhost \ -user = cn=Manager,${LDAP_DN} \ -password = secret \ -suffix = ${LDAP_DN} \ -use_dumb_member = True \ -\ -user_tree_dn = ou=Users,${LDAP_DN} \ -user_attribute_ignore = enabled,email,tenants,default_project_id \ -user_id_attribute = uid \ -user_name_attribute = uid \ -user_mail_attribute = email \ -user_pass_attribute = keystonePassword \ -\ -tenant_tree_dn = ou=Groups,${LDAP_DN} \ -tenant_desc_attribute = description \ -tenant_domain_id_attribute = businessCategory \ -tenant_attribute_ignore = enabled \ -tenant_objectclass = groupOfNames \ -tenant_id_attribute = cn \ -tenant_member_attribute = member \ -tenant_name_attribute = ou \ -\ -role_attribute_ignore = enabled \ -role_objectclass = groupOfNames \ -role_member_attribute = member \ -role_id_attribute = cn \ -role_name_attribute = ou \ -role_tree_dn = ou=Roles,${LDAP_DN} \ -' ${KEYSTONE_CONF_FILE} - - install -m 0755 ${WORKDIR}/${PN}/convert_keystone_backend.py \ - ${D}${sysconfdir}/keystone/convert_keystone_backend.py - fi - - - install -m 755 ${WORKDIR}/${PN}/stx-files/keystone-fernet-keys-rotate-active ${D}/${bindir}/keystone-fernet-keys-rotate-active - install -m 440 ${WORKDIR}/${PN}/stx-files/password-rules.conf ${KEYSTONE_CONF_DIR}/password-rules.conf - install -m 755 ${WORKDIR}/${PN}/stx-files/public.py ${KEYSTONE_DATA_DIR}/public.py - install -m 644 ${WORKDIR}/${PN}/stx-files/openstack-keystone.service ${D}${systemd_system_unitdir}/openstack-keystone.service - install -m 755 ${WORKDIR}/${PN}/stx-files/keystone-all ${D}${bindir}/keystone-all - -} - -# By default tokens are expired after 1 day so by default we can set -# this token flush cronjob to run every 2 days -KEYSTONE_TOKEN_FLUSH_TIME ??= "0 0 */2 * *" - -pkg_postinst_${SRCNAME}-cronjobs () { - if [ -z "$D" ]; then - # By default keystone expired tokens are not automatic removed out of the - # database. So we create a cronjob for cleaning these expired tokens. - echo "${KEYSTONE_TOKEN_FLUSH_TIME} root /usr/bin/keystone-manage token_flush" >> /etc/crontab - fi -} - -pkg_postinst_${SRCNAME} () { - # openstak-keystone will be run in httpd/apache2 instead of standalone - ln -sf ${systemd_system_unitdir}/apache2.service $D${sysconfdir}/systemd/system/openstack-keystone.service -} - -PACKAGES += " ${SRCNAME}-tests ${SRCNAME} ${SRCNAME}-setup ${SRCNAME}-cronjobs" - -SYSTEMD_PACKAGES += "${SRCNAME}-setup" -SYSTEMD_SERVICE_${SRCNAME}-setup = "keystone-init.service" -SYSTEMD_SERVICE_${SRCNAME} = "openstack-keystone.service" - -SYSTEMD_AUTO_ENABLE_${SRCNAME}-setup = "disable" -SYSTEMD_AUTO_ENABLE_${SRCNAME} = "disable" - -FILES_${SRCNAME}-setup = " \ - ${systemd_system_unitdir}/keystone-init.service \ - " - -ALLOW_EMPTY_${SRCNAME}-cronjobs = "1" - -FILES_${PN} = "${libdir}/* \ - " - -FILES_${SRCNAME}-tests = "${sysconfdir}/${SRCNAME}/run_tests.sh" - -FILES_${SRCNAME} = "${bindir}/* \ - ${sysconfdir}/${SRCNAME}/* \ - ${localstatedir}/* \ - ${datadir}/openstack-dashboard/openstack_dashboard/api/keystone-httpd.py \ - ${sysconfdir}/apache2/conf.d/keystone.conf \ - ${systemd_system_unitdir}/openstack-keystone.service \ - " - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-babel \ - python-pbr \ - python-webob \ - python-pastedeploy \ - python-paste \ - python-routes \ - python-cryptography \ - python-six \ - python-sqlalchemy \ - python-sqlalchemy-migrate \ - python-stevedore \ - python-passlib \ - python-keystoneclient \ - python-keystonemiddleware \ - python-bcrypt \ - python-scrypt \ - python-oslo.cache \ - python-oslo.concurrency \ - python-oslo.config \ - python-oslo.context \ - python-oslo.messaging \ - python-oslo.db \ - python-oslo.i18n \ - python-oslo.log \ - python-oslo.middleware \ - python-oslo.policy \ - python-oslo.serialization \ - python-oslo.utils \ - python-oauthlib \ - python-pysaml2 \ - python-dogpile.cache \ - python-jsonschema \ - python-pycadf \ - python-msgpack \ - python-osprofiler \ - python-flask \ - python-flask-restful \ - python-pytz \ - " - -RDEPENDS_${SRCNAME}-tests += " bash" - -PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'OpenLDAP', 'OpenLDAP', '', d)}" -PACKAGECONFIG[OpenLDAP] = ",,,python-ldap python-keystone-hybrid-backend" - -# TODO: -# if DISTRO_FEATURE contains "tempest" then add *-tests to the main RDEPENDS - -RDEPENDS_${SRCNAME} = " \ - ${PN} \ - postgresql \ - postgresql-client \ - python-psycopg2 \ - apache2 \ - " - -RDEPENDS_${SRCNAME}-setup = "postgresql sudo ${SRCNAME}" -RDEPENDS_${SRCNAME}-cronjobs = "cronie ${SRCNAME}" - -MONITOR_SERVICE_PACKAGES = "${SRCNAME}" -MONITOR_SERVICE_${SRCNAME} = "keystone" diff --git a/recipes-devtools/python/python-keystoneauth1.inc b/recipes-devtools/python/python-keystoneauth1.inc deleted file mode 100644 index ce1c0fd..0000000 --- a/recipes-devtools/python/python-keystoneauth1.inc +++ /dev/null @@ -1,43 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Authentication Library for OpenStack Identity" -HOMEPAGE = "https://pypi.python.org/pypi/keystoneauth1" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=96f840d59b245a1c817fbcb901afc574" - -SRC_URI[md5sum] = "0864f3485db8709d1dec0c8fa6073a31" -SRC_URI[sha256sum] = "db91ccab5cc43dac4a25dc2c090642d7c31f9ceb28df2c685620d7c12335a8cd" - -inherit pypi - -DEPENDS += " \ - ${PYTHON_PN}-pbr \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - ${PYTHON_PN}-pbr-native \ - " - -RDEPENDS_${PN} += " \ - ${PYTHON_PN}-pbr \ - ${PYTHON_PN}-iso8601 \ - ${PYTHON_PN}-requests \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-stevedore \ - python2-os-service-types \ - " diff --git a/recipes-devtools/python/python-keystoneauth1_3.17.1.bb b/recipes-devtools/python/python-keystoneauth1_3.17.1.bb deleted file mode 100644 index 2100f2d..0000000 --- a/recipes-devtools/python/python-keystoneauth1_3.17.1.bb +++ /dev/null @@ -1,17 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -inherit setuptools -require python-keystoneauth1.inc diff --git a/recipes-devtools/python/python-keystonemiddleware_git.bb b/recipes-devtools/python/python-keystonemiddleware_git.bb deleted file mode 100644 index 6161939..0000000 --- a/recipes-devtools/python/python-keystonemiddleware_git.bb +++ /dev/null @@ -1,60 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Middleware for Openstack identity API" -HOMEPAGE = "https://launchpad.net/keystonemiddleware" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=4a4d0e932ffae1c0131528d30d419c55" - -SRCREV = "83d0612e03471f56be3be2b521cc21974118cebe" -SRCNAME = "keystonemiddleware" -BRANCH = "stable/train" -PROTOCOL = "https" -PV = "5.1.0" -S = "${WORKDIR}/git" - -SRC_URI = "git://git.openstack.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - - -inherit setuptools - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-keystoneauth1 \ - python-oslo.cache \ - python-oslo.config \ - python-oslo.context \ - python-oslo.i18n \ - python-oslo.log \ - python-oslo.serialization \ - python-oslo.utils \ - python-pbr \ - python-positional \ - python-pycadf \ - python-keystoneclient \ - python-requests \ - python-six \ - python-webob \ - " diff --git a/recipes-devtools/python/python-kubernetes_8.0.0.bb b/recipes-devtools/python/python-kubernetes_8.0.0.bb deleted file mode 100644 index 2063104..0000000 --- a/recipes-devtools/python/python-kubernetes_8.0.0.bb +++ /dev/null @@ -1,31 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Kubernetes python client" -HOMEPAGE = "https://pypi.org/project/kubernetes/8.0.0" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ad09685d909e7a9f763d2bb62d4bd6fb" - -SRC_URI[md5sum] = "c1d6d0ac57a8a49c5fd383a39ee9ab4b" -SRC_URI[sha256sum] = "54f8e7bb1dd9a55cf416dff76a63c4ae441764280942d9913f2243676f29d02c" - -inherit setuptools pypi - -RDEPENDS_${PN}_append = " \ - ${PYTHON_PN}-adal \ - ${PYTHON_PN}-google-auth \ - ${PYTHON_PN}-requests-oauthlib \ - " diff --git a/recipes-devtools/python/python-ldap_3.2.0.bb b/recipes-devtools/python/python-ldap_3.2.0.bb deleted file mode 100644 index e73b40e..0000000 --- a/recipes-devtools/python/python-ldap_3.2.0.bb +++ /dev/null @@ -1,46 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# -# Copyright (C) 2012 Wind River Systems, Inc. -# -SUMMARY = "Provides a wrapper in Python to LDAP" -DESCRIPTION = "This module provides access to the LDAP \ -(Lightweight Directory Access Protocol) through Python operations \ -instead of C API. The module mainly acts as a wrapper for the \ -OpenLDAP 2.x libraries. Errors will appear as exceptions." - -LICENSE = "PSF" -HOMEPAGE = "http://www.python-ldap.org/" -DEPENDS = "python openldap cyrus-sasl" - -PYPI_PACKAGE = "python-ldap" -inherit pypi setuptools - -LIC_FILES_CHKSUM = "file://LICENCE;md5=36ce9d726d0321b73c1521704d07db1b" -SRC_URI[md5sum] = "fe22522208dc9b06d16eb70f8553eaab" -SRC_URI[sha256sum] = "7d1c4b15375a533564aad3d3deade789221e450052b21ebb9720fb822eccdb8e" - -do_configure_prepend() { - sed -i -e 's:^library_dirs =.*::' setup.cfg - sed -i -e 's:^include_dirs =.*:include_dirs = =/usr/include/sasl/:' setup.cfg -} - -RDEPENDS_${PN} = " \ - ${PYTHON_PN}-pprint \ - ${PYTHON_PN}-threading \ - ${PYTHON_PN}-pyasn1 \ - ${PYTHON_PN}-pyasn1-modules \ -" diff --git a/recipes-devtools/python/python-magnumclient_git.bb b/recipes-devtools/python/python-magnumclient_git.bb deleted file mode 100644 index 4e37b9b..0000000 --- a/recipes-devtools/python/python-magnumclient_git.bb +++ /dev/null @@ -1,51 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Python client for containers service" -HOMEPAGE = "https://github.com/openstack/python-magnumclient" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314" - -SRCREV = "37e602d160632a386c2960ec8777bfc65642a9a9" -SRCNAME = "python-magnumclient" -PROTOCOL = "https" -BRANCH = "master" -S = "${WORKDIR}/git" -PV = "2.12.0+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -RDEPENDS_${PN} +=" \ - python-pbr \ - python-babel \ - python-stevedore \ - python-requests \ - python-oslo.i18n \ - python-oslo.serialization \ - python-oslo.utils \ - python-os-client-config \ - python-osc-lib \ - python-prettytable \ - python-cryptography \ - python-decorator \ - " - -inherit setuptools diff --git a/recipes-devtools/python/python-muranoclient_git.bb b/recipes-devtools/python/python-muranoclient_git.bb deleted file mode 100644 index 81f4065..0000000 --- a/recipes-devtools/python/python-muranoclient_git.bb +++ /dev/null @@ -1,56 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "python-muranoclient" -STABLE = "master" -PROTOCOL = "https" -BRANCH = "master" -SRCREV = "70b4392c7f8524ac25dbf3ab0feb3ac4127c1ecf" -S = "${WORKDIR}/git" -PV = "1.1.1" - -LICENSE = "Apache-2.0" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRC_URI = "git://github.com/openstack/python-muranoclient.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -DEPENDS += " \ - python \ - python-pbr-native \ - " - -inherit setuptools - -RDEPENDS_${PN}_append = " \ - bash \ - python-pbr \ - python-prettytable \ - python-glanceclient \ - python-keystoneclient \ - python-iso8601 \ - python-six \ - python-babel \ - python-pyopenssl \ - python-requests \ - python-pyyaml \ - python-yaql \ - python-osc-lib \ - python-murano-pkg-check \ - python-oslo.serialization \ - python-oslo.utils \ - python-oslo.log \ - python-oslo.i18n \ - " diff --git a/recipes-devtools/python/python-neutronclient_git.bb b/recipes-devtools/python/python-neutronclient_git.bb deleted file mode 100644 index 91beb27..0000000 --- a/recipes-devtools/python/python-neutronclient_git.bb +++ /dev/null @@ -1,76 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "CLI and python client library for OpenStack Neutron" -HOMEPAGE = "https://launchpad.net/neutron" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRCREV = "680b417111dbbda9e318700286c4efd9055f1af3" -SRCNAME = "python-neutronclient" -BRANCH = "stable/train" -PROTOCOL = "https" -PV = "6.12.0+git${SRCPV}" -S = "${WORKDIR}/git" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools monitor rmargparse - -DEPENDS += " \ - python-pip \ - python-pbr-native\ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-pbr \ - python-cliff \ - python-debtcollector \ - python-iso8601 \ - python-netaddr \ - python-osc-lib \ - python-oslo.i18n \ - python-oslo.serialization \ - python-oslo.utils \ - python-os-client-config \ - python-keystoneauth1 \ - python-keystoneclient \ - python-requests \ - python-simplejson \ - python-six \ - python-babel \ - " - - -PACKAGECONFIG ?= "bash-completion" -PACKAGECONFIG[bash-completion] = ",,bash-completion,bash-completion ${BPN}-bash-completion" - -do_install_append() { - install -d ${D}/${sysconfdir}/bash_completion.d - install -m 664 ${S}/tools/neutron.bash_completion ${D}/${sysconfdir}/bash_completion.d -} - -PACKAGES =+ "${BPN}-bash-completion" -FILES_${BPN}-bash-completion = "${sysconfdir}/bash_completion.d/*" - -MONITOR_CHECKS_${PN} += "\ - neutron-api-check.sh \ -" diff --git a/recipes-devtools/python/python-novaclient/nova-api-check.sh b/recipes-devtools/python/python-novaclient/nova-api-check.sh deleted file mode 100644 index b9ba6bc..0000000 --- a/recipes-devtools/python/python-novaclient/nova-api-check.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/bash - -CMD="nova list" - -data=$($CMD 2>&1) -res=$? -if [ ${res} -eq 127 ]; then - exit 0 -elif [ ${res} -ne 0 ]; then - echo "OpenStack \"nova api\" failed: " - echo $data - exit $res -fi -exit 0 diff --git a/recipes-devtools/python/python-novaclient_git.bb b/recipes-devtools/python/python-novaclient_git.bb deleted file mode 100644 index b9fa774..0000000 --- a/recipes-devtools/python/python-novaclient_git.bb +++ /dev/null @@ -1,77 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Client library for OpenStack Compute API" -HOMEPAGE = "https://github.com/openstack/python-novaclient" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7cdb54622cacc9bc9b2883091e6dd669" - -SRC_URI = "git://github.com/openstack/python-novaclient.git;branch=stable/pike" - -SRCREV = "62bf8809c660ed0675f301c235b1d434caeaf580" -SRCNAME = "python-novaclient" -PROTOCOL = "https" -BRANCH = "stable/train" -S = "${WORKDIR}/git" -PV = "13.0.0+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools python-dir - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-pbr \ - python-keystoneauth1 \ - python-iso8601 \ - python-oslo.i18n \ - python-oslo.serialization \ - python-oslo.utils \ - python-prettytable \ - python-simplejson \ - python-six \ - python-babel \ - " - -PACKAGECONFIG ?= "bash-completion" -PACKAGECONFIG[bash-completion] = ",,bash-completion,bash-completion ${BPN}-bash-completion" - -do_install_append() { - install -d ${D}/${sysconfdir}/bash_completion.d - install -m 664 ${S}/tools/nova.bash_completion ${D}/${sysconfdir}/bash_completion.d - - mv ${D}/${bindir}/nova ${D}/${bindir}/nova-${PYTHON_BASEVERSION} - ln -s ./nova-${PYTHON_BASEVERSION} ${D}/${bindir}/nova-2 - ln -s ./nova-2 ${D}/${bindir}/nova - - if [ -e "${D}/${PYTHON_SITEPACKAGES_DIR}/novaclient/tests/v1_1/test_servers.py" ]; then - sed -e "s:%PYTHON_SITEPACKAGES_DIR%:${PYTHON_SITEPACKAGES_DIR}:g" \ - -i ${D}/${PYTHON_SITEPACKAGES_DIR}/novaclient/tests/v1_1/test_servers.py - fi - -} - -PACKAGES =+ "${BPN}-bash-completion" -FILES_${BPN}-bash-completion = "${sysconfdir}/bash_completion.d/*" diff --git a/recipes-devtools/python/python-osc-lib_1.12.1.bb b/recipes-devtools/python/python-osc-lib_1.12.1.bb deleted file mode 100644 index d6d9cbb..0000000 --- a/recipes-devtools/python/python-osc-lib_1.12.1.bb +++ /dev/null @@ -1,45 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "OpenStackClient Library" -HOMEPAGE = "http://opensource.perlig.de/rcssmin/" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRC_URI[md5sum] = "73c8bd90b8325b2595b814f41d06fdb8" -SRC_URI[sha256sum] = "26d3e32c8c4eff47240c458cddb6b75db52034d643f01de2841ad9e84904d7aa" - -inherit setuptools pypi - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-pbr \ - python-six \ - python-babel \ - python-cliff \ - python-keystoneauth1 \ - python-os-client-config \ - python-oslo.i18n \ - python-oslo.utils \ - python-simplejson \ - python-stevedore \ - " - -CLEANBROKEN = "1" diff --git a/recipes-devtools/python/python-oslo.cache_git.bb b/recipes-devtools/python/python-oslo.cache_git.bb deleted file mode 100644 index 03e90f3..0000000 --- a/recipes-devtools/python/python-oslo.cache_git.bb +++ /dev/null @@ -1,50 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "oslo.config enabled dogpile cache" -HOMEPAGE = "https://github.com/openstack/oslo.cache" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRCREV = "3b8d9c3f6c87d62e5502cf4a9ae89e4067180c1f" -SRCNAME = "oslo.cache" -PROTOCOL = "https" -BRANCH = "stable/train" -S = "${WORKDIR}/git" -PV = "1.26.0+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools rmargparse - -DEPENDS += " \ - python-pbr \ - python-pip \ - " - -DEPENDS += " \ - python-pbr-native \ - " - -# RDEPENDS_default: -RDEPENDS_${PN} += " \ - python-dogpile.cache \ - python-six \ - python-oslo.config \ - python-oslo.i18n \ - python-oslo.log \ - python-oslo.utils \ - " diff --git a/recipes-devtools/python/python-oslo.concurrency_git.bb b/recipes-devtools/python/python-oslo.concurrency_git.bb deleted file mode 100644 index f15de88..0000000 --- a/recipes-devtools/python/python-oslo.concurrency_git.bb +++ /dev/null @@ -1,51 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "oslo.concurrency library" -HOMEPAGE = "https://github.com/openstack/oslo.concurrency" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" - -SRCREV = "5b42d276350666410a7d010a5152467ad509d3f9" -SRCNAME = "oslo.concurrency" -PROTOCOL = "https" -BRANCH = "stable/train" -S = "${WORKDIR}/git" -PV = "3.26.0+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools rmargparse - -DEPENDS += " \ - python-pbr \ - python-pip \ - " - -DEPENDS += " \ - python-pbr-native \ - " - -# RDEPENDS_default: -RDEPENDS_${PN} += " \ - python-pbr \ - python-fasteners \ - python-oslo.config \ - python-oslo.i18n \ - python-oslo.utils \ - python-six \ - python-enum34 \ - " diff --git a/recipes-devtools/python/python-oslo.config_git.bb b/recipes-devtools/python/python-oslo.config_git.bb deleted file mode 100644 index 81199e5..0000000 --- a/recipes-devtools/python/python-oslo.config_git.bb +++ /dev/null @@ -1,54 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "API supporting parsing command line arguments and .ini style configuration files." -HOMEPAGE = "https://pypi.python.org/pypi/oslo.config/5.2.0" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c46f31914956e4579f9b488e71415ac8" - -SRCREV = "31c11ab4289efa1a91835f3daa928fe927ac4276" -SRCNAME = "oslo.config" -PROTOCOL = "https" -BRANCH = "stable/queens" -S = "${WORKDIR}/git" -PV = "5.2.0+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools rmargparse - -DEPENDS += " \ - python-pbr \ - python-pip \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-pbr \ - python-netaddr \ - python-six \ - python-stevedore \ - python-debtcollector \ - python-oslo.i18n \ - python-rfc3986 \ - python-pyyaml \ - python-importlib-metadata \ - " - diff --git a/recipes-devtools/python/python-oslo.context_git.bb b/recipes-devtools/python/python-oslo.context_git.bb deleted file mode 100644 index 9b8ac3b..0000000 --- a/recipes-devtools/python/python-oslo.context_git.bb +++ /dev/null @@ -1,49 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Oslo Context Library" -HOMEPAGE = "https://launchpad.net/oslo" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRCREV = "76a07f9022f0fa967707c9f6cb5a4a24aac6b3ef" -SRCNAME = "oslo.context" -PROTOCOL = "https" -BRANCH = "stable/stein" -S = "${WORKDIR}/git" -PV = "2.22.1+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -# RDEPENDS_default: -RDEPENDS_${PN} += " \ - bash \ - python-pbr \ - python-debtcollector \ - python-positional \ - " diff --git a/recipes-devtools/python/python-oslo.db_git.bb b/recipes-devtools/python/python-oslo.db_git.bb deleted file mode 100644 index 665a359..0000000 --- a/recipes-devtools/python/python-oslo.db_git.bb +++ /dev/null @@ -1,50 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Oslo db library" -HOMEPAGE = "http://launchpad.net/oslo" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" - -SRCREV = "4de33ebd504a2c3dbddc2492bdb96ae7bca77d66" -SRCNAME = "oslo.db" -PROTOCOL = "https" -BRANCH = "stable/stein" -S = "${WORKDIR}/git" -PV = "4.27.0+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-oslo.config \ - python-oslo.i18n \ - python-oslo.serialization \ - python-oslo.utils \ - python-six \ - python-alembic \ - python-sqlalchemy \ - python-sqlalchemy-migrate \ - python-stevedore \ - python-pbr \ - python-debtcollector \ - " diff --git a/recipes-devtools/python/python-oslo.log_git.bb b/recipes-devtools/python/python-oslo.log_git.bb deleted file mode 100644 index 0ec652e..0000000 --- a/recipes-devtools/python/python-oslo.log_git.bb +++ /dev/null @@ -1,58 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Oslo Log Library" -HOMEPAGE = "https://launchpad.net/oslo" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" - -SRCREV = "110191aa505cfefafee1c8579213b2f9c3397b6c" -SRCNAME = "oslo.log" -PROTOCOL = "https" -BRANCH = "stable/train" -S = "${WORKDIR}/git" -PV = "3.38.0+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " \ - python-pip \ - python-babel \ - python-pbr-native \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -# RDEPENDS_default: -RDEPENDS_${PN} += " \ - bash \ - python-pbr \ - python-six \ - python-oslo.config \ - python-oslo.context \ - python-oslo.i18n \ - python-oslo.utils \ - python-oslo.serialization \ - python-pyinotify \ - python-debtcollector \ - python-dateutil \ - python-monotonic \ - " diff --git a/recipes-devtools/python/python-oslo.middleware_git.bb b/recipes-devtools/python/python-oslo.middleware_git.bb deleted file mode 100644 index ae89ed8..0000000 --- a/recipes-devtools/python/python-oslo.middleware_git.bb +++ /dev/null @@ -1,56 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Oslo Middleware Library" -HOMEPAGE = "https://launchpad.net/oslo" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" - -SRCREV = "8812bc3fc490f0db4977418eaedf58190a0df394" -SRCNAME = "oslo.middleware" -PROTOCOL = "https" -BRANCH = "stable/train" -S = "${WORKDIR}/git" -PV = "3.31.0+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -# RDEPENDS_default: -RDEPENDS_${PN} += " \ - python-pbr \ - python-jinja2 \ - python-oslo.config \ - python-oslo.context \ - python-oslo.i18n \ - python-oslo.utils \ - python-six \ - python-stevedore \ - python-webob \ - python-debtcollector \ - python-statsd \ - " diff --git a/recipes-devtools/python/python-oslo.policy_git.bb b/recipes-devtools/python/python-oslo.policy_git.bb deleted file mode 100644 index 69fd13f..0000000 --- a/recipes-devtools/python/python-oslo.policy_git.bb +++ /dev/null @@ -1,46 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Oslo policy library" -HOMEPAGE = "https://github.com/openstack/oslo.policy" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRCREV = "b9fd10e2612f26c93d49c168a0408aba6d20e5bf" -SRCNAME = "oslo.policy" -PROTOCOL = "https" -BRANCH = "stable/train" -S = "${WORKDIR}/git" -PV = "1.43.1+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-oslo.config \ - python-oslo.i18n \ - python-oslo.serialization \ - python-oslo.utils \ - python-six \ - python-pyyaml \ - python-requests \ - " diff --git a/recipes-devtools/python/python-oslo.serialization_git.bb b/recipes-devtools/python/python-oslo.serialization_git.bb deleted file mode 100644 index 370aa9d..0000000 --- a/recipes-devtools/python/python-oslo.serialization_git.bb +++ /dev/null @@ -1,53 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Oslo Serialization API" -HOMEPAGE = "https://launchpad.net/oslo" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=34400b68072d710fecd0a2940a0d1658" - -SRCREV = "576b13ec26baa671da05df56a8d14aba6fa3e826" -SRCNAME = "oslo.serialization" -PROTOCOL = "https" -BRANCH = "stable/train" -S = "${WORKDIR}/git" -PV = "2.23.0+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - - -inherit setuptools - -# DEPENDS_default: python-pip - -DEPENDS += " \ - python-pip \ - python-pbr-native\ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ - " - -# RDEPENDS_default: -RDEPENDS_${PN} += " \ - python-pbr \ - python-six \ - python-oslo.utils \ - python-pytz \ - python-msgpack \ - " diff --git a/recipes-devtools/python/python-oslo.versionedobjects_git.bb b/recipes-devtools/python/python-oslo.versionedobjects_git.bb deleted file mode 100644 index f71a190..0000000 --- a/recipes-devtools/python/python-oslo.versionedobjects_git.bb +++ /dev/null @@ -1,51 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Oslo versionedobjects library" -HOMEPAGE = "https://wiki.openstack.org/wiki/Oslo" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRCREV = "c95f0c876840e36f37acb14d5eec5238d85e7dce" -SRCNAME = "oslo.versionedobjects" -PROTOCOL = "https" -BRANCH = "stable/queens" -S = "${WORKDIR}/git" -PV = "1.31.2+git${SRCPV}" - -SRC_URI = "git://github.com/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -RDEPENDS_${PN} += " \ - python-six \ - python-oslo.concurrency \ - python-oslo.config \ - python-oslo.context \ - python-oslo.messaging \ - python-oslo.serialization \ - python-oslo.utils \ - python-oslo.log \ - python-oslo.i18n \ - python-webob \ - python-iso8601 \ - python-netaddr \ - " diff --git a/recipes-devtools/python/python-osprofiler_git.bb b/recipes-devtools/python/python-osprofiler_git.bb deleted file mode 100644 index e98ff15..0000000 --- a/recipes-devtools/python/python-osprofiler_git.bb +++ /dev/null @@ -1,45 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Library for cross-project profiling library" -HOMEPAGE = "https://docs.openstack.org/osprofiler/latest/" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=19cbd64715b51267a47bf3750cc6a8a5" - -SRCREV = "6d68170f72ef303e6564e164aafb1ec53a8b8314" -SRCNAME = "osprofiler" -BRANCH = "master" -PROTOCOL = "https" -PV = "2.3.0+git${SRCPV}" -S = "${WORKDIR}/git" - -SRC_URI = "git://opendev.org/openstack/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " python-pbr-native" - -RDEPENDS_${PN}_append = " \ - python-pbr \ - python-six \ - python-oslo.messaging \ - python-oslo.log \ - python-oslo.utils \ - python-webob \ - python-requests \ - python-netaddr \ - python-oslo.concurrency \ - " diff --git a/recipes-devtools/python/python-packaging_20.1.bb b/recipes-devtools/python/python-packaging_20.1.bb deleted file mode 100644 index 8a90606..0000000 --- a/recipes-devtools/python/python-packaging_20.1.bb +++ /dev/null @@ -1,29 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = " \ - Core utilities for Python packages. \ - The packaging project includes the following: version handling, specifiers, markers, requirements, tags, utilities. \ - " -HOMEPAGE = "https://github.com/pypa/packaging" -SECTION = "devel/python" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=faadaedca9251a90b205c9167578ce91" - -SRC_URI[md5sum] = "a02ce566f10c701b4c42e39a4ce59c93" -SRC_URI[sha256sum] = "e665345f9eef0c621aa0bf2f8d78cf6d21904eef16a93f020240b704a57f1334" - -PYPI_PACKAGE = "packaging" -inherit setuptools pypi diff --git a/recipes-devtools/python/python-pankoclient_0.5.0.bb b/recipes-devtools/python/python-pankoclient_0.5.0.bb deleted file mode 100644 index ab16379..0000000 --- a/recipes-devtools/python/python-pankoclient_0.5.0.bb +++ /dev/null @@ -1,35 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "python-pankoclient" -STABLE = "master" -PROTOCOL = "https" -BRANCH = "master" -SRCREV = "572aee9cf6ac618eb5d1ea325f9e59414d387dbf" -S = "${WORKDIR}/git" -PV = "0.5.0" - -LICENSE = "Apache-2.0" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -SRC_URI = "git://github.com/openstack/python-pankoclient.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -DEPENDS += " \ - python \ - python-pbr-native \ - " - -inherit setuptools diff --git a/recipes-devtools/python/python-pyghmi_1.5.7.bb b/recipes-devtools/python/python-pyghmi_1.5.7.bb deleted file mode 100644 index 8b44780..0000000 --- a/recipes-devtools/python/python-pyghmi_1.5.7.bb +++ /dev/null @@ -1,34 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "HPE 3PAR HTTP REST Client" -HOMEPAGE = "https://pythonhosted.org/python-3parclient/" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=d3dfac7b0d23cb44b097e35518879438" - -SRC_URI[md5sum] = "b49dd03782fd5eda09cd9210ae979f6a" -SRC_URI[sha256sum] = "4c2b0be4e3b8a517c1718e39e1eeb3e62f73810bb9910278000716f6074e5a69" - -PYPI_PACKAGE = "pyghmi" -inherit setuptools pypi - -DEPENDS += " \ - python-pbr-native \ - " - -RDEPENDS_${PN}_append = " \ - python-dateutil \ - " diff --git a/recipes-devtools/python/python-pysaml2_git.bb b/recipes-devtools/python/python-pysaml2_git.bb deleted file mode 100644 index f4f0abc..0000000 --- a/recipes-devtools/python/python-pysaml2_git.bb +++ /dev/null @@ -1,41 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Python implementation of SAML Version 2 to be used in a WSGI environment" -HOMEPAGE = "https://github.com/rohe/pysaml2" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=861cc9087857b5bea2e11356c3de95d9" - -SRCREV = "c740a3a270037d6fcb42a12112db594705d3878f" -SRCNAME = "pysaml2" -PROTOCOL = "git" -BRANCH = "v4.9.0" -S = "${WORKDIR}/git" -PV = "4.5.0+git${SRCPV}" - -SRC_URI = "git://github.com/rohe/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools - -DEPENDS += " \ - python-pip \ - " - -RDEPENDS_${PN} += " \ - python-zopeinterface \ - python-repoze.who \ - python-defusedxml \ - " diff --git a/recipes-devtools/python/python-redfishtool_git.bb b/recipes-devtools/python/python-redfishtool_git.bb deleted file mode 100644 index 6d659ff..0000000 --- a/recipes-devtools/python/python-redfishtool_git.bb +++ /dev/null @@ -1,46 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Client side API implementation of the Redfish RESTful API for Data Center Hardware Management." -HOMEPAGE = "https://github.com/DMTF/Redfishtool" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=cee7a7694b5bf14bc9d3e0fbe78a64af" - - -SRCREV = "2bdcd905e1ad227f40809ec298804d5401047612" -SRCNAME = "Redfishtool" -BRANCH = "master" -PROTOCOL = "https" -PV = "1.1.0+git${SRCPV}" -S = "${WORKDIR}/git" - -SRC_URI = " \ - git://github.com/DMTF/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH} \ - file://${PN}/0001-Adapt-redfishtool-to-python2.patch \ - " - -inherit setuptools - -RDEPENDS_${PN} += " \ - python-requests \ -" - -do_install_append() { - : -} - -FILES_${PN} += " \ - " diff --git a/recipes-devtools/python/python-requests-toolbelt_git.bb b/recipes-devtools/python/python-requests-toolbelt_git.bb deleted file mode 100644 index 3e137d1..0000000 --- a/recipes-devtools/python/python-requests-toolbelt_git.bb +++ /dev/null @@ -1,38 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "requests-toolbelt" - -STABLE = "master" -PROTOCOL = "https" -BRANCH = "master" -SRCREV = "1e384626476f7afbff0f649fe41886d0f27473d6" -S = "${WORKDIR}/git" -PV = "0.9.1+${SRCPV}" - -LICENSE = "Apache-2.0" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=71760e0f1dda8cff91b0bc9246caf571" - -SRC_URI = "git://github.com/requests/toolbelt.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -DEPENDS = " \ - python \ - python-pbr-native \ - " - -inherit setuptools - -RDEPENDS_${PN} += " bash" diff --git a/recipes-devtools/python/python-ruamel.ordereddict_0.4.9.bb b/recipes-devtools/python/python-ruamel.ordereddict_0.4.9.bb deleted file mode 100644 index f9a1fbb..0000000 --- a/recipes-devtools/python/python-ruamel.ordereddict_0.4.9.bb +++ /dev/null @@ -1,25 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "The ordereddict module in short" -HOMEPAGE = "https://pypi.org/project/ruamel.ordereddict/" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://PKG-INFO;md5=0caf06c5d151e57e100341eb28dcb6f5" - -SRC_URI[md5sum] = "d160714193a0ec470cc26f614b1aa0e7" -SRC_URI[sha256sum] = "7058c470f131487a3039fb9536dda9dd17004a7581bdeeafa836269a36a2b3f6" - -inherit setuptools pypi diff --git a/recipes-devtools/python/python-ruamel.yaml_0.15.9.bb b/recipes-devtools/python/python-ruamel.yaml_0.15.9.bb deleted file mode 100644 index db6407d..0000000 --- a/recipes-devtools/python/python-ruamel.yaml_0.15.9.bb +++ /dev/null @@ -1,38 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "YAML 1.2 loader/dumper package for Python" -HOMEPAGE = "https://pypi.org/project/ruamel.yaml/" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=84e9d7d823d2abac052e70de2051ca1c" - -SRC_URI[md5sum] = "d53315f8ccb93748d00ccca39486ac78" -SRC_URI[sha256sum] = "350496f6fdd8c2bb17a0fa3fd2ec98431280cf12d72dae498b19ac0119c2bbad" - -inherit setuptools pypi python-dir - -DEPENDS += " \ - ${PYTHON_PN}-native \ - ${PYTHON_PN}-cryptography-native \ - " -RDEPENDS_${PN}_append = " \ - ${PYTHON_PN}-ruamel.ordereddict \ - " - -do_install_prepend() { - export RUAMEL_NO_PIP_INSTALL_CHECK=1 -} - diff --git a/recipes-devtools/python/python-ryu_git.bb b/recipes-devtools/python/python-ryu_git.bb deleted file mode 100644 index 92c16bf..0000000 --- a/recipes-devtools/python/python-ryu_git.bb +++ /dev/null @@ -1,54 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Ryu is a component-based software defined networking framework." -HOMEPAGE = "https://github.com/osrg/ryu" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = " \ - file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57\ - " - -SRCREV = "1c008060fa3dab51c3a59c1485a7529b13cf0dd1" -SRCNAME = "ryu" -BRANCH = "master" -PROTOCOL = "https" -PV = "4.24+git${SRCPV}" -S = "${WORKDIR}/git" - -SRC_URI = "git://github.com/osrg/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools python-dir - -DEPENDS += " \ - python-pip \ - python-pbr-native \ - " - -RDEPENDS_${PN}_append = " \ - ${PYTHON_PN}-eventlet \ - ${PYTHON_PN}-msgpack \ - ${PYTHON_PN}-netaddr \ - ${PYTHON_PN}-oslo.config \ - ${PYTHON_PN}-ovs \ - ${PYTHON_PN}-routes \ - ${PYTHON_PN}-six \ - ${PYTHON_PN}-tinyrpc \ - ${PYTHON_PN}-webob \ - " - -FILES_${PN}_append = " \ - ${datadir}/etc/${SRCNAME} \ - " diff --git a/recipes-devtools/python/python-saharaclient_git.bb b/recipes-devtools/python/python-saharaclient_git.bb deleted file mode 100644 index de24319..0000000 --- a/recipes-devtools/python/python-saharaclient_git.bb +++ /dev/null @@ -1,45 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "CLI and python client library for OpenStack Sahara" -HOMEPAGE = "https://launchpad.net/sahara" -SECTION = "devel/python" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2" - -DEPENDS += " \ - python-pip \ - python-pbr \ - " - -# Satisfy setup.py 'setup_requires' -DEPENDS += " \ - python-pbr-native \ -" - -RDEPENDS_${PN} += " \ - python-pbr \ - " - -SRCNAME = "saharaclient" - -SRC_URI = "git://github.com/openstack/python-saharaclient.git;branch=master" - -PV = "2.3.0+git${SRCPV}" -SRCREV = "3107b452467537f4eef3d9ecfb5e35d110d19662" -S = "${WORKDIR}/git" - -inherit setuptools - diff --git a/recipes-devtools/python/python-snowballstemmer_2.0.0.bb b/recipes-devtools/python/python-snowballstemmer_2.0.0.bb deleted file mode 100644 index a68086c..0000000 --- a/recipes-devtools/python/python-snowballstemmer_2.0.0.bb +++ /dev/null @@ -1,30 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = " \ - Snowball is a small string processing language designed for creating stemming algorithms \ - for use in Information Retrieval. This site describes Snowball, and presents several useful \ - stemmers which have been implemented using it. \ - " -HOMEPAGE = "https://github.com/snowballstem/snowball" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://COPYING;md5=2750797da77c1d784e7626b3f7d7ff3e" - -SRC_URI[md5sum] = "c05ec4a897be3c953c8b8b844c4241d4" -SRC_URI[sha256sum] = "df3bac3df4c2c01363f3dd2cfa78cce2840a79b9f1c2d2de9ce8d31683992f52" - -PYPI_PACKAGE = "snowballstemmer" -inherit setuptools pypi diff --git a/recipes-devtools/python/python-sphinxcontrib-websupport_1.1.0.bb b/recipes-devtools/python/python-sphinxcontrib-websupport_1.1.0.bb deleted file mode 100644 index 5447a80..0000000 --- a/recipes-devtools/python/python-sphinxcontrib-websupport_1.1.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = " \ - sphinxcontrib-websupport provides a Python API to easily integrate Sphinx\ - documentation into your Web application. \ - " -HOMEPAGE = "https://www.sphinx-doc.org/en/master/" -SECTION = "devel/python" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENSE;md5=819a10ab58e77e03e61a584de6339f7c" - -SRC_URI[md5sum] = "ca6435e7b4eb9408df4f54972361e9d3" -SRC_URI[sha256sum] = "9de47f375baf1ea07cdb3436ff39d7a9c76042c10a769c52353ec46e4e8fc3b9" - -PYPI_PACKAGE = "sphinxcontrib-websupport" -inherit setuptools pypi diff --git a/recipes-devtools/python/python-zipp_0.6.0.bb b/recipes-devtools/python/python-zipp_0.6.0.bb deleted file mode 100644 index 082aa81..0000000 --- a/recipes-devtools/python/python-zipp_0.6.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Backport of pathlib-compatible object wrapper for zip files" -HOMEPAGE = "https://github.com/jaraco/zipp" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=a33f38bbf47d48c70fe0d40e5f77498e" - -SRC_URI[md5sum] = "d4451a749d8a7c3c392a9edd1864a937" -SRC_URI[sha256sum] = "3718b1cbcd963c7d4c5511a8240812904164b7f381b647143a89d3b98f9bcd8e" - -DEPENDS += "${PYTHON_PN}-setuptools-scm-native" -RDEPENDS_${PN} += "${PYTHON_PN}-more-itertools" - -inherit pypi setuptools - -BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-devtools/python/python3-redfishtool_git.bb b/recipes-devtools/python/python3-redfishtool_git.bb deleted file mode 100644 index f90f508..0000000 --- a/recipes-devtools/python/python3-redfishtool_git.bb +++ /dev/null @@ -1,43 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "Client side API implementation of the Redfish RESTful API for Data Center Hardware Management." -HOMEPAGE = "https://github.com/DMTF/Redfishtool" -SECTION = "devel/python" -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=cee7a7694b5bf14bc9d3e0fbe78a64af" - - -SRCREV = "2bdcd905e1ad227f40809ec298804d5401047612" -SRCNAME = "Redfishtool" -BRANCH = "master" -PROTOCOL = "https" -PV = "1.1.0+git${SRCPV}" -S = "${WORKDIR}/git" - -SRC_URI = "git://github.com/DMTF/${SRCNAME}.git;protocol=${PROTOCOL};rev=${SRCREV};branch=${BRANCH}" - -inherit setuptools3 - -RDEPENDS_${PN} += " \ - python3-requests \ -" - -do_install_append() { - : -} - -FILES_${PN} += " \ - " diff --git a/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch b/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch deleted file mode 100644 index ac6dcaf..0000000 --- a/recipes-devtools/rpm/files/0001-Add-a-color-setting-for-mips64_n32-binaries.patch +++ /dev/null @@ -1,40 +0,0 @@ -From e3eff024826550aec4a6a5baef7210a29faf299d Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 9 Mar 2017 18:54:02 +0200 -Subject: [PATCH] Add a color setting for mips64_n32 binaries - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin ---- - build/rpmfc.c | 1 + - rpmrc.in | 2 ++ - 2 files changed, 3 insertions(+) - -diff --git a/build/rpmfc.c b/build/rpmfc.c -index d38a10916..c8e2f876a 100644 ---- a/build/rpmfc.c -+++ b/build/rpmfc.c -@@ -622,6 +622,7 @@ exit: - static const struct rpmfcTokens_s rpmfcTokens[] = { - { "directory", RPMFC_INCLUDE }, - -+ { "N32 MIPS64", RPMFC_ELFMIPSN32|RPMFC_INCLUDE }, - { "ELF 32-bit", RPMFC_ELF32|RPMFC_INCLUDE }, - { "ELF 64-bit", RPMFC_ELF64|RPMFC_INCLUDE }, - -diff --git a/rpmrc.in b/rpmrc.in -index abc08fc31..f5bc820d8 100644 ---- a/rpmrc.in -+++ b/rpmrc.in -@@ -133,6 +133,8 @@ archcolor: mipsr6el 1 - archcolor: mips64r6 2 - archcolor: mips64r6el 2 - -+archcolor: mips64_n32 4 -+ - archcolor: m68k 1 - - archcolor: m68kmint 1 --- -2.11.0 - diff --git a/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch b/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch deleted file mode 100644 index 80e2f0f..0000000 --- a/recipes-devtools/rpm/files/0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 87cfc0db1ed6fe381a5ed5f0016d8c3344a31a11 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Mon, 9 Jan 2017 18:52:11 +0200 -Subject: [PATCH] Do not add an unsatisfiable dependency when building rpms in - a short-circuited way. - -Upstream permits short-circuiting only for local testing; Yocto on the other -hand produces rpms that way by design. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin ---- - build/pack.c | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/build/pack.c b/build/pack.c -index 1261cdbba..bb2d6f4f6 100644 ---- a/build/pack.c -+++ b/build/pack.c -@@ -595,10 +595,6 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) - headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16); - } - -- if (cheating) { -- (void) rpmlibNeedsFeature(pkg, "ShortCircuited", "4.9.0-1"); -- } -- - { char *binFormat = rpmGetPath("%{_rpmfilename}", NULL); - char *binRpm, *binDir; - binRpm = headerFormat(pkg->header, binFormat, &errorString); --- -2.11.0 - diff --git a/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch b/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch deleted file mode 100644 index 82e7328..0000000 --- a/recipes-devtools/rpm/files/0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch +++ /dev/null @@ -1,58 +0,0 @@ -From bd08eb0ae1312f347f49949481daa7c923752df2 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Mon, 27 Feb 2017 09:43:30 +0200 -Subject: [PATCH] Do not hardcode "lib/rpm" as the installation path for - default configuration and macros. - -Upstream-Status: Denied [https://github.com/rpm-software-management/rpm/pull/263] -Signed-off-by: Alexander Kanavin - ---- - configure.ac | 2 +- - macros.in | 2 +- - rpm.am | 4 ++-- - 3 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 09af7c4..9bd6903 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -1055,7 +1055,7 @@ else - usrprefix=$prefix - fi - --RPMCONFIGDIR="`echo ${usrprefix}/lib/rpm`" -+RPMCONFIGDIR="`echo ${libdir}/rpm`" - AC_SUBST(RPMCONFIGDIR) - - AC_SUBST(OBJDUMP) -diff --git a/macros.in b/macros.in -index a3aa7a9..62cee5c 100644 ---- a/macros.in -+++ b/macros.in -@@ -970,7 +970,7 @@ package or when debugging this package.\ - %_sharedstatedir %{_prefix}/com - %_localstatedir %{_prefix}/var - %_lib lib --%_libdir %{_exec_prefix}/%{_lib} -+%_libdir @libdir@ - %_includedir %{_prefix}/include - %_infodir %{_datadir}/info - %_mandir %{_datadir}/man -diff --git a/rpm.am b/rpm.am -index 82c2d7c..6341b51 100644 ---- a/rpm.am -+++ b/rpm.am -@@ -1,10 +1,10 @@ - # Internal binaries - ## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm --rpmlibexecdir = $(prefix)/lib/rpm -+rpmlibexecdir = $(libdir)/rpm - - # Host independent config files - ## HACK: it probably should be $(datadir)/rpm --rpmconfigdir = $(prefix)/lib/rpm -+rpmconfigdir = $(libdir)/rpm - - # Libtool version (current-revision-age) for all our libraries - rpm_version_info = 9:0:1 diff --git a/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch b/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch deleted file mode 100644 index 96eb418..0000000 --- a/recipes-devtools/rpm/files/0001-Do-not-read-config-files-from-HOME.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 35381b6cd6c1b571bf7e6b0640de0f54dbf94386 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 10 Jan 2017 14:11:30 +0200 -Subject: [PATCH] Do not read config files from $HOME - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin ---- - lib/rpmrc.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -diff --git a/lib/rpmrc.c b/lib/rpmrc.c -index 4ed991321..19fe80f98 100644 ---- a/lib/rpmrc.c -+++ b/lib/rpmrc.c -@@ -458,8 +458,7 @@ static void setDefaults(void) - if (!defrcfiles) { - defrcfiles = rstrscat(NULL, confdir, "/rpmrc", ":", - confdir, "/" RPMCANONVENDOR "/rpmrc", ":", -- SYSCONFDIR "/rpmrc", ":", -- "~/.rpmrc", NULL); -+ SYSCONFDIR "/rpmrc", ":"); - } - - #ifndef MACROFILES -@@ -471,8 +470,7 @@ static void setDefaults(void) - confdir, "/" RPMCANONVENDOR "/macros", ":", - SYSCONFDIR "/rpm/macros.*", ":", - SYSCONFDIR "/rpm/macros", ":", -- SYSCONFDIR "/rpm/%{_target}/macros", ":", -- "~/.rpmmacros", NULL); -+ SYSCONFDIR "/rpm/%{_target}/macros", ":"); - } - #else - macrofiles = MACROFILES; --- -2.11.0 - diff --git a/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch b/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch deleted file mode 100644 index 41cdf6e..0000000 --- a/recipes-devtools/rpm/files/0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch +++ /dev/null @@ -1,28 +0,0 @@ -From a674b9cc7af448d7c6748bc163bf37dc14a57f09 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 20 Jan 2017 13:32:06 +0200 -Subject: [PATCH] Do not reset the PATH environment variable before running - scriptlets. - -We add lots of native stuff into it and scriptlets rely on that. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin - ---- - lib/rpmscript.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/rpmscript.c b/lib/rpmscript.c -index 6a31e0d..2b0e438 100644 ---- a/lib/rpmscript.c -+++ b/lib/rpmscript.c -@@ -184,7 +184,7 @@ static void doScriptExec(ARGV_const_t argv, ARGV_const_t prefixes, - if (ipath && ipath[5] != '%') - path = ipath; - -- xx = setenv("PATH", path, 1); -+ //xx = setenv("PATH", path, 1); - free(ipath); - } - diff --git a/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch b/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch deleted file mode 100644 index 0b1d629..0000000 --- a/recipes-devtools/rpm/files/0001-Fix-build-with-musl-C-library.patch +++ /dev/null @@ -1,48 +0,0 @@ -From d076de030deb9cafd9b2e82be5d506cebdefad0b Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Mon, 27 Feb 2017 14:43:21 +0200 -Subject: [PATCH 1/9] Fix build with musl C library. - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin - ---- - configure.ac | 3 ++- - rpmio/digest_nss.c | 1 + - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index c04a2e8d1..c9d9ac16d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -255,6 +255,7 @@ AC_SEARCH_LIBS(dlopen, [dl]) - # Check for libelf library. Prefer external, otherwise none. - WITH_LIBELF_LIB= - AC_CHECK_HEADER([libelf.h]) -+AC_CHECK_HEADERS([error.h], [WITH_ERROR_H=yes]) - AC_CHECK_HEADERS([gelf.h], [ - AC_CHECK_LIB(elf, gelf_getvernaux, [ - AC_DEFINE(HAVE_LIBELF, 1, [Define to 1 if you have the 'elf' library (-lelf).]) -@@ -263,7 +264,7 @@ AC_CHECK_HEADERS([gelf.h], [ - ]) - ]) - AC_SUBST(WITH_LIBELF_LIB) --AM_CONDITIONAL(LIBELF,[test "$WITH_LIBELF" = yes]) -+AM_CONDITIONAL(LIBELF,[test "$WITH_LIBELF" = yes && test "$WITH_ERROR_H" = yes]) - - AC_CHECK_HEADERS([dwarf.h], [ - WITH_LIBDWARF=yes -diff --git a/rpmio/digest_nss.c b/rpmio/digest_nss.c -index 992d9acf6..e11920e3e 100644 ---- a/rpmio/digest_nss.c -+++ b/rpmio/digest_nss.c -@@ -1,5 +1,6 @@ - #include "system.h" - -+#include - #include - #include - #include --- -2.14.2 - diff --git a/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch b/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch deleted file mode 100644 index 6e44f0b..0000000 --- a/recipes-devtools/rpm/files/0001-Split-binary-package-building-into-a-separate-functi.patch +++ /dev/null @@ -1,84 +0,0 @@ -From 721a660a507d6d062e7aecafad886c643970a5d5 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 25 May 2017 18:15:27 +0300 -Subject: [PATCH 1/4] Split binary package building into a separate function - -So that it can be run as a thread pool task. - -Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226] -Signed-off-by: Alexander Kanavin - ---- - build/pack.c | 33 +++++++++++++++++++++------------ - 1 file changed, 21 insertions(+), 12 deletions(-) - -diff --git a/build/pack.c b/build/pack.c -index 518f4e92a..ccfd614cc 100644 ---- a/build/pack.c -+++ b/build/pack.c -@@ -546,18 +546,13 @@ static rpmRC checkPackages(char *pkgcheck) - return RPMRC_OK; - } - --rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) -+static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int cheating, char** filename) - { -- rpmRC rc; -- const char *errorString; -- Package pkg; -- char *pkglist = NULL; -- -- for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) { -- char *fn; -+ const char *errorString; -+ rpmRC rc = RPMRC_OK; - - if (pkg->fileList == NULL) -- continue; -+ return rc; - - if ((rc = processScriptFiles(spec, pkg))) - return rc; -@@ -587,7 +582,7 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) - headerGetString(pkg->header, RPMTAG_NAME), errorString); - return RPMRC_FAIL; - } -- fn = rpmGetPath("%{_rpmdir}/", binRpm, NULL); -+ *filename = rpmGetPath("%{_rpmdir}/", binRpm, NULL); - if ((binDir = strchr(binRpm, '/')) != NULL) { - struct stat st; - char *dn; -@@ -609,14 +604,28 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) - free(binRpm); - } - -- rc = writeRPM(pkg, NULL, fn, NULL); -+ rc = writeRPM(pkg, NULL, *filename, NULL); - if (rc == RPMRC_OK) { - /* Do check each written package if enabled */ -- char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", fn, NULL); -+ char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", *filename, NULL); - if (pkgcheck[0] != ' ') { - rc = checkPackages(pkgcheck); - } - free(pkgcheck); -+ } -+ return rc; -+} -+ -+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) -+{ -+ rpmRC rc; -+ Package pkg; -+ char *pkglist = NULL; -+ -+ for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) { -+ char *fn = NULL; -+ rc = packageBinary(spec, pkg, cookie, cheating, &fn); -+ if (rc == RPMRC_OK) { - rstrcat(&pkglist, fn); - rstrcat(&pkglist, " "); - } --- -2.11.0 - diff --git a/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch b/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch deleted file mode 100644 index 4020a31..0000000 --- a/recipes-devtools/rpm/files/0001-When-cross-installing-execute-package-scriptlets-wit.patch +++ /dev/null @@ -1,62 +0,0 @@ -From a89daa75ac970d8e247edc762d1181e9a5b0c5d0 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 17 Jan 2017 14:07:17 +0200 -Subject: [PATCH] When cross-installing, execute package scriptlets without - chrooting into destination rootfs - -This is triggered only when RPM_NO_CHROOT_FOR_SCRIPTS environment variable is defined. -Otherwise they will trigger an explosion of failures, obviously. - -Amended 2018-07-03 by Olof Johansson : - - Remove leaking temporary scriptlet files - - Since we tell dnf to run rpm with debug output, this will result in rpm not - cleaning up written temporary scriptlet files (same flag controls both - behaviors). This wouldn't have been a problem since we normally would use the - target sysroot also for temporary files, but we need to chroot out to be able - to actually run the rpm scriptlets (purpose of this patch), so the temporary - files are written to the host's /var/tmp/ directory, causing a gradual - resource leakage on the host system for every RPM based do_rootfs task - executed. - - Signed-off-by: Olof Johansson - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin ---- - lib/rpmscript.c | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -diff --git a/lib/rpmscript.c b/lib/rpmscript.c -index cc98c4885..f8bd3df04 100644 ---- a/lib/rpmscript.c -+++ b/lib/rpmscript.c -@@ -394,8 +394,7 @@ exit: - Fclose(out); /* XXX dup'd STDOUT_FILENO */ - - if (fn) { -- if (!rpmIsDebug()) -- unlink(fn); -+ unlink(fn); - free(fn); - } - free(mline); -@@ -428,7 +427,13 @@ rpmRC rpmScriptRun(rpmScript script, int arg1, int arg2, FD_t scriptFd, - - if (rc != RPMRC_FAIL) { - if (script_type & RPMSCRIPTLET_EXEC) { -- rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); -+ if (getenv("RPM_NO_CHROOT_FOR_SCRIPTS") != NULL) { -+ rpmChrootOut(); -+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); -+ rpmChrootIn(); -+ } else { -+ rc = runExtScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); -+ } - } else { - rc = runLuaScript(plugins, prefixes, script->descr, lvl, scriptFd, &args, script->body, arg1, arg2, &script->nextFileFunc); - } --- -2.11.0 - diff --git a/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch b/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch deleted file mode 100644 index a6c5869..0000000 --- a/recipes-devtools/rpm/files/0001-perl-disable-auto-reqs.patch +++ /dev/null @@ -1,32 +0,0 @@ -perl: disable auto requires - -When generating automatic requirements, it's possible for perl scripts to -declare 'optional' dependencies. These seem to often be incorrect and will -cause installation failures in OE. Instead of fixing the perl scripts, it -was decided it is better to simply disable the automatic dependency -generation. This matches the behavior from the previous RPM5 implementation. - -Upstream-Status: Inappropriate [OE specific configuration] - -Signed-off-by: Mark Hatle - -Index: git/fileattrs/perl.attr -=================================================================== ---- git.orig/fileattrs/perl.attr -+++ git/fileattrs/perl.attr -@@ -1,3 +1,3 @@ --%__perl_requires %{_rpmconfigdir}/perl.req -+#__perl_requires %{_rpmconfigdir}/perl.req - %__perl_magic ^.*[Pp]erl .*$ - %__perl_flags exeonly -Index: git/fileattrs/perllib.attr -=================================================================== ---- git.orig/fileattrs/perllib.attr -+++ git/fileattrs/perllib.attr -@@ -1,5 +1,5 @@ - %__perllib_provides %{_rpmconfigdir}/perl.prov --%__perllib_requires %{_rpmconfigdir}/perl.req -+#__perllib_requires %{_rpmconfigdir}/perl.req - %__perllib_magic ^Perl[[:digit:]] module source.* - %__perllib_path \\.pm$ - %__perllib_flags magic_and_path diff --git a/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch b/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch deleted file mode 100644 index 6454785..0000000 --- a/recipes-devtools/rpm/files/0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch +++ /dev/null @@ -1,65 +0,0 @@ -From 0066b862bb3a09f39295abd5d972a53ac8dc1555 Mon Sep 17 00:00:00 2001 -From: Peter Bergin -Date: Wed, 19 Sep 2018 15:12:31 +0200 -Subject: [PATCH] rpm/rpmio.c: restrict virtual memory usage if limit set - -A solution to avoid OOM situation when the virtual memory is restricted -for a user (ulimit -v). As the lzopen_internal function is run in parallel -one instance per CPU thread the available virtual memory is limited per -CPU thread. - -Upstream-Status: Pending [merge of multithreading patches to upstream] - -Signed-off-by: Peter Bergin ---- - rpmio/rpmio.c | 34 ++++++++++++++++++++++++++++++++++ - 1 file changed, 34 insertions(+) - -diff --git a/rpmio/rpmio.c b/rpmio/rpmio.c -index e051c98..b3c56b6 100644 ---- a/rpmio/rpmio.c -+++ b/rpmio/rpmio.c -@@ -845,6 +845,40 @@ static LZFILE *lzopen_internal(const char *mode, int fd, int xz) - } - #endif - -+ struct rlimit virtual_memory; -+ getrlimit(RLIMIT_AS, &virtual_memory); -+ if (virtual_memory.rlim_cur != RLIM_INFINITY) { -+ const uint64_t virtual_memlimit = virtual_memory.rlim_cur; -+ const uint64_t virtual_memlimit_per_cpu_thread = -+ virtual_memlimit / lzma_cputhreads(); -+ uint64_t memory_usage_virt; -+ rpmlog(RPMLOG_NOTICE, "XZ: virtual memory restricted to %lu and " -+ "per CPU thread %lu\n", virtual_memlimit, virtual_memlimit_per_cpu_thread); -+ /* keep reducing the number of compression threads until memory -+ usage falls below the limit per CPU thread*/ -+ while ((memory_usage_virt = lzma_stream_encoder_mt_memusage(&mt_options)) > -+ virtual_memlimit_per_cpu_thread) { -+ /* If number of threads goes down to zero lzma_stream_encoder will -+ * will return UINT64_MAX. We must check here to avoid an infinite loop. -+ * If we get into situation that one thread requires more virtual memory -+ * than available we set one thread, print error message and try anyway. */ -+ if (--mt_options.threads == 0) { -+ mt_options.threads = 1; -+ rpmlog(RPMLOG_WARNING, -+ "XZ: Could not adjust number of threads to get below " -+ "virtual memory limit %lu. usage %lu\n", -+ virtual_memlimit_per_cpu_thread, memory_usage_virt); -+ break; -+ } -+ } -+ if (threads != (int)mt_options.threads) -+ rpmlog(RPMLOG_NOTICE, -+ "XZ: Adjusted the number of threads from %d to %d to not " -+ "exceed the memory usage limit of %lu bytes\n", -+ threads, mt_options.threads, virtual_memlimit); -+ -+ } -+ - ret = lzma_stream_encoder_mt(&lzfile->strm, &mt_options); - } - #endif --- -2.7.4 - diff --git a/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch b/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch deleted file mode 100644 index b3dbc31..0000000 --- a/recipes-devtools/rpm/files/0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch +++ /dev/null @@ -1,72 +0,0 @@ -From 383c0b097b7eba16801a9e3c4b8e36a4b6de74ab Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Fri, 20 Jan 2017 13:33:05 +0200 -Subject: [PATCH 2/2] Add support for prefixing /etc from RPM_ETCCONFIGDIR - environment variable - -This is needed so that rpm can pick up target-specific configuration -from target rootfs instead of its own native sysroot. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin ---- - lib/rpmrc.c | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -diff --git a/lib/rpmrc.c b/lib/rpmrc.c -index 19fe80f98..6b27b3941 100644 ---- a/lib/rpmrc.c -+++ b/lib/rpmrc.c -@@ -455,10 +455,14 @@ const char * lookupInDefaultTable(const char * name, - static void setDefaults(void) - { - const char *confdir = rpmConfigDir(); -+ const char *etcconfdir = getenv("RPM_ETCCONFIGDIR"); -+ if (etcconfdir == NULL) -+ etcconfdir = ""; -+ - if (!defrcfiles) { - defrcfiles = rstrscat(NULL, confdir, "/rpmrc", ":", - confdir, "/" RPMCANONVENDOR "/rpmrc", ":", -- SYSCONFDIR "/rpmrc", ":"); -+ etcconfdir, SYSCONFDIR "/rpmrc", ":", NULL); - } - - #ifndef MACROFILES -@@ -468,9 +472,9 @@ static void setDefaults(void) - confdir, "/platform/%{_target}/macros", ":", - confdir, "/fileattrs/*.attr", ":", - confdir, "/" RPMCANONVENDOR "/macros", ":", -- SYSCONFDIR "/rpm/macros.*", ":", -- SYSCONFDIR "/rpm/macros", ":", -- SYSCONFDIR "/rpm/%{_target}/macros", ":"); -+ etcconfdir, SYSCONFDIR "/rpm/macros.*", ":", -+ etcconfdir, SYSCONFDIR "/rpm/macros", ":", -+ etcconfdir, SYSCONFDIR "/rpm/%{_target}/macros", ":", NULL); - } - #else - macrofiles = MACROFILES; -@@ -989,7 +993,11 @@ static void read_auxv(void) - */ - static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) - { -- const char * const platform_path = SYSCONFDIR "/rpm/platform"; -+ const char *etcconfdir = getenv("RPM_ETCCONFIGDIR"); -+ if (etcconfdir == NULL) -+ etcconfdir = ""; -+ -+ const char * const platform_path = rstrscat(NULL, etcconfdir, SYSCONFDIR "/rpm/platform", NULL); - static struct utsname un; - char * chptr; - canonEntry canon; -@@ -1286,6 +1294,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os) - - if (arch) *arch = un.machine; - if (os) *os = un.sysname; -+ free(platform_path); - } - - static --- -2.11.0 - diff --git a/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch b/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch deleted file mode 100644 index d10041c..0000000 --- a/recipes-devtools/rpm/files/0002-Run-binary-package-creation-via-thread-pools.patch +++ /dev/null @@ -1,127 +0,0 @@ -From 513200cf76758de4668312c628d6362bdabfaf4b Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 25 May 2017 19:30:20 +0300 -Subject: [PATCH 1/3] Run binary package creation via thread pools. - -Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226] -Signed-off-by: Alexander Kanavin - ---- - build/pack.c | 81 +++++++++++++++++++++++++++++++++++++++++++++++++----------- - configure.ac | 3 +++ - 2 files changed, 70 insertions(+), 14 deletions(-) - -diff --git a/build/pack.c b/build/pack.c -index ccfd614cc..ed5b9ab4e 100644 ---- a/build/pack.c -+++ b/build/pack.c -@@ -616,25 +616,78 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch - return rc; - } - --rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) -+struct binaryPackageTaskData - { -- rpmRC rc; - Package pkg; -+ char *filename; -+ rpmRC result; -+ struct binaryPackageTaskData *next; -+}; -+ -+static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const char *cookie, int cheating) -+{ -+ struct binaryPackageTaskData *tasks = NULL; -+ struct binaryPackageTaskData *task = NULL; -+ struct binaryPackageTaskData *prev = NULL; -+ -+ for (Package pkg = spec->packages; pkg != NULL; pkg = pkg->next) { -+ task = rcalloc(1, sizeof(*task)); -+ task->pkg = pkg; -+ if (pkg == spec->packages) { -+ // the first package needs to be processed ahead of others, as they copy -+ // changelog data from it, and so otherwise data races would happen -+ task->result = packageBinary(spec, pkg, cookie, cheating, &(task->filename)); -+ rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename); -+ tasks = task; -+ } -+ if (prev != NULL) { -+ prev->next = task; -+ } -+ prev = task; -+ } -+ -+ #pragma omp parallel -+ #pragma omp single -+ // re-declaring task variable is necessary, or older gcc versions will produce code that segfaults -+ for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) { -+ if (task != tasks) -+ #pragma omp task -+ { -+ task->result = packageBinary(spec, task->pkg, cookie, cheating, &(task->filename)); -+ rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename); -+ } -+ } -+ -+ return tasks; -+} -+ -+static void freeBinaryPackageTasks(struct binaryPackageTaskData* tasks) -+{ -+ while (tasks != NULL) { -+ struct binaryPackageTaskData* next = tasks->next; -+ rfree(tasks->filename); -+ rfree(tasks); -+ tasks = next; -+ } -+} -+ -+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) -+{ - char *pkglist = NULL; - -- for (pkg = spec->packages; pkg != NULL; pkg = pkg->next) { -- char *fn = NULL; -- rc = packageBinary(spec, pkg, cookie, cheating, &fn); -- if (rc == RPMRC_OK) { -- rstrcat(&pkglist, fn); -- rstrcat(&pkglist, " "); -- } -- free(fn); -- if (rc != RPMRC_OK) { -- pkglist = _free(pkglist); -- return rc; -- } -+ struct binaryPackageTaskData *tasks = runBinaryPackageTasks(spec, cookie, cheating); -+ -+ for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) { -+ if (task->result == RPMRC_OK) { -+ rstrcat(&pkglist, task->filename); -+ rstrcat(&pkglist, " "); -+ } else { -+ _free(pkglist); -+ freeBinaryPackageTasks(tasks); -+ return RPMRC_FAIL; -+ } - } -+ freeBinaryPackageTasks(tasks); - - /* Now check the package set if enabled */ - if (pkglist != NULL) { -diff --git a/configure.ac b/configure.ac -index a506ec819..59fa0acaf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -17,6 +17,9 @@ AC_DISABLE_STATIC - - PKG_PROG_PKG_CONFIG - -+AC_OPENMP -+RPMCFLAGS="$OPENMP_CFLAGS $RPMCFLAGS" -+ - dnl Checks for programs. - AC_PROG_CXX - AC_PROG_AWK --- -2.11.0 - diff --git a/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch b/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch deleted file mode 100644 index c348ae5..0000000 --- a/recipes-devtools/rpm/files/0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch +++ /dev/null @@ -1,207 +0,0 @@ -From c80892f17e44331206c8318d53b63bb6a99554d0 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Tue, 30 May 2017 13:58:30 +0300 -Subject: [PATCH 3/4] rpmstrpool.c: make operations over string pools - thread-safe - -Otherwise multithreaded rpm building explodes in various ways due -to data races. - -Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226] -Signed-off-by: Alexander Kanavin - ---- - rpmio/rpmstrpool.c | 56 +++++++++++++++++++++++++++++++++++++++++++++--------- - 1 file changed, 47 insertions(+), 9 deletions(-) - -diff --git a/rpmio/rpmstrpool.c b/rpmio/rpmstrpool.c -index 30a57eb10..58ba95a02 100644 ---- a/rpmio/rpmstrpool.c -+++ b/rpmio/rpmstrpool.c -@@ -113,6 +113,8 @@ static poolHash poolHashCreate(int numBuckets) - return ht; - } - -+static const char * rpmstrPoolStrNoLock(rpmstrPool pool, rpmsid sid); -+ - static void poolHashResize(rpmstrPool pool, int numBuckets) - { - poolHash ht = pool->hash; -@@ -120,7 +122,7 @@ static void poolHashResize(rpmstrPool pool, int numBuckets) - - for (int i=0; inumBuckets; i++) { - if (!ht->buckets[i].keyid) continue; -- unsigned int keyHash = rstrhash(rpmstrPoolStr(pool, ht->buckets[i].keyid)); -+ unsigned int keyHash = rstrhash(rpmstrPoolStrNoLock(pool, ht->buckets[i].keyid)); - for (unsigned int j=0;;j++) { - unsigned int hash = hashbucket(keyHash, j) % numBuckets; - if (!buckets[hash].keyid) { -@@ -149,7 +151,7 @@ static void poolHashAddHEntry(rpmstrPool pool, const char * key, unsigned int ke - ht->buckets[hash].keyid = keyid; - ht->keyCount++; - break; -- } else if (!strcmp(rpmstrPoolStr(pool, ht->buckets[hash].keyid), key)) { -+ } else if (!strcmp(rpmstrPoolStrNoLock(pool, ht->buckets[hash].keyid), key)) { - return; - } - } -@@ -191,7 +193,7 @@ static void poolHashPrintStats(rpmstrPool pool) - int maxcollisions = 0; - - for (i=0; inumBuckets; i++) { -- unsigned int keyHash = rstrhash(rpmstrPoolStr(pool, ht->buckets[i].keyid)); -+ unsigned int keyHash = rstrhash(rpmstrPoolStrNoLock(pool, ht->buckets[i].keyid)); - for (unsigned int j=0;;j++) { - unsigned int hash = hashbucket(keyHash, i) % ht->numBuckets; - if (hash==i) { -@@ -221,7 +223,7 @@ static void rpmstrPoolRehash(rpmstrPool pool) - - pool->hash = poolHashCreate(sizehint); - for (int i = 1; i <= pool->offs_size; i++) -- poolHashAddEntry(pool, rpmstrPoolStr(pool, i), i); -+ poolHashAddEntry(pool, rpmstrPoolStrNoLock(pool, i), i); - } - - rpmstrPool rpmstrPoolCreate(void) -@@ -245,6 +247,8 @@ rpmstrPool rpmstrPoolCreate(void) - - rpmstrPool rpmstrPoolFree(rpmstrPool pool) - { -+ #pragma omp critical(rpmstrpool) -+ { - if (pool) { - if (pool->nrefs > 1) { - pool->nrefs--; -@@ -260,18 +264,24 @@ rpmstrPool rpmstrPoolFree(rpmstrPool pool) - free(pool); - } - } -+ } - return NULL; - } - - rpmstrPool rpmstrPoolLink(rpmstrPool pool) - { -+ #pragma omp critical(rpmstrpool) -+ { - if (pool) - pool->nrefs++; -+ } - return pool; - } - - void rpmstrPoolFreeze(rpmstrPool pool, int keephash) - { -+ #pragma omp critical(rpmstrpool) -+ { - if (pool && !pool->frozen) { - if (!keephash) { - pool->hash = poolHashFree(pool->hash); -@@ -281,16 +291,20 @@ void rpmstrPoolFreeze(rpmstrPool pool, int keephash) - pool->offs_alloced * sizeof(*pool->offs)); - pool->frozen = 1; - } -+ } - } - - void rpmstrPoolUnfreeze(rpmstrPool pool) - { -+ #pragma omp critical(rpmstrpool) -+ { - if (pool) { - if (pool->hash == NULL) { - rpmstrPoolRehash(pool); - } - pool->frozen = 0; - } -+ } - } - - static rpmsid rpmstrPoolPut(rpmstrPool pool, const char *s, size_t slen, unsigned int hash) -@@ -350,7 +364,7 @@ static rpmsid rpmstrPoolGet(rpmstrPool pool, const char * key, size_t keylen, - return 0; - } - -- s = rpmstrPoolStr(pool, ht->buckets[hash].keyid); -+ s = rpmstrPoolStrNoLock(pool, ht->buckets[hash].keyid); - /* pool string could be longer than keylen, require exact matche */ - if (strncmp(s, key, keylen) == 0 && s[keylen] == '\0') - return ht->buckets[hash].keyid; -@@ -373,27 +387,31 @@ static inline rpmsid strn2id(rpmstrPool pool, const char *s, size_t slen, - rpmsid rpmstrPoolIdn(rpmstrPool pool, const char *s, size_t slen, int create) - { - rpmsid sid = 0; -- -+ #pragma omp critical(rpmstrpool) -+ { - if (s != NULL) { - unsigned int hash = rstrnhash(s, slen); - sid = strn2id(pool, s, slen, hash, create); - } -+ } - return sid; - } - - rpmsid rpmstrPoolId(rpmstrPool pool, const char *s, int create) - { - rpmsid sid = 0; -- -+ #pragma omp critical(rpmstrpool) -+ { - if (s != NULL) { - size_t slen; - unsigned int hash = rstrlenhash(s, &slen); - sid = strn2id(pool, s, slen, hash, create); - } -+ } - return sid; - } - --const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid) -+static const char * rpmstrPoolStrNoLock(rpmstrPool pool, rpmsid sid) - { - const char *s = NULL; - if (pool && sid > 0 && sid <= pool->offs_size) -@@ -401,12 +419,25 @@ const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid) - return s; - } - -+const char * rpmstrPoolStr(rpmstrPool pool, rpmsid sid) -+{ -+ const char *s = NULL; -+ #pragma omp critical(rpmstrpool) -+ { -+ s = rpmstrPoolStrNoLock(pool, sid); -+ } -+ return s; -+} -+ - size_t rpmstrPoolStrlen(rpmstrPool pool, rpmsid sid) - { - size_t slen = 0; -+ #pragma omp critical(rpmstrpool) -+ { - if (pool && sid > 0 && sid <= pool->offs_size) { - slen = strlen(pool->offs[sid]); - } -+ } - return slen; - } - -@@ -421,5 +452,12 @@ int rpmstrPoolStreq(rpmstrPool poolA, rpmsid sidA, - - rpmsid rpmstrPoolNumStr(rpmstrPool pool) - { -- return (pool != NULL) ? pool->offs_size : 0; -+ rpmsid id = 0; -+ #pragma omp critical(rpmstrpool) -+ { -+ if (pool) { -+ id = pool->offs_size; -+ } -+ } -+ return id; - } --- -2.11.0 - diff --git a/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch b/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch deleted file mode 100644 index 652e30b..0000000 --- a/recipes-devtools/rpm/files/0004-build-pack.c-remove-static-local-variables-from-buil.patch +++ /dev/null @@ -1,336 +0,0 @@ -From 792693bb90768cfde4898e8dd31ee1b5de803d2f Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin -Date: Thu, 8 Jun 2017 17:08:09 +0300 -Subject: [PATCH] build/pack.c: remove static local variables from buildHost() - and getBuildTime() - -Their use is causing difficult to diagnoze data races when building multiple -packages in parallel, and is a bad idea in general, as it also makes it more -difficult to reason about code. - -Upstream-Status: Submitted [https://github.com/rpm-software-management/rpm/pull/226] -Signed-off-by: Alexander Kanavin - -Signed-off-by: Alexander Kanavin - ---- - build/build.c | 54 ++++++++++++++++++++++++++++-- - build/pack.c | 84 +++++++++-------------------------------------- - build/rpmbuild_internal.h | 8 +++-- - 3 files changed, 74 insertions(+), 72 deletions(-) - -diff --git a/build/build.c b/build/build.c -index 13c3df2..b154f08 100644 ---- a/build/build.c -+++ b/build/build.c -@@ -6,6 +6,8 @@ - #include "system.h" - - #include -+#include -+#include - #include - - #include -@@ -16,6 +18,50 @@ - - #include "debug.h" - -+static rpm_time_t getBuildTime(void) -+{ -+ rpm_time_t buildTime = 0; -+ char *srcdate; -+ time_t epoch; -+ char *endptr; -+ -+ srcdate = getenv("SOURCE_DATE_EPOCH"); -+ if (srcdate) { -+ errno = 0; -+ epoch = strtol(srcdate, &endptr, 10); -+ if (srcdate == endptr || *endptr || errno != 0) -+ rpmlog(RPMLOG_ERR, _("unable to parse SOURCE_DATE_EPOCH\n")); -+ else -+ buildTime = (int32_t) epoch; -+ } else -+ buildTime = (int32_t) time(NULL); -+ -+ return buildTime; -+} -+ -+static char * buildHost(void) -+{ -+ char* hostname; -+ struct hostent *hbn; -+ char *bhMacro; -+ -+ bhMacro = rpmExpand("%{?_buildhost}", NULL); -+ if (strcmp(bhMacro, "") != 0) { -+ rasprintf(&hostname, "%s", bhMacro); -+ } else { -+ hostname = rcalloc(1024, sizeof(*hostname)); -+ (void) gethostname(hostname, 1024); -+ hbn = gethostbyname(hostname); -+ if (hbn) -+ strcpy(hostname, hbn->h_name); -+ else -+ rpmlog(RPMLOG_WARNING, -+ _("Could not canonicalize hostname: %s\n"), hostname); -+ } -+ free(bhMacro); -+ return(hostname); -+} -+ - /** - */ - static rpmRC doRmSource(rpmSpec spec) -@@ -201,6 +247,9 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what) - rpmRC rc = RPMRC_OK; - int test = (what & RPMBUILD_NOBUILD); - char *cookie = buildArgs->cookie ? xstrdup(buildArgs->cookie) : NULL; -+ const char* host = buildHost(); -+ rpm_time_t buildTime = getBuildTime(); -+ - - if (rpmExpandNumeric("%{?source_date_epoch_from_changelog}") && - getenv("SOURCE_DATE_EPOCH") == NULL) { -@@ -269,11 +318,11 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what) - goto exit; - - if (((what & RPMBUILD_PACKAGESOURCE) && !test) && -- (rc = packageSources(spec, &cookie))) -+ (rc = packageSources(spec, &cookie, buildTime, host))) - goto exit; - - if (((what & RPMBUILD_PACKAGEBINARY) && !test) && -- (rc = packageBinaries(spec, cookie, (didBuild == 0)))) -+ (rc = packageBinaries(spec, cookie, (didBuild == 0), buildTime, host))) - goto exit; - - if ((what & RPMBUILD_CLEAN) && -@@ -293,6 +342,7 @@ static rpmRC buildSpec(BTA_t buildArgs, rpmSpec spec, int what) - (void) unlink(spec->specFile); - - exit: -+ free(host); - free(cookie); - spec->rootDir = NULL; - if (rc != RPMRC_OK && rpmlogGetNrecs() > 0) { -diff --git a/build/pack.c b/build/pack.c -index df15876..17a4b09 100644 ---- a/build/pack.c -+++ b/build/pack.c -@@ -6,8 +6,6 @@ - #include "system.h" - - #include --#include --#include - #include - - #include /* RPMSIGTAG*, rpmReadPackageFile */ -@@ -152,57 +150,6 @@ exit: - return rc; - } - --static rpm_time_t * getBuildTime(void) --{ -- static rpm_time_t buildTime[1]; -- char *srcdate; -- time_t epoch; -- char *endptr; -- -- if (buildTime[0] == 0) { -- srcdate = getenv("SOURCE_DATE_EPOCH"); -- if (srcdate) { -- errno = 0; -- epoch = strtol(srcdate, &endptr, 10); -- if (srcdate == endptr || *endptr || errno != 0) -- rpmlog(RPMLOG_ERR, _("unable to parse SOURCE_DATE_EPOCH\n")); -- else -- buildTime[0] = (int32_t) epoch; -- } else -- buildTime[0] = (int32_t) time(NULL); -- } -- -- return buildTime; --} -- --static const char * buildHost(void) --{ -- static char hostname[1024]; -- static int oneshot = 0; -- struct hostent *hbn; -- char *bhMacro; -- -- if (! oneshot) { -- bhMacro = rpmExpand("%{?_buildhost}", NULL); -- if (strcmp(bhMacro, "") != 0 && strlen(bhMacro) < 1024) { -- strcpy(hostname, bhMacro); -- } else { -- if (strcmp(bhMacro, "") != 0) -- rpmlog(RPMLOG_WARNING, _("The _buildhost macro is too long\n")); -- (void) gethostname(hostname, sizeof(hostname)); -- hbn = gethostbyname(hostname); -- if (hbn) -- strcpy(hostname, hbn->h_name); -- else -- rpmlog(RPMLOG_WARNING, -- _("Could not canonicalize hostname: %s\n"), hostname); -- } -- free(bhMacro); -- oneshot = 1; -- } -- return(hostname); --} -- - static rpmRC processScriptFiles(rpmSpec spec, Package pkg) - { - struct TriggerFileEntry *p; -@@ -476,7 +423,8 @@ exit: - * order to how the RPM format is laid on disk. - */ - static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp, -- const char *fileName, char **cookie) -+ const char *fileName, char **cookie, -+ rpm_time_t buildTime, const char* buildHost) - { - FD_t fd = NULL; - char * rpmio_flags = NULL; -@@ -500,7 +448,7 @@ static rpmRC writeRPM(Package pkg, unsigned char ** pkgidp, - - /* Create and add the cookie */ - if (cookie) { -- rasprintf(cookie, "%s %d", buildHost(), (int) (*getBuildTime())); -+ rasprintf(cookie, "%s %d", buildHost, buildTime); - headerPutString(pkg->header, RPMTAG_COOKIE, *cookie); - } - -@@ -641,7 +589,7 @@ static rpmRC checkPackages(char *pkgcheck) - return RPMRC_OK; - } - --static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int cheating, char** filename) -+static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int cheating, char** filename, rpm_time_t buildTime, const char* buildHost) - { - const char *errorString; - rpmRC rc = RPMRC_OK; -@@ -660,8 +608,8 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch - headerCopyTags(spec->packages->header, pkg->header, copyTags); - - headerPutString(pkg->header, RPMTAG_RPMVERSION, VERSION); -- headerPutString(pkg->header, RPMTAG_BUILDHOST, buildHost()); -- headerPutUint32(pkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1); -+ headerPutString(pkg->header, RPMTAG_BUILDHOST, buildHost); -+ headerPutUint32(pkg->header, RPMTAG_BUILDTIME, &buildTime, 1); - - if (spec->sourcePkgId != NULL) { - headerPutBin(pkg->header, RPMTAG_SOURCEPKGID, spec->sourcePkgId,16); -@@ -699,7 +647,7 @@ static rpmRC packageBinary(rpmSpec spec, Package pkg, const char *cookie, int ch - free(binRpm); - } - -- rc = writeRPM(pkg, NULL, *filename, NULL); -+ rc = writeRPM(pkg, NULL, *filename, NULL, buildTime, buildHost); - if (rc == RPMRC_OK) { - /* Do check each written package if enabled */ - char *pkgcheck = rpmExpand("%{?_build_pkgcheck} ", *filename, NULL); -@@ -719,7 +667,7 @@ struct binaryPackageTaskData - struct binaryPackageTaskData *next; - }; - --static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const char *cookie, int cheating) -+static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const char *cookie, int cheating, rpm_time_t buildTime, char* buildHost) - { - struct binaryPackageTaskData *tasks = NULL; - struct binaryPackageTaskData *task = NULL; -@@ -731,7 +679,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c - if (pkg == spec->packages) { - // the first package needs to be processed ahead of others, as they copy - // changelog data from it, and so otherwise data races would happen -- task->result = packageBinary(spec, pkg, cookie, cheating, &(task->filename)); -+ task->result = packageBinary(spec, pkg, cookie, cheating, &(task->filename), buildTime, buildHost); - rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename); - tasks = task; - } -@@ -748,7 +696,7 @@ static struct binaryPackageTaskData* runBinaryPackageTasks(rpmSpec spec, const c - if (task != tasks) - #pragma omp task - { -- task->result = packageBinary(spec, task->pkg, cookie, cheating, &(task->filename)); -+ task->result = packageBinary(spec, task->pkg, cookie, cheating, &(task->filename), buildTime, buildHost); - rpmlog(RPMLOG_NOTICE, _("Finished binary package job, result %d, filename %s\n"), task->result, task->filename); - } - } -@@ -766,11 +714,11 @@ static void freeBinaryPackageTasks(struct binaryPackageTaskData* tasks) - } - } - --rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) -+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating, rpm_time_t buildTime, char* buildHost) - { - char *pkglist = NULL; - -- struct binaryPackageTaskData *tasks = runBinaryPackageTasks(spec, cookie, cheating); -+ struct binaryPackageTaskData *tasks = runBinaryPackageTasks(spec, cookie, cheating, buildTime, buildHost); - - for (struct binaryPackageTaskData *task = tasks; task != NULL; task = task->next) { - if (task->result == RPMRC_OK) { -@@ -797,7 +745,7 @@ rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating) - return RPMRC_OK; - } - --rpmRC packageSources(rpmSpec spec, char **cookie) -+rpmRC packageSources(rpmSpec spec, char **cookie, rpm_time_t buildTime, char* buildHost) - { - Package sourcePkg = spec->sourcePackage; - rpmRC rc; -@@ -805,8 +753,8 @@ rpmRC packageSources(rpmSpec spec, char **cookie) - - /* Add some cruft */ - headerPutString(sourcePkg->header, RPMTAG_RPMVERSION, VERSION); -- headerPutString(sourcePkg->header, RPMTAG_BUILDHOST, buildHost()); -- headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, getBuildTime(), 1); -+ headerPutString(sourcePkg->header, RPMTAG_BUILDHOST, buildHost); -+ headerPutUint32(sourcePkg->header, RPMTAG_BUILDTIME, &buildTime, 1); - headerPutUint32(sourcePkg->header, RPMTAG_SOURCEPACKAGE, &one, 1); - - /* XXX this should be %_srpmdir */ -@@ -814,7 +762,7 @@ rpmRC packageSources(rpmSpec spec, char **cookie) - char *pkgcheck = rpmExpand("%{?_build_pkgcheck_srpm} ", fn, NULL); - - spec->sourcePkgId = NULL; -- rc = writeRPM(sourcePkg, &spec->sourcePkgId, fn, cookie); -+ rc = writeRPM(sourcePkg, &spec->sourcePkgId, fn, cookie, buildTime, buildHost); - - /* Do check SRPM package if enabled */ - if (rc == RPMRC_OK && pkgcheck[0] != ' ') { -diff --git a/build/rpmbuild_internal.h b/build/rpmbuild_internal.h -index 439b7d3..07e8338 100644 ---- a/build/rpmbuild_internal.h -+++ b/build/rpmbuild_internal.h -@@ -427,19 +427,23 @@ rpmRC processSourceFiles(rpmSpec spec, rpmBuildPkgFlags pkgFlags); - * @param spec spec file control structure - * @param cookie build identifier "cookie" or NULL - * @param cheating was build shortcircuited? -+ * @param buildTime the build timestamp that goes into packages -+ * @param buildHost the hostname where the build is happening - * @return RPMRC_OK on success - */ - RPM_GNUC_INTERNAL --rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating); -+rpmRC packageBinaries(rpmSpec spec, const char *cookie, int cheating, rpm_time_t buildTime, char* buildHost); - - /** \ingroup rpmbuild - * Generate source package. - * @param spec spec file control structure - * @retval cookie build identifier "cookie" or NULL -+ * @param buildTime the build timestamp that goes into packages -+ * @param buildHost the hostname where the build is happening - * @return RPMRC_OK on success - */ - RPM_GNUC_INTERNAL --rpmRC packageSources(rpmSpec spec, char **cookie); -+rpmRC packageSources(rpmSpec spec, char **cookie, rpm_time_t buildTime, char* buildHost); - - RPM_GNUC_INTERNAL - int addLangTag(rpmSpec spec, Header h, rpmTagVal tag, diff --git a/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch b/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch deleted file mode 100644 index 4ac5c38..0000000 --- a/recipes-devtools/rpm/files/0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 5141d50d7b3d3c209a22c53deedb4ceef014401d Mon Sep 17 00:00:00 2001 -From: Peter Kjellerstedt -Date: Mon, 15 May 2017 10:21:08 +0200 -Subject: [PATCH 09/15] Do not require that ELF binaries are executable to be - identifiable - -There is nothing that requires, e.g., a DSO to be executable, but it -is still an ELF binary and should be identified as such. - -Upstream probably expects all ELF binaries to be marked as executable, -but rather than imposing such a limitation for OE, allow any file to -be identified as an ELF binary regardless of whether it is executable -or not. - -Upstream-Status: Inappropriate -Signed-off-by: Peter Kjellerstedt - ---- - fileattrs/elf.attr | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/fileattrs/elf.attr b/fileattrs/elf.attr -index 5805dd0ee..3516f309d 100644 ---- a/fileattrs/elf.attr -+++ b/fileattrs/elf.attr -@@ -1,4 +1,3 @@ - %__elf_provides %{_rpmconfigdir}/elfdeps --provides %{?__filter_GLIBC_PRIVATE:--filter-private} - %__elf_requires %{_rpmconfigdir}/elfdeps --requires %{?__filter_GLIBC_PRIVATE:--filter-private} - %__elf_magic ^(setuid,? )?(setgid,? )?(sticky )?ELF (32|64)-bit.*$ --%__elf_flags exeonly --- -2.14.2 - diff --git a/recipes-devtools/rpm/rpm2_4.14.2.bb b/recipes-devtools/rpm/rpm2_4.14.2.bb deleted file mode 100644 index 233fa14..0000000 --- a/recipes-devtools/rpm/rpm2_4.14.2.bb +++ /dev/null @@ -1,195 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -#SUMMARY = "The RPM package management system" -#DESCRIPTION = "The RPM Package Manager (RPM) is a powerful command line driven \ -#package management system capable of installing, uninstalling, \ -#verifying, querying, and updating software packages. Each software \ -#package consists of an archive of files along with information about \ -#the package like its version, a description, etc." - -#SUMMARY_${PN}-dev = "Development files for manipulating RPM packages" -#DESCRIPTION_${PN}-dev = "This package contains the RPM C library and header files. These \ -#development files will simplify the process of writing programs that \ -#manipulate RPM packages and databases. These files are intended to \ -#simplify the process of creating graphical package managers or any \ -#other tools that need an intimate knowledge of RPM packages in order \ -#to function." - -SUMMARY_python2-rpm = "Python bindings for apps which will manupulate RPM packages" -DESCRIPTION_python2-rpm = "The python2-rpm package contains a module that permits applications \ -written in the Python programming language to use the interface \ -supplied by the RPM Package Manager libraries." - -HOMEPAGE = "http://www.rpm.org" - -# libraries are also LGPL - how to express this? -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=c0bf017c0fd1920e6158a333acabfd4a" - -SRC_URI = "git://github.com/rpm-software-management/rpm;branch=rpm-4.14.x \ - file://0001-Do-not-add-an-unsatisfiable-dependency-when-building.patch \ - file://0001-Do-not-read-config-files-from-HOME.patch \ - file://0001-When-cross-installing-execute-package-scriptlets-wit.patch \ - file://0001-Do-not-reset-the-PATH-environment-variable-before-ru.patch \ - file://0002-Add-support-for-prefixing-etc-from-RPM_ETCCONFIGDIR-.patch \ - file://0001-Do-not-hardcode-lib-rpm-as-the-installation-path-for.patch \ - file://0001-Fix-build-with-musl-C-library.patch \ - file://0001-Add-a-color-setting-for-mips64_n32-binaries.patch \ - file://0011-Do-not-require-that-ELF-binaries-are-executable-to-b.patch \ - file://0001-Split-binary-package-building-into-a-separate-functi.patch \ - file://0002-Run-binary-package-creation-via-thread-pools.patch \ - file://0003-rpmstrpool.c-make-operations-over-string-pools-threa.patch \ - file://0004-build-pack.c-remove-static-local-variables-from-buil.patch \ - file://0001-perl-disable-auto-reqs.patch \ - file://0001-rpm-rpmio.c-restrict-virtual-memory-usage-if-limit-s.patch \ - " - -PE = "1" -SRCREV = "753f6941dc32e94047b7cfe713ddd604a810b4db" - -S = "${WORKDIR}/git" - -DEPENDS = "nss libarchive db file popt xz bzip2 dbus elfutils python" -DEPENDS_append_class-native = " file-replacement-native bzip2-replacement-native" - -inherit autotools gettext pkgconfig pythonnative -export PYTHON_ABI - -# OE-core patches autoreconf to additionally run gnu-configize, which fails with this recipe -EXTRA_AUTORECONF_append = " --exclude=gnu-configize" - -EXTRA_OECONF_append = " --without-lua --enable-python" -EXTRA_OECONF_append_libc-musl = " --disable-nls" - -# --sysconfdir prevents rpm from attempting to access machine-specific configuration in sysroot/etc; we need to have it in rootfs -# -# --localstatedir prevents rpm from writing its database to native sysroot when building images -# -# Disable dbus for native, so that rpm doesn't attempt to inhibit shutdown via session dbus even when plugins support is enabled. -# Also disable plugins by default for native. -EXTRA_OECONF_append_class-native = " --sysconfdir=/etc --localstatedir=/var --disable-plugins" -EXTRA_OECONF_append_class-nativesdk = " --sysconfdir=/etc --localstatedir=/var --disable-plugins" - -BBCLASSEXTEND = "native nativesdk" - -PACKAGECONFIG ??= "" -PACKAGECONFIG[imaevm] = "--with-imaevm,,ima-evm-utils" - -ASNEEDED = "" - -# Direct rpm-native to read configuration from our sysroot, not the one it was compiled in -# libmagic also has sysroot path contamination, so override it - -#WRAPPER_TOOLS = " \ -# ${bindir}/rpm \ -# ${bindir}/rpm2archive \ -# ${bindir}/rpm2cpio \ -# ${bindir}/rpmbuild \ -# ${bindir}/rpmdb \ -# ${bindir}/rpmgraph \ -# ${bindir}/rpmkeys \ -# ${bindir}/rpmsign \ -# ${bindir}/rpmspec \ -# ${libdir}/rpm/rpmdeps \ -#" - -#do_install_append_class-native() { -# for tool in ${WRAPPER_TOOLS}; do -# create_wrapper ${D}$tool \ -# RPM_CONFIGDIR=${STAGING_LIBDIR_NATIVE}/rpm \ -# RPM_ETCCONFIGDIR=${STAGING_DIR_NATIVE} \ -# MAGIC=${STAGING_DIR_NATIVE}${datadir_native}/misc/magic.mgc \ -# RPM_NO_CHROOT_FOR_SCRIPTS=1 -# done -#} - -#do_install_append_class-nativesdk() { -# for tool in ${WRAPPER_TOOLS}; do -# create_wrapper ${D}$tool \ -# RPM_CONFIGDIR='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir'), d.getVar('bindir'))}/rpm \ -# RPM_ETCCONFIGDIR='$'{RPM_ETCCONFIGDIR-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir'), d.getVar('bindir'))}/..} \ -# MAGIC='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir'), d.getVar('bindir'))}/misc/magic.mgc \ -# RPM_NO_CHROOT_FOR_SCRIPTS=1 -# done -# -# rm -rf ${D}/var -#} - -# Rpm's make install creates var/tmp which clashes with base-files packaging -#do_install_append_class-target() { -# rm -rf ${D}/var -#} - -do_compile_append () { - cd python - cp -r ../../git/python/* ./ - python setup.py build -} - -do_install_append () { - sed -i -e 's:${HOSTTOOLS_DIR}/::g' \ - ${D}/${libdir}/rpm/macros - - sed -i -e 's|/usr/bin/python|${USRBINPATH}/env ${PYTHON_PN}|' \ - ${D}${libdir}/rpm/pythondistdeps.py \ - ${D}${libdir}/rpm/python-macro-helper - - # remove all contents except python2-rpm - rm -r ${D}/var - rm -r ${D}/usr/share - rm -r ${D}/usr/include - rm -r ${D}/usr/lib/librpm* - rm -r ${D}/usr/lib/pkgconfig - # rm -r ${D}/usr/src - rm -r ${D}/usr/lib/rpm - rm -r ${D}/usr/lib/rpm-plugins - # rm -r ${D}/usr/lib/.debug - rm -r ${D}/usr/bin - - cd python - python setup.py install \ - --root=${D} --prefix=/usr \ - --install-lib=${PYTHON_SITEPACKAGES_DIR}/ --install-data=${datadir} -} - -#FILES_${PN} += "${libdir}/rpm-plugins/*.so \ -# ${libdir}/rpm \ -# " - -#FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \ -# " - -PACKAGES = "python2-rpm rpm2-dbg" -PROVIDES = "python2-rpm rpm2-dbg" -FILES_python2-rpm = " \ - ${PYTHON_SITEPACKAGES_DIR}/rpm/ \ - ${PYTHON_SITEPACKAGES_DIR}/rpm-${PV}-py${PYTHON_BASEVERSION}.egg-info \ - " - -# rpm 5.x was packaging the rpm build tools separately -#RPROVIDES_${PN} += "rpm-build" - -RDEPENDS_${PN} = "bash perl python-core" -RDEPENDS_python2-rpm = "rpm" -DEPENDS_python2-rpm = "rpm" -# PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess" - -# Do not specify a sysroot when compiling on a target. -#rpm_package_preprocess () { -# sed -i -e 's:--sysroot[^ ]*::g' \ -# ${PKGD}/${libdir}/rpm/macros -#} - diff --git a/recipes-devtools/ruby/ruby.inc b/recipes-devtools/ruby/ruby.inc deleted file mode 100644 index fa5692e..0000000 --- a/recipes-devtools/ruby/ruby.inc +++ /dev/null @@ -1,57 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -SUMMARY = "An interpreter of object-oriented scripting language" -DESCRIPTION = "Ruby is an interpreted scripting language for quick \ -and easy object-oriented programming. It has many features to process \ -text files and to do system management tasks (as in Perl). \ -It is simple, straight-forward, and extensible. \ -" -HOMEPAGE = "http://www.ruby-lang.org/" -SECTION = "devel/ruby" -LICENSE = "Ruby | BSD | GPLv2" -LIC_FILES_CHKSUM = "\ - file://COPYING;md5=837b32593517ae48b9c3b5c87a5d288c \ - file://BSDL;md5=19aaf65c88a40b508d17ae4be539c4b5 \ - file://GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://LEGAL;md5=3ce1fae39fe573b818c0af162bce6579 \ -" - -DEPENDS = "ruby-native zlib openssl tcl libyaml gdbm readline libffi libnsl2" -DEPENDS_class-native = "openssl-native libyaml-native readline-native libnsl2" - -SHRT_VER = "${@oe.utils.trim_version("${PV}", 2)}" -SRC_URI = " \ - http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p648.tar.gz \ - file://0002-Obey-LDFLAGS-for-the-link-of-libruby.patch \ - " -# file://0002-Obey-LDFLAGS-for-the-link-of-libruby.patch -# file://extmk.patch -UPSTREAM_CHECK_URI = "https://www.ruby-lang.org/en/downloads/" - -inherit autotools ptest - - -# This snippet lets compiled extensions which rely on external libraries, -# such as zlib, compile properly. If we don't do this, then when extmk.rb -# runs, it uses the native libraries instead of the target libraries, and so -# none of the linking operations succeed -- which makes extconf.rb think -# that the libraries aren't available and hence that the extension can't be -# built. - -do_configure_prepend() { - sed -i "s#%%TARGET_CFLAGS%%#$TARGET_CFLAGS#; s#%%TARGET_LDFLAGS%%#$TARGET_LDFLAGS#" ${S}/common.mk - rm -rf ${S}/ruby/ -} diff --git a/recipes-devtools/ruby/ruby/0001-openembedded-socket-extconf-hardcode-wide-getaddr-in.patch b/recipes-devtools/ruby/ruby/0001-openembedded-socket-extconf-hardcode-wide-getaddr-in.patch deleted file mode 100644 index 08ab662..0000000 --- a/recipes-devtools/ruby/ruby/0001-openembedded-socket-extconf-hardcode-wide-getaddr-in.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e6a66a83233eead74daab6bfe0390c70989ea110 Mon Sep 17 00:00:00 2001 -From: "Sar Ashki, Babak" -Date: Tue, 24 Mar 2020 14:47:02 -0700 -Subject: [PATCH] openembedded socket extconf: hardcode wide getaddr info - -From 9341293e71c03fe606edc9157bf1e13e3dd5b507 -Without this the socket extension doesn't build correctly ---- - ext/socket/extconf.rb | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/ext/socket/extconf.rb b/ext/socket/extconf.rb -index 13937ac773..775d63335d 100644 ---- a/ext/socket/extconf.rb -+++ b/ext/socket/extconf.rb -@@ -362,6 +362,12 @@ main(void) - return EXIT_FAILURE; - } - EOF -+ -+ -+# Ignore the actual result of the above test and assume that -+# everything is OK. -+getaddr_info_ok = true -+ - if ipv6 and not getaddr_info_ok - abort < 0xff) -+ return ONIGERR_INVALID_CODE_POINT_VALUE; - BITSET_SET_BIT_CHKDUP(cc->bs, (int )(*vs)); -- else if (*type == CCV_CODE_POINT) { -+ } else if (*type == CCV_CODE_POINT) { - r = add_code_range(&(cc->mbuf), env, *vs, *vs); - if (r < 0) return r; - } diff --git a/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch b/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch deleted file mode 100644 index d8bfba4..0000000 --- a/recipes-devtools/ruby/ruby/ruby-CVE-2017-9228.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 3b63d12038c8d8fc278e81c942fa9bec7c704c8b Mon Sep 17 00:00:00 2001 -From: "K.Kosako" -Date: Wed, 24 May 2017 13:43:25 +0900 -Subject: [PATCH] fix #60 : invalid state(CCS_VALUE) in parse_char_class() - ---- - regparse.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - ---- end of original header - -CVE: CVE-2017-9228 - -Upstream-Status: Inappropriate [not author] -Signed-off-by: Joe Slater - -diff --git a/regparse.c b/regparse.c -index 69875fa..1988747 100644 ---- a/regparse.c -+++ b/regparse.c -@@ -4081,7 +4081,9 @@ next_state_class(CClassNode* cc, OnigCodePoint* vs, enum CCVALTYPE* type, - } - } - -- *state = CCS_VALUE; -+ if (*state != CCS_START) -+ *state = CCS_VALUE; -+ - *type = CCV_CLASS; - return 0; - } --- -1.7.9.5 - diff --git a/recipes-devtools/ruby/ruby_2.0.0-p648.bb b/recipes-devtools/ruby/ruby_2.0.0-p648.bb deleted file mode 100644 index 540b906..0000000 --- a/recipes-devtools/ruby/ruby_2.0.0-p648.bb +++ /dev/null @@ -1,95 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -require ruby.inc -inherit openssl10 - -DEPENDS += " libnsl2" - -# file://ruby-CVE-2017-9226.patch # Not applicable -SRC_URI += " \ - file://ruby-CVE-2017-9228.patch \ - file://ext.socket.extmk.patch \ - " -# file://run-ptest - -SRC_URI[md5sum] = "05db49992d01731fee023cad09bb4e52" -SRC_URI[sha256sum] = "8690bd6b4949c333b3919755c4e48885dbfed6fd055fe9ef89930bde0d2376f8" - -# it's unknown to configure script, but then passed to extconf.rb -# maybe it's not really needed as we're hardcoding the result with -# 0001-socket-extconf-hardcode-wide-getaddr-info-test-outco.patch -UNKNOWN_CONFIGURE_WHITELIST += "--enable-wide-getaddrinfo" - -PACKAGECONFIG ??= "" - -PACKAGECONFIG[valgrind] = "--with-valgrind=yes, --with-valgrind=no, valgrind" -#PACKAGECONFIG[gmp] = "--with-gmp=yes, --with-gmp=no, gmp" - -EXTRA_AUTORECONF += "--exclude=aclocal" - -# --disable-versioned-paths -EXTRA_OECONF ?= " " -EXTRA_OECONF = "\ - --disable-install-doc \ - --disable-rpath \ - --disable-dtrace \ - --enable-shared \ - --enable-load-relative \ -" - -EXTRA_OEMAKE = " \ - LIBRUBYARG='-lruby-static' \ -" - -do_configure_prepend() { - cd ${S} - rm -rf spec/rubyspec - git clone git://github.com/ruby/rubyspec.git spec/rubyspec - cd ${B} -} - -do_install() { - oe_runmake 'DESTDIR=${D}' install -} - -do_install_append_class-target () { - # Find out rbconfig.rb from .installed.list - rbconfig_rb=`grep rbconfig.rb ${B}/.installed.list` - # Remove build host directories - sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' \ - -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${HOSTTOOLS_DIR}/::g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - -e 's:${RECIPE_SYSROOT}::g' \ - -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ - ${D}$rbconfig_rb - -} - -do_install_ptest () { - cp -rf ${S}/test ${D}${PTEST_PATH}/ - cp -r ${S}/include ${D}/${libdir}/ruby/ - test_case_rb=`grep rubygems/test_case.rb ${B}/.installed.list` - sed -i -e 's:../../../test/:../../../ptest/test/:g' ${D}/$test_case_rb -} - -FILES_${PN} += "${datadir}/rubygems" - - -BBCLASSEXTEND = "native nativesdk" - -# INSANE_SKIP_${PN} += "ldflags" diff --git a/recipes-extended/rabbitmq/files/rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch b/recipes-extended/rabbitmq/files/rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch deleted file mode 100644 index e6c6fe9..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch +++ /dev/null @@ -1,388 +0,0 @@ -From: Alexey Lebedeff -Date: Wed, 9 Mar 2016 14:55:02 +0300 -Subject: [PATCH] Avoid RPC roundtrips while listing items - -- Emit info about particular items in parallel on every node, with - results delivered directly to a `rabbitmqctl` instance. -- `rabbit_control_misc:wait_for_info_messages/5` can wait for results of - more than one emitting map. -- Stop passing arround InfoItemKeys in - `rabbit_control_misc:wait_for_info_messages/5`, the same information - could be directly encoded in DisplayFun closure. -- Add `emit` to function names, to avoid confusion with regular ones - which return result directly. - -Part of https://github.com/rabbitmq/rabbitmq-server/pull/683 - -diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl -index 27b352a..e09e02c 100644 ---- a/src/rabbit_amqqueue.erl -+++ b/src/rabbit_amqqueue.erl -@@ -25,10 +25,10 @@ - check_exclusive_access/2, with_exclusive_access_or_die/3, - stat/1, deliver/2, requeue/3, ack/3, reject/4]). - -export([list/0, list/1, info_keys/0, info/1, info/2, info_all/1, info_all/2, -- info_all/6, info_local/1]). -+ emit_info_all/5, list_local/1, info_local/1]). - -export([list_down/1]). - -export([force_event_refresh/1, notify_policy_changed/1]). ---export([consumers/1, consumers_all/1, consumers_all/3, consumer_info_keys/0]). -+-export([consumers/1, consumers_all/1, emit_consumers_all/4, consumer_info_keys/0]). - -export([basic_get/4, basic_consume/10, basic_cancel/4, notify_decorators/1]). - -export([notify_sent/2, notify_sent_queue_down/1, resume/2]). - -export([notify_down_all/2, notify_down_all/3, activate_limit_all/2, credit/5]). -@@ -41,7 +41,8 @@ - - %% internal - -export([internal_declare/2, internal_delete/1, run_backing_queue/3, -- set_ram_duration_target/2, set_maximum_since_use/2]). -+ set_ram_duration_target/2, set_maximum_since_use/2, -+ emit_info_local/4, emit_info_down/4, emit_consumers_local/3]). - - -include("rabbit.hrl"). - -include_lib("stdlib/include/qlc.hrl"). -@@ -117,10 +118,6 @@ - -spec info_all(rabbit_types:vhost()) -> [rabbit_types:infos()]. - -spec info_all(rabbit_types:vhost(), rabbit_types:info_keys()) -> - [rabbit_types:infos()]. ---spec info_all -- (rabbit_types:vhost(), rabbit_types:info_keys(), boolean(), boolean(), -- reference(), pid()) -> -- 'ok'. - -spec force_event_refresh(reference()) -> 'ok'. - -spec notify_policy_changed(rabbit_types:amqqueue()) -> 'ok'. - -spec consumers(rabbit_types:amqqueue()) -> -@@ -130,7 +127,6 @@ - -spec consumers_all(rabbit_types:vhost()) -> - [{name(), pid(), rabbit_types:ctag(), boolean(), - non_neg_integer(), rabbit_framing:amqp_table()}]. ---spec consumers_all(rabbit_types:vhost(), reference(), pid()) -> 'ok'. - -spec stat(rabbit_types:amqqueue()) -> - {'ok', non_neg_integer(), non_neg_integer()}. - -spec delete_immediately(qpids()) -> 'ok'. -@@ -627,16 +623,18 @@ info_all(VHostPath, Items) -> - map(list(VHostPath), fun (Q) -> info(Q, Items) end) ++ - map(list_down(VHostPath), fun (Q) -> info_down(Q, Items, down) end). - --info_all(VHostPath, Items, NeedOnline, NeedOffline, Ref, AggregatorPid) -> -- NeedOnline andalso rabbit_control_misc:emitting_map_with_exit_handler( -- AggregatorPid, Ref, fun(Q) -> info(Q, Items) end, list(VHostPath), -- continue), -- NeedOffline andalso rabbit_control_misc:emitting_map_with_exit_handler( -- AggregatorPid, Ref, fun(Q) -> info_down(Q, Items, down) end, -- list_down(VHostPath), -- continue), -- %% Previous maps are incomplete, finalize emission -- rabbit_control_misc:emitting_map(AggregatorPid, Ref, fun(_) -> no_op end, []). -+emit_info_local(VHostPath, Items, Ref, AggregatorPid) -> -+ rabbit_control_misc:emitting_map_with_exit_handler( -+ AggregatorPid, Ref, fun(Q) -> info(Q, Items) end, list_local(VHostPath)). -+ -+emit_info_all(Nodes, VHostPath, Items, Ref, AggregatorPid) -> -+ Pids = [ spawn_link(Node, rabbit_amqqueue, emit_info_local, [VHostPath, Items, Ref, AggregatorPid]) || Node <- Nodes ], -+ rabbit_control_misc:await_emitters_termination(Pids). -+ -+emit_info_down(VHostPath, Items, Ref, AggregatorPid) -> -+ rabbit_control_misc:emitting_map_with_exit_handler( -+ AggregatorPid, Ref, fun(Q) -> info_down(Q, Items, down) end, -+ list_down(VHostPath)). - - info_local(VHostPath) -> - map(list_local(VHostPath), fun (Q) -> info(Q, [name]) end). -@@ -664,12 +662,17 @@ consumers_all(VHostPath) -> - map(list(VHostPath), - fun(Q) -> get_queue_consumer_info(Q, ConsumerInfoKeys) end)). - --consumers_all(VHostPath, Ref, AggregatorPid) -> -+emit_consumers_all(Nodes, VHostPath, Ref, AggregatorPid) -> -+ Pids = [ spawn_link(Node, rabbit_amqqueue, emit_consumers_local, [VHostPath, Ref, AggregatorPid]) || Node <- Nodes ], -+ rabbit_control_misc:await_emitters_termination(Pids), -+ ok. -+ -+emit_consumers_local(VHostPath, Ref, AggregatorPid) -> - ConsumerInfoKeys = consumer_info_keys(), - rabbit_control_misc:emitting_map( - AggregatorPid, Ref, - fun(Q) -> get_queue_consumer_info(Q, ConsumerInfoKeys) end, -- list(VHostPath)). -+ list_local(VHostPath)). - - get_queue_consumer_info(Q, ConsumerInfoKeys) -> - [lists:zip(ConsumerInfoKeys, -diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl -index ab7d38d..837a892 100644 ---- a/src/rabbit_channel.erl -+++ b/src/rabbit_channel.erl -@@ -56,7 +56,7 @@ - -export([send_command/2, deliver/4, deliver_reply/2, - send_credit_reply/2, send_drained/2]). - -export([list/0, info_keys/0, info/1, info/2, info_all/0, info_all/1, -- info_all/3, info_local/1]). -+ emit_info_all/4, info_local/1]). - -export([refresh_config_local/0, ready_for_close/1]). - -export([force_event_refresh/1]). - -@@ -64,7 +64,7 @@ - handle_info/2, handle_pre_hibernate/1, prioritise_call/4, - prioritise_cast/3, prioritise_info/3, format_message_queue/2]). - %% Internal ---export([list_local/0, deliver_reply_local/3]). -+-export([list_local/0, emit_info_local/3, deliver_reply_local/3]). - -export([get_vhost/1, get_user/1]). - - -record(ch, { -@@ -220,7 +220,6 @@ - -spec info(pid(), rabbit_types:info_keys()) -> rabbit_types:infos(). - -spec info_all() -> [rabbit_types:infos()]. - -spec info_all(rabbit_types:info_keys()) -> [rabbit_types:infos()]. ---spec info_all(rabbit_types:info_keys(), reference(), pid()) -> 'ok'. - -spec refresh_config_local() -> 'ok'. - -spec ready_for_close(pid()) -> 'ok'. - -spec force_event_refresh(reference()) -> 'ok'. -@@ -329,9 +328,16 @@ info_all(Items) -> - info_local(Items) -> - rabbit_misc:filter_exit_map(fun (C) -> info(C, Items) end, list_local()). - --info_all(Items, Ref, AggregatorPid) -> -+emit_info_all(Nodes, Items, Ref, AggregatorPid) -> -+ Pids = [ spawn_link(Node, rabbit_channel, emit_info_local, [Items, Ref, AggregatorPid]) || Node <- Nodes ], -+ rabbit_control_misc:await_emitters_termination(Pids). -+ -+emit_info_local(Items, Ref, AggregatorPid) -> -+ emit_info(list_local(), Items, Ref, AggregatorPid). -+ -+emit_info(PidList, InfoItems, Ref, AggregatorPid) -> - rabbit_control_misc:emitting_map_with_exit_handler( -- AggregatorPid, Ref, fun(C) -> info(C, Items) end, list()). -+ AggregatorPid, Ref, fun(C) -> info(C, InfoItems) end, PidList). - - refresh_config_local() -> - rabbit_misc:upmap( -diff --git a/src/rabbit_control_misc.erl b/src/rabbit_control_misc.erl -index 2e1f6cc..3b0c60b 100644 ---- a/src/rabbit_control_misc.erl -+++ b/src/rabbit_control_misc.erl -@@ -17,7 +17,8 @@ - -module(rabbit_control_misc). - - -export([emitting_map/4, emitting_map/5, emitting_map_with_exit_handler/4, -- emitting_map_with_exit_handler/5, wait_for_info_messages/5, -+ emitting_map_with_exit_handler/5, wait_for_info_messages/6, -+ spawn_emitter_caller/7, await_emitters_termination/1, - print_cmd_result/2]). - - -spec emitting_map(pid(), reference(), fun(), list()) -> 'ok'. -@@ -25,7 +26,14 @@ - -spec emitting_map_with_exit_handler - (pid(), reference(), fun(), list()) -> 'ok'. - -spec emitting_map_with_exit_handler -- (pid(), reference(), fun(), list(), atom()) -> 'ok'. -+ (pid(), reference(), fun(), list(), 'continue') -> 'ok'. -+ -+-type fold_fun() :: fun ((term(), term()) -> term()). -+ -+-spec wait_for_info_messages (pid(), reference(), fold_fun(), term(), timeout(), non_neg_integer()) -> {'ok', term()} | {'error', term()}. -+-spec spawn_emitter_caller (node(), module(), atom(), [term()], reference(), pid(), timeout()) -> 'ok'. -+-spec await_emitters_termination ([pid()]) -> 'ok'. -+ - -spec print_cmd_result(atom(), term()) -> 'ok'. - - emitting_map(AggregatorPid, Ref, Fun, List) -> -@@ -65,27 +73,108 @@ step_with_exit_handler(AggregatorPid, Ref, Fun, Item) -> - ok - end. - --wait_for_info_messages(Pid, Ref, ArgAtoms, DisplayFun, Timeout) -> -- _ = notify_if_timeout(Pid, Ref, Timeout), -- wait_for_info_messages(Ref, ArgAtoms, DisplayFun). -+%% Invokes RPC for async info collection in separate (but linked to -+%% the caller) process. Separate process waits for RPC to finish and -+%% in case of errors sends them in wait_for_info_messages/5-compatible -+%% form to aggregator process. Calling process is then expected to -+%% do blocking call of wait_for_info_messages/5. -+%% -+%% Remote function MUST use calls to emitting_map/4 (and other -+%% emitting_map's) to properly deliver requested information to an -+%% aggregator process. -+%% -+%% If for performance reasons several parallel emitting_map's need to -+%% be run, remote function MUST NOT return until all this -+%% emitting_map's are done. And during all this time remote RPC -+%% process MUST be linked to emitting -+%% processes. await_emitters_termination/1 helper can be used as a -+%% last statement of remote function to ensure this behaviour. -+spawn_emitter_caller(Node, Mod, Fun, Args, Ref, Pid, Timeout) -> -+ spawn_monitor( -+ fun () -> -+ case rpc_call_emitter(Node, Mod, Fun, Args, Ref, Pid, Timeout) of -+ {error, _} = Error -> -+ Pid ! {Ref, error, Error}; -+ {bad_argument, _} = Error -> -+ Pid ! {Ref, error, Error}; -+ {badrpc, _} = Error -> -+ Pid ! {Ref, error, Error}; -+ _ -> -+ ok -+ end -+ end), -+ ok. -+ -+rpc_call_emitter(Node, Mod, Fun, Args, Ref, Pid, Timeout) -> -+ rabbit_misc:rpc_call(Node, Mod, Fun, Args++[Ref, Pid], Timeout). -+ -+%% Agregator process expects correct numbers of explicits ACKs about -+%% finished emission process. While everything is linked, we still -+%% need somehow to wait for termination of all emitters before -+%% returning from RPC call - otherwise links will be just broken with -+%% reason 'normal' and we can miss some errors, and subsequentially -+%% hang. -+await_emitters_termination(Pids) -> -+ Monitors = [erlang:monitor(process, Pid) || Pid <- Pids], -+ collect_monitors(Monitors). - --wait_for_info_messages(Ref, InfoItemKeys, DisplayFun) when is_reference(Ref) -> -+collect_monitors([]) -> -+ ok; -+collect_monitors([Monitor|Rest]) -> - receive -- {Ref, finished} -> -- ok; -- {Ref, {timeout, T}} -> -+ {'DOWN', Monitor, _Pid, normal} -> -+ collect_monitors(Rest); -+ {'DOWN', Monitor, _Pid, noproc} -> -+ %% There is a link and a monitor to a process. Matching -+ %% this clause means that process has gracefully -+ %% terminated even before we've started monitoring. -+ collect_monitors(Rest); -+ {'DOWN', _, Pid, Reason} -> -+ exit({emitter_exit, Pid, Reason}) -+ end. -+ -+%% Wait for result of one or more calls to emitting_map-family -+%% functions. -+%% -+%% Number of expected acknowledgments is specified by ChunkCount -+%% argument. Most common usage will be with ChunkCount equals to -+%% number of live nodes, but it's not mandatory - thus more generic -+%% name of 'ChunkCount' was chosen. -+wait_for_info_messages(Pid, Ref, Fun, Acc0, Timeout, ChunkCount) -> -+ notify_if_timeout(Pid, Ref, Timeout), -+ wait_for_info_messages(Ref, Fun, Acc0, ChunkCount). -+ -+wait_for_info_messages(Ref, Fun, Acc0, ChunksLeft) -> -+ receive -+ {Ref, finished} when ChunksLeft =:= 1 -> -+ {ok, Acc0}; -+ {Ref, finished} -> -+ wait_for_info_messages(Ref, Fun, Acc0, ChunksLeft - 1); -+ {Ref, {timeout, T}} -> - exit({error, {timeout, (T / 1000)}}); -- {Ref, []} -> -- wait_for_info_messages(Ref, InfoItemKeys, DisplayFun); -- {Ref, Result, continue} -> -- DisplayFun(Result, InfoItemKeys), -- wait_for_info_messages(Ref, InfoItemKeys, DisplayFun); -- {error, Error} -> -- Error; -- _ -> -- wait_for_info_messages(Ref, InfoItemKeys, DisplayFun) -+ {Ref, []} -> -+ wait_for_info_messages(Ref, Fun, Acc0, ChunksLeft); -+ {Ref, Result, continue} -> -+ wait_for_info_messages(Ref, Fun, Fun(Result, Acc0), ChunksLeft); -+ {Ref, error, Error} -> -+ {error, simplify_emission_error(Error)}; -+ {'DOWN', _MRef, process, _Pid, normal} -> -+ wait_for_info_messages(Ref, Fun, Acc0, ChunksLeft); -+ {'DOWN', _MRef, process, _Pid, Reason} -> -+ {error, simplify_emission_error(Reason)}; -+ _Msg -> -+ wait_for_info_messages(Ref, Fun, Acc0, ChunksLeft) - end. - -+simplify_emission_error({badrpc, {'EXIT', {{nocatch, EmissionError}, _Stacktrace}}}) -> -+ EmissionError; -+simplify_emission_error({{nocatch, EmissionError}, _Stacktrace}) -> -+ EmissionError; -+simplify_emission_error(Anything) -> -+ {error, Anything}. -+ -+notify_if_timeout(_, _, infinity) -> -+ ok; - notify_if_timeout(Pid, Ref, Timeout) -> - timer:send_after(Timeout, Pid, {Ref, {timeout, Timeout}}). - -diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl -index 8965c59..9341ea9 100644 ---- a/src/rabbit_misc.erl -+++ b/src/rabbit_misc.erl -@@ -75,7 +75,7 @@ - -export([get_env/3]). - -export([get_channel_operation_timeout/0]). - -export([random/1]). ---export([rpc_call/4, rpc_call/5, rpc_call/7]). -+-export([rpc_call/4, rpc_call/5]). - -export([report_default_thread_pool_size/0]). - -export([get_gc_info/1]). - -@@ -264,8 +264,6 @@ - -spec random(non_neg_integer()) -> non_neg_integer(). - -spec rpc_call(node(), atom(), atom(), [any()]) -> any(). - -spec rpc_call(node(), atom(), atom(), [any()], number()) -> any(). ---spec rpc_call -- (node(), atom(), atom(), [any()], reference(), pid(), number()) -> any(). - -spec report_default_thread_pool_size() -> 'ok'. - -spec get_gc_info(pid()) -> integer(). - -@@ -1184,9 +1182,6 @@ rpc_call(Node, Mod, Fun, Args, Timeout) -> - rpc:call(Node, Mod, Fun, Args, Timeout) - end. - --rpc_call(Node, Mod, Fun, Args, Ref, Pid, Timeout) -> -- rpc_call(Node, Mod, Fun, Args++[Ref, Pid], Timeout). -- - guess_number_of_cpu_cores() -> - case erlang:system_info(logical_processors_available) of - unknown -> % Happens on Mac OS X. -diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl -index 5bf30ff..63e3ed0 100644 ---- a/src/rabbit_networking.erl -+++ b/src/rabbit_networking.erl -@@ -33,7 +33,8 @@ - node_listeners/1, register_connection/1, unregister_connection/1, - connections/0, connection_info_keys/0, - connection_info/1, connection_info/2, -- connection_info_all/0, connection_info_all/1, connection_info_all/3, -+ connection_info_all/0, connection_info_all/1, -+ emit_connection_info_all/4, emit_connection_info_local/3, - close_connection/2, force_connection_event_refresh/1, tcp_host/1]). - - %% Used by TCP-based transports, e.g. STOMP adapter -@@ -89,8 +90,6 @@ - -spec connection_info_all() -> [rabbit_types:infos()]. - -spec connection_info_all(rabbit_types:info_keys()) -> - [rabbit_types:infos()]. ---spec connection_info_all(rabbit_types:info_keys(), reference(), pid()) -> -- 'ok'. - -spec close_connection(pid(), string()) -> 'ok'. - -spec force_connection_event_refresh(reference()) -> 'ok'. - -@@ -365,10 +364,15 @@ connection_info(Pid, Items) -> rabbit_reader:info(Pid, Items). - connection_info_all() -> cmap(fun (Q) -> connection_info(Q) end). - connection_info_all(Items) -> cmap(fun (Q) -> connection_info(Q, Items) end). - --connection_info_all(Items, Ref, AggregatorPid) -> -+emit_connection_info_all(Nodes, Items, Ref, AggregatorPid) -> -+ Pids = [ spawn_link(Node, rabbit_networking, emit_connection_info_local, [Items, Ref, AggregatorPid]) || Node <- Nodes ], -+ rabbit_control_misc:await_emitters_termination(Pids), -+ ok. -+ -+emit_connection_info_local(Items, Ref, AggregatorPid) -> - rabbit_control_misc:emitting_map_with_exit_handler( - AggregatorPid, Ref, fun(Q) -> connection_info(Q, Items) end, -- connections()). -+ connections_local()). - - close_connection(Pid, Explanation) -> - rabbit_log:info("Closing connection ~p because ~p~n", [Pid, Explanation]), diff --git a/recipes-extended/rabbitmq/files/rabbitmq-common-0002-Use-proto_dist-from-command-line.patch b/recipes-extended/rabbitmq/files/rabbitmq-common-0002-Use-proto_dist-from-command-line.patch deleted file mode 100644 index a923a28..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-common-0002-Use-proto_dist-from-command-line.patch +++ /dev/null @@ -1,31 +0,0 @@ -From: Peter Lemenkov -Date: Fri, 15 Jul 2016 16:01:08 +0200 -Subject: [PATCH] Use proto_dist from command line - -Use protocol distribution value from command line when provided instead -of always using default value (inet_tcp) when trying to check epmd. - -If provided more than one protocol distribution types, then use the -first one. - -Signed-off-by: Peter Lemenkov - -diff --git a/src/rabbit_nodes.erl b/src/rabbit_nodes.erl -index 70a5355..18f7714 100644 ---- a/src/rabbit_nodes.erl -+++ b/src/rabbit_nodes.erl -@@ -221,9 +221,14 @@ set_cluster_name(Name) -> - ensure_epmd() -> - {ok, Prog} = init:get_argument(progname), - ID = rabbit_misc:random(1000000000), -+ ProtoDist = case init:get_argument(proto_dist) of -+ {ok, [Proto | _Protos]} -> Proto; -+ error -> "inet_tcp" -+ end, - Port = open_port( - {spawn_executable, os:find_executable(Prog)}, - [{args, ["-sname", rabbit_misc:format("epmd-starter-~b", [ID]), -+ "-proto_dist", rabbit_misc:format("~p", [ProtoDist]), - "-noshell", "-eval", "halt()."]}, - exit_status, stderr_to_stdout, use_stdio]), - port_shutdown_loop(Port). diff --git a/recipes-extended/rabbitmq/files/rabbitmq-script-wrapper b/recipes-extended/rabbitmq/files/rabbitmq-script-wrapper deleted file mode 100644 index b2a4520..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-script-wrapper +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -## The contents of this file are subject to the Mozilla Public License -## Version 1.1 (the "License"); you may not use this file except in -## compliance with the License. You may obtain a copy of the License -## at http://www.mozilla.org/MPL/ -## -## Software distributed under the License is distributed on an "AS IS" -## basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See -## the License for the specific language governing rights and -## limitations under the License. -## -## The Original Code is RabbitMQ. -## -## The Initial Developer of the Original Code is GoPivotal, Inc. -## Copyright (c) 2007-2015 Pivotal Software, Inc. All rights reserved. -## - -SED_OPT="-E" -if [ $(uname -s) = "Linux" ]; then - SED_OPT="-r" -fi - -for arg in "$@" ; do - # Wrap each arg in single quotes and wrap single quotes in double quotes, so that they're passed through cleanly. - arg=`printf %s "$arg" | sed $SED_OPT -e "s/'/'\"'\"'/g"` - CMDLINE="${CMDLINE} '${arg}'" -done - -cd /var/lib/rabbitmq - -SCRIPT=`basename $0` - -if [ `id -u` = `id -u rabbitmq` -a "$SCRIPT" = "rabbitmq-server" ] ; then - RABBITMQ_ENV=/usr/lib/rabbitmq/bin/rabbitmq-env - RABBITMQ_SCRIPTS_DIR=$(dirname "$RABBITMQ_ENV") - . "$RABBITMQ_ENV" - - exec /usr/lib/rabbitmq/bin/rabbitmq-server "$@" -elif [ `id -u` = `id -u rabbitmq` -o "$SCRIPT" = "rabbitmq-plugins" ] ; then - if [ -f $PWD/.erlang.cookie ] ; then - export HOME=. - fi - exec /usr/lib/rabbitmq/bin/${SCRIPT} "$@" -elif [ `id -u` = 0 ] ; then - # WRS. Allow to run as root - export HOME=${HOME:-/root} - /bin/sh -c "/usr/lib/rabbitmq/bin/${SCRIPT} ${CMDLINE}" -else - /usr/lib/rabbitmq/bin/${SCRIPT} - echo - echo "Only root or rabbitmq should run ${SCRIPT}" - echo - exit 1 -fi diff --git a/recipes-extended/rabbitmq/files/rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch b/recipes-extended/rabbitmq/files/rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch deleted file mode 100644 index 61a7f40..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch +++ /dev/null @@ -1,131 +0,0 @@ -From: Peter Lemenkov -Date: Thu, 19 May 2016 16:04:56 +0300 -Subject: [PATCH] Remove excessive sd_notify code - -Signed-off-by: Peter Lemenkov - -diff --git a/src/rabbit.erl b/src/rabbit.erl -index a86fd97..32ff240 100644 ---- a/src/rabbit.erl -+++ b/src/rabbit.erl -@@ -280,120 +280,8 @@ broker_start() -> - Plugins = rabbit_plugins:setup(), - ToBeLoaded = Plugins ++ ?APPS, - start_apps(ToBeLoaded), -- maybe_sd_notify(), - ok = log_broker_started(rabbit_plugins:active()). - --%% Try to send systemd ready notification if it makes sense in the --%% current environment. standard_error is used intentionally in all --%% logging statements, so all this messages will end in systemd --%% journal. --maybe_sd_notify() -> -- case sd_notify_ready() of -- false -> -- io:format(standard_error, "systemd READY notification failed, beware of timeouts~n", []); -- _ -> -- ok -- end. -- --sd_notify_ready() -> -- case {os:type(), os:getenv("NOTIFY_SOCKET")} of -- {{win32, _}, _} -> -- true; -- {_, [_|_]} -> %% Non-empty NOTIFY_SOCKET, give it a try -- sd_notify_legacy() orelse sd_notify_socat(); -- _ -> -- true -- end. -- --sd_notify_data() -> -- "READY=1\nSTATUS=Initialized\nMAINPID=" ++ os:getpid() ++ "\n". -- --sd_notify_legacy() -> -- case code:load_file(sd_notify) of -- {module, sd_notify} -> -- SDNotify = sd_notify, -- SDNotify:sd_notify(0, sd_notify_data()), -- true; -- {error, _} -> -- false -- end. -- --%% socat(1) is the most portable way the sd_notify could be --%% implemented in erlang, without introducing some NIF. Currently the --%% following issues prevent us from implementing it in a more --%% reasonable way: --%% - systemd-notify(1) is unstable for non-root users --%% - erlang doesn't support unix domain sockets. --%% --%% Some details on how we ended with such a solution: --%% https://github.com/rabbitmq/rabbitmq-server/issues/664 --sd_notify_socat() -> -- case sd_current_unit() of -- {ok, Unit} -> -- io:format(standard_error, "systemd unit for activation check: \"~s\"~n", [Unit]), -- sd_notify_socat(Unit); -- _ -> -- false -- end. -- --socat_socket_arg("@" ++ AbstractUnixSocket) -> -- "abstract-sendto:" ++ AbstractUnixSocket; --socat_socket_arg(UnixSocket) -> -- "unix-sendto:" ++ UnixSocket. -- --sd_open_port() -> -- open_port( -- {spawn_executable, os:find_executable("socat")}, -- [{args, [socat_socket_arg(os:getenv("NOTIFY_SOCKET")), "STDIO"]}, -- use_stdio, out]). -- --sd_notify_socat(Unit) -> -- case sd_open_port() of -- {'EXIT', Exit} -> -- io:format(standard_error, "Failed to start socat ~p~n", [Exit]), -- false; -- Port -> -- Port ! {self(), {command, sd_notify_data()}}, -- Result = sd_wait_activation(Port, Unit), -- port_close(Port), -- Result -- end. -- --sd_current_unit() -> -- case catch re:run(os:cmd("systemctl status " ++ os:getpid()), "([-.@0-9a-zA-Z]+)", [unicode, {capture, all_but_first, list}]) of -- {'EXIT', _} -> -- error; -- {match, [Unit]} -> -- {ok, Unit}; -- _ -> -- error -- end. -- --sd_wait_activation(Port, Unit) -> -- case os:find_executable("systemctl") of -- false -> -- io:format(standard_error, "'systemctl' unavailable, falling back to sleep~n", []), -- timer:sleep(5000), -- true; -- _ -> -- sd_wait_activation(Port, Unit, 10) -- end. -- --sd_wait_activation(_, _, 0) -> -- io:format(standard_error, "Service still in 'activating' state, bailing out~n", []), -- false; --sd_wait_activation(Port, Unit, AttemptsLeft) -> -- case os:cmd("systemctl show --property=ActiveState " ++ Unit) of -- "ActiveState=activating\n" -> -- timer:sleep(1000), -- sd_wait_activation(Port, Unit, AttemptsLeft - 1); -- "ActiveState=" ++ _ -> -- true; -- _ = Err-> -- io:format(standard_error, "Unexpected status from systemd ~p~n", [Err]), -- false -- end. -- - start_it(StartFun) -> - Marker = spawn_link(fun() -> receive stop -> ok end end), - case catch register(rabbit_boot, Marker) of diff --git a/recipes-extended/rabbitmq/files/rabbitmq-server-0002-Add-systemd-notification-support.patch b/recipes-extended/rabbitmq/files/rabbitmq-server-0002-Add-systemd-notification-support.patch deleted file mode 100644 index 7e8b0a4..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-server-0002-Add-systemd-notification-support.patch +++ /dev/null @@ -1,21 +0,0 @@ -From: John Eckersberg -Date: Wed, 18 Feb 2015 16:11:12 -0500 -Subject: [PATCH] Add systemd notification support - - -diff --git a/src/rabbit.erl b/src/rabbit.erl -index 32ff240..f9e8231 100644 ---- a/src/rabbit.erl -+++ b/src/rabbit.erl -@@ -280,6 +280,11 @@ broker_start() -> - Plugins = rabbit_plugins:setup(), - ToBeLoaded = Plugins ++ ?APPS, - start_apps(ToBeLoaded), -+ case code:load_file(sd_notify) of -+ {module, sd_notify} -> SDNotify = sd_notify, -+ SDNotify:sd_notify(0, "READY=1\nSTATUS=Initialized\nMAINPID=" ++ os:getpid() ++ "\n"); -+ {error, _} -> ok -+ end, - ok = log_broker_started(rabbit_plugins:active()). - - start_it(StartFun) -> diff --git a/recipes-extended/rabbitmq/files/rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch b/recipes-extended/rabbitmq/files/rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch deleted file mode 100644 index e98c427..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch +++ /dev/null @@ -1,124 +0,0 @@ -From: Peter Lemenkov -Date: Wed, 25 May 2016 22:24:44 +0300 -Subject: [PATCH] Revert "Distinct exit-codes for CLI utilities" - -This reverts commit 7984540175d0b8852025165b6b6a0ac05d692c98. - -diff --git a/include/rabbit_cli.hrl b/include/rabbit_cli.hrl -index a0d1ecf..efd328a 100644 ---- a/include/rabbit_cli.hrl -+++ b/include/rabbit_cli.hrl -@@ -46,14 +46,3 @@ - -define(RAM_DEF, {?RAM_OPT, flag}). - -define(OFFLINE_DEF, {?OFFLINE_OPT, flag}). - -define(ONLINE_DEF, {?ONLINE_OPT, flag}). -- --%% Subset of standartized exit codes from sysexits.h, see --%% https://github.com/rabbitmq/rabbitmq-server/issues/396 for discussion. ---define(EX_OK , 0). ---define(EX_USAGE , 64). % Bad command-line arguments. ---define(EX_DATAERR , 65). % Wrong data in command-line arguments. ---define(EX_NOUSER , 67). % The user specified does not exist. ---define(EX_UNAVAILABLE, 69). % Could not connect to the target node. ---define(EX_SOFTWARE , 70). % Failed to execute command. ---define(EX_TEMPFAIL , 75). % Temporary error (e.g. something has timed out). ---define(EX_CONFIG , 78). % Misconfiguration detected -diff --git a/src/rabbit_cli.erl b/src/rabbit_cli.erl -index 6b35482..dc490ad 100644 ---- a/src/rabbit_cli.erl -+++ b/src/rabbit_cli.erl -@@ -58,7 +58,7 @@ ensure_cli_distribution() -> - {error, Error} -> - print_error("Failed to initialize erlang distribution: ~p.", - [Error]), -- rabbit_misc:quit(?EX_TEMPFAIL) -+ rabbit_misc:quit(2) - end. - - %%---------------------------------------------------------------------------- -@@ -84,10 +84,10 @@ main(ParseFun, DoFun, UsageMod) -> - %% thrown errors into normal return values - case catch DoFun(Command, Node, Args, Opts) of - ok -> -- rabbit_misc:quit(?EX_OK); -+ rabbit_misc:quit(0); - {ok, Result} -> - rabbit_control_misc:print_cmd_result(Command, Result), -- rabbit_misc:quit(?EX_OK); -+ rabbit_misc:quit(0); - {'EXIT', {function_clause, [{?MODULE, action, _} | _]}} -> %% < R15 - PrintInvalidCommandError(), - usage(UsageMod); -@@ -97,51 +97,51 @@ main(ParseFun, DoFun, UsageMod) -> - {error, {missing_dependencies, Missing, Blame}} -> - print_error("dependent plugins ~p not found; used by ~p.", - [Missing, Blame]), -- rabbit_misc:quit(?EX_CONFIG); -+ rabbit_misc:quit(2); - {'EXIT', {badarg, _}} -> - print_error("invalid parameter: ~p", [Args]), -- usage(UsageMod, ?EX_DATAERR); -+ usage(UsageMod, 2); - {error, {Problem, Reason}} when is_atom(Problem), is_binary(Reason) -> - %% We handle this common case specially to avoid ~p since - %% that has i18n issues - print_error("~s: ~s", [Problem, Reason]), -- rabbit_misc:quit(?EX_SOFTWARE); -+ rabbit_misc:quit(2); - {error, Reason} -> - print_error("~p", [Reason]), -- rabbit_misc:quit(?EX_SOFTWARE); -+ rabbit_misc:quit(2); - {error_string, Reason} -> - print_error("~s", [Reason]), -- rabbit_misc:quit(?EX_SOFTWARE); -+ rabbit_misc:quit(2); - {badrpc, {'EXIT', Reason}} -> - print_error("~p", [Reason]), -- rabbit_misc:quit(?EX_SOFTWARE); -+ rabbit_misc:quit(2); - {badrpc, Reason} -> - case Reason of - timeout -> - print_error("operation ~w on node ~w timed out", [Command, Node]), -- rabbit_misc:quit(?EX_TEMPFAIL); -+ rabbit_misc:quit(2); - _ -> - print_error("unable to connect to node ~w: ~w", [Node, Reason]), - print_badrpc_diagnostics([Node]), - case Command of -- stop -> rabbit_misc:quit(?EX_OK); -- _ -> rabbit_misc:quit(?EX_UNAVAILABLE) -+ stop -> rabbit_misc:quit(0); -+ _ -> rabbit_misc:quit(2) - end - end; - {badrpc_multi, Reason, Nodes} -> - print_error("unable to connect to nodes ~p: ~w", [Nodes, Reason]), - print_badrpc_diagnostics(Nodes), -- rabbit_misc:quit(?EX_UNAVAILABLE); -+ rabbit_misc:quit(2); - function_clause -> - print_error("operation ~w used with invalid parameter: ~p", - [Command, Args]), - usage(UsageMod); - {refused, Username, _, _} -> - print_error("failed to authenticate user \"~s\"", [Username]), -- rabbit_misc:quit(?EX_NOUSER); -+ rabbit_misc:quit(2); - Other -> - print_error("~p", [Other]), -- rabbit_misc:quit(?EX_SOFTWARE) -+ rabbit_misc:quit(2) - end. - - start_distribution_anon(0, LastError) -> -@@ -172,7 +172,7 @@ name_type() -> - end. - - usage(Mod) -> -- usage(Mod, ?EX_USAGE). -+ usage(Mod, 1). - - usage(Mod, ExitCode) -> - io:format("~s", [Mod:usage()]), diff --git a/recipes-extended/rabbitmq/files/rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch b/recipes-extended/rabbitmq/files/rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch deleted file mode 100644 index 8bf55b4..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: John Eckersberg -Date: Thu, 30 Oct 2014 14:01:08 -0400 -Subject: [PATCH] Allow guest login from non-loopback connections - - -diff --git a/src/rabbit.app.src b/src/rabbit.app.src -index 572c1f6..4676e03 100644 ---- a/src/rabbit.app.src -+++ b/src/rabbit.app.src -@@ -39,7 +39,7 @@ - {default_user_tags, [administrator]}, - {default_vhost, <<"/">>}, - {default_permissions, [<<".*">>, <<".*">>, <<".*">>]}, -- {loopback_users, [<<"guest">>]}, -+ {loopback_users, []}, - {password_hashing_module, rabbit_password_hashing_sha256}, - {cluster_nodes, {[], disc}}, - {server_properties, []}, diff --git a/recipes-extended/rabbitmq/files/rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch b/recipes-extended/rabbitmq/files/rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch deleted file mode 100644 index 238d3d5..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch +++ /dev/null @@ -1,280 +0,0 @@ -From: Alexey Lebedeff -Date: Wed, 9 Mar 2016 18:09:04 +0300 -Subject: [PATCH] Avoid RPC roundtrips in list commands - -Current implementation of various `list_XXX` commands require cross-node -roundtrip for every processed item - because `rabbitmqctl` target node -is responsible for gathering global list of all items of -interest (channels etc.) and then processing them one by one. - -For example, listing 10000 channels evenly distributed across 3 nodes -where network has 1ms delay takes more than 10 seconds on my -machine. And with the proposed change listing will take almost the same -time as it'll take to gather this info locally. E.g. in the case above -listing now takes 0.7 second on the same machine with same 1ms delay. - -It works by invoking emitting_map on every node, where it should send -info about only local items to aggregator, in an async fashion - as no -reply from aggregator is needed. - -diff --git a/src/rabbit_control_main.erl b/src/rabbit_control_main.erl -index ea9d6a2..e6b168a 100644 ---- a/src/rabbit_control_main.erl -+++ b/src/rabbit_control_main.erl -@@ -23,7 +23,7 @@ - sync_queue/1, cancel_sync_queue/1, become/1, - purge_queue/1]). - ---import(rabbit_misc, [rpc_call/4, rpc_call/5, rpc_call/7]). -+-import(rabbit_misc, [rpc_call/4, rpc_call/5]). - - -define(EXTERNAL_CHECK_INTERVAL, 1000). - -@@ -595,56 +595,74 @@ action(purge_queue, Node, [Q], Opts, Inform, Timeout) -> - - action(list_users, Node, [], _Opts, Inform, Timeout) -> - Inform("Listing users", []), -- call(Node, {rabbit_auth_backend_internal, list_users, []}, -- rabbit_auth_backend_internal:user_info_keys(), true, Timeout); -+ call_emitter(Node, {rabbit_auth_backend_internal, list_users, []}, -+ rabbit_auth_backend_internal:user_info_keys(), -+ [{timeout, Timeout}, to_bin_utf8]); - - action(list_permissions, Node, [], Opts, Inform, Timeout) -> - VHost = proplists:get_value(?VHOST_OPT, Opts), - Inform("Listing permissions in vhost \"~s\"", [VHost]), -- call(Node, {rabbit_auth_backend_internal, list_vhost_permissions, [VHost]}, -- rabbit_auth_backend_internal:vhost_perms_info_keys(), true, Timeout, -- true); -+ call_emitter(Node, {rabbit_auth_backend_internal, list_vhost_permissions, [VHost]}, -+ rabbit_auth_backend_internal:vhost_perms_info_keys(), -+ [{timeout, Timeout}, to_bin_utf8, is_escaped]); - - action(list_parameters, Node, [], Opts, Inform, Timeout) -> - VHostArg = list_to_binary(proplists:get_value(?VHOST_OPT, Opts)), - Inform("Listing runtime parameters", []), -- call(Node, {rabbit_runtime_parameters, list_formatted, [VHostArg]}, -- rabbit_runtime_parameters:info_keys(), Timeout); -+ call_emitter(Node, {rabbit_runtime_parameters, list_formatted, [VHostArg]}, -+ rabbit_runtime_parameters:info_keys(), -+ [{timeout, Timeout}]); - - action(list_policies, Node, [], Opts, Inform, Timeout) -> - VHostArg = list_to_binary(proplists:get_value(?VHOST_OPT, Opts)), - Inform("Listing policies", []), -- call(Node, {rabbit_policy, list_formatted, [VHostArg]}, -- rabbit_policy:info_keys(), Timeout); -+ call_emitter(Node, {rabbit_policy, list_formatted, [VHostArg]}, -+ rabbit_policy:info_keys(), -+ [{timeout, Timeout}]); - - action(list_vhosts, Node, Args, _Opts, Inform, Timeout) -> - Inform("Listing vhosts", []), - ArgAtoms = default_if_empty(Args, [name]), -- call(Node, {rabbit_vhost, info_all, []}, ArgAtoms, true, Timeout); -+ call_emitter(Node, {rabbit_vhost, info_all, []}, ArgAtoms, -+ [{timeout, Timeout}, to_bin_utf8]); - - action(list_user_permissions, _Node, _Args = [], _Opts, _Inform, _Timeout) -> - {error_string, - "list_user_permissions expects a username argument, but none provided."}; - action(list_user_permissions, Node, Args = [_Username], _Opts, Inform, Timeout) -> - Inform("Listing permissions for user ~p", Args), -- call(Node, {rabbit_auth_backend_internal, list_user_permissions, Args}, -- rabbit_auth_backend_internal:user_perms_info_keys(), true, Timeout, -- true); -+ call_emitter(Node, {rabbit_auth_backend_internal, list_user_permissions, Args}, -+ rabbit_auth_backend_internal:user_perms_info_keys(), -+ [{timeout, Timeout}, to_bin_utf8, is_escaped]); - - action(list_queues, Node, Args, Opts, Inform, Timeout) -> -- [Online, Offline] = rabbit_cli:filter_opts(Opts, [?ONLINE_OPT, ?OFFLINE_OPT]), - Inform("Listing queues", []), -+ %% User options -+ [Online, Offline] = rabbit_cli:filter_opts(Opts, [?ONLINE_OPT, ?OFFLINE_OPT]), - VHostArg = list_to_binary(proplists:get_value(?VHOST_OPT, Opts)), - ArgAtoms = default_if_empty(Args, [name, messages]), -- call(Node, {rabbit_amqqueue, info_all, [VHostArg, ArgAtoms, Online, Offline]}, -- ArgAtoms, Timeout); -+ -+ %% Data for emission -+ Nodes = nodes_in_cluster(Node, Timeout), -+ OnlineChunks = if Online -> length(Nodes); true -> 0 end, -+ OfflineChunks = if Offline -> 1; true -> 0 end, -+ ChunksOpt = {chunks, OnlineChunks + OfflineChunks}, -+ TimeoutOpt = {timeout, Timeout}, -+ EmissionRef = make_ref(), -+ EmissionRefOpt = {ref, EmissionRef}, -+ -+ _ = Online andalso start_emission(Node, {rabbit_amqqueue, emit_info_all, [Nodes, VHostArg, ArgAtoms]}, -+ [TimeoutOpt, EmissionRefOpt]), -+ _ = Offline andalso start_emission(Node, {rabbit_amqqueue, emit_info_down, [VHostArg, ArgAtoms]}, -+ [TimeoutOpt, EmissionRefOpt]), -+ display_emission_result(EmissionRef, ArgAtoms, [ChunksOpt, TimeoutOpt]); - - action(list_exchanges, Node, Args, Opts, Inform, Timeout) -> - Inform("Listing exchanges", []), - VHostArg = list_to_binary(proplists:get_value(?VHOST_OPT, Opts)), - ArgAtoms = default_if_empty(Args, [name, type]), -- call(Node, {rabbit_exchange, info_all, [VHostArg, ArgAtoms]}, -- ArgAtoms, Timeout); -+ call_emitter(Node, {rabbit_exchange, info_all, [VHostArg, ArgAtoms]}, -+ ArgAtoms, [{timeout, Timeout}]); - - action(list_bindings, Node, Args, Opts, Inform, Timeout) -> - Inform("Listing bindings", []), -@@ -652,27 +670,31 @@ action(list_bindings, Node, Args, Opts, Inform, Timeout) -> - ArgAtoms = default_if_empty(Args, [source_name, source_kind, - destination_name, destination_kind, - routing_key, arguments]), -- call(Node, {rabbit_binding, info_all, [VHostArg, ArgAtoms]}, -- ArgAtoms, Timeout); -+ call_emitter(Node, {rabbit_binding, info_all, [VHostArg, ArgAtoms]}, -+ ArgAtoms, [{timeout, Timeout}]); - - action(list_connections, Node, Args, _Opts, Inform, Timeout) -> - Inform("Listing connections", []), - ArgAtoms = default_if_empty(Args, [user, peer_host, peer_port, state]), -- call(Node, {rabbit_networking, connection_info_all, [ArgAtoms]}, -- ArgAtoms, Timeout); -+ Nodes = nodes_in_cluster(Node, Timeout), -+ call_emitter(Node, {rabbit_networking, emit_connection_info_all, [Nodes, ArgAtoms]}, -+ ArgAtoms, [{timeout, Timeout}, {chunks, length(Nodes)}]); - - action(list_channels, Node, Args, _Opts, Inform, Timeout) -> - Inform("Listing channels", []), - ArgAtoms = default_if_empty(Args, [pid, user, consumer_count, - messages_unacknowledged]), -- call(Node, {rabbit_channel, info_all, [ArgAtoms]}, -- ArgAtoms, Timeout); -+ Nodes = nodes_in_cluster(Node, Timeout), -+ call_emitter(Node, {rabbit_channel, emit_info_all, [Nodes, ArgAtoms]}, ArgAtoms, -+ [{timeout, Timeout}, {chunks, length(Nodes)}]); - - action(list_consumers, Node, _Args, Opts, Inform, Timeout) -> - Inform("Listing consumers", []), - VHostArg = list_to_binary(proplists:get_value(?VHOST_OPT, Opts)), -- call(Node, {rabbit_amqqueue, consumers_all, [VHostArg]}, -- rabbit_amqqueue:consumer_info_keys(), Timeout); -+ Nodes = nodes_in_cluster(Node, Timeout), -+ call_emitter(Node, {rabbit_amqqueue, emit_consumers_all, [Nodes, VHostArg]}, -+ rabbit_amqqueue:consumer_info_keys(), -+ [{timeout, Timeout}, {chunks, length(Nodes)}]); - - action(node_health_check, Node, _Args, _Opts, Inform, Timeout) -> - Inform("Checking health of node ~p", [Node]), -@@ -788,17 +810,18 @@ display_info_message_row(IsEscaped, Result, InfoItemKeys) -> - {X, Value} -> Value - end, IsEscaped) || X <- InfoItemKeys]). - --display_info_message(IsEscaped) -> -+display_info_message(IsEscaped, InfoItemKeys) -> - fun ([], _) -> - ok; -- ([FirstResult|_] = List, InfoItemKeys) when is_list(FirstResult) -> -+ ([FirstResult|_] = List, _) when is_list(FirstResult) -> - lists:foreach(fun(Result) -> - display_info_message_row(IsEscaped, Result, InfoItemKeys) - end, - List), - ok; -- (Result, InfoItemKeys) -> -- display_info_message_row(IsEscaped, Result, InfoItemKeys) -+ (Result, _) -> -+ display_info_message_row(IsEscaped, Result, InfoItemKeys), -+ ok - end. - - display_info_list(Results, InfoItemKeys) when is_list(Results) -> -@@ -855,7 +878,10 @@ display_call_result(Node, MFA) -> - end. - - unsafe_rpc(Node, Mod, Fun, Args) -> -- case rpc_call(Node, Mod, Fun, Args) of -+ unsafe_rpc(Node, Mod, Fun, Args, ?RPC_TIMEOUT). -+ -+unsafe_rpc(Node, Mod, Fun, Args, Timeout) -> -+ case rpc_call(Node, Mod, Fun, Args, Timeout) of - {badrpc, _} = Res -> throw(Res); - Normal -> Normal - end. -@@ -874,33 +900,42 @@ ensure_app_running(Node) -> - call(Node, {Mod, Fun, Args}) -> - rpc_call(Node, Mod, Fun, lists:map(fun list_to_binary_utf8/1, Args)). - --call(Node, {Mod, Fun, Args}, InfoKeys, Timeout) -> -- call(Node, {Mod, Fun, Args}, InfoKeys, false, Timeout, false). -+call_emitter(Node, {Mod, Fun, Args}, InfoKeys, Opts) -> -+ Ref = start_emission(Node, {Mod, Fun, Args}, Opts), -+ display_emission_result(Ref, InfoKeys, Opts). -+ -+start_emission(Node, {Mod, Fun, Args}, Opts) -> -+ ToBinUtf8 = proplists:get_value(to_bin_utf8, Opts, false), -+ Timeout = proplists:get_value(timeout, Opts, infinity), -+ Ref = proplists:get_value(ref, Opts, make_ref()), -+ rabbit_control_misc:spawn_emitter_caller( -+ Node, Mod, Fun, prepare_call_args(Args, ToBinUtf8), -+ Ref, self(), Timeout), -+ Ref. -+ -+display_emission_result(Ref, InfoKeys, Opts) -> -+ IsEscaped = proplists:get_value(is_escaped, Opts, false), -+ Chunks = proplists:get_value(chunks, Opts, 1), -+ Timeout = proplists:get_value(timeout, Opts, infinity), -+ EmissionStatus = rabbit_control_misc:wait_for_info_messages( -+ self(), Ref, display_info_message(IsEscaped, InfoKeys), ok, Timeout, Chunks), -+ emission_to_action_result(EmissionStatus). -+ -+%% Convert rabbit_control_misc:wait_for_info_messages/6 return value -+%% into form expected by rabbit_cli:main/3. -+emission_to_action_result({ok, ok}) -> -+ ok; -+emission_to_action_result({error, Error}) -> -+ Error. - --call(Node, {Mod, Fun, Args}, InfoKeys, ToBinUtf8, Timeout) -> -- call(Node, {Mod, Fun, Args}, InfoKeys, ToBinUtf8, Timeout, false). -+prepare_call_args(Args, ToBinUtf8) -> -+ case ToBinUtf8 of -+ true -> valid_utf8_args(Args); -+ false -> Args -+ end. - --call(Node, {Mod, Fun, Args}, InfoKeys, ToBinUtf8, Timeout, IsEscaped) -> -- Args0 = case ToBinUtf8 of -- true -> lists:map(fun list_to_binary_utf8/1, Args); -- false -> Args -- end, -- Ref = make_ref(), -- Pid = self(), -- spawn_link( -- fun () -> -- case rabbit_cli:rpc_call(Node, Mod, Fun, Args0, -- Ref, Pid, Timeout) of -- {error, _} = Error -> -- Pid ! {error, Error}; -- {bad_argument, _} = Error -> -- Pid ! {error, Error}; -- _ -> -- ok -- end -- end), -- rabbit_control_misc:wait_for_info_messages( -- Pid, Ref, InfoKeys, display_info_message(IsEscaped), Timeout). -+valid_utf8_args(Args) -> -+ lists:map(fun list_to_binary_utf8/1, Args). - - list_to_binary_utf8(L) -> - B = list_to_binary(L), -@@ -950,7 +985,10 @@ split_list([_]) -> exit(even_list_needed); - split_list([A, B | T]) -> [{A, B} | split_list(T)]. - - nodes_in_cluster(Node) -> -- unsafe_rpc(Node, rabbit_mnesia, cluster_nodes, [running]). -+ unsafe_rpc(Node, rabbit_mnesia, cluster_nodes, [running], ?RPC_TIMEOUT). -+ -+nodes_in_cluster(Node, Timeout) -> -+ unsafe_rpc(Node, rabbit_mnesia, cluster_nodes, [running], Timeout). - - alarms_by_node(Name) -> - case rpc_call(Name, rabbit, status, []) of diff --git a/recipes-extended/rabbitmq/files/rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch b/recipes-extended/rabbitmq/files/rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch deleted file mode 100644 index efbff82..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch +++ /dev/null @@ -1,18 +0,0 @@ -From: Peter Lemenkov -Date: Sun, 17 Jul 2016 18:42:06 +0300 -Subject: [PATCH] rabbit_prelaunch must use RABBITMQ_SERVER_ERL_ARGS - -Signed-off-by: Peter Lemenkov - -diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server -index 7433731..25fff3a 100755 ---- a/scripts/rabbitmq-server -+++ b/scripts/rabbitmq-server -@@ -71,6 +71,7 @@ RABBITMQ_DIST_PORT=$RABBITMQ_DIST_PORT \ - -boot "${CLEAN_BOOT_FILE}" \ - -noinput \ - -hidden \ -+ ${RABBITMQ_SERVER_ERL_ARGS} \ - -s rabbit_prelaunch \ - ${RABBITMQ_NAME_TYPE} rabbitmqprelaunch$$ \ - -extra "${RABBITMQ_NODENAME}" diff --git a/recipes-extended/rabbitmq/files/rabbitmq-server-fails-with-home-not-set.patch b/recipes-extended/rabbitmq/files/rabbitmq-server-fails-with-home-not-set.patch deleted file mode 100644 index 26c1c12..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-server-fails-with-home-not-set.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 8141695bdab69d5abd4ae0611c35436840da3c07 Mon Sep 17 00:00:00 2001 -From: Jackie Huang -Date: Sat, 21 Mar 2020 23:39:01 +0800 -Subject: [PATCH] rabbitmqctl: set HOME variable for stx bootstrap - -Signed-off-by: Jackie Huang ---- - scripts/rabbitmqctl | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/scripts/rabbitmqctl b/scripts/rabbitmqctl -index 2336c3d..430f4a3 100755 ---- a/scripts/rabbitmqctl -+++ b/scripts/rabbitmqctl -@@ -24,6 +24,8 @@ if [ -z "$ERL_CRASH_DUMP_SECONDS" ]; then - export ERL_CRASH_DUMP_SECONDS=0 - fi - -+export HOME -+ - # We specify Mnesia dir and sasl error logger since some actions - # (e.g. forget_cluster_node --offline) require us to impersonate the - # real node. --- -2.7.4 - diff --git a/recipes-extended/rabbitmq/files/rabbitmq-server.logrotate b/recipes-extended/rabbitmq/files/rabbitmq-server.logrotate deleted file mode 100644 index 832cdcf..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-server.logrotate +++ /dev/null @@ -1,12 +0,0 @@ -/var/log/rabbitmq/*.log { - weekly - missingok - rotate 20 - compress - delaycompress - notifempty - sharedscripts - postrotate - /usr/sbin/rabbitmqctl -q rotate_logs - endscript -} diff --git a/recipes-extended/rabbitmq/files/rabbitmq-server.service b/recipes-extended/rabbitmq/files/rabbitmq-server.service deleted file mode 100644 index ab0cc98..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-server.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=RabbitMQ Messaging broker/server service -After=network.target - -[Service] -Type=simple -User=root -Environment=HOME=/home/root -WorkingDirectory=/var/lib/rabbitmq -LogsDirectory=rabbitmq -ExecStartPre=/usr/bin/rabbitmq-server-setup -ExecStart=/usr/bin/rabbitmq-server -ExecStop=/usr/bin/rabbitmqctl stop - -[Install] -WantedBy=multi-user.target diff --git a/recipes-extended/rabbitmq/files/rabbitmq-server.tmpfiles b/recipes-extended/rabbitmq/files/rabbitmq-server.tmpfiles deleted file mode 100644 index c268182..0000000 --- a/recipes-extended/rabbitmq/files/rabbitmq-server.tmpfiles +++ /dev/null @@ -1 +0,0 @@ -D /var/run/rabbitmq 0755 rabbitmq rabbitmq - diff --git a/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb b/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb deleted file mode 100644 index e9315f6..0000000 --- a/recipes-extended/rabbitmq/rabbitmq-server_3.6.5.bb +++ /dev/null @@ -1,131 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -DESCRIPTION = "High-performance AMQP-compliant message broker written in Erlang." -HOMEPAGE = "http://www.rabbitmq.com/" -SECTION = "network" - -LICENSE = "MPL-1.1" -LIC_FILES_CHKSUM = "file://LICENSE-MPL-RabbitMQ;md5=ce8293a7cc187353c90cb24a8ecee4ce" - -SRC_URI = " \ - http://www.rabbitmq.com/releases/rabbitmq-server/v${PV}/${PN}-${PV}.tar.xz \ - file://rabbitmq-server-0001-Remove-excessive-sd_notify-code.patch \ - file://rabbitmq-server-0002-Add-systemd-notification-support.patch \ - file://rabbitmq-server-0003-Revert-Distinct-exit-codes-for-CLI-utilities.patch \ - file://rabbitmq-server-0004-Allow-guest-login-from-non-loopback-connections.patch \ - file://rabbitmq-server-0005-Avoid-RPC-roundtrips-in-list-commands.patch \ - file://rabbitmq-server-0006-rabbit_prelaunch-must-use-RABBITMQ_SERVER_ERL_ARGS.patch \ - file://rabbitmq-common-0001-Avoid-RPC-roundtrips-while-listing-items.patch;patchdir=deps/rabbit_common \ - file://rabbitmq-common-0002-Use-proto_dist-from-command-line.patch;patchdir=deps/rabbit_common \ - file://rabbitmq-server-fails-with-home-not-set.patch \ - file://rabbitmq-script-wrapper \ - file://rabbitmq-server.logrotate \ - file://rabbitmq-server.tmpfiles \ -" - -SRC_URI[md5sum] = "e9f96b5763a89a246f53250e46c2796b" -SRC_URI[sha256sum] = "9550433ca8aaf5130bf5235bb978c44d3c4694cbd09d97114b3859f4895788ec" - -DEPENDS = " \ - coreutils-native\ - erlang-ssl \ - erlang-ssl-dev \ - erlang-native \ - libxslt \ - libxslt-native \ - python-simplejson \ - rsync-native \ - unzip-native \ - xmlto-native \ - zip-native \ -" - -# ../../../../../recipe-sysroot/usr/lib/erlang/lib/ssl-5.3.3/src/ -do_compile() { - export SOCKJS_ERLC_OPTS="-Dpre17_type_specs" - rm -rf deps/rabbit_common/include/ssl - mkdir ${S}/deps/rabbit_common/include/ssl - cp -r ${RECIPE_SYSROOT}/${libdir}/erlang/lib/ssl-5.3.3/src ${S}/deps/rabbit_common/include/ssl - oe_runmake -} - -do_install() { - RABBIT_LIB_DIR=${libdir}/rabbitmq - - oe_runmake install \ - DESTDIR=${D} \ - PREFIX=${prefix} \ - RMQ_ROOTDIR=${RABBIT_LIB_DIR} - - oe_runmake install-man \ - DESTDIR=${D} \ - PREFIX=${prefix} \ - RMQ_ROOTDIR=${RABBIT_LIB_DIR} - - mkdir -p ${D}${localstatedir}/lib/rabbitmq/mnesia - mkdir -p ${D}${localstatedir}/log/rabbitmq - - # Copy all necessary lib files etc. - install -p -D -m 0644 ${S}/docs/rabbitmq-server.service.example ${D}${systemd_system_unitdir}/rabbitmq-server.service - install -p -D -m 0755 ${WORKDIR}/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmqctl - install -p -D -m 0755 ${WORKDIR}/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-server - install -p -D -m 0755 ${WORKDIR}/rabbitmq-script-wrapper ${D}${sbindir}/rabbitmq-plugins - - # Make necessary symlinks - mkdir -p ${D}${RABBIT_LIB_DIR}/bin - for app in rabbitmq-defaults rabbitmq-env rabbitmq-plugins rabbitmq-server rabbitmqctl; do - ln -s ${RABBIT_LIB_DIR}/lib/rabbitmq_server-${PV}/sbin/${app} ${D}${RABBIT_LIB_DIR}/bin/${app} - done - - install -p -D -m 0755 ${S}/scripts/rabbitmq-server.ocf ${D}${exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server - install -p -D -m 0755 ${S}/scripts/rabbitmq-server-ha.ocf ${D}${exec_prefix}/lib/ocf/resource.d/rabbitmq/rabbitmq-server-ha - - install -p -D -m 0644 ${WORKDIR}/rabbitmq-server.logrotate ${D}${sysconfdir}/logrotate.d/rabbitmq-server - - install -p -D -m 0644 ${S}/docs/rabbitmq.config.example ${D}${sysconfdir}/rabbitmq/rabbitmq.config - - rm -rf ${D}${RABBIT_LIB_DIR}/lib/rabbitmq_server-${PV}/{LICENSE,LICENSE-*,INSTALL} - - install -p -D -m 0644 ${WORKDIR}/rabbitmq-server.tmpfiles ${D}${prefix}/lib/tmpfiles.d/${BPN}.conf -} - -inherit useradd systemd openssl10 - -USERADD_PACKAGES = "${PN}" -GROUPADD_PARAM_${PN} = "--system rabbitmq" -USERADD_PARAM_${PN} = " \ - --system --create-home \ - --home ${localstatedir}/lib/rabbitmq \ - -g rabbitmq rabbitmq \ -" - -SYSTEMD_SERVICE_${PN} = "rabbitmq-server.service" -SYSTEMD_AUTO_ENABLE_${PN} = "disable" - -FILES_${PN} += " \ - ${RABBIT_LIB_DIR}/* \ - ${exec_prefix}/lib/* \ - ${localstatedir} \ -" - -FILES_${PN}-doc += "LICENSE* INSTALL" - -RDEPENDS_${PN} = " \ - erlang \ - erlang-modules \ -" - -INSANE_SKIP_${PN} = "unsafe-references-in-scripts" diff --git a/recipes-support/puppet/files/puppet/4.8.2/add_puppet_gemspec.patch b/recipes-support/puppet/files/puppet/4.8.2/add_puppet_gemspec.patch deleted file mode 100644 index 50c215c..0000000 --- a/recipes-support/puppet/files/puppet/4.8.2/add_puppet_gemspec.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff -urN puppet-3.7.3_ori/puppet.gemspec puppet-3.7.3/puppet.gemspec ---- puppet-3.7.3_ori/puppet.gemspec 1970-01-01 08:00:00.000000000 +0800 -+++ puppet-3.7.3/puppet.gemspec 2014-11-12 14:30:07.000000000 +0800 -@@ -0,0 +1,19 @@ -+$:.unshift(File.dirname(__FILE__) + '/lib') -+require 'puppet/version' -+ -+Gem::Specification.new do |s| -+ s.name = 'puppet' -+ s.version = Puppet::PUPPETVERSION -+ s.platform = Gem::Platform::RUBY -+ s.summary = 'Open source Puppet is a configuration management system' -+ s.description = s.summary -+ s.author = 'Yang Haibo' -+ s.email = 'b40869@freescale.com' -+ s.homepage = 'https://puppetlabs.com/puppet/puppet-open-source' -+ s.license = 'Apache 2.0' -+ -+ s.bindir = 'bin' -+ s.executables = ['puppet'] -+ s.require_path = 'lib' -+ s.files = %w(LICENSE README.md Rakefile) + Dir.glob('{lib,spec}/**/*') -+end diff --git a/recipes-support/puppet/files/puppet/4.8.2/puppet-poky-dnf.patch b/recipes-support/puppet/files/puppet/4.8.2/puppet-poky-dnf.patch deleted file mode 100644 index 93fb391..0000000 --- a/recipes-support/puppet/files/puppet/4.8.2/puppet-poky-dnf.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/lib/puppet/provider/package/dnf.rb b/lib/puppet/provider/package/dnf.rb -index e144a1a..8497bec 100644 ---- a/lib/puppet/provider/package/dnf.rb -+++ b/lib/puppet/provider/package/dnf.rb -@@ -29,6 +29,7 @@ Puppet::Type.type(:package).provide :dnf, :parent => :yum do - end - - defaultfor :operatingsystem => :fedora, :operatingsystemmajrelease => ['22', '23', '24'] -+ defaultfor :operatingsystem => :"poky-stx" - - def self.update_command - # In DNF, update is deprecated for upgrade diff --git a/recipes-support/puppet/files/puppet/4.8.2/puppet-updates-for-poky-stx.patch b/recipes-support/puppet/files/puppet/4.8.2/puppet-updates-for-poky-stx.patch deleted file mode 100644 index a524d78..0000000 --- a/recipes-support/puppet/files/puppet/4.8.2/puppet-updates-for-poky-stx.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/lib/puppet/provider/service/systemd.rb b/lib/puppet/provider/service/systemd.rb -index a673550..faf7b7b 100644 ---- a/lib/puppet/provider/service/systemd.rb -+++ b/lib/puppet/provider/service/systemd.rb -@@ -23,6 +23,7 @@ Puppet::Type.type(:service).provide :systemd, :parent => :base do - defaultfor :osfamily => :redhat, :operatingsystem => :fedora - defaultfor :osfamily => :suse - defaultfor :operatingsystem => :debian, :operatingsystemmajrelease => "8" -+ defaultfor :operatingsystem => :"poky-stx", :operatingsystemmajrelease => ["2"] - defaultfor :operatingsystem => :ubuntu, :operatingsystemmajrelease => ["15.04","15.10","16.04","16.10"] - defaultfor :operatingsystem => :cumuluslinux, :operatingsystemmajrelease => ["3"] - diff --git a/recipes-support/puppet/files/puppet/4.8.2/puppet.conf b/recipes-support/puppet/files/puppet/4.8.2/puppet.conf deleted file mode 100644 index 63d5e5a..0000000 --- a/recipes-support/puppet/files/puppet/4.8.2/puppet.conf +++ /dev/null @@ -1,24 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -[main] -logdir=/var/log/puppet -vardir=/var/lib/puppet -ssldir=/var/lib/puppet/ssl -rundir=/var/run/puppet -factpath=$vardir/lib/facter - -[agent] -server=puppet-server diff --git a/recipes-support/puppet/files/puppet/4.8.2/puppet.init b/recipes-support/puppet/files/puppet/4.8.2/puppet.init deleted file mode 100644 index 64ab32e..0000000 --- a/recipes-support/puppet/files/puppet/4.8.2/puppet.init +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/bash -# -# chkconfig: 35 20 80 -# description: The puppet agent connects to a puppet master, requests a -# catalog of resources, and configures the local system. -# - -# Get function from functions library -. /etc/init.d/functions - -PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -DAEMON=/usr/bin/puppet -DAEMON_OPTS="agent --server master --no-daemonize" -NAME="agent" -DESC="puppet agent" -PIDFILE="/var/run/${NAME}.pid" -PID=`test -f $PIDFILE && cat $PIDFILE` -RETVAL=0 - -test -x $DAEMON || exit 0 - -[ -r /etc/default/puppet ] && . /etc/default/puppet - -reload_puppet_agent() { - start-stop-daemon --stop --quiet --signal HUP --pidfile $PIDFILE -} - -start_puppet_agent() { - start-stop-daemon --start --quiet --pidfile $PIDFILE \ - --startas $DAEMON -- $NAME $DAEMON_OPTS -} - -stop_puppet_agent() { - start-stop-daemon --stop --retry TERM/10/KILL/5 --quiet --oknodo --pidfile $PIDFILE -} - -status_puppet_agent() { - status_of_proc -p "${PIDFILE}" "${DAEMON}" "${NAME}" -} - -case "$1" in - start) - echo -n "Starting $DESC" - start_puppet_agent - log_end_msg $? - ;; - stop) - echo -n "Stopping $DESC" - stop_puppet_agent - log_end_msg $? - ;; - reload) - echo -n "Reloading $DESC" - reload_puppet_agent - log_end_msg $? - ;; - status) - status_puppet_agent - ;; - restart|force-reload) - echo -n "Restarting $DESC" - stop_puppet_agent - start_puppet_agent - log_end_msg $? - ;; -*) - echo "Usage: $0 {start|stop|status|restart|force-reload|reload}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/recipes-support/puppet/files/puppet/4.8.2/puppet.service b/recipes-support/puppet/files/puppet/4.8.2/puppet.service deleted file mode 100644 index c49dacf..0000000 --- a/recipes-support/puppet/files/puppet/4.8.2/puppet.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Puppet agent -After=network.target - -[Service] -ExecStart=/usr/bin/puppet agent --server master --no-daemonize -ExecReload=/bin/kill -HUP $MAINPID - -[Install] -WantedBy=multi-user.target diff --git a/recipes-support/puppet/puppet_4.8.2.bb b/recipes-support/puppet/puppet_4.8.2.bb deleted file mode 100644 index 677faba..0000000 --- a/recipes-support/puppet/puppet_4.8.2.bb +++ /dev/null @@ -1,79 +0,0 @@ -# -## Copyright (C) 2019 Wind River Systems, Inc. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -SUMMARY = "Open source Puppet is a configuration management system" -HOMEPAGE = "https://puppetlabs.com/puppet/puppet-open-source" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=7c9045ec00cc0d6b6e0e09ee811da4a0" - -SRC_URI = " \ - https://downloads.puppetlabs.com/puppet/puppet-${PV}.tar.gz \ - file://${BPN}/${PV}/add_puppet_gemspec.patch \ - file://${BPN}/${PV}/puppet-updates-for-poky-stx.patch \ - file://${BPN}/${PV}/puppet-poky-dnf.patch \ - file://${BPN}/${PV}/puppet.conf \ - file://${BPN}/${PV}/puppet.init \ - file://${BPN}/${PV}/puppet.service \ -" -SRC_URI[md5sum] = "095ef8bddd94dd1ee0562a3c816ab05f" -SRC_URI[sha256sum] = "fc71ca0be64b4b1282e0064b8fbf115c547cb87ca6b209da56e1b9569567404a" - -inherit ruby update-rc.d systemd -inherit openssl10 - -DEPENDS += " \ - ruby \ - facter \ - libffi \ -" - -RDEPENDS_${PN} += " \ - ruby \ - facter \ - ruby-shadow \ - bash \ -" - -RUBY_INSTALL_GEMS = "puppet-${PV}.gem" - -INITSCRIPT_NAME = "${BPN}" -INITSCRIPT_PARAMS = "start 02 5 3 2 . stop 20 0 1 6 ." - -SYSTEMD_AUTO_ENABLE = "enable" -SYSTEMD_PACKAGES = "${PN}" -SYSTEMD_SERVICE_${PN} = "${BPN}.service" - -do_install_append() { - install -d ${D}${sysconfdir}/puppet - install -d ${D}${sysconfdir}/puppet/manifests - install -d ${D}${sysconfdir}/puppet/modules - - install -m 655 ${S}/conf/auth.conf ${D}${sysconfdir}/puppet/ - install -m 655 ${S}/conf/fileserver.conf ${D}${sysconfdir}/puppet/ - install -m 655 ${S}/conf/environment.conf ${D}${sysconfdir}/puppet/ - install -m 655 ${WORKDIR}/${BPN}/${PV}/puppet.conf ${D}${sysconfdir}/puppet/ - - install -d ${D}${systemd_unitdir}/system - install -m 0644 ${WORKDIR}/${BPN}/${PV}/puppet.service ${D}${systemd_unitdir}/system - - install -d ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/${BPN}/${PV}/puppet.init ${D}${sysconfdir}/init.d/puppet - - # Install puppet environment and moudlepath - - install -m 0755 -d ${D}/${sysconfdir}/puppetlabs/code/environments/production - echo "modulepath = /usr/share/puppet/modules:/usr/share/openstack-puppet/modules" > \ - ${D}/${sysconfdir}/puppetlabs/code/environments/production/environment.conf -}