[Starlingx-discuss] [Multi-OS] POC project update

Victor Rodriguez vm.rod25 at gmail.com
Wed Apr 17 22:46:33 UTC 2019


Hello everyone in STX community

We are very happy to share with you the current state of the Multi-OS
POC project we started a few weeks ago:

https://github.com/starlingx-staging/stx-packaging

Since our last update:

http://lists.starlingx.io/pipermail/starlingx-discuss/2019-March/003618.html

There have been new features that we have added:

1) Able to build Ubuntu Live image tooling that resolves runtime dependencies:
https://github.com/starlingx-staging/stx-packaging#building-an-image-wip-as-poc-state-now

$ make iso ISO_TEMPLATE=ubuntu-16.04.6-server-amd64.iso

2) Able to build the DEB files inside Ubuntu containers ( so you don't
need to have an Ubuntu system as workstation ). Even If you are not in
a Linux machine but it has docker and Makefile tools, you still can
build a Starling X package, for example:

$ make package PKG=x.stx-fault/fm-mgr DISTRO=ubuntu BUILD_W_CONT=y

The flag BUILD_W_CONT=y will create a docker image with all the
environment necessary to build the package and leave the results in
stx-packaging/configs/docker-ubuntu-img/results/

You can also set there a specific Packages.gz that you prefer with
fixed packages versions for your build.

3) Able to build Centos/Fedora/EPEL RPMs using the same tooling. Here
is how it works so far:

Inside the directory stx-packaging/configs/docker-centos-img/ the
developers can run:

$ make build PKG=systemd-219-62.el7.src.rpm MOCK_CONFIG=centos-7-i386

The SRPM should be in the container volume ( in this case
/tmp/rpmbuild ) , it is also possible to pass the URL variable as part
of the make build sentence

$ make build PKG=<package name> MOCK_CONFIG= URL=<url where to get the srpm>

It has been tested with multiple MOCK_CONFIG files, the supported ones
include Centos / Fedora and EPEL ( check /etc/mock for the specific
versions ). Is also possible to add your personal  MOCK_CONFIG that
can point to your local repository or the mirror you prefer.

It also has the capability to pass the .spec file and tarball if
developers prefer. A more detailed README will be updated soon with
examples on how to use it.

Summary:

* The first goal of the POC which was to build packages of the project
in multiple operating systems ( including Ubuntu/Centos ) works!
* This POC does not need to modify the current directory structure
* Is scalable to other operating systems

Next steps and what current state of the POC doesn't do (yet) :

* Feedback from community, especially from STX (current and future) developers
* Research on a better approach to solving build dependencies
* Bring up a Controller 0
* Build the platform to consume OpenStack containers

Thanks a lot to contributors to this project:

https://github.com/starlingx-staging/stx-packaging/graphs/contributors

Regards

Victor Rodriguez



More information about the Starlingx-discuss mailing list