-
Notifications
You must be signed in to change notification settings - Fork 45
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
WIP: Improvement/956 saltify solution lifecycle #1487
WIP: Improvement/956 saltify solution lifecycle #1487
Conversation
Hello sayf-eddine-scality,My role is to assist you with the merge of this Status report is not available. |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IMHO the approach here is not good as it's really strange to maintain a configmap when we configure solution.
For me the configmap should contain a list of solutions and salt should only read it (from an ext pillar) and configure/unconfigure the ISOs to match what is in the configmap. And if needed maybe the script can edit the configmap or something in the UI but for me the salt states should only apply what is in configmap and not maintain it.
But it's only my opinion :)
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list:
The following reviewers are expecting changes from the author, or must review again: |
|
Mmh we designed it to be some kind of state persistence to be read/written by Salt when managing Solutions. The declarative listing comes from a file,
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some design issues: I think we don't want the ext_pillar to compute anything, only forward data sources (a config file, or the ConfigMap) to the minions.
Also, the format of solutions.yaml
needs to be reviewed - it should look like:
kind: SolutionsConfiguration
apiVersion: v1alpha1
archives:
- /archives/hyperdrive-1.0.0.iso
- /archives/hyperdrive-1.1.0.iso
- /zenko/archives/zenko.iso
Our tooling should behave roughly like we do for MetalK8s ISOs: first read config file to list all ISOs we are concerned with, then read product info from the ISO without mounting it, then mount the ISO, finally configure the repositories to include the mounted ISO.
The ConfigMap doesn't need to exist for this functionality - however, it serves two other purposes:
- it is read from the Platform UI to know about deployed Solutions
- it is read by the
metalk8s.orchestrate.solutions
runner to know which Solution versions need to be removed
Otherwise, that's great progress, thanks!
scripts/solution-manager.sh
Outdated
echo "solution path name and version are required" | ||
exit 1 | ||
fi | ||
echo "Updating metalk8s.solutions.yaml" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
echo "Updating metalk8s.solutions.yaml" | |
echo "Updating $SOLUTION_CONFIG" |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list:
The following reviewers are expecting changes from the author, or must review again: |
5efa81b
to
1243b75
Compare
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list:
The following reviewers are expecting changes from the author, or must review again: |
02f4e4f
to
31c5d65
Compare
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list:
The following reviewers are expecting changes from the author, or must review again: |
Branches have divergedThis pull request's source branch To avoid any integration risks, please re-synchronize them using one of the
Note: If you choose to rebase, you may have to ask me to rebuild |
66fdb5c
to
f681b2a
Compare
5f7c678
to
04ee105
Compare
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list:
The following reviewers are expecting changes from the author, or must review again: |
630e1fc
to
c885d80
Compare
3664a01
to
f380c31
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Build failedThe build for commit did not succeed in branch improvement/956-saltify-solution-lifecycle. The following options are set: approve |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list:
The following options are set: approve |
salt/_modules/metalk8s_solutions.py
Outdated
with open(SOLUTIONS_CONFIG_FILE, 'r') as fd: | ||
content = yaml.safe_load(fd) | ||
except Exception as exc: | ||
log.exception('Failed to load "%s": %s', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do not log.exception in module that run in ext_pillar please.
For me in module we should never log.exception
we should only raise the exception and the caller handle the exception like he want
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list:
The following reviewers are expecting changes from the author, or must review again: The following options are set: approve |
ab27210
to
f540620
Compare
In the queueThe changeset has received all authorizations and has been added to the The changeset will be merged in:
The following branches will NOT be impacted:
There is no action required on your side. You will be notified here once IMPORTANT Please do not attempt to modify this pull request.
If you need this pull request to be removed from the queue, please contact a The following options are set: approve |
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
Please check the status of the associated issue None. Goodbye sayf-eddine-scality. |
Component:
solutions, salt
Context:
Solutions ISOs need a salt runners to check and import them into the cluster
Summary:
Salt runners all batteries included has been added with a bash script to automate these actions
Acceptance criteria:
Closes: #956