2026-04-02 01:30:24.839036 | Job console starting 2026-04-02 01:30:24.894460 | Updating git repos 2026-04-02 01:30:25.165036 | Cloning repos into workspace 2026-04-02 01:30:25.504317 | Restoring repo states 2026-04-02 01:30:25.521472 | Merging changes 2026-04-02 01:30:26.297124 | Checking out repos 2026-04-02 01:30:26.594883 | Preparing playbooks 2026-04-02 01:30:30.876429 | Running Ansible setup 2026-04-02 01:30:34.989928 | PRE-RUN START: [trusted : github.com/vexxhost/zuul-config/playbooks/base/pre.yaml@main] 2026-04-02 01:30:35.674629 | 2026-04-02 01:30:35.684314 | PLAY [localhost] 2026-04-02 01:30:35.692552 | 2026-04-02 01:30:35.692632 | TASK [Gathering Facts] 2026-04-02 01:30:36.596157 | localhost | ok 2026-04-02 01:30:36.606367 | 2026-04-02 01:30:36.823456 | TASK [Setup log path fact] 2026-04-02 01:30:36.848205 | localhost | ok 2026-04-02 01:30:36.860810 | 2026-04-02 01:30:36.860893 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-04-02 01:30:36.891898 | localhost | ok 2026-04-02 01:30:37.022693 | 2026-04-02 01:30:37.031800 | TASK [emit-job-header : Print job information] 2026-04-02 01:30:37.073430 | # Job Information 2026-04-02 01:30:37.073668 | Ansible Version: 2.16.16 2026-04-02 01:30:37.073738 | Job: magnum-cluster-api-tox-unit 2026-04-02 01:30:37.073787 | Pipeline: check 2026-04-02 01:30:37.073832 | Executor: 0a8996d2b663 2026-04-02 01:30:37.073876 | Triggered by: https://github.com/vexxhost/magnum-cluster-api/pull/925 2026-04-02 01:30:37.073928 | Event ID: 5df652f0-2e33-11f1-9aa3-54e590811798 2026-04-02 01:30:37.079035 | 2026-04-02 01:30:37.079131 | LOOP [emit-job-header : Print node information] 2026-04-02 01:30:37.176835 | localhost | ok: 2026-04-02 01:30:37.177116 | localhost | # Node Information 2026-04-02 01:30:37.177204 | localhost | Inventory Hostname: ubuntu-noble 2026-04-02 01:30:37.177282 | localhost | Hostname: np0000162245 2026-04-02 01:30:37.177355 | localhost | Username: zuul 2026-04-02 01:30:37.177435 | localhost | Distro: Ubuntu 24.04 2026-04-02 01:30:37.177508 | localhost | Provider: yul1 2026-04-02 01:30:37.177573 | localhost | Region: ca-ymq-1 2026-04-02 01:30:37.177641 | localhost | Label: ubuntu-noble 2026-04-02 01:30:37.177821 | localhost | Product Name: OpenStack Nova 2026-04-02 01:30:37.177906 | localhost | Interface IP: 199.204.45.72 2026-04-02 01:30:37.196153 | 2026-04-02 01:30:37.196250 | TASK [log-inventory : Ensure Zuul Ansible directory exists] 2026-04-02 01:30:37.687171 | localhost -> localhost | changed 2026-04-02 01:30:37.694981 | 2026-04-02 01:30:37.695077 | TASK [log-inventory : Copy ansible inventory to logs dir] 2026-04-02 01:30:38.784340 | localhost -> localhost | changed 2026-04-02 01:30:38.791533 | 2026-04-02 01:30:38.791587 | PLAY [all] 2026-04-02 01:30:38.799637 | 2026-04-02 01:30:38.799703 | TASK [add-build-sshkey : Check to see if ssh key was already created for this build] 2026-04-02 01:30:39.362083 | ubuntu-noble -> localhost | ok 2026-04-02 01:30:39.372439 | 2026-04-02 01:30:39.372550 | TASK [add-build-sshkey : Create a new key in workspace based on build UUID] 2026-04-02 01:30:39.408137 | ubuntu-noble | ok 2026-04-02 01:30:39.422433 | ubuntu-noble | included: /var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/create-key-and-replace.yaml 2026-04-02 01:30:39.428804 | 2026-04-02 01:30:39.428869 | TASK [add-build-sshkey : Create Temp SSH key] 2026-04-02 01:30:41.227828 | ubuntu-noble -> localhost | Generating public/private rsa key pair. 2026-04-02 01:30:41.228042 | ubuntu-noble -> localhost | Your identification has been saved in /var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/work/ad996a2bf0db41e28d2ebb404219e8b0_id_rsa 2026-04-02 01:30:41.228075 | ubuntu-noble -> localhost | Your public key has been saved in /var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/work/ad996a2bf0db41e28d2ebb404219e8b0_id_rsa.pub 2026-04-02 01:30:41.228099 | ubuntu-noble -> localhost | The key fingerprint is: 2026-04-02 01:30:41.228121 | ubuntu-noble -> localhost | SHA256:m7/FFgyabdUDie61GyROR/TNJUDwOlyVkfJd1DsgYmc zuul-build-sshkey 2026-04-02 01:30:41.228158 | ubuntu-noble -> localhost | The key's randomart image is: 2026-04-02 01:30:41.228182 | ubuntu-noble -> localhost | +---[RSA 3072]----+ 2026-04-02 01:30:41.228210 | ubuntu-noble -> localhost | | .==o+=+| 2026-04-02 01:30:41.228233 | ubuntu-noble -> localhost | | o.E+*o++| 2026-04-02 01:30:41.228255 | ubuntu-noble -> localhost | | ..=.=o=.=| 2026-04-02 01:30:41.228276 | ubuntu-noble -> localhost | | =+*+ .+.| 2026-04-02 01:30:41.228296 | ubuntu-noble -> localhost | | S+*=o. .| 2026-04-02 01:30:41.228316 | ubuntu-noble -> localhost | | +ooo. | 2026-04-02 01:30:41.228336 | ubuntu-noble -> localhost | | o +o | 2026-04-02 01:30:41.228356 | ubuntu-noble -> localhost | | . o. | 2026-04-02 01:30:41.228379 | ubuntu-noble -> localhost | | o. | 2026-04-02 01:30:41.228400 | ubuntu-noble -> localhost | +----[SHA256]-----+ 2026-04-02 01:30:41.228451 | ubuntu-noble -> localhost | ok: Runtime: 0:00:01.351041 2026-04-02 01:30:41.235313 | 2026-04-02 01:30:41.235383 | TASK [add-build-sshkey : Remote setup ssh keys (linux)] 2026-04-02 01:30:41.269853 | ubuntu-noble | ok 2026-04-02 01:30:41.281606 | ubuntu-noble | included: /var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/trusted/project_1/opendev.org/zuul/zuul-jobs/roles/add-build-sshkey/tasks/remote-linux.yaml 2026-04-02 01:30:41.289781 | 2026-04-02 01:30:41.366435 | TASK [add-build-sshkey : Remove previously added zuul-build-sshkey] 2026-04-02 01:30:41.392315 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:41.403142 | 2026-04-02 01:30:41.403232 | TASK [add-build-sshkey : Enable access via build key on all nodes] 2026-04-02 01:30:42.038857 | ubuntu-noble | changed 2026-04-02 01:30:42.046161 | 2026-04-02 01:30:42.046247 | TASK [add-build-sshkey : Make sure user has a .ssh] 2026-04-02 01:30:42.284220 | ubuntu-noble | ok 2026-04-02 01:30:42.340377 | 2026-04-02 01:30:42.340487 | TASK [add-build-sshkey : Install build private key as SSH key on all nodes] 2026-04-02 01:30:42.943343 | ubuntu-noble | changed 2026-04-02 01:30:42.949584 | 2026-04-02 01:30:42.949653 | TASK [add-build-sshkey : Install build public key as SSH key on all nodes] 2026-04-02 01:30:43.505579 | ubuntu-noble | changed 2026-04-02 01:30:43.514637 | 2026-04-02 01:30:43.578182 | TASK [add-build-sshkey : Remote setup ssh keys (windows)] 2026-04-02 01:30:43.604402 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:43.614702 | 2026-04-02 01:30:43.614793 | TASK [remove-zuul-sshkey : Remove master key from local agent] 2026-04-02 01:30:44.091960 | ubuntu-noble -> localhost | changed 2026-04-02 01:30:44.110744 | 2026-04-02 01:30:44.120886 | TASK [add-build-sshkey : Add back temp key] 2026-04-02 01:30:44.479548 | ubuntu-noble -> localhost | Identity added: /var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/work/ad996a2bf0db41e28d2ebb404219e8b0_id_rsa (zuul-build-sshkey) 2026-04-02 01:30:44.479733 | ubuntu-noble -> localhost | ok: Runtime: 0:00:00.016126 2026-04-02 01:30:44.485390 | 2026-04-02 01:30:44.485457 | TASK [add-build-sshkey : Verify we can still SSH to all nodes] 2026-04-02 01:30:44.834210 | ubuntu-noble | ok 2026-04-02 01:30:44.870715 | 2026-04-02 01:30:44.870788 | TASK [add-build-sshkey : Verify we can still SSH to all nodes (windows)] 2026-04-02 01:30:44.895232 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:44.914850 | 2026-04-02 01:30:44.914915 | TASK [prepare-workspace : Start zuul_console daemon.] 2026-04-02 01:30:45.290087 | ubuntu-noble | ok 2026-04-02 01:30:45.298564 | 2026-04-02 01:30:45.298633 | TASK [prepare-workspace : Synchronize src repos to workspace directory.] 2026-04-02 01:30:46.434815 | ubuntu-noble | Output suppressed because no_log was given 2026-04-02 01:30:46.481627 | 2026-04-02 01:30:46.542771 | LOOP [ensure-output-dirs : Empty Zuul Output directories by removing them] 2026-04-02 01:30:46.797941 | ubuntu-noble | ok: "logs" 2026-04-02 01:30:46.813295 | ubuntu-noble | ok: All items complete 2026-04-02 01:30:46.814172 | 2026-04-02 01:30:47.009897 | ubuntu-noble | ok: "artifacts" 2026-04-02 01:30:47.210338 | ubuntu-noble | ok: "docs" 2026-04-02 01:30:47.224671 | 2026-04-02 01:30:47.252966 | LOOP [ensure-output-dirs : Ensure Zuul Output directories exist] 2026-04-02 01:30:47.477369 | ubuntu-noble | changed: "logs" 2026-04-02 01:30:47.668640 | ubuntu-noble | changed: "artifacts" 2026-04-02 01:30:47.860817 | ubuntu-noble | changed: "docs" 2026-04-02 01:30:47.874612 | 2026-04-02 01:30:47.874733 | PLAY RECAP 2026-04-02 01:30:47.874779 | localhost | ok: 6 changed: 2 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2026-04-02 01:30:47.874809 | ubuntu-noble | ok: 15 changed: 8 unreachable: 0 failed: 0 skipped: 3 rescued: 0 ignored: 0 2026-04-02 01:30:47.874830 | 2026-04-02 01:30:48.001985 | PRE-RUN END RESULT_NORMAL: [trusted : github.com/vexxhost/zuul-config/playbooks/base/pre.yaml@main] 2026-04-02 01:30:48.005675 | PRE-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master] 2026-04-02 01:30:48.577253 | 2026-04-02 01:30:48.593602 | PLAY [all] 2026-04-02 01:30:48.612136 | 2026-04-02 01:30:48.612208 | TASK [Install binary dependencies] 2026-04-02 01:30:48.712122 | ubuntu-noble | ok 2026-04-02 01:30:48.735015 | 2026-04-02 01:30:48.735110 | TASK [bindep : Include find tasks] 2026-04-02 01:30:48.780305 | ubuntu-noble | ok 2026-04-02 01:30:48.788181 | ubuntu-noble | included: /var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/bindep/tasks/find.yaml 2026-04-02 01:30:48.794627 | 2026-04-02 01:30:48.794693 | TASK [bindep : Look for bindep.txt] 2026-04-02 01:30:49.157234 | ubuntu-noble | ok 2026-04-02 01:30:49.163261 | 2026-04-02 01:30:49.163345 | TASK [bindep : Define bindep_file fact] 2026-04-02 01:30:49.178146 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:49.186618 | 2026-04-02 01:30:49.186725 | TASK [bindep : Look for other-requirements.txt] 2026-04-02 01:30:49.420838 | ubuntu-noble | ok 2026-04-02 01:30:49.456303 | 2026-04-02 01:30:49.456397 | TASK [bindep : Define bindep_file fact] 2026-04-02 01:30:49.491164 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:49.505305 | 2026-04-02 01:30:49.505484 | TASK [bindep : Look for bindep fallback file] 2026-04-02 01:30:49.551568 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:49.583888 | 2026-04-02 01:30:49.584034 | TASK [bindep : Define bindep_file fact] 2026-04-02 01:30:49.609666 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:49.701183 | 2026-04-02 01:30:49.701293 | TASK [bindep : Include bindep tasks] 2026-04-02 01:30:49.729093 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:49.740550 | 2026-04-02 01:30:49.740639 | TASK [bindep : Include install tasks] 2026-04-02 01:30:49.775698 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:49.787175 | 2026-04-02 01:30:49.787264 | LOOP [bindep : Include package tasks] 2026-04-02 01:30:49.849073 | 2026-04-02 01:30:49.849253 | TASK [Run test-setup role] 2026-04-02 01:30:49.895476 | ubuntu-noble | ok 2026-04-02 01:30:49.915776 | 2026-04-02 01:30:49.915843 | TASK [test-setup : Check if project's tools/test-setup.sh exists] 2026-04-02 01:30:50.151542 | ubuntu-noble | ok 2026-04-02 01:30:50.159500 | 2026-04-02 01:30:50.159583 | TASK [test-setup : Run tools/test-setup.sh] 2026-04-02 01:30:50.708174 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:50.737504 | 2026-04-02 01:30:50.737557 | PLAY RECAP 2026-04-02 01:30:50.737603 | ubuntu-noble | ok: 4 changed: 0 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2026-04-02 01:30:50.737626 | 2026-04-02 01:30:50.847063 | PRE-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/pre.yaml@master] 2026-04-02 01:30:50.848610 | PRE-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/pre.yaml@master] 2026-04-02 01:30:51.458276 | 2026-04-02 01:30:51.458430 | PLAY [all] 2026-04-02 01:30:51.472540 | 2026-04-02 01:30:51.472622 | TASK [ensure-python : Validate python_version value] 2026-04-02 01:30:51.496586 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:51.507776 | 2026-04-02 01:30:51.507880 | TASK [ensure-python : Install specified version of python interpreter and development files (DEB)] 2026-04-02 01:30:51.532066 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:51.545051 | 2026-04-02 01:30:51.545205 | TASK [ensure-python : Pull in venv package] 2026-04-02 01:30:51.579370 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:51.588181 | 2026-04-02 01:30:51.588273 | TASK [ensure-python : Set default RPM package name] 2026-04-02 01:30:51.618811 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:51.631007 | 2026-04-02 01:30:51.631074 | TASK [ensure-python : Set RPM package name for CentOS/RHEL 9/10] 2026-04-02 01:30:51.654623 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:51.669607 | 2026-04-02 01:30:51.669706 | TASK [ensure-python : Install RPM package] 2026-04-02 01:30:51.693408 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:51.702838 | 2026-04-02 01:30:51.702926 | TASK [ensure-python : Install python using pyenv] 2026-04-02 01:30:51.727029 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:51.737482 | 2026-04-02 01:30:51.737570 | TASK [ensure-python : Activate python using stow] 2026-04-02 01:30:51.761716 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:30:51.779034 | 2026-04-02 01:30:51.779199 | TASK [Install pip] 2026-04-02 01:30:51.799329 | ubuntu-noble | ok 2026-04-02 01:30:51.826266 | 2026-04-02 01:30:51.826338 | TASK [ensure-pip : Check if pip is installed] 2026-04-02 01:30:52.373980 | ubuntu-noble | ok: Runtime: 0:00:00.009275 2026-04-02 01:30:52.380332 | 2026-04-02 01:30:52.380395 | LOOP [ensure-pip : Install pip from packages] 2026-04-02 01:30:52.416591 | ubuntu-noble | ok: "/var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip/tasks/Debian.yaml" 2026-04-02 01:30:52.435184 | ubuntu-noble | included: /var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-pip/tasks/Debian.yaml 2026-04-02 01:30:52.445909 | 2026-04-02 01:30:52.445969 | TASK [ensure-pip : Update package lists] 2026-04-02 01:32:39.200092 | ubuntu-noble | changed 2026-04-02 01:32:39.207536 | 2026-04-02 01:32:39.207622 | TASK [ensure-pip : Install Python 3 pip] 2026-04-02 01:33:21.862921 | ubuntu-noble | changed 2026-04-02 01:33:21.870883 | 2026-04-02 01:33:21.870965 | TASK [ensure-pip : Install Python 2 pip] 2026-04-02 01:33:21.893802 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:33:21.903587 | 2026-04-02 01:33:21.903673 | TASK [ensure-pip : Ensure setuptools] 2026-04-02 01:33:21.927933 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:33:21.939660 | 2026-04-02 01:33:21.939746 | TASK [ensure-pip : Check for ensurepip module] 2026-04-02 01:33:22.226430 | ubuntu-noble | usage: python -m ensurepip [-h] [--version] [-v] [-U] [--user] [--root ROOT] 2026-04-02 01:33:22.226524 | ubuntu-noble | [--altinstall] [--default-pip] 2026-04-02 01:33:22.226533 | ubuntu-noble | 2026-04-02 01:33:22.226540 | ubuntu-noble | options: 2026-04-02 01:33:22.226547 | ubuntu-noble | -h, --help show this help message and exit 2026-04-02 01:33:22.226557 | ubuntu-noble | --version Show the version of pip that is bundled with this Python. 2026-04-02 01:33:22.226565 | ubuntu-noble | -v, --verbose Give more output. Option is additive, and can be used up to 3 2026-04-02 01:33:22.226575 | ubuntu-noble | times. 2026-04-02 01:33:22.226581 | ubuntu-noble | -U, --upgrade Upgrade pip and dependencies, even if already installed. 2026-04-02 01:33:22.226586 | ubuntu-noble | --user Install using the user scheme. 2026-04-02 01:33:22.226592 | ubuntu-noble | --root ROOT Install everything relative to this alternate root directory. 2026-04-02 01:33:22.226597 | ubuntu-noble | --altinstall Make an alternate install, installing only the X.Y versioned 2026-04-02 01:33:22.226603 | ubuntu-noble | scripts (Default: pipX, pipX.Y). 2026-04-02 01:33:22.226608 | ubuntu-noble | --default-pip Make a default pip install, installing the unqualified pip in 2026-04-02 01:33:22.226613 | ubuntu-noble | addition to the versioned scripts. 2026-04-02 01:33:22.476412 | ubuntu-noble | ok: Runtime: 0:00:00.074515 2026-04-02 01:33:22.510698 | 2026-04-02 01:33:22.510844 | TASK [ensure-pip : Ensure python3-venv] 2026-04-02 01:33:22.544617 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:33:22.555036 | 2026-04-02 01:33:22.555124 | TASK [ensure-pip : Install pip from source] 2026-04-02 01:33:22.579224 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:33:22.589953 | 2026-04-02 01:33:22.590040 | TASK [ensure-pip : Probe for venv python full path] 2026-04-02 01:33:22.836023 | ubuntu-noble | /usr/bin/python3 2026-04-02 01:33:23.129560 | ubuntu-noble | ok: Runtime: 0:00:00.007379 2026-04-02 01:33:23.137181 | 2026-04-02 01:33:23.137287 | TASK [ensure-pip : Set host default] 2026-04-02 01:33:23.195629 | ubuntu-noble | ok 2026-04-02 01:33:23.204362 | 2026-04-02 01:33:23.204445 | TASK [ensure-pip : Set ensure_pip_virtualenv_command] 2026-04-02 01:33:23.255392 | ubuntu-noble | ok 2026-04-02 01:33:23.264692 | 2026-04-02 01:33:23.264753 | TASK [ensure-tox : Check if tox is installed] 2026-04-02 01:33:23.831584 | ubuntu-noble | ok: Runtime: 0:00:00.006600 2026-04-02 01:33:23.837446 | 2026-04-02 01:33:23.837511 | TASK [ensure-tox : Export preinstalled tox_exectuable] 2026-04-02 01:33:23.862802 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:33:23.874273 | 2026-04-02 01:33:23.874366 | TASK [ensure-tox : Create local venv] 2026-04-02 01:33:28.417223 | ubuntu-noble | ok: Runtime: 0:00:04.232543 2026-04-02 01:33:28.633913 | 2026-04-02 01:33:28.634026 | TASK [ensure-tox : Install tox to local venv] 2026-04-02 01:33:29.949403 | ubuntu-noble | Collecting tox 2026-04-02 01:33:29.993536 | ubuntu-noble | Downloading tox-4.52.0-py3-none-any.whl.metadata (3.6 kB) 2026-04-02 01:33:30.864180 | ubuntu-noble | Collecting cachetools>=7.0.3 (from tox) 2026-04-02 01:33:30.871271 | ubuntu-noble | Downloading cachetools-7.0.5-py3-none-any.whl.metadata (5.6 kB) 2026-04-02 01:33:31.532571 | ubuntu-noble | Collecting colorama>=0.4.6 (from tox) 2026-04-02 01:33:31.536295 | ubuntu-noble | Downloading colorama-0.4.6-py2.py3-none-any.whl.metadata (17 kB) 2026-04-02 01:33:32.577797 | ubuntu-noble | Collecting filelock>=3.25 (from tox) 2026-04-02 01:33:32.581207 | ubuntu-noble | Downloading filelock-3.25.2-py3-none-any.whl.metadata (2.0 kB) 2026-04-02 01:33:33.528962 | ubuntu-noble | Collecting packaging>=26 (from tox) 2026-04-02 01:33:33.532588 | ubuntu-noble | Downloading packaging-26.0-py3-none-any.whl.metadata (3.3 kB) 2026-04-02 01:33:34.459965 | ubuntu-noble | Collecting platformdirs>=4.9.4 (from tox) 2026-04-02 01:33:34.463277 | ubuntu-noble | Downloading platformdirs-4.9.4-py3-none-any.whl.metadata (4.7 kB) 2026-04-02 01:33:35.496849 | ubuntu-noble | Collecting pluggy>=1.6 (from tox) 2026-04-02 01:33:35.500537 | ubuntu-noble | Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) 2026-04-02 01:33:36.674926 | ubuntu-noble | Collecting pyproject-api>=1.10 (from tox) 2026-04-02 01:33:36.679172 | ubuntu-noble | Downloading pyproject_api-1.10.0-py3-none-any.whl.metadata (2.7 kB) 2026-04-02 01:33:37.428196 | ubuntu-noble | Collecting python-discovery>=1.2.1 (from tox) 2026-04-02 01:33:37.432725 | ubuntu-noble | Downloading python_discovery-1.2.1-py3-none-any.whl.metadata (5.4 kB) 2026-04-02 01:33:38.246724 | ubuntu-noble | Collecting tomli-w>=1.2 (from tox) 2026-04-02 01:33:38.250420 | ubuntu-noble | Downloading tomli_w-1.2.0-py3-none-any.whl.metadata (5.7 kB) 2026-04-02 01:33:39.338823 | ubuntu-noble | Collecting virtualenv>=21.1 (from tox) 2026-04-02 01:33:39.342651 | ubuntu-noble | Downloading virtualenv-21.2.0-py3-none-any.whl.metadata (3.5 kB) 2026-04-02 01:33:40.266241 | ubuntu-noble | Collecting distlib<1,>=0.3.7 (from virtualenv>=21.1->tox) 2026-04-02 01:33:40.269851 | ubuntu-noble | Downloading distlib-0.4.0-py2.py3-none-any.whl.metadata (5.2 kB) 2026-04-02 01:33:40.754428 | ubuntu-noble | Downloading tox-4.52.0-py3-none-any.whl (211 kB) 2026-04-02 01:33:41.435497 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 211.8/211.8 kB 298.4 kB/s eta 0:00:00 2026-04-02 01:33:41.441325 | ubuntu-noble | Downloading cachetools-7.0.5-py3-none-any.whl (13 kB) 2026-04-02 01:33:41.974575 | ubuntu-noble | Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB) 2026-04-02 01:33:43.453635 | ubuntu-noble | Downloading filelock-3.25.2-py3-none-any.whl (26 kB) 2026-04-02 01:33:44.144859 | ubuntu-noble | Downloading packaging-26.0-py3-none-any.whl (74 kB) 2026-04-02 01:33:44.617226 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 74.4/74.4 kB 137.0 kB/s eta 0:00:00 2026-04-02 01:33:44.622394 | ubuntu-noble | Downloading platformdirs-4.9.4-py3-none-any.whl (21 kB) 2026-04-02 01:33:45.055769 | ubuntu-noble | Downloading pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-04-02 01:33:45.457477 | ubuntu-noble | Downloading pyproject_api-1.10.0-py3-none-any.whl (13 kB) 2026-04-02 01:33:45.992162 | ubuntu-noble | Downloading python_discovery-1.2.1-py3-none-any.whl (31 kB) 2026-04-02 01:33:46.772429 | ubuntu-noble | Downloading tomli_w-1.2.0-py3-none-any.whl (6.7 kB) 2026-04-02 01:33:47.277094 | ubuntu-noble | Downloading virtualenv-21.2.0-py3-none-any.whl (5.8 MB) 2026-04-02 01:33:49.005325 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.8/5.8 MB 3.4 MB/s eta 0:00:00 2026-04-02 01:33:49.011921 | ubuntu-noble | Downloading distlib-0.4.0-py2.py3-none-any.whl (469 kB) 2026-04-02 01:33:49.605053 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 469.0/469.0 kB 780.0 kB/s eta 0:00:00 2026-04-02 01:33:49.669012 | ubuntu-noble | Installing collected packages: distlib, tomli-w, pluggy, platformdirs, packaging, filelock, colorama, cachetools, python-discovery, pyproject-api, virtualenv, tox 2026-04-02 01:33:50.482203 | ubuntu-noble | Successfully installed cachetools-7.0.5 colorama-0.4.6 distlib-0.4.0 filelock-3.25.2 packaging-26.0 platformdirs-4.9.4 pluggy-1.6.0 pyproject-api-1.10.0 python-discovery-1.2.1 tomli-w-1.2.0 tox-4.52.0 virtualenv-21.2.0 2026-04-02 01:33:50.744258 | ubuntu-noble | ok: Runtime: 0:00:21.709075 2026-04-02 01:33:50.749877 | 2026-04-02 01:33:50.749941 | TASK [ensure-tox : Export installed tox_executable path] 2026-04-02 01:33:50.782121 | ubuntu-noble | ok 2026-04-02 01:33:50.787625 | 2026-04-02 01:33:50.787687 | TASK [ensure-tox : Output tox version] 2026-04-02 01:33:51.258566 | ubuntu-noble | ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul 2026-04-02 01:33:51.273455 | ubuntu-noble | 4.52.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py 2026-04-02 01:33:51.350064 | ubuntu-noble | ok: Runtime: 0:00:00.276843 2026-04-02 01:33:51.355437 | 2026-04-02 01:33:51.355501 | TASK [ensure-tox : Make global symlink] 2026-04-02 01:33:51.379564 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:33:51.392408 | 2026-04-02 01:33:51.392457 | PLAY RECAP 2026-04-02 01:33:51.392504 | ubuntu-noble | ok: 13 changed: 9 unreachable: 0 failed: 0 skipped: 14 rescued: 0 ignored: 0 2026-04-02 01:33:51.392525 | 2026-04-02 01:33:51.507132 | PRE-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/pre.yaml@master] 2026-04-02 01:33:51.509589 | PRE-RUN START: [untrusted : github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/tox/pre.yml@main] 2026-04-02 01:33:52.067813 | 2026-04-02 01:33:52.067940 | PLAY [all] 2026-04-02 01:33:52.079655 | 2026-04-02 01:33:52.079732 | TASK [ensure-rust : Use rustup] 2026-04-02 01:33:52.115100 | ubuntu-noble | ok 2026-04-02 01:33:52.123824 | ubuntu-noble | included: /var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/ensure-rust/tasks/rustup.yaml 2026-04-02 01:33:52.141173 | 2026-04-02 01:33:52.141300 | TASK [ensure-rust : Install Rust] 2026-04-02 01:33:52.678949 | ubuntu-noble | info: downloading installer 2026-04-02 01:33:53.000439 | ubuntu-noble | warn: It looks like you have an existing rustup settings file at: 2026-04-02 01:33:53.000503 | ubuntu-noble | warn: /opt/rust/settings.toml 2026-04-02 01:33:53.000521 | ubuntu-noble | warn: Rustup will install the default toolchain as specified in the settings file, 2026-04-02 01:33:53.000542 | ubuntu-noble | warn: instead of the one inferred from the default host triple. 2026-04-02 01:33:53.031485 | ubuntu-noble | info: profile set to default 2026-04-02 01:33:53.031532 | ubuntu-noble | info: default host triple is x86_64-unknown-linux-gnu 2026-04-02 01:33:53.033582 | ubuntu-noble | info: syncing channel updates for stable-x86_64-unknown-linux-gnu 2026-04-02 01:33:53.285643 | ubuntu-noble | info: latest update on 2026-03-26 for version 1.94.1 (e408947bf 2026-03-25) 2026-04-02 01:33:53.285732 | ubuntu-noble | info: downloading 6 components 2026-04-02 01:34:06.703271 | ubuntu-noble | info: default toolchain set to stable-x86_64-unknown-linux-gnu 2026-04-02 01:34:06.703329 | ubuntu-noble | 2026-04-02 01:34:06.719701 | ubuntu-noble | stable-x86_64-unknown-linux-gnu installed - rustc 1.94.1 (e408947bf 2026-03-25) 2026-04-02 01:34:06.719756 | ubuntu-noble | 2026-04-02 01:34:06.719774 | ubuntu-noble | 2026-04-02 01:34:06.719784 | ubuntu-noble | Rust is installed now. Great! 2026-04-02 01:34:06.719794 | ubuntu-noble | 2026-04-02 01:34:06.719804 | ubuntu-noble | To get started you need Cargo's bin directory (/opt/rust/bin) in your PATH 2026-04-02 01:34:06.719814 | ubuntu-noble | environment variable. This has not been done automatically. 2026-04-02 01:34:06.719823 | ubuntu-noble | 2026-04-02 01:34:06.719833 | ubuntu-noble | To configure your current shell, you need to source 2026-04-02 01:34:06.719851 | ubuntu-noble | the corresponding env file under /opt/rust. 2026-04-02 01:34:06.719860 | ubuntu-noble | 2026-04-02 01:34:06.719882 | ubuntu-noble | This is usually done by running one of the following (note the leading DOT): 2026-04-02 01:34:06.719892 | ubuntu-noble | . "/opt/rust/env" # For sh/bash/zsh/ash/dash/pdksh 2026-04-02 01:34:06.719901 | ubuntu-noble | source "/opt/rust/env.fish" # For fish 2026-04-02 01:34:06.719912 | ubuntu-noble | source "/opt/rust/env.nu" # For nushell 2026-04-02 01:34:06.719924 | ubuntu-noble | source "/opt/rust/env.tcsh" # For tcsh 2026-04-02 01:34:06.719936 | ubuntu-noble | . "/opt/rust/env.ps1" # For pwsh 2026-04-02 01:34:06.719949 | ubuntu-noble | source "/opt/rust/env.xsh" # For xonsh 2026-04-02 01:34:06.719967 | ubuntu-noble | warn: no default linker (`cc`) was found in your PATH 2026-04-02 01:34:06.719980 | ubuntu-noble | warn: many Rust crates require a system C toolchain to build 2026-04-02 01:34:07.195249 | ubuntu-noble | ok: Runtime: 0:00:14.242970 2026-04-02 01:34:07.204154 | 2026-04-02 01:34:07.204221 | TASK [ensure-rust : Install wrapper helper script] 2026-04-02 01:34:07.997635 | ubuntu-noble | changed 2026-04-02 01:34:08.004878 | 2026-04-02 01:34:08.004943 | TASK [ensure-rust : Run wrapper installation] 2026-04-02 01:34:08.257454 | ubuntu-noble | Install link for cargo 2026-04-02 01:34:08.263032 | ubuntu-noble | Install link for cargo-clippy 2026-04-02 01:34:08.268816 | ubuntu-noble | Install link for cargo-fmt 2026-04-02 01:34:08.274188 | ubuntu-noble | Install link for cargo-miri 2026-04-02 01:34:08.279043 | ubuntu-noble | Install link for clippy-driver 2026-04-02 01:34:08.283742 | ubuntu-noble | Install link for rls 2026-04-02 01:34:08.288557 | ubuntu-noble | Install link for rust-analyzer 2026-04-02 01:34:08.293333 | ubuntu-noble | Install link for rust-gdb 2026-04-02 01:34:08.298975 | ubuntu-noble | Install link for rust-gdbgui 2026-04-02 01:34:08.304580 | ubuntu-noble | Install link for rust-lldb 2026-04-02 01:34:08.309816 | ubuntu-noble | Install link for rustc 2026-04-02 01:34:08.314543 | ubuntu-noble | Install link for rustdoc 2026-04-02 01:34:08.319686 | ubuntu-noble | Install link for rustfmt 2026-04-02 01:34:08.323902 | ubuntu-noble | Install link for rustup 2026-04-02 01:34:08.543418 | ubuntu-noble | ok: Runtime: 0:00:00.086453 2026-04-02 01:34:08.550209 | 2026-04-02 01:34:08.550278 | TASK [ensure-rust : Install packages] 2026-04-02 01:34:08.575547 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:34:08.592212 | 2026-04-02 01:34:08.592296 | TASK [Check and install uv if necessary] 2026-04-02 01:34:08.616293 | ubuntu-noble | ok 2026-04-02 01:34:08.635865 | 2026-04-02 01:34:08.635933 | TASK [Install pip] 2026-04-02 01:34:08.656209 | ubuntu-noble | ok 2026-04-02 01:34:08.679319 | 2026-04-02 01:34:08.679398 | TASK [ensure-pip : Check if pip is installed] 2026-04-02 01:34:08.921763 | ubuntu-noble | /usr/bin/pip3 2026-04-02 01:34:08.958273 | ubuntu-noble | usage: __main__.py [-h] {unpack,pack,convert,tags,version,help} ... 2026-04-02 01:34:08.958312 | ubuntu-noble | 2026-04-02 01:34:08.958325 | ubuntu-noble | positional arguments: 2026-04-02 01:34:08.958338 | ubuntu-noble | {unpack,pack,convert,tags,version,help} 2026-04-02 01:34:08.958351 | ubuntu-noble | commands 2026-04-02 01:34:08.958363 | ubuntu-noble | unpack Unpack wheel 2026-04-02 01:34:08.958383 | ubuntu-noble | pack Repack wheel 2026-04-02 01:34:08.958396 | ubuntu-noble | convert Convert egg or wininst to wheel 2026-04-02 01:34:08.958411 | ubuntu-noble | tags Add or replace the tags on a wheel 2026-04-02 01:34:08.958424 | ubuntu-noble | version Print version and exit 2026-04-02 01:34:08.958434 | ubuntu-noble | help Show this help 2026-04-02 01:34:08.958443 | ubuntu-noble | 2026-04-02 01:34:08.958452 | ubuntu-noble | options: 2026-04-02 01:34:08.958462 | ubuntu-noble | -h, --help show this help message and exit 2026-04-02 01:34:09.214735 | ubuntu-noble | ok: Runtime: 0:00:00.050430 2026-04-02 01:34:09.257694 | 2026-04-02 01:34:09.257844 | LOOP [ensure-pip : Install pip from packages] 2026-04-02 01:34:09.285052 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:34:09.303443 | 2026-04-02 01:34:09.303613 | TASK [ensure-pip : Ensure setuptools] 2026-04-02 01:34:09.329210 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:34:09.340873 | 2026-04-02 01:34:09.341002 | TASK [ensure-pip : Check for ensurepip module] 2026-04-02 01:34:09.633379 | ubuntu-noble | usage: python -m ensurepip [-h] [--version] [-v] [-U] [--user] [--root ROOT] 2026-04-02 01:34:09.633511 | ubuntu-noble | [--altinstall] [--default-pip] 2026-04-02 01:34:09.633528 | ubuntu-noble | 2026-04-02 01:34:09.633539 | ubuntu-noble | options: 2026-04-02 01:34:09.633552 | ubuntu-noble | -h, --help show this help message and exit 2026-04-02 01:34:09.633569 | ubuntu-noble | --version Show the version of pip that is bundled with this Python. 2026-04-02 01:34:09.633582 | ubuntu-noble | -v, --verbose Give more output. Option is additive, and can be used up to 3 2026-04-02 01:34:09.633598 | ubuntu-noble | times. 2026-04-02 01:34:09.633609 | ubuntu-noble | -U, --upgrade Upgrade pip and dependencies, even if already installed. 2026-04-02 01:34:09.633619 | ubuntu-noble | --user Install using the user scheme. 2026-04-02 01:34:09.633629 | ubuntu-noble | --root ROOT Install everything relative to this alternate root directory. 2026-04-02 01:34:09.633640 | ubuntu-noble | --altinstall Make an alternate install, installing only the X.Y versioned 2026-04-02 01:34:09.633651 | ubuntu-noble | scripts (Default: pipX, pipX.Y). 2026-04-02 01:34:09.633661 | ubuntu-noble | --default-pip Make a default pip install, installing the unqualified pip in 2026-04-02 01:34:09.633707 | ubuntu-noble | addition to the versioned scripts. 2026-04-02 01:34:09.882796 | ubuntu-noble | ok: Runtime: 0:00:00.064533 2026-04-02 01:34:09.892341 | 2026-04-02 01:34:09.892441 | TASK [ensure-pip : Ensure python3-venv] 2026-04-02 01:34:09.917492 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:34:09.928921 | 2026-04-02 01:34:09.929071 | TASK [ensure-pip : Install pip from source] 2026-04-02 01:34:09.954881 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:34:09.967326 | 2026-04-02 01:34:09.967393 | TASK [ensure-pip : Probe for venv python full path] 2026-04-02 01:34:10.206558 | ubuntu-noble | /usr/bin/python3 2026-04-02 01:34:10.509281 | ubuntu-noble | ok: Runtime: 0:00:00.007700 2026-04-02 01:34:10.515260 | 2026-04-02 01:34:10.515327 | TASK [ensure-pip : Set host default] 2026-04-02 01:34:10.569049 | ubuntu-noble | ok 2026-04-02 01:34:10.577121 | 2026-04-02 01:34:10.577213 | TASK [ensure-pip : Set ensure_pip_virtualenv_command] 2026-04-02 01:34:10.638258 | ubuntu-noble | ok 2026-04-02 01:34:10.653192 | 2026-04-02 01:34:10.653294 | TASK [ensure-python-command : Check if the command name is set and non-empty] 2026-04-02 01:34:10.690417 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:34:10.703281 | 2026-04-02 01:34:10.703456 | TASK [ensure-python-command : Check if uv is available] 2026-04-02 01:34:11.244452 | ubuntu-noble | ok: Runtime: 0:00:00.007399 2026-04-02 01:34:11.252080 | 2026-04-02 01:34:11.252173 | TASK [ensure-python-command : Export preinstalled ensure_python_command_executable] 2026-04-02 01:34:11.277330 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:34:11.288535 | 2026-04-02 01:34:11.288637 | TASK [ensure-python-command : Create local venv] 2026-04-02 01:34:14.831193 | ubuntu-noble | ok: Runtime: 0:00:03.056799 2026-04-02 01:34:14.839215 | 2026-04-02 01:34:14.839281 | TASK [ensure-python-command : Install uv to local venv] 2026-04-02 01:34:15.896705 | ubuntu-noble | Collecting uv 2026-04-02 01:34:15.936805 | ubuntu-noble | Downloading uv-0.11.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (11 kB) 2026-04-02 01:34:15.984529 | ubuntu-noble | Downloading uv-0.11.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (24.6 MB) 2026-04-02 01:34:16.340419 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 24.6/24.6 MB 40.6 MB/s eta 0:00:00 2026-04-02 01:34:16.374337 | ubuntu-noble | Installing collected packages: uv 2026-04-02 01:34:16.720546 | ubuntu-noble | Successfully installed uv-0.11.3 2026-04-02 01:34:16.885738 | ubuntu-noble | ok: Runtime: 0:00:01.773904 2026-04-02 01:34:16.893619 | 2026-04-02 01:34:16.893710 | TASK [ensure-python-command : Export installed ensure_python_command_executable path] 2026-04-02 01:34:16.932764 | ubuntu-noble | ok 2026-04-02 01:34:16.939393 | 2026-04-02 01:34:16.939468 | TASK [ensure-python-command : Output uv version] 2026-04-02 01:34:17.185342 | ubuntu-noble | uv 0.11.3 (x86_64-unknown-linux-gnu) 2026-04-02 01:34:17.478671 | ubuntu-noble | ok: Runtime: 0:00:00.013287 2026-04-02 01:34:17.519067 | 2026-04-02 01:34:17.519215 | TASK [ensure-python-command : Make global symlink] 2026-04-02 01:34:17.876440 | ubuntu-noble | changed 2026-04-02 01:34:17.887927 | 2026-04-02 01:34:17.887993 | TASK [ensure-uv : Export ensure_uv_executable path] 2026-04-02 01:34:17.923469 | ubuntu-noble | ok 2026-04-02 01:34:17.934300 | 2026-04-02 01:34:17.934368 | TASK [Install build dependencies] 2026-04-02 01:35:46.519336 | ubuntu-noble | changed 2026-04-02 01:35:46.526966 | 2026-04-02 01:35:46.527026 | TASK [Run no-op command to build module] 2026-04-02 01:35:46.874754 | ubuntu-noble | Using CPython 3.12.3 interpreter at: /usr/bin/python3 2026-04-02 01:35:46.874890 | ubuntu-noble | Creating virtual environment at: .venv 2026-04-02 01:35:48.845153 | ubuntu-noble | warning: `fixtures==4.2.4.post1` is yanked (reason: "https://github.com/testing-cabal/fixtures/issues/103") 2026-04-02 01:35:48.881078 | ubuntu-noble | Building magnum-cluster-api @ file:///home/zuul/src/github.com/vexxhost/magnum-cluster-api 2026-04-02 01:35:48.898247 | ubuntu-noble | Downloading netaddr (2.2MiB) 2026-04-02 01:35:48.900091 | ubuntu-noble | Downloading cryptography (4.0MiB) 2026-04-02 01:35:48.900258 | ubuntu-noble | Downloading babel (9.7MiB) 2026-04-02 01:35:48.900580 | ubuntu-noble | Downloading setuptools (1.2MiB) 2026-04-02 01:35:48.901780 | ubuntu-noble | Downloading networkx (1.6MiB) 2026-04-02 01:35:48.902628 | ubuntu-noble | Downloading python-openstackclient (1.1MiB) 2026-04-02 01:35:48.903008 | ubuntu-noble | Downloading kubernetes (1.9MiB) 2026-04-02 01:35:48.906078 | ubuntu-noble | Downloading sqlalchemy (3.1MiB) 2026-04-02 01:35:48.906436 | ubuntu-noble | Downloading openstacksdk (1.7MiB) 2026-04-02 01:35:49.418527 | ubuntu-noble | Building haproxyadmin==0.2.4 2026-04-02 01:35:49.418770 | ubuntu-noble | Building pyperclip==1.9.0 2026-04-02 01:35:49.419127 | ubuntu-noble | Building logutils==0.3.5 2026-04-02 01:35:49.420829 | ubuntu-noble | Building simplegeneric==0.8.1 2026-04-02 01:35:49.653710 | ubuntu-noble | Built logutils==0.3.5 2026-04-02 01:35:49.653735 | ubuntu-noble | Downloaded netaddr 2026-04-02 01:35:49.659397 | ubuntu-noble | Built simplegeneric==0.8.1 2026-04-02 01:35:49.671476 | ubuntu-noble | Built pyperclip==1.9.0 2026-04-02 01:35:49.691228 | ubuntu-noble | Built haproxyadmin==0.2.4 2026-04-02 01:35:49.780106 | ubuntu-noble | Downloaded python-openstackclient 2026-04-02 01:35:49.818440 | ubuntu-noble | Downloaded setuptools 2026-04-02 01:35:49.819834 | ubuntu-noble | Downloaded sqlalchemy 2026-04-02 01:35:49.840965 | ubuntu-noble | Downloaded cryptography 2026-04-02 01:35:49.858407 | ubuntu-noble | Downloaded networkx 2026-04-02 01:35:49.934256 | ubuntu-noble | Downloaded kubernetes 2026-04-02 01:35:50.030776 | ubuntu-noble | Downloaded openstacksdk 2026-04-02 01:35:50.191953 | ubuntu-noble | Downloaded babel 2026-04-02 01:37:43.921466 | ubuntu-noble | Built magnum-cluster-api @ file:///home/zuul/src/github.com/vexxhost/magnum-cluster-api 2026-04-02 01:37:44.012134 | ubuntu-noble | Installed 155 packages in 87ms 2026-04-02 01:37:44.030221 | ubuntu-noble | Python 3.12.3 2026-04-02 01:37:44.167621 | ubuntu-noble | ok: Runtime: 0:01:57.364401 2026-04-02 01:37:44.170162 | 2026-04-02 01:37:44.170221 | PLAY RECAP 2026-04-02 01:37:44.170269 | ubuntu-noble | ok: 18 changed: 13 unreachable: 0 failed: 0 skipped: 7 rescued: 0 ignored: 0 2026-04-02 01:37:44.170292 | 2026-04-02 01:37:44.298876 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/tox/pre.yml@main] 2026-04-02 01:37:44.300638 | PRE-RUN START: [untrusted : github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/unit/pre.yml@main] 2026-04-02 01:37:44.854731 | 2026-04-02 01:37:44.854863 | PLAY [all] 2026-04-02 01:37:44.865056 | 2026-04-02 01:37:44.865130 | TASK [shell: {{ zuul.project.src_dir }}/hack/setup-helm.sh] 2026-04-02 01:37:45.227621 | ubuntu-noble | + HELM_VERSION=v3.10.3 2026-04-02 01:37:45.227777 | ubuntu-noble | + curl -Lo /tmp/helm.tar.gz https://get.helm.sh/helm-v3.10.3-linux-amd64.tar.gz 2026-04-02 01:37:45.239366 | ubuntu-noble | % Total % Received % Xferd Average Speed Time Time Time Current 2026-04-02 01:37:45.239469 | ubuntu-noble | Dload Upload Total Spent Left Speed 2026-04-02 01:37:45.667969 | ubuntu-noble | 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 13.8M 0 65536 0 0 314k 0 0:00:45 --:--:-- 0:00:45 313k 100 13.8M 100 13.8M 0 0 32.4M 0 --:--:-- --:--:-- --:--:-- 32.3M 2026-04-02 01:37:45.672057 | ubuntu-noble | + tar -zxvf /tmp/helm.tar.gz -C /tmp 2026-04-02 01:37:45.681836 | ubuntu-noble | linux-amd64/ 2026-04-02 01:37:45.681884 | ubuntu-noble | linux-amd64/helm 2026-04-02 01:37:45.984167 | ubuntu-noble | linux-amd64/LICENSE 2026-04-02 01:37:45.984260 | ubuntu-noble | linux-amd64/README.md 2026-04-02 01:37:45.984803 | ubuntu-noble | + sudo mv /tmp/linux-amd64/helm /usr/local/bin/helm 2026-04-02 01:37:45.996275 | ubuntu-noble | + rm -rf /tmp/helm.tar.gz /tmp/linux-amd64/ 2026-04-02 01:37:46.404602 | ubuntu-noble | ok: Runtime: 0:00:00.789883 2026-04-02 01:37:46.406945 | 2026-04-02 01:37:46.407011 | PLAY RECAP 2026-04-02 01:37:46.407075 | ubuntu-noble | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 0 rescued: 0 ignored: 0 2026-04-02 01:37:46.407105 | 2026-04-02 01:37:46.509411 | PRE-RUN END RESULT_NORMAL: [untrusted : github.com/vexxhost/magnum-cluster-api/zuul.d/playbooks/unit/pre.yml@main] 2026-04-02 01:37:46.511489 | RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/run.yaml@master] 2026-04-02 01:37:47.138134 | 2026-04-02 01:37:47.138267 | PLAY [all] 2026-04-02 01:37:47.150719 | 2026-04-02 01:37:47.150800 | TASK [revoke-sudo : Check if zuul is sudoer] 2026-04-02 01:37:47.686366 | ubuntu-noble | ok: Runtime: 0:00:00.021685 2026-04-02 01:37:47.693923 | 2026-04-02 01:37:47.694091 | TASK [revoke-sudo : Remove sudo access for zuul user.] 2026-04-02 01:37:48.233216 | ubuntu-noble | ok: Runtime: 0:00:00.009881 2026-04-02 01:37:48.242159 | 2026-04-02 01:37:48.242271 | TASK [revoke-sudo : Prove that general sudo access is actually revoked.] 2026-04-02 01:37:48.474357 | ubuntu-noble | sudo: a password is required 2026-04-02 01:37:48.782423 | ubuntu-noble | ok: Runtime: 0:00:00.020701 2026-04-02 01:37:48.792670 | 2026-04-02 01:37:48.792750 | TASK [tox : Check to see if the constraints file exists] 2026-04-02 01:37:48.817971 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:37:48.827303 | 2026-04-02 01:37:48.827399 | TASK [tox : Fail if constraints file is missing] 2026-04-02 01:37:48.852996 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:37:48.864429 | 2026-04-02 01:37:48.864525 | TASK [tox : Record file location] 2026-04-02 01:37:48.890073 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:37:48.899725 | 2026-04-02 01:37:48.899796 | TASK [tox : Install tox siblings] 2026-04-02 01:37:48.933342 | ubuntu-noble | ok 2026-04-02 01:37:48.945027 | ubuntu-noble | included: /var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/untrusted/project_0/opendev.org/zuul/zuul-jobs/roles/tox/tasks/siblings.yaml 2026-04-02 01:37:48.950755 | 2026-04-02 01:37:48.950821 | TASK [tox : Run tox without tests] 2026-04-02 01:37:49.438643 | ubuntu-noble | ROOT: 184 D setup logging to DEBUG on pid 6481 [tox/report.py:229] 2026-04-02 01:37:49.473940 | ubuntu-noble | unit: 219 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65] 2026-04-02 01:37:49.478414 | ubuntu-noble | unit: 223 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:62] 2026-04-02 01:37:49.478888 | ubuntu-noble | unit: 224 D filesystem is case-sensitive [python_discovery/_compat.py:18] 2026-04-02 01:37:49.483036 | ubuntu-noble | unit: 228 D get interpreter info via cmd: /usr/bin/python3.12 /home/zuul/.local/tox/lib/python3.12/site-packages/python_discovery/_py_info.py 4bbb408c8e0962cb8a1b01401a80c223 2e2265f35a164c12bec868d5ecf0e103 [python_discovery/_cached_py_info.py:198] 2026-04-02 01:37:49.546109 | ubuntu-noble | unit: 291 D wrote python info of /usr/bin/python3.12 at /home/zuul/.cache/virtualenv/py_info/4/f0d7a494a3f776233427cb85a7e198c7cf4913b50a203c6febc678cc4f5bf265.json [virtualenv/app_data/via_disk_folder.py:159] 2026-04-02 01:37:49.546567 | ubuntu-noble | unit: 292 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71] 2026-04-02 01:37:49.546640 | ubuntu-noble | unit: 292 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75] 2026-04-02 01:37:49.548622 | ubuntu-noble | unit: 294 D symlink on filesystem does work [virtualenv/info.py:51] 2026-04-02 01:37:49.548859 | ubuntu-noble | unit: 294 D filesystem is case-sensitive [virtualenv/info.py:28] 2026-04-02 01:37:49.582813 | ubuntu-noble | unit: 328 I create virtual environment via CPython3Posix(dest=/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77] 2026-04-02 01:37:49.583101 | ubuntu-noble | unit: 328 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/bin [virtualenv/util/path/_sync.py:18] 2026-04-02 01:37:49.583160 | ubuntu-noble | unit: 328 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/include [virtualenv/util/path/_sync.py:18] 2026-04-02 01:37:49.583262 | ubuntu-noble | unit: 328 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages [virtualenv/util/path/_sync.py:18] 2026-04-02 01:37:49.583533 | ubuntu-noble | unit: 329 D write /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41] 2026-04-02 01:37:49.583563 | ubuntu-noble | unit: 329 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.583610 | ubuntu-noble | unit: 329 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.583648 | ubuntu-noble | unit: 329 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.583720 | ubuntu-noble | unit: 329 D version = 3.12.3 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.583766 | ubuntu-noble | unit: 329 D executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.583818 | ubuntu-noble | unit: 329 D command = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.583866 | ubuntu-noble | unit: 329 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.583913 | ubuntu-noble | unit: 329 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.583959 | ubuntu-noble | unit: 329 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.584008 | ubuntu-noble | unit: 329 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.584053 | ubuntu-noble | unit: 329 D base-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.584328 | ubuntu-noble | unit: 329 D symlink /usr/bin/python3.12 to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/bin/python [virtualenv/util/path/_sync.py:38] 2026-04-02 01:37:49.584624 | ubuntu-noble | unit: 330 D create virtualenv import hook file /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:118] 2026-04-02 01:37:49.584696 | ubuntu-noble | unit: 330 D create /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:121] 2026-04-02 01:37:49.585122 | ubuntu-noble | unit: 330 D ============================== target debug ============================== [virtualenv/run/session.py:79] 2026-04-02 01:37:49.585290 | ubuntu-noble | unit: 330 D debug via /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/bin/python /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:263] 2026-04-02 01:37:49.623061 | ubuntu-noble | unit: 330 D { 2026-04-02 01:37:49.623093 | ubuntu-noble | "sys": { 2026-04-02 01:37:49.623103 | ubuntu-noble | "executable": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/bin/python", 2026-04-02 01:37:49.623112 | ubuntu-noble | "_base_executable": "/usr/bin/python3.12", 2026-04-02 01:37:49.623121 | ubuntu-noble | "prefix": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit", 2026-04-02 01:37:49.623129 | ubuntu-noble | "base_prefix": "/usr", 2026-04-02 01:37:49.623138 | ubuntu-noble | "real_prefix": null, 2026-04-02 01:37:49.623147 | ubuntu-noble | "exec_prefix": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit", 2026-04-02 01:37:49.623155 | ubuntu-noble | "base_exec_prefix": "/usr", 2026-04-02 01:37:49.623163 | ubuntu-noble | "path": [ 2026-04-02 01:37:49.623172 | ubuntu-noble | "/usr/lib/python312.zip", 2026-04-02 01:37:49.623180 | ubuntu-noble | "/usr/lib/python3.12", 2026-04-02 01:37:49.623189 | ubuntu-noble | "/usr/lib/python3.12/lib-dynload", 2026-04-02 01:37:49.623197 | ubuntu-noble | "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages" 2026-04-02 01:37:49.623205 | ubuntu-noble | ], 2026-04-02 01:37:49.623214 | ubuntu-noble | "meta_path": [ 2026-04-02 01:37:49.623222 | ubuntu-noble | "", 2026-04-02 01:37:49.623230 | ubuntu-noble | "", 2026-04-02 01:37:49.623238 | ubuntu-noble | "", 2026-04-02 01:37:49.623246 | ubuntu-noble | "" 2026-04-02 01:37:49.623254 | ubuntu-noble | ], 2026-04-02 01:37:49.623262 | ubuntu-noble | "fs_encoding": "utf-8", 2026-04-02 01:37:49.623271 | ubuntu-noble | "io_encoding": "utf-8" 2026-04-02 01:37:49.623279 | ubuntu-noble | }, 2026-04-02 01:37:49.623287 | ubuntu-noble | "version": "3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]", 2026-04-02 01:37:49.623296 | ubuntu-noble | "makefile_filename": "/usr/lib/python3.12/config-3.12-x86_64-linux-gnu/Makefile", 2026-04-02 01:37:49.623305 | ubuntu-noble | "os": "", 2026-04-02 01:37:49.623325 | ubuntu-noble | "site": "", 2026-04-02 01:37:49.623334 | ubuntu-noble | "datetime": "", 2026-04-02 01:37:49.623342 | ubuntu-noble | "math": "", 2026-04-02 01:37:49.623350 | ubuntu-noble | "json": "" 2026-04-02 01:37:49.623358 | ubuntu-noble | } [virtualenv/run/session.py:80] 2026-04-02 01:37:49.623372 | ubuntu-noble | unit: 368 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/zuul/.cache/virtualenv) [virtualenv/run/session.py:84] 2026-04-02 01:37:49.624626 | ubuntu-noble | unit: 370 D install pip from wheel /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/seed/wheels/embed/pip-26.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65] 2026-04-02 01:37:49.625387 | ubuntu-noble | unit: 371 D build install image for pip-26.0.1-py3-none-any.whl to /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any [virtualenv/seed/embed/via_app_data/pip_install/base.py:53] 2026-04-02 01:37:49.720274 | ubuntu-noble | unit: 465 D copy /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.virtualenv to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/pip-26.0.1.virtualenv [virtualenv/util/path/_sync.py:46] 2026-04-02 01:37:49.720362 | ubuntu-noble | unit: 466 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/pip [virtualenv/util/path/_sync.py:46] 2026-04-02 01:37:49.773858 | ubuntu-noble | unit: 519 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.dist-info to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/pip-26.0.1.dist-info [virtualenv/util/path/_sync.py:46] 2026-04-02 01:37:49.779480 | ubuntu-noble | unit: 525 D generated console scripts pip3.12 pip pip-3.12 pip3 [virtualenv/seed/embed/via_app_data/pip_install/base.py:49] 2026-04-02 01:37:49.779993 | ubuntu-noble | unit: 525 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:90] 2026-04-02 01:37:49.786438 | ubuntu-noble | unit: 531 D write /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41] 2026-04-02 01:37:49.786477 | ubuntu-noble | unit: 532 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.786656 | ubuntu-noble | unit: 532 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.786732 | ubuntu-noble | unit: 532 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.786824 | ubuntu-noble | unit: 532 D version = 3.12.3 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.786925 | ubuntu-noble | unit: 532 D executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.787023 | ubuntu-noble | unit: 532 D command = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.787107 | ubuntu-noble | unit: 532 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.787199 | ubuntu-noble | unit: 532 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.787295 | ubuntu-noble | unit: 532 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.787390 | ubuntu-noble | unit: 533 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.787486 | ubuntu-noble | unit: 533 D base-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:49.791875 | ubuntu-noble | unit: 537 W install_deps> python -I -m pip install fixtures lark oslotest pytest pytest-mock responses stestr [tox/tox_env/api.py:515] 2026-04-02 01:37:50.755702 | ubuntu-noble | Collecting fixtures 2026-04-02 01:37:50.825931 | ubuntu-noble | Downloading fixtures-4.3.2-py3-none-any.whl.metadata (22 kB) 2026-04-02 01:37:50.863197 | ubuntu-noble | Collecting lark 2026-04-02 01:37:50.873547 | ubuntu-noble | Downloading lark-1.3.1-py3-none-any.whl.metadata (1.8 kB) 2026-04-02 01:37:50.919558 | ubuntu-noble | Collecting oslotest 2026-04-02 01:37:50.923994 | ubuntu-noble | Downloading oslotest-6.1.0-py3-none-any.whl.metadata (1.8 kB) 2026-04-02 01:37:50.987402 | ubuntu-noble | Collecting pytest 2026-04-02 01:37:50.991281 | ubuntu-noble | Downloading pytest-9.0.2-py3-none-any.whl.metadata (7.6 kB) 2026-04-02 01:37:51.050561 | ubuntu-noble | Collecting pytest-mock 2026-04-02 01:37:51.055152 | ubuntu-noble | Downloading pytest_mock-3.15.1-py3-none-any.whl.metadata (3.9 kB) 2026-04-02 01:37:51.094932 | ubuntu-noble | Collecting responses 2026-04-02 01:37:51.099408 | ubuntu-noble | Downloading responses-0.26.0-py3-none-any.whl.metadata (48 kB) 2026-04-02 01:37:51.145118 | ubuntu-noble | Collecting stestr 2026-04-02 01:37:51.152389 | ubuntu-noble | Downloading stestr-4.2.1-py3-none-any.whl.metadata (7.7 kB) 2026-04-02 01:37:51.207570 | ubuntu-noble | Collecting testtools>=2.2.0 (from oslotest) 2026-04-02 01:37:51.214093 | ubuntu-noble | Downloading testtools-2.8.7-py3-none-any.whl.metadata (5.4 kB) 2026-04-02 01:37:51.261033 | ubuntu-noble | Collecting iniconfig>=1.0.1 (from pytest) 2026-04-02 01:37:51.264896 | ubuntu-noble | Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 01:37:51.301108 | ubuntu-noble | Collecting packaging>=22 (from pytest) 2026-04-02 01:37:51.302313 | ubuntu-noble | Using cached packaging-26.0-py3-none-any.whl.metadata (3.3 kB) 2026-04-02 01:37:51.314819 | ubuntu-noble | Collecting pluggy<2,>=1.5 (from pytest) 2026-04-02 01:37:51.315841 | ubuntu-noble | Using cached pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB) 2026-04-02 01:37:51.345176 | ubuntu-noble | Collecting pygments>=2.7.2 (from pytest) 2026-04-02 01:37:51.349245 | ubuntu-noble | Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 01:37:51.403765 | ubuntu-noble | Collecting requests<3.0,>=2.30.0 (from responses) 2026-04-02 01:37:51.407119 | ubuntu-noble | Downloading requests-2.33.1-py3-none-any.whl.metadata (4.8 kB) 2026-04-02 01:37:51.455647 | ubuntu-noble | Collecting urllib3<3.0,>=1.25.10 (from responses) 2026-04-02 01:37:51.458489 | ubuntu-noble | Downloading urllib3-2.6.3-py3-none-any.whl.metadata (6.9 kB) 2026-04-02 01:37:51.516005 | ubuntu-noble | Collecting pyyaml (from responses) 2026-04-02 01:37:51.521088 | ubuntu-noble | Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.4 kB) 2026-04-02 01:37:51.651911 | ubuntu-noble | Collecting charset_normalizer<4,>=2 (from requests<3.0,>=2.30.0->responses) 2026-04-02 01:37:51.656627 | ubuntu-noble | Downloading charset_normalizer-3.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (40 kB) 2026-04-02 01:37:51.696991 | ubuntu-noble | Collecting idna<4,>=2.5 (from requests<3.0,>=2.30.0->responses) 2026-04-02 01:37:51.700531 | ubuntu-noble | Downloading idna-3.11-py3-none-any.whl.metadata (8.4 kB) 2026-04-02 01:37:51.743618 | ubuntu-noble | Collecting certifi>=2023.5.7 (from requests<3.0,>=2.30.0->responses) 2026-04-02 01:37:51.747264 | ubuntu-noble | Downloading certifi-2026.2.25-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 01:37:51.790923 | ubuntu-noble | Collecting cliff>=2.8.0 (from stestr) 2026-04-02 01:37:51.796629 | ubuntu-noble | Downloading cliff-4.13.2-py3-none-any.whl.metadata (2.1 kB) 2026-04-02 01:37:51.827968 | ubuntu-noble | Collecting python-subunit>=1.4.0 (from stestr) 2026-04-02 01:37:51.832807 | ubuntu-noble | Downloading python_subunit-1.4.5-py3-none-any.whl.metadata (22 kB) 2026-04-02 01:37:52.191480 | ubuntu-noble | Collecting voluptuous>=0.8.9 (from stestr) 2026-04-02 01:37:52.196837 | ubuntu-noble | Downloading voluptuous-0.16.0-py3-none-any.whl.metadata (20 kB) 2026-04-02 01:37:52.370020 | ubuntu-noble | Collecting tomlkit>=0.11.6 (from stestr) 2026-04-02 01:37:52.375541 | ubuntu-noble | Downloading tomlkit-0.14.0-py3-none-any.whl.metadata (2.8 kB) 2026-04-02 01:37:52.405842 | ubuntu-noble | Collecting autopage>=0.4.0 (from cliff>=2.8.0->stestr) 2026-04-02 01:37:52.411595 | ubuntu-noble | Downloading autopage-0.6.0-py3-none-any.whl.metadata (8.1 kB) 2026-04-02 01:37:52.470372 | ubuntu-noble | Collecting cmd2>=1.0.0 (from cliff>=2.8.0->stestr) 2026-04-02 01:37:52.476036 | ubuntu-noble | Downloading cmd2-3.4.0-py3-none-any.whl.metadata (16 kB) 2026-04-02 01:37:52.515779 | ubuntu-noble | Collecting PrettyTable>=0.7.2 (from cliff>=2.8.0->stestr) 2026-04-02 01:37:52.522786 | ubuntu-noble | Downloading prettytable-3.17.0-py3-none-any.whl.metadata (34 kB) 2026-04-02 01:37:52.563866 | ubuntu-noble | Collecting stevedore>=5.6.0 (from cliff>=2.8.0->stestr) 2026-04-02 01:37:52.568572 | ubuntu-noble | Downloading stevedore-5.7.0-py3-none-any.whl.metadata (2.4 kB) 2026-04-02 01:37:52.628662 | ubuntu-noble | Collecting pyperclip>=1.8.2 (from cmd2>=1.0.0->cliff>=2.8.0->stestr) 2026-04-02 01:37:52.638401 | ubuntu-noble | Downloading pyperclip-1.11.0-py3-none-any.whl.metadata (2.4 kB) 2026-04-02 01:37:52.745853 | ubuntu-noble | Collecting rich>=14.3.0 (from cmd2>=1.0.0->cliff>=2.8.0->stestr) 2026-04-02 01:37:52.750970 | ubuntu-noble | Downloading rich-14.3.3-py3-none-any.whl.metadata (18 kB) 2026-04-02 01:37:52.830614 | ubuntu-noble | Collecting rich-argparse>=1.7.1 (from cmd2>=1.0.0->cliff>=2.8.0->stestr) 2026-04-02 01:37:52.835921 | ubuntu-noble | Downloading rich_argparse-1.7.2-py3-none-any.whl.metadata (14 kB) 2026-04-02 01:37:52.886800 | ubuntu-noble | Collecting wcwidth (from PrettyTable>=0.7.2->cliff>=2.8.0->stestr) 2026-04-02 01:37:52.890362 | ubuntu-noble | Downloading wcwidth-0.6.0-py3-none-any.whl.metadata (30 kB) 2026-04-02 01:37:52.978837 | ubuntu-noble | Collecting iso8601 (from python-subunit>=1.4.0->stestr) 2026-04-02 01:37:52.983325 | ubuntu-noble | Downloading iso8601-2.1.0-py3-none-any.whl.metadata (3.7 kB) 2026-04-02 01:37:53.041831 | ubuntu-noble | Collecting markdown-it-py>=2.2.0 (from rich>=14.3.0->cmd2>=1.0.0->cliff>=2.8.0->stestr) 2026-04-02 01:37:53.045911 | ubuntu-noble | Downloading markdown_it_py-4.0.0-py3-none-any.whl.metadata (7.3 kB) 2026-04-02 01:37:53.112857 | ubuntu-noble | Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich>=14.3.0->cmd2>=1.0.0->cliff>=2.8.0->stestr) 2026-04-02 01:37:53.118473 | ubuntu-noble | Downloading mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB) 2026-04-02 01:37:53.153758 | ubuntu-noble | Downloading fixtures-4.3.2-py3-none-any.whl (41 kB) 2026-04-02 01:37:53.178267 | ubuntu-noble | Downloading lark-1.3.1-py3-none-any.whl (113 kB) 2026-04-02 01:37:53.198024 | ubuntu-noble | Downloading oslotest-6.1.0-py3-none-any.whl (30 kB) 2026-04-02 01:37:53.215211 | ubuntu-noble | Downloading pytest-9.0.2-py3-none-any.whl (374 kB) 2026-04-02 01:37:53.231483 | ubuntu-noble | Using cached pluggy-1.6.0-py3-none-any.whl (20 kB) 2026-04-02 01:37:53.237267 | ubuntu-noble | Downloading pytest_mock-3.15.1-py3-none-any.whl (10 kB) 2026-04-02 01:37:53.253320 | ubuntu-noble | Downloading responses-0.26.0-py3-none-any.whl (35 kB) 2026-04-02 01:37:53.265436 | ubuntu-noble | Downloading requests-2.33.1-py3-none-any.whl (64 kB) 2026-04-02 01:37:53.294595 | ubuntu-noble | Downloading charset_normalizer-3.4.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (207 kB) 2026-04-02 01:37:53.312740 | ubuntu-noble | Downloading idna-3.11-py3-none-any.whl (71 kB) 2026-04-02 01:37:53.328693 | ubuntu-noble | Downloading urllib3-2.6.3-py3-none-any.whl (131 kB) 2026-04-02 01:37:53.348133 | ubuntu-noble | Downloading stestr-4.2.1-py3-none-any.whl (118 kB) 2026-04-02 01:37:53.365535 | ubuntu-noble | Downloading certifi-2026.2.25-py3-none-any.whl (153 kB) 2026-04-02 01:37:53.383578 | ubuntu-noble | Downloading cliff-4.13.2-py3-none-any.whl (86 kB) 2026-04-02 01:37:53.400448 | ubuntu-noble | Downloading autopage-0.6.0-py3-none-any.whl (30 kB) 2026-04-02 01:37:53.417173 | ubuntu-noble | Downloading cmd2-3.4.0-py3-none-any.whl (148 kB) 2026-04-02 01:37:53.428851 | ubuntu-noble | Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB) 2026-04-02 01:37:53.438116 | ubuntu-noble | Using cached packaging-26.0-py3-none-any.whl (74 kB) 2026-04-02 01:37:53.442615 | ubuntu-noble | Downloading prettytable-3.17.0-py3-none-any.whl (34 kB) 2026-04-02 01:37:53.454875 | ubuntu-noble | Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB) 2026-04-02 01:37:53.487347 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 37.6 MB/s 0:00:00 2026-04-02 01:37:53.491987 | ubuntu-noble | Downloading pyperclip-1.11.0-py3-none-any.whl (11 kB) 2026-04-02 01:37:53.506807 | ubuntu-noble | Downloading python_subunit-1.4.5-py3-none-any.whl (102 kB) 2026-04-02 01:37:53.523096 | ubuntu-noble | Downloading pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (807 kB) 2026-04-02 01:37:53.553174 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 807.9/807.9 kB 23.7 MB/s 0:00:00 2026-04-02 01:37:53.558029 | ubuntu-noble | Downloading rich-14.3.3-py3-none-any.whl (310 kB) 2026-04-02 01:37:53.578213 | ubuntu-noble | Downloading markdown_it_py-4.0.0-py3-none-any.whl (87 kB) 2026-04-02 01:37:53.592048 | ubuntu-noble | Downloading mdurl-0.1.2-py3-none-any.whl (10.0 kB) 2026-04-02 01:37:53.605604 | ubuntu-noble | Downloading rich_argparse-1.7.2-py3-none-any.whl (25 kB) 2026-04-02 01:37:53.619600 | ubuntu-noble | Downloading stevedore-5.7.0-py3-none-any.whl (54 kB) 2026-04-02 01:37:53.638515 | ubuntu-noble | Downloading testtools-2.8.7-py3-none-any.whl (109 kB) 2026-04-02 01:37:54.047237 | ubuntu-noble | Downloading tomlkit-0.14.0-py3-none-any.whl (39 kB) 2026-04-02 01:37:54.065230 | ubuntu-noble | Downloading voluptuous-0.16.0-py3-none-any.whl (31 kB) 2026-04-02 01:37:54.079728 | ubuntu-noble | Downloading iso8601-2.1.0-py3-none-any.whl (7.5 kB) 2026-04-02 01:37:54.091758 | ubuntu-noble | Downloading wcwidth-0.6.0-py3-none-any.whl (94 kB) 2026-04-02 01:37:54.192121 | ubuntu-noble | Installing collected packages: pyperclip, wcwidth, voluptuous, urllib3, tomlkit, testtools, stevedore, pyyaml, pygments, pluggy, packaging, mdurl, lark, iso8601, iniconfig, idna, fixtures, charset_normalizer, certifi, autopage, requests, python-subunit, pytest, PrettyTable, oslotest, markdown-it-py, rich, responses, pytest-mock, rich-argparse, cmd2, cliff, stestr 2026-04-02 01:37:57.028594 | ubuntu-noble | 2026-04-02 01:37:57.035644 | ubuntu-noble | Successfully installed PrettyTable-3.17.0 autopage-0.6.0 certifi-2026.2.25 charset_normalizer-3.4.6 cliff-4.13.2 cmd2-3.4.0 fixtures-4.3.2 idna-3.11 iniconfig-2.3.0 iso8601-2.1.0 lark-1.3.1 markdown-it-py-4.0.0 mdurl-0.1.2 oslotest-6.1.0 packaging-26.0 pluggy-1.6.0 pygments-2.20.0 pyperclip-1.11.0 pytest-9.0.2 pytest-mock-3.15.1 python-subunit-1.4.5 pyyaml-6.0.3 requests-2.33.1 responses-0.26.0 rich-14.3.3 rich-argparse-1.7.2 stestr-4.2.1 stevedore-5.7.0 testtools-2.8.7 tomlkit-0.14.0 urllib3-2.6.3 voluptuous-0.16.0 wcwidth-0.6.0 2026-04-02 01:37:57.135231 | ubuntu-noble | unit: 7880 I exit 0 (7.34 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python -I -m pip install fixtures lark oslotest pytest pytest-mock responses stestr pid=6492 [tox/execute/api.py:311] 2026-04-02 01:37:57.141606 | ubuntu-noble | .pkg: 7887 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65] 2026-04-02 01:37:57.142307 | ubuntu-noble | .pkg: 7887 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:62] 2026-04-02 01:37:57.142639 | ubuntu-noble | .pkg: 7888 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71] 2026-04-02 01:37:57.142789 | ubuntu-noble | .pkg: 7888 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75] 2026-04-02 01:37:57.144363 | ubuntu-noble | .pkg: 7889 I create virtual environment via CPython3Posix(dest=/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg, clear=False, no_vcs_ignore=False, global=False) [virtualenv/run/session.py:77] 2026-04-02 01:37:57.144688 | ubuntu-noble | .pkg: 7890 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/bin [virtualenv/util/path/_sync.py:18] 2026-04-02 01:37:57.144850 | ubuntu-noble | .pkg: 7890 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/include [virtualenv/util/path/_sync.py:18] 2026-04-02 01:37:57.144989 | ubuntu-noble | .pkg: 7890 D create folder /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages [virtualenv/util/path/_sync.py:18] 2026-04-02 01:37:57.145283 | ubuntu-noble | .pkg: 7890 D write /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41] 2026-04-02 01:37:57.145353 | ubuntu-noble | .pkg: 7891 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.145420 | ubuntu-noble | .pkg: 7891 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.145484 | ubuntu-noble | .pkg: 7891 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.145540 | ubuntu-noble | .pkg: 7891 D version = 3.12.3 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.145604 | ubuntu-noble | .pkg: 7891 D executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.145690 | ubuntu-noble | .pkg: 7891 D command = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.145752 | ubuntu-noble | .pkg: 7891 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.145815 | ubuntu-noble | .pkg: 7891 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.145879 | ubuntu-noble | .pkg: 7891 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.145973 | ubuntu-noble | .pkg: 7891 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.146038 | ubuntu-noble | .pkg: 7891 D base-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.146289 | ubuntu-noble | .pkg: 7891 D symlink /usr/bin/python3.12 to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/bin/python [virtualenv/util/path/_sync.py:38] 2026-04-02 01:37:57.146689 | ubuntu-noble | .pkg: 7892 D create virtualenv import hook file /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages/_virtualenv.pth [virtualenv/create/via_global_ref/api.py:118] 2026-04-02 01:37:57.146887 | ubuntu-noble | .pkg: 7892 D create /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages/_virtualenv.py [virtualenv/create/via_global_ref/api.py:121] 2026-04-02 01:37:57.147303 | ubuntu-noble | .pkg: 7892 D ============================== target debug ============================== [virtualenv/run/session.py:79] 2026-04-02 01:37:57.147472 | ubuntu-noble | .pkg: 7893 D debug via /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/bin/python /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/create/debug.py [virtualenv/create/creator.py:263] 2026-04-02 01:37:57.187917 | ubuntu-noble | .pkg: 7893 D { 2026-04-02 01:37:57.187952 | ubuntu-noble | "sys": { 2026-04-02 01:37:57.187961 | ubuntu-noble | "executable": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/bin/python", 2026-04-02 01:37:57.187970 | ubuntu-noble | "_base_executable": "/usr/bin/python3.12", 2026-04-02 01:37:57.187978 | ubuntu-noble | "prefix": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg", 2026-04-02 01:37:57.187987 | ubuntu-noble | "base_prefix": "/usr", 2026-04-02 01:37:57.187996 | ubuntu-noble | "real_prefix": null, 2026-04-02 01:37:57.188004 | ubuntu-noble | "exec_prefix": "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg", 2026-04-02 01:37:57.188012 | ubuntu-noble | "base_exec_prefix": "/usr", 2026-04-02 01:37:57.188020 | ubuntu-noble | "path": [ 2026-04-02 01:37:57.188028 | ubuntu-noble | "/usr/lib/python312.zip", 2026-04-02 01:37:57.188036 | ubuntu-noble | "/usr/lib/python3.12", 2026-04-02 01:37:57.188044 | ubuntu-noble | "/usr/lib/python3.12/lib-dynload", 2026-04-02 01:37:57.188052 | ubuntu-noble | "/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages" 2026-04-02 01:37:57.188061 | ubuntu-noble | ], 2026-04-02 01:37:57.188069 | ubuntu-noble | "meta_path": [ 2026-04-02 01:37:57.188077 | ubuntu-noble | "", 2026-04-02 01:37:57.188085 | ubuntu-noble | "", 2026-04-02 01:37:57.188093 | ubuntu-noble | "", 2026-04-02 01:37:57.188101 | ubuntu-noble | "" 2026-04-02 01:37:57.188109 | ubuntu-noble | ], 2026-04-02 01:37:57.188117 | ubuntu-noble | "fs_encoding": "utf-8", 2026-04-02 01:37:57.188125 | ubuntu-noble | "io_encoding": "utf-8" 2026-04-02 01:37:57.188133 | ubuntu-noble | }, 2026-04-02 01:37:57.188141 | ubuntu-noble | "version": "3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]", 2026-04-02 01:37:57.188149 | ubuntu-noble | "makefile_filename": "/usr/lib/python3.12/config-3.12-x86_64-linux-gnu/Makefile", 2026-04-02 01:37:57.188158 | ubuntu-noble | "os": "", 2026-04-02 01:37:57.188166 | ubuntu-noble | "site": "", 2026-04-02 01:37:57.188174 | ubuntu-noble | "datetime": "", 2026-04-02 01:37:57.188182 | ubuntu-noble | "math": "", 2026-04-02 01:37:57.188190 | ubuntu-noble | "json": "" 2026-04-02 01:37:57.188198 | ubuntu-noble | } [virtualenv/run/session.py:80] 2026-04-02 01:37:57.188212 | ubuntu-noble | .pkg: 7933 I add seed packages via FromAppData(download=False, pip=bundle, via=copy, app_data_dir=/home/zuul/.cache/virtualenv) [virtualenv/run/session.py:84] 2026-04-02 01:37:57.189588 | ubuntu-noble | .pkg: 7935 D install pip from wheel /home/zuul/.local/tox/lib/python3.12/site-packages/virtualenv/seed/wheels/embed/pip-26.0.1-py3-none-any.whl via CopyPipInstall [virtualenv/seed/embed/via_app_data/via_app_data.py:65] 2026-04-02 01:37:57.190510 | ubuntu-noble | .pkg: 7936 D copy /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.virtualenv to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages/pip-26.0.1.virtualenv [virtualenv/util/path/_sync.py:46] 2026-04-02 01:37:57.190736 | ubuntu-noble | .pkg: 7936 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages/pip [virtualenv/util/path/_sync.py:46] 2026-04-02 01:37:57.240064 | ubuntu-noble | .pkg: 7985 D copy directory /home/zuul/.cache/virtualenv/wheel/3.12/image/1/CopyPipInstall/pip-26.0.1-py3-none-any/pip-26.0.1.dist-info to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/lib/python3.12/site-packages/pip-26.0.1.dist-info [virtualenv/util/path/_sync.py:46] 2026-04-02 01:37:57.245574 | ubuntu-noble | .pkg: 7991 D generated console scripts pip-3.12 pip pip3 pip3.12 [virtualenv/seed/embed/via_app_data/pip_install/base.py:49] 2026-04-02 01:37:57.245945 | ubuntu-noble | .pkg: 7991 I add activators for Bash, CShell, Fish, Nushell, PowerShell, Python [virtualenv/run/session.py:90] 2026-04-02 01:37:57.249609 | ubuntu-noble | .pkg: 7995 D write /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/pyvenv.cfg [virtualenv/create/pyenv_cfg.py:41] 2026-04-02 01:37:57.249745 | ubuntu-noble | .pkg: 7995 D home = /usr/bin [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.249850 | ubuntu-noble | .pkg: 7995 D implementation = CPython [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.250086 | ubuntu-noble | .pkg: 7995 D version_info = 3.12.3.final.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.250227 | ubuntu-noble | .pkg: 7995 D version = 3.12.3 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.250307 | ubuntu-noble | .pkg: 7995 D executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.250399 | ubuntu-noble | .pkg: 7996 D command = /home/zuul/.local/tox/bin/python3 -m virtualenv /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.250505 | ubuntu-noble | .pkg: 7996 D virtualenv = 21.2.0 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.250581 | ubuntu-noble | .pkg: 7996 D include-system-site-packages = false [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.250640 | ubuntu-noble | .pkg: 7996 D base-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.250721 | ubuntu-noble | .pkg: 7996 D base-exec-prefix = /usr [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.250784 | ubuntu-noble | .pkg: 7996 D base-executable = /usr/bin/python3.12 [virtualenv/create/pyenv_cfg.py:51] 2026-04-02 01:37:57.252331 | ubuntu-noble | .pkg: 7997 W install_requires> python -I -m pip install 'maturin<2.0,>=1.0' [tox/tox_env/api.py:515] 2026-04-02 01:37:58.328725 | ubuntu-noble | Collecting maturin<2.0,>=1.0 2026-04-02 01:37:58.398699 | ubuntu-noble | Downloading maturin-1.12.6-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl.metadata (16 kB) 2026-04-02 01:37:58.419836 | ubuntu-noble | Downloading maturin-1.12.6-py3-none-manylinux_2_12_x86_64.manylinux2010_x86_64.musllinux_1_1_x86_64.whl (10.2 MB) 2026-04-02 01:37:58.638478 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.2/10.2 MB 53.6 MB/s 0:00:00 2026-04-02 01:37:58.655814 | ubuntu-noble | Installing collected packages: maturin 2026-04-02 01:37:58.799233 | ubuntu-noble | Successfully installed maturin-1.12.6 2026-04-02 01:37:58.871631 | ubuntu-noble | .pkg: 9617 I exit 0 (1.62 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python -I -m pip install 'maturin<2.0,>=1.0' pid=6635 [tox/execute/api.py:311] 2026-04-02 01:37:58.873632 | ubuntu-noble | .pkg: 9619 W _optional_hooks> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 01:37:58.917189 | ubuntu-noble | Backend: run command _optional_hooks with args {} 2026-04-02 01:37:58.917243 | ubuntu-noble | Backend: Wrote response {'return': {'get_requires_for_build_sdist': True, 'prepare_metadata_for_build_wheel': True, 'get_requires_for_build_wheel': True, 'build_editable': True, 'get_requires_for_build_editable': True, 'prepare_metadata_for_build_editable': True}} to /tmp/pep517__optional_hooks-xaxvuleu.json 2026-04-02 01:37:58.918920 | ubuntu-noble | .pkg: 9664 I exit None (0.04 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=6674 [tox/execute/api.py:311] 2026-04-02 01:37:58.919791 | ubuntu-noble | .pkg: 9665 W get_requires_for_build_sdist> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 01:37:58.920998 | ubuntu-noble | Backend: run command get_requires_for_build_sdist with args {'config_settings': None} 2026-04-02 01:37:58.921066 | ubuntu-noble | Backend: Wrote response {'return': []} to /tmp/pep517_get_requires_for_build_sdist-qtpzdw3m.json 2026-04-02 01:37:58.922479 | ubuntu-noble | .pkg: 9668 I exit None (0.00 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=6674 [tox/execute/api.py:311] 2026-04-02 01:37:58.924083 | ubuntu-noble | .pkg: 9669 W build_sdist> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 01:37:58.925201 | ubuntu-noble | Backend: run command build_sdist with args {'sdist_directory': '/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist', 'config_settings': None} 2026-04-02 01:37:58.925236 | ubuntu-noble | Running `maturin pep517 write-sdist --sdist-directory /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist` 2026-04-02 01:37:59.111964 | ubuntu-noble | 📦 Including license file `LICENSE` 2026-04-02 01:37:59.112442 | ubuntu-noble | 🍹 Building a mixed python/rust project 2026-04-02 01:37:59.113127 | ubuntu-noble | 🔗 Found pyo3 bindings with abi3 support 2026-04-02 01:37:59.172378 | ubuntu-noble | 📡 Using build options features from pyproject.toml 2026-04-02 01:37:59.366278 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/cluster_feature_derive/Cargo.toml`: 2026-04-02 01:37:59.366321 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 01:37:59.366326 | ubuntu-noble | | 2026-04-02 01:37:59.366330 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 01:37:59.456554 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/helm/Cargo.toml`: 2026-04-02 01:37:59.456591 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 01:37:59.456601 | ubuntu-noble | | 2026-04-02 01:37:59.456611 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 01:37:59.551627 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/serde_gtmpl/Cargo.toml`: 2026-04-02 01:37:59.551691 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 01:37:59.551700 | ubuntu-noble | | 2026-04-02 01:37:59.551738 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 01:37:59.669000 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/Cargo.toml`: 2026-04-02 01:37:59.669040 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 01:37:59.669047 | ubuntu-noble | | 2026-04-02 01:37:59.669053 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 01:37:59.899061 | ubuntu-noble | 📦 Built source distribution to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist/magnum_cluster_api-0.36.1.tar.gz 2026-04-02 01:37:59.903196 | ubuntu-noble | magnum_cluster_api-0.36.1.tar.gz 2026-04-02 01:37:59.903608 | ubuntu-noble | Backend: Wrote response {'return': 'magnum_cluster_api-0.36.1.tar.gz'} to /tmp/pep517_build_sdist-sijldjg8.json 2026-04-02 01:37:59.905890 | ubuntu-noble | .pkg: 10651 I exit None (0.98 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=6674 [tox/execute/api.py:311] 2026-04-02 01:37:59.914163 | ubuntu-noble | .pkg: 10659 D package .tmp/package/1/magnum_cluster_api-0.36.1.tar.gz copied to .pkg/dist/magnum_cluster_api-0.36.1.tar.gz (/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox) [tox/util/file_view.py:30] 2026-04-02 01:37:59.914724 | ubuntu-noble | unit: 10660 W install_package_deps> python -I -m pip install certifi 'click>=8.0.4' 'diskcache>=5.6.1' 'eventlet>=0.33.1' 'haproxyadmin>=0.2.4' 'kubernetes>=24.2.0' 'magnum>=15.0.0' 'oslo.concurrency>=4.5.0' 'oslo.config>=8.8.0' 'oslo.context>=4.1.0' 'oslo.log>=4.7.0' 'oslo.privsep>=2.7.0' 'oslo.service>=2.8.0' 'platformdirs>=2.4.0' pykube-ng 'pyroute2>=0.3.4' python-heatclient 'python-manilaclient>=3.3.2' 'requests>=2.27.1' 'semver>=2.0.0' 'sherlock>=0.4.1' shortuuid [tox/tox_env/api.py:515] 2026-04-02 01:38:00.267414 | ubuntu-noble | Requirement already satisfied: certifi in ./.tox/unit/lib/python3.12/site-packages (2026.2.25) 2026-04-02 01:38:00.370750 | ubuntu-noble | Collecting click>=8.0.4 2026-04-02 01:38:00.437387 | ubuntu-noble | Downloading click-8.3.1-py3-none-any.whl.metadata (2.6 kB) 2026-04-02 01:38:00.483883 | ubuntu-noble | Collecting diskcache>=5.6.1 2026-04-02 01:38:00.488233 | ubuntu-noble | Downloading diskcache-5.6.3-py3-none-any.whl.metadata (20 kB) 2026-04-02 01:38:00.539209 | ubuntu-noble | Collecting eventlet>=0.33.1 2026-04-02 01:38:00.545006 | ubuntu-noble | Downloading eventlet-0.40.4-py3-none-any.whl.metadata (5.5 kB) 2026-04-02 01:38:00.576827 | ubuntu-noble | Collecting haproxyadmin>=0.2.4 2026-04-02 01:38:00.586645 | ubuntu-noble | Downloading haproxyadmin-0.2.4.tar.gz (59 kB) 2026-04-02 01:38:00.626817 | ubuntu-noble | Installing build dependencies: started 2026-04-02 01:38:01.553353 | ubuntu-noble | Installing build dependencies: finished with status 'done' 2026-04-02 01:38:01.554344 | ubuntu-noble | Getting requirements to build wheel: started 2026-04-02 01:38:01.844400 | ubuntu-noble | Getting requirements to build wheel: finished with status 'done' 2026-04-02 01:38:01.846394 | ubuntu-noble | Installing backend dependencies: started 2026-04-02 01:38:02.832374 | ubuntu-noble | Installing backend dependencies: finished with status 'done' 2026-04-02 01:38:02.833651 | ubuntu-noble | Preparing metadata (pyproject.toml): started 2026-04-02 01:38:03.115482 | ubuntu-noble | Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-02 01:38:03.154864 | ubuntu-noble | Collecting kubernetes>=24.2.0 2026-04-02 01:38:03.159805 | ubuntu-noble | Downloading kubernetes-35.0.0-py2.py3-none-any.whl.metadata (1.7 kB) 2026-04-02 01:38:03.225135 | ubuntu-noble | Collecting magnum>=15.0.0 2026-04-02 01:38:03.245070 | ubuntu-noble | Downloading magnum-22.0.0-py3-none-any.whl.metadata (4.7 kB) 2026-04-02 01:38:03.291122 | ubuntu-noble | Collecting oslo.concurrency>=4.5.0 2026-04-02 01:38:03.297322 | ubuntu-noble | Downloading oslo_concurrency-7.4.0-py3-none-any.whl.metadata (2.2 kB) 2026-04-02 01:38:03.344519 | ubuntu-noble | Collecting oslo.config>=8.8.0 2026-04-02 01:38:03.349346 | ubuntu-noble | Downloading oslo_config-10.3.0-py3-none-any.whl.metadata (2.3 kB) 2026-04-02 01:38:03.385563 | ubuntu-noble | Collecting oslo.context>=4.1.0 2026-04-02 01:38:03.389546 | ubuntu-noble | Downloading oslo_context-6.3.0-py3-none-any.whl.metadata (2.3 kB) 2026-04-02 01:38:03.450246 | ubuntu-noble | Collecting oslo.log>=4.7.0 2026-04-02 01:38:03.456560 | ubuntu-noble | Downloading oslo_log-8.1.0-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 01:38:03.518444 | ubuntu-noble | Collecting oslo.privsep>=2.7.0 2026-04-02 01:38:03.524630 | ubuntu-noble | Downloading oslo_privsep-3.10.1-py3-none-any.whl.metadata (2.7 kB) 2026-04-02 01:38:03.570195 | ubuntu-noble | Collecting oslo.service>=2.8.0 2026-04-02 01:38:03.575009 | ubuntu-noble | Downloading oslo_service-4.5.1-py3-none-any.whl.metadata (2.8 kB) 2026-04-02 01:38:03.606297 | ubuntu-noble | Collecting platformdirs>=2.4.0 2026-04-02 01:38:03.607635 | ubuntu-noble | Using cached platformdirs-4.9.4-py3-none-any.whl.metadata (4.7 kB) 2026-04-02 01:38:03.634226 | ubuntu-noble | Collecting pykube-ng 2026-04-02 01:38:03.638955 | ubuntu-noble | Downloading pykube_ng-23.6.0-py3-none-any.whl.metadata (8.0 kB) 2026-04-02 01:38:03.675190 | ubuntu-noble | Collecting pyroute2>=0.3.4 2026-04-02 01:38:03.681411 | ubuntu-noble | Downloading pyroute2-0.9.5-py3-none-any.whl.metadata (8.8 kB) 2026-04-02 01:38:03.723524 | ubuntu-noble | Collecting python-heatclient 2026-04-02 01:38:03.733488 | ubuntu-noble | Downloading python_heatclient-5.1.0-py3-none-any.whl.metadata (3.1 kB) 2026-04-02 01:38:03.776506 | ubuntu-noble | Collecting python-manilaclient>=3.3.2 2026-04-02 01:38:03.781295 | ubuntu-noble | Downloading python_manilaclient-6.0.0-py3-none-any.whl.metadata (5.5 kB) 2026-04-02 01:38:03.798143 | ubuntu-noble | Requirement already satisfied: requests>=2.27.1 in ./.tox/unit/lib/python3.12/site-packages (2.33.1) 2026-04-02 01:38:03.822641 | ubuntu-noble | Collecting semver>=2.0.0 2026-04-02 01:38:03.828651 | ubuntu-noble | Downloading semver-3.0.4-py3-none-any.whl.metadata (6.8 kB) 2026-04-02 01:38:03.852051 | ubuntu-noble | Collecting sherlock>=0.4.1 2026-04-02 01:38:03.858346 | ubuntu-noble | Downloading sherlock-0.4.1-py3-none-any.whl.metadata (8.9 kB) 2026-04-02 01:38:03.886067 | ubuntu-noble | Collecting shortuuid 2026-04-02 01:38:03.891145 | ubuntu-noble | Downloading shortuuid-1.0.13-py3-none-any.whl.metadata (5.8 kB) 2026-04-02 01:38:03.923763 | ubuntu-noble | Collecting dnspython>=1.15.0 (from eventlet>=0.33.1) 2026-04-02 01:38:03.927489 | ubuntu-noble | Downloading dnspython-2.8.0-py3-none-any.whl.metadata (5.7 kB) 2026-04-02 01:38:04.081961 | ubuntu-noble | Collecting greenlet>=1.0 (from eventlet>=0.33.1) 2026-04-02 01:38:04.087070 | ubuntu-noble | Downloading greenlet-3.3.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (3.7 kB) 2026-04-02 01:38:04.121477 | ubuntu-noble | Collecting six (from haproxyadmin>=0.2.4) 2026-04-02 01:38:04.124831 | ubuntu-noble | Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB) 2026-04-02 01:38:04.160176 | ubuntu-noble | Collecting python-dateutil>=2.5.3 (from kubernetes>=24.2.0) 2026-04-02 01:38:04.163540 | ubuntu-noble | Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB) 2026-04-02 01:38:04.175526 | ubuntu-noble | Requirement already satisfied: pyyaml>=5.4.1 in ./.tox/unit/lib/python3.12/site-packages (from kubernetes>=24.2.0) (6.0.3) 2026-04-02 01:38:04.206310 | ubuntu-noble | Collecting websocket-client!=0.40.0,!=0.41.*,!=0.42.*,>=0.32.0 (from kubernetes>=24.2.0) 2026-04-02 01:38:04.209510 | ubuntu-noble | Downloading websocket_client-1.9.0-py3-none-any.whl.metadata (8.3 kB) 2026-04-02 01:38:04.235133 | ubuntu-noble | Collecting requests-oauthlib (from kubernetes>=24.2.0) 2026-04-02 01:38:04.238704 | ubuntu-noble | Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl.metadata (11 kB) 2026-04-02 01:38:04.250831 | ubuntu-noble | Requirement already satisfied: urllib3!=2.6.0,>=1.24.2 in ./.tox/unit/lib/python3.12/site-packages (from kubernetes>=24.2.0) (2.6.3) 2026-04-02 01:38:04.267603 | ubuntu-noble | Collecting durationpy>=0.7 (from kubernetes>=24.2.0) 2026-04-02 01:38:04.275856 | ubuntu-noble | Downloading durationpy-0.10-py3-none-any.whl.metadata (340 bytes) 2026-04-02 01:38:04.573521 | ubuntu-noble | Collecting SQLAlchemy>=1.2.0 (from magnum>=15.0.0) 2026-04-02 01:38:04.578263 | ubuntu-noble | Downloading sqlalchemy-2.0.48-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (9.5 kB) 2026-04-02 01:38:04.606380 | ubuntu-noble | Collecting WSME>=0.8.0 (from magnum>=15.0.0) 2026-04-02 01:38:04.610390 | ubuntu-noble | Downloading WSME-0.12.1-py3-none-any.whl.metadata (3.7 kB) 2026-04-02 01:38:04.636454 | ubuntu-noble | Collecting WebOb>=1.8.1 (from magnum>=15.0.0) 2026-04-02 01:38:04.640505 | ubuntu-noble | Downloading WebOb-1.8.9-py2.py3-none-any.whl.metadata (11 kB) 2026-04-02 01:38:04.679225 | ubuntu-noble | Collecting alembic>=0.9.6 (from magnum>=15.0.0) 2026-04-02 01:38:04.683134 | ubuntu-noble | Downloading alembic-1.18.4-py3-none-any.whl.metadata (7.2 kB) 2026-04-02 01:38:04.691294 | ubuntu-noble | Requirement already satisfied: cliff>=4.0.0 in ./.tox/unit/lib/python3.12/site-packages (from magnum>=15.0.0) (4.13.2) 2026-04-02 01:38:04.706987 | ubuntu-noble | Collecting decorator>=3.4.0 (from magnum>=15.0.0) 2026-04-02 01:38:04.711403 | ubuntu-noble | Downloading decorator-5.2.1-py3-none-any.whl.metadata (3.9 kB) 2026-04-02 01:38:04.736508 | ubuntu-noble | Collecting jsonpatch!=1.20,>=1.16 (from magnum>=15.0.0) 2026-04-02 01:38:04.740965 | ubuntu-noble | Downloading jsonpatch-1.33-py2.py3-none-any.whl.metadata (3.0 kB) 2026-04-02 01:38:04.774132 | ubuntu-noble | Collecting keystoneauth1>=3.14.0 (from magnum>=15.0.0) 2026-04-02 01:38:04.777122 | ubuntu-noble | Downloading keystoneauth1-5.13.1-py3-none-any.whl.metadata (2.9 kB) 2026-04-02 01:38:04.810930 | ubuntu-noble | Collecting keystonemiddleware>=9.0.0 (from magnum>=15.0.0) 2026-04-02 01:38:04.817018 | ubuntu-noble | Downloading keystonemiddleware-12.0.0-py3-none-any.whl.metadata (4.1 kB) 2026-04-02 01:38:04.843599 | ubuntu-noble | Collecting netaddr>=0.7.18 (from magnum>=15.0.0) 2026-04-02 01:38:04.848929 | ubuntu-noble | Downloading netaddr-1.3.0-py3-none-any.whl.metadata (5.0 kB) 2026-04-02 01:38:04.925982 | ubuntu-noble | Collecting oslo.db>=8.2.0 (from magnum>=15.0.0) 2026-04-02 01:38:04.932483 | ubuntu-noble | Downloading oslo_db-18.0.0-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 01:38:04.979681 | ubuntu-noble | Collecting oslo.i18n>=5.0.0 (from magnum>=15.0.0) 2026-04-02 01:38:04.984287 | ubuntu-noble | Downloading oslo_i18n-6.7.2-py3-none-any.whl.metadata (2.0 kB) 2026-04-02 01:38:05.040722 | ubuntu-noble | Collecting oslo.messaging>=14.1.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.044708 | ubuntu-noble | Downloading oslo_messaging-17.3.0-py3-none-any.whl.metadata (2.6 kB) 2026-04-02 01:38:05.088574 | ubuntu-noble | Collecting oslo.middleware>=4.1.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.092927 | ubuntu-noble | Downloading oslo_middleware-8.0.0-py3-none-any.whl.metadata (2.4 kB) 2026-04-02 01:38:05.139730 | ubuntu-noble | Collecting oslo.policy>=4.5.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.148721 | ubuntu-noble | Downloading oslo_policy-5.0.0-py3-none-any.whl.metadata (2.2 kB) 2026-04-02 01:38:05.183860 | ubuntu-noble | Collecting oslo.reports>=2.1.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.188908 | ubuntu-noble | Downloading oslo_reports-3.7.0-py3-none-any.whl.metadata (3.8 kB) 2026-04-02 01:38:05.230791 | ubuntu-noble | Collecting oslo.serialization>=3.2.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.240489 | ubuntu-noble | Downloading oslo_serialization-5.9.1-py3-none-any.whl.metadata (2.1 kB) 2026-04-02 01:38:05.268367 | ubuntu-noble | Collecting oslo.upgradecheck>=1.3.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.273060 | ubuntu-noble | Downloading oslo_upgradecheck-2.7.1-py3-none-any.whl.metadata (1.8 kB) 2026-04-02 01:38:05.321012 | ubuntu-noble | Collecting oslo.utils>=4.2.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.329852 | ubuntu-noble | Downloading oslo_utils-10.0.0-py3-none-any.whl.metadata (2.1 kB) 2026-04-02 01:38:05.371095 | ubuntu-noble | Collecting oslo.versionedobjects>=2.1.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.375414 | ubuntu-noble | Downloading oslo_versionedobjects-3.9.0-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 01:38:05.407244 | ubuntu-noble | Collecting pbr>=5.5.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.408635 | ubuntu-noble | Using cached pbr-7.0.3-py2.py3-none-any.whl.metadata (3.8 kB) 2026-04-02 01:38:05.432289 | ubuntu-noble | Collecting pecan>=1.3.3 (from magnum>=15.0.0) 2026-04-02 01:38:05.438168 | ubuntu-noble | Downloading pecan-1.8.0-py3-none-any.whl.metadata (1.6 kB) 2026-04-02 01:38:05.470327 | ubuntu-noble | Collecting pycadf!=2.0.0,>=1.1.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.476553 | ubuntu-noble | Downloading pycadf-4.0.1-py3-none-any.whl.metadata (2.2 kB) 2026-04-02 01:38:05.509435 | ubuntu-noble | Collecting python-barbicanclient>=5.0.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.513908 | ubuntu-noble | Downloading python_barbicanclient-7.3.0-py3-none-any.whl.metadata (11 kB) 2026-04-02 01:38:05.550861 | ubuntu-noble | Collecting python-cinderclient>=7.1.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.555356 | ubuntu-noble | Downloading python_cinderclient-9.9.0-py3-none-any.whl.metadata (19 kB) 2026-04-02 01:38:05.596844 | ubuntu-noble | Collecting python-glanceclient>=3.2.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.602472 | ubuntu-noble | Downloading python_glanceclient-4.11.0-py3-none-any.whl.metadata (4.0 kB) 2026-04-02 01:38:05.650607 | ubuntu-noble | Collecting python-neutronclient>=7.2.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.659901 | ubuntu-noble | Downloading python_neutronclient-11.8.0-py3-none-any.whl.metadata (3.5 kB) 2026-04-02 01:38:05.705972 | ubuntu-noble | Collecting python-novaclient>=17.2.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.711487 | ubuntu-noble | Downloading python_novaclient-18.12.0-py3-none-any.whl.metadata (3.2 kB) 2026-04-02 01:38:05.761883 | ubuntu-noble | Collecting python-keystoneclient>=3.20.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.766650 | ubuntu-noble | Downloading python_keystoneclient-5.8.0-py3-none-any.whl.metadata (3.8 kB) 2026-04-02 01:38:05.803482 | ubuntu-noble | Collecting python-octaviaclient>=2.1.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.808750 | ubuntu-noble | Downloading python_octaviaclient-3.13.0-py3-none-any.whl.metadata (3.0 kB) 2026-04-02 01:38:05.942214 | ubuntu-noble | Collecting setuptools!=34.0.0,!=34.0.1,!=34.0.2,!=34.0.3,!=34.1.0,!=34.1.1,!=34.2.0,!=34.3.0,!=34.3.1,!=34.3.2,!=36.2.0,>=30.0.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.943370 | ubuntu-noble | Using cached setuptools-82.0.1-py3-none-any.whl.metadata (6.5 kB) 2026-04-02 01:38:05.950416 | ubuntu-noble | Requirement already satisfied: stevedore>=3.3.0 in ./.tox/unit/lib/python3.12/site-packages (from magnum>=15.0.0) (5.7.0) 2026-04-02 01:38:05.982643 | ubuntu-noble | Collecting taskflow>=2.16.0 (from magnum>=15.0.0) 2026-04-02 01:38:05.987868 | ubuntu-noble | Downloading taskflow-6.2.0-py3-none-any.whl.metadata (4.5 kB) 2026-04-02 01:38:06.200128 | ubuntu-noble | Collecting cryptography>=2.1.4 (from magnum>=15.0.0) 2026-04-02 01:38:06.204922 | ubuntu-noble | Downloading cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB) 2026-04-02 01:38:06.253044 | ubuntu-noble | Collecting Werkzeug>=0.9 (from magnum>=15.0.0) 2026-04-02 01:38:06.258022 | ubuntu-noble | Downloading werkzeug-3.1.7-py3-none-any.whl.metadata (4.0 kB) 2026-04-02 01:38:06.306224 | ubuntu-noble | Collecting fasteners>=0.7.0 (from oslo.concurrency>=4.5.0) 2026-04-02 01:38:06.311392 | ubuntu-noble | Downloading fasteners-0.20-py3-none-any.whl.metadata (4.8 kB) 2026-04-02 01:38:06.344447 | ubuntu-noble | Collecting debtcollector>=3.0.0 (from oslo.concurrency>=4.5.0) 2026-04-02 01:38:06.349839 | ubuntu-noble | Downloading debtcollector-3.1.0-py3-none-any.whl.metadata (2.6 kB) 2026-04-02 01:38:06.380224 | ubuntu-noble | Collecting rfc3986>=1.2.0 (from oslo.config>=8.8.0) 2026-04-02 01:38:06.384694 | ubuntu-noble | Downloading rfc3986-2.0.0-py2.py3-none-any.whl.metadata (6.6 kB) 2026-04-02 01:38:06.420554 | ubuntu-noble | Collecting typing-extensions>=4.12.0 (from oslo.context>=4.1.0) 2026-04-02 01:38:06.424078 | ubuntu-noble | Downloading typing_extensions-4.15.0-py3-none-any.whl.metadata (3.3 kB) 2026-04-02 01:38:06.620541 | ubuntu-noble | Collecting cffi>=1.14.0 (from oslo.privsep>=2.7.0) 2026-04-02 01:38:06.625325 | ubuntu-noble | Downloading cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.6 kB) 2026-04-02 01:38:06.714644 | ubuntu-noble | Collecting msgpack>=0.6.0 (from oslo.privsep>=2.7.0) 2026-04-02 01:38:06.721630 | ubuntu-noble | Downloading msgpack-1.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (8.1 kB) 2026-04-02 01:38:06.781124 | ubuntu-noble | Collecting PasteDeploy>=1.5.0 (from oslo.service>=2.8.0) 2026-04-02 01:38:06.786541 | ubuntu-noble | Downloading PasteDeploy-3.1.0-py3-none-any.whl.metadata (2.7 kB) 2026-04-02 01:38:06.816180 | ubuntu-noble | Collecting Routes>=2.3.1 (from oslo.service>=2.8.0) 2026-04-02 01:38:06.821064 | ubuntu-noble | Downloading Routes-2.5.1-py2.py3-none-any.whl.metadata (25 kB) 2026-04-02 01:38:06.864531 | ubuntu-noble | Collecting Paste>=2.0.2 (from oslo.service>=2.8.0) 2026-04-02 01:38:06.869424 | ubuntu-noble | Downloading Paste-3.10.1-py3-none-any.whl.metadata (5.3 kB) 2026-04-02 01:38:06.933947 | ubuntu-noble | Collecting Yappi>=1.0 (from oslo.service>=2.8.0) 2026-04-02 01:38:06.945043 | ubuntu-noble | Downloading yappi-1.7.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (11 kB) 2026-04-02 01:38:06.961018 | ubuntu-noble | Requirement already satisfied: iso8601>=0.1.11 in ./.tox/unit/lib/python3.12/site-packages (from python-heatclient) (2.1.0) 2026-04-02 01:38:06.984626 | ubuntu-noble | Collecting osc-lib>=1.14.0 (from python-heatclient) 2026-04-02 01:38:06.990403 | ubuntu-noble | Downloading osc_lib-4.4.0-py3-none-any.whl.metadata (3.8 kB) 2026-04-02 01:38:07.003756 | ubuntu-noble | Requirement already satisfied: PrettyTable>=0.7.2 in ./.tox/unit/lib/python3.12/site-packages (from python-heatclient) (3.17.0) 2026-04-02 01:38:07.041884 | ubuntu-noble | Collecting python-swiftclient>=3.2.0 (from python-heatclient) 2026-04-02 01:38:07.047867 | ubuntu-noble | Downloading python_swiftclient-4.10.0-py3-none-any.whl.metadata (3.9 kB) 2026-04-02 01:38:07.078613 | ubuntu-noble | Requirement already satisfied: charset_normalizer<4,>=2 in ./.tox/unit/lib/python3.12/site-packages (from requests>=2.27.1) (3.4.6) 2026-04-02 01:38:07.079167 | ubuntu-noble | Requirement already satisfied: idna<4,>=2.5 in ./.tox/unit/lib/python3.12/site-packages (from requests>=2.27.1) (3.11) 2026-04-02 01:38:07.127764 | ubuntu-noble | Collecting Mako (from alembic>=0.9.6->magnum>=15.0.0) 2026-04-02 01:38:07.133189 | ubuntu-noble | Downloading mako-1.3.10-py3-none-any.whl.metadata (2.9 kB) 2026-04-02 01:38:07.168596 | ubuntu-noble | Collecting pycparser (from cffi>=1.14.0->oslo.privsep>=2.7.0) 2026-04-02 01:38:07.172618 | ubuntu-noble | Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB) 2026-04-02 01:38:07.184907 | ubuntu-noble | Requirement already satisfied: autopage>=0.4.0 in ./.tox/unit/lib/python3.12/site-packages (from cliff>=4.0.0->magnum>=15.0.0) (0.6.0) 2026-04-02 01:38:07.185455 | ubuntu-noble | Requirement already satisfied: cmd2>=1.0.0 in ./.tox/unit/lib/python3.12/site-packages (from cliff>=4.0.0->magnum>=15.0.0) (3.4.0) 2026-04-02 01:38:07.191180 | ubuntu-noble | Requirement already satisfied: pyperclip>=1.8.2 in ./.tox/unit/lib/python3.12/site-packages (from cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (1.11.0) 2026-04-02 01:38:07.191924 | ubuntu-noble | Requirement already satisfied: rich>=14.3.0 in ./.tox/unit/lib/python3.12/site-packages (from cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (14.3.3) 2026-04-02 01:38:07.192440 | ubuntu-noble | Requirement already satisfied: rich-argparse>=1.7.1 in ./.tox/unit/lib/python3.12/site-packages (from cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (1.7.2) 2026-04-02 01:38:07.374481 | ubuntu-noble | Collecting wrapt>=2.1.0 (from debtcollector>=3.0.0->oslo.concurrency>=4.5.0) 2026-04-02 01:38:07.378486 | ubuntu-noble | Downloading wrapt-2.1.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (7.4 kB) 2026-04-02 01:38:07.420481 | ubuntu-noble | Collecting jsonpointer>=1.9 (from jsonpatch!=1.20,>=1.16->magnum>=15.0.0) 2026-04-02 01:38:07.425018 | ubuntu-noble | Downloading jsonpointer-3.1.1-py3-none-any.whl.metadata (2.4 kB) 2026-04-02 01:38:07.454333 | ubuntu-noble | Collecting os-service-types>=1.2.0 (from keystoneauth1>=3.14.0->magnum>=15.0.0) 2026-04-02 01:38:07.459267 | ubuntu-noble | Downloading os_service_types-1.8.2-py3-none-any.whl.metadata (1.9 kB) 2026-04-02 01:38:07.508028 | ubuntu-noble | Collecting oslo.cache>=3.11.0 (from keystonemiddleware>=9.0.0->magnum>=15.0.0) 2026-04-02 01:38:07.512470 | ubuntu-noble | Downloading oslo_cache-4.1.1-py3-none-any.whl.metadata (2.5 kB) 2026-04-02 01:38:07.554184 | ubuntu-noble | Collecting PyJWT>=2.4.0 (from keystonemiddleware>=9.0.0->magnum>=15.0.0) 2026-04-02 01:38:07.557801 | ubuntu-noble | Downloading pyjwt-2.12.1-py3-none-any.whl.metadata (4.1 kB) 2026-04-02 01:38:07.627065 | ubuntu-noble | Collecting openstacksdk>=0.15.0 (from osc-lib>=1.14.0->python-heatclient) 2026-04-02 01:38:07.630947 | ubuntu-noble | Downloading openstacksdk-4.10.0-py3-none-any.whl.metadata (12 kB) 2026-04-02 01:38:07.692746 | ubuntu-noble | Collecting dogpile.cache>=0.6.5 (from openstacksdk>=0.15.0->osc-lib>=1.14.0->python-heatclient) 2026-04-02 01:38:07.697861 | ubuntu-noble | Downloading dogpile_cache-1.5.0-py3-none-any.whl.metadata (5.5 kB) 2026-04-02 01:38:07.729822 | ubuntu-noble | Collecting jmespath>=0.9.0 (from openstacksdk>=0.15.0->osc-lib>=1.14.0->python-heatclient) 2026-04-02 01:38:07.733802 | ubuntu-noble | Downloading jmespath-1.1.0-py3-none-any.whl.metadata (7.6 kB) 2026-04-02 01:38:07.833555 | ubuntu-noble | Collecting psutil>=3.2.2 (from openstacksdk>=0.15.0->osc-lib>=1.14.0->python-heatclient) 2026-04-02 01:38:07.839233 | ubuntu-noble | Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl.metadata (22 kB) 2026-04-02 01:38:07.867469 | ubuntu-noble | Collecting requestsexceptions>=1.2.0 (from openstacksdk>=0.15.0->osc-lib>=1.14.0->python-heatclient) 2026-04-02 01:38:07.872249 | ubuntu-noble | Downloading requestsexceptions-1.4.0-py2.py3-none-any.whl.metadata (1.2 kB) 2026-04-02 01:38:07.932051 | ubuntu-noble | Collecting testresources>=2.0.0 (from oslo.db>=8.2.0->magnum>=15.0.0) 2026-04-02 01:38:07.938494 | ubuntu-noble | Downloading testresources-2.0.2.tar.gz (45 kB) 2026-04-02 01:38:07.963070 | ubuntu-noble | Installing build dependencies: started 2026-04-02 01:38:08.686102 | ubuntu-noble | Installing build dependencies: finished with status 'done' 2026-04-02 01:38:08.686919 | ubuntu-noble | Getting requirements to build wheel: started 2026-04-02 01:38:08.974441 | ubuntu-noble | Getting requirements to build wheel: finished with status 'done' 2026-04-02 01:38:08.976539 | ubuntu-noble | Installing backend dependencies: started 2026-04-02 01:38:09.793315 | ubuntu-noble | Installing backend dependencies: finished with status 'done' 2026-04-02 01:38:09.794811 | ubuntu-noble | Preparing metadata (pyproject.toml): started 2026-04-02 01:38:10.038140 | ubuntu-noble | Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-02 01:38:10.061486 | ubuntu-noble | Collecting testscenarios>=0.4 (from oslo.db>=8.2.0->magnum>=15.0.0) 2026-04-02 01:38:10.068040 | ubuntu-noble | Downloading testscenarios-0.5.0-py2.py3-none-any.whl.metadata (12 kB) 2026-04-02 01:38:10.111181 | ubuntu-noble | Collecting futurist>=1.2.0 (from oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.115825 | ubuntu-noble | Downloading futurist-3.3.0-py3-none-any.whl.metadata (2.1 kB) 2026-04-02 01:38:10.163737 | ubuntu-noble | Collecting cachetools>=2.0.0 (from oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.164783 | ubuntu-noble | Using cached cachetools-7.0.5-py3-none-any.whl.metadata (5.6 kB) 2026-04-02 01:38:10.191398 | ubuntu-noble | Collecting amqp>=2.5.2 (from oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.198699 | ubuntu-noble | Downloading amqp-5.3.1-py3-none-any.whl.metadata (8.9 kB) 2026-04-02 01:38:10.243369 | ubuntu-noble | Collecting kombu>=4.6.8 (from oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.253328 | ubuntu-noble | Downloading kombu-5.6.2-py3-none-any.whl.metadata (3.5 kB) 2026-04-02 01:38:10.294486 | ubuntu-noble | Collecting oslo.metrics>=0.2.1 (from oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.299068 | ubuntu-noble | Downloading oslo_metrics-0.15.1-py3-none-any.whl.metadata (1.5 kB) 2026-04-02 01:38:10.331795 | ubuntu-noble | Collecting vine<6.0.0,>=5.0.0 (from amqp>=2.5.2->oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.338394 | ubuntu-noble | Downloading vine-5.1.0-py3-none-any.whl.metadata (2.7 kB) 2026-04-02 01:38:10.376876 | ubuntu-noble | Collecting tzdata>=2025.2 (from kombu>=4.6.8->oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.381273 | ubuntu-noble | Downloading tzdata-2025.3-py2.py3-none-any.whl.metadata (1.4 kB) 2026-04-02 01:38:10.391502 | ubuntu-noble | Requirement already satisfied: packaging in ./.tox/unit/lib/python3.12/site-packages (from kombu>=4.6.8->oslo.messaging>=14.1.0->magnum>=15.0.0) (26.0) 2026-04-02 01:38:10.433587 | ubuntu-noble | Collecting prometheus-client>=0.6.0 (from oslo.metrics>=0.2.1->oslo.messaging>=14.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.438824 | ubuntu-noble | Downloading prometheus_client-0.24.1-py3-none-any.whl.metadata (2.1 kB) 2026-04-02 01:38:10.568167 | ubuntu-noble | Collecting bcrypt>=3.1.3 (from oslo.middleware>=4.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.572895 | ubuntu-noble | Downloading bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (10 kB) 2026-04-02 01:38:10.611617 | ubuntu-noble | Collecting Jinja2>=2.10 (from oslo.middleware>=4.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.618052 | ubuntu-noble | Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB) 2026-04-02 01:38:10.650347 | ubuntu-noble | Collecting statsd>=3.2.1 (from oslo.middleware>=4.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.654392 | ubuntu-noble | Downloading statsd-4.0.1-py2.py3-none-any.whl.metadata (2.9 kB) 2026-04-02 01:38:10.733182 | ubuntu-noble | Collecting MarkupSafe>=2.0 (from Jinja2>=2.10->oslo.middleware>=4.1.0->magnum>=15.0.0) 2026-04-02 01:38:10.736899 | ubuntu-noble | Downloading markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB) 2026-04-02 01:38:10.812100 | ubuntu-noble | Collecting pyparsing>=2.1.0 (from oslo.utils>=4.2.0->magnum>=15.0.0) 2026-04-02 01:38:10.816161 | ubuntu-noble | Downloading pyparsing-3.3.2-py3-none-any.whl.metadata (5.8 kB) 2026-04-02 01:38:10.882068 | ubuntu-noble | Requirement already satisfied: wcwidth in ./.tox/unit/lib/python3.12/site-packages (from PrettyTable>=0.7.2->python-heatclient) (0.6.0) 2026-04-02 01:38:10.929702 | ubuntu-noble | Collecting warlock>=1.2.0 (from python-glanceclient>=3.2.0->magnum>=15.0.0) 2026-04-02 01:38:10.935709 | ubuntu-noble | Downloading warlock-2.1.0-py3-none-any.whl.metadata (4.0 kB) 2026-04-02 01:38:10.973147 | ubuntu-noble | Collecting pyOpenSSL>=17.1.0 (from python-glanceclient>=3.2.0->magnum>=15.0.0) 2026-04-02 01:38:10.977720 | ubuntu-noble | Downloading pyopenssl-26.0.0-py3-none-any.whl.metadata (18 kB) 2026-04-02 01:38:11.071776 | ubuntu-noble | Collecting python-openstackclient>=3.12.0 (from python-octaviaclient>=2.1.0->magnum>=15.0.0) 2026-04-02 01:38:11.079654 | ubuntu-noble | Downloading python_openstackclient-9.0.0-py3-none-any.whl.metadata (10 kB) 2026-04-02 01:38:11.119508 | ubuntu-noble | Requirement already satisfied: markdown-it-py>=2.2.0 in ./.tox/unit/lib/python3.12/site-packages (from rich>=14.3.0->cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (4.0.0) 2026-04-02 01:38:11.119996 | ubuntu-noble | Requirement already satisfied: pygments<3.0.0,>=2.13.0 in ./.tox/unit/lib/python3.12/site-packages (from rich>=14.3.0->cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (2.20.0) 2026-04-02 01:38:11.124071 | ubuntu-noble | Requirement already satisfied: mdurl~=0.1 in ./.tox/unit/lib/python3.12/site-packages (from markdown-it-py>=2.2.0->rich>=14.3.0->cmd2>=1.0.0->cliff>=4.0.0->magnum>=15.0.0) (0.1.2) 2026-04-02 01:38:11.148582 | ubuntu-noble | Collecting repoze.lru>=0.3 (from Routes>=2.3.1->oslo.service>=2.8.0) 2026-04-02 01:38:11.154132 | ubuntu-noble | Downloading repoze.lru-0.7-py3-none-any.whl.metadata (1.1 kB) 2026-04-02 01:38:11.231823 | ubuntu-noble | Collecting networkx>=2.1.0 (from taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 01:38:11.239171 | ubuntu-noble | Downloading networkx-3.6.1-py3-none-any.whl.metadata (6.8 kB) 2026-04-02 01:38:11.280349 | ubuntu-noble | Collecting jsonschema>=3.2.0 (from taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 01:38:11.284143 | ubuntu-noble | Downloading jsonschema-4.26.0-py3-none-any.whl.metadata (7.6 kB) 2026-04-02 01:38:11.337932 | ubuntu-noble | Collecting automaton>=1.9.0 (from taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 01:38:11.342954 | ubuntu-noble | Downloading automaton-3.4.0-py3-none-any.whl.metadata (2.3 kB) 2026-04-02 01:38:11.386455 | ubuntu-noble | Collecting tenacity>=6.0.0 (from taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 01:38:11.391097 | ubuntu-noble | Downloading tenacity-9.1.4-py3-none-any.whl.metadata (1.2 kB) 2026-04-02 01:38:11.426218 | ubuntu-noble | Collecting pydot>=1.2.4 (from taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 01:38:11.431943 | ubuntu-noble | Downloading pydot-4.0.1-py3-none-any.whl.metadata (11 kB) 2026-04-02 01:38:11.480071 | ubuntu-noble | Collecting attrs>=22.2.0 (from jsonschema>=3.2.0->taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 01:38:11.483540 | ubuntu-noble | Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB) 2026-04-02 01:38:11.516994 | ubuntu-noble | Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=3.2.0->taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 01:38:11.524375 | ubuntu-noble | Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB) 2026-04-02 01:38:11.571882 | ubuntu-noble | Collecting referencing>=0.28.4 (from jsonschema>=3.2.0->taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 01:38:11.576289 | ubuntu-noble | Downloading referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB) 2026-04-02 01:38:11.880415 | ubuntu-noble | Collecting rpds-py>=0.25.0 (from jsonschema>=3.2.0->taskflow>=2.16.0->magnum>=15.0.0) 2026-04-02 01:38:11.884589 | ubuntu-noble | Downloading rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB) 2026-04-02 01:38:11.928634 | ubuntu-noble | Requirement already satisfied: testtools in ./.tox/unit/lib/python3.12/site-packages (from testscenarios>=0.4->oslo.db>=8.2.0->magnum>=15.0.0) (2.8.7) 2026-04-02 01:38:11.974719 | ubuntu-noble | Collecting simplegeneric (from WSME>=0.8.0->magnum>=15.0.0) 2026-04-02 01:38:11.980960 | ubuntu-noble | Downloading simplegeneric-0.8.1.zip (12 kB) 2026-04-02 01:38:12.000250 | ubuntu-noble | Installing build dependencies: started 2026-04-02 01:38:12.705691 | ubuntu-noble | Installing build dependencies: finished with status 'done' 2026-04-02 01:38:12.706625 | ubuntu-noble | Getting requirements to build wheel: started 2026-04-02 01:38:13.042198 | ubuntu-noble | Getting requirements to build wheel: finished with status 'done' 2026-04-02 01:38:13.043898 | ubuntu-noble | Preparing metadata (pyproject.toml): started 2026-04-02 01:38:13.222558 | ubuntu-noble | Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-02 01:38:13.277240 | ubuntu-noble | Collecting pytz (from WSME>=0.8.0->magnum>=15.0.0) 2026-04-02 01:38:13.280440 | ubuntu-noble | Downloading pytz-2026.1.post1-py2.py3-none-any.whl.metadata (22 kB) 2026-04-02 01:38:13.333614 | ubuntu-noble | Collecting importlib-metadata>=4.4 (from WSME>=0.8.0->magnum>=15.0.0) 2026-04-02 01:38:13.337354 | ubuntu-noble | Downloading importlib_metadata-9.0.0-py3-none-any.whl.metadata (4.5 kB) 2026-04-02 01:38:13.377353 | ubuntu-noble | Collecting zipp>=3.20 (from importlib-metadata>=4.4->WSME>=0.8.0->magnum>=15.0.0) 2026-04-02 01:38:13.380698 | ubuntu-noble | Downloading zipp-3.23.0-py3-none-any.whl.metadata (3.6 kB) 2026-04-02 01:38:13.423900 | ubuntu-noble | Collecting oauthlib>=3.0.0 (from requests-oauthlib->kubernetes>=24.2.0) 2026-04-02 01:38:13.428739 | ubuntu-noble | Downloading oauthlib-3.3.1-py3-none-any.whl.metadata (7.9 kB) 2026-04-02 01:38:13.459930 | ubuntu-noble | Downloading click-8.3.1-py3-none-any.whl (108 kB) 2026-04-02 01:38:13.476152 | ubuntu-noble | Downloading diskcache-5.6.3-py3-none-any.whl (45 kB) 2026-04-02 01:38:13.490481 | ubuntu-noble | Downloading eventlet-0.40.4-py3-none-any.whl (364 kB) 2026-04-02 01:38:13.511657 | ubuntu-noble | Downloading kubernetes-35.0.0-py2.py3-none-any.whl (2.0 MB) 2026-04-02 01:38:13.547007 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 61.1 MB/s 0:00:00 2026-04-02 01:38:13.590688 | ubuntu-noble | Downloading magnum-22.0.0-py3-none-any.whl (763 kB) 2026-04-02 01:38:13.612263 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 763.5/763.5 kB 32.0 MB/s 0:00:00 2026-04-02 01:38:13.617416 | ubuntu-noble | Downloading oslo_concurrency-7.4.0-py3-none-any.whl (48 kB) 2026-04-02 01:38:13.634427 | ubuntu-noble | Downloading oslo_config-10.3.0-py3-none-any.whl (132 kB) 2026-04-02 01:38:13.650334 | ubuntu-noble | Downloading oslo_context-6.3.0-py3-none-any.whl (20 kB) 2026-04-02 01:38:13.665374 | ubuntu-noble | Downloading oslo_log-8.1.0-py3-none-any.whl (77 kB) 2026-04-02 01:38:13.682706 | ubuntu-noble | Downloading oslo_privsep-3.10.1-py3-none-any.whl (41 kB) 2026-04-02 01:38:13.696080 | ubuntu-noble | Downloading oslo_service-4.5.1-py3-none-any.whl (114 kB) 2026-04-02 01:38:13.705569 | ubuntu-noble | Using cached platformdirs-4.9.4-py3-none-any.whl (21 kB) 2026-04-02 01:38:13.711273 | ubuntu-noble | Downloading pykube_ng-23.6.0-py3-none-any.whl (26 kB) 2026-04-02 01:38:13.727271 | ubuntu-noble | Downloading pyroute2-0.9.5-py3-none-any.whl (480 kB) 2026-04-02 01:38:13.748349 | ubuntu-noble | Downloading python_heatclient-5.1.0-py3-none-any.whl (212 kB) 2026-04-02 01:38:13.765916 | ubuntu-noble | Downloading python_manilaclient-6.0.0-py3-none-any.whl (410 kB) 2026-04-02 01:38:13.783929 | ubuntu-noble | Downloading semver-3.0.4-py3-none-any.whl (17 kB) 2026-04-02 01:38:13.805386 | ubuntu-noble | Downloading sherlock-0.4.1-py3-none-any.whl (16 kB) 2026-04-02 01:38:13.825579 | ubuntu-noble | Downloading shortuuid-1.0.13-py3-none-any.whl (10 kB) 2026-04-02 01:38:13.837044 | ubuntu-noble | Downloading alembic-1.18.4-py3-none-any.whl (263 kB) 2026-04-02 01:38:13.855468 | ubuntu-noble | Downloading cffi-2.0.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (219 kB) 2026-04-02 01:38:13.872171 | ubuntu-noble | Downloading cryptography-46.0.6-cp311-abi3-manylinux_2_34_x86_64.whl (4.5 MB) 2026-04-02 01:38:13.963065 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 50.9 MB/s 0:00:00 2026-04-02 01:38:13.967468 | ubuntu-noble | Downloading debtcollector-3.1.0-py3-none-any.whl (24 kB) 2026-04-02 01:38:13.981548 | ubuntu-noble | Downloading decorator-5.2.1-py3-none-any.whl (9.2 kB) 2026-04-02 01:38:13.993976 | ubuntu-noble | Downloading dnspython-2.8.0-py3-none-any.whl (331 kB) 2026-04-02 01:38:14.015372 | ubuntu-noble | Downloading durationpy-0.10-py3-none-any.whl (3.9 kB) 2026-04-02 01:38:14.029948 | ubuntu-noble | Downloading fasteners-0.20-py3-none-any.whl (18 kB) 2026-04-02 01:38:14.250498 | ubuntu-noble | Downloading greenlet-3.3.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (613 kB) 2026-04-02 01:38:14.316081 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 613.9/613.9 kB 5.8 MB/s 0:00:00 2026-04-02 01:38:14.321344 | ubuntu-noble | Downloading jsonpatch-1.33-py2.py3-none-any.whl (12 kB) 2026-04-02 01:38:14.335798 | ubuntu-noble | Downloading jsonpointer-3.1.1-py3-none-any.whl (7.7 kB) 2026-04-02 01:38:14.352083 | ubuntu-noble | Downloading keystoneauth1-5.13.1-py3-none-any.whl (343 kB) 2026-04-02 01:38:14.371439 | ubuntu-noble | Downloading keystonemiddleware-12.0.0-py3-none-any.whl (141 kB) 2026-04-02 01:38:14.401873 | ubuntu-noble | Downloading msgpack-1.1.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (427 kB) 2026-04-02 01:38:14.420714 | ubuntu-noble | Downloading netaddr-1.3.0-py3-none-any.whl (2.3 MB) 2026-04-02 01:38:14.471528 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.3/2.3 MB 44.0 MB/s 0:00:00 2026-04-02 01:38:14.476299 | ubuntu-noble | Downloading os_service_types-1.8.2-py3-none-any.whl (24 kB) 2026-04-02 01:38:14.488816 | ubuntu-noble | Downloading osc_lib-4.4.0-py3-none-any.whl (96 kB) 2026-04-02 01:38:14.505853 | ubuntu-noble | Downloading openstacksdk-4.10.0-py3-none-any.whl (1.9 MB) 2026-04-02 01:38:14.556968 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 35.6 MB/s 0:00:00 2026-04-02 01:38:14.562878 | ubuntu-noble | Downloading dogpile_cache-1.5.0-py3-none-any.whl (64 kB) 2026-04-02 01:38:14.577465 | ubuntu-noble | Downloading jmespath-1.1.0-py3-none-any.whl (20 kB) 2026-04-02 01:38:14.592421 | ubuntu-noble | Downloading oslo_cache-4.1.1-py3-none-any.whl (65 kB) 2026-04-02 01:38:14.607556 | ubuntu-noble | Downloading oslo_db-18.0.0-py3-none-any.whl (152 kB) 2026-04-02 01:38:14.629486 | ubuntu-noble | Downloading oslo_i18n-6.7.2-py3-none-any.whl (47 kB) 2026-04-02 01:38:14.640724 | ubuntu-noble | Downloading oslo_messaging-17.3.0-py3-none-any.whl (201 kB) 2026-04-02 01:38:14.662158 | ubuntu-noble | Downloading amqp-5.3.1-py3-none-any.whl (50 kB) 2026-04-02 01:38:14.674696 | ubuntu-noble | Downloading vine-5.1.0-py3-none-any.whl (9.6 kB) 2026-04-02 01:38:14.684475 | ubuntu-noble | Using cached cachetools-7.0.5-py3-none-any.whl (13 kB) 2026-04-02 01:38:14.690907 | ubuntu-noble | Downloading futurist-3.3.0-py3-none-any.whl (43 kB) 2026-04-02 01:38:14.704702 | ubuntu-noble | Downloading kombu-5.6.2-py3-none-any.whl (214 kB) 2026-04-02 01:38:14.720841 | ubuntu-noble | Downloading oslo_metrics-0.15.1-py3-none-any.whl (14 kB) 2026-04-02 01:38:14.735389 | ubuntu-noble | Downloading oslo_middleware-8.0.0-py3-none-any.whl (65 kB) 2026-04-02 01:38:14.749773 | ubuntu-noble | Downloading bcrypt-5.0.0-cp39-abi3-manylinux_2_34_x86_64.whl (278 kB) 2026-04-02 01:38:14.766450 | ubuntu-noble | Downloading jinja2-3.1.6-py3-none-any.whl (134 kB) 2026-04-02 01:38:14.780435 | ubuntu-noble | Downloading markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB) 2026-04-02 01:38:14.791697 | ubuntu-noble | Downloading oslo_policy-5.0.0-py3-none-any.whl (89 kB) 2026-04-02 01:38:14.807397 | ubuntu-noble | Downloading oslo_reports-3.7.0-py3-none-any.whl (53 kB) 2026-04-02 01:38:14.820322 | ubuntu-noble | Downloading oslo_serialization-5.9.1-py3-none-any.whl (27 kB) 2026-04-02 01:38:14.834693 | ubuntu-noble | Downloading oslo_upgradecheck-2.7.1-py3-none-any.whl (14 kB) 2026-04-02 01:38:14.854291 | ubuntu-noble | Downloading oslo_utils-10.0.0-py3-none-any.whl (136 kB) 2026-04-02 01:38:14.870790 | ubuntu-noble | Downloading oslo_versionedobjects-3.9.0-py3-none-any.whl (86 kB) 2026-04-02 01:38:14.885035 | ubuntu-noble | Downloading Paste-3.10.1-py3-none-any.whl (289 kB) 2026-04-02 01:38:14.904260 | ubuntu-noble | Downloading PasteDeploy-3.1.0-py3-none-any.whl (16 kB) 2026-04-02 01:38:14.913959 | ubuntu-noble | Using cached pbr-7.0.3-py2.py3-none-any.whl (131 kB) 2026-04-02 01:38:14.925306 | ubuntu-noble | Downloading pecan-1.8.0-py3-none-any.whl (144 kB) 2026-04-02 01:38:14.941818 | ubuntu-noble | Downloading mako-1.3.10-py3-none-any.whl (78 kB) 2026-04-02 01:38:14.958871 | ubuntu-noble | Downloading prometheus_client-0.24.1-py3-none-any.whl (64 kB) 2026-04-02 01:38:14.974839 | ubuntu-noble | Downloading psutil-7.2.2-cp36-abi3-manylinux2010_x86_64.manylinux_2_12_x86_64.manylinux_2_28_x86_64.whl (155 kB) 2026-04-02 01:38:15.006259 | ubuntu-noble | Downloading pycadf-4.0.1-py3-none-any.whl (44 kB) 2026-04-02 01:38:15.020695 | ubuntu-noble | Downloading pyjwt-2.12.1-py3-none-any.whl (29 kB) 2026-04-02 01:38:15.037021 | ubuntu-noble | Downloading pyparsing-3.3.2-py3-none-any.whl (122 kB) 2026-04-02 01:38:15.059512 | ubuntu-noble | Downloading python_barbicanclient-7.3.0-py3-none-any.whl (88 kB) 2026-04-02 01:38:15.074356 | ubuntu-noble | Downloading python_cinderclient-9.9.0-py3-none-any.whl (256 kB) 2026-04-02 01:38:15.092409 | ubuntu-noble | Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB) 2026-04-02 01:38:15.108941 | ubuntu-noble | Downloading python_glanceclient-4.11.0-py3-none-any.whl (208 kB) 2026-04-02 01:38:15.126020 | ubuntu-noble | Downloading pyopenssl-26.0.0-py3-none-any.whl (57 kB) 2026-04-02 01:38:15.139408 | ubuntu-noble | Downloading python_keystoneclient-5.8.0-py3-none-any.whl (397 kB) 2026-04-02 01:38:15.158011 | ubuntu-noble | Downloading python_neutronclient-11.8.0-py3-none-any.whl (296 kB) 2026-04-02 01:38:15.180135 | ubuntu-noble | Downloading python_novaclient-18.12.0-py3-none-any.whl (336 kB) 2026-04-02 01:38:15.233949 | ubuntu-noble | Downloading python_octaviaclient-3.13.0-py3-none-any.whl (113 kB) 2026-04-02 01:38:15.257908 | ubuntu-noble | Downloading python_openstackclient-9.0.0-py3-none-any.whl (1.1 MB) 2026-04-02 01:38:15.291109 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 34.1 MB/s 0:00:00 2026-04-02 01:38:15.299006 | ubuntu-noble | Downloading python_swiftclient-4.10.0-py3-none-any.whl (88 kB) 2026-04-02 01:38:15.311006 | ubuntu-noble | Downloading requestsexceptions-1.4.0-py2.py3-none-any.whl (3.8 kB) 2026-04-02 01:38:15.321290 | ubuntu-noble | Downloading rfc3986-2.0.0-py2.py3-none-any.whl (31 kB) 2026-04-02 01:38:15.334406 | ubuntu-noble | Downloading Routes-2.5.1-py2.py3-none-any.whl (40 kB) 2026-04-02 01:38:15.347416 | ubuntu-noble | Downloading repoze.lru-0.7-py3-none-any.whl (10 kB) 2026-04-02 01:38:15.357320 | ubuntu-noble | Using cached setuptools-82.0.1-py3-none-any.whl (1.0 MB) 2026-04-02 01:38:15.363360 | ubuntu-noble | Downloading six-1.17.0-py2.py3-none-any.whl (11 kB) 2026-04-02 01:38:15.378423 | ubuntu-noble | Downloading sqlalchemy-2.0.48-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3 MB) 2026-04-02 01:38:15.474650 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 39.5 MB/s 0:00:00 2026-04-02 01:38:15.479932 | ubuntu-noble | Downloading statsd-4.0.1-py2.py3-none-any.whl (13 kB) 2026-04-02 01:38:15.491605 | ubuntu-noble | Downloading taskflow-6.2.0-py3-none-any.whl (490 kB) 2026-04-02 01:38:15.519571 | ubuntu-noble | Downloading automaton-3.4.0-py3-none-any.whl (23 kB) 2026-04-02 01:38:15.531379 | ubuntu-noble | Downloading jsonschema-4.26.0-py3-none-any.whl (90 kB) 2026-04-02 01:38:15.549977 | ubuntu-noble | Downloading attrs-26.1.0-py3-none-any.whl (67 kB) 2026-04-02 01:38:15.564561 | ubuntu-noble | Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB) 2026-04-02 01:38:15.578661 | ubuntu-noble | Downloading networkx-3.6.1-py3-none-any.whl (2.1 MB) 2026-04-02 01:38:15.623818 | ubuntu-noble | ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 48.4 MB/s 0:00:00 2026-04-02 01:38:15.630098 | ubuntu-noble | Downloading pydot-4.0.1-py3-none-any.whl (37 kB) 2026-04-02 01:38:15.645992 | ubuntu-noble | Downloading referencing-0.37.0-py3-none-any.whl (26 kB) 2026-04-02 01:38:15.659411 | ubuntu-noble | Downloading rpds_py-0.30.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (394 kB) 2026-04-02 01:38:15.702830 | ubuntu-noble | Downloading tenacity-9.1.4-py3-none-any.whl (28 kB) 2026-04-02 01:38:15.715429 | ubuntu-noble | Downloading testscenarios-0.5.0-py2.py3-none-any.whl (21 kB) 2026-04-02 01:38:15.728725 | ubuntu-noble | Downloading typing_extensions-4.15.0-py3-none-any.whl (44 kB) 2026-04-02 01:38:15.748612 | ubuntu-noble | Downloading tzdata-2025.3-py2.py3-none-any.whl (348 kB) 2026-04-02 01:38:15.768651 | ubuntu-noble | Downloading warlock-2.1.0-py3-none-any.whl (10 kB) 2026-04-02 01:38:15.783506 | ubuntu-noble | Downloading WebOb-1.8.9-py2.py3-none-any.whl (115 kB) 2026-04-02 01:38:15.797721 | ubuntu-noble | Downloading websocket_client-1.9.0-py3-none-any.whl (82 kB) 2026-04-02 01:38:15.813912 | ubuntu-noble | Downloading werkzeug-3.1.7-py3-none-any.whl (226 kB) 2026-04-02 01:38:15.938740 | ubuntu-noble | Downloading wrapt-2.1.2-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (121 kB) 2026-04-02 01:38:15.958465 | ubuntu-noble | Downloading WSME-0.12.1-py3-none-any.whl (59 kB) 2026-04-02 01:38:15.974726 | ubuntu-noble | Downloading importlib_metadata-9.0.0-py3-none-any.whl (27 kB) 2026-04-02 01:38:15.990529 | ubuntu-noble | Downloading yappi-1.7.6-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (82 kB) 2026-04-02 01:38:16.007128 | ubuntu-noble | Downloading zipp-3.23.0-py3-none-any.whl (10 kB) 2026-04-02 01:38:16.022477 | ubuntu-noble | Downloading pycparser-3.0-py3-none-any.whl (48 kB) 2026-04-02 01:38:16.034413 | ubuntu-noble | Downloading pytz-2026.1.post1-py2.py3-none-any.whl (510 kB) 2026-04-02 01:38:16.058826 | ubuntu-noble | Downloading requests_oauthlib-2.0.0-py2.py3-none-any.whl (24 kB) 2026-04-02 01:38:16.074808 | ubuntu-noble | Downloading oauthlib-3.3.1-py3-none-any.whl (160 kB) 2026-04-02 01:38:16.319044 | ubuntu-noble | Building wheels for collected packages: haproxyadmin, testresources, simplegeneric 2026-04-02 01:38:16.319821 | ubuntu-noble | Building wheel for haproxyadmin (pyproject.toml): started 2026-04-02 01:38:16.577924 | ubuntu-noble | Building wheel for haproxyadmin (pyproject.toml): finished with status 'done' 2026-04-02 01:38:16.579047 | ubuntu-noble | Created wheel for haproxyadmin: filename=haproxyadmin-0.2.4-py3-none-any.whl size=37208 sha256=8538d9a1f74c4da795868fd21f0ec4f4cd39b3e4519752556f3254c4a5506615 2026-04-02 01:38:16.579559 | ubuntu-noble | Stored in directory: /home/zuul/.cache/pip/wheels/f8/a4/d2/ca8e7bcb86a3513744e388395fdc7c9b2d41bdffceb804f578 2026-04-02 01:38:16.584869 | ubuntu-noble | Building wheel for testresources (pyproject.toml): started 2026-04-02 01:38:16.847479 | ubuntu-noble | Building wheel for testresources (pyproject.toml): finished with status 'done' 2026-04-02 01:38:16.848599 | ubuntu-noble | Created wheel for testresources: filename=testresources-2.0.2-py2.py3-none-any.whl size=34284 sha256=6dbab9bf3c15bc77f40de9ddb2dd6505abd51d85e4219be3c8ceee8ffe4277a7 2026-04-02 01:38:16.849163 | ubuntu-noble | Stored in directory: /home/zuul/.cache/pip/wheels/6f/bd/38/5f44565796c558350457d3ffee0ab83be96f3d99e262a219b9 2026-04-02 01:38:16.855035 | ubuntu-noble | Building wheel for simplegeneric (pyproject.toml): started 2026-04-02 01:38:17.059943 | ubuntu-noble | Building wheel for simplegeneric (pyproject.toml): finished with status 'done' 2026-04-02 01:38:17.061094 | ubuntu-noble | Created wheel for simplegeneric: filename=simplegeneric-0.8.1-py3-none-any.whl size=5103 sha256=bebfe567f248e9efaf9a9115483e63538dd3a6d98088a98f0d72e4758e6eb156 2026-04-02 01:38:17.061505 | ubuntu-noble | Stored in directory: /home/zuul/.cache/pip/wheels/bf/7f/ac/c96a7918d97103348ae720bdf93aa7f5458f5efb90718e9873 2026-04-02 01:38:17.066388 | ubuntu-noble | Successfully built haproxyadmin testresources simplegeneric 2026-04-02 01:38:17.274531 | ubuntu-noble | Installing collected packages: statsd, simplegeneric, requestsexceptions, repoze.lru, pytz, durationpy, zipp, Yappi, wrapt, websocket-client, WebOb, vine, tzdata, typing-extensions, tenacity, six, shortuuid, sherlock, setuptools, semver, rpds-py, rfc3986, pyroute2, pyparsing, PyJWT, pycparser, psutil, prometheus-client, platformdirs, PasteDeploy, oauthlib, networkx, netaddr, msgpack, MarkupSafe, jsonpointer, jmespath, greenlet, fasteners, dnspython, diskcache, decorator, click, cachetools, bcrypt, attrs, Werkzeug, SQLAlchemy, Routes, requests-oauthlib, referencing, python-swiftclient, python-dateutil, pykube-ng, pydot, pbr, Paste, Mako, jsonpatch, Jinja2, importlib-metadata, haproxyadmin, eventlet, dogpile.cache, debtcollector, cffi, automaton, amqp, WSME, testscenarios, testresources, pecan, oslo.i18n, oslo.context, os-service-types, kubernetes, kombu, jsonschema-specifications, futurist, cryptography, alembic, pyOpenSSL, oslo.utils, oslo.config, keystoneauth1, jsonschema, warlock, python-cinderclient, oslo.serialization, oslo.middleware, oslo.db, oslo.concurrency, openstacksdk, taskflow, python-novaclient, python-keystoneclient, python-glanceclient, python-barbicanclient, pycadf, oslo.reports, oslo.policy, oslo.log, osc-lib, python-openstackclient, python-neutronclient, python-manilaclient, python-heatclient, oslo.upgradecheck, oslo.service, oslo.privsep, oslo.metrics, oslo.cache, python-octaviaclient, oslo.messaging, keystonemiddleware, oslo.versionedobjects, magnum 2026-04-02 01:38:35.755158 | ubuntu-noble | 2026-04-02 01:38:35.771159 | ubuntu-noble | Successfully installed Jinja2-3.1.6 Mako-1.3.10 MarkupSafe-3.0.3 Paste-3.10.1 PasteDeploy-3.1.0 PyJWT-2.12.1 Routes-2.5.1 SQLAlchemy-2.0.48 WSME-0.12.1 WebOb-1.8.9 Werkzeug-3.1.7 Yappi-1.7.6 alembic-1.18.4 amqp-5.3.1 attrs-26.1.0 automaton-3.4.0 bcrypt-5.0.0 cachetools-7.0.5 cffi-2.0.0 click-8.3.1 cryptography-46.0.6 debtcollector-3.1.0 decorator-5.2.1 diskcache-5.6.3 dnspython-2.8.0 dogpile.cache-1.5.0 durationpy-0.10 eventlet-0.40.4 fasteners-0.20 futurist-3.3.0 greenlet-3.3.2 haproxyadmin-0.2.4 importlib-metadata-9.0.0 jmespath-1.1.0 jsonpatch-1.33 jsonpointer-3.1.1 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 keystoneauth1-5.13.1 keystonemiddleware-12.0.0 kombu-5.6.2 kubernetes-35.0.0 magnum-22.0.0 msgpack-1.1.2 netaddr-1.3.0 networkx-3.6.1 oauthlib-3.3.1 openstacksdk-4.10.0 os-service-types-1.8.2 osc-lib-4.4.0 oslo.cache-4.1.1 oslo.concurrency-7.4.0 oslo.config-10.3.0 oslo.context-6.3.0 oslo.db-18.0.0 oslo.i18n-6.7.2 oslo.log-8.1.0 oslo.messaging-17.3.0 oslo.metrics-0.15.1 oslo.middleware-8.0.0 oslo.policy-5.0.0 oslo.privsep-3.10.1 oslo.reports-3.7.0 oslo.serialization-5.9.1 oslo.service-4.5.1 oslo.upgradecheck-2.7.1 oslo.utils-10.0.0 oslo.versionedobjects-3.9.0 pbr-7.0.3 pecan-1.8.0 platformdirs-4.9.4 prometheus-client-0.24.1 psutil-7.2.2 pyOpenSSL-26.0.0 pycadf-4.0.1 pycparser-3.0 pydot-4.0.1 pykube-ng-23.6.0 pyparsing-3.3.2 pyroute2-0.9.5 python-barbicanclient-7.3.0 python-cinderclient-9.9.0 python-dateutil-2.9.0.post0 python-glanceclient-4.11.0 python-heatclient-5.1.0 python-keystoneclient-5.8.0 python-manilaclient-6.0.0 python-neutronclient-11.8.0 python-novaclient-18.12.0 python-octaviaclient-3.13.0 python-openstackclient-9.0.0 python-swiftclient-4.10.0 pytz-2026.1.post1 referencing-0.37.0 repoze.lru-0.7 requests-oauthlib-2.0.0 requestsexceptions-1.4.0 rfc3986-2.0.0 rpds-py-0.30.0 semver-3.0.4 setuptools-82.0.1 sherlock-0.4.1 shortuuid-1.0.13 simplegeneric-0.8.1 six-1.17.0 statsd-4.0.1 taskflow-6.2.0 tenacity-9.1.4 testresources-2.0.2 testscenarios-0.5.0 typing-extensions-4.15.0 tzdata-2025.3 vine-5.1.0 warlock-2.1.0 websocket-client-1.9.0 wrapt-2.1.2 zipp-3.23.0 2026-04-02 01:38:36.419774 | ubuntu-noble | unit: 47165 I exit 0 (36.50 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python -I -m pip install certifi 'click>=8.0.4' 'diskcache>=5.6.1' 'eventlet>=0.33.1' 'haproxyadmin>=0.2.4' 'kubernetes>=24.2.0' 'magnum>=15.0.0' 'oslo.concurrency>=4.5.0' 'oslo.config>=8.8.0' 'oslo.context>=4.1.0' 'oslo.log>=4.7.0' 'oslo.privsep>=2.7.0' 'oslo.service>=2.8.0' 'platformdirs>=2.4.0' pykube-ng 'pyroute2>=0.3.4' python-heatclient 'python-manilaclient>=3.3.2' 'requests>=2.27.1' 'semver>=2.0.0' 'sherlock>=0.4.1' shortuuid pid=6849 [tox/execute/api.py:311] 2026-04-02 01:38:36.420528 | ubuntu-noble | unit: 47166 W install_package> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/1/magnum_cluster_api-0.36.1.tar.gz [tox/tox_env/api.py:515] 2026-04-02 01:38:36.783618 | ubuntu-noble | Processing ./.tox/.tmp/package/1/magnum_cluster_api-0.36.1.tar.gz 2026-04-02 01:38:36.955231 | ubuntu-noble | Installing build dependencies: started 2026-04-02 01:38:38.099253 | ubuntu-noble | Installing build dependencies: finished with status 'done' 2026-04-02 01:38:38.100208 | ubuntu-noble | Getting requirements to build wheel: started 2026-04-02 01:38:38.160892 | ubuntu-noble | Getting requirements to build wheel: finished with status 'done' 2026-04-02 01:38:38.162328 | ubuntu-noble | Preparing metadata (pyproject.toml): started 2026-04-02 01:38:38.626585 | ubuntu-noble | Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-02 01:38:38.632973 | ubuntu-noble | Building wheels for collected packages: magnum-cluster-api 2026-04-02 01:38:38.633963 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): started 2026-04-02 01:40:26.346742 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): still running... 2026-04-02 01:40:27.038150 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): finished with status 'done' 2026-04-02 01:40:27.046826 | ubuntu-noble | Created wheel for magnum-cluster-api: filename=magnum_cluster_api-0.36.1-cp38-abi3-linux_x86_64.whl size=7285674 sha256=c35faf8bc4a495a67ef90587c7b093da373e9cbcc7921fd5c23eca91330e5ad1 2026-04-02 01:40:27.047154 | ubuntu-noble | Stored in directory: /home/zuul/.cache/pip/wheels/72/fe/7b/6e6c4c0adccd095db1bd84d2ca0ca584fc8c4a38a0c6fe3a5b 2026-04-02 01:40:27.053389 | ubuntu-noble | Successfully built magnum-cluster-api 2026-04-02 01:40:27.053831 | ubuntu-noble | Installing collected packages: magnum-cluster-api 2026-04-02 01:40:27.304042 | ubuntu-noble | Successfully installed magnum-cluster-api-0.36.1 2026-04-02 01:40:27.616091 | ubuntu-noble | unit: 158360 I exit 0 (111.19 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/1/magnum_cluster_api-0.36.1.tar.gz pid=7481 [tox/execute/api.py:311] 2026-04-02 01:40:27.617840 | ubuntu-noble | .pkg: 158363 W _exit> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 01:40:27.620831 | ubuntu-noble | Backend: run command _exit with args {} 2026-04-02 01:40:27.620916 | ubuntu-noble | Backend: Wrote response {'return': 0} to /tmp/pep517__exit-tthvl1x3.json 2026-04-02 01:40:27.621587 | ubuntu-noble | .pkg: 158367 I exit None (0.00 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=6674 [tox/execute/api.py:311] 2026-04-02 01:40:27.637658 | ubuntu-noble | .pkg: 158383 D delete package /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/1/magnum_cluster_api-0.36.1.tar.gz [tox/tox_env/python/virtual_env/package/pyproject.py:245] 2026-04-02 01:40:27.642271 | ubuntu-noble | unit: OK (158.18 seconds) 2026-04-02 01:40:27.642292 | ubuntu-noble | congratulations :) (158.20 seconds) 2026-04-02 01:40:28.152447 | ubuntu-noble | ok: Runtime: 0:02:38.463042 2026-04-02 01:40:28.164942 | 2026-04-02 01:40:28.165037 | TASK [tox : Create a tempfile to save tox showconfig] 2026-04-02 01:40:28.462989 | ubuntu-noble | changed 2026-04-02 01:40:28.468499 | 2026-04-02 01:40:28.468562 | TASK [tox : Detect tox version] 2026-04-02 01:40:28.929844 | ubuntu-noble | 4.52.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py 2026-04-02 01:40:29.009975 | ubuntu-noble | ok: Runtime: 0:00:00.264999 2026-04-02 01:40:29.015411 | 2026-04-02 01:40:29.015482 | TASK [tox : Get tox envlist config] 2026-04-02 01:40:30.054258 | ubuntu-noble | ok: Runtime: 0:00:00.327931 2026-04-02 01:40:30.062241 | 2026-04-02 01:40:30.062313 | TASK [tox : Install any sibling python packages] 2026-04-02 01:40:30.401238 | ubuntu-noble | ok: No name in setup.cfg, skipping siblings 2026-04-02 01:40:30.407352 | 2026-04-02 01:40:30.407426 | TASK [tox : Remove tempfile] 2026-04-02 01:40:30.776698 | ubuntu-noble | changed 2026-04-02 01:40:30.783426 | 2026-04-02 01:40:30.783494 | TASK [tox : Emit tox command] 2026-04-02 01:40:30.829190 | /home/zuul/.local/tox/bin/tox -eunit -vv --skip-missing-interpreters=false 2026-04-02 01:40:30.834447 | 2026-04-02 01:40:30.834515 | TASK [tox : Run tox] 2026-04-02 01:40:31.285707 | ubuntu-noble | ROOT: 186 D setup logging to DEBUG on pid 11709 [tox/report.py:229] 2026-04-02 01:40:31.320699 | ubuntu-noble | unit: 220 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65] 2026-04-02 01:40:31.324713 | ubuntu-noble | unit: 225 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:62] 2026-04-02 01:40:31.325188 | ubuntu-noble | unit: 225 D filesystem is case-sensitive [python_discovery/_compat.py:18] 2026-04-02 01:40:31.328606 | ubuntu-noble | unit: 229 D got python info of /usr/bin/python3.12 from /home/zuul/.cache/virtualenv/py_info/4/f0d7a494a3f776233427cb85a7e198c7cf4913b50a203c6febc678cc4f5bf265.json [virtualenv/app_data/via_disk_folder.py:139] 2026-04-02 01:40:31.329097 | ubuntu-noble | unit: 229 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71] 2026-04-02 01:40:31.329132 | ubuntu-noble | unit: 229 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75] 2026-04-02 01:40:31.330026 | ubuntu-noble | unit: 230 D symlink on filesystem does work [virtualenv/info.py:51] 2026-04-02 01:40:31.330116 | ubuntu-noble | unit: 230 D filesystem is case-sensitive [virtualenv/info.py:28] 2026-04-02 01:40:31.357739 | ubuntu-noble | .pkg: 258 D created app data folder /home/zuul/.cache/virtualenv [virtualenv/app_data/__init__.py:65] 2026-04-02 01:40:31.358135 | ubuntu-noble | .pkg: 258 I find interpreter for spec PythonSpec(path=/home/zuul/.local/tox/bin/python3) [python_discovery/_discovery.py:62] 2026-04-02 01:40:31.358354 | ubuntu-noble | .pkg: 258 I proposed PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:71] 2026-04-02 01:40:31.358408 | ubuntu-noble | .pkg: 258 D accepted PythonInfo(spec=CPython3.12.3.final.0-64-x86_64, system=/usr/bin/python3.12, exe=/home/zuul/.local/tox/bin/python3, platform=linux, version='3.12.3 (main, Mar 3 2026, 12:15:18) [GCC 13.3.0]', encoding_fs_io=utf-8-utf-8) [python_discovery/_discovery.py:75] 2026-04-02 01:40:31.360384 | ubuntu-noble | .pkg: 260 W _optional_hooks> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 01:40:31.403754 | ubuntu-noble | Backend: run command _optional_hooks with args {} 2026-04-02 01:40:31.403814 | ubuntu-noble | Backend: Wrote response {'return': {'get_requires_for_build_sdist': True, 'prepare_metadata_for_build_wheel': True, 'get_requires_for_build_wheel': True, 'build_editable': True, 'get_requires_for_build_editable': True, 'prepare_metadata_for_build_editable': True}} to /tmp/pep517__optional_hooks-a3fkohtv.json 2026-04-02 01:40:31.406287 | ubuntu-noble | .pkg: 306 I exit None (0.04 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=11716 [tox/execute/api.py:311] 2026-04-02 01:40:31.407142 | ubuntu-noble | .pkg: 307 W get_requires_for_build_sdist> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 01:40:31.408196 | ubuntu-noble | Backend: run command get_requires_for_build_sdist with args {'config_settings': None} 2026-04-02 01:40:31.408219 | ubuntu-noble | Backend: Wrote response {'return': []} to /tmp/pep517_get_requires_for_build_sdist-qy4mve9r.json 2026-04-02 01:40:31.409981 | ubuntu-noble | .pkg: 310 I exit None (0.00 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=11716 [tox/execute/api.py:311] 2026-04-02 01:40:31.411142 | ubuntu-noble | .pkg: 311 W build_sdist> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 01:40:31.412231 | ubuntu-noble | Backend: run command build_sdist with args {'sdist_directory': '/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist', 'config_settings': None} 2026-04-02 01:40:31.412255 | ubuntu-noble | Running `maturin pep517 write-sdist --sdist-directory /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist` 2026-04-02 01:40:31.601034 | ubuntu-noble | 📦 Including license file `LICENSE` 2026-04-02 01:40:31.601424 | ubuntu-noble | 🍹 Building a mixed python/rust project 2026-04-02 01:40:31.601826 | ubuntu-noble | 🔗 Found pyo3 bindings with abi3 support 2026-04-02 01:40:31.659370 | ubuntu-noble | 📡 Using build options features from pyproject.toml 2026-04-02 01:40:31.834140 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/serde_gtmpl/Cargo.toml`: 2026-04-02 01:40:31.834198 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 01:40:31.834210 | ubuntu-noble | | 2026-04-02 01:40:31.834222 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 01:40:31.928436 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/cluster_feature_derive/Cargo.toml`: 2026-04-02 01:40:31.928463 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 01:40:31.928469 | ubuntu-noble | | 2026-04-02 01:40:31.928475 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 01:40:32.018911 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/crates/helm/Cargo.toml`: 2026-04-02 01:40:32.018965 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 01:40:32.018979 | ubuntu-noble | | 2026-04-02 01:40:32.018990 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 01:40:32.136365 | ubuntu-noble | From `cargo package --list --allow-dirty --manifest-path /home/zuul/src/github.com/vexxhost/magnum-cluster-api/Cargo.toml`: 2026-04-02 01:40:32.136408 | ubuntu-noble | warning: manifest has no description, license, license-file, documentation, homepage or repository 2026-04-02 01:40:32.136419 | ubuntu-noble | | 2026-04-02 01:40:32.136428 | ubuntu-noble | = note: see https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for more info 2026-04-02 01:40:32.370608 | ubuntu-noble | 📦 Built source distribution to /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.pkg/dist/magnum_cluster_api-0.36.1.tar.gz 2026-04-02 01:40:32.375562 | ubuntu-noble | magnum_cluster_api-0.36.1.tar.gz 2026-04-02 01:40:32.375977 | ubuntu-noble | Backend: Wrote response {'return': 'magnum_cluster_api-0.36.1.tar.gz'} to /tmp/pep517_build_sdist-zis5py32.json 2026-04-02 01:40:32.377839 | ubuntu-noble | .pkg: 1278 I exit None (0.97 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=11716 [tox/execute/api.py:311] 2026-04-02 01:40:32.386627 | ubuntu-noble | .pkg: 1287 D package .tmp/package/2/magnum_cluster_api-0.36.1.tar.gz copied to .pkg/dist/magnum_cluster_api-0.36.1.tar.gz (/home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox) [tox/util/file_view.py:30] 2026-04-02 01:40:32.388628 | ubuntu-noble | unit: 1289 W install_package> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/2/magnum_cluster_api-0.36.1.tar.gz [tox/tox_env/api.py:515] 2026-04-02 01:40:32.763301 | ubuntu-noble | Processing ./.tox/.tmp/package/2/magnum_cluster_api-0.36.1.tar.gz 2026-04-02 01:40:32.953230 | ubuntu-noble | Installing build dependencies: started 2026-04-02 01:40:33.977912 | ubuntu-noble | Installing build dependencies: finished with status 'done' 2026-04-02 01:40:33.978919 | ubuntu-noble | Getting requirements to build wheel: started 2026-04-02 01:40:34.038884 | ubuntu-noble | Getting requirements to build wheel: finished with status 'done' 2026-04-02 01:40:34.040575 | ubuntu-noble | Preparing metadata (pyproject.toml): started 2026-04-02 01:40:34.525135 | ubuntu-noble | Preparing metadata (pyproject.toml): finished with status 'done' 2026-04-02 01:40:34.530720 | ubuntu-noble | Building wheels for collected packages: magnum-cluster-api 2026-04-02 01:40:34.532101 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): started 2026-04-02 01:42:21.913723 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): still running... 2026-04-02 01:42:22.602518 | ubuntu-noble | Building wheel for magnum-cluster-api (pyproject.toml): finished with status 'done' 2026-04-02 01:42:22.609960 | ubuntu-noble | Created wheel for magnum-cluster-api: filename=magnum_cluster_api-0.36.1-cp38-abi3-linux_x86_64.whl size=7285675 sha256=29e70c7849fec74c66d0e6939172fa103158c5d12cdef5d7b3d4fe4f0c1723ca 2026-04-02 01:42:22.610390 | ubuntu-noble | Stored in directory: /home/zuul/.cache/pip/wheels/34/da/f9/cb759d2c4d485d6ccdbd7a0b0f5060e5893e22b149da909269 2026-04-02 01:42:22.615585 | ubuntu-noble | Successfully built magnum-cluster-api 2026-04-02 01:42:22.616034 | ubuntu-noble | Installing collected packages: magnum-cluster-api 2026-04-02 01:42:22.616056 | ubuntu-noble | Attempting uninstall: magnum-cluster-api 2026-04-02 01:42:22.620609 | ubuntu-noble | Found existing installation: magnum-cluster-api 0.36.1 2026-04-02 01:42:22.637142 | ubuntu-noble | Uninstalling magnum-cluster-api-0.36.1: 2026-04-02 01:42:22.641387 | ubuntu-noble | Successfully uninstalled magnum-cluster-api-0.36.1 2026-04-02 01:42:22.926137 | ubuntu-noble | Successfully installed magnum-cluster-api-0.36.1 2026-04-02 01:42:23.240024 | ubuntu-noble | unit: 112140 I exit 0 (110.85 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python -I -m pip install --force-reinstall --no-deps /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/2/magnum_cluster_api-0.36.1.tar.gz pid=11891 [tox/execute/api.py:311] 2026-04-02 01:42:23.240652 | ubuntu-noble | unit: 112141 W commands[0]> pytest magnum_cluster_api/tests/unit/ [tox/tox_env/api.py:515] 2026-04-02 01:42:25.668934 | ubuntu-noble | ============================= test session starts ============================== 2026-04-02 01:42:25.669009 | ubuntu-noble | platform linux -- Python 3.12.3, pytest-9.0.2, pluggy-1.6.0 2026-04-02 01:42:25.669022 | ubuntu-noble | cachedir: .tox/unit/.pytest_cache 2026-04-02 01:42:25.669034 | ubuntu-noble | rootdir: /home/zuul/src/github.com/vexxhost/magnum-cluster-api 2026-04-02 01:42:25.669045 | ubuntu-noble | configfile: pyproject.toml 2026-04-02 01:42:25.669057 | ubuntu-noble | plugins: mock-3.15.1 2026-04-02 01:42:25.669068 | ubuntu-noble | collected 180 items 2026-04-02 01:42:25.669079 | ubuntu-noble | 2026-04-02 01:42:26.040228 | ubuntu-noble | magnum_cluster_api/tests/unit/cmd/test_image_loader.py .. [ 1%] 2026-04-02 01:42:29.939045 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py ........FFFFFFFF........... [ 16%] 2026-04-02 01:42:29.984581 | ubuntu-noble | ......... [ 21%] 2026-04-02 01:42:30.386700 | ubuntu-noble | magnum_cluster_api/tests/unit/test_go_template.py ...................... [ 33%] 2026-04-02 01:42:31.055374 | ubuntu-noble | ................................................. [ 60%] 2026-04-02 01:42:31.065258 | ubuntu-noble | magnum_cluster_api/tests/unit/test_helm.py ........ [ 65%] 2026-04-02 01:42:45.815802 | ubuntu-noble | magnum_cluster_api/tests/unit/test_image_utils.py .. [ 66%] 2026-04-02 01:42:45.836626 | ubuntu-noble | magnum_cluster_api/tests/unit/test_images.py .......................... [ 80%] 2026-04-02 01:42:45.850240 | ubuntu-noble | magnum_cluster_api/tests/unit/test_objects.py ....... [ 84%] 2026-04-02 01:42:45.868920 | ubuntu-noble | magnum_cluster_api/tests/unit/test_resources.py .......... [ 90%] 2026-04-02 01:42:45.871942 | ubuntu-noble | magnum_cluster_api/tests/unit/test_sync.py .. [ 91%] 2026-04-02 01:42:45.908030 | ubuntu-noble | magnum_cluster_api/tests/unit/test_utils.py .F.............. [100%] 2026-04-02 01:42:45.908084 | ubuntu-noble | 2026-04-02 01:42:45.908099 | ubuntu-noble | =================================== FAILURES =================================== 2026-04-02 01:42:45.908112 | ubuntu-noble | _ TestDriver.test_update_nodegroup[auto_healing_enabled=True-auto_scaling_enabled=True] _ 2026-04-02 01:42:45.908124 | ubuntu-noble | 2026-04-02 01:42:45.908137 | ubuntu-noble | self = 2026-04-02 01:42:45.908149 | ubuntu-noble | context = 2026-04-02 01:42:45.908187 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.908196 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.908204 | ubuntu-noble | 2026-04-02 01:42:45.908213 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 01:42:45.908222 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 01:42:45.908231 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 01:42:45.908239 | ubuntu-noble | rsps, 2026-04-02 01:42:45.908248 | ubuntu-noble | before=[ 2026-04-02 01:42:45.908256 | ubuntu-noble | { 2026-04-02 01:42:45.908265 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.908273 | ubuntu-noble | } 2026-04-02 01:42:45.908281 | ubuntu-noble | ], 2026-04-02 01:42:45.908290 | ubuntu-noble | after=[ 2026-04-02 01:42:45.908298 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 01:42:45.908306 | ubuntu-noble | context, 2026-04-02 01:42:45.908315 | ubuntu-noble | self.cluster, 2026-04-02 01:42:45.908323 | ubuntu-noble | self.node_group, 2026-04-02 01:42:45.908332 | ubuntu-noble | { 2026-04-02 01:42:45.908341 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.908349 | ubuntu-noble | }, 2026-04-02 01:42:45.908357 | ubuntu-noble | ), 2026-04-02 01:42:45.908365 | ubuntu-noble | ], 2026-04-02 01:42:45.908549 | ubuntu-noble | ) 2026-04-02 01:42:45.908650 | ubuntu-noble | 2026-04-02 01:42:45.908717 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 01:42:45.908747 | ubuntu-noble | 2026-04-02 01:42:45.908759 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:385: 2026-04-02 01:42:45.908769 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.908780 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 01:42:45.908789 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 01:42:45.908798 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.908808 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 01:42:45.908817 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 01:42:45.908826 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 01:42:45.908836 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 01:42:45.908846 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 01:42:45.908856 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 01:42:45.908864 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.908873 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 01:42:45.908883 | ubuntu-noble | return list(mss) 2026-04-02 01:42:45.908892 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 01:42:45.908903 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 01:42:45.908947 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 01:42:45.908957 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.908966 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 01:42:45.908976 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 01:42:45.908985 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 01:42:45.908995 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 01:42:45.909004 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 01:42:45.909013 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.909022 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 01:42:45.909031 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 01:42:45.909041 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.909078 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 01:42:45.909087 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 01:42:45.909096 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.909105 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 01:42:45.909114 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 01:42:45.909123 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.909132 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 01:42:45.909141 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 01:42:45.909150 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.909159 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 01:42:45.909168 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 01:42:45.909176 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.909186 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 01:42:45.909195 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 01:42:45.909204 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.909227 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.909237 | ubuntu-noble | 2026-04-02 01:42:45.909246 | ubuntu-noble | self = 2026-04-02 01:42:45.909255 | ubuntu-noble | adapter = 2026-04-02 01:42:45.909264 | ubuntu-noble | request = , retries = None 2026-04-02 01:42:45.909293 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 01:42:45.909303 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 01:42:45.909313 | ubuntu-noble | match = None 2026-04-02 01:42:45.909323 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 01:42:45.909331 | ubuntu-noble | resp_callback = None 2026-04-02 01:42:45.909341 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 01:42:45.909350 | ubuntu-noble | 2026-04-02 01:42:45.909359 | ubuntu-noble | def _on_request( 2026-04-02 01:42:45.909368 | ubuntu-noble | self, 2026-04-02 01:42:45.909377 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 01:42:45.909386 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 01:42:45.909395 | ubuntu-noble | *, 2026-04-02 01:42:45.909404 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 01:42:45.909412 | ubuntu-noble | **kwargs: Any, 2026-04-02 01:42:45.909421 | ubuntu-noble | ) -> "models.Response": 2026-04-02 01:42:45.909430 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 01:42:45.909439 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 01:42:45.909448 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 01:42:45.909457 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 01:42:45.909466 | ubuntu-noble | request_url = str(request.url) 2026-04-02 01:42:45.909474 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 01:42:45.909483 | ubuntu-noble | 2026-04-02 01:42:45.909492 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 01:42:45.909501 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 01:42:45.909510 | ubuntu-noble | 2026-04-02 01:42:45.909519 | ubuntu-noble | if match is None: 2026-04-02 01:42:45.909528 | ubuntu-noble | if any( 2026-04-02 01:42:45.909537 | ubuntu-noble | [ 2026-04-02 01:42:45.909545 | ubuntu-noble | p.match(request_url) 2026-04-02 01:42:45.909575 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 01:42:45.909584 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 01:42:45.909592 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 01:42:45.909601 | ubuntu-noble | ] 2026-04-02 01:42:45.909610 | ubuntu-noble | ): 2026-04-02 01:42:45.909619 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 01:42:45.909627 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 01:42:45.909636 | ubuntu-noble | 2026-04-02 01:42:45.909645 | ubuntu-noble | error_msg = ( 2026-04-02 01:42:45.909654 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 01:42:45.909663 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 01:42:45.909701 | ubuntu-noble | "Request: \n" 2026-04-02 01:42:45.909710 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 01:42:45.909719 | ubuntu-noble | "Available matches:\n" 2026-04-02 01:42:45.909728 | ubuntu-noble | ) 2026-04-02 01:42:45.909736 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 01:42:45.909745 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 01:42:45.909754 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 01:42:45.909763 | ubuntu-noble | ) 2026-04-02 01:42:45.909771 | ubuntu-noble | 2026-04-02 01:42:45.909780 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 01:42:45.909789 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 01:42:45.909798 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 01:42:45.909806 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 01:42:45.909815 | ubuntu-noble | 2026-04-02 01:42:45.909824 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 01:42:45.909833 | ubuntu-noble | response.request = request 2026-04-02 01:42:45.909842 | ubuntu-noble | 2026-04-02 01:42:45.909850 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 01:42:45.909859 | ubuntu-noble | > raise response 2026-04-02 01:42:45.909868 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 01:42:45.909877 | ubuntu-noble | E 2026-04-02 01:42:45.909886 | ubuntu-noble | E Request: 2026-04-02 01:42:45.909895 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 01:42:45.909904 | ubuntu-noble | E 2026-04-02 01:42:45.909912 | ubuntu-noble | E Available matches: 2026-04-02 01:42:45.909928 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 01:42:45.909938 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 01:42:45.909947 | ubuntu-noble | 2026-04-02 01:42:45.909956 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 01:42:45.909965 | ubuntu-noble | 2026-04-02 01:42:45.909974 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 01:42:45.909982 | ubuntu-noble | 2026-04-02 01:42:45.909991 | ubuntu-noble | self = 2026-04-02 01:42:45.910000 | ubuntu-noble | context = 2026-04-02 01:42:45.910009 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.910018 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.910027 | ubuntu-noble | 2026-04-02 01:42:45.910037 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 01:42:45.910046 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 01:42:45.910055 | ubuntu-noble | 2026-04-02 01:42:45.910063 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:365: 2026-04-02 01:42:45.910072 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.910097 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 01:42:45.910106 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 01:42:45.910115 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.910124 | ubuntu-noble | 2026-04-02 01:42:45.910133 | ubuntu-noble | self = , allow_assert = True 2026-04-02 01:42:45.910142 | ubuntu-noble | 2026-04-02 01:42:45.910151 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 01:42:45.910159 | ubuntu-noble | if self._patcher: 2026-04-02 01:42:45.910168 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 01:42:45.910177 | ubuntu-noble | self._patcher.stop() 2026-04-02 01:42:45.910186 | ubuntu-noble | 2026-04-02 01:42:45.910195 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 01:42:45.910203 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 01:42:45.910212 | ubuntu-noble | self._patcher = None 2026-04-02 01:42:45.910221 | ubuntu-noble | 2026-04-02 01:42:45.910230 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 01:42:45.910239 | ubuntu-noble | return 2026-04-02 01:42:45.910247 | ubuntu-noble | 2026-04-02 01:42:45.910256 | ubuntu-noble | if not allow_assert: 2026-04-02 01:42:45.910265 | ubuntu-noble | return 2026-04-02 01:42:45.910274 | ubuntu-noble | 2026-04-02 01:42:45.910282 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 01:42:45.910291 | ubuntu-noble | if not_called: 2026-04-02 01:42:45.910300 | ubuntu-noble | > raise AssertionError( 2026-04-02 01:42:45.910309 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 01:42:45.910318 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 01:42:45.910326 | ubuntu-noble | ) 2026-04-02 01:42:45.910335 | ubuntu-noble | ) 2026-04-02 01:42:45.910345 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 01:42:45.910354 | ubuntu-noble | 2026-04-02 01:42:45.910363 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 01:42:45.910372 | ubuntu-noble | _ TestDriver.test_update_nodegroup[auto_healing_enabled=True-auto_scaling_enabled=False] _ 2026-04-02 01:42:45.910381 | ubuntu-noble | 2026-04-02 01:42:45.910390 | ubuntu-noble | self = 2026-04-02 01:42:45.910398 | ubuntu-noble | context = 2026-04-02 01:42:45.910407 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.910416 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.910425 | ubuntu-noble | 2026-04-02 01:42:45.910433 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 01:42:45.910442 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 01:42:45.910451 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 01:42:45.910460 | ubuntu-noble | rsps, 2026-04-02 01:42:45.910468 | ubuntu-noble | before=[ 2026-04-02 01:42:45.910477 | ubuntu-noble | { 2026-04-02 01:42:45.910486 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.910495 | ubuntu-noble | } 2026-04-02 01:42:45.910503 | ubuntu-noble | ], 2026-04-02 01:42:45.910512 | ubuntu-noble | after=[ 2026-04-02 01:42:45.910521 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 01:42:45.910530 | ubuntu-noble | context, 2026-04-02 01:42:45.910538 | ubuntu-noble | self.cluster, 2026-04-02 01:42:45.910547 | ubuntu-noble | self.node_group, 2026-04-02 01:42:45.910556 | ubuntu-noble | { 2026-04-02 01:42:45.910565 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.910573 | ubuntu-noble | }, 2026-04-02 01:42:45.910582 | ubuntu-noble | ), 2026-04-02 01:42:45.910591 | ubuntu-noble | ], 2026-04-02 01:42:45.910600 | ubuntu-noble | ) 2026-04-02 01:42:45.910617 | ubuntu-noble | 2026-04-02 01:42:45.910626 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 01:42:45.910635 | ubuntu-noble | 2026-04-02 01:42:45.910644 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:385: 2026-04-02 01:42:45.910652 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.910661 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 01:42:45.910735 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 01:42:45.910745 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.910754 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 01:42:45.910762 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 01:42:45.910771 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 01:42:45.910780 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 01:42:45.910789 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 01:42:45.910798 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 01:42:45.910807 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.910815 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 01:42:45.910824 | ubuntu-noble | return list(mss) 2026-04-02 01:42:45.910833 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 01:42:45.910842 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 01:42:45.910851 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 01:42:45.910859 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.910876 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 01:42:45.910885 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 01:42:45.910893 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 01:42:45.910902 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 01:42:45.910911 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 01:42:45.910920 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.910929 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 01:42:45.910937 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 01:42:45.910946 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.910961 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 01:42:45.910971 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 01:42:45.910979 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.910988 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 01:42:45.910997 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 01:42:45.911006 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.911015 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 01:42:45.911024 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 01:42:45.911032 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.911041 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 01:42:45.911050 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 01:42:45.911059 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.911068 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 01:42:45.911077 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 01:42:45.911085 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.911094 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.911103 | ubuntu-noble | 2026-04-02 01:42:45.911112 | ubuntu-noble | self = 2026-04-02 01:42:45.911121 | ubuntu-noble | adapter = 2026-04-02 01:42:45.911140 | ubuntu-noble | request = , retries = None 2026-04-02 01:42:45.911148 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 01:42:45.911157 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 01:42:45.911167 | ubuntu-noble | match = None 2026-04-02 01:42:45.911175 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 01:42:45.911184 | ubuntu-noble | resp_callback = None 2026-04-02 01:42:45.911193 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 01:42:45.911202 | ubuntu-noble | 2026-04-02 01:42:45.911211 | ubuntu-noble | def _on_request( 2026-04-02 01:42:45.911220 | ubuntu-noble | self, 2026-04-02 01:42:45.911229 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 01:42:45.911238 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 01:42:45.911247 | ubuntu-noble | *, 2026-04-02 01:42:45.911255 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 01:42:45.911264 | ubuntu-noble | **kwargs: Any, 2026-04-02 01:42:45.911273 | ubuntu-noble | ) -> "models.Response": 2026-04-02 01:42:45.911282 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 01:42:45.911291 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 01:42:45.911306 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 01:42:45.911314 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 01:42:45.911323 | ubuntu-noble | request_url = str(request.url) 2026-04-02 01:42:45.911332 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 01:42:45.911341 | ubuntu-noble | 2026-04-02 01:42:45.911350 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 01:42:45.911359 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 01:42:45.911367 | ubuntu-noble | 2026-04-02 01:42:45.911376 | ubuntu-noble | if match is None: 2026-04-02 01:42:45.911385 | ubuntu-noble | if any( 2026-04-02 01:42:45.911394 | ubuntu-noble | [ 2026-04-02 01:42:45.911403 | ubuntu-noble | p.match(request_url) 2026-04-02 01:42:45.911411 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 01:42:45.911420 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 01:42:45.911429 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 01:42:45.911438 | ubuntu-noble | ] 2026-04-02 01:42:45.911447 | ubuntu-noble | ): 2026-04-02 01:42:45.911456 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 01:42:45.911465 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 01:42:45.911473 | ubuntu-noble | 2026-04-02 01:42:45.911482 | ubuntu-noble | error_msg = ( 2026-04-02 01:42:45.911491 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 01:42:45.911500 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 01:42:45.911509 | ubuntu-noble | "Request: \n" 2026-04-02 01:42:45.911517 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 01:42:45.911526 | ubuntu-noble | "Available matches:\n" 2026-04-02 01:42:45.911535 | ubuntu-noble | ) 2026-04-02 01:42:45.911544 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 01:42:45.911553 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 01:42:45.911561 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 01:42:45.911570 | ubuntu-noble | ) 2026-04-02 01:42:45.911579 | ubuntu-noble | 2026-04-02 01:42:45.911588 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 01:42:45.911597 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 01:42:45.911614 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 01:42:45.911623 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 01:42:45.911632 | ubuntu-noble | 2026-04-02 01:42:45.911640 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 01:42:45.911649 | ubuntu-noble | response.request = request 2026-04-02 01:42:45.911658 | ubuntu-noble | 2026-04-02 01:42:45.911749 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 01:42:45.911769 | ubuntu-noble | > raise response 2026-04-02 01:42:45.911780 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 01:42:45.911792 | ubuntu-noble | E 2026-04-02 01:42:45.911803 | ubuntu-noble | E Request: 2026-04-02 01:42:45.911819 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 01:42:45.911828 | ubuntu-noble | E 2026-04-02 01:42:45.911837 | ubuntu-noble | E Available matches: 2026-04-02 01:42:45.911846 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 01:42:45.911855 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 01:42:45.911864 | ubuntu-noble | 2026-04-02 01:42:45.911873 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 01:42:45.911882 | ubuntu-noble | 2026-04-02 01:42:45.911891 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 01:42:45.911900 | ubuntu-noble | 2026-04-02 01:42:45.911909 | ubuntu-noble | self = 2026-04-02 01:42:45.911918 | ubuntu-noble | context = 2026-04-02 01:42:45.911926 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.911935 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.911944 | ubuntu-noble | 2026-04-02 01:42:45.911953 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 01:42:45.911962 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 01:42:45.911971 | ubuntu-noble | 2026-04-02 01:42:45.911980 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:365: 2026-04-02 01:42:45.911999 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.912008 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 01:42:45.912017 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 01:42:45.912026 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.912035 | ubuntu-noble | 2026-04-02 01:42:45.912044 | ubuntu-noble | self = , allow_assert = True 2026-04-02 01:42:45.912053 | ubuntu-noble | 2026-04-02 01:42:45.912062 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 01:42:45.912071 | ubuntu-noble | if self._patcher: 2026-04-02 01:42:45.912080 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 01:42:45.912089 | ubuntu-noble | self._patcher.stop() 2026-04-02 01:42:45.912098 | ubuntu-noble | 2026-04-02 01:42:45.912107 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 01:42:45.912116 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 01:42:45.912124 | ubuntu-noble | self._patcher = None 2026-04-02 01:42:45.912133 | ubuntu-noble | 2026-04-02 01:42:45.912142 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 01:42:45.912151 | ubuntu-noble | return 2026-04-02 01:42:45.912160 | ubuntu-noble | 2026-04-02 01:42:45.912170 | ubuntu-noble | if not allow_assert: 2026-04-02 01:42:45.912190 | ubuntu-noble | return 2026-04-02 01:42:45.912216 | ubuntu-noble | 2026-04-02 01:42:45.912228 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 01:42:45.912240 | ubuntu-noble | if not_called: 2026-04-02 01:42:45.912272 | ubuntu-noble | > raise AssertionError( 2026-04-02 01:42:45.912284 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 01:42:45.912296 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 01:42:45.912309 | ubuntu-noble | ) 2026-04-02 01:42:45.912318 | ubuntu-noble | ) 2026-04-02 01:42:45.912327 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 01:42:45.912337 | ubuntu-noble | 2026-04-02 01:42:45.912346 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 01:42:45.912355 | ubuntu-noble | _ TestDriver.test_update_nodegroup[auto_healing_enabled=False-auto_scaling_enabled=True] _ 2026-04-02 01:42:45.912364 | ubuntu-noble | 2026-04-02 01:42:45.912373 | ubuntu-noble | self = 2026-04-02 01:42:45.912382 | ubuntu-noble | context = 2026-04-02 01:42:45.912391 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.912399 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.912408 | ubuntu-noble | 2026-04-02 01:42:45.912417 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 01:42:45.912426 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 01:42:45.912435 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 01:42:45.912443 | ubuntu-noble | rsps, 2026-04-02 01:42:45.912452 | ubuntu-noble | before=[ 2026-04-02 01:42:45.912461 | ubuntu-noble | { 2026-04-02 01:42:45.912469 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.912526 | ubuntu-noble | } 2026-04-02 01:42:45.912537 | ubuntu-noble | ], 2026-04-02 01:42:45.912547 | ubuntu-noble | after=[ 2026-04-02 01:42:45.912556 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 01:42:45.912565 | ubuntu-noble | context, 2026-04-02 01:42:45.912573 | ubuntu-noble | self.cluster, 2026-04-02 01:42:45.912582 | ubuntu-noble | self.node_group, 2026-04-02 01:42:45.912591 | ubuntu-noble | { 2026-04-02 01:42:45.912600 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.912609 | ubuntu-noble | }, 2026-04-02 01:42:45.912618 | ubuntu-noble | ), 2026-04-02 01:42:45.912626 | ubuntu-noble | ], 2026-04-02 01:42:45.912636 | ubuntu-noble | ) 2026-04-02 01:42:45.912656 | ubuntu-noble | 2026-04-02 01:42:45.912721 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 01:42:45.912732 | ubuntu-noble | 2026-04-02 01:42:45.912741 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:385: 2026-04-02 01:42:45.912750 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.912759 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 01:42:45.912768 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 01:42:45.912777 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.912786 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 01:42:45.912795 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 01:42:45.912803 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 01:42:45.912812 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 01:42:45.912830 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 01:42:45.912840 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 01:42:45.912848 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.912858 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 01:42:45.912867 | ubuntu-noble | return list(mss) 2026-04-02 01:42:45.912876 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 01:42:45.912899 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 01:42:45.912908 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 01:42:45.912973 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.912982 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 01:42:45.912991 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 01:42:45.913000 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 01:42:45.913009 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 01:42:45.913018 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 01:42:45.913027 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.913036 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 01:42:45.913045 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 01:42:45.913055 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.913064 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 01:42:45.913073 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 01:42:45.913082 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.913091 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 01:42:45.913099 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 01:42:45.913108 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.913117 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 01:42:45.913126 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 01:42:45.913135 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.913144 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 01:42:45.913153 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 01:42:45.913162 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.913170 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 01:42:45.913179 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 01:42:45.913188 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.913197 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.913206 | ubuntu-noble | 2026-04-02 01:42:45.913215 | ubuntu-noble | self = 2026-04-02 01:42:45.913224 | ubuntu-noble | adapter = 2026-04-02 01:42:45.913233 | ubuntu-noble | request = , retries = None 2026-04-02 01:42:45.913241 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 01:42:45.913252 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 01:42:45.913272 | ubuntu-noble | match = None 2026-04-02 01:42:45.913295 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 01:42:45.913308 | ubuntu-noble | resp_callback = None 2026-04-02 01:42:45.913320 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 01:42:45.913332 | ubuntu-noble | 2026-04-02 01:42:45.913344 | ubuntu-noble | def _on_request( 2026-04-02 01:42:45.913356 | ubuntu-noble | self, 2026-04-02 01:42:45.913366 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 01:42:45.913373 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 01:42:45.913378 | ubuntu-noble | *, 2026-04-02 01:42:45.913383 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 01:42:45.913388 | ubuntu-noble | **kwargs: Any, 2026-04-02 01:42:45.913393 | ubuntu-noble | ) -> "models.Response": 2026-04-02 01:42:45.913399 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 01:42:45.913424 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 01:42:45.913432 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 01:42:45.913438 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 01:42:45.913443 | ubuntu-noble | request_url = str(request.url) 2026-04-02 01:42:45.913449 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 01:42:45.913454 | ubuntu-noble | 2026-04-02 01:42:45.913459 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 01:42:45.913464 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 01:42:45.913469 | ubuntu-noble | 2026-04-02 01:42:45.913474 | ubuntu-noble | if match is None: 2026-04-02 01:42:45.913479 | ubuntu-noble | if any( 2026-04-02 01:42:45.913484 | ubuntu-noble | [ 2026-04-02 01:42:45.913489 | ubuntu-noble | p.match(request_url) 2026-04-02 01:42:45.913494 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 01:42:45.913499 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 01:42:45.913504 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 01:42:45.913509 | ubuntu-noble | ] 2026-04-02 01:42:45.913514 | ubuntu-noble | ): 2026-04-02 01:42:45.913519 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 01:42:45.913524 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 01:42:45.913530 | ubuntu-noble | 2026-04-02 01:42:45.913535 | ubuntu-noble | error_msg = ( 2026-04-02 01:42:45.913552 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 01:42:45.913557 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 01:42:45.913566 | ubuntu-noble | "Request: \n" 2026-04-02 01:42:45.913571 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 01:42:45.913576 | ubuntu-noble | "Available matches:\n" 2026-04-02 01:42:45.913581 | ubuntu-noble | ) 2026-04-02 01:42:45.913586 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 01:42:45.913591 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 01:42:45.913596 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 01:42:45.913601 | ubuntu-noble | ) 2026-04-02 01:42:45.913606 | ubuntu-noble | 2026-04-02 01:42:45.913611 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 01:42:45.913617 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 01:42:45.913622 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 01:42:45.913627 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 01:42:45.913632 | ubuntu-noble | 2026-04-02 01:42:45.913637 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 01:42:45.913642 | ubuntu-noble | response.request = request 2026-04-02 01:42:45.913647 | ubuntu-noble | 2026-04-02 01:42:45.913652 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 01:42:45.913657 | ubuntu-noble | > raise response 2026-04-02 01:42:45.913662 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 01:42:45.913696 | ubuntu-noble | E 2026-04-02 01:42:45.913701 | ubuntu-noble | E Request: 2026-04-02 01:42:45.913706 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 01:42:45.913711 | ubuntu-noble | E 2026-04-02 01:42:45.913717 | ubuntu-noble | E Available matches: 2026-04-02 01:42:45.913722 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 01:42:45.913727 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 01:42:45.913732 | ubuntu-noble | 2026-04-02 01:42:45.913737 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 01:42:45.913749 | ubuntu-noble | 2026-04-02 01:42:45.913754 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 01:42:45.913759 | ubuntu-noble | 2026-04-02 01:42:45.913764 | ubuntu-noble | self = 2026-04-02 01:42:45.913770 | ubuntu-noble | context = 2026-04-02 01:42:45.913775 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.913780 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.913785 | ubuntu-noble | 2026-04-02 01:42:45.913790 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 01:42:45.913795 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 01:42:45.913800 | ubuntu-noble | 2026-04-02 01:42:45.913805 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:365: 2026-04-02 01:42:45.913810 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.913815 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 01:42:45.913820 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 01:42:45.913825 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.913830 | ubuntu-noble | 2026-04-02 01:42:45.913835 | ubuntu-noble | self = , allow_assert = True 2026-04-02 01:42:45.913840 | ubuntu-noble | 2026-04-02 01:42:45.913845 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 01:42:45.913850 | ubuntu-noble | if self._patcher: 2026-04-02 01:42:45.913855 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 01:42:45.913861 | ubuntu-noble | self._patcher.stop() 2026-04-02 01:42:45.913866 | ubuntu-noble | 2026-04-02 01:42:45.913871 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 01:42:45.913876 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 01:42:45.913881 | ubuntu-noble | self._patcher = None 2026-04-02 01:42:45.913886 | ubuntu-noble | 2026-04-02 01:42:45.913891 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 01:42:45.913896 | ubuntu-noble | return 2026-04-02 01:42:45.913901 | ubuntu-noble | 2026-04-02 01:42:45.913906 | ubuntu-noble | if not allow_assert: 2026-04-02 01:42:45.913911 | ubuntu-noble | return 2026-04-02 01:42:45.913916 | ubuntu-noble | 2026-04-02 01:42:45.913921 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 01:42:45.913926 | ubuntu-noble | if not_called: 2026-04-02 01:42:45.913931 | ubuntu-noble | > raise AssertionError( 2026-04-02 01:42:45.913936 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 01:42:45.913941 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 01:42:45.913946 | ubuntu-noble | ) 2026-04-02 01:42:45.913952 | ubuntu-noble | ) 2026-04-02 01:42:45.913957 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 01:42:45.913962 | ubuntu-noble | 2026-04-02 01:42:45.913967 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 01:42:45.913972 | ubuntu-noble | _ TestDriver.test_update_nodegroup[auto_healing_enabled=False-auto_scaling_enabled=False] _ 2026-04-02 01:42:45.913977 | ubuntu-noble | 2026-04-02 01:42:45.913982 | ubuntu-noble | self = 2026-04-02 01:42:45.913987 | ubuntu-noble | context = 2026-04-02 01:42:45.913992 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.913997 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.914002 | ubuntu-noble | 2026-04-02 01:42:45.914007 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 01:42:45.914012 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 01:42:45.914018 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 01:42:45.914023 | ubuntu-noble | rsps, 2026-04-02 01:42:45.914028 | ubuntu-noble | before=[ 2026-04-02 01:42:45.914037 | ubuntu-noble | { 2026-04-02 01:42:45.914049 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.914054 | ubuntu-noble | } 2026-04-02 01:42:45.914059 | ubuntu-noble | ], 2026-04-02 01:42:45.914064 | ubuntu-noble | after=[ 2026-04-02 01:42:45.914069 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 01:42:45.914079 | ubuntu-noble | context, 2026-04-02 01:42:45.914084 | ubuntu-noble | self.cluster, 2026-04-02 01:42:45.914089 | ubuntu-noble | self.node_group, 2026-04-02 01:42:45.914094 | ubuntu-noble | { 2026-04-02 01:42:45.914099 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.914104 | ubuntu-noble | }, 2026-04-02 01:42:45.914109 | ubuntu-noble | ), 2026-04-02 01:42:45.914114 | ubuntu-noble | ], 2026-04-02 01:42:45.914119 | ubuntu-noble | ) 2026-04-02 01:42:45.914124 | ubuntu-noble | 2026-04-02 01:42:45.914129 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 01:42:45.914134 | ubuntu-noble | 2026-04-02 01:42:45.914140 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:385: 2026-04-02 01:42:45.914145 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.914150 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 01:42:45.914155 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 01:42:45.914160 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914165 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 01:42:45.914170 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 01:42:45.914175 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 01:42:45.914180 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 01:42:45.914185 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 01:42:45.914190 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 01:42:45.914195 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914200 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 01:42:45.914205 | ubuntu-noble | return list(mss) 2026-04-02 01:42:45.914210 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 01:42:45.914215 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 01:42:45.914220 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 01:42:45.914225 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914230 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 01:42:45.914235 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 01:42:45.914240 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914246 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 01:42:45.914251 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 01:42:45.914256 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914261 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 01:42:45.914266 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 01:42:45.914271 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914276 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 01:42:45.914281 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 01:42:45.914286 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914291 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 01:42:45.914296 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 01:42:45.914301 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914306 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 01:42:45.914317 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 01:42:45.914322 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914327 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 01:42:45.914332 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 01:42:45.914337 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914342 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 01:42:45.914347 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 01:42:45.914352 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.914357 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.914362 | ubuntu-noble | 2026-04-02 01:42:45.914367 | ubuntu-noble | self = 2026-04-02 01:42:45.914372 | ubuntu-noble | adapter = 2026-04-02 01:42:45.914377 | ubuntu-noble | request = , retries = None 2026-04-02 01:42:45.914382 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 01:42:45.914388 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 01:42:45.914393 | ubuntu-noble | match = None 2026-04-02 01:42:45.914398 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 01:42:45.914403 | ubuntu-noble | resp_callback = None 2026-04-02 01:42:45.914408 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 01:42:45.914413 | ubuntu-noble | 2026-04-02 01:42:45.914418 | ubuntu-noble | def _on_request( 2026-04-02 01:42:45.914423 | ubuntu-noble | self, 2026-04-02 01:42:45.914428 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 01:42:45.914433 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 01:42:45.914438 | ubuntu-noble | *, 2026-04-02 01:42:45.914448 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 01:42:45.914453 | ubuntu-noble | **kwargs: Any, 2026-04-02 01:42:45.914458 | ubuntu-noble | ) -> "models.Response": 2026-04-02 01:42:45.914463 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 01:42:45.914468 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 01:42:45.914474 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 01:42:45.914479 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 01:42:45.914484 | ubuntu-noble | request_url = str(request.url) 2026-04-02 01:42:45.914489 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 01:42:45.914494 | ubuntu-noble | 2026-04-02 01:42:45.914499 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 01:42:45.914504 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 01:42:45.914509 | ubuntu-noble | 2026-04-02 01:42:45.914514 | ubuntu-noble | if match is None: 2026-04-02 01:42:45.914519 | ubuntu-noble | if any( 2026-04-02 01:42:45.914524 | ubuntu-noble | [ 2026-04-02 01:42:45.914529 | ubuntu-noble | p.match(request_url) 2026-04-02 01:42:45.914534 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 01:42:45.914539 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 01:42:45.914544 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 01:42:45.914553 | ubuntu-noble | ] 2026-04-02 01:42:45.914558 | ubuntu-noble | ): 2026-04-02 01:42:45.914563 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 01:42:45.914568 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 01:42:45.914573 | ubuntu-noble | 2026-04-02 01:42:45.914583 | ubuntu-noble | error_msg = ( 2026-04-02 01:42:45.914588 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 01:42:45.914593 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 01:42:45.914599 | ubuntu-noble | "Request: \n" 2026-04-02 01:42:45.914604 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 01:42:45.914609 | ubuntu-noble | "Available matches:\n" 2026-04-02 01:42:45.914614 | ubuntu-noble | ) 2026-04-02 01:42:45.914619 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 01:42:45.914624 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 01:42:45.914629 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 01:42:45.914634 | ubuntu-noble | ) 2026-04-02 01:42:45.914639 | ubuntu-noble | 2026-04-02 01:42:45.914644 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 01:42:45.914649 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 01:42:45.914654 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 01:42:45.914659 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 01:42:45.914681 | ubuntu-noble | 2026-04-02 01:42:45.914690 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 01:42:45.914695 | ubuntu-noble | response.request = request 2026-04-02 01:42:45.914700 | ubuntu-noble | 2026-04-02 01:42:45.914705 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 01:42:45.914710 | ubuntu-noble | > raise response 2026-04-02 01:42:45.914715 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 01:42:45.914720 | ubuntu-noble | E 2026-04-02 01:42:45.914725 | ubuntu-noble | E Request: 2026-04-02 01:42:45.914730 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 01:42:45.914735 | ubuntu-noble | E 2026-04-02 01:42:45.914741 | ubuntu-noble | E Available matches: 2026-04-02 01:42:45.914746 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 01:42:45.914751 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 01:42:45.914756 | ubuntu-noble | 2026-04-02 01:42:45.914761 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 01:42:45.914766 | ubuntu-noble | 2026-04-02 01:42:45.914771 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 01:42:45.914776 | ubuntu-noble | 2026-04-02 01:42:45.914781 | ubuntu-noble | self = 2026-04-02 01:42:45.914787 | ubuntu-noble | context = 2026-04-02 01:42:45.914792 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.914797 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.914802 | ubuntu-noble | 2026-04-02 01:42:45.914807 | ubuntu-noble | def test_update_nodegroup(self, context, ubuntu_driver, requests_mock): 2026-04-02 01:42:45.914812 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 01:42:45.914817 | ubuntu-noble | 2026-04-02 01:42:45.914822 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:365: 2026-04-02 01:42:45.914827 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.914832 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 01:42:45.914837 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 01:42:45.914842 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.914847 | ubuntu-noble | 2026-04-02 01:42:45.914853 | ubuntu-noble | self = , allow_assert = True 2026-04-02 01:42:45.914858 | ubuntu-noble | 2026-04-02 01:42:45.914863 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 01:42:45.914868 | ubuntu-noble | if self._patcher: 2026-04-02 01:42:45.914879 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 01:42:45.914884 | ubuntu-noble | self._patcher.stop() 2026-04-02 01:42:45.914889 | ubuntu-noble | 2026-04-02 01:42:45.914894 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 01:42:45.914899 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 01:42:45.914904 | ubuntu-noble | self._patcher = None 2026-04-02 01:42:45.914909 | ubuntu-noble | 2026-04-02 01:42:45.914914 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 01:42:45.914920 | ubuntu-noble | return 2026-04-02 01:42:45.914925 | ubuntu-noble | 2026-04-02 01:42:45.914930 | ubuntu-noble | if not allow_assert: 2026-04-02 01:42:45.914935 | ubuntu-noble | return 2026-04-02 01:42:45.914940 | ubuntu-noble | 2026-04-02 01:42:45.914949 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 01:42:45.914954 | ubuntu-noble | if not_called: 2026-04-02 01:42:45.914959 | ubuntu-noble | > raise AssertionError( 2026-04-02 01:42:45.914964 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 01:42:45.914969 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 01:42:45.914974 | ubuntu-noble | ) 2026-04-02 01:42:45.914980 | ubuntu-noble | ) 2026-04-02 01:42:45.914985 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 01:42:45.914990 | ubuntu-noble | 2026-04-02 01:42:45.914995 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 01:42:45.915000 | ubuntu-noble | _ TestDriver.test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=True-auto_scaling_enabled=True] _ 2026-04-02 01:42:45.915005 | ubuntu-noble | 2026-04-02 01:42:45.915010 | ubuntu-noble | self = 2026-04-02 01:42:45.915015 | ubuntu-noble | context = 2026-04-02 01:42:45.915020 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.915026 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.915031 | ubuntu-noble | 2026-04-02 01:42:45.915036 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 01:42:45.915041 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 01:42:45.915046 | ubuntu-noble | ): 2026-04-02 01:42:45.915051 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 01:42:45.915056 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 01:42:45.915061 | ubuntu-noble | rsps, 2026-04-02 01:42:45.915066 | ubuntu-noble | before=[ 2026-04-02 01:42:45.915071 | ubuntu-noble | { 2026-04-02 01:42:45.915076 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 01:42:45.915081 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.915086 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.915091 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.915096 | ubuntu-noble | }, 2026-04-02 01:42:45.915101 | ubuntu-noble | }, 2026-04-02 01:42:45.915107 | ubuntu-noble | { 2026-04-02 01:42:45.915112 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.915117 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.915122 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.915127 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.915132 | ubuntu-noble | }, 2026-04-02 01:42:45.915137 | ubuntu-noble | }, 2026-04-02 01:42:45.915142 | ubuntu-noble | ], 2026-04-02 01:42:45.915147 | ubuntu-noble | after=[ 2026-04-02 01:42:45.915152 | ubuntu-noble | { 2026-04-02 01:42:45.915157 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 01:42:45.915162 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.915168 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.915173 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.915178 | ubuntu-noble | }, 2026-04-02 01:42:45.915189 | ubuntu-noble | }, 2026-04-02 01:42:45.915194 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 01:42:45.915199 | ubuntu-noble | context, 2026-04-02 01:42:45.915204 | ubuntu-noble | self.cluster, 2026-04-02 01:42:45.915209 | ubuntu-noble | self.node_group, 2026-04-02 01:42:45.915218 | ubuntu-noble | { 2026-04-02 01:42:45.915223 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.915228 | ubuntu-noble | }, 2026-04-02 01:42:45.915233 | ubuntu-noble | ), 2026-04-02 01:42:45.915238 | ubuntu-noble | ], 2026-04-02 01:42:45.915244 | ubuntu-noble | ) 2026-04-02 01:42:45.915249 | ubuntu-noble | 2026-04-02 01:42:45.915254 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 01:42:45.915259 | ubuntu-noble | 2026-04-02 01:42:45.915264 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:430: 2026-04-02 01:42:45.915269 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.915274 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 01:42:45.915279 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 01:42:45.915285 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915290 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 01:42:45.915295 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 01:42:45.915300 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 01:42:45.915305 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 01:42:45.915310 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 01:42:45.915315 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 01:42:45.915320 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915325 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 01:42:45.915330 | ubuntu-noble | return list(mss) 2026-04-02 01:42:45.915335 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 01:42:45.915340 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 01:42:45.915345 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 01:42:45.915351 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915356 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 01:42:45.915361 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 01:42:45.915366 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915371 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 01:42:45.915377 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 01:42:45.915384 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915391 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 01:42:45.915397 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 01:42:45.915404 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915410 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 01:42:45.915420 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 01:42:45.915426 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915431 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 01:42:45.915436 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 01:42:45.915441 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915446 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 01:42:45.915451 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 01:42:45.915456 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915461 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 01:42:45.915472 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 01:42:45.915477 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915482 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 01:42:45.915487 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 01:42:45.915492 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.915498 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.915503 | ubuntu-noble | 2026-04-02 01:42:45.915508 | ubuntu-noble | self = 2026-04-02 01:42:45.915513 | ubuntu-noble | adapter = 2026-04-02 01:42:45.915518 | ubuntu-noble | request = , retries = None 2026-04-02 01:42:45.915523 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 01:42:45.915528 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 01:42:45.915533 | ubuntu-noble | match = None 2026-04-02 01:42:45.915538 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 01:42:45.915543 | ubuntu-noble | resp_callback = None 2026-04-02 01:42:45.915548 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 01:42:45.915553 | ubuntu-noble | 2026-04-02 01:42:45.915558 | ubuntu-noble | def _on_request( 2026-04-02 01:42:45.915563 | ubuntu-noble | self, 2026-04-02 01:42:45.915568 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 01:42:45.915573 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 01:42:45.915578 | ubuntu-noble | *, 2026-04-02 01:42:45.915583 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 01:42:45.915588 | ubuntu-noble | **kwargs: Any, 2026-04-02 01:42:45.915593 | ubuntu-noble | ) -> "models.Response": 2026-04-02 01:42:45.915598 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 01:42:45.915603 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 01:42:45.915608 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 01:42:45.915613 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 01:42:45.915618 | ubuntu-noble | request_url = str(request.url) 2026-04-02 01:42:45.915623 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 01:42:45.915629 | ubuntu-noble | 2026-04-02 01:42:45.915634 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 01:42:45.915639 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 01:42:45.915644 | ubuntu-noble | 2026-04-02 01:42:45.915649 | ubuntu-noble | if match is None: 2026-04-02 01:42:45.915654 | ubuntu-noble | if any( 2026-04-02 01:42:45.915659 | ubuntu-noble | [ 2026-04-02 01:42:45.915679 | ubuntu-noble | p.match(request_url) 2026-04-02 01:42:45.915688 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 01:42:45.915693 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 01:42:45.915698 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 01:42:45.915703 | ubuntu-noble | ] 2026-04-02 01:42:45.915708 | ubuntu-noble | ): 2026-04-02 01:42:45.915713 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 01:42:45.915718 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 01:42:45.915723 | ubuntu-noble | 2026-04-02 01:42:45.915729 | ubuntu-noble | error_msg = ( 2026-04-02 01:42:45.915734 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 01:42:45.915739 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 01:42:45.915744 | ubuntu-noble | "Request: \n" 2026-04-02 01:42:45.915754 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 01:42:45.915759 | ubuntu-noble | "Available matches:\n" 2026-04-02 01:42:45.915765 | ubuntu-noble | ) 2026-04-02 01:42:45.915770 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 01:42:45.915775 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 01:42:45.915780 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 01:42:45.915785 | ubuntu-noble | ) 2026-04-02 01:42:45.915790 | ubuntu-noble | 2026-04-02 01:42:45.915795 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 01:42:45.915800 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 01:42:45.915805 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 01:42:45.915810 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 01:42:45.915815 | ubuntu-noble | 2026-04-02 01:42:45.915820 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 01:42:45.915825 | ubuntu-noble | response.request = request 2026-04-02 01:42:45.915831 | ubuntu-noble | 2026-04-02 01:42:45.915838 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 01:42:45.915845 | ubuntu-noble | > raise response 2026-04-02 01:42:45.915851 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 01:42:45.915856 | ubuntu-noble | E 2026-04-02 01:42:45.915861 | ubuntu-noble | E Request: 2026-04-02 01:42:45.915877 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 01:42:45.915883 | ubuntu-noble | E 2026-04-02 01:42:45.915888 | ubuntu-noble | E Available matches: 2026-04-02 01:42:45.915902 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 01:42:45.915907 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 01:42:45.915912 | ubuntu-noble | 2026-04-02 01:42:45.915917 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 01:42:45.915923 | ubuntu-noble | 2026-04-02 01:42:45.915928 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 01:42:45.915933 | ubuntu-noble | 2026-04-02 01:42:45.915938 | ubuntu-noble | self = 2026-04-02 01:42:45.915943 | ubuntu-noble | context = 2026-04-02 01:42:45.915948 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.915953 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.915959 | ubuntu-noble | 2026-04-02 01:42:45.915964 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 01:42:45.915969 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 01:42:45.915974 | ubuntu-noble | ): 2026-04-02 01:42:45.915979 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 01:42:45.915984 | ubuntu-noble | 2026-04-02 01:42:45.915989 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:392: 2026-04-02 01:42:45.915994 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.915999 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 01:42:45.916005 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 01:42:45.916010 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.916015 | ubuntu-noble | 2026-04-02 01:42:45.916020 | ubuntu-noble | self = , allow_assert = True 2026-04-02 01:42:45.916025 | ubuntu-noble | 2026-04-02 01:42:45.916030 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 01:42:45.916035 | ubuntu-noble | if self._patcher: 2026-04-02 01:42:45.916040 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 01:42:45.916045 | ubuntu-noble | self._patcher.stop() 2026-04-02 01:42:45.916056 | ubuntu-noble | 2026-04-02 01:42:45.916061 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 01:42:45.916066 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 01:42:45.916071 | ubuntu-noble | self._patcher = None 2026-04-02 01:42:45.916076 | ubuntu-noble | 2026-04-02 01:42:45.916081 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 01:42:45.916087 | ubuntu-noble | return 2026-04-02 01:42:45.916092 | ubuntu-noble | 2026-04-02 01:42:45.916097 | ubuntu-noble | if not allow_assert: 2026-04-02 01:42:45.916102 | ubuntu-noble | return 2026-04-02 01:42:45.916107 | ubuntu-noble | 2026-04-02 01:42:45.916112 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 01:42:45.916117 | ubuntu-noble | if not_called: 2026-04-02 01:42:45.916122 | ubuntu-noble | > raise AssertionError( 2026-04-02 01:42:45.916127 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 01:42:45.916132 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 01:42:45.916137 | ubuntu-noble | ) 2026-04-02 01:42:45.916143 | ubuntu-noble | ) 2026-04-02 01:42:45.916148 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 01:42:45.916153 | ubuntu-noble | 2026-04-02 01:42:45.916158 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 01:42:45.916163 | ubuntu-noble | _ TestDriver.test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=True-auto_scaling_enabled=False] _ 2026-04-02 01:42:45.916168 | ubuntu-noble | 2026-04-02 01:42:45.916173 | ubuntu-noble | self = 2026-04-02 01:42:45.916178 | ubuntu-noble | context = 2026-04-02 01:42:45.916183 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.916188 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.916193 | ubuntu-noble | 2026-04-02 01:42:45.916199 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 01:42:45.916204 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 01:42:45.916209 | ubuntu-noble | ): 2026-04-02 01:42:45.916216 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 01:42:45.916222 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 01:42:45.916229 | ubuntu-noble | rsps, 2026-04-02 01:42:45.916235 | ubuntu-noble | before=[ 2026-04-02 01:42:45.916242 | ubuntu-noble | { 2026-04-02 01:42:45.916248 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 01:42:45.916254 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.916261 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.916267 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.916273 | ubuntu-noble | }, 2026-04-02 01:42:45.916280 | ubuntu-noble | }, 2026-04-02 01:42:45.916286 | ubuntu-noble | { 2026-04-02 01:42:45.916292 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.916298 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.916305 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.916312 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.916318 | ubuntu-noble | }, 2026-04-02 01:42:45.916324 | ubuntu-noble | }, 2026-04-02 01:42:45.916330 | ubuntu-noble | ], 2026-04-02 01:42:45.916336 | ubuntu-noble | after=[ 2026-04-02 01:42:45.916343 | ubuntu-noble | { 2026-04-02 01:42:45.916349 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 01:42:45.916356 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.916362 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.916369 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.916376 | ubuntu-noble | }, 2026-04-02 01:42:45.916382 | ubuntu-noble | }, 2026-04-02 01:42:45.916389 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 01:42:45.916403 | ubuntu-noble | context, 2026-04-02 01:42:45.916410 | ubuntu-noble | self.cluster, 2026-04-02 01:42:45.916416 | ubuntu-noble | self.node_group, 2026-04-02 01:42:45.916422 | ubuntu-noble | { 2026-04-02 01:42:45.916428 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.916439 | ubuntu-noble | }, 2026-04-02 01:42:45.916444 | ubuntu-noble | ), 2026-04-02 01:42:45.916449 | ubuntu-noble | ], 2026-04-02 01:42:45.916455 | ubuntu-noble | ) 2026-04-02 01:42:45.916460 | ubuntu-noble | 2026-04-02 01:42:45.916465 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 01:42:45.916470 | ubuntu-noble | 2026-04-02 01:42:45.916475 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:430: 2026-04-02 01:42:45.916480 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.916485 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 01:42:45.916490 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 01:42:45.916495 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916500 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 01:42:45.916505 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 01:42:45.916510 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 01:42:45.916515 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 01:42:45.916521 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 01:42:45.916526 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 01:42:45.916531 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916536 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 01:42:45.916541 | ubuntu-noble | return list(mss) 2026-04-02 01:42:45.916546 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 01:42:45.916551 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 01:42:45.916556 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 01:42:45.916561 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916566 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 01:42:45.916571 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 01:42:45.916576 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916581 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 01:42:45.916586 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 01:42:45.916591 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916596 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 01:42:45.916601 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 01:42:45.916606 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916611 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 01:42:45.916616 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 01:42:45.916621 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916626 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 01:42:45.916631 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 01:42:45.916636 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916641 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 01:42:45.916646 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 01:42:45.916651 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916656 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 01:42:45.916661 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 01:42:45.916687 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916699 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 01:42:45.916704 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 01:42:45.916709 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.916714 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.916719 | ubuntu-noble | 2026-04-02 01:42:45.916729 | ubuntu-noble | self = 2026-04-02 01:42:45.916734 | ubuntu-noble | adapter = 2026-04-02 01:42:45.916740 | ubuntu-noble | request = , retries = None 2026-04-02 01:42:45.916745 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 01:42:45.916750 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 01:42:45.916755 | ubuntu-noble | match = None 2026-04-02 01:42:45.916760 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 01:42:45.916765 | ubuntu-noble | resp_callback = None 2026-04-02 01:42:45.916770 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 01:42:45.916775 | ubuntu-noble | 2026-04-02 01:42:45.916781 | ubuntu-noble | def _on_request( 2026-04-02 01:42:45.916786 | ubuntu-noble | self, 2026-04-02 01:42:45.916791 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 01:42:45.916796 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 01:42:45.916801 | ubuntu-noble | *, 2026-04-02 01:42:45.916806 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 01:42:45.916811 | ubuntu-noble | **kwargs: Any, 2026-04-02 01:42:45.916816 | ubuntu-noble | ) -> "models.Response": 2026-04-02 01:42:45.916821 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 01:42:45.916826 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 01:42:45.916831 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 01:42:45.916841 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 01:42:45.916846 | ubuntu-noble | request_url = str(request.url) 2026-04-02 01:42:45.916852 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 01:42:45.916861 | ubuntu-noble | 2026-04-02 01:42:45.916866 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 01:42:45.916871 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 01:42:45.916876 | ubuntu-noble | 2026-04-02 01:42:45.916881 | ubuntu-noble | if match is None: 2026-04-02 01:42:45.916886 | ubuntu-noble | if any( 2026-04-02 01:42:45.916891 | ubuntu-noble | [ 2026-04-02 01:42:45.916896 | ubuntu-noble | p.match(request_url) 2026-04-02 01:42:45.916901 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 01:42:45.916906 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 01:42:45.916921 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 01:42:45.916926 | ubuntu-noble | ] 2026-04-02 01:42:45.916932 | ubuntu-noble | ): 2026-04-02 01:42:45.916937 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 01:42:45.916942 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 01:42:45.916947 | ubuntu-noble | 2026-04-02 01:42:45.916952 | ubuntu-noble | error_msg = ( 2026-04-02 01:42:45.916957 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 01:42:45.916962 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 01:42:45.916967 | ubuntu-noble | "Request: \n" 2026-04-02 01:42:45.916972 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 01:42:45.916977 | ubuntu-noble | "Available matches:\n" 2026-04-02 01:42:45.916987 | ubuntu-noble | ) 2026-04-02 01:42:45.916993 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 01:42:45.916998 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 01:42:45.917003 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 01:42:45.917008 | ubuntu-noble | ) 2026-04-02 01:42:45.917013 | ubuntu-noble | 2026-04-02 01:42:45.917018 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 01:42:45.917023 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 01:42:45.917028 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 01:42:45.917033 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 01:42:45.917038 | ubuntu-noble | 2026-04-02 01:42:45.917043 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 01:42:45.917048 | ubuntu-noble | response.request = request 2026-04-02 01:42:45.917053 | ubuntu-noble | 2026-04-02 01:42:45.917058 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 01:42:45.917063 | ubuntu-noble | > raise response 2026-04-02 01:42:45.917068 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 01:42:45.917073 | ubuntu-noble | E 2026-04-02 01:42:45.917079 | ubuntu-noble | E Request: 2026-04-02 01:42:45.917084 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 01:42:45.917089 | ubuntu-noble | E 2026-04-02 01:42:45.917094 | ubuntu-noble | E Available matches: 2026-04-02 01:42:45.917099 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 01:42:45.917104 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 01:42:45.917109 | ubuntu-noble | 2026-04-02 01:42:45.917114 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 01:42:45.917119 | ubuntu-noble | 2026-04-02 01:42:45.917124 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 01:42:45.917129 | ubuntu-noble | 2026-04-02 01:42:45.917134 | ubuntu-noble | self = 2026-04-02 01:42:45.917139 | ubuntu-noble | context = 2026-04-02 01:42:45.917145 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.917150 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.917155 | ubuntu-noble | 2026-04-02 01:42:45.917160 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 01:42:45.917165 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 01:42:45.917170 | ubuntu-noble | ): 2026-04-02 01:42:45.917175 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 01:42:45.917180 | ubuntu-noble | 2026-04-02 01:42:45.917185 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:392: 2026-04-02 01:42:45.917190 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.917195 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 01:42:45.917200 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 01:42:45.917205 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.917210 | ubuntu-noble | 2026-04-02 01:42:45.917216 | ubuntu-noble | self = , allow_assert = True 2026-04-02 01:42:45.917221 | ubuntu-noble | 2026-04-02 01:42:45.917226 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 01:42:45.917231 | ubuntu-noble | if self._patcher: 2026-04-02 01:42:45.917236 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 01:42:45.917241 | ubuntu-noble | self._patcher.stop() 2026-04-02 01:42:45.917246 | ubuntu-noble | 2026-04-02 01:42:45.917251 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 01:42:45.917261 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 01:42:45.917266 | ubuntu-noble | self._patcher = None 2026-04-02 01:42:45.917271 | ubuntu-noble | 2026-04-02 01:42:45.917276 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 01:42:45.917282 | ubuntu-noble | return 2026-04-02 01:42:45.917287 | ubuntu-noble | 2026-04-02 01:42:45.917292 | ubuntu-noble | if not allow_assert: 2026-04-02 01:42:45.917297 | ubuntu-noble | return 2026-04-02 01:42:45.917302 | ubuntu-noble | 2026-04-02 01:42:45.917307 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 01:42:45.917312 | ubuntu-noble | if not_called: 2026-04-02 01:42:45.917317 | ubuntu-noble | > raise AssertionError( 2026-04-02 01:42:45.917322 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 01:42:45.917327 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 01:42:45.917332 | ubuntu-noble | ) 2026-04-02 01:42:45.917337 | ubuntu-noble | ) 2026-04-02 01:42:45.917347 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 01:42:45.917353 | ubuntu-noble | 2026-04-02 01:42:45.917358 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 01:42:45.917363 | ubuntu-noble | _ TestDriver.test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=False-auto_scaling_enabled=True] _ 2026-04-02 01:42:45.917368 | ubuntu-noble | 2026-04-02 01:42:45.917373 | ubuntu-noble | self = 2026-04-02 01:42:45.917378 | ubuntu-noble | context = 2026-04-02 01:42:45.917385 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.917392 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.917398 | ubuntu-noble | 2026-04-02 01:42:45.917405 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 01:42:45.917411 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 01:42:45.917418 | ubuntu-noble | ): 2026-04-02 01:42:45.917424 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 01:42:45.917431 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 01:42:45.917437 | ubuntu-noble | rsps, 2026-04-02 01:42:45.917444 | ubuntu-noble | before=[ 2026-04-02 01:42:45.917450 | ubuntu-noble | { 2026-04-02 01:42:45.917457 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 01:42:45.917463 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.917469 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.917476 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.917482 | ubuntu-noble | }, 2026-04-02 01:42:45.917488 | ubuntu-noble | }, 2026-04-02 01:42:45.917494 | ubuntu-noble | { 2026-04-02 01:42:45.917501 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.917507 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.917514 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.917520 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.917527 | ubuntu-noble | }, 2026-04-02 01:42:45.917534 | ubuntu-noble | }, 2026-04-02 01:42:45.917540 | ubuntu-noble | ], 2026-04-02 01:42:45.917546 | ubuntu-noble | after=[ 2026-04-02 01:42:45.917553 | ubuntu-noble | { 2026-04-02 01:42:45.917559 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 01:42:45.917565 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.917572 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.917577 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.917582 | ubuntu-noble | }, 2026-04-02 01:42:45.917587 | ubuntu-noble | }, 2026-04-02 01:42:45.917592 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 01:42:45.917597 | ubuntu-noble | context, 2026-04-02 01:42:45.917602 | ubuntu-noble | self.cluster, 2026-04-02 01:42:45.917607 | ubuntu-noble | self.node_group, 2026-04-02 01:42:45.917619 | ubuntu-noble | { 2026-04-02 01:42:45.917625 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.917630 | ubuntu-noble | }, 2026-04-02 01:42:45.917635 | ubuntu-noble | ), 2026-04-02 01:42:45.917640 | ubuntu-noble | ], 2026-04-02 01:42:45.917645 | ubuntu-noble | ) 2026-04-02 01:42:45.917650 | ubuntu-noble | 2026-04-02 01:42:45.917655 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 01:42:45.917660 | ubuntu-noble | 2026-04-02 01:42:45.917685 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:430: 2026-04-02 01:42:45.917690 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.917701 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 01:42:45.917706 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 01:42:45.917711 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917716 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 01:42:45.917721 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 01:42:45.917726 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 01:42:45.917732 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 01:42:45.917737 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 01:42:45.917742 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 01:42:45.917747 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917752 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 01:42:45.917757 | ubuntu-noble | return list(mss) 2026-04-02 01:42:45.917762 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 01:42:45.917767 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 01:42:45.917772 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 01:42:45.917777 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917782 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 01:42:45.917787 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 01:42:45.917793 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917798 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 01:42:45.917803 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 01:42:45.917808 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917813 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 01:42:45.917818 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 01:42:45.917823 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917828 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 01:42:45.917833 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 01:42:45.917838 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917843 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 01:42:45.917848 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 01:42:45.917853 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917858 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 01:42:45.917869 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 01:42:45.917875 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917883 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 01:42:45.917888 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 01:42:45.917893 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917898 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 01:42:45.917903 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 01:42:45.917914 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.917920 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.917925 | ubuntu-noble | 2026-04-02 01:42:45.917930 | ubuntu-noble | self = 2026-04-02 01:42:45.917935 | ubuntu-noble | adapter = 2026-04-02 01:42:45.917940 | ubuntu-noble | request = , retries = None 2026-04-02 01:42:45.917945 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 01:42:45.917950 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 01:42:45.917955 | ubuntu-noble | match = None 2026-04-02 01:42:45.917961 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 01:42:45.917966 | ubuntu-noble | resp_callback = None 2026-04-02 01:42:45.917971 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 01:42:45.917976 | ubuntu-noble | 2026-04-02 01:42:45.917981 | ubuntu-noble | def _on_request( 2026-04-02 01:42:45.917986 | ubuntu-noble | self, 2026-04-02 01:42:45.917991 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 01:42:45.917996 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 01:42:45.918001 | ubuntu-noble | *, 2026-04-02 01:42:45.918006 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 01:42:45.918011 | ubuntu-noble | **kwargs: Any, 2026-04-02 01:42:45.918017 | ubuntu-noble | ) -> "models.Response": 2026-04-02 01:42:45.918022 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 01:42:45.918027 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 01:42:45.918032 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 01:42:45.918037 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 01:42:45.918042 | ubuntu-noble | request_url = str(request.url) 2026-04-02 01:42:45.918047 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 01:42:45.918052 | ubuntu-noble | 2026-04-02 01:42:45.918057 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 01:42:45.918062 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 01:42:45.918067 | ubuntu-noble | 2026-04-02 01:42:45.918072 | ubuntu-noble | if match is None: 2026-04-02 01:42:45.918077 | ubuntu-noble | if any( 2026-04-02 01:42:45.918082 | ubuntu-noble | [ 2026-04-02 01:42:45.918087 | ubuntu-noble | p.match(request_url) 2026-04-02 01:42:45.918092 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 01:42:45.918097 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 01:42:45.918102 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 01:42:45.918107 | ubuntu-noble | ] 2026-04-02 01:42:45.918113 | ubuntu-noble | ): 2026-04-02 01:42:45.918118 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 01:42:45.918123 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 01:42:45.918128 | ubuntu-noble | 2026-04-02 01:42:45.918133 | ubuntu-noble | error_msg = ( 2026-04-02 01:42:45.918138 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 01:42:45.918143 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 01:42:45.918148 | ubuntu-noble | "Request: \n" 2026-04-02 01:42:45.918153 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 01:42:45.918158 | ubuntu-noble | "Available matches:\n" 2026-04-02 01:42:45.918163 | ubuntu-noble | ) 2026-04-02 01:42:45.918168 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 01:42:45.918179 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 01:42:45.918184 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 01:42:45.918189 | ubuntu-noble | ) 2026-04-02 01:42:45.918194 | ubuntu-noble | 2026-04-02 01:42:45.918199 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 01:42:45.918204 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 01:42:45.918209 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 01:42:45.918214 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 01:42:45.918219 | ubuntu-noble | 2026-04-02 01:42:45.918224 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 01:42:45.918229 | ubuntu-noble | response.request = request 2026-04-02 01:42:45.918234 | ubuntu-noble | 2026-04-02 01:42:45.918240 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 01:42:45.918245 | ubuntu-noble | > raise response 2026-04-02 01:42:45.918250 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 01:42:45.918255 | ubuntu-noble | E 2026-04-02 01:42:45.918260 | ubuntu-noble | E Request: 2026-04-02 01:42:45.918265 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 01:42:45.918270 | ubuntu-noble | E 2026-04-02 01:42:45.918275 | ubuntu-noble | E Available matches: 2026-04-02 01:42:45.918280 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 01:42:45.918289 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 01:42:45.918295 | ubuntu-noble | 2026-04-02 01:42:45.918300 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 01:42:45.918305 | ubuntu-noble | 2026-04-02 01:42:45.918310 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 01:42:45.918315 | ubuntu-noble | 2026-04-02 01:42:45.918320 | ubuntu-noble | self = 2026-04-02 01:42:45.918325 | ubuntu-noble | context = 2026-04-02 01:42:45.918330 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.918335 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.918340 | ubuntu-noble | 2026-04-02 01:42:45.918345 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 01:42:45.918350 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 01:42:45.918355 | ubuntu-noble | ): 2026-04-02 01:42:45.918360 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 01:42:45.918365 | ubuntu-noble | 2026-04-02 01:42:45.918370 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:392: 2026-04-02 01:42:45.918375 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.918380 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 01:42:45.918386 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 01:42:45.918391 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.918396 | ubuntu-noble | 2026-04-02 01:42:45.918401 | ubuntu-noble | self = , allow_assert = True 2026-04-02 01:42:45.918406 | ubuntu-noble | 2026-04-02 01:42:45.918411 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 01:42:45.918416 | ubuntu-noble | if self._patcher: 2026-04-02 01:42:45.918421 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 01:42:45.918426 | ubuntu-noble | self._patcher.stop() 2026-04-02 01:42:45.918431 | ubuntu-noble | 2026-04-02 01:42:45.918436 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 01:42:45.918441 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 01:42:45.918446 | ubuntu-noble | self._patcher = None 2026-04-02 01:42:45.918451 | ubuntu-noble | 2026-04-02 01:42:45.918462 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 01:42:45.918467 | ubuntu-noble | return 2026-04-02 01:42:45.918472 | ubuntu-noble | 2026-04-02 01:42:45.918477 | ubuntu-noble | if not allow_assert: 2026-04-02 01:42:45.918482 | ubuntu-noble | return 2026-04-02 01:42:45.918487 | ubuntu-noble | 2026-04-02 01:42:45.918492 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 01:42:45.918497 | ubuntu-noble | if not_called: 2026-04-02 01:42:45.918502 | ubuntu-noble | > raise AssertionError( 2026-04-02 01:42:45.918507 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 01:42:45.918512 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 01:42:45.918518 | ubuntu-noble | ) 2026-04-02 01:42:45.918523 | ubuntu-noble | ) 2026-04-02 01:42:45.918528 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 01:42:45.918533 | ubuntu-noble | 2026-04-02 01:42:45.918538 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 01:42:45.918543 | ubuntu-noble | _ TestDriver.test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=False-auto_scaling_enabled=False] _ 2026-04-02 01:42:45.918548 | ubuntu-noble | 2026-04-02 01:42:45.918553 | ubuntu-noble | self = 2026-04-02 01:42:45.918558 | ubuntu-noble | context = 2026-04-02 01:42:45.918563 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.918568 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.918573 | ubuntu-noble | 2026-04-02 01:42:45.918578 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 01:42:45.918583 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 01:42:45.918588 | ubuntu-noble | ): 2026-04-02 01:42:45.918594 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 01:42:45.918599 | ubuntu-noble | self.setup_node_group_tests( 2026-04-02 01:42:45.918604 | ubuntu-noble | rsps, 2026-04-02 01:42:45.918613 | ubuntu-noble | before=[ 2026-04-02 01:42:45.918618 | ubuntu-noble | { 2026-04-02 01:42:45.918623 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 01:42:45.918628 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.918633 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.918638 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.918643 | ubuntu-noble | }, 2026-04-02 01:42:45.918648 | ubuntu-noble | }, 2026-04-02 01:42:45.918653 | ubuntu-noble | { 2026-04-02 01:42:45.918658 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.918677 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.918685 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.918690 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.918696 | ubuntu-noble | }, 2026-04-02 01:42:45.918701 | ubuntu-noble | }, 2026-04-02 01:42:45.918706 | ubuntu-noble | ], 2026-04-02 01:42:45.918711 | ubuntu-noble | after=[ 2026-04-02 01:42:45.918716 | ubuntu-noble | { 2026-04-02 01:42:45.918721 | ubuntu-noble | "name": "unrelated-machine-deployment", 2026-04-02 01:42:45.918726 | ubuntu-noble | "replicas": 1, 2026-04-02 01:42:45.918731 | ubuntu-noble | "metadata": { 2026-04-02 01:42:45.918736 | ubuntu-noble | "annotations": {}, 2026-04-02 01:42:45.918741 | ubuntu-noble | }, 2026-04-02 01:42:45.918746 | ubuntu-noble | }, 2026-04-02 01:42:45.918751 | ubuntu-noble | resources.mutate_machine_deployment( 2026-04-02 01:42:45.918756 | ubuntu-noble | context, 2026-04-02 01:42:45.918762 | ubuntu-noble | self.cluster, 2026-04-02 01:42:45.918767 | ubuntu-noble | self.node_group, 2026-04-02 01:42:45.918772 | ubuntu-noble | { 2026-04-02 01:42:45.918777 | ubuntu-noble | "name": self.node_group.name, 2026-04-02 01:42:45.918791 | ubuntu-noble | }, 2026-04-02 01:42:45.918797 | ubuntu-noble | ), 2026-04-02 01:42:45.918802 | ubuntu-noble | ], 2026-04-02 01:42:45.918807 | ubuntu-noble | ) 2026-04-02 01:42:45.918812 | ubuntu-noble | 2026-04-02 01:42:45.918817 | ubuntu-noble | > ubuntu_driver.update_nodegroup(context, self.cluster, self.node_group) 2026-04-02 01:42:45.918822 | ubuntu-noble | 2026-04-02 01:42:45.918827 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:430: 2026-04-02 01:42:45.918832 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.918842 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:43: in wrapper 2026-04-02 01:42:45.918847 | ubuntu-noble | return func(*args, **kwargs) 2026-04-02 01:42:45.918856 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.918861 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:601: in update_nodegroup 2026-04-02 01:42:45.918866 | ubuntu-noble | self._update_nodegroup(context, cluster, nodegroup) 2026-04-02 01:42:45.918872 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/driver.py:631: in _update_nodegroup 2026-04-02 01:42:45.918877 | ubuntu-noble | resources.migrate_machineset_failure_domain( 2026-04-02 01:42:45.918882 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/resources.py:870: in migrate_machineset_failure_domain 2026-04-02 01:42:45.918887 | ubuntu-noble | machine_sets = objects.MachineSet.for_node_group(pykube_api, cluster, node_group) 2026-04-02 01:42:45.918892 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.918897 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum_cluster_api/objects.py:154: in for_node_group 2026-04-02 01:42:45.918902 | ubuntu-noble | return list(mss) 2026-04-02 01:42:45.918907 | ubuntu-noble | ^^^^^^^^^ 2026-04-02 01:42:45.918912 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:197: in __iter__ 2026-04-02 01:42:45.918917 | ubuntu-noble | return iter(self.query_cache["objects"]) 2026-04-02 01:42:45.918922 | ubuntu-noble | ^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.918927 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:187: in query_cache 2026-04-02 01:42:45.918932 | ubuntu-noble | cache["response"] = self.execute().json() 2026-04-02 01:42:45.918937 | ubuntu-noble | ^^^^^^^^^^^^^^ 2026-04-02 01:42:45.918943 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/query.py:161: in execute 2026-04-02 01:42:45.918948 | ubuntu-noble | r = self.api.get(**kwargs) 2026-04-02 01:42:45.918953 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.918958 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:465: in get 2026-04-02 01:42:45.918963 | ubuntu-noble | return self.session.get(*args, **self.get_kwargs(**kwargs)) 2026-04-02 01:42:45.918968 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.918973 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:605: in get 2026-04-02 01:42:45.918978 | ubuntu-noble | return self.request("GET", url, **kwargs) 2026-04-02 01:42:45.918983 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.918988 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:592: in request 2026-04-02 01:42:45.918993 | ubuntu-noble | resp = self.send(prep, **send_kwargs) 2026-04-02 01:42:45.918998 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.919003 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/requests/sessions.py:706: in send 2026-04-02 01:42:45.919008 | ubuntu-noble | r = adapter.send(request, **kwargs) 2026-04-02 01:42:45.919013 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.919018 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/pykube/http.py:181: in send 2026-04-02 01:42:45.919023 | ubuntu-noble | response = self._do_send(request, **kwargs) 2026-04-02 01:42:45.919028 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.919034 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1204: in send 2026-04-02 01:42:45.919039 | ubuntu-noble | return self._on_request(adapter, request, **kwargs) 2026-04-02 01:42:45.919044 | ubuntu-noble | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2026-04-02 01:42:45.919049 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.919059 | ubuntu-noble | 2026-04-02 01:42:45.919064 | ubuntu-noble | self = 2026-04-02 01:42:45.919069 | ubuntu-noble | adapter = 2026-04-02 01:42:45.919074 | ubuntu-noble | request = , retries = None 2026-04-02 01:42:45.919079 | ubuntu-noble | kwargs = {'cert': None, 'proxies': OrderedDict(), 'stream': False, 'timeout': 10, ...} 2026-04-02 01:42:45.919085 | ubuntu-noble | request_url = 'http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker' 2026-04-02 01:42:45.919090 | ubuntu-noble | match = None 2026-04-02 01:42:45.919095 | ubuntu-noble | match_failed_reasons = ['URL does not match', 'Method does not match'] 2026-04-02 01:42:45.919100 | ubuntu-noble | resp_callback = None 2026-04-02 01:42:45.919105 | ubuntu-noble | error_msg = "Connection refused by Responses - the call doesn't match any registered mock.\n\nRequest: \n- GET http://localhost/ap...pile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\\\w') Method does not match\n" 2026-04-02 01:42:45.919110 | ubuntu-noble | 2026-04-02 01:42:45.919115 | ubuntu-noble | def _on_request( 2026-04-02 01:42:45.919120 | ubuntu-noble | self, 2026-04-02 01:42:45.919125 | ubuntu-noble | adapter: "HTTPAdapter", 2026-04-02 01:42:45.919131 | ubuntu-noble | request: "PreparedRequest", 2026-04-02 01:42:45.919136 | ubuntu-noble | *, 2026-04-02 01:42:45.919141 | ubuntu-noble | retries: Optional["_Retry"] = None, 2026-04-02 01:42:45.919146 | ubuntu-noble | **kwargs: Any, 2026-04-02 01:42:45.919151 | ubuntu-noble | ) -> "models.Response": 2026-04-02 01:42:45.919156 | ubuntu-noble | # add attributes params and req_kwargs to 'request' object for further match comparison 2026-04-02 01:42:45.919161 | ubuntu-noble | # original request object does not have these attributes 2026-04-02 01:42:45.919166 | ubuntu-noble | request.params = self._parse_request_params(request.path_url) # type: ignore[attr-defined] 2026-04-02 01:42:45.919171 | ubuntu-noble | request.req_kwargs = kwargs # type: ignore[attr-defined] 2026-04-02 01:42:45.919176 | ubuntu-noble | request_url = str(request.url) 2026-04-02 01:42:45.919181 | ubuntu-noble | request.body = self._read_filelike_body(request.body) 2026-04-02 01:42:45.919186 | ubuntu-noble | 2026-04-02 01:42:45.919191 | ubuntu-noble | match, match_failed_reasons = self._find_match(request) 2026-04-02 01:42:45.919196 | ubuntu-noble | resp_callback = self.response_callback 2026-04-02 01:42:45.919201 | ubuntu-noble | 2026-04-02 01:42:45.919206 | ubuntu-noble | if match is None: 2026-04-02 01:42:45.919212 | ubuntu-noble | if any( 2026-04-02 01:42:45.919217 | ubuntu-noble | [ 2026-04-02 01:42:45.919226 | ubuntu-noble | p.match(request_url) 2026-04-02 01:42:45.919231 | ubuntu-noble | if isinstance(p, Pattern) 2026-04-02 01:42:45.919236 | ubuntu-noble | else request_url.startswith(p) 2026-04-02 01:42:45.919241 | ubuntu-noble | for p in self.passthru_prefixes 2026-04-02 01:42:45.919246 | ubuntu-noble | ] 2026-04-02 01:42:45.919251 | ubuntu-noble | ): 2026-04-02 01:42:45.919256 | ubuntu-noble | logger.info("request.allowed-passthru", extra={"url": request_url}) 2026-04-02 01:42:45.919261 | ubuntu-noble | return self._real_send(adapter, request, **kwargs) # type: ignore 2026-04-02 01:42:45.919266 | ubuntu-noble | 2026-04-02 01:42:45.919271 | ubuntu-noble | error_msg = ( 2026-04-02 01:42:45.919276 | ubuntu-noble | "Connection refused by Responses - the call doesn't " 2026-04-02 01:42:45.919281 | ubuntu-noble | "match any registered mock.\n\n" 2026-04-02 01:42:45.919287 | ubuntu-noble | "Request: \n" 2026-04-02 01:42:45.919292 | ubuntu-noble | f"- {request.method} {request_url}\n\n" 2026-04-02 01:42:45.919297 | ubuntu-noble | "Available matches:\n" 2026-04-02 01:42:45.919302 | ubuntu-noble | ) 2026-04-02 01:42:45.919307 | ubuntu-noble | for i, m in enumerate(self.registered()): 2026-04-02 01:42:45.919312 | ubuntu-noble | error_msg += "- {} {} {}\n".format( 2026-04-02 01:42:45.919317 | ubuntu-noble | m.method, m.url, match_failed_reasons[i] 2026-04-02 01:42:45.919328 | ubuntu-noble | ) 2026-04-02 01:42:45.919333 | ubuntu-noble | 2026-04-02 01:42:45.919338 | ubuntu-noble | if self.passthru_prefixes: 2026-04-02 01:42:45.919343 | ubuntu-noble | error_msg += "Passthru prefixes:\n" 2026-04-02 01:42:45.919348 | ubuntu-noble | for p in self.passthru_prefixes: 2026-04-02 01:42:45.919353 | ubuntu-noble | error_msg += f"- {p}\n" 2026-04-02 01:42:45.919358 | ubuntu-noble | 2026-04-02 01:42:45.919363 | ubuntu-noble | response = ConnectionError(error_msg) 2026-04-02 01:42:45.919368 | ubuntu-noble | response.request = request 2026-04-02 01:42:45.919373 | ubuntu-noble | 2026-04-02 01:42:45.919378 | ubuntu-noble | self._calls.add(request, response) 2026-04-02 01:42:45.919383 | ubuntu-noble | > raise response 2026-04-02 01:42:45.919389 | ubuntu-noble | E requests.exceptions.ConnectionError: Connection refused by Responses - the call doesn't match any registered mock. 2026-04-02 01:42:45.919394 | ubuntu-noble | E 2026-04-02 01:42:45.919399 | ubuntu-noble | E Request: 2026-04-02 01:42:45.919404 | ubuntu-noble | E - GET http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/machinesets?labelSelector=cluster.x-k8s.io%2Fcluster-name%3D047c6319-7abd-4bd9-a033-8c6af0173cd0%2Ctopology.cluster.x-k8s.io%2Fdeployment-name%3Ddefault-worker 2026-04-02 01:42:45.919409 | ubuntu-noble | E 2026-04-02 01:42:45.919414 | ubuntu-noble | E Available matches: 2026-04-02 01:42:45.919419 | ubuntu-noble | E - GET re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') URL does not match 2026-04-02 01:42:45.919424 | ubuntu-noble | E - PATCH re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w') Method does not match 2026-04-02 01:42:45.919430 | ubuntu-noble | 2026-04-02 01:42:45.919435 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1129: ConnectionError 2026-04-02 01:42:45.919440 | ubuntu-noble | 2026-04-02 01:42:45.919445 | ubuntu-noble | During handling of the above exception, another exception occurred: 2026-04-02 01:42:45.919450 | ubuntu-noble | 2026-04-02 01:42:45.919455 | ubuntu-noble | self = 2026-04-02 01:42:45.919460 | ubuntu-noble | context = 2026-04-02 01:42:45.919465 | ubuntu-noble | ubuntu_driver = 2026-04-02 01:42:45.919470 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.919475 | ubuntu-noble | 2026-04-02 01:42:45.919480 | ubuntu-noble | def test_update_nodegroup_with_multiple_node_groups( 2026-04-02 01:42:45.919486 | ubuntu-noble | self, context, ubuntu_driver, requests_mock 2026-04-02 01:42:45.919491 | ubuntu-noble | ): 2026-04-02 01:42:45.919496 | ubuntu-noble | > with requests_mock as rsps: 2026-04-02 01:42:45.919501 | ubuntu-noble | 2026-04-02 01:42:45.919506 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py:392: 2026-04-02 01:42:45.919511 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.919516 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:995: in __exit__ 2026-04-02 01:42:45.919521 | ubuntu-noble | self.stop(allow_assert=True) 2026-04-02 01:42:45.919526 | ubuntu-noble | _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 2026-04-02 01:42:45.919531 | ubuntu-noble | 2026-04-02 01:42:45.919536 | ubuntu-noble | self = , allow_assert = True 2026-04-02 01:42:45.919541 | ubuntu-noble | 2026-04-02 01:42:45.919546 | ubuntu-noble | def stop(self, allow_assert: bool = True) -> None: 2026-04-02 01:42:45.919551 | ubuntu-noble | if self._patcher: 2026-04-02 01:42:45.919557 | ubuntu-noble | # prevent stopping unstarted patchers 2026-04-02 01:42:45.919562 | ubuntu-noble | self._patcher.stop() 2026-04-02 01:42:45.919567 | ubuntu-noble | 2026-04-02 01:42:45.919572 | ubuntu-noble | # once patcher is stopped, clean it. This is required to create a new 2026-04-02 01:42:45.919577 | ubuntu-noble | # fresh patcher on self.start() 2026-04-02 01:42:45.919582 | ubuntu-noble | self._patcher = None 2026-04-02 01:42:45.919587 | ubuntu-noble | 2026-04-02 01:42:45.919592 | ubuntu-noble | if not self.assert_all_requests_are_fired: 2026-04-02 01:42:45.919597 | ubuntu-noble | return 2026-04-02 01:42:45.919607 | ubuntu-noble | 2026-04-02 01:42:45.919612 | ubuntu-noble | if not allow_assert: 2026-04-02 01:42:45.919618 | ubuntu-noble | return 2026-04-02 01:42:45.919623 | ubuntu-noble | 2026-04-02 01:42:45.919628 | ubuntu-noble | not_called = [m for m in self.registered() if m.call_count == 0] 2026-04-02 01:42:45.919633 | ubuntu-noble | if not_called: 2026-04-02 01:42:45.919638 | ubuntu-noble | > raise AssertionError( 2026-04-02 01:42:45.919643 | ubuntu-noble | "Not all requests have been executed {!r}".format( 2026-04-02 01:42:45.919648 | ubuntu-noble | [(match.method, match.url) for match in not_called] 2026-04-02 01:42:45.919653 | ubuntu-noble | ) 2026-04-02 01:42:45.919658 | ubuntu-noble | ) 2026-04-02 01:42:45.919680 | ubuntu-noble | E AssertionError: Not all requests have been executed [('PATCH', re.compile('http://localhost/apis/cluster.x-k8s.io/v1beta1/namespaces/magnum-system/clusters/\\w'))] 2026-04-02 01:42:45.919688 | ubuntu-noble | 2026-04-02 01:42:45.919693 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/responses/__init__.py:1235: AssertionError 2026-04-02 01:42:45.919698 | ubuntu-noble | _ TestGenerateCloudControllerManagerConfig.test_generate_cloud_controller_manager_config _ 2026-04-02 01:42:45.919703 | ubuntu-noble | 2026-04-02 01:42:45.919713 | ubuntu-noble | self = 2026-04-02 01:42:45.919722 | ubuntu-noble | mocker = 2026-04-02 01:42:45.919731 | ubuntu-noble | requests_mock = 2026-04-02 01:42:45.919736 | ubuntu-noble | 2026-04-02 01:42:45.919741 | ubuntu-noble | def test_generate_cloud_controller_manager_config(self, mocker, requests_mock): 2026-04-02 01:42:45.919746 | ubuntu-noble | with requests_mock as rsps: 2026-04-02 01:42:45.919751 | ubuntu-noble | rsps.add(self._response_for_cloud_config_secret()) 2026-04-02 01:42:45.919757 | ubuntu-noble | 2026-04-02 01:42:45.919762 | ubuntu-noble | config = utils.generate_cloud_controller_manager_config( 2026-04-02 01:42:45.919767 | ubuntu-noble | self.context, self.pykube_api, self.cluster 2026-04-02 01:42:45.919772 | ubuntu-noble | ) 2026-04-02 01:42:45.919777 | ubuntu-noble | 2026-04-02 01:42:45.919782 | ubuntu-noble | > assert config == textwrap.dedent( 2026-04-02 01:42:45.919787 | ubuntu-noble | """\ 2026-04-02 01:42:45.919792 | ubuntu-noble | [Global] 2026-04-02 01:42:45.919797 | ubuntu-noble | auth-url=http://localhost/v3 2026-04-02 01:42:45.919802 | ubuntu-noble | region=RegionOne 2026-04-02 01:42:45.919807 | ubuntu-noble | application-credential-id=fake_application_credential_id 2026-04-02 01:42:45.919812 | ubuntu-noble | application-credential-secret=fake_application_credential_secret 2026-04-02 01:42:45.919817 | ubuntu-noble | tls-insecure=false 2026-04-02 01:42:45.919822 | ubuntu-noble | 2026-04-02 01:42:45.919827 | ubuntu-noble | [LoadBalancer] 2026-04-02 01:42:45.919832 | ubuntu-noble | lb-provider=amphora 2026-04-02 01:42:45.919838 | ubuntu-noble | lb-method=ROUND_ROBIN 2026-04-02 01:42:45.919843 | ubuntu-noble | create-monitor=True 2026-04-02 01:42:45.919848 | ubuntu-noble | """ 2026-04-02 01:42:45.919853 | ubuntu-noble | ) 2026-04-02 01:42:45.919858 | ubuntu-noble | E AssertionError: assert '[Global]\nau...onitor=True\n' == '[Global]\nau...onitor=True\n' 2026-04-02 01:42:45.919863 | ubuntu-noble | E 2026-04-02 01:42:45.919868 | ubuntu-noble | E Skipping 221 identical leading characters in diff, use -v to show 2026-04-02 01:42:45.919873 | ubuntu-noble | E - er=amphora 2026-04-02 01:42:45.919878 | ubuntu-noble | E + er=amphorav2 2026-04-02 01:42:45.919883 | ubuntu-noble | E ? ++ 2026-04-02 01:42:45.919888 | ubuntu-noble | E lb-method=ROUND_ROBIN 2026-04-02 01:42:45.919893 | ubuntu-noble | E create-monitor=True 2026-04-02 01:42:45.919898 | ubuntu-noble | 2026-04-02 01:42:45.919903 | ubuntu-noble | magnum_cluster_api/tests/unit/test_utils.py:102: AssertionError 2026-04-02 01:42:45.919908 | ubuntu-noble | =============================== warnings summary =============================== 2026-04-02 01:42:45.919913 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/magnum/common/context.py:13 2026-04-02 01:42:45.919918 | ubuntu-noble | /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/magnum/common/context.py:13: DeprecationWarning: 2026-04-02 01:42:45.919924 | ubuntu-noble | Eventlet is deprecated. It is currently being maintained in bugfix mode, and 2026-04-02 01:42:45.919935 | ubuntu-noble | we strongly recommend against using it for new projects. 2026-04-02 01:42:45.919940 | ubuntu-noble | 2026-04-02 01:42:45.919945 | ubuntu-noble | If you are already using Eventlet, we recommend migrating to a different 2026-04-02 01:42:45.919950 | ubuntu-noble | framework. For more detail see 2026-04-02 01:42:45.919955 | ubuntu-noble | https://eventlet.readthedocs.io/en/latest/asyncio/migration.html 2026-04-02 01:42:45.919960 | ubuntu-noble | 2026-04-02 01:42:45.919965 | ubuntu-noble | from eventlet.green import threading 2026-04-02 01:42:45.919971 | ubuntu-noble | 2026-04-02 01:42:45.919976 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/oslo_utils/eventletutils.py:36 2026-04-02 01:42:45.919981 | ubuntu-noble | /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/oslo_utils/eventletutils.py:36: DeprecationWarning: eventletutils module is deprecated and will be removed. 2026-04-02 01:42:45.919987 | ubuntu-noble | debtcollector.deprecate( 2026-04-02 01:42:45.919992 | ubuntu-noble | 2026-04-02 01:42:45.919997 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/webob/compat.py:5 2026-04-02 01:42:45.920002 | ubuntu-noble | /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/webob/compat.py:5: DeprecationWarning: 'cgi' is deprecated and slated for removal in Python 3.13 2026-04-02 01:42:45.920008 | ubuntu-noble | from cgi import parse_header 2026-04-02 01:42:45.920013 | ubuntu-noble | 2026-04-02 01:42:45.920018 | ubuntu-noble | .tox/unit/lib/python3.12/site-packages/oslo_service/eventlet_backdoor.py:36 2026-04-02 01:42:45.920028 | ubuntu-noble | /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/oslo_service/eventlet_backdoor.py:36: DeprecationWarning: The 'oslo_service.eventlet_backdoor' module usage is deprecated and will be removed in version '2026.2': The 'eventlet_backdoor' module is deprecated and will be removed in version 2026.2. This module is not being replaced. Please migrate away from using it and remove any dependencies on this module. 2026-04-02 01:42:45.920036 | ubuntu-noble | removals.removed_module( 2026-04-02 01:42:45.920041 | ubuntu-noble | 2026-04-02 01:42:46.394529 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=True-auto_scaling_enabled=True] 2026-04-02 01:42:46.394598 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=True-auto_scaling_enabled=True] 2026-04-02 01:42:46.394608 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=True-auto_scaling_enabled=False] 2026-04-02 01:42:46.394616 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=True-auto_scaling_enabled=False] 2026-04-02 01:42:46.394626 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=False-auto_scaling_enabled=True] 2026-04-02 01:42:46.394634 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=False-auto_scaling_enabled=True] 2026-04-02 01:42:46.394643 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=False-auto_scaling_enabled=False] 2026-04-02 01:42:46.394699 | ubuntu-noble | magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_create_cluster[auto_healing_enabled=False-auto_scaling_enabled=False] 2026-04-02 01:42:46.394714 | ubuntu-noble | /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/unit/lib/python3.12/site-packages/eventlet/__init__.py:83: DeprecationWarning: Using fork() is a bad idea, and there is no guarantee eventlet will work. See https://eventlet.readthedocs.io/en/latest/fork.html for more details. 2026-04-02 01:42:46.394724 | ubuntu-noble | warnings.warn( 2026-04-02 01:42:46.394734 | ubuntu-noble | 2026-04-02 01:42:46.394744 | ubuntu-noble | -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 2026-04-02 01:42:46.394753 | ubuntu-noble | =========================== short test summary info ============================ 2026-04-02 01:42:46.394762 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup[auto_healing_enabled=True-auto_scaling_enabled=True] 2026-04-02 01:42:46.394788 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup[auto_healing_enabled=True-auto_scaling_enabled=False] 2026-04-02 01:42:46.394797 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup[auto_healing_enabled=False-auto_scaling_enabled=True] 2026-04-02 01:42:46.394805 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup[auto_healing_enabled=False-auto_scaling_enabled=False] 2026-04-02 01:42:46.394814 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=True-auto_scaling_enabled=True] 2026-04-02 01:42:46.394823 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=True-auto_scaling_enabled=False] 2026-04-02 01:42:46.394831 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=False-auto_scaling_enabled=True] 2026-04-02 01:42:46.394839 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_driver.py::TestDriver::test_update_nodegroup_with_multiple_node_groups[auto_healing_enabled=False-auto_scaling_enabled=False] 2026-04-02 01:42:46.394848 | ubuntu-noble | FAILED magnum_cluster_api/tests/unit/test_utils.py::TestGenerateCloudControllerManagerConfig::test_generate_cloud_controller_manager_config 2026-04-02 01:42:46.394856 | ubuntu-noble | ================= 9 failed, 171 passed, 12 warnings in 20.68s ================== 2026-04-02 01:42:46.864388 | ubuntu-noble | unit: 135764 C exit 1 (23.62 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> pytest magnum_cluster_api/tests/unit/ pid=16091 [tox/execute/api.py:311] 2026-04-02 01:42:46.866318 | ubuntu-noble | .pkg: 135766 W _exit> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin [tox/tox_env/api.py:515] 2026-04-02 01:42:46.867815 | ubuntu-noble | Backend: run command _exit with args {} 2026-04-02 01:42:46.867841 | ubuntu-noble | Backend: Wrote response {'return': 0} to /tmp/pep517__exit-czu6jah6.json 2026-04-02 01:42:46.869451 | ubuntu-noble | .pkg: 135769 I exit None (0.00 seconds) /home/zuul/src/github.com/vexxhost/magnum-cluster-api> python /home/zuul/.local/tox/lib/python3.12/site-packages/pyproject_api/_backend.py True maturin pid=11716 [tox/execute/api.py:311] 2026-04-02 01:42:46.885551 | ubuntu-noble | .pkg: 135785 D delete package /home/zuul/src/github.com/vexxhost/magnum-cluster-api/.tox/.tmp/package/2/magnum_cluster_api-0.36.1.tar.gz [tox/tox_env/python/virtual_env/package/pyproject.py:245] 2026-04-02 01:42:46.889866 | ubuntu-noble | unit: FAIL code 1 (135.58=setup[111.95]+cmd[23.62] seconds) 2026-04-02 01:42:46.889898 | ubuntu-noble | evaluation failed :( (135.61 seconds) 2026-04-02 01:42:46.996767 | ubuntu-noble | ERROR 2026-04-02 01:42:46.996944 | ubuntu-noble | { 2026-04-02 01:42:46.997006 | ubuntu-noble | "delta": "0:02:15.867504", 2026-04-02 01:42:46.997036 | ubuntu-noble | "end": "2026-04-02 01:42:46.936802", 2026-04-02 01:42:46.997063 | ubuntu-noble | "msg": "non-zero return code", 2026-04-02 01:42:46.997088 | ubuntu-noble | "rc": 1, 2026-04-02 01:42:46.997114 | ubuntu-noble | "start": "2026-04-02 01:40:31.069298" 2026-04-02 01:42:46.997140 | ubuntu-noble | } failure 2026-04-02 01:42:47.303739 | 2026-04-02 01:42:47.303880 | TASK [tox : Look for output] 2026-04-02 01:42:47.713060 | ubuntu-noble | ok 2026-04-02 01:42:47.725251 | 2026-04-02 01:42:47.725327 | TASK [tox : Return file comments to Zuul] 2026-04-02 01:42:47.760102 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:47.761966 | 2026-04-02 01:42:47.762064 | PLAY RECAP 2026-04-02 01:42:47.762159 | ubuntu-noble | ok: 12 changed: 8 unreachable: 0 failed: 1 skipped: 4 rescued: 0 ignored: 0 2026-04-02 01:42:47.762206 | 2026-04-02 01:42:47.888875 | RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/run.yaml@master] 2026-04-02 01:42:47.891954 | POST-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/post.yaml@master] 2026-04-02 01:42:48.490173 | 2026-04-02 01:42:48.490315 | PLAY [all] 2026-04-02 01:42:48.502753 | 2026-04-02 01:42:48.502833 | TASK [fetch-tox-output : Set tox log path for multiple nodes] 2026-04-02 01:42:48.557840 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:48.570072 | 2026-04-02 01:42:48.570158 | TASK [fetch-tox-output : Set tox log path for single node] 2026-04-02 01:42:48.615193 | ubuntu-noble | ok 2026-04-02 01:42:48.622652 | 2026-04-02 01:42:48.622757 | TASK [fetch-tox-output : Ensure local tox dir] 2026-04-02 01:42:49.002116 | ubuntu-noble -> localhost | changed 2026-04-02 01:42:49.016796 | 2026-04-02 01:42:49.017003 | TASK [fetch-tox-output : Ensure zuul-output tox dir] 2026-04-02 01:42:49.062246 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:49.072694 | 2026-04-02 01:42:49.072769 | TASK [fetch-tox-output : Set envlist fact] 2026-04-02 01:42:49.117199 | ubuntu-noble | ok 2026-04-02 01:42:49.124734 | 2026-04-02 01:42:49.124801 | TASK [fetch-tox-output : Get tox version] 2026-04-02 01:42:49.756228 | ubuntu-noble | ROOT: No loadable tox.ini or setup.cfg or pyproject.toml or tox.toml found, assuming empty tox.ini at /home/zuul 2026-04-02 01:42:49.773406 | ubuntu-noble | 4.52.0 from /home/zuul/.local/tox/lib/python3.12/site-packages/tox/__init__.py 2026-04-02 01:42:50.163873 | ubuntu-noble | ok: Runtime: 0:00:00.276032 2026-04-02 01:42:50.169303 | 2026-04-02 01:42:50.169375 | TASK [fetch-tox-output : Find all default environments] 2026-04-02 01:42:50.697946 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:50.709209 | 2026-04-02 01:42:50.709303 | TASK [fetch-tox-output : Set envlist fact] 2026-04-02 01:42:50.732983 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:50.745350 | 2026-04-02 01:42:50.745494 | TASK [fetch-tox-output : Find all default environments] 2026-04-02 01:42:51.273135 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:51.285611 | 2026-04-02 01:42:51.285750 | TASK [fetch-tox-output : Set envlist fact] 2026-04-02 01:42:51.310959 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:51.320777 | 2026-04-02 01:42:51.320869 | LOOP [fetch-tox-output : Copy tox logs] 2026-04-02 01:42:51.359019 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:51.377094 | 2026-04-02 01:42:51.377204 | LOOP [fetch-tox-output : Collect tox logs] 2026-04-02 01:42:52.067917 | ubuntu-noble | changed: 2026-04-02 01:42:52.068137 | ubuntu-noble | created directory /var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/work/logs/tox/unit 2026-04-02 01:42:52.068177 | ubuntu-noble | cd+++++++++ ./ 2026-04-02 01:42:52.068208 | ubuntu-noble | >f+++++++++ 1-install_package.log 2026-04-02 01:42:52.068239 | ubuntu-noble | >f+++++++++ 2-commands[0].log 2026-04-02 01:42:52.068277 | 2026-04-02 01:42:52.088666 | 2026-04-02 01:42:52.088800 | PLAY RECAP 2026-04-02 01:42:52.088855 | ubuntu-noble | ok: 5 changed: 3 unreachable: 0 failed: 0 skipped: 7 rescued: 0 ignored: 0 2026-04-02 01:42:52.088878 | 2026-04-02 01:42:52.238672 | POST-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/tox/post.yaml@master] 2026-04-02 01:42:52.241842 | POST-RUN START: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master] 2026-04-02 01:42:52.782379 | 2026-04-02 01:42:52.782502 | PLAY [all] 2026-04-02 01:42:52.794232 | 2026-04-02 01:42:52.794306 | TASK [fetch-subunit-output : Find stestr or testr executable] 2026-04-02 01:42:52.992828 | ubuntu-noble | changed: non-zero return code 2026-04-02 01:42:52.998942 | 2026-04-02 01:42:52.999032 | TASK [fetch-subunit-output : Get the list of directories with subunit files] 2026-04-02 01:42:53.024196 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:53.036183 | 2026-04-02 01:42:53.036256 | LOOP [fetch-subunit-output : Find any inflight partial subunit files] 2026-04-02 01:42:53.066413 | 2026-04-02 01:42:53.066544 | LOOP [fetch-subunit-output : Copy any inflight subunit files] 2026-04-02 01:42:53.101205 | 2026-04-02 01:42:53.101432 | TASK [fetch-subunit-output : Create a temporary file to store the subunit stream] 2026-04-02 01:42:53.126850 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:53.138192 | 2026-04-02 01:42:53.138276 | LOOP [fetch-subunit-output : Generate subunit file] 2026-04-02 01:42:53.172918 | 2026-04-02 01:42:53.173210 | TASK [fetch-subunit-output : Copy the combined subunit file to the zuul work directory] 2026-04-02 01:42:53.198391 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:53.209033 | 2026-04-02 01:42:53.209120 | TASK [fetch-subunit-output : Remove the temporary file] 2026-04-02 01:42:53.233725 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:53.243936 | 2026-04-02 01:42:53.244032 | TASK [fetch-subunit-output : Process and fetch subunit results] 2026-04-02 01:42:53.269227 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:53.279258 | 2026-04-02 01:42:53.279325 | PLAY RECAP 2026-04-02 01:42:53.279416 | ubuntu-noble | ok: 1 changed: 1 unreachable: 0 failed: 0 skipped: 8 rescued: 0 ignored: 0 2026-04-02 01:42:53.279457 | 2026-04-02 01:42:53.445391 | POST-RUN END RESULT_NORMAL: [untrusted : opendev.org/zuul/zuul-jobs/playbooks/unittests/post.yaml@master] 2026-04-02 01:42:53.448300 | POST-RUN START: [trusted : github.com/vexxhost/zuul-config/playbooks/base/post.yaml@main] 2026-04-02 01:42:54.021373 | 2026-04-02 01:42:54.021500 | PLAY [all] 2026-04-02 01:42:54.032667 | 2026-04-02 01:42:54.032744 | TASK [fetch-output : Set log path for multiple nodes] 2026-04-02 01:42:54.076771 | ubuntu-noble | skipping: Conditional result was False 2026-04-02 01:42:54.084617 | 2026-04-02 01:42:54.084696 | TASK [fetch-output : Set log path for single node] 2026-04-02 01:42:54.124670 | ubuntu-noble | ok 2026-04-02 01:42:54.129814 | 2026-04-02 01:42:54.129885 | LOOP [fetch-output : Ensure local output dirs] 2026-04-02 01:42:54.502011 | ubuntu-noble -> localhost | ok: "/var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/work/logs" 2026-04-02 01:42:54.705984 | ubuntu-noble -> localhost | changed: "/var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/work/artifacts" 2026-04-02 01:42:54.909534 | ubuntu-noble -> localhost | changed: "/var/lib/zuul/builds/ad996a2bf0db41e28d2ebb404219e8b0/work/docs" 2026-04-02 01:42:54.926382 | 2026-04-02 01:42:54.926538 | LOOP [fetch-output : Collect logs, artifacts and docs] 2026-04-02 01:42:55.579192 | ubuntu-noble | changed: .d..t...... ./ 2026-04-02 01:42:55.579475 | ubuntu-noble | changed: All items complete 2026-04-02 01:42:55.579522 | 2026-04-02 01:42:56.038445 | ubuntu-noble | changed: .d..t...... ./ 2026-04-02 01:42:56.490193 | ubuntu-noble | changed: .d..t...... ./ 2026-04-02 01:42:56.512434 | 2026-04-02 01:42:56.512593 | LOOP [merge-output-to-logs : Move artifacts and docs to logs dir] 2026-04-02 01:42:56.979279 | ubuntu-noble -> localhost | ok: Item: artifacts Runtime: 0:00:00.008062 2026-04-02 01:42:57.217200 | ubuntu-noble -> localhost | ok: Item: docs Runtime: 0:00:00.007051 2026-04-02 01:42:57.240404 | 2026-04-02 01:42:57.240578 | PLAY [all] 2026-04-02 01:42:57.247926 | 2026-04-02 01:42:57.248000 | TASK [remove-build-sshkey : Remove the build SSH key from all nodes] 2026-04-02 01:42:57.721130 | ubuntu-noble | changed 2026-04-02 01:42:57.729860 | 2026-04-02 01:42:57.729933 | PLAY RECAP 2026-04-02 01:42:57.729998 | ubuntu-noble | ok: 5 changed: 4 unreachable: 0 failed: 0 skipped: 1 rescued: 0 ignored: 0 2026-04-02 01:42:57.730029 | 2026-04-02 01:42:57.858870 | POST-RUN END RESULT_NORMAL: [trusted : github.com/vexxhost/zuul-config/playbooks/base/post.yaml@main] 2026-04-02 01:42:58.181913 | POST-RUN START: [trusted : github.com/vexxhost/zuul-config/playbooks/base/post-logs.yaml@main] 2026-04-02 01:42:58.765404 | 2026-04-02 01:42:58.765613 | PLAY [localhost] 2026-04-02 01:42:58.776287 | 2026-04-02 01:42:58.776406 | TASK [Generate Zuul manifest] 2026-04-02 01:42:58.798990 | localhost | ok 2026-04-02 01:42:58.815878 | 2026-04-02 01:42:58.816039 | TASK [generate-zuul-manifest : Generate Zuul manifest] 2026-04-02 01:42:59.132326 | localhost | changed 2026-04-02 01:42:59.145371 | 2026-04-02 01:42:59.145482 | TASK [generate-zuul-manifest : Return Zuul manifest URL to Zuul] 2026-04-02 01:42:59.290285 | localhost | ok 2026-04-02 01:42:59.299597 | 2026-04-02 01:42:59.299671 | TASK [Upload logs] 2026-04-02 01:42:59.334873 | localhost | ok 2026-04-02 01:42:59.394512 | 2026-04-02 01:42:59.394674 | TASK [Set zuul-log-path fact] 2026-04-02 01:42:59.414447 | localhost | ok 2026-04-02 01:42:59.427008 | 2026-04-02 01:42:59.427078 | TASK [set-zuul-log-path-fact : Set log path for a build] 2026-04-02 01:42:59.460434 | localhost | ok 2026-04-02 01:42:59.467316 | 2026-04-02 01:42:59.467377 | TASK [upload-logs : Create log directories] 2026-04-02 01:42:59.851674 | localhost | changed 2026-04-02 01:42:59.857886 | 2026-04-02 01:42:59.857953 | TASK [upload-logs : Ensure logs are readable before uploading] 2026-04-02 01:43:00.549165 | localhost -> localhost | ok: Runtime: 0:00:00.003731 2026-04-02 01:43:00.555673 | 2026-04-02 01:43:00.555761 | TASK [upload-logs : Upload logs to log server] 2026-04-02 01:43:01.204359 | localhost | Output suppressed because no_log was given 2026-04-02 01:43:01.208611 | 2026-04-02 01:43:01.208681 | LOOP [upload-logs : Compress console log and json output] 2026-04-02 01:43:01.256521 | localhost | skipping: Conditional result was False 2026-04-02 01:43:01.264199 | localhost | skipping: Conditional result was False 2026-04-02 01:43:01.270043 | 2026-04-02 01:43:01.270215 | LOOP [upload-logs : Upload compressed console log and json output] 2026-04-02 01:43:01.316549 | localhost | skipping: Conditional result was False 2026-04-02 01:43:01.317032 | 2026-04-02 01:43:01.320682 | localhost | skipping: Conditional result was False 2026-04-02 01:43:01.334831 | 2026-04-02 01:43:01.334947 | LOOP [upload-logs : Upload console log and json output]