kolla-kubernetes/kolla_kubernetes
David C Wang 4f6a068972 Separate CLI commands into discrete bits (smaller CLI commands)
- 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
2016-07-13 20:38:51 +00:00
..
cli Separate CLI commands into discrete bits (smaller CLI commands) 2016-07-13 20:38:51 +00:00
cmd Use pbr to get version instead of hard coding in CLI 2016-06-30 17:03:30 +01:00
common Separate CLI commands into discrete bits (smaller CLI commands) 2016-07-13 20:38:51 +00:00
tests Refactored service_definition.py into service_resources.yaml 2016-07-07 23:30:07 +00:00
__init__.py Update for successful pep8 2016-05-05 22:20:22 +05:30
config.py Allow kubectl to use its own configured endpoint for kube API 2016-06-30 00:24:53 +00:00
exception.py Consolidating path resolution and searching for program files 2016-06-21 21:12:19 +00:00
service.py Separate CLI commands into discrete bits (smaller CLI commands) 2016-07-13 20:38:51 +00:00
service_resources.py Separate CLI commands into discrete bits (smaller CLI commands) 2016-07-13 20:38:51 +00:00
version.py Support for release notes 2016-05-05 14:22:01 -04:00