From 415b3486f5bfea572c2e822245a1264a866b90b7 Mon Sep 17 00:00:00 2001 From: Al Bailey Date: Wed, 10 Oct 2018 10:37:44 -0500 Subject: [PATCH] Adding the first spec: docker-image-generation Removing the placeholder which was only present until a spec was uploaded. Including the spec for generating docker images to be used by containerization Change-Id: Ib39ccbc893bb4078b4b1cbf5d505b489ced5ed01 Authored-By: Don.Penney@windriver.com Co-Authored-By: Al.Bailey@windriver.com Signed-off-by: Al Bailey --- specs/approved/_placeholder.rst | 8 - ...zation_2003907_docker-image-generation.rst | 163 ++++++++++++++++++ 2 files changed, 163 insertions(+), 8 deletions(-) delete mode 100644 specs/approved/_placeholder.rst create mode 100644 specs/approved/containerization_2003907_docker-image-generation.rst diff --git a/specs/approved/_placeholder.rst b/specs/approved/_placeholder.rst deleted file mode 100644 index 0cd761b..0000000 --- a/specs/approved/_placeholder.rst +++ /dev/null @@ -1,8 +0,0 @@ -.. placeholder: - -=========== -Placeholder -=========== - -This file is a placeholder and should be deleted when the first spec is moved -to this directory. diff --git a/specs/approved/containerization_2003907_docker-image-generation.rst b/specs/approved/containerization_2003907_docker-image-generation.rst new file mode 100644 index 0000000..12f747d --- /dev/null +++ b/specs/approved/containerization_2003907_docker-image-generation.rst @@ -0,0 +1,163 @@ +.. This work is licensed under a Creative Commons Attribution 3.0 Unported + License. + http://creativecommons.org/licenses/by/3.0/legalcode + +================================== +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 + +Other contributors: + Al Bailey + +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 +========== + +https://github.com/openstack/loci + +History +======= + +.. list-table:: Revisions + :header-rows: 1 + + * - Release Name + - Description + * - 2019.03 + - Introduced +