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

✨ CSPO #23

Merged
merged 33 commits into from
Jan 15, 2024
Merged

✨ CSPO #23

merged 33 commits into from
Jan 15, 2024

Conversation

matofeder
Copy link
Member

@matofeder matofeder commented Dec 21, 2023

What this PR does / why we need it:

This PR implements the initial working version of ClusterStack provider OpenStack controllers and related components.

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):

Fixes SovereignCloudStack/issues#506

Special notes for your reviewer:

Note that this PR should contain the working CSPO implementation, and you should be able to create a working Kubernetes workload cluster. Because of this, we created a highly experimental ClusterStacks that contains OpenStack manifests and should be used for PR testing.

Find the modified Quickstart Guide here.

This modified Quickstart Guide employs experimental Cluster Stacks and guides you to create a working K8s cluster utilizing CSPO implemented by this PR.

TODOs:

Certainly, there are some TODOs. Some of them are mentioned in the code, and the rest we list here:

@matofeder matofeder marked this pull request as draft December 21, 2023 12:23
@matofeder matofeder changed the title CSPO ⚠️ CSPO Dec 21, 2023
@matofeder matofeder changed the title ⚠️ CSPO ✨ CSPO Dec 21, 2023
Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
matofeder and others added 11 commits December 21, 2023 13:49
Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
Signed-off-by: Roman Hros <roman.hros@dnation.cloud>
…Release controller (#25)

Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
Signed-off-by: michal.gubricky <michal.gubricky@dnation.cloud>
Signed-off-by: Tobias Wolf <wolf@b1-systems.de>
Signed-off-by: Tobias Wolf <wolf@b1-systems.de>
Signed-off-by: michal.gubricky <michal.gubricky@dnation.cloud>
Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
This ensures that all parameters and descriptions used by `gophercloud` in the release referenced are up-to-date.

Signed-off-by: Tobias Wolf <wolf@b1-systems.de>
michal-gubricky and others added 4 commits January 4, 2024 15:35
Signed-off-by: michal.gubricky <michal.gubricky@dnation.cloud>
Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
This reverts commit b47adcf.

Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
@matofeder matofeder added do-not-merge size/XXL Denotes a PR that changes 2000+ lines, ignoring generated files. work in progress Pull requests that are work in progress, do not merge them and removed do-not-merge labels Jan 4, 2024
michal-gubricky and others added 2 commits January 5, 2024 08:20
Signed-off-by: michal.gubricky <michal.gubricky@dnation.cloud>
This reapplies the change in an updated form. This reverts commit e0ca13f.

Signed-off-by: Tobias Wolf <wolf@b1-systems.de>
* Add README

Signed-off-by: Matej Feder <matej.feder@dnation.cloud>

* Update osnir logic

Signed-off-by: Matej Feder <matej.feder@dnation.cloud>

* Fix osnir logic

Update OpenStackNodeImageRelease after setting owner references

Signed-off-by: Roman Hros <roman.hros@dnation.cloud>

---------

Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
Signed-off-by: Roman Hros <roman.hros@dnation.cloud>
Co-authored-by: Roman Hros <roman.hros@dnation.cloud>
@matofeder matofeder marked this pull request as ready for review January 10, 2024 14:31
@cluster-stack-bot cluster-stack-bot bot added area/hack Changes made in the hack directory area/api Changes made in the api directory area/github Changes made in the github directory labels Jan 10, 2024
@matofeder matofeder removed the work in progress Pull requests that are work in progress, do not merge them label Jan 10, 2024
Copy link
Member

@janiskemper janiskemper left a comment

Choose a reason for hiding this comment

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

Good work! I mainly have small cleanup stuff as well as comments about improving the reliability

README.md Outdated Show resolved Hide resolved
api/v1alpha1/conditions_const.go Outdated Show resolved Hide resolved
api/v1alpha1/conditions_const.go Outdated Show resolved Hide resolved
api/v1alpha1/openstackclusterstackrelease_types.go Outdated Show resolved Hide resolved
api/v1alpha1/openstacknodeimagerelease_types.go Outdated Show resolved Hide resolved
Co-authored-by: janiskemper <63146658+janiskemper@users.noreply.github.com>
Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
Signed-off-by: Roman Hros <roman.hros@dnation.cloud>
chess-knight and others added 2 commits January 12, 2024 11:22
Signed-off-by: Roman Hros <roman.hros@dnation.cloud>
An infinite loop may occur on certain misconfigurations, e.g., if the Github/OpenStack client is misconfigured. In such cases, the operator correctly sets a condition that can be used for the user to debug. However, it also returns an error, which means that the operator reconciles immediately again.

There is no need to return the error, as the user checks the conditions stored in the status of the objectrather than potential error logs. The controller's default syncPeriod, set to 5 minutes, ensures that the controller will try again later to check whether the failed state has been resolved.

See related SovereignCloudStack/cluster-stack-operator#50

Signed-off-by: Matej Feder <matej.feder@dnation.cloud>
Also, modify requeue logic for download assets from github

Signed-off-by: Roman Hros <roman.hros@dnation.cloud>
@matofeder
Copy link
Member Author

Good work! I mainly have small cleanup stuff as well as comments about improving the reliability

Hi @janiskemper,

Thank you for all your valuable comments! All of them have been resolved. Could we go ahead and get your approval? Thx!

Copy link
Member

@janiskemper janiskemper left a comment

Choose a reason for hiding this comment

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

yes, of course!

@matofeder matofeder merged commit 542bd3e into main Jan 15, 2024
8 checks passed
@matofeder matofeder deleted the cspo branch January 15, 2024 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/api Changes made in the api directory area/github Changes made in the github directory area/hack Changes made in the hack directory size/XXL Denotes a PR that changes 2000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement Image Management workflow
5 participants