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
ENTESB-18466: Introduces control of OLM upgradeability using OLM OperatorCondition flag #9913
ENTESB-18466: Introduces control of OLM upgradeability using OLM OperatorCondition flag #9913
Conversation
* operator-lib provides factory functions for setting operator conditions
* Calling make test-catalog, the bundle will be built, pushed and added to a copy of the 4.11 catalog. The resulting image can be pushed and used as a catalogsource for testing the OLM install of the bundle metadata.
* The OLM bundle needs the kafka and public-api cluster roles as the operator install action applies the ClusterRoleBindings in assets/infrastructure. The bindings call for these roles by name so they must be installed by the OLM as well as by the syndesis install --cluster-setup
* When operator is installed via OLM, a separate OperatorCondition CR is created which can be updated with an "upgradeable" condition flagging whether the OLM can upgrade the operator * Turn off upgradeable state when * operator is initializing * operator is upgrading * Turn on upgradeable state when * operator has started * operator has completed an upgrade * Finds the OperatorCondition using the deployment name, deployment owner (CSV) and the CSV name (OperatorCondition has same name as the CSV). * Adds conditions tests but cannot completely implement due to operator-framework/operator-lib#103
Causing build action to fail. Will investigate ... |
I am getting the same build error as reported by CI
|
@phantomjinx see install/operator/.lib.sh, might good to base these changes on top of #9786 |
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
* By default, openapi-gen looks for a boilerplace.go.txt file in ${SRC}/go/src/kube-openapi/boilerplate but `go mod vendor` excludes this directory when vendoring dependencies. * .lib.sh * Include our own boilerplate directory and use the --go-header-file switch to specify its location * Improve the brevity of the openapi-gen function * boilerplate.go.txt * Reflects our licence header rather than kubernetes * Makefile * Replace which with command as latter is posix compliant * Update to kube-openapi version and generated api files
dadc76c
to
48d4eaa
Compare
@@ -0,0 +1,16 @@ | |||
/* |
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.
This is for code contributed to ASF, we should go with something like https://github.com/syndesisio/syndesis/blob/6cd3b2a97b83bf7d9829e407eeec610382c9cc6d/install/operator/config/boilerplate.go.txt
It looks horrendous but first commit is updating dependencies due to use of OperatorLib 0.9.0. Probably only need to review the
go.mod
and.lib.sh
changes. Otherwise, the later 4 commits are more important.