Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stabilize Domain Manager Role Standard #586

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

markus-hentsch
Copy link
Contributor

Moves Domain Manager Standard from Draft to Stable

@markus-hentsch
Copy link
Contributor Author

markus-hentsch commented May 7, 2024

Currently blocked by #585 (obsolete)

Currently blocked by:

  • figure out which Keystone release is the earliest that supports enforce_scope/enforce_new_defaults in conjunction with the Domain Manager implementation of this standard
    • if it is 2024.2, wait until it is released and couple the standard to this version
    • if it is a version already released for the next SCS release, stabilize this standard

@markus-hentsch
Copy link
Contributor Author

Currently blocked by #585 (obsolete)

Currently blocked by:

  • figure out which Keystone release is the earliest that supports enforce_scope/enforce_new_defaults in conjunction with the Domain Manager implementation of this standard

    • if it is 2024.2, wait until it is released and couple the standard to this version
    • if it is a version already released for the next SCS release, stabilize this standard

Since the upcoming SCS release R7 will be based on 2024.1 ("Caracal"), I tested the stable/2024.1 branch of Keystone with the enforce_scope/enforce_new_defaults options on my DevStack together with the Domain Manager standard policy rules and can confirm it works without issue. Hence:

  • the limitation about Domain Managers being able to see all domains will not be an issue anymore in R7 (2024.1 contains the bugfix for that)
  • we do not need to require disabling enforce_scope/enforce_new_defaults for the SCS Domain Manager implementation to work
  • the transition from SCS implementation to native Domain Manager in future OpenStack releases will be seamless for users (same behavior)

Since the native integration of Domain Manager in upstream OpenStack won't be available before 2024.2 ("Dalmatian"), we should stabilize this standard for SCS R7 to have a transitional solution and feature availability until an SCS release will be based on 2024.2 or later.

I adjusted the standard accordingly and added a note about the upcoming native integration.

markus-hentsch and others added 2 commits August 30, 2024 15:50
Moves Domain Manager Standard from Draft to Stable

Signed-off-by: Markus Hentsch <[email protected]>
@markus-hentsch markus-hentsch force-pushed the domain-manager-stabilize branch 2 times, most recently from 93e8aee to 1df5d77 Compare August 30, 2024 13:58
@markus-hentsch markus-hentsch marked this pull request as draft September 11, 2024 09:23
@markus-hentsch
Copy link
Contributor Author

Moving this PR back to draft as a result of today's IaaS community call discussion:

Standard is still relevant with respect to the concept, as this does not change. Our implementation with policy.yaml will become obsolete with 2024.2 -- move the description of implementation and a note that the downstrweam implementation should be dropped with the upgrade to 2024.2 to the "test and implementation notes" document. Merge this standard as stable as soon as this is done. Could be included as a recommended requirement in SCS-compatible IaaS-v5 (late Oct/early Nov).

markus-hentsch and others added 3 commits September 17, 2024 10:36
Split standard into standard document and implementation notes.
Move the downstream policy-based implementation into the implementation
notes and differentiate instructions based on the Keystone release used.
Add the upstream spec to related documents and update the standard
according to the latest changes.

Signed-off-by: Markus Hentsch <[email protected]>
@markus-hentsch
Copy link
Contributor Author

Moving this PR back to draft as a result of today's IaaS community call discussion:

Standard is still relevant with respect to the concept, as this does not change. Our implementation with policy.yaml will become obsolete with 2024.2 -- move the description of implementation and a note that the downstrweam implementation should be dropped with the upgrade to 2024.2 to the "test and implementation notes" document. Merge this standard as stable as soon as this is done. Could be included as a recommended requirement in SCS-compatible IaaS-v5 (late Oct/early Nov).

I split the standard into standard and implementation notes and moved the SCS downstream implementation using API policies into the implementation notes. I rewrote the standard section and implementation notes' introduction to differentiate between OpenStack Keystone releases and also integrated some upgrade instructions about dropping the old policies.

With this, the standard should now be fully agnostic concerning the Keystone version and can be applied universally.

Removing the draft marker.

@markus-hentsch markus-hentsch marked this pull request as ready for review September 17, 2024 12:12
@@ -1,17 +1,27 @@
---
title: Domain Manager configuration for Keystone
type: Standard
status: Draft
status: Stable
stabilized_at: 2024-08-30
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please do not forget to update the date, when merging :)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh and did we discuss to stabilize this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor

@josephineSei josephineSei left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall a good split. I have made a few comments inline.

Standards/scs-0302-v1-domain-manager-role.md Outdated Show resolved Hide resolved

The "`is_domain_managed_role`" rule of the above policy template may be adjusted according to the requirements of the CSP and infrastructure architecture to specify different or multiple roles as manageable by Domain Managers as long as the policy rule adheres to the following:
In case the Identity API was upgraded from an older version where the policy-based Domain Manager implementation of SCS described in the [implementation notes for this standard](https://github.com/SovereignCloudStack/standards/blob/main/Standards/scs-0302-w1-domain-manager-implementation-notes.md) was still in use, the policies described there MUST be removed (except for the "`is_domain_managed_role`" rule).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is that 'is_domain_managed_role' not added by upstream? or do you mean to include ONLY adjustments, that have been mage to that rule?
In the latter case could you state this more clear in the standard?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point. I rephrased this. Can you recheck please?

@@ -1,17 +1,27 @@
---
title: Domain Manager configuration for Keystone
type: Standard
status: Draft
status: Stable
stabilized_at: 2024-08-30
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh and did we discuss to stabilize this?

"identity:add_user_to_group": "(rule:is_domain_manager and token.domain.id:%(target.group.domain_id)s and token.domain.id:%(target.user.domain_id)s) or rule:base_add_user_to_group or rule:admin_required"
```

Note that the policy file begins with a list of "`base_*`" rule definitions ("Section A").
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Something seems to be wrong with the text here - it shows up like it is still part of the code block. On the first sight I don'T see why this is happening - but this may lead to problems displaying this document.

Signed-off-by: Markus Hentsch <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
SCS-VP10 Related to tender lot SCS-VP10
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants