Skip to content

fix(sdk): Call anchor_plugins() unconditionally in new_impl#1856

Merged
gtema merged 1 commit into
mainfrom
inventory-plugins
Jul 14, 2026
Merged

fix(sdk): Call anchor_plugins() unconditionally in new_impl#1856
gtema merged 1 commit into
mainfrom
inventory-plugins

Conversation

@gtema

@gtema gtema commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Auth plugin crates with no other reference get stripped by the
linker, so their inventory registrations never run and AuthType
lookup fails with "not supported" at runtime. The anchor_plugins()
workaround existed but had no call site, making it a silent trap
for any new consumer of AsyncOpenStack.

  • call anchor_plugins() from AsyncOpenStack::new_impl, the single
    constructor both sync and async facades funnel through
  • drop the now-redundant, never-called _anchor_auth_plugins() in
    openstack_sdk/src/lib.rs
  • log discovered auth/multifactor plugin names at debug level for
    diagnosability

Signed-off-by: Artem Goncharov artem.goncharov@gmail.com

Auth plugin crates with no other reference get stripped by the
linker, so their inventory registrations never run and AuthType
lookup fails with "not supported" at runtime. The anchor_plugins()
workaround existed but had no call site, making it a silent trap
for any new consumer of AsyncOpenStack.

- call anchor_plugins() from AsyncOpenStack::new_impl, the single
  constructor both sync and async facades funnel through
- drop the now-redundant, never-called _anchor_auth_plugins() in
  openstack_sdk/src/lib.rs
- log discovered auth/multifactor plugin names at debug level for
  diagnosability

Signed-off-by: Artem Goncharov <artem.goncharov@gmail.com>
@gtema
gtema merged commit 4c0743b into main Jul 14, 2026
20 checks passed
@gtema
gtema deleted the inventory-plugins branch July 14, 2026 07:41
@gtema-release-plz gtema-release-plz Bot mentioned this pull request Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant