generated from validatedpatterns/multicloud-gitops
-
Notifications
You must be signed in to change notification settings - Fork 68
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
Slimming common #127
Merged
Merged
Slimming common #127
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
mbaldessari
commented
Nov 21, 2024
- Replace tabs with spaces and add some missing env vars that could be passed
- Also push any changes to operator-install to its own repo
- Update CRD from operator v0.0.55
- Fix chart name in pattern-install branch+split wf
- Tweak readme
- Use $group.name in clusterset metadata
- Expose originURL as helm value
- Update tests after common rebase
- Release clustergroup v0.8.13
- Release acm v0.1.2
- Drop schema required under the Main section
- Release clustergroup v0.8.14
- Drop all the helm charts
- README fixes
- Drop the operator-install folder (pattern-install chart)
- Start using the OCI chart in lieu of operator-install
- Drop the chart splitting workflows
- Drop the test folder
- Drop the json schema checking job
- Add a README note on the main branch
- Add a check to see if multisource for clustergroup is enabled
- Move the common slim + multisource test into Makefile
- Drop last bit of operator-install and the common symlink
- Drop reference-output.yaml as it makes little sense in the slimmed common
- Remove ansible code in favor of external collection
- Make adjustments for ansible code moving into separate collection repo
- Add a note about the changes in common
- Add qe-tests target
- Remove assorted detritus
- We don't have charts to test anymore
- Drop lint.sh and its target in Makefile
- Drop test.sh and its target in Makefile and also kubeconform
- Read PATTERN_INSTALL_CHART from the env as well if it exists
- Update secret backend change script
- Update preview script
- Introduce PATTERN_DISCONNECTED_HOME
- Update Makefile to reflect a warning if no storageclass is present
- Fix iib loading playbook name
- Improve validate-origin
- Make the make install output less daunting
- Record the exit code at the right time
- Switch to proper multisource config in values-global.yaml
- Switch to external charts after the move to slimmed common
- Drop obsolete CI job
Replace tabs with spaces and add some missing env vars that could be passed
Since at the time the folder was named operator-install and the chart pattern-install, let's push it out to the `pattern-install-chart` repo which is a bit clearer.
Also push any changes to operator-install to its own repo
Update CRD from operator v0.0.55
Fix chart name in pattern-install branch+split wf
Use $group.name in clusterset metadata
This is needed, this way when this variable is set we can actually detect that an in-cluster gitea instance has been set up.
Release clustergroup v0.8.13
Release acm chart 0.1.2
The "main" subsection of helm values is only used for kickstarting a pattern. It is entirely possible to only set one value and then set the other variables through other means (editing CRs e.g.). There is no point on blocking this.
Drop schema required under the Main section
All the charts that can be used via an OCI registry or via a helm repo are dropped in this change
We do not push any changes from common to the chart because they do not exist in common any longer
It used to contain expected tests for the different charts, but those have moved away, so let's start dropping these for now.
It only makes sense in the presence of helm charts. We should prolly move it to each chart repo.
Add qe-tests target
Read PATTERN_INSTALL_CHART from the env as well if it exists
The script is used in make secrets-backend-*. Update needed for slimed common.
Now the preview will work with remote charts, and local charts as well. Default helm registry will be oci://quay.io/repository/hybridcloudpatterns/.
Fix scripts after common slim
When doing disconnected installations this allows for setting a single variable pointing to the internal disconnected registry.
Introduce PATTERN_DISCONNECTED_HOME
…quirement Update Makefile to reflect a warning if no storageclass is present
After slimming common down the playbook needs renaming because collections have slightly different naming constraints. Previous error: ❯ ./pattern.sh make load-iib make -f common/Makefile load-iib make[1]: Entering directory '/home/michele/Engineering/cloud-patterns/multicloud-gitops' ERROR! the playbook: rhvp.cluster_utils.iib-ci could not be found make[1]: *** [common/Makefile:117: load-iib] Error 1 make[1]: Leaving directory '/home/michele/Engineering/cloud-patterns/multicloud-gitops' make: *** [Makefile:12: load-iib] Error 2
Fix iib loading playbook name
If we set the main.git.upstreamRepoURL then we need to check that one for the presence of the branch and not whatever is configured as the origin remote. Tested as follows: - Working upstreamRepoURL: ❯ yq -r '.main.git.repoUpstreamURL // (.main.git.repoUpstreamURL = "")' values-global.yaml https://github.com/mbaldessari/industrial-edge ❯ make validate-origin make -f common/Makefile validate-origin make[1]: Entering directory '/home/michele/Engineering/cloud-patterns/industrial-edge' Checking repository: Upstream URL set to: https://github.com/mbaldessari/industrial-edge https://github.com/mbaldessari/industrial-edge - branch 'for-max-s3-kafka-fix': OK make[1]: Leaving directory '/home/michele/Engineering/cloud-patterns/industrial-edge' - upstreamRepoURL without the branch: ❯ yq -r '.main.git.repoUpstreamURL // (.main.git.repoUpstreamURL = "")' values-global.yaml https://github.com/mamurak/industrial-edge ❯ make validate-origin make -f common/Makefile validate-origin make[1]: Entering directory '/home/michele/Engineering/cloud-patterns/industrial-edge' Checking repository: Upstream URL set to: https://github.com/mamurak/industrial-edge https://github.com/mamurak/industrial-edge - branch 'for-max-s3-kafka-fix': NOT FOUND make[1]: *** [common/Makefile:138: validate-origin] Error 1 make[1]: Leaving directory '/home/michele/Engineering/cloud-patterns/industrial-edge' make: *** [Makefile:24: validate-origin] Error 2 - No repoUpstreamURL set: ❯ yq -r '.main.git.repoUpstreamURL // (.main.git.repoUpstreamURL = "")' values-global.yaml ❯ ❯ make validate-origin make -f common/Makefile validate-origin make[1]: Entering directory '/home/michele/Engineering/cloud-patterns/industrial-edge' Checking repository: https://github.com/mbaldessari/industrial-edge.git - branch 'for-max-s3-kafka-fix': OK make[1]: Leaving directory '/home/michele/Engineering/cloud-patterns/industrial-edge'
The current output is a bit daunting for first-time users as it outputs things like the following a few times: customresourcedefinition.apiextensions.k8s.io/patterns.gitops.hybrid-cloud-patterns.io created configmap/patterns-operator-config created subscription.operators.coreos.com/patterns-operator created error: resource mapping not found for name: "rhoai-patterns-demo" namespace: "openshift-operators" from "STDIN": no matches for kind "Pattern" in version "gitops.hybrid-cloud-patterns.io/v1alpha1" ensure CRDs are installed first Let's switch to something a bit more user-friendly: make -f common/Makefile operator-deploy make[1]: Entering directory '/home/michele/Engineering/cloud-patterns/multicloud-gitops' Checking repository: https://github.com/mbaldessari/multicloud-gitops.git - branch 'luis-demo': OK Checking cluster: cluster-info: OK storageclass: WARNING: No storageclass found Installing pattern: Done ... Do some magic with file descriptors so we still manage to capture the helm template stderr and the oc apply stdout+stderr and output them at the end in case of failure. In such cases the output will be something like the following: Installing pattern: .....Installation failed [5/5]. Error: Pulled: quay.io/hybridcloudpatterns/pattern-install:0.0.3 Digest: sha256:dd2d35d462b75aa8358ff278757dca0ee3c878cadafa64df8c68f880b59569ef E1015 18:41:31.585465 196315 memcache.go:265] couldn't get current server API group list: Get "https://api.sno3.ocplab.ocp:6443/api?timeout=32s": tls: failed to verify certificate: x509: certificate signed by un known authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kube-apiserver-lb-signer") ... Suggested-by: Luis Tomas Bolivar <[email protected]>
Improve validate-origin
Make the make install output less daunting
Otherwise it records the exit code of the exec call which is always 0. This now makes things error out correctly whereas previously it did not: ❯ ./pattern.sh make install make -f common/Makefile operator-deploy make[1]: Entering directory '/home/michele/Engineering/cloud-patterns/multicloud-gitops' Checking repository: https://github.com/mbaldessari/multicloud-gitops.git - branch 'debug': OK Checking cluster: cluster-info: OK storageclass: OK Installing pattern: .....Installation failed [5/5]. Error: Pulled: quay.io/rhn_support_mbaldess/pattern-install:0.0.4 Digest: sha256:6a5431d257f4bf05d6ac91bca4f4aa010ecb1ee60d2e03c1d0984835d210a0a8 customresourcedefinition.apiextensions.k8s.io/patterns.gitops.hybrid-cloud-patterns.io unchanged configmap/patterns-operator-config unchanged resource mapping not found for name: "patterns-operator" namespace: "openshift-operators" from "STDIN": no matches for kind "SubscriptionNotexistant" in version "operators.coreos.com/v1alpha1" ensure CRDs are installed first Error from server (NotFound): error when creating "STDIN": namespaces "openshift-operators-notexistant" not found make[1]: *** [common/Makefile:71: operator-deploy] Error 1 make[1]: Leaving directory '/home/michele/Engineering/cloud-patterns/multicloud-gitops' make: *** [Makefile:12: operator-deploy] Error 2
Record the exit code at the right time
There is currently no make test as we are working on a new approach when slimmed common is involved
/lgtm |
mbaldessari
force-pushed
the
slimming
branch
from
November 21, 2024 13:25
62707b1
to
c8f5a20
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.