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

Reverse-spec · Clients

python-manilaclient — Async processing

Background processing — python-manilaclient — branch stable/2026.2

Branch stable/2026.2 @ d18a7e966 (6.3.0 + 2 maintenance commits) — repository https://opendev.org/openstack/python-manilaclient — analysed on 2026-11-01

The inventory found no RPC server, no subscription, no periodic task and no event handler ([_inventory/inventory_stable-2026.2.md](_inventory/inventory_stable-2026.2.md)). The package runs inside one short-lived openstack process per command. It has no thread, timer or listener of its own.

The only asynchronous behaviour is client-side polling of a Manila resource.

TriggerMechanismPurposeRequests per cycleStops onSource
--wait on a create, resize, revert, restore, promote, adopt or access commandwait_for_status, every 5 swait for a target status1 GET of the resourcetarget status or error status; no time limitosc-lib:osc_lib/utils/__init__.py:779
--wait on a delete, abandon or share access deletewait_for_delete, every 5 s, up to 300 swait until the resource is gone1 GET of the resourceNotFound, error status, or the 300 s timeoutosc-lib:osc_lib/utils/__init__.py:720
share replica promote --waitwait_for_status on replica_statewait for active1 GET /share-replicas/{id}active or errormanilaclient/osc/v2/share_replicas.py:616
share access create --waitwait_for_status on statewait for active1 GET /share-access-rules/{id}active or errormanilaclient/osc/v2/share_access_rules.py:173

Behaviour of --wait that a script must know

  • No timeout on status waits [observed]: with a status that never changes, share create --wait was still polling when the harness stopped it after 12 s (case wait-no-timeout in [_rewrite/defects-observed_stable-2026.2.json](_rewrite/defects-observed_stable-2026.2.json)). The loop has no limit in the code either (osc-lib:osc_lib/utils/__init__.py:805).
  • An error status does not always fail the command [observed]: share create --wait on a share in error logs ERROR: Share is in error state. and exits 0 (manilaclient/osc/v2/share.py:346-351). share resize --wait raises Share not available after resize attempt. and exits 1 (manilaclient/osc/v2/share.py:1112-1119). See 02 § 4.
  • Other work happens on the service: the client ends after the HTTP answer unless --wait is given. Manila's own schedulers and share managers do the rest; see reverse-spec-manila/05-async-processing_stable-2026.2.md.

Local side effects

Each listing or create opens, and for a listing truncates, two files under ~/.cache/manilaclient/<sha256>/ (manilaclient/base.py:129-164). Nothing ever writes into them: write_to_completion_cache has no caller (manilaclient/base.py:174). They stay empty [observed in the probe's empty HOME].

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