kolla multicloud command line tool
Problem Description
Kolla consist of 3 components. a) build system b) openstack services configuration customization c) deployement and execution management system (kolla-ansible tool and some other standalone scripts).
Up til this point, the kolla-ansible tool is primariy dealing with cloud deployements. It does have a few commands for actual operations of a cloud like mariadb_recovery and recently there has emerged a few PS suggesting to add functionality to the operators "command" set. One can easily imagine that the number of feature requests and mgmt functionality will increase as kolla gets used by more and more operators.
Proposed Solution
Before an increasing number of disparate operations commands are added to kolla, it would probably be good to gather them all up under a unified command line tool. The proposal is to create a kolla cli that has full coverage of the different commands needed by operators. By setting the framework and commands it should support, it makes it easier for developers to implement the parts.
Much of this is inspired by Oracle and the kolla CLI they have developed.
http://
http://
Example of command structure (not complete or accurate by any means)
Kolla cloud list | create | destroy
Kolla <cloud> node list | add | remove | setup
Kolla <cloud> group create | delete | addhost | delhost | list hosts
Kolla <cloud> database galeracheck | backup | restore | list-backups
Kolla <cloud> rabbitmq status | cluster status
Kolla <cloud> service <service name> list | start | stop | restart | status
Kolla <cloud> deploy <service> | <node-group> | <host>
Kolla <cloud> upgrade <service> | <node-group> | <host>
Kolla <cloud> destroy <service> | <node-group> | <host>
And moreā¦
Multicloud support is also quite doable by using a docker container as execution space. On kolla master, one config dir per cloud
/etc/kolla/cloud-1/
- Globals.yml
- Inventory file
- Config dir
- Git source tree
/etc/kolla/cloud-2/
- Globals.yml
- Inventory file
- Config dir
- Git source tree
To execute a command in cloud-1
Docker run -it -v /etc/kolla/cloud-1: /etc/kolla -v /etc/kolla/
Docker run -it -v /etc/kolla/cloud-1: /etc/kolla -v /etc/kolla/
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- bjolo
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Approved
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by