saltstack / saltstack/salt

[BUG] Keystone module needs to use the openstacksdk library

Open
#58,032 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug severity-high
Dominant language
Python
Stars
15.7k
Forks
5.6k
Avg merge
2d 44m
Merged PRs (30d)
80

Description

Description

The current Keystone module, and Keystone-ng use two out of date/defunct libraries. The new openstack library is openstacksdk.

We discussed this at a meeting and decided that the best way to go about doing things would be to just have the Keystone model be an adapter across the outdated and the modern libraries. It should be relatively simple to delegate the existing behavior to the underlying libraries where it makes sense, depending on which is installed. We should still warn on using the defunct library, and note that support for that lib will be removed in future versions of Salt.

This will also provide an opportunity to write tests for the keystone module/state.

#55611 is one of the prior issues regarding this deprecation/removal.

I guess in a checklist form:

  • - Does openstacksdk support the same actions as the current keystone module implementation?
  • - Write tests & code for the new implementation
  • - Write tests for the keystone state to ensure that regardless of current module or openstacksdk module that the state can behave correctly. Practically speaking this will probably require a couple of integration tests if we already have the capability to run openstack tests.

This is a very high-level approach to the task, and the plan will probably not survive contact with the implementation. Absolutely feel free to update this as needed.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing Keystone module and state, then compare their current actions with the capabilities of openstacksdk. Read issue #55611 for the deprecation context. Done means the adapter supports the required behavior, warns when the defunct library is used, and has module, state, and any needed integration tests.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
authentication, cloud
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.