Diff of the two buildlogs: -- --- b1/build.log 2025-07-13 10:31:00.385973237 +0000 +++ b2/build.log 2025-07-13 10:39:22.033279001 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Sat Jul 12 22:25:28 -12 2025 -I: pbuilder-time-stamp: 1752402328 +I: Current time: Sun Aug 16 06:54:03 +14 2026 +I: pbuilder-time-stamp: 1786812843 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/unstable-reproducible-base.tgz] I: copying local configuration @@ -27,52 +27,84 @@ dpkg-source: info: applying removed-setuptools-depends.patch I: using fakeroot in build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/1660243/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/1826924/tmp/hooks/D01_modify_environment starting +debug: Running on codethink03-arm64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Aug 15 16:54 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/1826924/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/1826924/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='arm64' - DEBIAN_FRONTEND='noninteractive' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="37" [3]="1" [4]="release" [5]="aarch64-unknown-linux-gnu") + BASH_VERSION='5.2.37(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=arm64 + DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=12 ' - DISTRIBUTION='unstable' - HOME='/root' - HOST_ARCH='arm64' + DIRSTACK=() + DISTRIBUTION=unstable + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=aarch64 + HOST_ARCH=arm64 IFS=' ' - INVOCATION_ID='e92c7a617cb74e50bcbdadc6313e8150' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='1660243' - PS1='# ' - PS2='> ' + INVOCATION_ID=3c391aec346d4a09a3279734041c6e37 + LANG=C + LANGUAGE=nl_BE:nl + LC_ALL=C + MACHTYPE=aarch64-unknown-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=1826924 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.9qVN4UWv/pbuilderrc_EleF --distribution unstable --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.9qVN4UWv/b1 --logfile b1/build.log magnum_20.0.0-2.dsc' - SUDO_GID='109' - SUDO_UID='104' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://192.168.101.4:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.9qVN4UWv/pbuilderrc_o5rz --distribution unstable --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/unstable-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.9qVN4UWv/b2 --logfile b2/build.log magnum_20.0.0-2.dsc' + SUDO_GID=109 + SUDO_UID=104 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://192.168.101.4:3128 I: uname -a - Linux codethink04-arm64 6.1.0-37-cloud-arm64 #1 SMP Debian 6.1.140-1 (2025-05-22) aarch64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-37-cloud-arm64 #1 SMP Debian 6.1.140-1 (2025-05-22) aarch64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 May 12 19:25 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/1660243/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 May 12 2025 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/1826924/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -623,7 +655,7 @@ Get: 383 http://deb.debian.org/debian unstable/main arm64 python3-webtest all 3.0.4-1 [35.4 kB] Get: 384 http://deb.debian.org/debian unstable/main arm64 python3-werkzeug all 3.1.3-2 [207 kB] Get: 385 http://deb.debian.org/debian unstable/main arm64 python3-wsme all 0.12.1-6 [44.1 kB] -Fetched 106 MB in 1s (87.4 MB/s) +Fetched 106 MB in 1s (85.0 MB/s) Preconfiguring packages ... Selecting previously unselected package libpython3.13-minimal:arm64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19963 files and directories currently installed.) @@ -1838,8 +1870,8 @@ Setting up tzdata (2025b-4) ... Current default time zone: 'Etc/UTC' -Local time is now: Sun Jul 13 10:27:18 UTC 2025. -Universal Time is now: Sun Jul 13 10:27:18 UTC 2025. +Local time is now: Sat Aug 15 16:56:27 UTC 2026. +Universal Time is now: Sat Aug 15 16:56:27 UTC 2026. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up liberror-perl (0.17030-1) ... @@ -2210,7 +2242,11 @@ fakeroot is already the newest version (1.37.1.2-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. I: Building the package -I: Running cd /build/reproducible-path/magnum-20.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../magnum_20.0.0-2_source.changes +I: user script /srv/workspace/pbuilder/1826924/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for unstable +I: user script /srv/workspace/pbuilder/1826924/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/magnum-20.0.0/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../magnum_20.0.0-2_source.changes dpkg-buildpackage: info: source package magnum dpkg-buildpackage: info: source version 20.0.0-2 dpkg-buildpackage: info: source distribution unstable @@ -2509,37 +2545,95 @@ [pbr] AUTHORS complete (0.0s) running build running build_py -creating build/lib/magnum/tests/unit -copying magnum/tests/unit/test_hacking.py -> build/lib/magnum/tests/unit -copying magnum/tests/unit/__init__.py -> build/lib/magnum/tests/unit +creating build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_stats_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_quota_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_nodegroup_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_magnum_service_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_federation_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_cluster_template_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_cluster_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/test_certificate_policy.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/base.py -> build/lib/magnum/tests/unit/common/policies +copying magnum/tests/unit/common/policies/__init__.py -> build/lib/magnum/tests/unit/common/policies +creating build/lib/magnum/conductor/handlers/common +copying magnum/conductor/handlers/common/trust_manager.py -> build/lib/magnum/conductor/handlers/common +copying magnum/conductor/handlers/common/cert_manager.py -> build/lib/magnum/conductor/handlers/common +copying magnum/conductor/handlers/common/__init__.py -> build/lib/magnum/conductor/handlers/common creating build/lib/magnum/tests/functional/k8s_fcos copying magnum/tests/functional/k8s_fcos/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s_fcos copying magnum/tests/functional/k8s_fcos/__init__.py -> build/lib/magnum/tests/functional/k8s_fcos -creating build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_local.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/test_barbican.py -> build/lib/magnum/tests/unit/common/cert_manager -copying magnum/tests/unit/common/cert_manager/__init__.py -> build/lib/magnum/tests/unit/common/cert_manager -creating build/lib/magnum/tests/unit/db/sqlalchemy -copying magnum/tests/unit/db/sqlalchemy/test_types.py -> build/lib/magnum/tests/unit/db/sqlalchemy -copying magnum/tests/unit/db/sqlalchemy/__init__.py -> build/lib/magnum/tests/unit/db/sqlalchemy -creating build/lib/magnum/cmd -copying magnum/cmd/status.py -> build/lib/magnum/cmd -copying magnum/cmd/driver_manage.py -> build/lib/magnum/cmd -copying magnum/cmd/db_manage.py -> build/lib/magnum/cmd -copying magnum/cmd/conductor.py -> build/lib/magnum/cmd -copying magnum/cmd/api.py -> build/lib/magnum/cmd -copying magnum/cmd/__init__.py -> build/lib/magnum/cmd -creating build/lib/magnum/drivers/common -copying magnum/drivers/common/k8s_scale_manager.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/k8s_monitor.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/driver.py -> build/lib/magnum/drivers/common -copying magnum/drivers/common/__init__.py -> build/lib/magnum/drivers/common +copying magnum/tests/unit/common/test_utils.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_urlfetch.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_short_id.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_service.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_rpc.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_profiler.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_policy.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_octavia.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_neutron.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_keystone.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_exception.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_context.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/test_clients.py -> build/lib/magnum/tests/unit/common +copying magnum/tests/unit/common/__init__.py -> build/lib/magnum/tests/unit/common +creating build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_status.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_driver_manage.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_db_manage.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_conductor.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/test_api.py -> build/lib/magnum/tests/unit/cmd +copying magnum/tests/unit/cmd/__init__.py -> build/lib/magnum/tests/unit/cmd creating build/lib/magnum/tests/unit/conf copying magnum/tests/unit/conf/test_conf.py -> build/lib/magnum/tests/unit/conf copying magnum/tests/unit/conf/__init__.py -> build/lib/magnum/tests/unit/conf -creating build/lib/magnum/common +creating build/lib/magnum/common/x509 +copying magnum/common/x509/validator.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/operations.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/extensions.py -> build/lib/magnum/common/x509 +copying magnum/common/x509/__init__.py -> build/lib/magnum/common/x509 +creating build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/utils.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_x509keypair.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_quota.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_nodegroup.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_magnum_service.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_federation.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_cluster_template.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/test_cluster.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/base.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/unit/db/__init__.py -> build/lib/magnum/tests/unit/db +copying magnum/tests/utils.py -> build/lib/magnum/tests +copying magnum/tests/policy_fixture.py -> build/lib/magnum/tests +copying magnum/tests/output_fixture.py -> build/lib/magnum/tests +copying magnum/tests/fakes.py -> build/lib/magnum/tests +copying magnum/tests/fake_notifier.py -> build/lib/magnum/tests +copying magnum/tests/conf_fixture.py -> build/lib/magnum/tests +copying magnum/tests/base.py -> build/lib/magnum/tests +copying magnum/tests/__init__.py -> build/lib/magnum/tests +creating build/lib/magnum/api +copying magnum/api/versioned_method.py -> build/lib/magnum/api +copying magnum/api/validation.py -> build/lib/magnum/api +copying magnum/api/utils.py -> build/lib/magnum/api +copying magnum/api/servicegroup.py -> build/lib/magnum/api +copying magnum/api/http_error.py -> build/lib/magnum/api +copying magnum/api/hooks.py -> build/lib/magnum/api +copying magnum/api/expose.py -> build/lib/magnum/api +copying magnum/api/config.py -> build/lib/magnum/api +copying magnum/api/attr_validator.py -> build/lib/magnum/api +copying magnum/api/app.py -> build/lib/magnum/api +copying magnum/api/__init__.py -> build/lib/magnum/api +creating build/lib/magnum/common/policies +copying magnum/common/policies/stats.py -> build/lib/magnum/common/policies +copying magnum/common/policies/quota.py -> build/lib/magnum/common/policies +copying magnum/common/policies/nodegroup.py -> build/lib/magnum/common/policies +copying magnum/common/policies/magnum_service.py -> build/lib/magnum/common/policies +copying magnum/common/policies/federation.py -> build/lib/magnum/common/policies +copying magnum/common/policies/cluster_template.py -> build/lib/magnum/common/policies +copying magnum/common/policies/cluster.py -> build/lib/magnum/common/policies +copying magnum/common/policies/certificate.py -> build/lib/magnum/common/policies +copying magnum/common/policies/base.py -> build/lib/magnum/common/policies +copying magnum/common/policies/__init__.py -> build/lib/magnum/common/policies copying magnum/common/utils.py -> build/lib/magnum/common copying magnum/common/urlfetch.py -> build/lib/magnum/common copying magnum/common/short_id.py -> build/lib/magnum/common @@ -2559,28 +2653,19 @@ copying magnum/common/clients.py -> build/lib/magnum/common copying magnum/common/cinder.py -> build/lib/magnum/common copying magnum/common/__init__.py -> build/lib/magnum/common -creating build/lib/magnum/common/policies -copying magnum/common/policies/stats.py -> build/lib/magnum/common/policies -copying magnum/common/policies/quota.py -> build/lib/magnum/common/policies -copying magnum/common/policies/nodegroup.py -> build/lib/magnum/common/policies -copying magnum/common/policies/magnum_service.py -> build/lib/magnum/common/policies -copying magnum/common/policies/federation.py -> build/lib/magnum/common/policies -copying magnum/common/policies/cluster_template.py -> build/lib/magnum/common/policies -copying magnum/common/policies/cluster.py -> build/lib/magnum/common/policies -copying magnum/common/policies/certificate.py -> build/lib/magnum/common/policies -copying magnum/common/policies/base.py -> build/lib/magnum/common/policies -copying magnum/common/policies/__init__.py -> build/lib/magnum/common/policies -creating build/lib/magnum/tests/unit/template -copying magnum/tests/unit/template/test_template.py -> build/lib/magnum/tests/unit/template -copying magnum/tests/unit/template/__init__.py -> build/lib/magnum/tests/unit/template -creating build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/test_template_definition.py -> build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/test_heat_driver.py -> build/lib/magnum/tests/unit/drivers -copying magnum/tests/unit/drivers/__init__.py -> build/lib/magnum/tests/unit/drivers -creating build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/test_root.py -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/test_base.py -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/__init__.py -> build/lib/magnum/tests/unit/api/controllers +creating build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/types.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/stats.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/quota.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/nodegroup.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/magnum_services.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/federation.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/collection.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/cluster_template.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/cluster_actions.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/cluster.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/certificate.py -> build/lib/magnum/api/controllers/v1 +copying magnum/api/controllers/v1/__init__.py -> build/lib/magnum/api/controllers/v1 creating build/lib/magnum/objects copying magnum/objects/x509keypair.py -> build/lib/magnum/objects copying magnum/objects/stats.py -> build/lib/magnum/objects @@ -2594,35 +2679,147 @@ copying magnum/objects/certificate.py -> build/lib/magnum/objects copying magnum/objects/base.py -> build/lib/magnum/objects copying magnum/objects/__init__.py -> build/lib/magnum/objects -copying magnum/tests/unit/db/utils.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_x509keypair.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_quota.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_nodegroup.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_magnum_service.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_federation.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_cluster_template.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/test_cluster.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/base.py -> build/lib/magnum/tests/unit/db -copying magnum/tests/unit/db/__init__.py -> build/lib/magnum/tests/unit/db -creating build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_stats_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_quota_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_nodegroup_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_magnum_service_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_federation_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_cluster_template_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_cluster_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/test_certificate_policy.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/base.py -> build/lib/magnum/tests/unit/common/policies -copying magnum/tests/unit/common/policies/__init__.py -> build/lib/magnum/tests/unit/common/policies +creating build/lib/magnum/tests/unit/template +copying magnum/tests/unit/template/test_template.py -> build/lib/magnum/tests/unit/template +copying magnum/tests/unit/template/__init__.py -> build/lib/magnum/tests/unit/template +copying magnum/tests/functional/python_client_base.py -> build/lib/magnum/tests/functional +copying magnum/tests/functional/__init__.py -> build/lib/magnum/tests/functional +creating build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/models.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/migration.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/api.py -> build/lib/magnum/db/sqlalchemy +copying magnum/db/sqlalchemy/__init__.py -> build/lib/magnum/db/sqlalchemy +creating build/lib/magnum/service +copying magnum/service/periodic.py -> build/lib/magnum/service +copying magnum/service/__init__.py -> build/lib/magnum/service +creating build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_utils.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_scale_manager.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_rpcapi.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_monitors.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/test_k8s_api.py -> build/lib/magnum/tests/unit/conductor +copying magnum/tests/unit/conductor/__init__.py -> build/lib/magnum/tests/unit/conductor +copying magnum/conductor/utils.py -> build/lib/magnum/conductor +copying magnum/conductor/scale_manager.py -> build/lib/magnum/conductor +copying magnum/conductor/monitors.py -> build/lib/magnum/conductor +copying magnum/conductor/k8s_api.py -> build/lib/magnum/conductor +copying magnum/conductor/api.py -> build/lib/magnum/conductor +copying magnum/conductor/__init__.py -> build/lib/magnum/conductor +copying magnum/version.py -> build/lib/magnum +copying magnum/i18n.py -> build/lib/magnum +copying magnum/__init__.py -> build/lib/magnum +creating build/lib/magnum/conductor/tasks +copying magnum/conductor/tasks/heat_tasks.py -> build/lib/magnum/conductor/tasks +copying magnum/conductor/tasks/__init__.py -> build/lib/magnum/conductor/tasks creating build/lib/magnum/servicegroup copying magnum/servicegroup/magnum_service_periodic.py -> build/lib/magnum/servicegroup copying magnum/servicegroup/__init__.py -> build/lib/magnum/servicegroup -copying magnum/drivers/__init__.py -> build/lib/magnum/drivers -creating build/lib/magnum/db +copying magnum/conductor/handlers/nodegroup_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/indirection_api.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/federation_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/conductor_listener.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/cluster_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/ca_conductor.py -> build/lib/magnum/conductor/handlers +copying magnum/conductor/handlers/__init__.py -> build/lib/magnum/conductor/handlers copying magnum/db/migration.py -> build/lib/magnum/db copying magnum/db/api.py -> build/lib/magnum/db copying magnum/db/__init__.py -> build/lib/magnum/db +copying magnum/api/controllers/versions.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/root.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/link.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/base.py -> build/lib/magnum/api/controllers +copying magnum/api/controllers/__init__.py -> build/lib/magnum/api/controllers +creating build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/utils.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_x509keypair.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_objects.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_nodegroup.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_magnum_service.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_fields.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_federation.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_cluster_template.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/test_cluster.py -> build/lib/magnum/tests/unit/objects +copying magnum/tests/unit/objects/__init__.py -> build/lib/magnum/tests/unit/objects +creating build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_local.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_cert_manager.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/test_barbican.py -> build/lib/magnum/tests/unit/common/cert_manager +copying magnum/tests/unit/common/cert_manager/__init__.py -> build/lib/magnum/tests/unit/common/cert_manager +creating build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/utils.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/models.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/manager.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/datagen.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/config.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/client.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/base.py -> build/lib/magnum/tests/functional/common +copying magnum/tests/functional/common/__init__.py -> build/lib/magnum/tests/functional/common +creating build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_utils.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_types.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_stats.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_quota.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_nodegroup.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_magnum_service.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_federation.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_cluster_actions.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_cluster.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/test_certificate.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/controllers/v1/__init__.py -> build/lib/magnum/tests/unit/api/controllers/v1 +copying magnum/tests/unit/api/utils.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_validation.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_servicegroup.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_hooks.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_expose.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_attr_validator.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/test_app.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/base.py -> build/lib/magnum/tests/unit/api +copying magnum/tests/unit/api/__init__.py -> build/lib/magnum/tests/unit/api +creating build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/conductor/handlers/common/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers/common +copying magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_indirection_api.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers +copying magnum/tests/unit/conductor/handlers/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers +creating build/lib/magnum/drivers/k8s_fedora_coreos_v1 +copying magnum/drivers/k8s_fedora_coreos_v1/version.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +copying magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +copying magnum/drivers/k8s_fedora_coreos_v1/driver.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +copying magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 +creating build/lib/magnum/tests/functional/k8s +copying magnum/tests/functional/k8s/test_magnum_python_client.py -> build/lib/magnum/tests/functional/k8s +copying magnum/tests/functional/k8s/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s +copying magnum/tests/functional/k8s/__init__.py -> build/lib/magnum/tests/functional/k8s +creating build/lib/magnum/api/middleware +copying magnum/api/middleware/parsable_error.py -> build/lib/magnum/api/middleware +copying magnum/api/middleware/auth_token.py -> build/lib/magnum/api/middleware +copying magnum/api/middleware/__init__.py -> build/lib/magnum/api/middleware +creating build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/magnum_service_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cluster_template_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cluster_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/cert_client.py -> build/lib/magnum/tests/functional/api/v1/clients +copying magnum/tests/functional/api/v1/clients/__init__.py -> build/lib/magnum/tests/functional/api/v1/clients +creating build/lib/magnum/cmd +copying magnum/cmd/status.py -> build/lib/magnum/cmd +copying magnum/cmd/driver_manage.py -> build/lib/magnum/cmd +copying magnum/cmd/db_manage.py -> build/lib/magnum/cmd +copying magnum/cmd/conductor.py -> build/lib/magnum/cmd +copying magnum/cmd/api.py -> build/lib/magnum/cmd +copying magnum/cmd/__init__.py -> build/lib/magnum/cmd +copying magnum/tests/unit/api/controllers/test_root.py -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/test_base.py -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/__init__.py -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/test_hacking.py -> build/lib/magnum/tests/unit +copying magnum/tests/unit/__init__.py -> build/lib/magnum/tests/unit creating build/lib/magnum/conf copying magnum/conf/docker.py -> build/lib/magnum/conf copying magnum/conf/x509.py -> build/lib/magnum/conf @@ -2654,60 +2851,30 @@ copying magnum/conf/barbican.py -> build/lib/magnum/conf copying magnum/conf/api.py -> build/lib/magnum/conf copying magnum/conf/__init__.py -> build/lib/magnum/conf -creating build/lib/magnum/tests/unit/conductor/handlers/common -copying magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common -copying magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> build/lib/magnum/tests/unit/conductor/handlers/common -copying magnum/tests/unit/conductor/handlers/common/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers/common -creating build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_utils.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_types.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_stats.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_quota.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_nodegroup.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_magnum_service.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_federation.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_cluster_template.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_cluster_actions.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_cluster.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/test_certificate.py -> build/lib/magnum/tests/unit/api/controllers/v1 -copying magnum/tests/unit/api/controllers/v1/__init__.py -> build/lib/magnum/tests/unit/api/controllers/v1 -creating build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/magnum_service_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cluster_template_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cluster_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/cert_client.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/functional/api/v1/clients/__init__.py -> build/lib/magnum/tests/functional/api/v1/clients -copying magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_indirection_api.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> build/lib/magnum/tests/unit/conductor/handlers -copying magnum/tests/unit/conductor/handlers/__init__.py -> build/lib/magnum/tests/unit/conductor/handlers -creating build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/models.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/migration.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/api.py -> build/lib/magnum/db/sqlalchemy -copying magnum/db/sqlalchemy/__init__.py -> build/lib/magnum/db/sqlalchemy -creating build/lib/magnum/conductor/tasks -copying magnum/conductor/tasks/heat_tasks.py -> build/lib/magnum/conductor/tasks -copying magnum/conductor/tasks/__init__.py -> build/lib/magnum/conductor/tasks -creating build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/types.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/stats.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/quota.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/nodegroup.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/magnum_services.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/federation.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/collection.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/cluster_template.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/cluster_actions.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/cluster.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/certificate.py -> build/lib/magnum/api/controllers/v1 -copying magnum/api/controllers/v1/__init__.py -> build/lib/magnum/api/controllers/v1 -copying magnum/tests/functional/python_client_base.py -> build/lib/magnum/tests/functional -copying magnum/tests/functional/__init__.py -> build/lib/magnum/tests/functional +creating build/lib/magnum/hacking +copying magnum/hacking/checks.py -> build/lib/magnum/hacking +copying magnum/hacking/__init__.py -> build/lib/magnum/hacking +creating build/lib/magnum/drivers/common +copying magnum/drivers/common/k8s_scale_manager.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/k8s_monitor.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/driver.py -> build/lib/magnum/drivers/common +copying magnum/drivers/common/__init__.py -> build/lib/magnum/drivers/common +copying magnum/tests/functional/api/base.py -> build/lib/magnum/tests/functional/api +copying magnum/tests/functional/api/__init__.py -> build/lib/magnum/tests/functional/api +creating build/lib/magnum/tests/unit/drivers +copying magnum/tests/unit/drivers/test_template_definition.py -> build/lib/magnum/tests/unit/drivers +copying magnum/tests/unit/drivers/test_heat_driver.py -> build/lib/magnum/tests/unit/drivers +copying magnum/tests/unit/drivers/__init__.py -> build/lib/magnum/tests/unit/drivers +copying magnum/drivers/__init__.py -> build/lib/magnum/drivers +creating build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/x509keypair_cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/local_cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/barbican_cert_manager.py -> build/lib/magnum/common/cert_manager +copying magnum/common/cert_manager/__init__.py -> build/lib/magnum/common/cert_manager +creating build/lib/magnum/tests/unit/servicegroup +copying magnum/tests/unit/servicegroup/test_magnum_service.py -> build/lib/magnum/tests/unit/servicegroup +copying magnum/tests/unit/servicegroup/__init__.py -> build/lib/magnum/tests/unit/servicegroup creating build/lib/magnum/drivers/heat copying magnum/drivers/heat/template_def.py -> build/lib/magnum/drivers/heat copying magnum/drivers/heat/k8s_template_def.py -> build/lib/magnum/drivers/heat @@ -2715,82 +2882,12 @@ copying magnum/drivers/heat/k8s_coreos_template_def.py -> build/lib/magnum/drivers/heat copying magnum/drivers/heat/driver.py -> build/lib/magnum/drivers/heat copying magnum/drivers/heat/__init__.py -> build/lib/magnum/drivers/heat -creating build/lib/magnum/tests/unit/conductor/tasks -copying magnum/tests/unit/conductor/tasks/test_heat_tasks.py -> build/lib/magnum/tests/unit/conductor/tasks -copying magnum/tests/unit/conductor/tasks/__init__.py -> build/lib/magnum/tests/unit/conductor/tasks -creating build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/common/x509/test_validator.py -> build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/common/x509/test_sign.py -> build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/common/x509/test_operations.py -> build/lib/magnum/tests/unit/common/x509 -copying magnum/tests/unit/common/x509/__init__.py -> build/lib/magnum/tests/unit/common/x509 -creating build/lib/magnum/tests/functional/k8s -copying magnum/tests/functional/k8s/test_magnum_python_client.py -> build/lib/magnum/tests/functional/k8s -copying magnum/tests/functional/k8s/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s -copying magnum/tests/functional/k8s/__init__.py -> build/lib/magnum/tests/functional/k8s -creating build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/utils.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_x509keypair.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_objects.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_nodegroup.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_magnum_service.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_fields.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_federation.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_cluster_template.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/test_cluster.py -> build/lib/magnum/tests/unit/objects -copying magnum/tests/unit/objects/__init__.py -> build/lib/magnum/tests/unit/objects -creating build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/utils.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/models.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/manager.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/datagen.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/config.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/client.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/base.py -> build/lib/magnum/tests/functional/common -copying magnum/tests/functional/common/__init__.py -> build/lib/magnum/tests/functional/common -creating build/lib/magnum/conductor/handlers/common -copying magnum/conductor/handlers/common/trust_manager.py -> build/lib/magnum/conductor/handlers/common -copying magnum/conductor/handlers/common/cert_manager.py -> build/lib/magnum/conductor/handlers/common -copying magnum/conductor/handlers/common/__init__.py -> build/lib/magnum/conductor/handlers/common -copying magnum/tests/unit/conductor/test_utils.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_scale_manager.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_rpcapi.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_monitors.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/test_k8s_api.py -> build/lib/magnum/tests/unit/conductor -copying magnum/tests/unit/conductor/__init__.py -> build/lib/magnum/tests/unit/conductor -copying magnum/conductor/handlers/nodegroup_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/indirection_api.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/federation_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/conductor_listener.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/cluster_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/ca_conductor.py -> build/lib/magnum/conductor/handlers -copying magnum/conductor/handlers/__init__.py -> build/lib/magnum/conductor/handlers -creating build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_status.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_driver_manage.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_db_manage.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_conductor.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/test_api.py -> build/lib/magnum/tests/unit/cmd -copying magnum/tests/unit/cmd/__init__.py -> build/lib/magnum/tests/unit/cmd -copying magnum/conductor/utils.py -> build/lib/magnum/conductor -copying magnum/conductor/scale_manager.py -> build/lib/magnum/conductor -copying magnum/conductor/monitors.py -> build/lib/magnum/conductor -copying magnum/conductor/k8s_api.py -> build/lib/magnum/conductor -copying magnum/conductor/api.py -> build/lib/magnum/conductor -copying magnum/conductor/__init__.py -> build/lib/magnum/conductor -copying magnum/tests/unit/api/utils.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_validation.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_servicegroup.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_hooks.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_expose.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_attr_validator.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/test_app.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/base.py -> build/lib/magnum/tests/unit/api -copying magnum/tests/unit/api/__init__.py -> build/lib/magnum/tests/unit/api -creating build/lib/magnum/common/x509 -copying magnum/common/x509/validator.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/operations.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/extensions.py -> build/lib/magnum/common/x509 -copying magnum/common/x509/__init__.py -> build/lib/magnum/common/x509 +creating build/lib/magnum/tests/unit/service +copying magnum/tests/unit/service/test_periodic.py -> build/lib/magnum/tests/unit/service +copying magnum/tests/unit/service/__init__.py -> build/lib/magnum/tests/unit/service +creating build/lib/magnum/tests/unit/db/sqlalchemy +copying magnum/tests/unit/db/sqlalchemy/test_types.py -> build/lib/magnum/tests/unit/db/sqlalchemy +copying magnum/tests/unit/db/sqlalchemy/__init__.py -> build/lib/magnum/tests/unit/db/sqlalchemy creating build/lib/magnum/tests/functional/api/v1/models copying magnum/tests/functional/api/v1/models/magnum_service_model.py -> build/lib/magnum/tests/functional/api/v1/models copying magnum/tests/functional/api/v1/models/clusterpatch_model.py -> build/lib/magnum/tests/functional/api/v1/models @@ -2800,80 +2897,18 @@ copying magnum/tests/functional/api/v1/models/cluster_id_model.py -> build/lib/magnum/tests/functional/api/v1/models copying magnum/tests/functional/api/v1/models/cert_model.py -> build/lib/magnum/tests/functional/api/v1/models copying magnum/tests/functional/api/v1/models/__init__.py -> build/lib/magnum/tests/functional/api/v1/models -creating build/lib/magnum/tests/unit/servicegroup -copying magnum/tests/unit/servicegroup/test_magnum_service.py -> build/lib/magnum/tests/unit/servicegroup -copying magnum/tests/unit/servicegroup/__init__.py -> build/lib/magnum/tests/unit/servicegroup -creating build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/x509keypair_cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/local_cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/barbican_cert_manager.py -> build/lib/magnum/common/cert_manager -copying magnum/common/cert_manager/__init__.py -> build/lib/magnum/common/cert_manager -creating build/lib/magnum/hacking -copying magnum/hacking/checks.py -> build/lib/magnum/hacking -copying magnum/hacking/__init__.py -> build/lib/magnum/hacking -copying magnum/tests/functional/api/v1/__init__.py -> build/lib/magnum/tests/functional/api/v1 -copying magnum/tests/functional/api/base.py -> build/lib/magnum/tests/functional/api -copying magnum/tests/functional/api/__init__.py -> build/lib/magnum/tests/functional/api -creating build/lib/magnum/api/middleware -copying magnum/api/middleware/parsable_error.py -> build/lib/magnum/api/middleware -copying magnum/api/middleware/auth_token.py -> build/lib/magnum/api/middleware -copying magnum/api/middleware/__init__.py -> build/lib/magnum/api/middleware -copying magnum/tests/unit/common/test_utils.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_urlfetch.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_short_id.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_service.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_rpc.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_profiler.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_policy.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_octavia.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_neutron.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_keystone.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_exception.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_context.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/test_clients.py -> build/lib/magnum/tests/unit/common -copying magnum/tests/unit/common/__init__.py -> build/lib/magnum/tests/unit/common -copying magnum/version.py -> build/lib/magnum -copying magnum/i18n.py -> build/lib/magnum -copying magnum/__init__.py -> build/lib/magnum -creating build/lib/magnum/tests/unit/service -copying magnum/tests/unit/service/test_periodic.py -> build/lib/magnum/tests/unit/service -copying magnum/tests/unit/service/__init__.py -> build/lib/magnum/tests/unit/service -copying magnum/api/versioned_method.py -> build/lib/magnum/api -copying magnum/api/validation.py -> build/lib/magnum/api -copying magnum/api/utils.py -> build/lib/magnum/api -copying magnum/api/servicegroup.py -> build/lib/magnum/api -copying magnum/api/http_error.py -> build/lib/magnum/api -copying magnum/api/hooks.py -> build/lib/magnum/api -copying magnum/api/expose.py -> build/lib/magnum/api -copying magnum/api/config.py -> build/lib/magnum/api -copying magnum/api/attr_validator.py -> build/lib/magnum/api -copying magnum/api/app.py -> build/lib/magnum/api -copying magnum/api/__init__.py -> build/lib/magnum/api -copying magnum/api/controllers/versions.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/root.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/link.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/base.py -> build/lib/magnum/api/controllers -copying magnum/api/controllers/__init__.py -> build/lib/magnum/api/controllers -creating build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/drivers/k8s_fedora_coreos_v1/version.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/drivers/k8s_fedora_coreos_v1/driver.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> build/lib/magnum/drivers/k8s_fedora_coreos_v1 -copying magnum/tests/utils.py -> build/lib/magnum/tests -copying magnum/tests/policy_fixture.py -> build/lib/magnum/tests -copying magnum/tests/output_fixture.py -> build/lib/magnum/tests -copying magnum/tests/fakes.py -> build/lib/magnum/tests -copying magnum/tests/fake_notifier.py -> build/lib/magnum/tests -copying magnum/tests/conf_fixture.py -> build/lib/magnum/tests -copying magnum/tests/base.py -> build/lib/magnum/tests -copying magnum/tests/__init__.py -> build/lib/magnum/tests -creating build/lib/magnum/service -copying magnum/service/periodic.py -> build/lib/magnum/service -copying magnum/service/__init__.py -> build/lib/magnum/service +creating build/lib/magnum/tests/unit/conductor/tasks +copying magnum/tests/unit/conductor/tasks/test_heat_tasks.py -> build/lib/magnum/tests/unit/conductor/tasks +copying magnum/tests/unit/conductor/tasks/__init__.py -> build/lib/magnum/tests/unit/conductor/tasks +creating build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/test_validator.py -> build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/test_sign.py -> build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/test_operations.py -> build/lib/magnum/tests/unit/common/x509 +copying magnum/tests/unit/common/x509/__init__.py -> build/lib/magnum/tests/unit/common/x509 creating build/lib/magnum/tests/functional/k8s_ironic copying magnum/tests/functional/k8s_ironic/test_k8s_python_client.py -> build/lib/magnum/tests/functional/k8s_ironic copying magnum/tests/functional/k8s_ironic/__init__.py -> build/lib/magnum/tests/functional/k8s_ironic +copying magnum/tests/functional/api/v1/__init__.py -> build/lib/magnum/tests/functional/api/v1 running egg_info creating magnum.egg-info writing magnum.egg-info/PKG-INFO @@ -3301,82 +3336,14 @@ !! check.warn(importable) -creating build/lib/magnum/drivers/common/templates -copying magnum/drivers/common/templates/lb_api.yaml -> build/lib/magnum/drivers/common/templates -copying magnum/drivers/common/templates/lb_etcd.yaml -> build/lib/magnum/drivers/common/templates -copying magnum/drivers/common/templates/network.yaml -> build/lib/magnum/drivers/common/templates -creating build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/no_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments -copying magnum/drivers/common/templates/environments/with_volume.yaml -> build/lib/magnum/drivers/common/templates/environments -creating build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> build/lib/magnum/drivers/common/templates/fragments -copying magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments -creating build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -copying magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments -creating build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/drivers/common/templates/kubernetes/helm/prometheus-adapter.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/drivers/common/templates/kubernetes/helm/prometheus-operator.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm -copying magnum/tests/unit/api/controllers/auth-paste.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/auth-root-access.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/auth-v1-access.ini -> build/lib/magnum/tests/unit/api/controllers -copying magnum/tests/unit/api/controllers/noauth-paste.ini -> build/lib/magnum/tests/unit/api/controllers +creating build/lib/magnum/tests/contrib +copying magnum/tests/contrib/copy_instance_logs.sh -> build/lib/magnum/tests/contrib +copying magnum/tests/contrib/gate_hook.sh -> build/lib/magnum/tests/contrib +copying magnum/tests/contrib/post_test_hook.sh -> build/lib/magnum/tests/contrib +creating build/lib/magnum/tests/releasenotes/notes +copying magnum/tests/releasenotes/notes/separated-ca-certs-299c95eea1ffd9b1.yaml -> build/lib/magnum/tests/releasenotes/notes +copying magnum/api/app.wsgi -> build/lib/magnum/api +copying magnum/api/rest_api_version_history.rst -> build/lib/magnum/api copying magnum/db/sqlalchemy/alembic.ini -> build/lib/magnum/db/sqlalchemy creating build/lib/magnum/db/sqlalchemy/alembic copying magnum/db/sqlalchemy/alembic/README -> build/lib/magnum/db/sqlalchemy/alembic @@ -3458,8 +3425,6 @@ copying magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py -> build/lib/magnum/db/sqlalchemy/alembic/versions copying magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py -> build/lib/magnum/db/sqlalchemy/alembic/versions copying magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py -> build/lib/magnum/db/sqlalchemy/alembic/versions -copying magnum/api/app.wsgi -> build/lib/magnum/api -copying magnum/api/rest_api_version_history.rst -> build/lib/magnum/api creating build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates copying magnum/drivers/k8s_fedora_coreos_v1/templates/COPYING -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates copying magnum/drivers/k8s_fedora_coreos_v1/templates/fcct-config.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates @@ -3467,83 +3432,88 @@ copying magnum/drivers/k8s_fedora_coreos_v1/templates/kubemaster.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates copying magnum/drivers/k8s_fedora_coreos_v1/templates/kubeminion.yaml -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates copying magnum/drivers/k8s_fedora_coreos_v1/templates/user_data.json -> build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates -creating build/lib/magnum/tests/contrib -copying magnum/tests/contrib/copy_instance_logs.sh -> build/lib/magnum/tests/contrib -copying magnum/tests/contrib/gate_hook.sh -> build/lib/magnum/tests/contrib -copying magnum/tests/contrib/post_test_hook.sh -> build/lib/magnum/tests/contrib -creating build/lib/magnum/tests/releasenotes/notes -copying magnum/tests/releasenotes/notes/separated-ca-certs-299c95eea1ffd9b1.yaml -> build/lib/magnum/tests/releasenotes/notes +copying magnum/tests/unit/api/controllers/auth-paste.ini -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/auth-root-access.ini -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/auth-v1-access.ini -> build/lib/magnum/tests/unit/api/controllers +copying magnum/tests/unit/api/controllers/noauth-paste.ini -> build/lib/magnum/tests/unit/api/controllers +creating build/lib/magnum/drivers/common/templates +copying magnum/drivers/common/templates/lb_api.yaml -> build/lib/magnum/drivers/common/templates +copying magnum/drivers/common/templates/lb_etcd.yaml -> build/lib/magnum/drivers/common/templates +copying magnum/drivers/common/templates/network.yaml -> build/lib/magnum/drivers/common/templates +creating build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/no_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_master_lb.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_private_network.yaml -> build/lib/magnum/drivers/common/templates/environments +copying magnum/drivers/common/templates/environments/with_volume.yaml -> build/lib/magnum/drivers/common/templates/environments +creating build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> build/lib/magnum/drivers/common/templates/fragments +copying magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> build/lib/magnum/drivers/common/templates/fragments +creating build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +copying magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> build/lib/magnum/drivers/common/templates/kubernetes/fragments +creating build/lib/magnum/drivers/common/templates/kubernetes/helm +copying magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm +copying magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm +copying magnum/drivers/common/templates/kubernetes/helm/prometheus-adapter.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm +copying magnum/drivers/common/templates/kubernetes/helm/prometheus-operator.sh -> build/lib/magnum/drivers/common/templates/kubernetes/helm running install_lib creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service -copying build/lib/magnum/service/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service -copying build/lib/magnum/service/periodic.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service -copying build/lib/magnum/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum -copying build/lib/magnum/i18n.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum -copying build/lib/magnum/version.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking copying build/lib/magnum/hacking/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking copying build/lib/magnum/hacking/checks.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/rest_api_version_history.rst -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/app.wsgi -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/app.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/attr_validator.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/config.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/expose.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/hooks.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/http_error.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/servicegroup.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/validation.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -copying build/lib/magnum/api/versioned_method.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/auth_token.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -copying build/lib/magnum/api/middleware/parsable_error.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/link.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/root.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -copying build/lib/magnum/api/controllers/versions.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/certificate.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster_actions.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/cluster_template.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/collection.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/federation.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/magnum_services.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/nodegroup.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/quota.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/stats.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -copying build/lib/magnum/api/controllers/v1/types.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/k8s_api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/monitors.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/scale_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -copying build/lib/magnum/conductor/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/ca_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/cluster_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/conductor_listener.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/federation_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/indirection_api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -copying build/lib/magnum/conductor/handlers/nodegroup_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -copying build/lib/magnum/conductor/handlers/common/trust_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks -copying build/lib/magnum/conductor/tasks/heat_tasks.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf @@ -3575,7 +3545,125 @@ copying build/lib/magnum/conf/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/x509.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf copying build/lib/magnum/conf/docker.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/db_manage.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/driver_manage.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +copying build/lib/magnum/cmd/status.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/driver.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/k8s_coreos_template_def.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/k8s_fedora_template_def.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/k8s_template_def.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/heat/template_def.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat +copying build/lib/magnum/drivers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +copying build/lib/magnum/drivers/common/templates/kubernetes/helm/prometheus-operator.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +copying build/lib/magnum/drivers/common/templates/kubernetes/helm/prometheus-adapter.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +copying build/lib/magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +copying build/lib/magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_volume.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_private_network.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_master_lb.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_volume.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_private_network.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_master_lb.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments +copying build/lib/magnum/drivers/common/templates/network.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +copying build/lib/magnum/drivers/common/templates/lb_etcd.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +copying build/lib/magnum/drivers/common/templates/lb_api.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates +copying build/lib/magnum/drivers/common/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +copying build/lib/magnum/drivers/common/driver.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +copying build/lib/magnum/drivers/common/k8s_monitor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +copying build/lib/magnum/drivers/common/k8s_scale_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/user_data.json -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubeminion.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubemaster.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/fcct-config.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/COPYING -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/driver.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/version.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +copying build/lib/magnum/servicegroup/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +copying build/lib/magnum/servicegroup/magnum_service_periodic.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup +copying build/lib/magnum/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum +copying build/lib/magnum/i18n.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum +copying build/lib/magnum/version.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service +copying build/lib/magnum/service/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service +copying build/lib/magnum/service/periodic.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db +copying build/lib/magnum/db/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db +copying build/lib/magnum/db/api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db +copying build/lib/magnum/db/migration.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions @@ -3662,12 +3750,6 @@ copying build/lib/magnum/db/sqlalchemy/api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy copying build/lib/magnum/db/sqlalchemy/migration.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy copying build/lib/magnum/db/sqlalchemy/models.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy -copying build/lib/magnum/db/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db -copying build/lib/magnum/db/api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db -copying build/lib/magnum/db/migration.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -copying build/lib/magnum/servicegroup/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup -copying build/lib/magnum/servicegroup/magnum_service_periodic.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects @@ -3681,6 +3763,43 @@ copying build/lib/magnum/objects/quota.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/stats.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects copying build/lib/magnum/objects/x509keypair.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/rest_api_version_history.rst -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/app.wsgi -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/auth_token.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +copying build/lib/magnum/api/middleware/parsable_error.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/link.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/root.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +copying build/lib/magnum/api/controllers/versions.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/certificate.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster_actions.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/cluster_template.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/collection.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/federation.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/magnum_services.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/nodegroup.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/quota.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/stats.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/controllers/v1/types.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1 +copying build/lib/magnum/api/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/app.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/attr_validator.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/config.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/expose.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/hooks.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/http_error.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/servicegroup.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/validation.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api +copying build/lib/magnum/api/versioned_method.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager copying build/lib/magnum/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager @@ -3688,22 +3807,6 @@ copying build/lib/magnum/common/cert_manager/cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager copying build/lib/magnum/common/cert_manager/local_cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager copying build/lib/magnum/common/cert_manager/x509keypair_cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/extensions.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/operations.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -copying build/lib/magnum/common/x509/validator.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/certificate.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/cluster.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/cluster_template.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/federation.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/magnum_service.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/nodegroup.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/quota.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies -copying build/lib/magnum/common/policies/stats.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies copying build/lib/magnum/common/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common copying build/lib/magnum/common/cinder.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common copying build/lib/magnum/common/clients.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common @@ -3723,112 +3826,44 @@ copying build/lib/magnum/common/short_id.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common copying build/lib/magnum/common/urlfetch.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common copying build/lib/magnum/common/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/user_data.json -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubeminion.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubemaster.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/kubecluster.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/fcct-config.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/templates/COPYING -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/templates -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/driver.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/template_def.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -copying build/lib/magnum/drivers/k8s_fedora_coreos_v1/version.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1 -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/driver.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/k8s_coreos_template_def.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/k8s_fedora_template_def.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/k8s_template_def.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/heat/template_def.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat -copying build/lib/magnum/drivers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -copying build/lib/magnum/drivers/common/templates/kubernetes/helm/prometheus-operator.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -copying build/lib/magnum/drivers/common/templates/kubernetes/helm/prometheus-adapter.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -copying build/lib/magnum/drivers/common/templates/kubernetes/helm/metrics-server.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -copying build/lib/magnum/drivers/common/templates/kubernetes/helm/ingress-nginx.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/helm -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-kube-os-config.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/write-heat-params-master.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/wc-notify-master.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/upgrade-kubernetes.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/start-container-agent.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-worker.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/rotate-kubernetes-ca-certs-master.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/make-cert.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/make-cert-client.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-dashboard-service.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/kube-apiserver-to-kubelet-role.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-helm-modules.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-cri.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/install-clients.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/flannel-service.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-minion.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-services-master.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-prometheus-monitoring.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-keystone-auth.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-traefik.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-octavia.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-ingress-controller.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-cinder-csi.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-cert-api-manager.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-scaling.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/enable-auto-healing.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/disable-selinux.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/core-dns-service.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-minion.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-kubernetes-master.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/configure-etcd.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-26-x.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/calico-service-v3-21-x.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -copying build/lib/magnum/drivers/common/templates/kubernetes/fragments/add-proxy.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/kubernetes/fragments -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_private.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/network_switcher_existing.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_public.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/floating_ip_address_switcher_private.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/enable-docker-registry.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/configure_docker_storage_driver_fedora_coreos.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-storage.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/configure-docker-registry.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/atomic-install-openstack-ca.sh -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_pool.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -copying build/lib/magnum/drivers/common/templates/fragments/api_gateway_switcher_master.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/fragments -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_volume.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_private_network.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_master_lb_octavia.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_master_lb.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/with_etcd_volume.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_volume.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_private_network.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_master_lb.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/no_etcd_volume.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/enable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/enable_floating_ip.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/disable_lb_floating_ip.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/environments/disable_floating_ip.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates/environments -copying build/lib/magnum/drivers/common/templates/network.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -copying build/lib/magnum/drivers/common/templates/lb_etcd.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -copying build/lib/magnum/drivers/common/templates/lb_api.yaml -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/templates -copying build/lib/magnum/drivers/common/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -copying build/lib/magnum/drivers/common/driver.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -copying build/lib/magnum/drivers/common/k8s_monitor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -copying build/lib/magnum/drivers/common/k8s_scale_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/db_manage.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/driver_manage.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd -copying build/lib/magnum/cmd/status.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/certificate.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/cluster.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/cluster_template.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/federation.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/magnum_service.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/nodegroup.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/quota.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +copying build/lib/magnum/common/policies/stats.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/extensions.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/operations.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +copying build/lib/magnum/common/x509/validator.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509 +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/tasks/heat_tasks.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks +copying build/lib/magnum/conductor/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/k8s_api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/monitors.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/scale_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +copying build/lib/magnum/conductor/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/ca_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/cluster_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/conductor_listener.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/federation_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/indirection_api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +copying build/lib/magnum/conductor/handlers/nodegroup_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common +copying build/lib/magnum/conductor/handlers/common/trust_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/releasenotes/notes @@ -3849,21 +3884,6 @@ creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic copying build/lib/magnum/tests/functional/k8s_ironic/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic copying build/lib/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/config.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/datagen.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/models.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -copying build/lib/magnum/tests/functional/common/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s -copying build/lib/magnum/tests/functional/k8s/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s -copying build/lib/magnum/tests/functional/k8s/test_k8s_python_client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s -copying build/lib/magnum/tests/functional/k8s/test_magnum_python_client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s -copying build/lib/magnum/tests/functional/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional -copying build/lib/magnum/tests/functional/python_client_base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api copying build/lib/magnum/tests/functional/api/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api copying build/lib/magnum/tests/functional/api/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api @@ -3884,6 +3904,21 @@ copying build/lib/magnum/tests/functional/api/v1/clients/cluster_client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients copying build/lib/magnum/tests/functional/api/v1/clients/cluster_template_client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients copying build/lib/magnum/tests/functional/api/v1/clients/magnum_service_client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +copying build/lib/magnum/tests/functional/k8s/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +copying build/lib/magnum/tests/functional/k8s/test_k8s_python_client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +copying build/lib/magnum/tests/functional/k8s/test_magnum_python_client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/config.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/datagen.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/models.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/common/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common +copying build/lib/magnum/tests/functional/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional +copying build/lib/magnum/tests/functional/python_client_base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos copying build/lib/magnum/tests/functional/k8s_fcos/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos copying build/lib/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos @@ -3894,47 +3929,12 @@ creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup copying build/lib/magnum/tests/unit/servicegroup/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup copying build/lib/magnum/tests/unit/servicegroup/test_magnum_service.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_db_manage.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_driver_manage.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -copying build/lib/magnum/tests/unit/cmd/test_status.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_cluster.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_cluster_template.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_federation.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_fields.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_magnum_service.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_nodegroup.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_objects.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/test_x509keypair.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -copying build/lib/magnum/tests/unit/objects/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/test_k8s_api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/test_monitors.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/test_rpcapi.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/test_scale_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -copying build/lib/magnum/tests/unit/conductor/test_utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks -copying build/lib/magnum/tests/unit/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks -copying build/lib/magnum/tests/unit/conductor/tasks/test_heat_tasks.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_indirection_api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -copying build/lib/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -copying build/lib/magnum/tests/unit/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -copying build/lib/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common -copying build/lib/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/drivers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/drivers/test_heat_driver.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/drivers/test_template_definition.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +copying build/lib/magnum/tests/unit/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit +copying build/lib/magnum/tests/unit/test_hacking.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api copying build/lib/magnum/tests/unit/api/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api copying build/lib/magnum/tests/unit/api/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api @@ -3950,6 +3950,9 @@ copying build/lib/magnum/tests/unit/api/controllers/auth-v1-access.ini -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers copying build/lib/magnum/tests/unit/api/controllers/auth-root-access.ini -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers copying build/lib/magnum/tests/unit/api/controllers/auth-paste.ini -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/test_base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers +copying build/lib/magnum/tests/unit/api/controllers/test_root.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_certificate.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 @@ -3963,20 +3966,47 @@ copying build/lib/magnum/tests/unit/api/controllers/v1/test_stats.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_types.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 copying build/lib/magnum/tests/unit/api/controllers/v1/test_utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1 -copying build/lib/magnum/tests/unit/api/controllers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/test_base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -copying build/lib/magnum/tests/unit/api/controllers/test_root.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/unit/drivers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/unit/drivers/test_heat_driver.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers -copying build/lib/magnum/tests/unit/drivers/test_template_definition.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_cluster.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_cluster_template.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_federation.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_fields.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_magnum_service.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_nodegroup.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_objects.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/test_x509keypair.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +copying build/lib/magnum/tests/unit/objects/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks +copying build/lib/magnum/tests/unit/conductor/tasks/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks +copying build/lib/magnum/tests/unit/conductor/tasks/test_heat_tasks.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_ca_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_cluster_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_conductor_listener.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_federation_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_indirection_api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_k8s_cluster_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +copying build/lib/magnum/tests/unit/conductor/handlers/test_nodegroup_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/handlers/common/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common +copying build/lib/magnum/tests/unit/conductor/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_k8s_api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_monitors.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_rpcapi.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_scale_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor +copying build/lib/magnum/tests/unit/conductor/test_utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template copying build/lib/magnum/tests/unit/template/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template copying build/lib/magnum/tests/unit/template/test_template.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf -copying build/lib/magnum/tests/unit/conf/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf -copying build/lib/magnum/tests/unit/conf/test_conf.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +copying build/lib/magnum/tests/unit/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +copying build/lib/magnum/tests/unit/db/sqlalchemy/test_types.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy copying build/lib/magnum/tests/unit/db/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/test_cluster.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db @@ -3987,10 +4017,28 @@ copying build/lib/magnum/tests/unit/db/test_quota.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/test_x509keypair.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db copying build/lib/magnum/tests/unit/db/utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy -copying build/lib/magnum/tests/unit/db/sqlalchemy/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy -copying build/lib/magnum/tests/unit/db/sqlalchemy/test_types.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf +copying build/lib/magnum/tests/unit/conf/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf +copying build/lib/magnum/tests/unit/conf/test_conf.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_api.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_conductor.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_db_manage.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_driver_manage.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd +copying build/lib/magnum/tests/unit/cmd/test_status.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_operations.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_sign.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +copying build/lib/magnum/tests/unit/common/x509/test_validator.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 +creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_barbican.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_local.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager +copying build/lib/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager copying build/lib/magnum/tests/unit/common/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common copying build/lib/magnum/tests/unit/common/test_clients.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common copying build/lib/magnum/tests/unit/common/test_context.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common @@ -4005,11 +4053,6 @@ copying build/lib/magnum/tests/unit/common/test_short_id.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common copying build/lib/magnum/tests/unit/common/test_urlfetch.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common copying build/lib/magnum/tests/unit/common/test_utils.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_operations.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_sign.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 -copying build/lib/magnum/tests/unit/common/x509/test_validator.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509 creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies copying build/lib/magnum/tests/unit/common/policies/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies copying build/lib/magnum/tests/unit/common/policies/base.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies @@ -4021,70 +4064,8 @@ copying build/lib/magnum/tests/unit/common/policies/test_nodegroup_policy.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies copying build/lib/magnum/tests/unit/common/policies/test_quota_policy.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies copying build/lib/magnum/tests/unit/common/policies/test_stats_policy.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies -creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_barbican.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_local.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager -copying build/lib/magnum/tests/unit/__init__.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit -copying build/lib/magnum/tests/unit/test_hacking.py -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/i18n.py to i18n.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/hacking/checks.py to checks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/http_error.py to http_error.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/servicegroup.py to servicegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/versioned_method.py to versioned_method.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/auth_token.py to auth_token.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/parsable_error.py to parsable_error.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/root.py to root.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_actions.py to cluster_actions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_template.py to cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/collection.py to collection.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/federation.py to federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/magnum_services.py to magnum_services.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/nodegroup.py to nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/stats.py to stats.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/types.py to types.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/api.py to api.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/barbican.py to barbican.cpython-313.pyc @@ -4115,6 +4096,37 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/x509.py to x509.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conf/docker.py to docker.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/magnum_service_periodic.py to magnum_service_periodic.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/i18n.py to i18n.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/version.py to version.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/service/periodic.py to periodic.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/migration.py to migration.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fcb4efee8f8b_add_version_info_to_bay.py to fcb4efee8f8b_add_version_info_to_bay.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/fb03fdef8919_rename_baymodel_to_clustertemplate.py to fb03fdef8919_rename_baymodel_to_clustertemplate.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/alembic/versions/f1d8b0ab8b8d_added_observations_to_cluster_template.py to f1d8b0ab8b8d_added_observations_to_cluster_template.cpython-313.pyc @@ -4195,11 +4207,6 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/api.py to api.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/migration.py to migration.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/sqlalchemy/models.py to models.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/db/migration.py to migration.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/servicegroup/magnum_service_periodic.py to magnum_service_periodic.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/certificate.py to certificate.cpython-313.pyc @@ -4212,25 +4219,42 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/quota.py to quota.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/stats.py to stats.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/objects/x509keypair.py to x509keypair.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/auth_token.py to auth_token.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/middleware/parsable_error.py to parsable_error.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/link.py to link.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/root.py to root.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/versions.py to versions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/certificate.py to certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_actions.py to cluster_actions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/cluster_template.py to cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/collection.py to collection.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/federation.py to federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/magnum_services.py to magnum_services.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/nodegroup.py to nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/quota.py to quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/stats.py to stats.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/controllers/v1/types.py to types.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/app.py to app.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/attr_validator.py to attr_validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/expose.py to expose.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/hooks.py to hooks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/http_error.py to http_error.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/servicegroup.py to servicegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/validation.py to validation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/api/versioned_method.py to versioned_method.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/barbican_cert_manager.py to barbican_cert_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/cert_manager.py to cert_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/local_cert_manager.py to local_cert_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cert_manager/x509keypair_cert_manager.py to x509keypair_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/extensions.py to extensions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/cinder.py to cinder.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/clients.py to clients.cpython-313.pyc @@ -4250,27 +4274,38 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/short_id.py to short_id.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/urlfetch.py to urlfetch.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/template_def.py to template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/k8s_fedora_coreos_v1/version.py to version.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_coreos_template_def.py to k8s_coreos_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_fedora_template_def.py to k8s_fedora_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/k8s_template_def.py to k8s_template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/heat/template_def.py to template_def.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/driver.py to driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_monitor.py to k8s_monitor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/drivers/common/k8s_scale_manager.py to k8s_scale_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/api.py to api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/conductor.py to conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/db_manage.py to db_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/driver_manage.py to driver_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/cmd/status.py to status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/certificate.py to certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster.py to cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/cluster_template.py to cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/federation.py to federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/magnum_service.py to magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/nodegroup.py to nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/quota.py to quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/policies/stats.py to stats.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/extensions.py to extensions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/operations.py to operations.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/common/x509/validator.py to validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/tasks/heat_tasks.py to heat_tasks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/api.py to api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/k8s_api.py to k8s_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/monitors.py to monitors.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/scale_manager.py to scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/ca_conductor.py to ca_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/cluster_conductor.py to cluster_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/conductor_listener.py to conductor_listener.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/federation_conductor.py to federation_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/indirection_api.py to indirection_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/nodegroup_conductor.py to nodegroup_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/cert_manager.py to cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/conductor/handlers/common/trust_manager.py to trust_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/conf_fixture.py to conf_fixture.cpython-313.pyc @@ -4281,19 +4316,6 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/utils.py to utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_ironic/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/client.py to client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/config.py to config.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/datagen.py to datagen.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/manager.py to manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/models.py to models.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/__init__.py to __init__.cpython-313.pyc @@ -4310,18 +4332,54 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_client.py to cluster_client.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/cluster_template_client.py to cluster_template_client.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/api/v1/clients/magnum_service_client.py to magnum_service_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s/test_magnum_python_client.py to test_magnum_python_client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/client.py to client.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/config.py to config.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/datagen.py to datagen.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/manager.py to manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/models.py to models.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/common/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/python_client_base.py to python_client_base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/functional/k8s_fcos/test_k8s_python_client.py to test_k8s_python_client.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/service/test_periodic.py to test_periodic.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/servicegroup/test_magnum_service.py to test_magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_template_definition.py to test_template_definition.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/test_hacking.py to test_hacking.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_attr_validator.py to test_attr_validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_expose.py to test_expose.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_hooks.py to test_hooks.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/utils.py to utils.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_base.py to test_base.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_root.py to test_root.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_certificate.py to test_certificate.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster.py to test_cluster.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py to test_cluster_actions.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_template.py to test_cluster_template.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_federation.py to test_federation.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_magnum_service.py to test_magnum_service.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_nodegroup.py to test_nodegroup.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_quota.py to test_quota.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_stats.py to test_stats.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster.py to test_cluster.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_cluster_template.py to test_cluster_template.cpython-313.pyc @@ -4332,12 +4390,6 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_objects.py to test_objects.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/test_x509keypair.py to test_x509keypair.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/objects/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_k8s_api.py to test_k8s_api.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_monitors.py to test_monitors.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/tasks/test_heat_tasks.py to test_heat_tasks.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/__init__.py to __init__.cpython-313.pyc @@ -4351,37 +4403,16 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_cert_manager.py to test_cert_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/handlers/common/test_trust_manager.py to test_trust_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/base.py to base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_app.py to test_app.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_attr_validator.py to test_attr_validator.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_expose.py to test_expose.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_hooks.py to test_hooks.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_servicegroup.py to test_servicegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/test_validation.py to test_validation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_certificate.py to test_certificate.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster.py to test_cluster.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_actions.py to test_cluster_actions.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_cluster_template.py to test_cluster_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_federation.py to test_federation.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_magnum_service.py to test_magnum_service.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_nodegroup.py to test_nodegroup.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_quota.py to test_quota.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_stats.py to test_stats.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_base.py to test_base.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/api/controllers/test_root.py to test_root.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_heat_driver.py to test_heat_driver.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/drivers/test_template_definition.py to test_template_definition.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_k8s_api.py to test_k8s_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_monitors.py to test_monitors.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_scale_manager.py to test_scale_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conductor/test_utils.py to test_utils.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/template/test_template.py to test_template.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/test_conf.py to test_conf.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_cluster.py to test_cluster.cpython-313.pyc @@ -4392,8 +4423,23 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_quota.py to test_quota.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/test_x509keypair.py to test_x509keypair.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/utils.py to utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/conf/test_conf.py to test_conf.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_api.py to test_api.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_conductor.py to test_conductor.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_db_manage.py to test_db_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_driver_manage.py to test_driver_manage.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/cmd/test_status.py to test_status.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/__init__.py to __init__.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_barbican.py to test_barbican.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-313.pyc +byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_clients.py to test_clients.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_context.py to test_context.cpython-313.pyc @@ -4408,10 +4454,6 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_short_id.py to test_short_id.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_urlfetch.py to test_urlfetch.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/test_utils.py to test_utils.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_operations.py to test_operations.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_sign.py to test_sign.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/x509/test_validator.py to test_validator.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/__init__.py to __init__.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/base.py to base.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_certificate_policy.py to test_certificate_policy.cpython-313.pyc @@ -4422,13 +4464,6 @@ byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_nodegroup_policy.py to test_nodegroup_policy.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_quota_policy.py to test_quota_policy.cpython-313.pyc byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/policies/test_stats_policy.py to test_stats_policy.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_barbican.py to test_barbican.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_cert_manager.py to test_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_local.py to test_local.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/common/cert_manager/test_x509keypair_cert_manager.py to test_x509keypair_cert_manager.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/__init__.py to __init__.cpython-313.pyc -byte-compiling /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages/magnum/tests/unit/test_hacking.py to test_hacking.cpython-313.pyc running install_data creating /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/etc/magnum copying etc/magnum/api-paste.ini -> /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/etc/magnum @@ -4452,33 +4487,44 @@ + PYTHON3S=disabled + TEST_PARALLEL_OPT=--parallel + TEST_SERIAL_OPT= -+ echo WARNING: --no-py2 is deprecated, and always on. ++ for i in $@ ++ case "${1}" in ++ echo 'WARNING: --no-py2 is deprecated, and always on.' WARNING: --no-py2 is deprecated, and always on. + shift -+ py3versions -vr ++ for i in $@ ++ case "${1}" in ++ for i in $@ ++ case "${1}" in ++ for i in $@ ++ case "${1}" in +++ py3versions -vr + PYTHON3S=3.13 -+ [ yes = no ] -+ [ no = yes ] -+ [ 3.13 = disabled ] -+ + echo 3.13 -cut -d. -f1 ++ '[' yes = no ']' ++ '[' no = yes ']' ++ for pyvers in ${PYTHON3S} ++ '[' 3.13 = disabled ']' +++ cut -d. -f1 +++ echo 3.13 + PYMAJOR=3 -+ echo ===> Testing with python (python3) ++ echo '===> Testing with python (python3)' ===> Testing with python (python3) -+ pwd -+ [ -d /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages ] -+ [ -z ] -+ pwd -+ echo Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages +++ pwd ++ '[' -d /build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages ']' ++ '[' -z '' ']' +++ pwd ++ echo 'Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages' Implicitly adding PYTHONPATH=/build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages -+ pwd +++ pwd + export PYTHONPATH=/build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages -+ [ -e .stestr.conf ] -+ [ -x /usr/bin/python3-stestr ] ++ PYTHONPATH=/build/reproducible-path/magnum-20.0.0/debian/tmp/usr/lib/python3/dist-packages ++ '[' -e .stestr.conf ']' ++ '[' -x /usr/bin/python3-stestr ']' + STESTR=stestr + rm -rf .stestr -+ + subunit2pyunit -PYTHON=python3.13 stestr run --parallel --subunit --concurrency 2 magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name)) ++ subunit2pyunit ++ PYTHON=python3.13 ++ stestr run --parallel --subunit --concurrency 2 'magnum\.tests\.unit\.(?!(drivers\.test_heat_driver\.TestHeatPoller\.test_poll_done|drivers\.test_heat_driver\.TestHeatPoller\.test_poll_destroy|api\.controllers\.v1\.test_baymodel\.TestPatch|api\.controllers\.v1\.test_baymodel\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestPost|api\.controllers\.v1\.test_cluster_template\.TestListClusterTemplate|api\.controllers\.v1\.test_cluster_template\.TestPatch\.test_update_cluster_template_with_cluster_not_allow_update|api\.controllers\.v1\.test_federation\.TestListFederation\.test_collection_links|api\.controllers\.v1\.test_federation\.TestPost\.test_create_federation_with_valid_name))' 1 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 1 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. 1 RLock(s) were not greened, to fix this error make sure you run eventlet.monkey_patch() before importing any other modules. @@ -4532,20 +4578,34 @@ magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_start_version ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_valid_version magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_valid_version ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator +magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_high magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_high ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_low magnum.tests.unit.api.controllers.test_base.TestVersion.test_matches_version_too_low ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end +magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_incorrect_service_type magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_incorrect_service_type ... ok +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute +magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header magnum.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr ... ok magnum.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings @@ -4558,234 +4618,72 @@ magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_high ... ok magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_low magnum.tests.unit.api.controllers.test_root.TestCheckVersions.test_check_version_too_low ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator -magnum.tests.unit.api.controllers.test_base.TestController.test_api_version_decorator ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_negative ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_positive ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end -magnum.tests.unit.api.controllers.test_base.TestController.test_check_for_versions_intersection_shared_start_end ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attr_version_not_found ... ok -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute -magnum.tests.unit.api.controllers.test_base.TestController.test_controller_get_attribute ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd +INFO [alembic.runtime.migration] Context impl SQLiteImpl. +INFO [alembic.runtime.migration] Will assume non-transactional DDL. +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file ... ok +INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled +magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs magnum.tests.unit.api.controllers.test_root.TestRootController.test_api_paste_file_not_exist_not_abs ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_no_public_routes ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_root_access magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_root_access ... ok -INFO [alembic.runtime.migration] Context impl SQLiteImpl. -INFO [alembic.runtime.migration] Will assume non-transactional DDL. +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access magnum.tests.unit.api.controllers.test_root.TestRootController.test_auth_with_v1_access ... ok magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found magnum.tests.unit.api.controllers.test_root.TestRootController.test_get_not_found ... ok -INFO [alembic.runtime.migration] Running stamp_revision -> c0f832afc4fd -magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth -magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth ... ok -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_disable_file ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller -magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller ... ok -magnum.tests.unit.api.controllers.test_root.TestRootController.test_version -magnum.tests.unit.api.controllers.test_root.TestRootController.test_version ... ok -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled -magnum.tests.unit.api.controllers.test_root.TestHeathcheck.test_healthcheck_enabled ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one ... ok -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version -magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertObject.test_cert_init ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links -magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificate.test_rotate_ca_cert -magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificate.test_rotate_ca_cert ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate -magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls -magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name -magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_by_cluster_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name ... ok magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert_cluster_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterObject.test_cluster_init ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth +magnum.tests.unit.api.controllers.test_root.TestRootController.test_noauth ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_create ... ok -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/cluster1 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/test_cluster {} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/certificates/not_found {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Rotating the CA certificate on a non-TLS cluster is not supported", "detail": "Rotating the CA certificate on a non-TLS cluster is not supported", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found.", "links": []}]} -DELETE: /v1/clusters/95a2dd39-98ec-40ef-9dc9-50a319b14c21 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/clusters/03f660d0-2eb0-4508-9713-3252acdde198 -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 03f660d0-2eb0-4508-9713-3252acdde198 could not be found", "detail": "Cluster 03f660d0-2eb0-4508-9713-3252acdde198 could not be found.", "links": []}]} -DELETE: /v1/clusters/cluster1 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/clusters/not_found -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -DELETE: /v1/clusters/test_cluster -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/clusters/?limit=3 {} -GOT:{'clusters': [{'uuid': 'ab97c480-4029-457b-932d-9004e1a1c766', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/ab97c480-4029-457b-932d-9004e1a1c766', 'rel': 'self'}, {'href': 'http://localhost/clusters/ab97c480-4029-457b-932d-9004e1a1c766', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f9b52f85-9d80-4af2-a4d0-89214d87c4b7', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/f9b52f85-9d80-4af2-a4d0-89214d87c4b7', 'rel': 'self'}, {'href': 'http://localhost/clusters/f9b52f85-9d80-4af2-a4d0-89214d87c4b7', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '9375c662-4337-4c4c-b22e-9c82be74313b', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/9375c662-4337-4c4c-b22e-9c82be74313b', 'rel': 'self'}, {'href': 'http://localhost/clusters/9375c662-4337-4c4c-b22e-9c82be74313b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=9375c662-4337-4c4c-b22e-9c82be74313b'}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller +magnum.tests.unit.api.controllers.test_root.TestRootController.test_v1_controller ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_delete ... ok +magnum.tests.unit.api.controllers.test_root.TestRootController.test_version +magnum.tests.unit.api.controllers.test_root.TestRootController.test_version ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_detail ... ok +magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version +magnum.tests.unit.api.controllers.test_root.TestV1Routing.test_route_checks_version ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_one magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty ... ok -GET: /v1/ {} -GOT:{'id': 'v1', 'media_types': [{'base': 'application/json', 'type': 'application/vnd.openstack.magnum.v1+json'}], 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'http://docs.openstack.org/developer/magnum/dev/api-spec-v1.html', 'rel': 'describedby', 'type': 'text/html'}], 'clustertemplates': [{'href': 'http://localhost/v1/clustertemplates/', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/', 'rel': 'bookmark'}], 'clusters': [{'href': 'http://localhost/v1/clusters/', 'rel': 'self'}, {'href': 'http://localhost/clusters/', 'rel': 'bookmark'}], 'quotas': [{'href': 'http://localhost/v1/quotas/', 'rel': 'self'}, {'href': 'http://localhost/quotas/', 'rel': 'bookmark'}], 'certificates': [{'href': 'http://localhost/v1/certificates/', 'rel': 'self'}, {'href': 'http://localhost/certificates/', 'rel': 'bookmark'}], 'mservices': [{'href': 'http://localhost/v1/mservices/', 'rel': 'self'}, {'href': 'http://localhost/mservices/', 'rel': 'bookmark'}], 'stats': [{'href': 'http://localhost/v1/stats/', 'rel': 'self'}, {'href': 'http://localhost/stats/', 'rel': 'bookmark'}], 'federations': [{'href': 'http://localhost/v1/federations/', 'rel': 'self'}, {'href': 'http://localhost/federations/', 'rel': 'bookmark'}], 'nodegroups': [{'href': 'http://localhost/v1/clusters/{cluster_id}/nodegroups', 'rel': 'self'}, {'href': 'http://localhost/clusters/{cluster_id}/nodegroups', 'rel': 'bookmark'}]} -POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:create to be performed", "detail": "Policy doesn't allow certificate:create to be performed.", "links": []}]} -GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:get to be performed", "detail": "Policy doesn't allow certificate:get to be performed.", "links": []}]} -PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:rotate_ca to be performed", "detail": "Policy doesn't allow certificate:rotate_ca to be performed.", "links": []}]} +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_create ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update +magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate +magnum.tests.unit.api.controllers.v1.test_certificate.TestCertPolicyEnforcement.test_policy_disallow_rotate ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one ... ok POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} GOT:Response: 201 Created Content-Type: application/json @@ -4826,7 +4724,7 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} -GET: /v1/clusters/4d7b7f58-bedd-4358-894d-0aacb1fb99d7/detail {} +GET: /v1/clusters/6b1becf0-4b2d-45e0-b6cc-8ee8d5e6baeb/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -4857,326 +4755,192 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_disallow_update ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_delete ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_get_one ... ok - -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '6da74832-788e-4940-b470-8503762e2dd1', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/6da74832-788e-4940-b470-8503762e2dd1', 'rel': 'self'}, {'href': 'http://localhost/clusters/6da74832-788e-4940-b470-8503762e2dd1', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '7d0aedbc-1619-4d1d-baea-aea97cdfdd48', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/7d0aedbc-1619-4d1d-baea-aea97cdfdd48', 'rel': 'self'}, {'href': 'http://localhost/clusters/7d0aedbc-1619-4d1d-baea-aea97cdfdd48', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '628b52d7-61c6-47f6-851e-3394572489a1', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/628b52d7-61c6-47f6-851e-3394572489a1', 'rel': 'self'}, {'href': 'http://localhost/clusters/628b52d7-61c6-47f6-851e-3394572489a1', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=628b52d7-61c6-47f6-851e-3394572489a1'} -GET: /v1/clusters/detail {} -GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:29:59.732561+00:00', 'updated_at': None}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} -GET: /v1/clusters/detail?limit=3&marker=c9e58d4a-8fbe-4fb2-b72e-f818aa06f8bc {} -GOT:{'clusters': [{'uuid': '1f34fba5-5bd7-4946-800d-491977bf11f1', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1f34fba5-5bd7-4946-800d-491977bf11f1', 'rel': 'self'}, {'href': 'http://localhost/clusters/1f34fba5-5bd7-4946-800d-491977bf11f1', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:29:59.823862+00:00', 'updated_at': None}]} -GET: /v1/clusters {} -GOT:{'clusters': []} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '8b4ebda4-164c-4da1-a68e-92dc8b412ae4', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/8b4ebda4-164c-4da1-a68e-92dc8b412ae4', 'rel': 'self'}, {'href': 'http://localhost/clusters/8b4ebda4-164c-4da1-a68e-92dc8b412ae4', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'e606ca1d-733c-49ca-bade-e7c2bb366e79', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/e606ca1d-733c-49ca-bade-e7c2bb366e79', 'rel': 'self'}, {'href': 'http://localhost/clusters/e606ca1d-733c-49ca-bade-e7c2bb366e79', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '716a9844-8d5d-4821-8d90-f2c6077f4907', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/716a9844-8d5d-4821-8d90-f2c6077f4907', 'rel': 'self'}, {'href': 'http://localhost/clusters/716a9844-8d5d-4821-8d90-f2c6077f4907', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '45e42b3a-42cd-4dcf-929c-ded4797f9e21', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/45e42b3a-42cd-4dcf-929c-ded4797f9e21', 'rel': 'self'}, {'href': 'http://localhost/clusters/45e42b3a-42cd-4dcf-929c-ded4797f9e21', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -GET: /v1/clusters?limit=3&marker=d21a4c01-3f65-43b3-bf48-4850bd134d21 {} -GOT:{'clusters': [{'uuid': '6f1b589f-0651-40e4-afa8-409573dbb7f5', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/6f1b589f-0651-40e4-afa8-409573dbb7f5', 'rel': 'self'}, {'href': 'http://localhost/clusters/6f1b589f-0651-40e4-afa8-409573dbb7f5', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update -magnum.tests.unit.api.controllers.v1.test_cluster.TestClusterPolicyEnforcement.test_policy_only_owner_update ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found ... ok - +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.063105+00:00', 'updated_at': None} -GET: /v1/clusters/cluster1 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.110410+00:00', 'updated_at': None} -GET: /v1/clusters/test_cluster {} -GOT:Response: 409 Conflict +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} -GET: /v1/clusters/not_found {} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -GET: /v1/clusters/9c5596ed-d985-4733-9408-71a7f9ed81cb {} -GOT:{'uuid': '9c5596ed-d985-4733-9408-71a7f9ed81cb', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/9c5596ed-d985-4733-9408-71a7f9ed81cb', 'rel': 'self'}, {'href': 'http://localhost/clusters/9c5596ed-d985-4733-9408-71a7f9ed81cb', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.216764+00:00', 'updated_at': None} -GET: /v1/clusters/96fb6ede-00df-41d8-9dc4-04d1c8de3c47 {} -GOT:{'uuid': '96fb6ede-00df-41d8-9dc4-04d1c8de3c47', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/96fb6ede-00df-41d8-9dc4-04d1c8de3c47', 'rel': 'self'}, {'href': 'http://localhost/clusters/96fb6ede-00df-41d8-9dc4-04d1c8de3c47', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': '96fb6ede-00df-41d8-9dc4-04d1c8de3c47', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.265274+00:00', 'updated_at': None} -GET: /v1/clusters/e618f8dc-2992-4731-b8bf-7ac3df25fecc {} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster e618f8dc-2992-4731-b8bf-7ac3df25fecc could not be found", "detail": "Cluster e618f8dc-2992-4731-b8bf-7ac3df25fecc could not be found.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_FAILED', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'faults': {'test-master': 'fake_reason'}, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.336385+00:00', 'updated_at': None} -GET: /v1/clusters/8ddc30ad-d56e-4d39-a047-658dcec1dc81 {} -GOT:{'uuid': '8ddc30ad-d56e-4d39-a047-658dcec1dc81', 'name': 'cluster1', 'cluster_template_id': '31a823ed-78c0-4412-b4ee-0ffb7278c641', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/8ddc30ad-d56e-4d39-a047-658dcec1dc81', 'rel': 'self'}, {'href': 'http://localhost/clusters/8ddc30ad-d56e-4d39-a047-658dcec1dc81', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.390428+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one -magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_add_non_existent_property ... ok - -GET: /v1/clusters/09580a4b-69c4-45b8-b46a-890ce4d7d575 {} -GOT:{'uuid': '09580a4b-69c4-45b8-b46a-890ce4d7d575', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/09580a4b-69c4-45b8-b46a-890ce4d7d575', 'rel': 'self'}, {'href': 'http://localhost/clusters/09580a4b-69c4-45b8-b46a-890ce4d7d575', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.458200+00:00', 'updated_at': None} -GET: /v1/clusters/09580a4b-69c4-45b8-b46a-890ce4d7d575 {} -GOT:{'uuid': '09580a4b-69c4-45b8-b46a-890ce4d7d575', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/09580a4b-69c4-45b8-b46a-890ce4d7d575', 'rel': 'self'}, {'href': 'http://localhost/clusters/09580a4b-69c4-45b8-b46a-890ce4d7d575', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.458200+00:00', 'updated_at': None} -GET: /clusters/09580a4b-69c4-45b8-b46a-890ce4d7d575 {} -GOT:{'uuid': '09580a4b-69c4-45b8-b46a-890ce4d7d575', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/09580a4b-69c4-45b8-b46a-890ce4d7d575', 'rel': 'self'}, {'href': 'http://localhost/clusters/09580a4b-69c4-45b8-b46a-890ce4d7d575', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.458200+00:00', 'updated_at': None} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': 'c3897972-b653-4887-9bf0-721b194e3b4b', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/c3897972-b653-4887-9bf0-721b194e3b4b', 'rel': 'self'}, {'href': 'http://localhost/clusters/c3897972-b653-4887-9bf0-721b194e3b4b', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'eaa2cad5-b597-4c81-b2a8-94a4359a9850', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/eaa2cad5-b597-4c81-b2a8-94a4359a9850', 'rel': 'self'}, {'href': 'http://localhost/clusters/eaa2cad5-b597-4c81-b2a8-94a4359a9850', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'b6f0eddb-cf29-412d-a9d7-16ebac5fc333', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b6f0eddb-cf29-412d-a9d7-16ebac5fc333', 'rel': 'self'}, {'href': 'http://localhost/clusters/b6f0eddb-cf29-412d-a9d7-16ebac5fc333', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '401f691e-5ae1-47e9-a381-7b5597523183', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/401f691e-5ae1-47e9-a381-7b5597523183', 'rel': 'self'}, {'href': 'http://localhost/clusters/401f691e-5ae1-47e9-a381-7b5597523183', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '3d5ba86f-3f70-42a9-9b38-508c5bb031c1', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/3d5ba86f-3f70-42a9-9b38-508c5bb031c1', 'rel': 'self'}, {'href': 'http://localhost/clusters/3d5ba86f-3f70-42a9-9b38-508c5bb031c1', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -GET: /v1/clusters {} -GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Adding a new attribute /foo to the root of the resource is not allowed", "detail": "Adding a new attribute /foo to the root of the resource is not allowed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/uuid', 'op': 'remove'}]magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'op': 'remove'}] +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_template_id' is a mandatory attribute and can not be removed", "detail": "'/cluster_template_id' is a mandatory attribute and can not be removed", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_mandatory_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_non_existent_property ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_multiple_cluster ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_remove_ok ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_get_one_by_name_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_name_failed ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links +magnum.tests.unit.api.controllers.v1.test_certificate.TestGetCaCertificate.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificate.test_rotate_ca_cert +magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificate.test_rotate_ca_cert ... ok +magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls +magnum.tests.unit.api.controllers.v1.test_certificate.TestRotateCaCertificateNonTls.test_rotate_ca_cert_non_tls ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_cluster_template_id_failed ... ok - -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok ... ok +GET: /v1/ {} +GOT:{'id': 'v1', 'media_types': [{'base': 'application/json', 'type': 'application/vnd.openstack.magnum.v1+json'}], 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'http://docs.openstack.org/developer/magnum/dev/api-spec-v1.html', 'rel': 'describedby', 'type': 'text/html'}], 'clustertemplates': [{'href': 'http://localhost/v1/clustertemplates/', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/', 'rel': 'bookmark'}], 'clusters': [{'href': 'http://localhost/v1/clusters/', 'rel': 'self'}, {'href': 'http://localhost/clusters/', 'rel': 'bookmark'}], 'quotas': [{'href': 'http://localhost/v1/quotas/', 'rel': 'self'}, {'href': 'http://localhost/quotas/', 'rel': 'bookmark'}], 'certificates': [{'href': 'http://localhost/v1/certificates/', 'rel': 'self'}, {'href': 'http://localhost/certificates/', 'rel': 'bookmark'}], 'mservices': [{'href': 'http://localhost/v1/mservices/', 'rel': 'self'}, {'href': 'http://localhost/mservices/', 'rel': 'bookmark'}], 'stats': [{'href': 'http://localhost/v1/stats/', 'rel': 'self'}, {'href': 'http://localhost/stats/', 'rel': 'bookmark'}], 'federations': [{'href': 'http://localhost/v1/federations/', 'rel': 'self'}, {'href': 'http://localhost/federations/', 'rel': 'bookmark'}], 'nodegroups': [{'href': 'http://localhost/v1/clusters/{cluster_id}/nodegroups', 'rel': 'self'}, {'href': 'http://localhost/clusters/{cluster_id}/nodegroups', 'rel': 'bookmark'}]} +POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr', 'pem': 'fake-pem'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:delete to be performed", "detail": "Policy doesn't allow cluster:delete to be performed.", "links": []}]} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:create to be performed", "detail": "Policy doesn't allow certificate:create to be performed.", "links": []}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:get to be performed", "detail": "Policy doesn't allow cluster:get to be performed.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'new_name', 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:get to be performed", "detail": "Policy doesn't allow certificate:get to be performed.", "links": []}]} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow cluster:update to be performed", "detail": "Policy doesn't allow cluster:update to be performed.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 -Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/67e0ea47-f4f9-45f5-b053-e1ec55a54c63/actions/upgrade {'cluster_template': 'test_2'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 -Vary: OpenStack-API-Version -{"uuid": "67e0ea47-f4f9-45f5-b053-e1ec55a54c63"} -POST: /v1/clusters/not_there/actions/upgrade {'cluster_template': 'test_2'} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_there could not be found", "detail": "Cluster not_there could not be found.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'not_there'} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.8 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_there could not be found", "detail": "ClusterTemplate not_there could not be found.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '3d5106b4-49a2-42d2-b8c2-77e28f9aa299'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '4da42a48-0dfb-46db-825c-ed62f664ed3c'} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow certificate:rotate_ca to be performed", "detail": "Policy doesn't allow certificate:rotate_ca to be performed.", "links": []}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/cluster1 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/test_cluster {} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'not_there'} +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/certificates/not_found {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not_there could not be found", "detail": "Nodegroup not_there could not be found.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_1', 'nodegroup': '27e3153e-d5bf-4b7e-b517-fb518e17f34c'} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +GET: /certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'links': [{'href': 'http://localhost/v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'csr': 'fake-csr', 'pem': 'fake-pem'} +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '27e3153e-d5bf-4b7e-b517-fb518e17f34c'} -GOT:Response: 409 Conflict +PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1)", "detail": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1).", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Rotating the CA certificate on a non-TLS cluster is not supported", "detail": "Rotating the CA certificate on a non-TLS cluster is not supported", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/7a63534d-b7f4-4480-b5e8-cb157bdc20f7 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 could not be found.", "links": []}]} +DELETE: /v1/clusters/3c8a5b1f-95e2-44a8-8320-15e2a5bc72df GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -DELETE: /v1/clustertemplates/d1205658-7a80-4393-b0d7-3a96cd4968de +DELETE: /v1/clusters/991007ee-d85f-44a1-958f-0df88596ce81 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate d1205658-7a80-4393-b0d7-3a96cd4968de could not be found", "detail": "ClusterTemplate d1205658-7a80-4393-b0d7-3a96cd4968de could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} -DELETE: /v1/clustertemplates/clustermodel1magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_health_status_ok ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 991007ee-d85f-44a1-958f-0df88596ce81 could not be found", "detail": "Cluster 991007ee-d85f-44a1-958f-0df88596ce81 could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_invalid_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_cluster_with_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestDelete.test_delete_multiple_cluster_by_name ... ok -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/uuid' is an internal attribute and can not be updated", "detail": "'/uuid' is an internal attribute and can not be updated", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'op': 'remove'}] -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/cluster_template_id' is a mandatory attribute and can not be removed", "detail": "'/cluster_template_id' is a mandatory attribute and can not be removed", "links": []}]} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -5186,7 +4950,7 @@ Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.859821+00:00', 'updated_at': None} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:08.521061+00:00', 'updated_at': None} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'op': 'remove'}] GOT:Response: 202 Accepted Content-Type: application/json @@ -5196,7 +4960,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:00.859821+00:00', 'updated_at': '2025-07-13T10:30:00.929474+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 1, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:08.521061+00:00', 'updated_at': '2026-08-15T17:01:08.641929+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -5205,7 +4969,7 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) name", "detail": "cannot change cluster property(ies) name.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': 'c26c0e24-a59a-4d56-9a16-d60fbeb4677f', 'op': 'replace'}] +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': 'f02d0dbe-25cb-4322-8422-22d8567236a3', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -5222,7 +4986,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'HEALTHY', 'health_status_reason': {'api': 'ok'}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4', '172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:01.089722+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'HEALTHY', 'health_status_reason': {'api': 'ok'}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4', '172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:08.909392+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': -1, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -5231,293 +4995,149 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} -PATCH: /v1/clusters/81807209-b949-4ee7-a866-51fe74cbe9fb [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}]magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id ... ok -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all -magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin ... ok - -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/clustertemplates/not_found -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_found could not be found", "detail": "ClusterTemplate not_found could not be found.", "links": []}]} -DELETE: /v1/clustertemplates/test_cluster_template -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple ClusterTemplates exist with same name", "detail": "Multiple ClusterTemplates exist with same name. Please use the ClusterTemplate uuid instead.", "links": []}]} -DELETE: /v1/federations/74434564-bff3-46c9-805f-ac20731ca974 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -GET: /v1/federations/74434564-bff3-46c9-805f-ac20731ca974 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 74434564-bff3-46c9-805f-ac20731ca974 could not be found", "detail": "Federation 74434564-bff3-46c9-805f-ac20731ca974 could not be found.", "links": []}]} -DELETE: /v1/federations/2cf905e8-8005-4b80-b1d8-ce34cf32d7bf +PATCH: /v1/clusters/4ce1b26d-dd23-4e2b-af8f-4aeba2a5a552 [{'path': '/name', 'value': 'cluster_example_B', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 2cf905e8-8005-4b80-b1d8-ce34cf32d7bf could not be found", "detail": "Federation 2cf905e8-8005-4b80-b1d8-ce34cf32d7bf could not be found.", "links": []}]} -DELETE: /v1/federations/federation-example -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version - -DELETE: /v1/federations/foo -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} -GET: /v1/mservices {} -GOT:{'mservices': []} -GET: /v1/mservices {} -GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 2, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 3, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 4, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 5, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} -GET: /v1/mservices {} -GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} -GET: /v1/mservices {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow magnum-service:get_all to be performed", "detail": "Policy doesn't allow magnum-service:get_all to be performed.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/not-there -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-there could not be found", "detail": "Nodegroup not-there could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d53e6b51-5436-4e80-b496-f4cef2432599 +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 4ce1b26d-dd23-4e2b-af8f-4aeba2a5a552 could not be found", "detail": "Cluster 4ce1b26d-dd23-4e2b-af8f-4aeba2a5a552 could not be found.", "links": []}]} +PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '9b90ae55-d9e0-45c3-848d-6ebdad6a73ea', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Deleting a default nodegroup is not supported", "detail": "Deleting a default nodegroup is not supported.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found", "detail": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found.", "links": []}]} -DELETE: /v1/clusters/6eecaa63-f68b-4308-958f-a934e24d57b0/nodegroups/120ccd28-6f86-4fff-8531-6c4af28298e6 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version - -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 -GOT:Response: 204 No Content -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version - -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup nodegroup1 could not be found", "detail": "Nodegroup nodegroup1 could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name ... ok +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_non_existent_cluster_template_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_collection_links_default_limit ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_multiple_cluster magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_multiple_cluster ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_not_found magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_against_single ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_uuid_not_found magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_replace_ok_by_uuid_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled ... ok -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0e1a35f5-21d6-4875-806f-635dcf2d3540 -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 0e1a35f5-21d6-4875-806f-635dcf2d3540 could not be found", "detail": "Nodegroup 0e1a35f5-21d6-4875-806f-635dcf2d3540 could not be found.", "links": []}]} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/2b048723-a0ea-4989-986b-4410e15f61e6/nodegroups {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get_all to be performed", "detail": "Policy doesn't allow nodegroup:get_all to be performed.", "links": []}]} -GET: /v1/clusters/a0fb5351-0a46-4088-a277-0fd9f5027e2b/nodegroups/d6dc060e-00aa-4264-8076-a7565e8bc805 {} -GOT:Response: 403 Forbidden -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get to be performed", "detail": "Policy doesn't allow nodegroup:get to be performed.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'master', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 400 Bad Request -Content-Type: application/json +DELETE: /v1/clusters/cluster1 +GOT:Response: 204 No Content Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Creating master nodegroups is currently not supported", "detail": "Creating master nodegroups is currently not supported.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 409 Conflict + +DELETE: /v1/clusters/not_found +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster API address is not available yet", "detail": "Cluster API address is not available yet", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'test-master', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +DELETE: /v1/clusters/test_cluster GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A node group with name test-master already exists in the cluster cluster1", "detail": "A node group with name test-master already exists in the cluster cluster1.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label3': 'value3'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "19c9a7c1-f30e-422c-8fd6-f93f62bfac11", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label3": "value3"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/19c9a7c1-f30e-422c-8fd6-f93f62bfac11", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/19c9a7c1-f30e-422c-8fd6-f93f62bfac11", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label3": "value3"}, "labels_skipped": {"label1": "value1", "label2": "value2"}, "created_at": "2025-07-13T10:30:01.828655+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "3c334641-f8ee-45fa-9300-d48b692e0c8e", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value3", "label2": "value2", "label4": "value4"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/3c334641-f8ee-45fa-9300-d48b692e0c8e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/3c334641-f8ee-45fa-9300-d48b692e0c8e", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {"label1": "value1"}, "labels_added": {"label4": "value4"}, "labels_skipped": {}, "created_at": "2025-07-13T10:30:01.872307+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/clusters/?limit=3 {} +GOT:{'clusters': [{'uuid': '91bebbac-5783-4d8f-83e3-dc5ef1244370', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/91bebbac-5783-4d8f-83e3-dc5ef1244370', 'rel': 'self'}, {'href': 'http://localhost/clusters/91bebbac-5783-4d8f-83e3-dc5ef1244370', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '160d60a7-0baa-4f74-98fe-d84561daf826', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/160d60a7-0baa-4f74-98fe-d84561daf826', 'rel': 'self'}, {'href': 'http://localhost/clusters/160d60a7-0baa-4f74-98fe-d84561daf826', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'c3aff02f-2ee9-4db2-9bc0-496244997947', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/c3aff02f-2ee9-4db2-9bc0-496244997947', 'rel': 'self'}, {'href': 'http://localhost/clusters/c3aff02f-2ee9-4db2-9bc0-496244997947', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=c3aff02f-2ee9-4db2-9bc0-496244997947'} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': 'c82399f2-048d-4865-9a3b-47b206635ff7', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/c82399f2-048d-4865-9a3b-47b206635ff7', 'rel': 'self'}, {'href': 'http://localhost/clusters/c82399f2-048d-4865-9a3b-47b206635ff7', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'e6a48695-0b2d-4a3a-a636-7b3f12357501', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/e6a48695-0b2d-4a3a-a636-7b3f12357501', 'rel': 'self'}, {'href': 'http://localhost/clusters/e6a48695-0b2d-4a3a-a636-7b3f12357501', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f03b7b37-4bf4-4f74-87c1-29940258e155', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/f03b7b37-4bf4-4f74-87c1-29940258e155', 'rel': 'self'}, {'href': 'http://localhost/clusters/f03b7b37-4bf4-4f74-87c1-29940258e155', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}], 'next': 'http://localhost/v1/clusters?sort_key=id&sort_dir=asc&limit=3&marker=f03b7b37-4bf4-4f74-87c1-29940258e155'} +GET: /v1/clusters/detail {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:09.447624+00:00', 'updated_at': None}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/detail {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "4029c992-0984-4276-85f7-ada68c233d04", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1", "label2": "value2"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/4029c992-0984-4276-85f7-ada68c233d04", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/4029c992-0984-4276-85f7-ada68c233d04", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-07-13T10:30:01.916029+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels ... ok +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/clusters/detail?limit=3&marker=2a4548df-7339-4843-9b8b-35950c06e5e0 {} +GOT:{'clusters': [{'uuid': '4aecaade-a7e7-4dec-ba16-8c3200b1f880', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/4aecaade-a7e7-4dec-ba16-8c3200b1f880', 'rel': 'self'}, {'href': 'http://localhost/clusters/4aecaade-a7e7-4dec-ba16-8c3200b1f880', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:09.643339+00:00', 'updated_at': None}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_detail_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_all_projects ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_disabled ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_multiple_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_name_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_rollback_enabled ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid ... ok -GOT:Response: 404 Not Found +GET: /v1/clusters {} +GOT:{'clusters': []} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': 'cceb488c-0d36-4411-838d-d39e1e4fc888', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/cceb488c-0d36-4411-838d-d39e1e4fc888', 'rel': 'self'}, {'href': 'http://localhost/clusters/cceb488c-0d36-4411-838d-d39e1e4fc888', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '5e674245-f9f6-45de-817c-5f770aa4433a', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5e674245-f9f6-45de-817c-5f770aa4433a', 'rel': 'self'}, {'href': 'http://localhost/clusters/5e674245-f9f6-45de-817c-5f770aa4433a', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '5789994f-a7ca-40a0-b65e-3dfb06518d3f', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5789994f-a7ca-40a0-b65e-3dfb06518d3f', 'rel': 'self'}, {'href': 'http://localhost/clusters/5789994f-a7ca-40a0-b65e-3dfb06518d3f', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'f108203b-bf60-4a1a-9d4e-8196c6961ce9', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/f108203b-bf60-4a1a-9d4e-8196c6961ce9', 'rel': 'self'}, {'href': 'http://localhost/clusters/f108203b-bf60-4a1a-9d4e-8196c6961ce9', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GET: /v1/clusters?limit=3&marker=1f16b729-3255-4f12-a3ce-520955bb1624 {} +GOT:{'clusters': [{'uuid': '8f6a1a32-87d1-4b87-9206-48c55b253ec5', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/8f6a1a32-87d1-4b87-9206-48c55b253ec5', 'rel': 'self'}, {'href': 'http://localhost/clusters/8f6a1a32-87d1-4b87-9206-48c55b253ec5', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:09.952859+00:00', 'updated_at': None} +GET: /v1/clusters/cluster1 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:10.006285+00:00', 'updated_at': None} +GET: /v1/clusters/test_cluster {} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 81807209-b949-4ee7-a866-51fe74cbe9fb could not be found", "detail": "Cluster 81807209-b949-4ee7-a866-51fe74cbe9fb could not be found.", "links": []}]} -PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/cluster_template_id', 'value': '9e042e9c-7dfe-49d2-8a27-8d3227c2f20a', 'op': 'replace'}] -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple clusters exist with same name", "detail": "Multiple clusters exist with same name. Please use the cluster uuid instead.", "links": []}]} +GET: /v1/clusters/not_found {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "cannot change cluster property(ies) cluster_template_id", "detail": "cannot change cluster property(ies) cluster_template_id.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} +GET: /v1/clusters/d8755186-46ce-4148-b1fe-b834d9f02114 {} +GOT:{'uuid': 'd8755186-46ce-4148-b1fe-b834d9f02114', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/d8755186-46ce-4148-b1fe-b834d9f02114', 'rel': 'self'}, {'href': 'http://localhost/clusters/d8755186-46ce-4148-b1fe-b834d9f02114', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:10.115515+00:00', 'updated_at': None} +GET: /v1/clusters/b4b5da72-1aa3-487e-a7dc-1e89da940de0 {} +GOT:{'uuid': 'b4b5da72-1aa3-487e-a7dc-1e89da940de0', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b4b5da72-1aa3-487e-a7dc-1e89da940de0', 'rel': 'self'}, {'href': 'http://localhost/clusters/b4b5da72-1aa3-487e-a7dc-1e89da940de0', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'b4b5da72-1aa3-487e-a7dc-1e89da940de0', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:10.167602+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_by_uuid_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_failed_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_get_one_merged_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster ... ok + PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json @@ -5527,7 +5147,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:01.515081+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:09.213479+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json @@ -5537,7 +5157,7 @@ Vary: OpenStack-API-Version {"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:01.603757+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 4, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'UPDATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': 'UNKNOWN', 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:09.303957+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/test_cluster [{'path': '/name', 'value': 'test_cluster', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json @@ -5554,22 +5174,22 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_found could not be found", "detail": "Cluster not_found could not be found.", "links": []}]} -PATCH: /v1/clusters/3aeb5be1-7987-4878-8e14-d041812b3f58 [{'path': '/cluster_id', 'value': '3aeb5be1-7987-4878-8e14-d041812b3f58', 'op': 'replace'}] +PATCH: /v1/clusters/8da8afd2-a566-4bcc-a704-fe8097f0a82c [{'path': '/cluster_id', 'value': '8da8afd2-a566-4bcc-a704-fe8097f0a82c', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 3aeb5be1-7987-4878-8e14-d041812b3f58 could not be found", "detail": "Cluster 3aeb5be1-7987-4878-8e14-d041812b3f58 could not be found.", "links": []}]} -PATCH: /v1/clusters/e7eb542b-b9f0-4141-97a2-a649c007c0b3 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 8da8afd2-a566-4bcc-a704-fe8097f0a82c could not be found", "detail": "Cluster 8da8afd2-a566-4bcc-a704-fe8097f0a82c could not be found.", "links": []}]} +PATCH: /v1/clusters/9d6601cf-fdef-4a81-967d-6077f2973c69 [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e7eb542b-b9f0-4141-97a2-a649c007c0b3"} +{"uuid": "9d6601cf-fdef-4a81-967d-6077f2973c69"} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/?rollback=False [{'path': '/node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json @@ -5601,102 +5221,69 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster.TestPatch.test_update_cluster_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id ... ok - -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'new_ng', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "49f5d080-d679-4974-91ab-2f74d29a875b", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/49f5d080-d679-4974-91ab-2f74d29a875b", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/49f5d080-d679-4974-91ab-2f74d29a875b", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 7, 'role': 'worker', 'max_node_count': 5, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5))", "detail": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5)).", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 2, 'role': 'worker', 'max_node_count': None, 'min_node_count': 3, 'merge_labels': False} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'name': 'test_ng'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 3, "uuid": "07304556-a22d-47aa-b895-f6946b0b6ab6", "name": "test_ng", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/07304556-a22d-47aa-b895-f6946b0b6ab6", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/07304556-a22d-47aa-b895-f6946b0b6ab6", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': 'test_flavor', 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"id": 12, "uuid": "d42a871a-2f96-4302-8262-d1cdd16af545", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d42a871a-2f96-4302-8262-d1cdd16af545", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d42a871a-2f96-4302-8262-d1cdd16af545", "rel": "bookmark"}], "flavor_id": "test_flavor", "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "6120b603-c341-4454-9ed3-81452cf5102c", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/6120b603-c341-4454-9ed3-81452cf5102c", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/6120b603-c341-4454-9ed3-81452cf5102c", "rel": "bookmark"}], "flavor_id": null, "image_id": "test_image", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value1'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels ... ok +{"uuid": "f1d79b7c-056c-4953-8bb8-f41cab165dd9"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_doesnt_contain_id ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_generate_uuid ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_no_cluster_template_id ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_links ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_resource_limit_reached ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_set_project_id_and_user_id ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cinder_csi_disabled ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cluster_template_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cluster_template_name ... ok -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +GET: /v1/clusters/f5dadd50-879c-4301-b6ca-99c15ae25669 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "299f12a1-0ac6-4f82-836d-97d85f99efbe"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster f5dadd50-879c-4301-b6ca-99c15ae25669 could not be found", "detail": "Cluster f5dadd50-879c-4301-b6ca-99c15ae25669 could not be found.", "links": []}]} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_FAILED', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'faults': {'test-master': 'fake_reason'}, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:10.269458+00:00', 'updated_at': None} +GET: /v1/clusters/7a92c01c-ffe2-4303-b249-84d616e3b8fd {} +GOT:{'uuid': '7a92c01c-ffe2-4303-b249-84d616e3b8fd', 'name': 'cluster1', 'cluster_template_id': '174001ba-70ca-4e45-b0cc-a7d0ca368144', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/7a92c01c-ffe2-4303-b249-84d616e3b8fd', 'rel': 'self'}, {'href': 'http://localhost/clusters/7a92c01c-ffe2-4303-b249-84d616e3b8fd', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:10.419430+00:00', 'updated_at': None} +GET: /v1/clusters/2b5d66c9-2724-4bc8-9b73-d567d112ecf8 {} +GOT:{'uuid': '2b5d66c9-2724-4bc8-9b73-d567d112ecf8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/2b5d66c9-2724-4bc8-9b73-d567d112ecf8', 'rel': 'self'}, {'href': 'http://localhost/clusters/2b5d66c9-2724-4bc8-9b73-d567d112ecf8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:10.533938+00:00', 'updated_at': None} +GET: /v1/clusters/2b5d66c9-2724-4bc8-9b73-d567d112ecf8 {} +GOT:{'uuid': '2b5d66c9-2724-4bc8-9b73-d567d112ecf8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/2b5d66c9-2724-4bc8-9b73-d567d112ecf8', 'rel': 'self'}, {'href': 'http://localhost/clusters/2b5d66c9-2724-4bc8-9b73-d567d112ecf8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:10.533938+00:00', 'updated_at': None} +GET: /clusters/2b5d66c9-2724-4bc8-9b73-d567d112ecf8 {} +GOT:{'uuid': '2b5d66c9-2724-4bc8-9b73-d567d112ecf8', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/2b5d66c9-2724-4bc8-9b73-d567d112ecf8', 'rel': 'self'}, {'href': 'http://localhost/clusters/2b5d66c9-2724-4bc8-9b73-d567d112ecf8', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:10.533938+00:00', 'updated_at': None} +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': 'c7028a8f-1c70-448a-addf-353f920e6449', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/c7028a8f-1c70-448a-addf-353f920e6449', 'rel': 'self'}, {'href': 'http://localhost/clusters/c7028a8f-1c70-448a-addf-353f920e6449', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'b49dc740-65bc-4f81-ad09-29ad9eba1e93', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/b49dc740-65bc-4f81-ad09-29ad9eba1e93', 'rel': 'self'}, {'href': 'http://localhost/clusters/b49dc740-65bc-4f81-ad09-29ad9eba1e93', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '86d9ace7-cd76-4ee2-9ec3-95c45300ec02', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/86d9ace7-cd76-4ee2-9ec3-95c45300ec02', 'rel': 'self'}, {'href': 'http://localhost/clusters/86d9ace7-cd76-4ee2-9ec3-95c45300ec02', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': '1d172450-95ed-4869-817e-7ec20b9bed73', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/1d172450-95ed-4869-817e-7ec20b9bed73', 'rel': 'self'}, {'href': 'http://localhost/clusters/1d172450-95ed-4869-817e-7ec20b9bed73', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}, {'uuid': 'c84f0d32-34ad-457b-b408-6f7d4744968d', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/c84f0d32-34ad-457b-b408-6f7d4744968d', 'rel': 'self'}, {'href': 'http://localhost/clusters/c84f0d32-34ad-457b-b408-6f7d4744968d', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_many ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cluster_template_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_cluster_template_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one +magnum.tests.unit.api.controllers.v1.test_cluster.TestListCluster.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... ok + GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7c0b6a45-ec1f-40a6-9bc7-f060cf3d3dcc"} +{"uuid": "e1ed2718-0abd-4045-b320-ddd467bdc455"} POST: /v1/clusters {'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -5704,7 +5291,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "7d568109-5304-450d-b64c-039fbc47b2cf"} +{"uuid": "a75c44e0-d1ac-495e-863b-34bea5d9750a"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -5720,7 +5307,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "08a35a8c-09f5-4d2f-b3d8-b89d2e68e8cc"} +{"uuid": "70a2c391-1c14-4d6d-9885-9a80e11b5355"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 403 Forbidden Content-Type: application/json @@ -5736,7 +5323,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "5aae119c-b508-4b7c-bbee-de51e7f04b90"} +{"uuid": "e7db3711-4e80-4c64-af95-496ae88d39d8"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'cinder_csi_enabled': 'false'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -5744,7 +5331,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1f7c8b84-0828-400d-ad23-793c5d13de1a"} +{"uuid": "50cd28aa-9469-4c5b-baca-e7a295f22333"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'clustermodel1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -5752,7 +5339,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "be20be89-8eac-49c1-bae0-94870e8cea69"} +{"uuid": "d6c7a9b7-585f-4280-b012-d93141a70ca5"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 3, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -5760,288 +5347,311 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ab0faa4c-c8ee-46b7-9519-68ec4b4dca0e"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_docker_volume_size ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count_oldmicroversion +{"uuid": "6bffa523-f6cb-44e3-b0fa-9eb5bc112d8f"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 2, 'merge_labels': False} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "master nodegroup size of 2 is invalid, size cannot be an even number", "detail": "master nodegroup size of 2 is invalid, size cannot be an even number.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 2, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count_oldmicroversion magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_even_master_count_oldmicroversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_docker_volume_size magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_docker_volume_size ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max ... ok -GOT:Response: 202 Accepted +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"id": 12, "uuid": "1b7430e6-8a68-4600-842b-678ea4df3e08", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/1b7430e6-8a68-4600-842b-678ea4df3e08", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/1b7430e6-8a68-4600-842b-678ea4df3e08", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label1": "value1"}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': 5, 'min_node_count': 1, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "master nodegroup size of 2 is invalid, size cannot be an even number", "detail": "master nodegroup size of 2 is invalid, size cannot be an even number.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': 'm2.small', 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "921a3b87-46b6-4346-847e-d2bdb502b154", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/921a3b87-46b6-4346-847e-d2bdb502b154", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/921a3b87-46b6-4346-847e-d2bdb502b154", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 5, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'test-role', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted +{"uuid": "71646083-68e9-4cda-af23-0539f581f778"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': -1, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "2b34f750-3e83-473d-95d5-23c13578f986", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/2b34f750-3e83-473d-95d5-23c13578f986", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/2b34f750-3e83-473d-95d5-23c13578f986", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "test-role", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 0, 'role': 'worker', 'max_node_count': None, 'min_node_count': 0, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute docker_volume_size", "detail": "Invalid input for field/attribute docker_volume_size. Value: '-1'. Value should be greater or equal to 1", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "8a2bb71d-4f1e-45f3-914c-3b6382fe2598", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/8a2bb71d-4f1e-45f3-914c-3b6382fe2598", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/8a2bb71d-4f1e-45f3-914c-3b6382fe2598", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 0, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}'. invalid literal for int() with base 10: 'notanint'", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 1, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 12, "uuid": "c587a02f-ada6-4899-a362-eaaace4558b2", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c587a02f-ada6-4899-a362-eaaace4558b2", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c587a02f-ada6-4899-a362-eaaace4558b2", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "docker volume size 1 GB is not valid, expecting minimum value 3GB for devicemapper storage driver", "detail": "docker volume size 1 GB is not valid, expecting minimum value 3GB for devicemapper storage driver.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 2, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-07-13T10:30:02.608190+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': -10} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "docker volume size 2 GB is not valid, expecting minimum value 3GB for devicemapper storage driver", "detail": "docker volume size 2 GB is not valid, expecting minimum value 3GB for devicemapper storage driver.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute hard_limit", "detail": "Invalid input for field/attribute hard_limit. Value: '-10'. Value should be greater or equal to 0", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'invalid-res', 'hard_limit': 10} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "test-net", "detail": "test-net", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found ... ok +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "test-flavor", "detail": "test-flavor", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade ... ok -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 2, 'merge_labels': False} -GOT:Response: 400 Bad Request +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "master nodegroup size of 2 is invalid, size cannot be an even number", "detail": "master nodegroup size of 2 is invalid, size cannot be an even number.", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 2, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "test-key", "detail": "test-key", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "master nodegroup size of 2 is invalid, size cannot be an even number", "detail": "master nodegroup size of 2 is invalid, size cannot be an even number.", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': 'm2.small', 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}'. Value not a valid dict: invalid", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "64b45f0c-7a5b-4181-8f40-9926cb9e7a30"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': -1, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'. Value should have a maximum character requirement of 242", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '123456', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute docker_volume_size", "detail": "Invalid input for field/attribute docker_volume_size. Value: '-1'. Value should be greater or equal to 1", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '123456test_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 'notanint', 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}'. invalid literal for int() with base 10: 'notanint'", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 1, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456test_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '-test_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "docker volume size 1 GB is not valid, expecting minimum value 3GB for devicemapper storage driver", "detail": "docker volume size 1 GB is not valid, expecting minimum value 3GB for devicemapper storage driver.", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': 2, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '-test_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '.test_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "docker volume size 2 GB is not valid, expecting minimum value 3GB for devicemapper storage driver", "detail": "docker volume size 2 GB is not valid, expecting minimum value 3GB for devicemapper storage driver.", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '.test_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '_test_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "test-net", "detail": "test-net", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_ext_network ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_flavor ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_keypair ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_labels ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker ... ok +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '_test_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair ... ok -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request +GET: /v1/clusters {} +GOT:{'clusters': [{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 3, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'health_status': None, 'merge_labels': False}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.7 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "test-flavor", "detail": "test-flavor", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 404 Not Found +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:11.177104+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 4, 'nodegroup': '0a6014fb-14cf-45f7-87d3-f51a1e4c662d'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "test-key", "detail": "test-key", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '36a904f1-de78-4ae9-9022-a346ba0c7ea0'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute cluster", "detail": "Invalid input for field/attribute cluster. Value: '{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': 'invalid', 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}'. Value not a valid dict: invalid", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '88a473de-c1ed-47f6-af3d-32860c846cc6'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'. Value should have a maximum character requirement of 242", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '123456', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "detail": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '73c5c3fb-8e3c-4db5-a1b0-adb1581a5ebd'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '123456test_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "detail": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '20a162ea-fb11-4240-9d3f-305c93aabd38'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456test_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '-test_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2026-08-15T17:01:11.783792+00:00', 'updated_at': None} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '47cb2c6e-6cb4-4b65-b2e0-d52608a5069b'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.10 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': 'c369ba1d-5a70-4e05-b0f7-68d3523e9004'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '-test_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '.test_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_keypair ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context ... ok +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/dd34dec1-816f-4b89-99fc-b03c7fb1c3f2/actions/upgrade {'cluster_template': 'test_2'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 +Vary: OpenStack-API-Version +{"uuid": "dd34dec1-816f-4b89-99fc-b03c7fb1c3f2"}magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_cluster_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_labels ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ct_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_count_zero magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_count_zero ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_master ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_default_worker ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_master_flavor_id ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_ng_not_found ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct +magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterUpgrade.test_upgrade_non_default_ng_invalid_ct ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels_no_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_merge_labels_no_labels ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found -magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestDelete.test_delete_federation_with_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_images_same_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_images_same_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_keypair_same_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_keypair_same_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker ... ok -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '.test_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '_test_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '_test_cluster'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': '', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -6057,7 +5667,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e3edfc9f-d003-4a5c-9f7e-5dfb37c3c131"} +{"uuid": "d13d5380-9386-4ce0-893b-65e9dd7a0779"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'key': 'value'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6065,7 +5675,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1542f076-0cac-449f-b241-b97af87f57fe"} +{"uuid": "fe362297-2e72-4bb1-a674-dacc113fb917"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 0, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -6081,7 +5691,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "8860c409-bd40-41d2-b9bb-2a4f268540f1"} +{"uuid": "e964660f-84ad-408a-902f-4792e725614d"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'label2': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json @@ -6089,7 +5699,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "6d34b72a-4bdb-4e8e-b70c-54192b00455c"} +{"uuid": "903c3f69-6506-45f0-9c9f-9b106387e11e"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json @@ -6097,7 +5707,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "03d636eb-983b-4df9-93ea-330be56c0c29"} +{"uuid": "7dd8d852-66fb-4480-a6ee-5611f24e2bed"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 409 Conflict Content-Type: application/json @@ -6105,93 +5715,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "test-img", "detail": "test-img", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_images_same_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_images_same_name ... ok -magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init -magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_keypair_same_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_multi_keypair_same_name ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_negative_master_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_negative_master_count ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_multi_node -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_multi_node ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_one_node -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_one_node ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches -magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values -magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_node_count -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_node_count ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name -magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_os_distro_image -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_os_distro_image ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit ... ok -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir -magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir ... ok -magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types -magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types ... ok - +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "test-img", "detail": "test-img", "links": []}]} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 409 Conflict Content-Type: application/json @@ -6200,323 +5724,519 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 409, "title": "keypair2", "detail": "keypair2", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': -1, 'merge_labels': False} -GOT:Response: 400 Bad Request +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': -1, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_negative_master_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_negative_master_count ... ok + +POST: /v1/clusters/not_there/actions/upgrade {'cluster_template': 'test_2'} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not_there could not be found", "detail": "Cluster not_there could not be found.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'not_there'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.8 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_there could not be found", "detail": "ClusterTemplate not_there could not be found.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '86b25f99-c315-46c5-9231-d195d875ee8e'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'ad7ae801-70d4-4cdf-9c35-6fa4b3ea483b'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': 'not_there'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not_there could not be found", "detail": "Nodegroup not_there could not be found.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_1', 'nodegroup': '27e3153e-d5bf-4b7e-b517-fb518e17f34c'} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/upgrade {'cluster_template': 'test_2', 'nodegroup': '27e3153e-d5bf-4b7e-b517-fb518e17f34c'} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.9 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1)", "detail": "Cluster Template is not valid for upgrade: Nodegroup test_ng can be upgraded only to match cluster's template (test_1).", "links": []}]} +DELETE: /v1/federations/66adc41a-156e-4cde-8a23-92a364785cc2 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute master_count", "detail": "Invalid input for field/attribute master_count. Value: '-1'. Value should be greater or equal to 1", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'foo', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': False, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request + +GET: /v1/federations/66adc41a-156e-4cde-8a23-92a364785cc2 {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "master_count must be 1 when master_lb_enabled is False", "detail": "master_count must be 1 when master_lb_enabled is False", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'foo', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 1, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 66adc41a-156e-4cde-8a23-92a364785cc2 could not be found", "detail": "Federation 66adc41a-156e-4cde-8a23-92a364785cc2 could not be found.", "links": []}]} +DELETE: /v1/federations/5d1310ca-2d1f-4159-adef-67b31267f676 +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e9cf65b6-144a-4e46-a89d-284b8db90039"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 5d1310ca-2d1f-4159-adef-67b31267f676 could not be found", "detail": "Federation 5d1310ca-2d1f-4159-adef-67b31267f676 could not be found.", "links": []}]} +DELETE: /v1/federations/federation-example +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/federations/foo +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation foo could not be found", "detail": "Federation foo could not be found.", "links": []}]} +GET: /v1/federations/detail {} +GOT:{'federations': [{'uuid': 'b7fa146b-3386-4935-ac90-328f9050ccdd', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/b7fa146b-3386-4935-ac90-328f9050ccdd', 'rel': 'self'}, {'href': 'http://localhost/federations/b7fa146b-3386-4935-ac90-328f9050ccdd', 'rel': 'bookmark'}], 'created_at': '2026-08-15T17:01:12.445446+00:00', 'updated_at': None}]} +GET: /v1/federations/68c2e0df-b884-4a6f-8a01-deaf2f68f05d/detail {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} +GET: /v1/federations/detail?limit=3&marker=3d43477b-df46-4987-951c-ddc71fc58f72 {} +GOT:{'federations': [{'uuid': '7a45ea10-ee1c-4cd1-b398-7d006b8ac073', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/7a45ea10-ee1c-4cd1-b398-7d006b8ac073', 'rel': 'self'}, {'href': 'http://localhost/federations/7a45ea10-ee1c-4cd1-b398-7d006b8ac073', 'rel': 'bookmark'}], 'created_at': '2026-08-15T17:01:12.511648+00:00', 'updated_at': None}]} +GET: /v1/federations {} +GOT:{'federations': []} +GET: /v1/federations?limit=3&marker=aa9a979d-0c72-4458-9d55-57c2a33f8cb3 {} +GOT:{'federations': [{'uuid': '105ef8a4-d9df-4b16-8b8a-b95679168065', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/105ef8a4-d9df-4b16-8b8a-b95679168065', 'rel': 'self'}, {'href': 'http://localhost/federations/105ef8a4-d9df-4b16-8b8a-b95679168065', 'rel': 'bookmark'}]}]} +GET: /v1/federations/6e7de59c-f553-417a-a7bc-1639e9b44dd1 {} +GOT:{'uuid': '6e7de59c-f553-417a-a7bc-1639e9b44dd1', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/6e7de59c-f553-417a-a7bc-1639e9b44dd1', 'rel': 'self'}, {'href': 'http://localhost/federations/6e7de59c-f553-417a-a7bc-1639e9b44dd1', 'rel': 'bookmark'}], 'created_at': '2026-08-15T17:01:12.600271+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one +magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation ... ok + +GET: /v1/federations/fake-name {} +GOT:{'uuid': '48572648-b971-4cb7-be09-ae06d58b0583', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/48572648-b971-4cb7-be09-ae06d58b0583', 'rel': 'self'}, {'href': 'http://localhost/federations/48572648-b971-4cb7-be09-ae06d58b0583', 'rel': 'bookmark'}], 'created_at': '2026-08-15T17:01:12.638635+00:00', 'updated_at': None} +GET: /v1/federations/test_federation {} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple federations exist with same name", "detail": "Multiple federations exist with same name. Please use the federation uuid instead.", "links": []}]} +GET: /v1/federations/not_found {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation not_found could not be found", "detail": "Federation not_found could not be found.", "links": []}]} +GET: /v1/federations/1278164b-88ac-4a4d-9436-ebc630b0f75c {} +GOT:{'uuid': '1278164b-88ac-4a4d-9436-ebc630b0f75c', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/1278164b-88ac-4a4d-9436-ebc630b0f75c', 'rel': 'self'}, {'href': 'http://localhost/federations/1278164b-88ac-4a4d-9436-ebc630b0f75c', 'rel': 'bookmark'}], 'created_at': '2026-08-15T17:01:12.707578+00:00', 'updated_at': None} +GET: /v1/federations/9aaa6ab0-55e7-41a4-949c-9417d5882dac {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 9aaa6ab0-55e7-41a4-949c-9417d5882dac could not be found", "detail": "Federation 9aaa6ab0-55e7-41a4-949c-9417d5882dac could not be found.", "links": []}]} +GET: /v1/federations/9310feaa-5898-41f1-8808-d428d6e119a7 {} +GOT:{'uuid': '9310feaa-5898-41f1-8808-d428d6e119a7', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/9310feaa-5898-41f1-8808-d428d6e119a7', 'rel': 'self'}, {'href': 'http://localhost/federations/9310feaa-5898-41f1-8808-d428d6e119a7', 'rel': 'bookmark'}], 'created_at': '2026-08-15T17:01:12.747442+00:00', 'updated_at': None} +GET: /v1/federations/9310feaa-5898-41f1-8808-d428d6e119a7 {} +GOT:{'uuid': '9310feaa-5898-41f1-8808-d428d6e119a7', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/9310feaa-5898-41f1-8808-d428d6e119a7', 'rel': 'self'}, {'href': 'http://localhost/federations/9310feaa-5898-41f1-8808-d428d6e119a7', 'rel': 'bookmark'}], 'created_at': '2026-08-15T17:01:12.747442+00:00', 'updated_at': None} +GET: /federations/9310feaa-5898-41f1-8808-d428d6e119a7 {} +GOT:{'uuid': '9310feaa-5898-41f1-8808-d428d6e119a7', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/9310feaa-5898-41f1-8808-d428d6e119a7', 'rel': 'self'}, {'href': 'http://localhost/federations/9310feaa-5898-41f1-8808-d428d6e119a7', 'rel': 'bookmark'}], 'created_at': '2026-08-15T17:01:12.747442+00:00', 'updated_at': None} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '5342f1a1-b315-4e9d-975a-1c8ec94e847f', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/5342f1a1-b315-4e9d-975a-1c8ec94e847f', 'rel': 'self'}, {'href': 'http://localhost/federations/5342f1a1-b315-4e9d-975a-1c8ec94e847f', 'rel': 'bookmark'}]}, {'uuid': '1a9c5d7c-b255-41cf-a799-9fbb82d6b03c', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/1a9c5d7c-b255-41cf-a799-9fbb82d6b03c', 'rel': 'self'}, {'href': 'http://localhost/federations/1a9c5d7c-b255-41cf-a799-9fbb82d6b03c', 'rel': 'bookmark'}]}, {'uuid': 'd3849456-ed48-4bec-8c02-accc7b2b6e9c', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/d3849456-ed48-4bec-8c02-accc7b2b6e9c', 'rel': 'self'}, {'href': 'http://localhost/federations/d3849456-ed48-4bec-8c02-accc7b2b6e9c', 'rel': 'bookmark'}]}, {'uuid': '2599559a-1b47-447d-a9c9-485cbbc808da', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/2599559a-1b47-447d-a9c9-485cbbc808da', 'rel': 'self'}, {'href': 'http://localhost/federations/2599559a-1b47-447d-a9c9-485cbbc808da', 'rel': 'bookmark'}]}, {'uuid': 'e88dbdc9-85dd-4b62-aa77-487cefc6a92e', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/e88dbdc9-85dd-4b62-aa77-487cefc6a92e', 'rel': 'self'}, {'href': 'http://localhost/federations/e88dbdc9-85dd-4b62-aa77-487cefc6a92e', 'rel': 'bookmark'}]}]} +GET: /v1/federations {} +GOT:{'federations': [{'uuid': '4e1b0933-d898-488e-9e01-efcb1934f65c', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/4e1b0933-d898-488e-9e01-efcb1934f65c', 'rel': 'self'}, {'href': 'http://localhost/federations/4e1b0933-d898-488e-9e01-efcb1934f65c', 'rel': 'bookmark'}]}]} +POST: /v1/federations {'uuid': '6ee012eb-3a58-471d-82da-a5eec7597197', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "58f6b1ed-3286-4838-b1de-4cb207b251fe"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'master_count': 3, 'merge_labels': False} +{"uuid": "14e40190-2a83-47b0-b3e7-f4f95954118a"} +POST: /v1/federations {'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "02f40676-11c8-496f-9a5d-46abbef7d078"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"uuid": "b210df0a-0405-436a-958d-2ce2db8f1ab5"}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_multi_node +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_multi_node ... ok + +POST: /v1/federations {'uuid': 'd18409d3-60c6-426c-b1d3-b0d107034f30', 'name': 'fake-name', 'hostcluster_id': 'b94ce81a-6bf5-4eb2-9f33-6f2e6605b16d', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster b94ce81a-6bf5-4eb2-9f33-6f2e6605b16d could not be found", "detail": "Cluster b94ce81a-6bf5-4eb2-9f33-6f2e6605b16d could not be found.", "links": []}]} +POST: /v1/federations {'uuid': '4375810f-9203-4d8c-b674-9d1ea96d3e58', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "img", "detail": "img", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Please specify a `properties` dict for the federation", "detail": "Please specify a `properties` dict for the federation.", "links": []}]} +POST: /v1/federations {'uuid': '76e0ab3f-22e4-4fd1-8996-584ec1846677', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "23f4c97a-d124-4e75-ad45-cff8dba80d7e"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': -1, 'master_count': 3, 'merge_labels': False} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "No hostcluster specified", "detail": "No hostcluster specified. Please specify a hostcluster_id.", "links": []}]} +POST: /v1/federations {'uuid': 'd81a93a8-85a5-49ad-8bab-10fc459f6085', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': '6c76d36e-0f38-4fc4-9e72-0678de4751f8', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_id ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_name -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_name ... ok -magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types -magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types ... ok -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info -magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image ... ok - -POST: /v1/quotas {'id': 42, 'resource': 'Cluster', 'hard_limit': 10} +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'. Value should have a maximum character requirement of 242", "links": []}]} +POST: /v1/federations {'uuid': 'e3e98183-3c32-414c-ba8e-cf77a574efa3', 'name': '123456', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Must provide a valid project ID", "detail": "Must provide a valid project ID.", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': '2e6265a6-bb58-446b-a7a7-9c3c39e620b5', 'name': '123456test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The project_id fake_project could not be found", "detail": "The project_id fake_project could not be found.", "links": []}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 0} -GOT:Response: 201 Created +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': 'aff89c7a-4ab8-4231-9911-3d4c1598fca9', 'name': '-test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-07-13T10:30:02.706267+00:00", "updated_at": null} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '-test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': '359d250a-fce5-406e-b11d-fc93d0f6c53d', 'name': '.test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-07-13T10:30:02.723880+00:00", "updated_at": null} -DELETE: /v1/quotas/fake_project/Cluster -GOT:Response: 204 No Content +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '.test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': '91ab6b38-3638-4248-8023-1f2d04165b7c', 'name': '_test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '_test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} +POST: /v1/federations {'uuid': '8a057f8c-0c8d-43d9-b680-c58057ccf927', 'name': '', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name +magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_many ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceController.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_one_node +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_lb_one_node ... ok +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceEnforcement.test_policy_disallow_get_all ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_by_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_default_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_master_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_node_count +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_os_distro_image +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_os_distro_image ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_no_timeout ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_node_count_negative ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_id ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_nodegroup_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_not_found ... ok -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas {} -GOT:{'quotas': []} -GET: /v1/quotas?all_tenants=True {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.765487+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.766800+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.767965+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.769062+00:00', 'updated_at': None}]} -GET: /v1/quotas?all_tenants=False {} -GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.795075+00:00', 'updated_at': None}]} -GET: /v1/quotas?limit=3&marker=3&all_tenants=True {} -GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.819413+00:00', 'updated_at': None}]} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.842053+00:00', 'updated_at': None}]} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.866852+00:00', 'updated_at': None}]} -GET: /v1/quotas?all_tenants=True {} -GOT:{'quotas': []} -GET: /v1/quotas?limit=2&all_tenants=True {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.910139+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.911458+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} -GET: /v1/quotas/fake_project/Cluster {} -GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:02.933350+00:00', 'updated_at': None} -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute master_count", "detail": "Invalid input for field/attribute master_count. Value: '-1'. Value should be greater or equal to 1", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'foo', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': False, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas/invalid_proj/invalid_res {} -GOT:Response: 403 Forbidden +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "master_count must be 1 when master_lb_enabled is False", "detail": "master_count must be 1 when master_lb_enabled is False", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'foo', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} -GET: /v1/quotas/fake_project/Cluster {} -GOT:Response: 200 OK +{"uuid": "ab438e59-603e-4cd7-a53a-16f32e85f45a"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} -GET: /v1/quotas {} -GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2025-07-13T10:30:03.004488+00:00', 'updated_at': None}]} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} -GOT:Response: 201 Created +{"uuid": "26894df8-1d77-4ae7-b77b-d6b0c73b1c66"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-07-13T10:30:03.028109+00:00", "updated_at": null} -PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +{"uuid": "bc981c20-1925-4797-b51f-997ccd8633c3"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "img", "detail": "img", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-07-13T10:30:03.028109+00:00", "updated_at": "2025-07-13T10:30:03.035306+00:00"} -POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} -GOT:Response: 201 Created +{"uuid": "ab043e0b-b122-4914-9e43-be49dbbcec97"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': -1, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-07-13T10:30:03.059208+00:00", "updated_at": null} -PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} -GOT:Response: 404 Not Found +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute node_count", "detail": "Invalid input for field/attribute node_count. Value: '-1'. Value should be greater or equal to 0", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': '4a2e15e3-21b1-4171-888d-3b2af8575f5b', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Quota could not be found: project_id not-found resource Cluster", "detail": "Quota could not be found: project_id not-found resource Cluster.", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate 4a2e15e3-21b1-4171-888d-3b2af8575f5b could not be found", "detail": "ClusterTemplate 4a2e15e3-21b1-4171-888d-3b2af8575f5b could not be found.", "links": []}]} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'notfound', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 400 Bad Request Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]}magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault ... ok +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate notfound could not be found", "detail": "ClusterTemplate notfound could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_name +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_non_existent_cluster_template_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestDelete.test_delete_wrong_microversion ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_nonexist_image ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_negative ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault ... ok -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback -magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_none ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_timeout_zero ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update ... ok -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down -magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create -magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create ... ok -magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties -magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade ... ok -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version -magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version ... ok -GOT:Response: 400 Bad Request +POST: /v1/federations {'uuid': '7a1d7773-5cbd-4cab-ae46-aed3ee837d75', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate 6c76d36e-0f38-4fc4-9e72-0678de4751f8 could not be found", "detail": "ClusterTemplate 6c76d36e-0f38-4fc4-9e72-0678de4751f8 could not be found.", "links": []}]} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'notfound', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 400 Bad Request +{"uuid": "d634c027-0864-4cb3-b78d-a74cb854a76b"} +GET: /v1/mservices {} +GOT:{'mservices': []} +GET: /v1/mservices {} +GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 2, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 3, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 4, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}, {'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 5, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} +GET: /v1/mservices {} +GOT:{'mservices': [{'host': 'fake-host', 'binary': 'magnum-conductor', 'state': 'up', 'id': 1, 'report_count': 13, 'disabled': False, 'disabled_reason': None, 'created_at': '2001-01-01T00:00:00+00:00', 'updated_at': '2001-01-01T00:00:00+00:00'}]} +GET: /v1/mservices {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate notfound could not be found", "detail": "ClusterTemplate notfound could not be found.", "links": []}]} +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow magnum-service:get_all to be performed", "detail": "Policy doesn't allow magnum-service:get_all to be performed.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/not-there +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-there could not be found", "detail": "Nodegroup not-there could not be found.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/498a529d-199d-4f8f-b365-d8f6c4efe828 +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Deleting a default nodegroup is not supported", "detail": "Deleting a default nodegroup is not supported.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found", "detail": "Nodegroup 483203a3-dbee-4a9c-9d65-9820512f4df8 could not be found.", "links": []}]} +DELETE: /v1/clusters/cd4c221c-b6ac-4357-9c2d-5b739e7f0687/nodegroups/aa893cc4-6eba-4277-a4e0-709d2ca39902 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version + +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version + +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup nodegroup1 could not be found", "detail": "Nodegroup nodegroup1 could not be found.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/c7efd84f-e894-4acb-87e9-b381135d5599 +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup c7efd84f-e894-4acb-87e9-b381135d5599 could not be found", "detail": "Nodegroup c7efd84f-e894-4acb-87e9-b381135d5599 could not be found.", "links": []}]} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/clusters/ad2f8e66-1990-4753-9a93-31d8892824ba/nodegroups {} +GOT:{'nodegroups': [{'uuid': '39f64e97-6a6e-466c-8828-e098cfc35922', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '49b6b819-6d07-45d4-b3b2-c77eb96489af', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/1d96a646-a448-4166-a977-54cc3363b625/nodegroups {} +GOT:{'nodegroups': [{'uuid': 'bf89dcb0-7e1e-4855-9a07-5849d6b0df7a', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '8556e12b-0e77-4298-aa80-046c2483d8bb', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/cluster1/nodegroups {} +GOT:{'nodegroups': [{'uuid': '1ec3bab3-c72f-4c8a-9f1e-77d9b2df70ec', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'f0b5ad9e-5843-48d9-8f54-187921bddf28', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_non_default_ngs +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_non_default_ngs ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_non_existent_role +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_non_existent_role ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role ... ok + POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -6540,7 +6260,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "96edfd89-72ee-465b-904e-429e13b2a504"} +{"uuid": "99b20ef5-1fa8-4c68-8fb0-bcd4aec3e86b"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 0, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6548,7 +6268,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "6638f6c4-d455-4f75-a938-35a1fb40d5df"} +{"uuid": "dca61590-85bf-45dc-838e-8c16d3ff4a94"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test_cluster123456', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6556,7 +6276,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "272ed797-5af1-4fa9-993a-b81a59052fc0"} +{"uuid": "ae50eda8-11bd-47c2-a8a3-510678922386"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test-cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6564,7 +6284,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "31b1fd63-45bb-421f-86f3-223411fa36b4"} +{"uuid": "ef8204f2-b440-4acf-a608-e93053bad45f"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6572,7 +6292,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "d2d472b5-65ad-45c2-aac3-effaf4edd921"} +{"uuid": "1a85a0cd-c398-4762-ba7e-42557bf19dfe"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster.', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6580,81 +6300,91 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "4a790e84-8e95-432c-8714-3d7f3d12224d"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster-', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name +{"uuid": "bf22a720-f34f-434b-8d63-7237ba85f993"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster-', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "927c80f6-332a-4ce4-8924-5e0ab1c809e9"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster_', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "c7fad818-5d24-4f1d-baa4-0ee20aaf8bb4"}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_valid_name ... ok -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count ... ok -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_without_details_and_path -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_without_details_and_path ... ok -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg -magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg ... ok -magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks -magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_with_zero_node_count_fail ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert ... ok -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure -magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure ... ok -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager ... ok -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert -magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert ... ok -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_docker_volume_size ... ok -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_flavor_id ... ok -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_keypair ... ok -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_labels ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id +magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default ... ok -GOT:Response: 202 Accepted +GET: /v1/clusters/cluster1/nodegroups {} +GOT:{'nodegroups': [{'uuid': 'b98f1672-6fc9-40c2-9a3c-6531f211491f', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '9d165ba2-bbb4-438d-988f-9ac45bcd93fe', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/cluster1/nodegroups?role=non-existent {} +GOT:{'nodegroups': []} +GET: /v1/clusters/cluster1/nodegroups?role=master {} +GOT:{'nodegroups': [{'uuid': 'a2bc9336-789f-4c1a-87db-83ef7ef4dafc', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/cluster1/nodegroups?role=worker {} +GOT:{'nodegroups': [{'uuid': '050c2d7a-f5fc-40ae-8c51-706fb8fd5321', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} +GET: /v1/clusters/not-here/nodegroups {} +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "455dd1e9-123d-4192-8c4e-64daf9d6d938"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'testcluster_', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]} +GET: /v1/clusters/052ccf75-3708-4b74-aa17-bc91cb192ef7/nodegroups?limit=1 {} +GOT:{'nodegroups': [{'uuid': '883bf274-04c5-4f7b-9f95-921a97ec7400', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/052ccf75-3708-4b74-aa17-bc91cb192ef7/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=883bf274-04c5-4f7b-9f95-921a97ec7400'} +GET: /v1/clusters/052ccf75-3708-4b74-aa17-bc91cb192ef7/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=883bf274-04c5-4f7b-9f95-921a97ec7400 {} +GOT:{'nodegroups': [{'uuid': 'b5b5aa18-2894-4cd5-921d-9ebc3b0b0682', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/052ccf75-3708-4b74-aa17-bc91cb192ef7/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=b5b5aa18-2894-4cd5-921d-9ebc3b0b0682'} +GET: /v1/clusters/052ccf75-3708-4b74-aa17-bc91cb192ef7/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=b5b5aa18-2894-4cd5-921d-9ebc3b0b0682 {} +GOT:{'nodegroups': []} +GET: /v1/clusters/ee693831-6030-46af-a6d2-0502d1754c29/nodegroups/ {} +GOT:Response: 406 Not Acceptable Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "430a1db5-0dec-4814-bf86-3c02a6757e2f"} +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +GET: /v1/clusters/fec0cfb0-19eb-41c5-8cef-6290a04ff996/nodegroups/797e44bb-f4d0-4169-88da-aed1d01843d0 {} +GOT:{'id': 1, 'uuid': '797e44bb-f4d0-4169-88da-aed1d01843d0', 'name': 'test-worker', 'cluster_id': 'fec0cfb0-19eb-41c5-8cef-6290a04ff996', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/fec0cfb0-19eb-41c5-8cef-6290a04ff996/nodegroups/797e44bb-f4d0-4169-88da-aed1d01843d0', 'rel': 'self'}, {'href': 'http://localhost/clusters/fec0cfb0-19eb-41c5-8cef-6290a04ff996/nodegroups/797e44bb-f4d0-4169-88da-aed1d01843d0', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-08-15T17:01:13.857599+00:00', 'updated_at': None} +GET: /v1/clusters/9159058d-aac0-44c7-93e7-76cddb98520c/nodegroups/56876ae1-2a3e-4bf0-bc05-42fef93acd98 {} +GOT:{'id': 3, 'uuid': '56876ae1-2a3e-4bf0-bc05-42fef93acd98', 'name': 'test-worker', 'cluster_id': '9159058d-aac0-44c7-93e7-76cddb98520c', 'project_id': '9159058d-aac0-44c7-93e7-76cddb98520c', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/9159058d-aac0-44c7-93e7-76cddb98520c/nodegroups/56876ae1-2a3e-4bf0-bc05-42fef93acd98', 'rel': 'self'}, {'href': 'http://localhost/clusters/9159058d-aac0-44c7-93e7-76cddb98520c/nodegroups/56876ae1-2a3e-4bf0-bc05-42fef93acd98', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-08-15T17:01:13.925024+00:00', 'updated_at': None} +GET: /v1/clusters/e9900e5c-4c80-4761-909d-ea2c635099fd/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': 'e9900e5c-4c80-4761-909d-ea2c635099fd', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/e9900e5c-4c80-4761-909d-ea2c635099fd/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/e9900e5c-4c80-4761-909d-ea2c635099fd/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {}, 'created_at': '2026-08-15T17:01:14.006596+00:00', 'updated_at': None} +GET: /v1/clusters/9b732190-e1a5-43c8-a570-18dccd919c43/nodegroups/non_default_ng {} +GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '9b732190-e1a5-43c8-a570-18dccd919c43', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/9b732190-e1a5-43c8-a570-18dccd919c43/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/9b732190-e1a5-43c8-a570-18dccd919c43/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'created_at': '2026-08-15T17:01:14.051506+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion ... ok + POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'test.-_cluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6662,7 +6392,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "d1fb602c-bfab-4df5-8b48-01e13063e8b3"} +{"uuid": "24eb7f91-2bd7-45f7-a644-82c5d97ed56f"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'Testcluster', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6670,7 +6400,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "0583f7bf-1045-406b-a80f-cc1d7c92cd7f"} +{"uuid": "bea5e350-8619-4404-addd-a5344b28f161"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 0, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6678,7 +6408,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.10 Vary: OpenStack-API-Version -{"uuid": "c5664169-be74-4cd8-aa11-f70145547ad3"} +{"uuid": "a3236344-1983-4faa-8229-9df77215cf58"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 0, 'master_count': 3, 'merge_labels': False} GOT:Response: 400 Bad Request Content-Type: application/json @@ -6694,7 +6424,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "57be74c4-dca9-498c-a785-8f9da32f2421"} +{"uuid": "a3773254-7536-4248-b5ad-f08e7450e63d"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6702,7 +6432,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ef2f19fb-4add-41b1-8c79-70db2b75bd2f"} +{"uuid": "c573a024-237d-4827-b2bb-b4e9b821df65"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6710,7 +6440,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "a9fc706f-2ddc-4b78-a900-2d2d9c4c1a3f"} +{"uuid": "5f286275-183f-4103-b107-1c1951261add"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6718,7 +6448,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "79b97bb8-e5f4-4cb7-b938-cd9c5b57b8e7"} +{"uuid": "1e864728-bd61-4160-ad51-97dcc14eef2e"} POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json @@ -6726,271 +6456,205 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "d2ec1106-782a-415e-92b8-defe94bc2920"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_master_flavor_id ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader ... ok -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels +{"uuid": "6fe83074-98f2-4d9a-be1c-8565c3e13e8d"} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'label2': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "4484e0c5-b8bd-453d-8ed9-d1fc9b10a2a0"}magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_merge_labels ... ok -magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_master_ng ... ok magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name magnum.tests.unit.api.controllers.v1.test_cluster.TestPost.test_create_cluster_without_name ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_even_unsupported ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_master_nodegroup_odd_unsupported ... ok -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_greater_than_max ... ok -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin ... ok -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission ... ok -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader -magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_node_count_less_than_min ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_nodegroup ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region -magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url -magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url ... ok -magnum.tests.unit.common.test_clients.ClientsTest.test_url_for -magnum.tests.unit.common.test_clients.ClientsTest.test_url_for ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_context -magnum.tests.unit.common.test_context.ContextTestCase.test_context ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles -magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin -magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplateObject.test_cluster_template_init ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_cluster_no_api_address ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_same_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_with_merge_labels_no_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update ... ok -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': {'label2': 'value3', 'label4': 'value4'}, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GET: /v1/clusters/f7ce9121-a6fa-46e2-8b6b-dc711a606880/nodegroups/not-here {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} +GET: /v1/clusters/6b67cce9-3858-49fc-b3f3-aa47141317e7/nodegroups/41f55ac0-227f-446d-bd2f-f250aeb855e4 {} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'master', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Creating master nodegroups is currently not supported", "detail": "Creating master nodegroups is currently not supported.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Cluster API address is not available yet", "detail": "Cluster API address is not available yet", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'test-master', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A node group with name test-master already exists in the cluster cluster1", "detail": "A node group with name test-master already exists in the cluster cluster1.", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label3': 'value3'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "10ddae92-cb1a-4348-b342-68b652476248"} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +{"id": 12, "uuid": "e08e2f86-7012-4003-bccc-79e28edc21ce", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label3": "value3"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e08e2f86-7012-4003-bccc-79e28edc21ce", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e08e2f86-7012-4003-bccc-79e28edc21ce", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label3": "value3"}, "labels_skipped": {"label1": "value1", "label2": "value2"}, "created_at": "2026-08-15T17:01:14.313818+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "82ccb94a-1ce0-4024-817f-c1cd12bc0bd9"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6} +{"id": 12, "uuid": "bd458f8f-824f-4548-b908-5de3c6d83bd5", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value3", "label2": "value2", "label4": "value4"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/bd458f8f-824f-4548-b908-5de3c6d83bd5", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/bd458f8f-824f-4548-b908-5de3c6d83bd5", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {"label1": "value1"}, "labels_added": {"label4": "value4"}, "labels_skipped": {}, "created_at": "2026-08-15T17:01:14.361283+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': True} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.7 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:04.168154+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 4, 'nodegroup': 'fcad1259-9ccf-4116-830f-5b33cfd899f6'} -GOT:Response: 400 Bad Request +{"id": 12, "uuid": "ab34c328-8d61-4644-af1e-617ecbd6d573", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1", "label2": "value2"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/ab34c328-8d61-4644-af1e-617ecbd6d573", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/ab34c328-8d61-4644-af1e-617ecbd6d573", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-08-15T17:01:14.408975+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'new_ng', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 406 Not Acceptable +Content-Type: application/json +{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_wrong_microversion +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_ng_wrong_microversion ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_invalid_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_only_name ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_flavor ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_image_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template ... ok + +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '89c176f8-863c-43cb-932b-28fe041d3965'} -GOT:Response: 400 Bad Request +{"id": 12, "uuid": "d3f31fdf-665f-45a1-9ab6-e4ef01fb1fac", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d3f31fdf-665f-45a1-9ab6-e4ef01fb1fac", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/d3f31fdf-665f-45a1-9ab6-e4ef01fb1fac", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 7, 'role': 'worker', 'max_node_count': 5, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing the master nodegroup is not supported by this driver", "detail": "Resizing the master nodegroup is not supported by this driver.", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '6ff98c94-5a0c-4d5f-944b-7965550afc38'} -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5))", "detail": "max_node_count for nodegroup1 is invalid (node_count (7) should be less or equal to max_node_count (5)).", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 2, 'role': 'worker', 'max_node_count': None, 'min_node_count': 3, 'merge_labels': False} +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "detail": "Resizing test-worker outside the allowed range: min_node_count = 1, max_node_count = 5", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 3, 'nodegroup': '31751d0a-329e-4a8f-ad49-153d6d408804'} -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2))", "detail": "min_node_count for nodegroup1 is invalid (min_node_count (3) should be less or equal to node_count (2)).", "links": []}]} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'name': 'test_ng'} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "detail": "Resizing test-worker outside the allowed range: min_node_count = 4, max_node_count = None", "links": []}]} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 6, 'nodegroup': '9093508b-abe4-4194-a47e-5afb8c2c0490'} +{"id": 3, "uuid": "e5aab052-7b61-41e9-a657-4c72ee992f9c", "name": "test_ng", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e5aab052-7b61-41e9-a657-4c72ee992f9c", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/e5aab052-7b61-41e9-a657-4c72ee992f9c", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': 'test_flavor', 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -GOT:{'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster_example_A', 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'keypair': None, 'node_count': 6, 'master_count': 3, 'docker_volume_size': None, 'labels': {}, 'master_flavor_id': None, 'flavor_id': None, 'create_timeout': 60, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'rel': 'bookmark'}], 'stack_id': '047c6319-7abd-4bd9-a033-8c6af0173cd0', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'health_status': None, 'health_status_reason': {}, 'discovery_url': None, 'api_address': '172.17.2.3', 'coe_version': None, 'container_version': None, 'project_id': 'fake_project', 'user_id': 'fake_user', 'node_addresses': ['172.17.2.4'], 'master_addresses': ['172.17.2.18'], 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {'key1': 'val1', 'key2': 'val2'}, 'master_lb_enabled': True, 'created_at': '2025-07-13T10:30:04.360751+00:00', 'updated_at': None} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': 'f2c2c5f9-2d1c-4063-bf45-3bcb77f4780c'} +{"id": 12, "uuid": "56349e94-66b7-44d5-b8f5-e95eae85860d", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/56349e94-66b7-44d5-b8f5-e95eae85860d", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/56349e94-66b7-44d5-b8f5-e95eae85860d", "rel": "bookmark"}], "flavor_id": "test_flavor", "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.10 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"uuid": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52"} -POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/actions/resize {'node_count': 0, 'nodegroup': '98697006-8c32-4b93-86f3-8f8598084088'} -GOT:Response: 400 Bad Request +{"id": 12, "uuid": "a7aa1f45-ef99-4952-92b5-953039bc30b6", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a7aa1f45-ef99-4952-92b5-953039bc30b6", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/a7aa1f45-ef99-4952-92b5-953039bc30b6", "rel": "bookmark"}], "flavor_id": null, "image_id": "test_image", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': {'label1': 'value1'}, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.9 +Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Resizing a nodegroup to zero is not supported in the provided microversion", "detail": "Resizing a nodegroup to zero is not supported in the provided microversion.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail -magnum.tests.unit.api.controllers.v1.test_cluster_actions.TestClusterResize.test_resize_with_zero_node_count_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_create ... ok -magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict -magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict ... ok -magnum.tests.unit.common.test_exception.TestException.test_all_exceptions -magnum.tests.unit.common.test_exception.TestException.test_all_exceptions ... ok -magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated -magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated ... ok -magnum.tests.unit.common.test_exception.TestException.test_message_is_templated -magnum.tests.unit.common.test_exception.TestException.test_message_is_templated ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_no_credentials -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_no_credentials ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_delete ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password_legacy -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password_legacy ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_detail ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_token -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_token ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_all ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_all_roles -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_all_roles ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_limit_roles -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_limit_roles ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_get_one ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trustee -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trustee ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_disallow_update ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust_not_found -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust_not_found ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_is_None -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_is_None ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_delete ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_not_found -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_get_one ... ok -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_trustee_domain_id -magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_trustee_domain_id ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_empty -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_empty ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestClusterTemplatePolicyEnforcement.test_policy_only_owner_update ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_exception -magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_exception ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_conflict -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_conflict ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_notfound -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_notfound ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name_notfound -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name_notfound ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_conflict -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_conflict ... ok -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound -magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate ... ok +{"id": 12, "uuid": "21f21830-cfff-4d51-a703-917ba99b8e3d", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {"label1": "value1"}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/21f21830-cfff-4d51-a703-917ba99b8e3d", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/21f21830-cfff-4d51-a703-917ba99b8e3d", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {"label1": "value1"}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_labels ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_as_admin ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_max_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_role ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_with_zero_nodes ... ok +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "ab329c72-f4be-4e12-a956-fe73f74c41c8"} POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} GOT:Response: 403 Forbidden Content-Type: application/json @@ -7007,7 +6671,7 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:delete to be performed", "detail": "Policy doesn't allow clustertemplate:delete to be performed.", "links": []}]} -GET: /v1/clustertemplates/952425a7-58ee-4258-8399-ff2328234f66/detail {} +GET: /v1/clustertemplates/f0e5407d-4574-49ba-8e51-6133d0c230d5/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 @@ -7063,6 +6727,187 @@ Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow clustertemplate:update to be performed", "detail": "Policy doesn't allow clustertemplate:update to be performed.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.", "links": []}]} +DELETE: /v1/clustertemplates/8c18af1a-9c00-411b-910e-12115f598d1f +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clustertemplates/e7cd0c3f-9795-4be6-a220-9b939be82c9a +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate e7cd0c3f-9795-4be6-a220-9b939be82c9a could not be found", "detail": "ClusterTemplate e7cd0c3f-9795-4be6-a220-9b939be82c9a could not be found.", "links": []}]} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPost.test_create_nodegroup_without_node_count ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_cluster_template_with_name_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_hard_limit ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestDelete.test_delete_multiple_cluster_template_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_invalid_resource ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_no_project_id ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_add_root_non_existent ... ok + +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': 5, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "0c6413d0-6470-4e94-af1e-863b63b0e7a2", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0c6413d0-6470-4e94-af1e-863b63b0e7a2", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/0c6413d0-6470-4e94-af1e-863b63b0e7a2", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 5, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'test-role', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "5fffaed4-3d7d-4f3b-9b0d-c3f59e886a8d", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/5fffaed4-3d7d-4f3b-9b0d-c3f59e886a8d", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/5fffaed4-3d7d-4f3b-9b0d-c3f59e886a8d", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 3, "role": "test-role", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 0, 'role': 'worker', 'max_node_count': None, 'min_node_count': 0, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "53fcdf4f-c2ee-4dcd-a9bd-62629bf5b0db", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/53fcdf4f-c2ee-4dcd-a9bd-62629bf5b0db", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/53fcdf4f-c2ee-4dcd-a9bd-62629bf5b0db", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 0, "role": "worker", "min_node_count": 0, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"id": 12, "uuid": "340c0df6-5d35-4650-8d22-4344a6d19a3e", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/340c0df6-5d35-4650-8d22-4344a6d19a3e", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/340c0df6-5d35-4650-8d22-4344a6d19a3e", "rel": "bookmark"}], "flavor_id": null, "image_id": "ubuntu", "node_addresses": null, "node_count": 1, "role": "worker", "min_node_count": 1, "max_node_count": null, "is_default": false, "stack_id": null, "status": null, "status_reason": null, "version": null, "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-08-15T17:01:14.994129+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': -10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute hard_limit", "detail": "Invalid input for field/attribute hard_limit. Value: '-10'. Value should be greater or equal to 0", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'invalid-res', 'hard_limit': 10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute resource", "detail": "Invalid input for field/attribute resource. Value: 'invalid-res'. Value should be one of: Cluster", "links": []}]} +POST: /v1/quotas {'id': 42, 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 400 Bad Request +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Must provide a valid project ID", "detail": "Must provide a valid project ID.", "links": []}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The project_id fake_project could not be found", "detail": "The project_id fake_project could not be found.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_quota_project_id_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_create_zero_quota ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_delete_quota ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_create_cluster_template_with_no_os_distro_image ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_empty ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_tenants_false ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_all_with_pagination_marker ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_admin_not_all_tenants ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_non_admin ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_non_admin_context ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_all_with_pagination_limit ... ok + +DELETE: /v1/clustertemplates/clustermodel1 +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +DELETE: /v1/clustertemplates/not_found +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate not_found could not be found", "detail": "ClusterTemplate not_found could not be found.", "links": []}]} +DELETE: /v1/clustertemplates/test_cluster_template +GOT:Response: 409 Conflict +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple ClusterTemplates exist with same name", "detail": "Multiple ClusterTemplates exist with same name. Please use the ClusterTemplate uuid instead.", "links": []}]} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7102,11 +6947,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/external_network_id' is a mandatory attribute and can not be removed", "detail": "'/external_network_id' is a mandatory attribute and can not be removed", "links": []}]}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_mandatory_property_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_non_existent_property_fail ... ok - +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "'/external_network_id' is a mandatory attribute and can not be removed", "detail": "'/external_network_id' is a mandatory attribute and can not be removed", "links": []}]} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/server_type', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7164,33 +7005,65 @@ Vary: OpenStack-API-Version {"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'", "detail": "Couldn't apply patch '[{'path': '/non-existent', 'op': 'remove'}]'. Reason: can't remove a non-existent object 'non-existent'", "links": []}]} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-07-13T10:30:04.814342+00:00', 'updated_at': None} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-07-13T10:30:04.814342+00:00", "updated_at": null} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-07-13T10:30:04.814342+00:00', 'updated_at': '2025-07-13T10:30:04.841628+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-08-15T17:01:15.326035+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_singular ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_no_config_default ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_remove_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_not_authorized ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_external_network_id ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_get_one_with_config_default ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_one ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_flavor_id ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_image_id ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found +magnum.tests.unit.api.controllers.v1.test_quota.TestQuota.test_patch_quota_not_found ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_cluster_template_with_no_exist_keypair_id ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_replace_singular ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats ... ok +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": null, "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-08-15T17:01:15.326035+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': None, 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-08-15T17:01:15.326035+00:00', 'updated_at': '2026-08-15T17:01:15.419214+00:00'} PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7238,555 +7111,353 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-07-13T10:30:05.009797+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-08-15T17:01:15.771698+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_B', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-07-13T10:30:05.009797+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} -PATCH: /v1/clustertemplates/b62c0649-d67b-4e82-9ff9-db17a06f4857 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "b62c0649-d67b-4e82-9ff9-db17a06f4857", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "ubuntu", "flavor_id": "m1.small", "master_flavor_id": "m1.small", "dns_nameserver": "8.8.1.1", "keypair_id": "keypair1", "external_network_id": "d1f02cfb-d27f-4068-9332-84d907cb0e2e", "fixed_network": "private", "fixed_subnet": "private-subnet", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/b62c0649-d67b-4e82-9ff9-db17a06f4857", "rel": "self"}, {"href": "http://localhost/clustertemplates/b62c0649-d67b-4e82-9ff9-db17a06f4857", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": null, "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "b62c0649-d67b-4e82-9ff9-db17a06f4857", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-07-13T10:30:05.051041+00:00", "updated_at": null} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] -GOT:Response: 200 OK -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-07-13T10:30:05.081519+00:00", "updated_at": null}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_hidden_with_cluster_allow_update +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_B', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-08-15T17:01:15.771698+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +PATCH: /v1/clustertemplates/82d93445-ce9c-4b3f-9d5e-f0891b11fbd4 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}]magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_as_admin ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_hidden_with_cluster_allow_update magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_hidden_with_cluster_allow_update ... ok +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_name_with_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats +magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_frombasetype_no_value ... ok -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2025-07-13T10:30:05.081519+00:00', 'updated_at': '2025-07-13T10:30:05.112977+00:00'} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-07-13T10:30:05.153281+00:00", "updated_at": null} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/labels', 'value': "{'etcd_volume_size': '1'}", 'op': 'replace'}] +{"uuid": "82d93445-ce9c-4b3f-9d5e-f0891b11fbd4", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "ubuntu", "flavor_id": "m1.small", "master_flavor_id": "m1.small", "dns_nameserver": "8.8.1.1", "keypair_id": "keypair1", "external_network_id": "d1f02cfb-d27f-4068-9332-84d907cb0e2e", "fixed_network": "private", "fixed_subnet": "private-subnet", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/82d93445-ce9c-4b3f-9d5e-f0891b11fbd4", "rel": "self"}, {"href": "http://localhost/clustertemplates/82d93445-ce9c-4b3f-9d5e-f0891b11fbd4", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": null, "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "82d93445-ce9c-4b3f-9d5e-f0891b11fbd4", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-08-15T17:01:15.875311+00:00", "updated_at": null} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-07-13T10:30:05.198958+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2026-08-15T17:01:15.968700+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-07-13T10:30:05.198958+00:00', 'updated_at': '2025-07-13T10:30:05.220850+00:00'} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/network_driver', 'value': 'flannel', 'op': 'replace'}] -GOT:Response: 400 Bad Request +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2026-08-15T17:01:15.968700+00:00', 'updated_at': '2026-08-15T17:01:16.041117+00:00'} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'replace'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_B", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-08-15T17:01:16.085025+00:00", "updated_at": null} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/labels', 'value': "{'etcd_volume_size': '1'}", 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-07-13T10:30:05.284133+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"etcd_volume_size": "1"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-08-15T17:01:16.179636+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-07-13T10:30:05.284133+00:00', 'updated_at': '2025-07-13T10:30:05.313910+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'etcd_volume_size': '1'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-08-15T17:01:16.179636+00:00', 'updated_at': '2026-08-15T17:01:16.204541+00:00'}magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_replace_labels_success ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name +magnum.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid +magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_all_three ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_created ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_cluster_allow_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_latest_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_alive_with_updated ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_check_type ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_devicemapper magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_cluster_template_with_devicemapper ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_all_three ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_create ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_old_update ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_fail magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_fail ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_down_with_update ... ok +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down +magnum.tests.unit.api.test_servicegroup.TestServiceGroup.test_service_is_up_forced_down ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http ... ok magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_hidden_cluster_template_success ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail ... ok -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success -magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init -magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https ... ok -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/docker_storage_driver', 'value': 'devicemapper', 'op': 'replace'}] -GOT:Response: 200 OK +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/network_driver', 'value': 'flannel', 'op': 'replace'}] +GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-07-13T10:30:05.345638+00:00", "updated_at": null} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters", "detail": "ClusterTemplate e74c40e0-d825-11e2-a28f-0800200c9a66 is referenced by one or multiple clusters.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2025-07-13T10:30:05.428000+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-08-15T17:01:16.299606+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2025-07-13T10:30:05.428000+00:00', 'updated_at': '2025-07-13T10:30:05.446179+00:00'} -PATCH: /v1/clustertemplates/1053980e-5318-4613-92d6-098679e2f8ab [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}] -GOT:Response: 404 Not Found +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-08-15T17:01:16.299606+00:00', 'updated_at': '2026-08-15T17:01:16.332082+00:00'} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/docker_storage_driver', 'value': 'devicemapper', 'op': 'replace'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 1053980e-5318-4613-92d6-098679e2f8ab could not be found", "detail": "ClusterTemplate 1053980e-5318-4613-92d6-098679e2f8ab could not be found.", "links": []}]} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-08-15T17:01:16.355006+00:00", "updated_at": null} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/hidden', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2025-07-13T10:30:05.512881+00:00", "updated_at": null} +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": false, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": true, "tags": "", "driver": "", "created_at": "2026-08-15T17:01:16.425105+00:00", "updated_at": null} GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2025-07-13T10:30:05.512881+00:00', 'updated_at': '2025-07-13T10:30:05.530935+00:00'} -GET: /v1/federations/detail {} -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_against_single ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_detail_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_empty ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_multiple_federation ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_name_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout ... ok -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_get_one_by_uuid_not_found ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_links ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity ... ok -GOT:{'federations': [{'uuid': '95933996-fdd7-496c-8b50-d45d570368f3', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/95933996-fdd7-496c-8b50-d45d570368f3', 'rel': 'self'}, {'href': 'http://localhost/federations/95933996-fdd7-496c-8b50-d45d570368f3', 'rel': 'bookmark'}], 'created_at': '2025-07-13T10:30:05.559342+00:00', 'updated_at': None}]} -GET: /v1/federations/af219567-9fa7-457b-86aa-62422604ae33/detail {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "The %(name)s resource %(id)s could not be found", "detail": "The %(name)s resource %(id)s could not be found.", "links": []}]} -GET: /v1/federations/detail?limit=3&marker=9300a300-4f3b-48c2-bf9e-ab7abe54d0a6 {} -GOT:{'federations': [{'uuid': '85bdeecf-0588-4507-aec7-a6c84e145b65', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/85bdeecf-0588-4507-aec7-a6c84e145b65', 'rel': 'self'}, {'href': 'http://localhost/federations/85bdeecf-0588-4507-aec7-a6c84e145b65', 'rel': 'bookmark'}], 'created_at': '2025-07-13T10:30:05.624718+00:00', 'updated_at': None}]} -GET: /v1/federations {} -GOT:{'federations': []} -GET: /v1/federations?limit=3&marker=592787d4-5cb0-4522-99ae-6a3725cf2f5a {} -GOT:{'federations': [{'uuid': '792ce25b-7f4d-4046-9e3d-5e18cf7e39bc', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/792ce25b-7f4d-4046-9e3d-5e18cf7e39bc', 'rel': 'self'}, {'href': 'http://localhost/federations/792ce25b-7f4d-4046-9e3d-5e18cf7e39bc', 'rel': 'bookmark'}]}]} -GET: /v1/federations/c1369374-bf95-43e5-b76d-8458bf80bd4e {} -GOT:{'uuid': 'c1369374-bf95-43e5-b76d-8458bf80bd4e', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/c1369374-bf95-43e5-b76d-8458bf80bd4e', 'rel': 'self'}, {'href': 'http://localhost/federations/c1369374-bf95-43e5-b76d-8458bf80bd4e', 'rel': 'bookmark'}], 'created_at': '2025-07-13T10:30:05.693235+00:00', 'updated_at': None} -GET: /v1/federations/fake-name {} -GOT:{'uuid': '412dbbb2-1f49-4978-9923-d2dd64065af2', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/412dbbb2-1f49-4978-9923-d2dd64065af2', 'rel': 'self'}, {'href': 'http://localhost/federations/412dbbb2-1f49-4978-9923-d2dd64065af2', 'rel': 'bookmark'}], 'created_at': '2025-07-13T10:30:05.713454+00:00', 'updated_at': None} -GET: /v1/federations/test_federation {} -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "Multiple federations exist with same name", "detail": "Multiple federations exist with same name. Please use the federation uuid instead.", "links": []}]} -GET: /v1/federations/not_found {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation not_found could not be found", "detail": "Federation not_found could not be found.", "links": []}]} -GET: /v1/federations/b11775e8-b494-4d12-b9d5-3cb4a976747d {} -GOT:{'uuid': 'b11775e8-b494-4d12-b9d5-3cb4a976747d', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/b11775e8-b494-4d12-b9d5-3cb4a976747d', 'rel': 'self'}, {'href': 'http://localhost/federations/b11775e8-b494-4d12-b9d5-3cb4a976747d', 'rel': 'bookmark'}], 'created_at': '2025-07-13T10:30:05.776746+00:00', 'updated_at': None} -GET: /v1/federations/2839c59d-6632-4ef7-9933-adebfe4b1861 {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Federation 2839c59d-6632-4ef7-9933-adebfe4b1861 could not be found", "detail": "Federation 2839c59d-6632-4ef7-9933-adebfe4b1861 could not be found.", "links": []}]} -GET: /v1/federations/4a4d6882-0bcc-4b3b-9619-d5f27b6102df {} -GOT:{'uuid': '4a4d6882-0bcc-4b3b-9619-d5f27b6102df', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/4a4d6882-0bcc-4b3b-9619-d5f27b6102df', 'rel': 'self'}, {'href': 'http://localhost/federations/4a4d6882-0bcc-4b3b-9619-d5f27b6102df', 'rel': 'bookmark'}], 'created_at': '2025-07-13T10:30:05.813338+00:00', 'updated_at': None} -GET: /v1/federations/4a4d6882-0bcc-4b3b-9619-d5f27b6102df {} -GOT:{'uuid': '4a4d6882-0bcc-4b3b-9619-d5f27b6102df', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/4a4d6882-0bcc-4b3b-9619-d5f27b6102df', 'rel': 'self'}, {'href': 'http://localhost/federations/4a4d6882-0bcc-4b3b-9619-d5f27b6102df', 'rel': 'bookmark'}], 'created_at': '2025-07-13T10:30:05.813338+00:00', 'updated_at': None} -GET: /federations/4a4d6882-0bcc-4b3b-9619-d5f27b6102df {} -GOT:{'uuid': '4a4d6882-0bcc-4b3b-9619-d5f27b6102df', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/4a4d6882-0bcc-4b3b-9619-d5f27b6102df', 'rel': 'self'}, {'href': 'http://localhost/federations/4a4d6882-0bcc-4b3b-9619-d5f27b6102df', 'rel': 'bookmark'}], 'created_at': '2025-07-13T10:30:05.813338+00:00', 'updated_at': None} -GET: /v1/federations {} -GOT:{'federations': [{'uuid': '964df20b-8f1a-429b-b473-4b3ccad972a8', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/964df20b-8f1a-429b-b473-4b3ccad972a8', 'rel': 'self'}, {'href': 'http://localhost/federations/964df20b-8f1a-429b-b473-4b3ccad972a8', 'rel': 'bookmark'}]}, {'uuid': 'd47d1fcd-495c-41d1-9b9a-1b17e4b17d80', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/d47d1fcd-495c-41d1-9b9a-1b17e4b17d80', 'rel': 'self'}, {'href': 'http://localhost/federations/d47d1fcd-495c-41d1-9b9a-1b17e4b17d80', 'rel': 'bookmark'}]}, {'uuid': 'fdf291d3-3197-4e90-8262-5e4e44a2c91b', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/fdf291d3-3197-4e90-8262-5e4e44a2c91b', 'rel': 'self'}, {'href': 'http://localhost/federations/fdf291d3-3197-4e90-8262-5e4e44a2c91b', 'rel': 'bookmark'}]}, {'uuid': 'e399e72d-f49b-4edd-b443-efb7f541207a', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/e399e72d-f49b-4edd-b443-efb7f541207a', 'rel': 'self'}, {'href': 'http://localhost/federations/e399e72d-f49b-4edd-b443-efb7f541207a', 'rel': 'bookmark'}]}, {'uuid': '202f9334-085d-4682-9f1a-0d93bd38828c', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/202f9334-085d-4682-9f1a-0d93bd38828c', 'rel': 'self'}, {'href': 'http://localhost/federations/202f9334-085d-4682-9f1a-0d93bd38828c', 'rel': 'bookmark'}]}]}magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_many ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one -magnum.tests.unit.api.controllers.v1.test_federation.TestListFederation.test_one ... ok -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base -magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods -magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup ... ok +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': True, 'tags': '', 'driver': '', 'created_at': '2026-08-15T17:01:16.425105+00:00', 'updated_at': '2026-08-15T17:01:16.445052+00:00'} +PATCH: /v1/clustertemplates/6c2419ce-6035-4faa-8004-39dbcfea6d65 [{'path': '/name', 'value': 'cluster_model_example_B', 'op': 'add'}]magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_not_found ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_fail ... ok +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key +magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_intermediate +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_intermediate ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_pkp +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_pkp ... ok +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success +magnum.tests.unit.api.controllers.v1.test_cluster_template.TestPatch.test_update_public_cluster_template_success ... ok +magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init +magnum.tests.unit.api.controllers.v1.test_federation.TestFederationObject.test_federation_init ... ok magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_cluster_already_member ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null ... ok magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_join_non_existent_cluster ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null -magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods -magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client ... ok magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_join ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled -magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled -magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url ... ok magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_member_unjoin ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null -magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null ... ok -magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity -magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... ok magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_existent_cluster ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster -magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_generate_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_hostcluster_does_not_exist ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_dns_zone_name ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert ... ok -GET: /v1/federations {} -GOT:{'federations': [{'uuid': 'b569537c-f5eb-4180-b59b-8058fdaecc2e', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/b569537c-f5eb-4180-b59b-8058fdaecc2e', 'rel': 'self'}, {'href': 'http://localhost/federations/b569537c-f5eb-4180-b59b-8058fdaecc2e', 'rel': 'bookmark'}]}]} -PATCH: /v1/federations/5c15afe8-f31f-41cc-bef0-7c8bcbbb484f [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 409 Conflict -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example", "detail": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example.", "links": []}]} -PATCH: /v1/federations/469e0c34-8795-41dd-aa78-f2af22e893b6 [{'path': '/member_ids', 'value': '89b8f651-84d9-4ed5-8e28-051d06739e44', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 89b8f651-84d9-4ed5-8e28-051d06739e44 could not be found", "detail": "Cluster 89b8f651-84d9-4ed5-8e28-051d06739e44 could not be found.", "links": []}]} -PATCH: /v1/federations/9ae7c2b9-cb4c-4081-93d3-177757a40cae [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "9ae7c2b9-cb4c-4081-93d3-177757a40cae"} -GET: /v1/federations/9ae7c2b9-cb4c-4081-93d3-177757a40cae {} -GOT:{'uuid': '9ae7c2b9-cb4c-4081-93d3-177757a40cae', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': ['5d12f6fd-a196-4bf0-ae4c-1f639a523a52'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/9ae7c2b9-cb4c-4081-93d3-177757a40cae', 'rel': 'self'}, {'href': 'http://localhost/federations/9ae7c2b9-cb4c-4081-93d3-177757a40cae', 'rel': 'bookmark'}], 'created_at': '2025-07-13T10:30:05.977160+00:00', 'updated_at': '2025-07-13T10:30:06.000789+00:00'} -PATCH: /v1/federations/1ecb2ff3-add9-4f2b-aa73-bab12f9355b5 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] -GOT:Response: 202 Accepted +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "ClusterTemplate 6c2419ce-6035-4faa-8004-39dbcfea6d65 could not be found", "detail": "ClusterTemplate 6c2419ce-6035-4faa-8004-39dbcfea6d65 could not be found.", "links": []}]} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/public', 'value': True, 'op': 'replace'}] +GOT:Response: 200 OK Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "1ecb2ff3-add9-4f2b-aa73-bab12f9355b5"} -GET: /v1/federations/1ecb2ff3-add9-4f2b-aa73-bab12f9355b5 {} -GOT:{'uuid': '1ecb2ff3-add9-4f2b-aa73-bab12f9355b5', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': [], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/1ecb2ff3-add9-4f2b-aa73-bab12f9355b5', 'rel': 'self'}, {'href': 'http://localhost/federations/1ecb2ff3-add9-4f2b-aa73-bab12f9355b5', 'rel': 'bookmark'}], 'created_at': '2025-07-13T10:30:06.026917+00:00', 'updated_at': '2025-07-13T10:30:06.042553+00:00'} -PATCH: /v1/federations/69601671-13fe-4cd7-a99f-02d0066a73f8 [{'path': '/member_ids', 'value': '934bbf56-eb93-4b97-952c-68f790a34639', 'op': 'remove'}] -GOT:Response: 404 Not Found +{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "name": "cluster_model_example_A", "coe": "kubernetes", "image_id": "nerdherd", "flavor_id": "m1.magnum", "master_flavor_id": "m1.magnum", "dns_nameserver": "8.8.1.1", "keypair_id": "test", "external_network_id": "public", "fixed_network": "private", "fixed_subnet": "private", "network_driver": null, "apiserver_port": 8080, "docker_volume_size": 20, "cluster_distro": "fedora-coreos", "links": [{"href": "http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "http_proxy": "fake_http_proxy", "https_proxy": "fake_https_proxy", "no_proxy": "fake_no_proxy", "volume_driver": "cinder", "registry_enabled": false, "labels": {"key1": "val1", "key2": "val2"}, "tls_disabled": false, "public": true, "server_type": "vm", "insecure_registry": "10.0.0.1:5000", "docker_storage_driver": "devicemapper", "master_lb_enabled": true, "floating_ip_enabled": true, "project_id": "fake_project", "user_id": "fake_user", "hidden": false, "tags": "", "driver": "", "created_at": "2026-08-15T17:01:16.536653+00:00", "updated_at": null} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'cluster_model_example_A', 'coe': 'kubernetes', 'image_id': 'nerdherd', 'flavor_id': 'm1.magnum', 'master_flavor_id': 'm1.magnum', 'dns_nameserver': '8.8.1.1', 'keypair_id': 'test', 'external_network_id': 'public', 'fixed_network': 'private', 'fixed_subnet': 'private', 'network_driver': None, 'apiserver_port': 8080, 'docker_volume_size': 20, 'cluster_distro': 'fedora-coreos', 'links': [{'href': 'http://localhost/v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'volume_driver': 'cinder', 'registry_enabled': False, 'labels': {'key1': 'val1', 'key2': 'val2'}, 'tls_disabled': False, 'public': True, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'docker_storage_driver': 'devicemapper', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'project_id': 'fake_project', 'user_id': 'fake_user', 'hidden': False, 'tags': '', 'driver': '', 'created_at': '2026-08-15T17:01:16.536653+00:00', 'updated_at': '2026-08-15T17:01:16.556686+00:00'} +PATCH: /v1/federations/d2ea7842-c8cb-40fd-bf5f-d415cdfbd430 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +GOT:Response: 409 Conflict Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 934bbf56-eb93-4b97-952c-68f790a34639 could not be found", "detail": "Cluster 934bbf56-eb93-4b97-952c-68f790a34639 could not be found.", "links": []}]} -PATCH: /v1/federations/87f02e27-bf54-4d45-b6ef-2f69926d5756 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +{"errors": [{"request_id": "", "code": "client", "status": 409, "title": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example", "detail": "A cluster with UUID 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is already a member of the federation federation-example.", "links": []}]} +PATCH: /v1/federations/9473050f-8cd9-4a46-9128-002456879c0d [{'path': '/member_ids', 'value': 'f3f178b6-d3f1-41d4-9b4e-6bb52a91fb67', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example.", "links": []}]} -POST: /v1/federations {'uuid': '995b510e-70c2-4436-84b9-ba12db4d863c', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster f3f178b6-d3f1-41d4-9b4e-6bb52a91fb67 could not be found", "detail": "Cluster f3f178b6-d3f1-41d4-9b4e-6bb52a91fb67 could not be found.", "links": []}]} +PATCH: /v1/federations/8201ed3f-4f8d-4cfc-8cb7-742880aa8371 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "ca9f4e8f-0dd2-46a3-9918-f4ee28fe28cc"} -POST: /v1/federations {'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +{"uuid": "8201ed3f-4f8d-4cfc-8cb7-742880aa8371"} +GET: /v1/federations/8201ed3f-4f8d-4cfc-8cb7-742880aa8371 {} +GOT:{'uuid': '8201ed3f-4f8d-4cfc-8cb7-742880aa8371', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': ['5d12f6fd-a196-4bf0-ae4c-1f639a523a52'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/8201ed3f-4f8d-4cfc-8cb7-742880aa8371', 'rel': 'self'}, {'href': 'http://localhost/federations/8201ed3f-4f8d-4cfc-8cb7-742880aa8371', 'rel': 'bookmark'}], 'created_at': '2026-08-15T17:01:16.644822+00:00', 'updated_at': '2026-08-15T17:01:16.665190+00:00'} +PATCH: /v1/federations/9c7e01ff-a8d7-44a4-b0f0-79f04ab04608 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"uuid": "91d8e740-7d40-4ba4-9d5e-0adedc55e645"} -POST: /v1/federations {'uuid': '54f99fa2-489e-4c2f-883b-cd50747c05b5', 'name': 'fake-name', 'hostcluster_id': '85c23027-2195-4dc8-9bcf-312450211281', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} +{"uuid": "9c7e01ff-a8d7-44a4-b0f0-79f04ab04608"} +GET: /v1/federations/9c7e01ff-a8d7-44a4-b0f0-79f04ab04608 {} +GOT:{'uuid': '9c7e01ff-a8d7-44a4-b0f0-79f04ab04608', 'name': 'federation-example', 'hostcluster_id': 'fake_master', 'member_ids': [], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/9c7e01ff-a8d7-44a4-b0f0-79f04ab04608', 'rel': 'self'}, {'href': 'http://localhost/federations/9c7e01ff-a8d7-44a4-b0f0-79f04ab04608', 'rel': 'bookmark'}], 'created_at': '2026-08-15T17:01:16.691524+00:00', 'updated_at': '2026-08-15T17:01:16.704888+00:00'} +PATCH: /v1/federations/d4eb7002-ca32-4002-991a-3d581a206631 [{'path': '/member_ids', 'value': 'c0bf9340-a7ea-413e-887d-782411ac80fe', 'op': 'remove'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 85c23027-2195-4dc8-9bcf-312450211281 could not be found", "detail": "Cluster 85c23027-2195-4dc8-9bcf-312450211281 could not be found.", "links": []}]} -POST: /v1/federations {'uuid': '2e8b8215-47d6-4457-849a-559cc250abc0', 'name': 'fake-name', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Please specify a `properties` dict for the federation", "detail": "Please specify a `properties` dict for the federation.", "links": []}]} -POST: /v1/federations {'uuid': 'e3ed190a-e1e4-419a-8e44-6be494843b10', 'name': 'fake-name', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster c0bf9340-a7ea-413e-887d-782411ac80fe could not be found", "detail": "Cluster c0bf9340-a7ea-413e-887d-782411ac80fe could not be found.", "links": []}]} +PATCH: /v1/federations/b064f4bd-3ebb-43ab-83c4-efd606dd9599 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'remove'}] +GOT:Response: 404 Not Found Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "No hostcluster specified", "detail": "No hostcluster specified. Please specify a hostcluster_id.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_no_hostcluster_id ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_with_invalid_name ... ok -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name -magnum.tests.unit.api.controllers.v1.test_federation.TestPost.test_create_federation_without_name ... ok +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example", "detail": "Cluster 5d12f6fd-a196-4bf0-ae4c-1f639a523a52 is not a member of the federation federation-example.", "links": []}]}magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster +magnum.tests.unit.api.controllers.v1.test_federation.TestPatch.test_unjoin_non_member_cluster ... ok magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering magnum.tests.unit.api.controllers.v1.test_magnum_service.TestMagnumServiceObject.test_msvc_obj_fields_filtering ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all ... ok - -POST: /v1/federations {'uuid': '4b72d6de-0629-45d5-851c-b1c5f7330f7f', 'name': 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'. Value should have a maximum character requirement of 242", "links": []}]} -POST: /v1/federations {'uuid': '58b6ebbc-55d9-4103-80d0-6c6ae207cde9', 'name': '123456', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': 'f1dc5543-fa6f-45c0-8642-a90f07d1b485', 'name': '123456test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '123456test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': 'aba77c98-eed6-443f-9582-9ee9883041fb', 'name': '-test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '-test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': '4873b334-4f1d-4d51-a72d-6a2ba1574555', 'name': '.test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '.test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': '4d37246a-6e4b-4236-b338-426d1336b6e6', 'name': '_test_federation', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: '_test_federation'. Value should match the pattern ^[a-zA-Z][a-zA-Z0-9_.-]*$", "links": []}]} -POST: /v1/federations {'uuid': '3a820e01-8956-4950-a69d-ac06113ef7d7', 'name': '', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 400 Bad Request -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Invalid input for field/attribute name", "detail": "Invalid input for field/attribute name. Value: ''. Value should have a minimum character requirement of 1", "links": []}]} -POST: /v1/federations {'uuid': 'ace23da7-436a-45b6-8434-af1fc373a749', 'hostcluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'member_ids': ['fake_member1', 'fake_member2'], 'properties': {'dns-zone': 'example.com.'}, 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully.'} -GOT:Response: 202 Accepted -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.1 -Vary: OpenStack-API-Version -{"uuid": "f8e0ef27-6cad-468e-8eb2-46efb42e430d"} -GET: /v1/clusters/c2e01605-6515-4de5-bafe-3def7d8ededf/nodegroups {} -GOT:{'nodegroups': [{'uuid': 'acdd417c-3382-4983-ae13-60ad29e29d04', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'cbc270cc-467c-4b61-9195-924c0248f5ab', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/e7c83d68-c845-44e4-be0c-acc244abbb15/nodegroups {} -GOT:{'nodegroups': [{'uuid': 'e808b486-89ab-4c19-b360-d31bfeb62599', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'c0938630-3691-4052-8410-a5e1e4fa92bf', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_non_default_ngs -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_name_non_default_ngs ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_non_existent_role -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_non_existent_role ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_by_role ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_non_existent_cluster ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_with_pagination_marker ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_all_wrong_microversion ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_as_admin ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default ... ok - -GET: /v1/clusters/cluster1/nodegroups {} -GOT:{'nodegroups': [{'uuid': 'c5376a9c-0418-4836-8c9c-952a64293751', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'b0888ddb-8b65-48d9-b0aa-5a1d1733c85f', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/cluster1/nodegroups {} -GOT:{'nodegroups': [{'uuid': '0bb4ac4f-8f48-431a-bca4-8c974ad9f7af', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': 'ace7efb5-9a51-49c8-91d9-6e2110557e15', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}, {'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/cluster1/nodegroups?role=non-existent {} -GOT:{'nodegroups': []} -GET: /v1/clusters/cluster1/nodegroups?role=master {} -GOT:{'nodegroups': [{'uuid': 'd98cfcb8-3b37-4f48-9097-dd27d7765f9f', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/cluster1/nodegroups?role=worker {} -GOT:{'nodegroups': [{'uuid': '1c0be1d2-d268-4d5c-9d10-bdd67c83f447', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}]} -GET: /v1/clusters/not-here/nodegroups {} -GOT:Response: 404 Not Found -Content-Type: application/json -Openstack-Api-Maximum-Version: container-infra 1.11 -Openstack-Api-Minimum-Version: container-infra 1.1 -Openstack-Api-Version: container-infra 1.11 -Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Cluster not-here could not be found", "detail": "Cluster not-here could not be found.", "links": []}]} -GET: /v1/clusters/fb1ab087-22c4-4294-a9b1-353f8c65bf44/nodegroups?limit=1 {} -GOT:{'nodegroups': [{'uuid': '2a8abe6f-83a7-473d-8994-4cf4a5f02a0c', 'name': 'test-worker', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'worker', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/fb1ab087-22c4-4294-a9b1-353f8c65bf44/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=2a8abe6f-83a7-473d-8994-4cf4a5f02a0c'} -GET: /v1/clusters/fb1ab087-22c4-4294-a9b1-353f8c65bf44/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=2a8abe6f-83a7-473d-8994-4cf4a5f02a0c {} -GOT:{'nodegroups': [{'uuid': '27c37243-970e-44f8-a24d-dad94f56437f', 'name': 'test-master', 'flavor_id': None, 'image_id': 'test_image', 'node_count': 3, 'role': 'master', 'min_node_count': 0, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'merge_labels': False}], 'next': 'http://localhost/v1/clusters/fb1ab087-22c4-4294-a9b1-353f8c65bf44/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=27c37243-970e-44f8-a24d-dad94f56437f'} -GET: /v1/clusters/fb1ab087-22c4-4294-a9b1-353f8c65bf44/nodegroups?sort_key=id&sort_dir=asc&limit=1&marker=27c37243-970e-44f8-a24d-dad94f56437f {} -GOT:{'nodegroups': []} -GET: /v1/clusters/5ebbdeda-1803-42fa-87a9-e4ae23dc5d3d/nodegroups/ {} -GOT:Response: 406 Not Acceptable -Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -GET: /v1/clusters/2fe4581c-2cf1-42d2-805d-9ef35a22e13f/nodegroups/de8323aa-2ba3-474f-86a0-16796a48952a {} -GOT:{'id': 1, 'uuid': 'de8323aa-2ba3-474f-86a0-16796a48952a', 'name': 'test-worker', 'cluster_id': '2fe4581c-2cf1-42d2-805d-9ef35a22e13f', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/2fe4581c-2cf1-42d2-805d-9ef35a22e13f/nodegroups/de8323aa-2ba3-474f-86a0-16796a48952a', 'rel': 'self'}, {'href': 'http://localhost/clusters/2fe4581c-2cf1-42d2-805d-9ef35a22e13f/nodegroups/de8323aa-2ba3-474f-86a0-16796a48952a', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-07-13T10:30:06.959790+00:00', 'updated_at': None} -GET: /v1/clusters/c7aa4d17-ba37-42b3-8fff-c836a9cbcb0c/nodegroups/525ec5ff-cb08-429f-a3e9-bef80b4b31d4 {} -GOT:{'id': 3, 'uuid': '525ec5ff-cb08-429f-a3e9-bef80b4b31d4', 'name': 'test-worker', 'cluster_id': 'c7aa4d17-ba37-42b3-8fff-c836a9cbcb0c', 'project_id': 'c7aa4d17-ba37-42b3-8fff-c836a9cbcb0c', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/c7aa4d17-ba37-42b3-8fff-c836a9cbcb0c/nodegroups/525ec5ff-cb08-429f-a3e9-bef80b4b31d4', 'rel': 'self'}, {'href': 'http://localhost/clusters/c7aa4d17-ba37-42b3-8fff-c836a9cbcb0c/nodegroups/525ec5ff-cb08-429f-a3e9-bef80b4b31d4', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': 'test_image', 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-07-13T10:30:07.008461+00:00', 'updated_at': None} -GET: /v1/clusters/28860ddb-a147-44bb-8e60-be2263001990/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': '28860ddb-a147-44bb-8e60-be2263001990', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label2': 'value2', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/28860ddb-a147-44bb-8e60-be2263001990/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/28860ddb-a147-44bb-8e60-be2263001990/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {}, 'created_at': '2025-07-13T10:30:07.053904+00:00', 'updated_at': None} -GET: /v1/clusters/b94c25d5-3f9c-48e5-a1dd-bff2013858eb/nodegroups/non_default_ng {} -GOT:{'id': 3, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'non_default_ng', 'cluster_id': 'b94c25d5-3f9c-48e5-a1dd-bff2013858eb', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {'label1': 'value3', 'label4': 'value4'}, 'links': [{'href': 'http://localhost/v1/clusters/b94c25d5-3f9c-48e5-a1dd-bff2013858eb/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/b94c25d5-3f9c-48e5-a1dd-bff2013858eb/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 3, 'role': 'worker', 'min_node_count': 1, 'max_node_count': None, 'is_default': True, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {'label1': 'value1'}, 'labels_added': {'label4': 'value4'}, 'labels_skipped': {'label2': 'value2'}, 'created_at': '2025-07-13T10:30:07.094227+00:00', 'updated_at': None}magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_default_skipped_labels ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_non_existent_ng ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure ... ok -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion -magnum.tests.unit.api.controllers.v1.test_nodegroup.TestListNodegroups.test_get_one_wrong_microversion ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_cert_fail +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_cert_fail ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_all ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_intermediates_fail +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_intermediates_fail ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate ... ok +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one +magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodeGroupPolicyEnforcement.test_policy_disallow_get_one ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init magnum.tests.unit.api.controllers.v1.test_nodegroup.TestNodegroupObject.test_nodegroup_init ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error +magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_internal_attr ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac ... ok -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format ... ok -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok +magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_magnum_service_policy.TestMagnumServicePolicy.test_get_all_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_min_node_count ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_create_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_non_existent_property ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_remove_ok ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_delete_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_max_node_count_failed ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_all_no_permission ... ok -GET: /v1/clusters/baf872bd-76ba-4f9f-b72b-3e726016aeeb/nodegroups/not-here {} -GOT:Response: 404 Not Found +GET: /v1/clusters/bb459096-5d74-4fa4-865d-f14267072df9/nodegroups {} +GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Nodegroup not-here could not be found", "detail": "Nodegroup not-here could not be found.", "links": []}]} -GET: /v1/clusters/5194f65b-fa67-4e61-a0e4-f7d82aa6d767/nodegroups/95896fe4-a945-4b60-90ff-68fabb970802 {} -GOT:Response: 406 Not Acceptable +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get_all to be performed", "detail": "Policy doesn't allow nodegroup:get_all to be performed.", "links": []}]} +GET: /v1/clusters/435c599d-df8a-415d-aa07-8f0d58d02eb9/nodegroups/b54a3f3f-b629-4f3a-84b1-815394db10de {} +GOT:Response: 403 Forbidden Content-Type: application/json -{"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.11 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Policy doesn't allow nodegroup:get to be performed", "detail": "Policy doesn't allow nodegroup:get to be performed.", "links": []}]} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7802,9 +7473,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-07-13T10:30:07.260919+00:00", "updated_at": null} +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 0, "max_node_count": 5, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-08-15T17:01:16.939447+00:00", "updated_at": null} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 0, 'max_node_count': 5, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-07-13T10:30:07.260919+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 0, 'max_node_count': 5, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-08-15T17:01:16.939447+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/not_there', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json @@ -7820,9 +7491,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-07-13T10:30:07.346927+00:00", "updated_at": null} +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": null, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-08-15T17:01:17.034283+00:00", "updated_at": null} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': None, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-07-13T10:30:07.346927+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': None, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-08-15T17:01:17.034283+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 1, 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json @@ -7842,110 +7513,279 @@ magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_min_node_count_failed ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_node_count_failed ... ok +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_get_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_ok_by_name ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_replace_wrong_microversion ... ok + +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 0} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 0, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-08-15T17:01:15.100681+00:00", "updated_at": null} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-08-15T17:01:15.126451+00:00", "updated_at": null} +DELETE: /v1/quotas/fake_project/Cluster +GOT:Response: 204 No Content +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version + +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': []} +GET: /v1/quotas?all_tenants=True {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.172757+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.174257+00:00', 'updated_at': None}, {'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.175502+00:00', 'updated_at': None}, {'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.176599+00:00', 'updated_at': None}]} +GET: /v1/quotas?all_tenants=False {} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.198926+00:00', 'updated_at': None}]} +GET: /v1/quotas?limit=3&marker=3&all_tenants=True {} +GOT:{'quotas': [{'id': 4, 'hard_limit': 10, 'project_id': 'proj-id-3', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.224268+00:00', 'updated_at': None}]} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.256679+00:00', 'updated_at': None}]} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 3, 'hard_limit': 10, 'project_id': 'proj-id-2', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.282236+00:00', 'updated_at': None}]} +GET: /v1/quotas?all_tenants=True {} +GOT:{'quotas': []} +GET: /v1/quotas?limit=2&all_tenants=True {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'proj-id-0', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.361782+00:00', 'updated_at': None}, {'id': 2, 'hard_limit': 10, 'project_id': 'proj-id-1', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.363304+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/quotas?sort_key=id&sort_dir=asc&limit=2&marker=2'} +GET: /v1/quotas/fake_project/Cluster {} +GOT:{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.408789+00:00', 'updated_at': None} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 20, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas/invalid_proj/invalid_res {} +GOT:Response: 403 Forbidden +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 403, "title": "Not authorized", "detail": "Not authorized.", "links": []}]} +GET: /v1/quotas/fake_project/Cluster {} +GOT:Response: 200 OK +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"hard_limit": 15, "project_id": "fake_project", "resource": "Cluster"} +GET: /v1/quotas {} +GOT:{'quotas': [{'id': 1, 'hard_limit': 10, 'project_id': 'fake_project', 'resource': 'Cluster', 'created_at': '2026-08-15T17:01:15.578130+00:00', 'updated_at': None}]} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 5} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-08-15T17:01:15.630142+00:00", "updated_at": null} +PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} +GOT:Response: 202 Accepted +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 20, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-08-15T17:01:15.630142+00:00", "updated_at": "2026-08-15T17:01:15.654124+00:00"} +POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} +GOT:Response: 201 Created +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-08-15T17:01:15.689340+00:00", "updated_at": null} +PATCH: /v1/quotas {'project_id': 'not-found', 'hard_limit': 20, 'resource': 'Cluster'} +GOT:Response: 404 Not Found +Content-Type: application/json +Openstack-Api-Maximum-Version: container-infra 1.11 +Openstack-Api-Minimum-Version: container-infra 1.1 +Openstack-Api-Version: container-infra 1.1 +Vary: OpenStack-API-Version +{"errors": [{"request_id": "", "code": "client", "status": 404, "title": "Quota could not be found: project_id not-found resource Cluster", "detail": "Quota could not be found: project_id not-found resource Cluster.", "links": []}]} +GET: /v1/stats {} +GOT:{'clusters': 2, 'nodes': 12} +GET: /v1/stats?project_id=34 {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats?project_id=234 {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats?project_id=123&type=invalid {} +GET: /v1/stats {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats {} +GOT:{'clusters': 1, 'nodes': 6} +GET: /v1/stats?project_id=123 {} +GET: /v1/mservices {} +POST: /v1/clusters/c8df23a9-4c8c-46ba-bad8-b8b2180b96eb/nodegroups/ {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} +DELETE: /v1/clusters/02607d60-7ceb-4711-bdb2-02ff7b90ba50/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 +GET: /v1/clusters/160944bd-2380-494a-b779-5879280de7e1/nodegroups/ {} +GET: /v1/clusters/1aa7468a-d279-42f0-b8b5-dc3bd8b62c8b/nodegroups/foo {} +PATCH: /v1/clusters/75e20ad8-a56d-46a5-a49f-6b803c803129/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}]magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_nodegroup_policy.TestNodeGroupPolicy.test_update_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin magnum.tests.unit.api.controllers.v1.test_nodegroup.TestPatch.test_update_nodegroup_as_admin ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_all_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_invalid_tenant_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_admin_get_tenant_stats ... ok -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_empty ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_invalid_type_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_self_stats_without_param ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid1'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'uuid2'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats -magnum.tests.unit.api.controllers.v1.test_stats.TestStatsController.test_get_some_other_user_stats ... ok +magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init +magnum.tests.unit.api.controllers.v1.test_quota.TestQuotaObject.test_quota_init ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_frombasetype_no_value ... ok magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value ... ok magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values ... ok +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission ... ok magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values magnum.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_admin ... ok magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_invalid_single_dns ... ok magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_multi_dns ... ok magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns magnum.tests.unit.api.controllers.v1.test_types.TestDNSListType.test_valid_single_dns ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_no_permission ... ok +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader +magnum.tests.unit.common.policies.test_stats_policy.TestStatsPolicy.test_stat_reader ... ok +magnum.tests.unit.common.test_exception.TestException.test_all_exceptions +magnum.tests.unit.common.test_exception.TestException.test_all_exceptions ... ok +magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated +magnum.tests.unit.common.test_exception.TestException.test_custom_message_is_templated ... ok +magnum.tests.unit.common.test_exception.TestException.test_message_is_templated +magnum.tests.unit.common.test_exception.TestException.test_message_is_templated ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_internal_attr ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_access_info ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_no_credentials +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_no_credentials ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_internal_attr ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password_legacy +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_password_legacy ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_token +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_client_with_token ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_all_roles +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_all_roles ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_limit_roles +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trust_with_limit_roles ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trustee +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_create_trustee ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust_not_found +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_delete_trust_not_found ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_is_None +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_is_None ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_update_mandatory_attr ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches +magnum.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_not_found +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_get_validate_region_name_not_found ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype ... ok +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_trustee_domain_id +magnum.tests.unit.common.test_keystone.KeystoneClientTest.test_trustee_domain_id ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_frombasetype_no_value ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_already_deleted ... ok magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr magnum.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid ... ok -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid -magnum.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_invalid_values ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_no_candidate ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_multitype_tostring ... ok +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values +magnum.tests.unit.api.controllers.v1.test_types.TestMultiType.test_valid_values ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_already_exist ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_add_attr_not_exist ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_name ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_by_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_multi_exist ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_openstack_resource_non_exist ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_name ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_resource_with_uuid ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit ... ok +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir +magnum.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir ... ok magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config magnum.tests.unit.api.test_app.TestAppConfig.test_get_pecan_config ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_external_network_with_invalid_network @@ -8006,64 +7846,18 @@ magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_with_valid_fixed_subnet ... ok magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_without_validator magnum.tests.unit.api.test_attr_validator.TestAttrValidator.test_validate_os_resources_without_validator ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_http_config_workers ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_cert ... ok -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key -magnum.tests.unit.cmd.test_api.TestMagnumAPI.test_api_https_no_key ... ok -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... ok -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers -magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key -magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_with_fail ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_intermediate -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_intermediate ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_pkp -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_delete_cert_without_pkp ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_cert_fail -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_cert_fail ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_intermediates_fail -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_intermediates_fail ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_pkp_fail ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_with_loading_private_key_fail ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_intermediate ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_get_cert_without_pkp ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert ... ok -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error -magnum.tests.unit.common.cert_manager.test_local.TestLocalManager.test_store_cert_with_io_error ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert ... ok -/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details - warnings.warn("%s is an invalid UUID. Using UUIDFields " -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert ... ok -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert -magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission ... ok +magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types +magnum.tests.unit.api.test_expose.TestExpose.test_expose_with_rest_content_types ... ok +magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types +magnum.tests.unit.api.test_expose.TestExpose.test_expose_without_rest_content_types ... ok +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method ... ok +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info +magnum.tests.unit.api.test_hooks.TestContextHook.test_context_hook_before_method_auth_info ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success ... ok PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/node_count', 'value': 3, 'op': 'replace'}] GOT:Response: 400 Bad Request @@ -8080,9 +7874,9 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-07-13T10:30:07.517002+00:00", "updated_at": null} +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-08-15T17:01:17.215901+00:00", "updated_at": null} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-07-13T10:30:07.517002+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-08-15T17:01:17.215901+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json @@ -8090,128 +7884,294 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-07-13T10:30:07.566149+00:00", "updated_at": null} +{"id": 12, "uuid": "483203a3-dbee-4a9c-9d65-9820512f4df8", "name": "nodegroup1", "cluster_id": "5d12f6fd-a196-4bf0-ae4c-1f639a523a52", "project_id": "fake_project", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "self"}, {"href": "http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 2, "role": "worker", "min_node_count": 2, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-08-15T17:01:17.267932+00:00", "updated_at": null} GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 {} -GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2025-07-13T10:30:07.566149+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} +GOT:{'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'cluster_id': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'project_id': 'fake_project', 'docker_volume_size': None, 'labels': {}, 'links': [{'href': 'http://localhost/v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'self'}, {'href': 'http://localhost/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8', 'rel': 'bookmark'}], 'flavor_id': None, 'image_id': None, 'node_addresses': ['172.17.2.4'], 'node_count': 2, 'role': 'worker', 'min_node_count': 2, 'max_node_count': 4, 'is_default': False, 'stack_id': '047c6319-7abd-fake-a033-8c6af0173cd0', 'status': 'CREATE_COMPLETE', 'status_reason': 'Completed successfully', 'version': '1', 'merge_labels': False, 'labels_overridden': {}, 'labels_added': {}, 'labels_skipped': {}, 'created_at': '2026-08-15T17:01:17.267932+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52/nodegroups/nodegroup1 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json {"errors": [{"request_id": "", "code": "", "status": 406, "title": "", "detail": "", "links": []}]} -PATCH: /v1/clusters/2a62745a-86f9-448d-938a-4bb39a4d508e/nodegroups/6909f064-2808-49cf-be2c-b79403068283 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] +PATCH: /v1/clusters/8a2a35cd-6652-4a7f-9273-2037d9c254f8/nodegroups/60b35ef0-600e-41bd-8435-59520e264573 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] GOT:Response: 202 Accepted Content-Type: application/json Openstack-Api-Maximum-Version: container-infra 1.11 Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.11 Vary: OpenStack-API-Version -{"id": 50, "uuid": "6909f064-2808-49cf-be2c-b79403068283", "name": "nodegroup1", "cluster_id": "2a62745a-86f9-448d-938a-4bb39a4d508e", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/2a62745a-86f9-448d-938a-4bb39a4d508e/nodegroups/6909f064-2808-49cf-be2c-b79403068283", "rel": "self"}, {"href": "http://localhost/clusters/2a62745a-86f9-448d-938a-4bb39a4d508e/nodegroups/6909f064-2808-49cf-be2c-b79403068283", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2025-07-13T10:30:07.660223+00:00", "updated_at": null} -GET: /v1/stats {} -GOT:{'clusters': 2, 'nodes': 12} -GET: /v1/stats?project_id=34 {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats?project_id=234 {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats?project_id=123&type=invalid {} -GET: /v1/stats {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats {} -GOT:{'clusters': 1, 'nodes': 6} -GET: /v1/stats?project_id=123 {} -POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} -DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 -GET: /v1/clusters {} +{"id": 50, "uuid": "60b35ef0-600e-41bd-8435-59520e264573", "name": "nodegroup1", "cluster_id": "8a2a35cd-6652-4a7f-9273-2037d9c254f8", "project_id": "fake", "docker_volume_size": null, "labels": {}, "links": [{"href": "http://localhost/v1/clusters/8a2a35cd-6652-4a7f-9273-2037d9c254f8/nodegroups/60b35ef0-600e-41bd-8435-59520e264573", "rel": "self"}, {"href": "http://localhost/clusters/8a2a35cd-6652-4a7f-9273-2037d9c254f8/nodegroups/60b35ef0-600e-41bd-8435-59520e264573", "rel": "bookmark"}], "flavor_id": null, "image_id": null, "node_addresses": ["172.17.2.4"], "node_count": 3, "role": "worker", "min_node_count": 1, "max_node_count": 4, "is_default": false, "stack_id": "047c6319-7abd-fake-a033-8c6af0173cd0", "status": "CREATE_COMPLETE", "status_reason": "Completed successfully", "version": "1", "merge_labels": false, "labels_overridden": {}, "labels_added": {}, "labels_skipped": {}, "created_at": "2026-08-15T17:01:17.366472+00:00", "updated_at": null} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} +GET: / {} +GOT:Response: 500 Internal Server Error +Content-Type: application/json +{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Remote error: TestException Test exception message", "detail": "Remote error: TestException Test exception message.\n['", "links": []}]} +GET: / {} +GOT:Response: 400 Bad Request +Content-Type: application/json +{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Test exception message", "detail": "Test exception message.\nTraceback (most recent call last):\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/amqp.py\", line 434, in _process_data\\n **args)\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/dispatcher.py\", line 172, in dispatch\\n result = getattr(proxyobj, method)(context, **kwargs)", "links": []}]}magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_clientfault ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_server_debug_on_serverfault ... ok +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback +magnum.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_not_supported ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_cluster_type_supported ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_all_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_config_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_default_invalid_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_invalid_coe_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_not_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_one_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_network_driver_types_two_allowed_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_invalid ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_bm ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_server_type_valid_vm ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_invalid_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_add_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_not_supported_replace_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_remove_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_add_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_supported_replace_update ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create +magnum.tests.unit.api.test_validation.TestValidation.test_enforce_volume_driver_types_valid_create ... ok +magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties +magnum.tests.unit.api.test_validation.TestValidation.test_validate_cluster_properties ... ok +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor ... ok +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers +magnum.tests.unit.cmd.test_conductor.TestMagnumConductor.test_conductor_config_workers ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_revision ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_stamp ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_upgrade ... ok +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version +magnum.tests.unit.cmd.test_db_manage.TestMagnumDbManage.test_db_manage_version ... ok +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_with_details_and_path ... ok +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_without_details_and_path +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_correct_arg_without_details_and_path ... ok +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg +magnum.tests.unit.cmd.test_driver_manage.TestMagnumDriverManage.test_none_arg ... ok +magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks +magnum.tests.unit.cmd.test_status.TestUpgradeChecks.test_checks ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanCert.test_barbican_cert_none_values ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_delete_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_get_cert_no_registration ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert ... ok +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure +magnum.tests.unit.common.cert_manager.test_barbican.TestBarbicanManager.test_store_cert_failure ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCert.test_get_decrypted_private_key ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_barbican_cert_manager ... ok +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager +magnum.tests.unit.common.cert_manager.test_cert_manager.TestCertManager.test_local_cert_manager ... ok +magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert +magnum.tests.unit.common.cert_manager.test_local.TestLocalCert.test_local_cert ... ok +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairCert.test_x509keypair_cert ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_delete_cert ... ok +/usr/lib/python3/dist-packages/oslo_versionedobjects/fields.py:371: FutureWarning: b"'fake-uuid'" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details + warnings.warn("%s is an invalid UUID. Using UUIDFields " +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_get_cert ... ok +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert +magnum.tests.unit.common.cert_manager.test_x509keypair_cert_manager.TestX509keypairManager.test_store_cert ... ok +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_get_no_permission ... ok +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_certificate_policy.TestCertifiactePolicy.test_update_no_permission ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout ... ok +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_with_stack_not_found ... ok +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_create_no_permission ... ok +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails +magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails ... ok +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context ... ok +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context +magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context ... ok +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_null_base ... ok magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_all_no_permission ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity ... ok +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base +magnum.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_null_base ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods +magnum.tests.unit.common.test_rpc.TestRpc.test_add_extra_exmods ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup ... ok magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_get_no_permission ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_notifier_null ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null +magnum.tests.unit.common.test_rpc.TestRpc.test_cleanup_transport_null ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods +magnum.tests.unit.common.test_rpc.TestRpc.test_clear_extra_exmods ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client ... ok magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission magnum.tests.unit.common.policies.test_cluster_policy.TestClusterPolicy.test_update_no_permission ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled +magnum.tests.unit.common.test_rpc.TestRpc.test_get_client_profiler_enabled ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled +magnum.tests.unit.common.test_rpc.TestRpc.test_get_server_profiler_enabled ... ok magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_create_no_permission magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_create_no_permission ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null +magnum.tests.unit.common.test_rpc.TestRpc.test_get_transport_url_null ... ok magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_delete_no_permission magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_delete_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_detail_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_detail_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission ... ok -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_create_no_permission ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_delete_no_permission ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_all_no_permission ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_get_no_permission ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca ... ok -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission -magnum.tests.unit.common.policies.test_quota_policy.TestQuotaPolicy.test_update_no_permission ... ok -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_admin_context_succeeds ... ok -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails -magnum.tests.unit.common.test_policy.TestPolicy.test_check_is_admin_with_user_context_fails ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced -magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler ... ok -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler -magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler ... ok -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_deserialize_context ... ok -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context -magnum.tests.unit.common.test_rpc.TestProfilerRequestContextSerializer.test_serialize_context ... ok -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none ... ok -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none -magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids -magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness ... ok -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f -magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme -magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok -magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password -magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... ok +magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity +magnum.tests.unit.common.test_rpc.TestRpc.test_serialize_entity ... ok magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_all_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_all_no_permission ... ok magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked ... ok magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree magnum.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_detail_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_detail_no_permission ... ok magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_k8s_quantity ... ok -/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method - warnings.warn("TestResult has no addDuration method", magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca magnum.tests.unit.common.test_utils.UtilsTestCase.test_get_openstasck_ca ... ok +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_decrypt_key ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_get_no_permission ... ok +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_cluster_template_policy.TestClusterTemplatePolicy.test_update_no_permission ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_create_no_permission ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_delete_no_permission ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_detail_list_no_permission ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_no_permission ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_get_reader ... ok +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission +magnum.tests.unit.common.policies.test_federation_policy.TestFederationPolicy.test_update_no_permission ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_barbican_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_glance_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_heat_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_neutron_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_cached ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_noauth ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region +magnum.tests.unit.common.test_clients.ClientsTest.test_clients_nova_region ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url +magnum.tests.unit.common.test_clients.ClientsTest.test_magnum_url ... ok +magnum.tests.unit.common.test_clients.ClientsTest.test_url_for +magnum.tests.unit.common.test_clients.ClientsTest.test_url_for ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_context +magnum.tests.unit.common.test_context.ContextTestCase.test_context ... ok +/usr/lib/python3.13/unittest/case.py:597: RuntimeWarning: TestResult has no addDuration method + warnings.warn("TestResult has no addDuration method", +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key +magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles +magnum.tests.unit.common.test_context.ContextTestCase.test_context_with_roles ... ok magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints ... ok magnum.tests.unit.common.x509.test_validator.TestValidators.test_disallow_ca_in_basic_constraints_not_critical @@ -8238,38 +8198,220 @@ magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_crl_sign ... ok magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage magnum.tests.unit.common.x509.test_validator.TestValidators.test_remove_ca_key_usage_without_ca_usage ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin +magnum.tests.unit.common.test_context.ContextTestCase.test_request_context_sets_is_admin ... ok magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust ... ok magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust_with_error magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_create_trustee_and_trust_with_error ... ok +magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict +magnum.tests.unit.common.test_context.ContextTestCase.test_to_dict_from_dict ... ok magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust ... ok magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trust_id magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trust_id ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_empty +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_empty ... ok magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trustee_user_id magnum.tests.unit.conductor.handlers.common.test_trust_manager.TrustManagerTestCase.test_delete_trustee_and_trust_without_trustee_user_id ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_exception +magnum.tests.unit.common.test_neutron.NeutronTest.test_delete_floatingip_exception ... ok magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_get_ca_certificate magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_get_ca_certificate ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_conflict +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_conflict ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_notfound +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_external_network_id_notfound ... ok magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_sign_certificate magnum.tests.unit.conductor.handlers.test_ca_conductor.TestSignConductor.test_sign_certificate ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name_notfound +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_network_name_notfound ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_conflict +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_conflict ... ok +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound +magnum.tests.unit.common.test_neutron.NeutronTest.test_get_fixed_subnet_id_notfound ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced +magnum.tests.unit.common.test_profiler.TestProfiler.test_all_public_methods_are_traced ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler ... ok +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler +magnum.tests.unit.common.test_profiler.TestProfiler.test_setup_profiler_without_osprofiler ... ok +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_none ... ok +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none +magnum.tests.unit.common.test_service.TestMagnumService.test_prepare_service_with_argv_not_none ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_12 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_16 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_60 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_byte_string_8 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids +magnum.tests.unit.common.test_short_id.ShortIdTest.test_generate_ids ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_string ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid1 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_0 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_1 ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_endianness ... ok +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f +magnum.tests.unit.common.test_short_id.ShortIdTest.test_get_id_uuid_f ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_exceed_manifest_size ... ok +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme +magnum.tests.unit.common.test_urlfetch.TestUrlFetch.test_get_unsupported_scheme ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_check_exit_code_boolean ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_no_retry_on_success ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_cert_failed +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_cert_failed ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_resume_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_resume_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_snapshot_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_snapshot_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_update_complete +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_update_complete ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure ... ok +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success +magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success ... ok +magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor +magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor ... ok magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_create_federation magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_create_federation ... ok magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_delete_federation magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_delete_federation ... ok magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_update_federation magnum.tests.unit.conductor.handlers.test_federation_conductor.TestHandler.test_update_federation ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack ... ok -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error -magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_safe_rstrip_not_raises_exceptions ... ok +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise +magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_unknown_kwargs_raises_error ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero ... ok +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_validate_and_normalize_mac_invalid_format ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition ... ok +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password +magnum.tests.unit.common.test_utils.GeneratePasswordTestCase.test_generate_password ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image ... ok +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack +magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed ... ok +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request +magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request ... ok magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_is_magnum_auto_healer_running ... ok magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_compute_cpu_util @@ -8286,8 +8428,6 @@ magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_api ... ok magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unhealthy_node ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name ... ok magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_cluster ... ok magnum.tests.unit.conductor.test_monitors.MonitorsTestCase.test_k8s_monitor_health_unreachable_with_master_lb @@ -8314,42 +8454,34 @@ magnum.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_sign_certificate ... ok magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container magnum.tests.unit.conductor.test_scale_manager.TestK8sScaleManager.test_get_hosts_with_container ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domain_project_id -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domain_project_id ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid_userid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid_userid ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid_projectid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid_projectid ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_complete_status -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_complete_status ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_in_progress -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_in_progress ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_invalid_status -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_invalid_status ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_name -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_name ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_template -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_template ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name ... ok -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_uuid -magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_uuid ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts ... ok +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts +magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_append_config +magnum.tests.unit.conf.test_conf.ConfTestCase.test_append_config ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_no_func +magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_no_func ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_valid_func +magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_valid_func ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_invalid_mods +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_invalid_mods ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_valid_mods +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_valid_mods ... ok +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_opts +magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_opts ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value ... ok magnum.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check @@ -8388,6 +8520,8 @@ magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_sorted ... ok magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_list_with_filters ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey ... ok magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_cluster_that_does_not_exist ... ok magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_get_one_tenant_cluster_stats @@ -8398,6 +8532,58 @@ magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_not_found ... ok magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid magnum.tests.unit.db.test_cluster.DbClusterTestCase.test_update_cluster_uuid ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_hidden +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_hidden ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_public +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_public ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_hidden +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_hidden ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_multiple_cluster_template +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_multiple_cluster_template ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_not_found +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_not_found ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_public +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_public ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_hidden +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_hidden ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_public +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_public ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_that_does_not_exist +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_sorted +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_sorted ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_with_filters +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_with_filters ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_extentions_as_ca ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_that_does_not_exist +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist ... ok +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid +magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid ... ok magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation ... ok magnum.tests.unit.db.test_federation.DbFederationTestCase.test_create_federation_already_exists @@ -8420,8 +8606,6 @@ magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_by_uuid ... ok magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name ... ok magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_by_admin_all_tenants ... ok magnum.tests.unit.db.test_federation.DbFederationTestCase.test_get_federation_list_sorted @@ -8438,66 +8622,30 @@ magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_members ... ok magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_not_found ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_issuer_name ... ok magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties magnum.tests.unit.db.test_federation.DbFederationTestCase.test_update_federation_properties ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_already_exists -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_already_exists ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_different_cluster -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_different_cluster ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_same_cluster -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_same_cluster ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_cluster_by_uuid_that_does_not_exist -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_cluster_by_uuid_that_does_not_exist ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup_by_uuid -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup_by_uuid ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_by_uuid -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_by_uuid ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_list_sorted -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_list_sorted ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_id -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_id ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_name -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_name ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_list_with_filters -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_list_with_filters ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_that_does_not_exist -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_that_does_not_exist ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroups_in_cluster -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroups_in_cluster ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster ... ok -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found -magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... ok -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found -magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants ... ok +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_that_does_not_exist +magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_that_does_not_exist ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_delete_complete magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_delete_complete ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_nodegroup_failed @@ -8506,10 +8654,10 @@ magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_create_complete ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_create_failed magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_create_failed ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_set_subject_name ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_creating magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_creating ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_delete_failed magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_delete_failed ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_delete_failed_def_ng @@ -8526,6 +8674,8 @@ magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_multiple_ngs_failed_and_updating ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_create_failed magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_create_failed ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_created magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_created ... ok magnum.tests.unit.drivers.test_heat_driver.TestHeatPoller.test_poll_and_check_new_ng_creating @@ -8576,6 +8726,8 @@ magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_heat_param ... ok magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey ... ok magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_external_network_id ... ok magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_k8s_get_params_insecure @@ -8614,50 +8766,78 @@ magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address ... ok magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled magnum.tests.unit.drivers.test_template_definition.FCOSK8sTemplateDefinitionTestCase.test_update_outputs_node_address_fip_disabled ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_bad_id_and_uuid -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_id -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_name -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_uuid -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh ... ok -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save -magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_from_primitive -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_to_primitive -magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_to_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values -magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive -magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid -magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid ... ok -magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive -magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping ... ok +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_required_param_not_set +magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_required_param_not_set ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh ... ok +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save +magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_create +magnum.tests.unit.objects.test_federation.TestFederationObject.test_create ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy +magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_id +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid +magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_with_filters +magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_with_filters ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_refresh +magnum.tests.unit.objects.test_federation.TestFederationObject.test_refresh ... ok +magnum.tests.unit.objects.test_federation.TestFederationObject.test_save +magnum.tests.unit.objects.test_federation.TestFederationObject.test_save ... ok magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_bad_values magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_bad_values ... ok magnum.tests.unit.objects.test_fields.TestMagnumServiceBinary.test_coerce_good_values @@ -8690,6 +8870,8 @@ magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_id ... ok magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_name ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client ... ok magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_get_by_uuid ... ok magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_list @@ -8700,56 +8882,25 @@ magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_refresh ... ok magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save magnum.tests.unit.objects.test_nodegroup.TestNodeGroupObject.test_save ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level1 +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level1 ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level2 +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level2 ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization ... ok +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables +magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables ... ok magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions magnum.tests.unit.objects.test_objects.TestObjectVersions.test_versions ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create ... ok -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh ... ok -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save -magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_heat_not_found -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_heat_not_found ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error ... ok -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found -magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found ... ok -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime ... ok -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart ... ok -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular -magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular ... ok -magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml -magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml ... ok -GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} -PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] -POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'clustermodel1', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} -DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 -GET: /v1/clustertemplates {} -GET: /v1/clustertemplates/detail {} -GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} -PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] + POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} POST: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 10} GOT:Response: 201 Created @@ -8758,7 +8909,7 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-07-13T10:30:08.683625+00:00", "updated_at": null} +{"id": 42, "hard_limit": 10, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-08-15T17:01:17.362372+00:00", "updated_at": null} DELETE: /v1/quotas/fake_project/Cluster GET: /v1/quotas {} GET: /v1/quotas/fake_project/Cluster {} @@ -8769,12 +8920,48 @@ Openstack-Api-Minimum-Version: container-infra 1.1 Openstack-Api-Version: container-infra 1.1 Vary: OpenStack-API-Version -{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2025-07-13T10:30:08.743216+00:00", "updated_at": null} +{"id": 42, "hard_limit": 5, "project_id": "fake_project", "resource": "Cluster", "created_at": "2026-08-15T17:01:17.419047+00:00", "updated_at": null} PATCH: /v1/quotas {'id': 42, 'project_id': 'fake_project', 'resource': 'Cluster', 'hard_limit': 20} -Exception ignored in: -Traceback (most recent call last): - File "/usr/lib/python3.13/threading.py", line 1385, in __del__ -TypeError: 'NoneType' object does not support the context manager protocol +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} +GET: /v1/stats {} +GET: /v1/stats {} +GOT:{'clusters': 0, 'nodes': 0} +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_equal_in +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_equal_in ... ok +stdin:1:1: M302 assertEqual(A is not None) sentences not allowed. +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_is_not_none +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_is_not_none ... ok +stdin:1:1: M316 assertTrue(isinstance(a, b)) sentences not allowed +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance +magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance ... ok +magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import +magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import ... ok +magnum.tests.unit.test_hacking.HackingTestCase.test_dict_constructor_with_list_copy +magnum.tests.unit.test_hacking.HackingTestCase.test_dict_constructor_with_list_copy ... ok +stdin:1:1: M352 LOG.warn is deprecated, please use LOG.warning! +magnum.tests.unit.test_hacking.HackingTestCase.test_no_log_warn +magnum.tests.unit.test_hacking.HackingTestCase.test_no_log_warn ... ok +stdin:1:1: M322 Method's default argument shouldn't be mutable! +magnum.tests.unit.test_hacking.HackingTestCase.test_no_mutable_default_args +magnum.tests.unit.test_hacking.HackingTestCase.test_no_mutable_default_args ... ok +stdin:1:1: M339 Do not use xrange(). +magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange +magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange ... ok +stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.now() +stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.utcnow() +magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow +magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow ... ok +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name ... ok magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name ... ok magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key @@ -8825,182 +9012,57 @@ magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate ... ok magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name magnum.tests.unit.conductor.handlers.common.test_cert_manager.CertManagerTestCase.test_sign_node_certificate_without_cluster_name ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_conflict ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_delete_with_lb ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_failure ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_cluster_resize_success ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_handles_bad_request ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_cert_failed -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_cert_failed ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_environment ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_invalid_unicode_name ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_create_with_trust_failed ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_adopt_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_check_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_restore_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_resume_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_resume_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_rollback_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_snapshot_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_snapshot_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_update_complete -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_cluster_status_update_complete ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_failure ... ok -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success -magnum.tests.unit.conductor.handlers.test_cluster_conductor.TestHandler.test_update_node_count_success ... ok -magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor -magnum.tests.unit.conductor.handlers.test_conductor_listener.TestHandler.test_ping_conductor ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_copies_object ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_action_on_raise ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action ... ok -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise -magnum.tests.unit.conductor.handlers.test_indirection_api.TestIndirectionApiConductor.test_object_class_action_on_raise ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_no_timeout_specified ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_create_stack_timeout_is_zero ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_no_discoveryurl ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_fcos_with_discovery ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_only_required ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_with_registry ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_apiserver_port ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_discovery_url ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_dns ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_docker_storage_driver ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_extract_template_definition_without_server_image ... ok -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack -magnum.tests.unit.conductor.handlers.test_k8s_cluster_conductor.TestClusterConductorWithK8s.test_update_stack ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_create_failed_bad_request ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_failed ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_and_ng_not_found ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_not_found ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_delete_stack_operation_ongoing ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_udpate ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed ... ok -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request -magnum.tests.unit.conductor.handlers.test_nodegroup_conductor.TestHandler.test_nodegroup_update_failed_bad_request ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_no_container_host ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_one_container_host ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_scale_up ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_three_container_hosts ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_two_container_hosts ... ok -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts -magnum.tests.unit.conductor.test_scale_manager.TestScaleManager.test_get_removal_nodes_with_none_hosts ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_append_config -magnum.tests.unit.conf.test_conf.ConfTestCase.test_append_config ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_no_func -magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_no_func ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_valid_func -magnum.tests.unit.conf.test_conf.ConfTestCase.test_import_mods_valid_func ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_invalid_mods -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_invalid_mods ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_valid_mods -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_module_name_valid_mods ... ok -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_opts -magnum.tests.unit.conf.test_conf.ConfTestCase.test_list_opts ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_create_cluster_template_already_exists ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_by_uuid ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_destroy_cluster_template_that_referenced_by_clusters ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_hidden -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_hidden ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_public -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_id_public ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_hidden -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_hidden ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_multiple_cluster_template -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_multiple_cluster_template ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_not_found -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_not_found ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_public -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_name_public ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_hidden -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_hidden ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_public -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_public ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_that_does_not_exist -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_by_uuid_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_sorted -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_sorted ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_with_filters -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_list_with_filters ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_that_does_not_exist -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_get_cluster_template_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_that_does_not_exist ... ok -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid -magnum.tests.unit.db.test_cluster_template.DbClusterTemplateTestCase.test_update_cluster_template_uuid ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack ... ok +DEBUG [taskflow.engines.action_engine.completer] Applying resolver 'RevertAll(strategy=REVERT_ALL)' to resolve failure 'Failure: ValueError: ' of atom '"magnum.conductor.tasks.heat_tasks.CreateStack==1.0"' +DEBUG [taskflow.engines.action_engine.completer] Modified/tweaked 1 nodes while applying resolver 'RevertAll(strategy=REVERT_ALL)' +DEBUG [taskflow.engines.action_engine.builder] Discarding failure 'Failure: ValueError: ' (in response to outcome 'executed') under completion units request during completion of atom '"magnum.conductor.tasks.heat_tasks.CreateStack==1.0"' (intention is to REVERT) +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_create_stack_with_error ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack ... ok +DEBUG [taskflow.engines.action_engine.completer] Applying resolver 'RevertAll(strategy=REVERT_ALL)' to resolve failure 'Failure: ValueError: ' of atom '"magnum.conductor.tasks.heat_tasks.DeleteStack==1.0"' +DEBUG [taskflow.engines.action_engine.completer] Modified/tweaked 1 nodes while applying resolver 'RevertAll(strategy=REVERT_ALL)' +DEBUG [taskflow.engines.action_engine.builder] Discarding failure 'Failure: ValueError: ' (in response to outcome 'executed') under completion units request during completion of atom '"magnum.conductor.tasks.heat_tasks.DeleteStack==1.0"' (intention is to REVERT) +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_delete_stack_with_error ... ok +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack ... ok +DEBUG [taskflow.engines.action_engine.completer] Applying resolver 'RevertAll(strategy=REVERT_ALL)' to resolve failure 'Failure: ValueError: ' of atom '"magnum.conductor.tasks.heat_tasks.UpdateStack==1.0"' +DEBUG [taskflow.engines.action_engine.completer] Modified/tweaked 1 nodes while applying resolver 'RevertAll(strategy=REVERT_ALL)' +DEBUG [taskflow.engines.action_engine.builder] Discarding failure 'Failure: ValueError: ' (in response to outcome 'executed') under completion units request during completion of atom '"magnum.conductor.tasks.heat_tasks.UpdateStack==1.0"' (intention is to REVERT) +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error +magnum.tests.unit.conductor.tasks.test_heat_tasks.HeatTasksTests.test_update_stack_with_error ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_context ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domain_project_id +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domain_project_id ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid_userid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_domainid_userid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_projectid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid_projectid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_get_request_audit_info_with_none_userid_projectid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_complete_status +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_complete_status ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_in_progress +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_delete_in_progress ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_invalid_status +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_object_has_stack_invalid_status ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_name +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_name ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_template +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_template ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_name ... ok +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_uuid +magnum.tests.unit.conductor.test_utils.TestConductorUtils.test_retrieve_cluster_uuid_from_uuid ... ok magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service ... ok magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_create_magnum_service_failure_for_dup @@ -9019,98 +9081,94 @@ magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service ... ok magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure magnum.tests.unit.db.test_magnum_service.DbMagnumServiceTestCase.test_update_magnum_service_failure ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_create_x509keypair_already_exists ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_by_uuid ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_destroy_x509keypair_that_does_not_exist ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_id ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_by_uuid ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_list_by_admin_all_tenants ... ok -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_that_does_not_exist -magnum.tests.unit.db.test_x509keypair.DbX509KeyPairTestCase.test_get_x509keypair_that_does_not_exist ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_with_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_disabled_without_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_disable ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enable_lbfip_template_disable_cluster_enable ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_with_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_enabled_without_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_env_lb_fip_enabled_without_fp ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_fip_master_lb_fip_disabled_cluster_fip_enabled ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_add_output_with_mapping_type ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_driver_not_supported ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_get_vm_fcos_kubernetes_definition ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_load_entry_points ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_output_mapping ... ok -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_required_param_not_set -magnum.tests.unit.drivers.test_template_definition.TemplateDefinitionTestCase.test_required_param_not_set ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_create ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_destroy ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_all ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_list_with_filters ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_refresh ... ok -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save -magnum.tests.unit.objects.test_cluster.TestClusterObject.test_save ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_create -magnum.tests.unit.objects.test_federation.TestFederationObject.test_create ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy -magnum.tests.unit.objects.test_federation.TestFederationObject.test_destroy ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_bad_id_and_uuid -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_bad_id_and_uuid ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_id -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_id ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_name ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid -magnum.tests.unit.objects.test_federation.TestFederationObject.test_get_by_uuid ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_all ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_with_filters -magnum.tests.unit.objects.test_federation.TestFederationObject.test_list_with_filters ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_refresh -magnum.tests.unit.objects.test_federation.TestFederationObject.test_refresh ... ok -magnum.tests.unit.objects.test_federation.TestFederationObject.test_save -magnum.tests.unit.objects.test_federation.TestFederationObject.test_save ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_already_exists +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_already_exists ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_different_cluster +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_different_cluster ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_same_cluster +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_create_nodegroup_same_name_same_cluster ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_cluster_by_uuid_that_does_not_exist +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_cluster_by_uuid_that_does_not_exist ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup_by_uuid +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_destroy_nodegroup_by_uuid ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_by_uuid +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_by_uuid ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_list_sorted +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_cluster_list_sorted ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_id +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_id ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_name +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_by_name ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_list_with_filters +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_list_with_filters ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_that_does_not_exist +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroup_that_does_not_exist ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroups_in_cluster +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_get_nodegroups_in_cluster ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_cluster ... ok +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found +magnum.tests.unit.db.test_nodegroup.DbNodeGroupTestCase.test_update_nodegroup_not_found ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_create_quota_already_exists ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_delete_quota_that_does_not_exist ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_all ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_by_project_id_resource_not_found ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_invalid_sort_key ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_sorted ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_get_quota_list_with_filters ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota ... ok +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found +magnum.tests.unit.db.test_quota.DbQuotaTestCase.test_update_quota_not_found ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_create ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_destroy ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_id +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_name +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_name ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_uuid +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_list ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_refresh ... ok +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save +magnum.tests.unit.objects.test_cluster_template.TestClusterTemplateObject.test_save ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_from_primitive +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_to_primitive +magnum.tests.unit.objects.test_fields.TestClusterHealthStatus.test_to_primitive ... ok magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_bad_values magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_bad_values ... ok magnum.tests.unit.objects.test_fields.TestClusterStatus.test_coerce_good_values @@ -9123,6 +9181,18 @@ magnum.tests.unit.objects.test_fields.TestClusterStatus.test_stringify_invalid ... ok magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive magnum.tests.unit.objects.test_fields.TestClusterStatus.test_to_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_bad_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values +magnum.tests.unit.objects.test_fields.TestClusterType.test_coerce_good_values ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive +magnum.tests.unit.objects.test_fields.TestClusterType.test_from_primitive ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid +magnum.tests.unit.objects.test_fields.TestClusterType.test_stringify_invalid ... ok +magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive +magnum.tests.unit.objects.test_fields.TestClusterType.test_to_primitive ... ok magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_bad_values ... ok magnum.tests.unit.objects.test_fields.TestContainerStatus.test_coerce_good_values @@ -9203,34 +9273,48 @@ magnum.tests.unit.objects.test_objects.TestObject.test_updates ... ok magnum.tests.unit.objects.test_objects.TestObject.test_with_alternate_context magnum.tests.unit.objects.test_objects.TestObject.test_with_alternate_context ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level1 -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level1 ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level2 -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports_level2 ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization ... ok -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables -magnum.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_create ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_destroy ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_bad_id_and_uuid ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_id ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_get_by_uuid ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_list_all ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_refresh ... ok +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save +magnum.tests.unit.objects.test_x509keypair.TestX509KeyPairObject.test_save ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_health_status ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_changes ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_heat_not_found +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_heat_not_found ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_sync_cluster_status_not_changes ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_non_trusts_error ... ok +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found +magnum.tests.unit.service.test_periodic.PeriodicTestCase.test_update_status_trusts_not_found ... ok +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_firsttime ... ok +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_on_restart ... ok +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular +magnum.tests.unit.servicegroup.test_magnum_service.MagnumServicePeriodicTestCase.test_update_magnum_service_regular ... ok +magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml +magnum.tests.unit.template.test_template.TestTemplate.test_template_yaml ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json -{"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Remote error: TestException Test exception message", "detail": "Remote error: TestException Test exception message.\n['", "links": []}]} -GET: / {} -GOT:Response: 400 Bad Request -Content-Type: application/json -{"errors": [{"request_id": "", "code": "client", "status": 400, "title": "Test exception message", "detail": "Test exception message.\nTraceback (most recent call last):\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/amqp.py\", line 434, in _process_data\\n **args)\n File \"/opt/stack/magnum/magnum/openstack/common/rpc/dispatcher.py\", line 172, in dispatch\\n result = getattr(proxyobj, method)(context, **kwargs)", "links": []}]} -GET: / {} -GOT:Response: 500 Internal Server Error -Content-Type: application/json {"errors": [{"request_id": "", "code": "server", "status": 500, "title": "Test exception message", "detail": "Test exception message.", "links": []}]} GET: / {} GOT:Response: 500 Internal Server Error @@ -9239,75 +9323,46 @@ POST: /v1/certificates {'cluster_uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'csr': 'fake-csr'} GET: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} PATCH: /v1/certificates/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +POST: /v1/clusters {'uuid': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'name': 'cluster1', 'discovery_url': None, 'cluster_template_id': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'status': 'CREATE_IN_PROGRESS', 'status_reason': 'Completed successfully', 'create_timeout': 15, 'docker_volume_size': None, 'labels': None, 'master_flavor_id': None, 'flavor_id': None, 'fixed_network': None, 'fixed_subnet': None, 'floating_ip_enabled': True, 'master_lb_enabled': True, 'node_count': 3, 'master_count': 3, 'merge_labels': False} +DELETE: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 +GET: /v1/clusters {} +GET: /v1/clusters/5d12f6fd-a196-4bf0-ae4c-1f639a523a52 {} +PATCH: /v1/clusters/cluster_example_A [{'path': '/node_count', 'value': 4, 'op': 'replace'}] +POST: /v1/clustertemplates {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'name': 'clustermodel1', 'image_id': 'ubuntu', 'flavor_id': 'm1.small', 'master_flavor_id': 'm1.small', 'keypair_id': 'keypair1', 'external_network_id': 'd1f02cfb-d27f-4068-9332-84d907cb0e2e', 'fixed_network': 'private', 'fixed_subnet': 'private-subnet', 'network_driver': None, 'volume_driver': None, 'dns_nameserver': '8.8.1.1', 'apiserver_port': 8080, 'docker_volume_size': 20, 'docker_storage_driver': 'devicemapper', 'cluster_distro': 'fedora-coreos', 'coe': 'kubernetes', 'labels': {'key1': 'val1', 'key2': 'val2'}, 'http_proxy': 'fake_http_proxy', 'https_proxy': 'fake_https_proxy', 'no_proxy': 'fake_no_proxy', 'registry_enabled': False, 'tls_disabled': False, 'public': False, 'server_type': 'vm', 'insecure_registry': '10.0.0.1:5000', 'master_lb_enabled': True, 'floating_ip_enabled': True, 'hidden': False, 'tags': '', 'driver': ''} +DELETE: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 +GET: /v1/clustertemplates {} +GET: /v1/clustertemplates/detail {} +GET: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 {} +PATCH: /v1/clustertemplates/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/dns_nameserver', 'op': 'remove'}] POST: /v1/federations {} -DELETE: /v1/federations/4629e9c7-1e2e-4e71-81ce-920b148ece6b +DELETE: /v1/federations/3ed0eb07-8d20-4bae-9c03-22a9fbc11aee GET: /v1/federations/detail {} GET: /v1/federations {} GET: /v1/federations {} -GOT:{'federations': [{'uuid': '7692f581-62bf-4845-97d0-edf25c0e3e31', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/7692f581-62bf-4845-97d0-edf25c0e3e31', 'rel': 'self'}, {'href': 'http://localhost/federations/7692f581-62bf-4845-97d0-edf25c0e3e31', 'rel': 'bookmark'}]}]} -PATCH: /v1/federations/9474390f-09f5-44e1-bc98-9003883facf0 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] -GET: /v1/mservices {} -POST: /v1/clusters/7e7bcae5-b411-4d4a-8fe9-851f750ff83f/nodegroups/ {'id': 12, 'uuid': '483203a3-dbee-4a9c-9d65-9820512f4df8', 'name': 'nodegroup1', 'docker_volume_size': None, 'labels': None, 'flavor_id': None, 'image_id': None, 'node_count': 3, 'role': 'worker', 'max_node_count': None, 'min_node_count': 1, 'merge_labels': False} -DELETE: /v1/clusters/23cd0064-03e3-439e-b231-28d49b92db63/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 -GET: /v1/clusters/9482065c-e3d9-4b00-bd5c-5a836b6c8bf9/nodegroups/ {} -GET: /v1/clusters/35687489-79b9-4133-bfdb-619b3318abf5/nodegroups/foo {} -PATCH: /v1/clusters/b67685a8-8bdf-4622-9b71-2d349e43106b/nodegroups/483203a3-dbee-4a9c-9d65-9820512f4df8 [{'path': '/max_node_count', 'value': 4, 'op': 'replace'}] -GET: /v1/stats {} -GOT:{'clusters': 0, 'nodes': 0} -GET: /v1/stats {} -GET: /v1/stats {} -GOT:{'clusters': 0, 'nodes': 0} -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -stdin:1:1: M338 Use assertIn/NotIn(A, B) rather than assertEqual(A in B, True/False) when checking collection contents. -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_equal_in -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_equal_in ... ok -stdin:1:1: M302 assertEqual(A is not None) sentences not allowed. -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_is_not_none -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_is_not_none ... ok -stdin:1:1: M316 assertTrue(isinstance(a, b)) sentences not allowed -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance -magnum.tests.unit.test_hacking.HackingTestCase.test_assert_true_isinstance ... ok -magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import -magnum.tests.unit.test_hacking.HackingTestCase.test_check_explicit_underscore_import ... ok -magnum.tests.unit.test_hacking.HackingTestCase.test_dict_constructor_with_list_copy -magnum.tests.unit.test_hacking.HackingTestCase.test_dict_constructor_with_list_copy ... ok -stdin:1:1: M352 LOG.warn is deprecated, please use LOG.warning! -magnum.tests.unit.test_hacking.HackingTestCase.test_no_log_warn -magnum.tests.unit.test_hacking.HackingTestCase.test_no_log_warn ... ok -stdin:1:1: M322 Method's default argument shouldn't be mutable! -magnum.tests.unit.test_hacking.HackingTestCase.test_no_mutable_default_args -magnum.tests.unit.test_hacking.HackingTestCase.test_no_mutable_default_args ... ok -stdin:1:1: M339 Do not use xrange(). -magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange -magnum.tests.unit.test_hacking.HackingTestCase.test_no_xrange ... ok -stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.now() -stdin:1:1: M310 timeutils.utcnow() must be used instead of datetime.utcnow() -magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow -magnum.tests.unit.test_hacking.HackingTestCase.test_use_timeunitls_utcow ... ok +GOT:{'federations': [{'uuid': 'f2d925e4-bc8f-422c-bd07-8d8f3d072d96', 'name': 'fake-name', 'hostcluster_id': 'fake_master', 'member_ids': ['fake_member1', 'fake_member2'], 'status': 'CREATE_IN_PROGRESS', 'properties': {'dns-zone': 'example.com.'}, 'links': [{'href': 'http://localhost/v1/federations/f2d925e4-bc8f-422c-bd07-8d8f3d072d96', 'rel': 'self'}, {'href': 'http://localhost/federations/f2d925e4-bc8f-422c-bd07-8d8f3d072d96', 'rel': 'bookmark'}]}]} +PATCH: /v1/federations/f56b88f6-fd4a-4305-9c0d-36d5d5f61062 [{'path': '/member_ids', 'value': '5d12f6fd-a196-4bf0-ae4c-1f639a523a52', 'op': 'add'}] +Exception ignored in: +Traceback (most recent call last): + File "/usr/lib/python3.13/threading.py", line 1385, in __del__ +TypeError: 'NoneType' object does not support the context manager protocol ---------------------------------------------------------------------- -Ran 1168 tests in 30.725s +Ran 1168 tests in 44.924s OK + stestr slowest Test id Runtime (s) ---------------------------------------------------------------------------------------------------------- ----------- -magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout 1.011 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 0.911 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 0.887 -magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure 0.860 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 0.768 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_with_bytes_issuer_name 0.738 -magnum.tests.unit.common.x509.test_sign.TestX509.test_load_pem_private_key_with_bytes_private_key 0.725 -magnum.tests.unit.common.x509.test_operations.TestX509Operations.test_generate_csr_and_key 0.613 -magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 0.586 -magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars 0.540 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_extentions_as_client 1.597 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_issuer_name 1.499 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_set_subject_name 1.341 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_ca_certificate_has_publickey 1.280 +magnum.tests.unit.common.test_octavia.OctaviaTest.test_delete_loadbalancers_timeout 1.015 +magnum.tests.unit.common.test_utils.ExecuteTestCase.test_retry_on_failure 0.904 +magnum.tests.unit.common.x509.test_sign.TestX509.test_generate_client_certificate_has_publickey 0.792 +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_with_unicode_csr 0.726 +magnum.tests.unit.api.controllers.v1.test_certificate.TestPost.test_create_cert 0.698 +magnum.tests.unit.common.x509.test_sign.TestX509.test_sign_empty_chars 0.670 + rm -rf .stestr dh_install --fail-missing dh_install: warning: Please use dh_missing --list-missing/--fail-missing instead @@ -9326,9 +9381,9 @@ --namespace oslo.service.service \ --namespace keystonemiddleware.auth_token pkgos-readd-keystone-authtoken-missing-options /build/reproducible-path/magnum-20.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf keystone_authtoken magnum -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.ktbRnp:[keystone_authtoken]/www_authenticate_uri -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.ktbRnp:[keystone_authtoken]/auth_type -pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.ktbRnp:[keystone_authtoken]/region_name +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.G6poPc:[keystone_authtoken]/www_authenticate_uri +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.G6poPc:[keystone_authtoken]/auth_type +pkgos_inifile: Setting value in pkgos-readd-keystone-authtoken-missing-options.G6poPc:[keystone_authtoken]/region_name pkgos-fix-config-default /build/reproducible-path/magnum-20.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf oslo_concurrency lock_path /var/lock/magnum pkgos_inifile: Setting value in /build/reproducible-path/magnum-20.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf:[oslo_concurrency]/lock_path pkgos-fix-config-default /build/reproducible-path/magnum-20.0.0/debian/magnum-common/usr/share/magnum-common/magnum.conf keystone_authtoken auth_protocol http @@ -9424,15 +9479,17 @@ cat /usr/share/openstack-pkg-tools/init-script-template >>$MYINIT.init ; \ pkgos-gen-systemd-unit $i ; \ done -+ ls -1 debian/magnum-api.init.in debian/magnum-conductor.init.in -+ + sed s/.init.in// -echo debian/magnum-api.init.in +++ ls -1 debian/magnum-api.init.in debian/magnum-conductor.init.in ++ for i in `ls -1 debian/*.init.in` +++ sed s/.init.in// +++ echo debian/magnum-api.init.in + MYINIT=debian/magnum-api + cp debian/magnum-api.init.in debian/magnum-api.init + cat /usr/share/openstack-pkg-tools/init-script-template + pkgos-gen-systemd-unit debian/magnum-api.init.in -+ + sed s/.init.in// -echo debian/magnum-conductor.init.in ++ for i in `ls -1 debian/*.init.in` +++ echo debian/magnum-conductor.init.in +++ sed s/.init.in// + MYINIT=debian/magnum-conductor + cp debian/magnum-conductor.init.in debian/magnum-conductor.init + cat /usr/share/openstack-pkg-tools/init-script-template @@ -9442,7 +9499,7 @@ MYPKG=`echo $i | sed s/.service.in//` ; \ cp $MYPKG.service.in $MYPKG.service ; \ done -+ ls -1 debian/*.service.in +++ ls -1 'debian/*.service.in' ls: cannot access 'debian/*.service.in': No such file or directory # Generate the systemd unit if there's no already existing .service.in set -e ; set -x ; for i in `ls debian/*.init.in` ; do \ @@ -9451,16 +9508,18 @@ pkgos-gen-systemd-unit $i ; \ fi \ done -+ ls debian/magnum-api.init.in debian/magnum-conductor.init.in -+ + echo debian/magnum-api.init.in -sed s/.init.in/.service.in/ +++ ls debian/magnum-api.init.in debian/magnum-conductor.init.in ++ for i in `ls debian/*.init.in` +++ echo debian/magnum-api.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/magnum-api.service.in -+ [ -e debian/magnum-api.service.in ] ++ '[' -e debian/magnum-api.service.in ']' + pkgos-gen-systemd-unit debian/magnum-api.init.in -+ + sed s/.init.in/.service.in/ -echo debian/magnum-conductor.init.in ++ for i in `ls debian/*.init.in` +++ echo debian/magnum-conductor.init.in +++ sed s/.init.in/.service.in/ + MYINIT=debian/magnum-conductor.service.in -+ [ -e debian/magnum-conductor.service.in ] ++ '[' -e debian/magnum-conductor.service.in ']' + pkgos-gen-systemd-unit debian/magnum-conductor.init.in dh_installinit --error-handler=true make[1]: Leaving directory '/build/reproducible-path/magnum-20.0.0' @@ -9483,16 +9542,16 @@ else \ dh_gencontrol -- -T/build/reproducible-path/magnum-20.0.0/debian/debian_control_vars ; \ fi -dpkg-gencontrol: warning: Depends field of package magnum-conductor: substitution variable ${python3:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package magnum-common: substitution variable ${python3:Depends} used, but is not defined dpkg-gencontrol: warning: Depends field of package magnum-api: substitution variable ${python3:Depends} used, but is not defined +dpkg-gencontrol: warning: Depends field of package magnum-conductor: substitution variable ${python3:Depends} used, but is not defined make[1]: Leaving directory '/build/reproducible-path/magnum-20.0.0' dh_md5sums -O--buildsystem=pybuild dh_builddeb -O--buildsystem=pybuild dpkg-deb: building package 'magnum-conductor' in '../magnum-conductor_20.0.0-2_all.deb'. +dpkg-deb: building package 'magnum-common' in '../magnum-common_20.0.0-2_all.deb'. dpkg-deb: building package 'magnum-api' in '../magnum-api_20.0.0-2_all.deb'. dpkg-deb: building package 'python3-magnum' in '../python3-magnum_20.0.0-2_all.deb'. -dpkg-deb: building package 'magnum-common' in '../magnum-common_20.0.0-2_all.deb'. dpkg-genbuildinfo --build=binary -O../magnum_20.0.0-2_arm64.buildinfo dpkg-genchanges --build=binary -O../magnum_20.0.0-2_arm64.changes dpkg-genchanges: info: binary-only upload (no source code included) @@ -9501,12 +9560,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: not including original source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/1826924/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/1826924/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/1660243 and its subdirectories -I: Current time: Sat Jul 12 22:30:59 -12 2025 -I: pbuilder-time-stamp: 1752402659 +I: removing directory /srv/workspace/pbuilder/1826924 and its subdirectories +I: Current time: Sun Aug 16 07:02:20 +14 2026 +I: pbuilder-time-stamp: 1786813340