Backport changes to implement CNI configuration #404
Merged
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.
docs: add instructions to enable istio cni plugin
fix: call self._cni_config_changed and handle exception
The _cni_config_changed() method was not called correctly because of a typo,
which led to the condition evaluating it to always be True, and running upgrades
when they are not required. Calling correctly the method ensures the charm executes
correct pieces of code.
By doing this, the GenericCharmRuntimeError exception that gets raised on an error
with CNI configuration must be re-raised when handling the reconcile.
Fixes #395
This commit enables the Istio CNI plugin by default in all new
deployments of istio-pilot provided the required charm configuration is
present; otherwise the control plane remains intact.
It is also ensured that the required configurations are present when
upgrading to future versions so the plugin is correctly installed on
existing control planes (versions <1.17).
Fixes #356
Part of #351
This refactor uses the install method form the istioctl wrapper to
install the control plane without calling subprocess directly in the
charm code.
This commit also changes the unit tests and lints the code and tests
to adapt to the recent refactor.
Part of #351