StarlingX source manifest to manage the repositories
Go to file
Lucas de Ataides 9cd38ccdda Create stx-openstack manifest
As discussed in [1], as part of the STX-Openstack upversion to Antelope
, we have to decouple the platform and the application builds in
separate manifests, in order to not clash the upversioned packages on
the application side, with the ones on the platform.

The purpose of this change is to introduce this new manifest, containing
the required repositories for a successfull build of the STX-Openstack
application.

For the test plan, despite this change being on the
`starlingx/manifest` repo, I wanted to make sure that all required
repositories for a successfull STX-Openstack build were present,
hence why the test plan is not the usual for this repository.

[1] https://lists.starlingx.io/pipermail/starlingx-discuss/2023-June/014214.html

Test Plan:
PASS: Initialize repo with custom manifest
PASS: Compare STX-Openstack tarball generated by this manifest against
      an official one and make sure no charts or FluxCD manifests are
      missing

On build environment:
  PASS: Download all dependencies (downloader -s -b -B std,rt)
  PASS: Build all packages (build-pkgs -c -a)
  PASS: Build wheels
  PASS: Build all STX-Openstack Docker images
  PASS: Build STX-Openstack tarball
  PASS: Upload / apply STX-Openstack

Story: 2010797
Task: 48249

Change-Id: I58510c120c35c0e894aeeef100df37c8c1c749c9
Signed-off-by: Lucas de Ataides <lucas.deataidesbarreto@windriver.com>
2023-08-30 08:27:16 -03:00
.gitignore Add test framework 2018-06-08 15:48:00 -05:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:25 +00:00
.zuul.yaml Adding job to upload commits to GitHub 2020-02-06 11:10:07 -05:00
README.rst starlingx/manifest README improvement 2023-07-19 12:24:46 -03:00
bindep.txt Add bindep.txt to install libxml2 2019-08-06 14:25:52 -05:00
common.xml Add git for storage of public keys and certs 2023-02-08 14:30:40 -05:00
compiler.xml Revert "Manifest files: set default revision for the r/stx.4.0 branches" 2020-07-14 12:07:35 -07:00
containers.xml Add the new repo app-intel-device-plugins to the manifest 2023-08-16 06:25:24 -04:00
default.xml Add the new repo app-intel-device-plugins to the manifest 2023-08-16 06:25:24 -04:00
distro.xml Pin openstack train repos to specific revisions 2023-05-05 15:18:05 -04:00
flock.xml Add the new repo app-intel-device-plugins to the manifest 2023-08-16 06:25:24 -04:00
stx-openstack.xml Create stx-openstack manifest 2023-08-30 08:27:16 -03:00
test-requirements.txt Add test framework 2018-06-08 15:48:00 -05:00
tox.ini Add git for storage of public keys and certs 2023-02-08 14:30:40 -05:00

README.rst

StarlingX Manifest

Download

The StarlingX source code can be downloaded from the default manifest XML file, by using the git-repo tool1, with the following commands:

export MANIFEST_URL="https://opendev.org/starlingx/manifest.git"
export MANIFEST_BRANCH="master"
export MANIFEST="default.xml"
repo init -u ${MANIFEST_URL} -b ${MANIFEST_BRANCH} -m ${MANIFEST}
repo sync

StarlingX Build Environment

The StarlingX Build Environment2 is a set of containers designed to run in a Kubernetes environment.

As an alternative, a Vagrant-based StarlingX Build Environment is available in the starlingx/tis-repo3.

Layered Build

Build layering4 is a feature to accelerate development within StarlingX. It optimizes the build of a small set of most-used top level packages, while avoiding rebuild of a large amount of infrequently used packages.

The packages are partitioned into the following layers, according to the corresponding manifests:

  • compiler: Low level build tools: compilers, scripts, and packaging tools;
  • distro: Linux and third party packages, e.g. ceph, openstack;
  • flock: Basic StarlingX packages. These are the most used ones.

Reserved Manifests

The following manifests are reserved:

  • common: packages always included in the build, regardless of layer;
  • containers: packages to build containers;
  • default: used as a means to download the StarlingX source code.

Developer Notes

When updating XML files, please remember to update the appropriate .gitignore file in https://opendev.org/starlingx/root otherwise the "repo status" command will show the new repo as an untracked change.

When updating the default.xml manifest, please also remember to update the appropriate layer manifest as well.

References


  1. https://gerrit.googlesource.com/git-repo/#install↩︎

  2. https://wiki.openstack.org/wiki/StarlingX/DebianBuildEnvironment↩︎

  3. https://opendev.org/starlingx/tis-repo↩︎

  4. https://docs.starlingx.io/developer_resources/Layered_Build.html↩︎