[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