canonical / canonical/cloud-init

Reaper and Azure not playing nice together

Open
#6,054 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
3.8k
Forks
1.1k
Avg merge
2d 23h
Merged PRs (30d)
18

Description

It appears that reaper is trying to remove instances that no longer exist.

Locally, I have seen this:
```
2025-02-25 11:20:06 INFO integration_testing:conftest.py:505 finishing session
2025-02-25 11:20:06 INFO integration_testing:clouds.py:196 Deleting snapshot image created for this testrun: /subscriptions/36c65514-b88a-44f1-a44a-795c5b6fb73c/resourceGroups/azure-integration-test-0225-111550-rg/providers/Microsoft.Compute/images/azure-integration-test-0225-111551-image
Exception in thread reaper:
Traceback (most recent call last):
File "/home/james/.pyenv/versions/3.8.16/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/home/james/.pyenv/versions/3.8.16/lib/python3.8/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/home/james/c/cloud-init/tests/integration_tests/reaper.py", line 120, in _reaper_loop
if self._do_reap():
File "/home/james/c/cloud-init/tests/integration_tests/reaper.py", line 144, in _do_reap
LOG.info("Reaper: destroyed %s", instance.instance.id)
File "/home/james/c/pycloudlib/pycloudlib/azure/instance.py", line 116, in id
return self._instance["vm"].id
TypeError: 'NoneType' object is not subscriptable
2025-02-25 11:20:37 INFO root:reaper.py:82 Reaper: stopping
2025-02-25 11:20:37 INFO root:reaper.py:86 Reaper: awakened to reap
2025-02-25 11:20:37 INFO root:reaper.py:89 Reaper: stopped
2025-02-25 11:21:53 INFO integration_testing:conftest.py:535 finish session
```
and in [Jenkins](https://jenkins.canonical.com/server-team/view/cloud-init/job/cloud-init-integration-focal-azure-generic/566/consoleText), I'm seeing:
```
[2025-02-20T03:22:25.847Z] tests/integration_tests/bugs/test_gh671.py::test_update_default_password
[2025-02-20T03:22:25.847Z] /jenkins/servers/serverteam/workspace/cloud-init-integration-focal-azure-generic/cloud-init-99.daily-202502190032/.tox/integration-tests-jenkins/lib/python3.10/site-packages/_pytest/threadexception.py:82: PytestUnhandledThreadExceptionWarning: Exception in thread reaper
[2025-02-20T03:22:25.847Z]
[2025-02-20T03:22:25.847Z] Traceback (most recent call last):
[2025-02-20T03:22:25.847Z] File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
[2025-02-20T03:22:25.847Z] self.run()
[2025-02-20T03:22:25.847Z] File "/usr/lib/python3.10/threading.py", line 953, in run
[2025-02-20T03:22:25.847Z] self._target(*self._args, **self._kwargs)
[2025-02-20T03:22:25.847Z] File "/jenkins/servers/serverteam/workspace/cloud-init-integration-focal-azure-generic/cloud-init-99.daily-202502190032/tests/integration_tests/reaper.py", line 120, in _reaper_loop
[2025-02-20T03:22:25.847Z] if self._do_reap():
[2025-02-20T03:22:25.847Z] File "/jenkins/servers/serverteam/workspace/cloud-init-integration-focal-azure-generic/cloud-init-99.daily-202502190032/tests/integration_tests/reaper.py", line 144, in _do_reap
[2025-02-20T03:22:25.847Z] LOG.info("Reaper: destroyed %s", instance.instance.id)
[2025-02-20T03:22:25.847Z] File "/jenkins/servers/serverteam/workspace/cloud-init-integration-focal-azure-generic/cloud-init-99.daily-202502190032/.tox/integration-tests-jenkins/lib/python3.10/site-packages/pycloudlib/azure/instance.py", line 116, in id
[2025-02-20T03:22:25.847Z] return self._instance["vm"].id
[2025-02-20T03:22:25.847Z] TypeError: 'NoneType' object is not subscriptable
[2025-02-20T03:22:25.847Z]
[2025-02-20T03:22:25.847Z] warnings.warn(pytest.PytestUnhandledThreadExceptionWarning(msg))
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.