
Refresh 2023.2 -> 2024.1 which will impact all charms, so we should not need to pre-seed the edge channel before this works. Refresh 23.09 -> 24.03 for OVN charms. Option sql_connection is removed form 2024.1 release [1] Use below snippet for magnum-k8s conf template [database] connection = <> Update horizon local_settings.py.j2 template [1] https://docs.openstack.org/releasenotes/oslo.db/en_GB/2024.1.html Mark tempest test as non-voting as its currently unstable. Change-Id: I4e277a4c5e438e2f2112a167b0f3050c1526cd0a
1.7 KiB
keystone-k8s
Developing
Create and activate a virtualenv with the development requirements:
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
Code overview
Get familiarise with Charmed Operator Framework and Sunbeam documentation.
keystone-k8s charm uses the ops_sunbeam library and extends OSBaseOperatorAPICharm from the library.
The charm provides identity-service and identity-credentials relations as a library to consume for other openstack charms and details are documented here. identity-service library is consumed by charms that need to register to keystone catalog and identity-credentials library is consumed by charms that want to create cloud credentials.
keystone-k8s charm consumes database relation to connect to database and ingress-internal/ingress-public relation to get exposed over internal and public networks.
Intended use case
keystone-k8s charm deploys and configures OpenStack Identity service on a kubernetes based environment.
Roadmap
TODO
Testing
The Python operator framework includes a very nice harness for testing operator behaviour without full deployment. Run tests using command:
tox -e py3
Deployment
This project uses tox for building and managing. To build the charm run:
tox -e build
To deploy the local test instance:
juju deploy ./keystone-k8s_ubuntu-20.04-amd64.charm --trust --resource keystone-image=ghcr.io/canonical/keystone:2024.1