operator-metallb:release_1.26

Last commit made on 2022-11-09
Get this branch:
git clone -b release_1.26 https://git.launchpad.net/operator-metallb

Branch merges

Branch information

Name:
release_1.26
Repository:
lp:operator-metallb

Recent commits

bff29bd... by Syed Mohammad Adnan Karim <email address hidden>

update container images from v0.9.3 to v0.12 (#27)

* update container images from v0.9.3 to v0.12

* Update bundle/tests/test_bundle.py

add trust=True to integration tests for metallb-speaker

Co-authored-by: Stone Preston <email address hidden>

* Update bundle/tests/test_bundle.py

add trust=True to integration tests for metallb-controller

Co-authored-by: Stone Preston <email address hidden>

Co-authored-by: Stone Preston <email address hidden>

69059f7... by Adam Dyess

correct the run-on bases (#26)

37648f8... by Adam Dyess

extend supported architectures to match the upstream image (#25)

5e214ff... by Stone Preston <email address hidden>

PSP Removal (#24)

* Add PSP removal for 1.25+
* swap to an API test rather than a k8s node version test for PodSecurityPolicy
* break integration tests apart so that microbot tests can be re-run

Co-authored-by: Stone Preston <email address hidden>
Co-authored-by: Adam Dyess <email address hidden>

b91b33d... by Adam Dyess

non-leader units should be in idle rather than waiting on leadership (#23)

82b227e... by Adam Dyess

enable jammy support for this charm (#21)

* enable jammy support for this charm

* support reusable workflows for inclusive naming, linting, and unit testing

* upgrade Pipfile.lock to support py3.10 testing

* drop python 3.7 unit testing

bf6ead1... by Adam Dyess

Update metadata.yaml (#20)

* Update metadata.yaml

* Update metadata.yaml

2091ea9... by George Kraft

Add charmcraft.yaml (#19)

* Add charmcraft.yaml

* Remove microk8s.kubectl alias

* Fix kubectl command called with non-string object

* Remove trailing --- from rbac-permissions-operators.yaml

607568e... by Cory Johns

Convert tests to actions-operator and pytest-operator (#18)

* Convert tests to actions-operator and pytest-operator

Clean up the integration test workflow by leveraging actions-operator
for the environment setup and pytest-operator for model helpers and
doing the testing in Python.

* Refactor RBAC management in tests to Workflow

Managing the RBAC feature within the test ran into issues due to the API
server restarting which interrupted the model connection to the
controller. Additionally, it made the tests coupled to microk8s rather
than being able to run against any K8s cluster.

* Fix workflow syntax error

* Fix perm error on snap alias

* Fix env syntax and sg command for disabling RBAC in workflow

* Fix sg syntax in workflow and custom arg passing through tox

* Fix parallel charmcraft builds

Charmcraft checks for and, if not present, adds a LXC remote for it's
build environment image. If multiple builds are started in parallel,
there's a race condition where they both see that the remote isn't
present and then both try to add it, leading to one of them failing.

* More charmcraft pre-init in workflow

* Do builds sequentially to try to get past build issues

* Remove git dependency in requirements

The oci-image library was released to PyPI some time ago, so use that
instead of the git repo.

* Refactor RBAC check to not use wait_for_idle

The behavior of `wait_for_idle` returning immediately as soon as *any*
unit is in error, even with `raise_on_error=False` was causing some
strangeness with the test attempting to resolve a unit before it was in
error (somehow).

* Add some debug logging

* Increase workflow timeout

* Restore default wait_period to try to figure out why it was failing

* Some debugging for inconsistent test behavior

ffd28a7... by Camille Rodriguez <email address hidden>

Fix issues: rbac permissions and ARP on the network (#17)

* Update rbac-permissions-operators.yaml

When deploying the metallb operator, 4 service accounts are created: metallb-controller-operator, metallb-speaker-operator, metallb-controller, metallb-speaker. For the metallb-controller to function correctly, it also needs access to list configmaps. This error was seen in the logs when I tried with the previous configuration:

E0317 15:22:00.604453 1 reflector.go:125] <email address hidden>/tools/cache/reflector.go:98: Failed to list *v1.ConfigMap: confi
gmaps "config" is forbidden: User "system:serviceaccount:metallb-system:metallb-controller" cannot list resource "configmaps" in API group "" in the namespace "metallb-syst
em"

And the loadbalancer services would not be getting an external IP. This change in the permissions fixed it.

* Update charm.py

hostNetwork:True is necessary to allow ARP on the network