StarlingX: Docker Image Generation¶
https://storyboard.openstack.org/#!/story/2003907
This story will update the StarlingX build system to include generation of Docker images for infrastructure services that will run in containers. These services will initially include all OpenStack services supported by StarlingX, nova-api-proxy and fault-management and this story will extend the build system to generate docker images for each.
We will make use of OpenStack LOCI to help build the StarlingX service images. In support of this, we will also build python wheels for required modules to align with the appropriate upper constraints.
Problem description¶
We need a mechanism to build images for the StarlingX services to support containerization.
Use Cases¶
Developers need to be able to build images for the StarlingX services.
Automated build tools need to be able to build images.
Proposed change¶
For building python wheels, we will make use of the python2/3 pip and wheels packages. These allow us to generate the wheels during the regular loadbuild, for python modules we currently build. Additionally, we will provide a mechanism for building wheels for specific versions of a base set of python modules from trusted sources, such as pypi.org. This combined set of wheels will be provided as input to LOCI when building the images.
For building the StarlingX images, we will create a set of image build configuration files and a utility to process these files, using the directives within to provide the appropriate configuration to LOCI to build the necessary images.
Alternatives¶
We could create our own docker files to generate the StarlingX images, installing the necessary components, but this would be reimplementing the functionality provided by LOCI. As well, LOCI is already being used by OpenStack Helm for building images for the OpenStack services, so it already has support within the community.
Data model impact¶
None
REST API impact¶
None
Security impact¶
None
Other end user impact¶
None
Performance Impact¶
None
Other deployer impact¶
None
Developer impact¶
Introduction of this feature will add additional steps to a developer build, but these should be optional.
Upgrade impact¶
None
Implementation¶
Assignee(s)¶
- Primary assignee:
Don Penney <dpenney>
- Other contributors:
Al Bailey <albailey>
Repos Impacted¶
stx-config
stx-distcloud
stx-fault
stx-gui
stx-ha
stx-integ
stx-nfv
stx-root
stx-update
stx-upstream
Work Items¶
Update StarlingX python modules to generate wheels
Create mechanism and config for building base python wheels
Create mechanism and config for building StarlingX images
Dependencies¶
None
Testing¶
StarlingX images will be verified to ensure images can be launched and contain all necessary software.
Documentation Impact¶
Documentation for the build and developer workflow will need to be updated.
References¶
History¶
Release Name |
Description |
2019.03 |
Introduced |