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.
| Trigger | Mechanism | Purpose | Requests per cycle | Stops on | Source |
|---|---|---|---|---|---|
--wait on a create, resize, revert, restore, promote, adopt or access command | wait_for_status, every 5 s | wait for a target status | 1 GET of the resource | target status or error status; no time limit | osc-lib:osc_lib/utils/__init__.py:779 |
--wait on a delete, abandon or share access delete | wait_for_delete, every 5 s, up to 300 s | wait until the resource is gone | 1 GET of the resource | NotFound, error status, or the 300 s timeout | osc-lib:osc_lib/utils/__init__.py:720 |
share replica promote --wait | wait_for_status on replica_state | wait for active | 1 GET /share-replicas/{id} | active or error | manilaclient/osc/v2/share_replicas.py:616 |
share access create --wait | wait_for_status on state | wait for active | 1 GET /share-access-rules/{id} | active or error | manilaclient/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 --waitwas still polling when the harness stopped it after 12 s (casewait-no-timeoutin [_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 --waiton a share inerrorlogsERROR: Share is in error state.and exits 0 (manilaclient/osc/v2/share.py:346-351).share resize --waitraisesShare 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
--waitis given. Manila's own schedulers and share managers do the rest; seereverse-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.