- This is prep work, and a dependency for the Ansible workflow engine
as well as upcoming multi-node kolla-kubernetes patches.
- The original bootstrap/run/kill commands are still present, and left
untouched for the moment. The workflow engine will replace these
monolithic commands.
- The original commands did quite a few things (process jinja, create
configmaps, create svcs, create pods) all at once. Broke up each of
these discrete bits of logic into their own smaller CLI commands.
- Added new subcommand, used to create or delete kolla-kube resources
kolla-kubernetes resource [-h] <action> <resource-type> <service-name>
<action> One of [create|delete]
<resource-type> One of [configmap|disk|pv|pvc|svc|bootstrap|pod]
<service-name> One of [mariadb|memcached|keystone|horizon|
rabbitmq|glance|nova|neutron|swift]
- Added new subcommand, used to process templates for resources
kolla-kubernetes resource-template [-h] [--print-jinja-vars]
[--print-jinja-keys-regex <print-jinja-keys-regex>] <action>
<resource-type> <service-name> <template-file>
- Added new subcommand which allows an operator to discover and list
available services, resource types, and resource files.
kolla-kubernetes resource-map [-h] [--resource-type <resource-type>]
[--service-name <service-name>]
- Made explicit the ordering of kolla-kube resources in
service_resources.yml. Resources are explicity configured, instead of
discovered, because there is inherent dependency ordering required
when creating resources. For example, services have a dependency
order of creation. Disks, pv, pvc, svc, pods also require order.
Prior, we only needed to support pod and service definitions, which
were created in any order.
- Added ability to process jinja templates that are scripts. This
leaves room for persistent disk creation in follow-on patch to support
multi-node kolla-kubernetes.
- The steps to create all resources for a working Horizon are:
kolla-kubernetes resource create svc mariadb
kolla-kubernetes resource create configmap mariadb
kolla-kubernetes resource create bootstrap mariadb
kolla-kubernetes resource create pod mariadb
kolla-kubernetes resource create svc memcached
kolla-kubernetes resource create configmap memcached
kolla-kubernetes resource create pod memcached
kolla-kubernetes resource create svc keystone
kolla-kubernetes resource create configmap keystone
kolla-kubernetes resource create bootstrap keystone
kolla-kubernetes resource create pod keystone
kolla-kubernetes resource create svc horizon
kolla-kubernetes resource create configmap horizon
kolla-kubernetes resource create pod horizon
Change-Id: Ie27ea4537cdbaf0922a14e3a5e24040e598e32e8
Partially-implements: blueprint kolla-kubernetes-cli
Partially-implements: blueprint ansible-orchestration