Helm charts for deploying OpenStack on Kubernetes
Go to file
Dustin Specker 078a496937 upgrading umbrella w/o changes has no app changes
If a Helm upgrade is performed on the OpenStack Umbrella chart using
the exact same configuration as the first release, then it's expected
for no DaemonSets, Deployments, or StatefulSets to be updated.
This did not work as expected.

A few changes were required to support this desired behavior:
1. Update glance's configmap-etc.yaml to trim whitespace and convert
   YAML comment to Helm template comment. Before this change, Helm
   rendered the template with the YAML comment and a newline for the
   install phase. On upgrades, Helm rendered the template without the
   YAML comment and newline causing the hash of configmap-etc to change,
   thus causing the glance-api Deployment to update.
2. Update openstack.sh script to create a randomly generated memcache
   secret for glance. Without this change, the glance-api deployment
   changes each time since Helm randomly generates a new memcache
   secret if not provided.

This behavior is enforced via a new test script,
validate-umbrella-upgrade-no-side-effects.sh.

The following jobs are always recreated due to hooks:
- keystone-bootstrap
- keystone-credential-setup
- keystone-db-init
- keystone-db-sync
- keystone-domain-manage
- keystone-fernet-setup
- keystone-rabbit-init
- rabbitmq-cluster-wait

Some Jobs are created via CronJobs and could be created during
validation. So far, heat-engine-cleaner has been seen, but others
could be caught too.

So the validation script ignores these pod changes by ignoring if
Jobs were recreated. Plus Jobs being recreated should not impact
the OpenStack deployment.

Change-Id: Iffaa346d814b8d0a3e2292849943219f70d50a23
2022-06-28 15:55:31 -05:00
aodh Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1 2022-05-19 10:08:18 -04:00
barbican Add Xena and Yoga values overrides 2022-06-08 17:21:57 +00:00
ceilometer Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1 2022-05-19 10:08:18 -04:00
cinder Add Xena and Yoga values overrides 2022-06-08 17:21:57 +00:00
cyborg Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1 2022-05-19 10:08:18 -04:00
designate Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1 2022-05-19 10:08:18 -04:00
doc Imported Translations from Zanata 2022-06-21 03:43:10 +00:00
glance upgrading umbrella w/o changes has no app changes 2022-06-28 15:55:31 -05:00
heat Add Xena and Yoga values overrides 2022-06-08 17:21:57 +00:00
horizon Add Xena and Yoga values overrides 2022-06-08 17:21:57 +00:00
ironic Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1 2022-05-19 10:08:18 -04:00
keystone Add Xena and Yoga values overrides 2022-06-08 17:21:57 +00:00
magnum Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1 2022-05-19 10:08:18 -04:00
masakari Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1 2022-05-19 10:08:18 -04:00
mistral Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1 2022-05-19 10:08:18 -04:00
neutron Add Xena and Yoga values overrides 2022-06-08 17:21:57 +00:00
nova Add Xena and Yoga values overrides 2022-06-08 17:21:57 +00:00
octavia Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1 2022-05-19 10:08:18 -04:00
openstack add compute-kit to openstack umbrella chart 2022-05-19 17:07:31 -05:00
placement Add Xena and Yoga values overrides 2022-06-08 17:21:57 +00:00
rally Add helm hook for Rally jobs 2022-05-31 18:16:41 +03:00
releasenotes upgrading umbrella w/o changes has no app changes 2022-06-28 15:55:31 -05:00
senlin Introduced helm hooks for senlin jobs 2022-05-20 09:17:23 -04:00
tempest Update tempest image defaults to focal 2022-04-27 10:01:26 -05:00
tests Enable templates linting 2020-07-11 00:52:51 +00:00
tools upgrading umbrella w/o changes has no app changes 2022-06-28 15:55:31 -05:00
zuul.d upgrading umbrella w/o changes has no app changes 2022-06-28 15:55:31 -05:00
.gitignore Migrate CronJob resources to batch/v1 and PodDisruptionBudget resources to policy/v1 2022-05-19 10:08:18 -04:00
.gitreview OpenDev Migration Patch 2019-04-19 19:45:14 +00:00
bindep.txt Gate: Add bindep for docs requirements 2019-06-25 08:01:46 -05:00
CONTRIBUTING.rst Documentation update on release note and version 2021-02-11 14:26:52 -06:00
LICENSE Initial commit 2016-11-12 14:26:57 -05:00
Makefile chore(make): updates Makefile 2021-01-14 20:49:27 +00:00
README.rst docs: Update Freenode to OFTC 2021-06-02 17:03:10 +08:00
setup.cfg setup.cfg: Replace dashes with underscores 2021-05-03 15:31:16 +08:00
setup.py Beggining of docs conversion to OpenStack format 2017-04-27 17:04:17 +02:00
tox.ini Fix 'tox -e releasenotes' 2022-06-20 21:19:30 -04:00
yamllint-templates.conf Enable templates linting 2020-07-11 00:52:51 +00:00
yamllint.conf Parallelize osh-gate-runner for gate jobs 2020-08-06 00:51:23 +00:00

OpenStack-Helm

Mission

The goal of OpenStack-Helm is to provide a collection of Helm charts that simply, resiliently, and flexibly deploy OpenStack and related services on Kubernetes.

Communication

  • Join us on IRC: #openstack-helm on oftc
  • Community IRC Meetings: [Every Tuesday @ 3PM UTC], #openstack-meeting-alt on oftc
  • Meeting Agenda Items: Agenda
  • Join us on Slack
    • #openstack-helm

Storyboard

Bugs and enhancements are tracked via OpenStack-Helm's Storyboard.

Installation and Development

Please review our documentation. For quick installation, evaluation, and convenience, we have a kubeadm based all-in-one solution that runs in a Docker container. The Kubeadm-AIO set up can be found here.

This project is under active development. We encourage anyone interested in OpenStack-Helm to review our Installation documentation. Feel free to ask questions or check out our current Storyboard backlog.

To evaluate a multinode installation, follow the Bare Metal install guide.

Repository

Developers wishing to work on the OpenStack-Helm project should always base their work on the latest code, available from the OpenStack-Helm git repository.

OpenStack-Helm git repository

Contributing

We welcome contributions. Check out this document if you would like to get involved.