I was asked to brief everyone with where we were at with the kolla-kubernetes 
microservices api.

Config of the Kubernetes objects (not talking about openstack config files) is 
done through Helm values as all good Helm packages do. Defaults come from the 
Helm packages values.yaml file (1) and can be overridden by the user via their 
own Values.yaml file or on the command line with --set. (ex: helm install 
<package> --values mycloud.yaml --set docker_registry=local-a)

When rolled up into service packages, the same still holds, but the values for 
each microservice are just prefixed with the microservices name. (2)

This has allowed the most flexibility in the configuration allowing 
kolla-kubernetes to be used my the most number of operators over the most 
varied amount of use cases.

This arrangement does have the drawback of being overly verbose to use though. 
So, we've come up with an additional set of values using some of the brand new 
features in Helm 2.1.2 (deep globals) and Helm 2.1.3 (set function). Thanks 
Helm Devs! :)

With these, its possible to use the Helm global values mechanism to make it 
easy to set a value that affects multiple packages, while still being able to 
override more specific package settings.

For example, this value file can change the default docker registry to pull 
from local-a for all packages except all neutron ones pull from local-b and all 
nova from local-c:
global:
  kolla:
    all:
      docker_registry: local-a
    neutron:
      all:
        docker_registry: local-b
    nova:
      all:
        docker_registry: local-b

The following should then do the right thing:
helm install kolla/cinder  --values mycloud.yaml
helm install kolla/nova    --values mycloud.yaml
helm install kolla/neutron --values mycloud.yaml
...

It also leaves room for openstack to be embedded in bigger Helm packages yet, 
as all the rest of the global space should not conflict.

Thoughts?

Thanks,
Kevin

-------------
references

1. values files:
  
https://github.com/kubernetes/helm/blob/master/docs/chart_template_guide/values_files.md#values-files

2. subchart value overriding behavior:
  
https://github.com/kubernetes/helm/blob/master/docs/chart_template_guide/subcharts_and_globals.md#overriding-values-from-a-parent-chart
__________________________________________________________________________
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to