Configure openstack services with docker support¶
Include the URL of your launchpad blueprint:
https://blueprints.launchpad.net/openstack-chef/+spec/docker-driver-configuration
The Docker driver is a hypervisor driver for OpenStack Nova Compute. It was introduced with the Havana release. Docker is an open-source engine which automates the deployment of applications as highly portable, self-sufficient containers which are independent of hardware, language, framework, packaging system and hosting provider.
Refer [OPENSTACK_DOCKER_DOCUMENTATION].
This new change proposed will enable deployment and configuration of nova-docker driver, glance repo configuration and any needed config to support seemless managment of docker nodes in openstack cloud.
Problem description¶
Currently, openstack-compute does not support nova-docker driver
Currently, openstack-image does not support docker container formats for images which includes docker and dockerref
[OPENSTACK_DOCKER_COOKBOOK_OLD] is an available option which is not maintained for last 2 years and it has embedded 2 years old driver.
Proposed change¶
Add support in openstack-compute cookbook to configure [NOVA_DOCKER_DRIVER]. Current support will be to download the nova docker driver from git repo and configure.
Also change openstack-image to support container formats for docker images which includes docker and dockerref
Alternatives¶
None
Data model impact¶
None
REST API impact¶
None
Security impact¶
None
Notifications impact¶
None
Other end user impact¶
None
Performance Impact¶
None
Other deployer impact¶
None
Developer impact¶
None
Implementation¶
Assignee(s)¶
- Primary assignee:
- Other contributors:
Work Items¶
Add new attributes to openstack-compute
Change openstack-compute / nova.conf.erb template for including nova-docker driver
Add new recipe for docker configuration in openstack-compute
Change compute.rb recipe in openstack-compute to include the new recipe based on configuration
Add the unit tests.
Change openstack-image and add new container formats in attributes
Dependencies¶
In order to configure nova-docker driver - compute nodes should be pre installed with docker runtime. Users can opt to use cookbook [CHEF_DOCKER] In case above cookbook does not support the OS where compute is getting configured use doucmentation which is available at [DOCKER_RUNTIME_INSTALLATION].
This depends on Nova Docker driver [NOVA_DOCKER_DRIVER]. Currently a git clone of above source in .zip format is required to complete nova configuration
Testing¶
Add unit tests for the recipes.
For function and CI integration test, at least one node with OpenStack all-in-one deployment is recommended.
In order to configure a compute node as docker compute(while testing using openstack-chef-repo) override the attribute to true using environment which indicates whether a node is docker type or not
Prior to testing, install docker runtime to all compute nodes. Refer Dependencies for more details
Documentation Impact¶
Change README.md. in openstack-compute
References¶
Possible Future Enhancements¶
Change openstack-telemetry cookbook to support monitoring of docker computes