OpenKeel: the sovereign French Cloud solution of the inherent group, with a European reach Discover inherent

Reverse-spec · Clients

python-openstackclient — Async processing

Processing outside commands — python-openstackclient — branch stable/2026.2

Branch stable/2026.2 @ 8bb083b83829 — repository https://opendev.org/openstack/python-openstackclient — analysed on 2026-11-01

There is no background processing: no bus consumer, no timer, no event listener, and the inventory found 0 triggers. The process ends with its command. What remains is client-side waiting within a command.

ProcessTriggerTypePurposeReadsWrites / emitsDefined at
openstack--wait on server commandsHTTP polling, every 5 s by defaultwait for a target statusGET /servers/{id}progress on stdoutopenstackclient/compute/v2/server.py:2265, osc-lib:osc_lib/utils/__init__.py:779
openstackserver delete --waitHTTP polling through the SDKwait for the 404GET /servers/{id}progressopenstackclient/compute/v2/server.py:2374
openstackvolume create --bootable or --read-onlyHTTP pollingwait for the volume before the second actionGET /volumes/{id}POST /volumes/{id}/actionopenstackclient/volume/v3/volume.py:464
openstackproject cleanupthreads inside the SDKlist and delete by serviceSDKresults in a queue read by the commandopenstackclient/common/project_cleanup.py:130, openstackclient/common/project_cleanup.py:160

Client-side wait (--wait)

  • Trigger: the --wait option of the command.
  • Emitter: none.
  • Purpose: turn an accepted asynchronous operation into a blocking command.
  • Data read: the resource status, through get_server and similar.
  • Flow: 1. send the action; 2. poll until a success or error status; 3. raise Error … on error, or print the result.
  • Concurrency and idempotency: polling is read-only, and interrupting the command does not cancel the operation on the service [inferred].
  • Error behaviour: an error status gives CommandError and exit 1. A connection error during polling aborts the command while the operation continues on the service [inferred].
  • Cost: one request per target every 5 seconds.

project cleanup

  • Trigger: the command itself.
  • Flow: the SDK runs a dry pass and fills a queue (openstackclient/common/project_cleanup.py:130), the command prints the list, and asks for confirmation unless --auto-approve is set; the SDK then deletes (openstackclient/common/project_cleanup.py:160).
  • Error behaviour: against the stub, a 404 inside an SDK thread was logged while the command exited 0 [observed]. See 00.

Source: reverse-spec-python-openstackclient/05-async-processing_stable-2026.2.md. The _rewrite/ and _inventory/ files are not published on the site.