[Starlingx-discuss] [important] Build layering has merged

Scott Little scott.little at windriver.com
Wed Feb 12 15:23:56 UTC 2020


All three layers have built successfully on cengn.

Compier layer: 52 min: 
http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/compiler/20200211T210351Z/
Distro Layer: 152 min: 
http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/distro/20200211T215536Z/
Flock Layer: 54 min: 
http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/flock/20200211T234731Z/
     - This build includes iso but not docker containers

The layered build iso can be found here:
http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/flock/latest_build/outputs/iso/

I hope you will take it out for a test drive.

The monolithic build will continue to run for a few weeks, and it can 
still be found here for now:
http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/latest_build/outputs/iso/

The old path will likely be removed or symlinked to point to the flock 
build.

How do I recognize the layer content in my build?

On cengn
http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/flock/latest_build/outputs/ISO_BUILD_INFO.txt

After install
     /etc/build.info

The expected content is something like:

OS="centos"
SW_VERSION="20.01"
BUILD_TARGET="Host Installer"
BUILD_TYPE="Formal"
BUILD_ID="20200211T234731Z"

JOB="STX_build_layer_flock_master_master"
BUILD_BY="starlingx.build at cengn.ca"
BUILD_NUMBER="16"
BUILD_HOST="starlingx_mirror"
BUILD_DATE="2020-02-11 23:47:31 +0000"

FLOCK_OS="centos"
FLOCK_JOB="STX_build_layer_flock_master_master"
FLOCK_BUILD_BY="starlingx.build at cengn.ca"
FLOCK_BUILD_NUMBER="16"
FLOCK_BUILD_HOST="starlingx_mirror"
FLOCK_BUILD_DATE="2020-02-11 23:47:31 +0000"

DISTRO_OS="centos"
DISTRO_JOB="STX_build_layer_distro_master_master"
DISTRO_BUILD_BY="starlingx.build at cengn.ca"
DISTRO_BUILD_NUMBER="16"
DISTRO_BUILD_HOST="starlingx_mirror"
DISTRO_BUILD_DATE="2020-02-11 21:55:36 +0000"

COMPILER_OS="centos"
COMPILER_JOB="STX_build_layer_compiler_master_master"
COMPILER_BUILD_BY="starlingx.build at cengn.ca"
COMPILER_BUILD_NUMBER="30"
COMPILER_BUILD_HOST="starlingx_mirror"
COMPILER_BUILD_DATE="2020-02-11 21:03:51 +0000"


However I note cengn didn't generate the content as expected.  I'll be 
working to fix this today.


Next steps:

1) Set up the layered jobs to run nightly

2) Modify the layered build jobs to only run if there is a code change.

There is some question as to should an upper layer rebuild occur if a 
lower layer was rebuilt, even though there is no code delta.

I argue yes,  If a compiler layer component changes, I think everything 
should be rebuilt with the new tools.  Also a flock layer component 
might change an api, an include file, etc. and publish it via a dev 
package.  We could try to tease out if the upper layer is using a dev 
package that has been upversioned by a lower layer, but for a first pass 
I'd suggest we just rebuild of a lower layer has been updated.

The argument against hinges largely on the flock layer containing little 
if any compiled code.  e.g. Python and Go rather than C or C++.  I'll 
concede that point.

However a change to compile layer, say 'rpm' or 'python' should be 
picked up right away. All layers should use the same packaging tools.  
All python packages should be validated vs the updated interpreter.

3) There has been a suggestion to move iso and container builds out of 
the flock layer job into an independent job.

The argument for moving the iso build into a separate job hinges on the 
assumption that a lower layer can be rebuilt without triggering a 
rebuild of the upper layer.

The argument to move docker images into an independent layer is a much 
stronger one.  Most images are pulling a lot, if not all, of there 
content from external sources.  We might want to pick up new content in 
a docker image even though the flock layer is unchanged.






On 2020-02-11 6:47 p.m., Jones, Bruce E wrote:
> This is very cool.  I just merged the Docs changes.
>
>             brucej
>
> -----Original Message-----
> From: Saul Wold [mailto:sgw at linux.intel.com]
> Sent: Tuesday, February 11, 2020 3:51 PM
> To: starlingx-discuss at lists.starlingx.io
> Subject: Re: [Starlingx-discuss] [important] Build layering has merged
>
> Thanks to Scott and Martin along with a cast of other merged.  This should be a major improvement for folks working on building and testing changes in StarlingX.
>
> Sau!
>
> On 2/11/20 2:10 PM, Scott Little wrote:
>> The build layering feature has merged.
>>
>> The documentation review is still outstanding, hopefully merged soon:
>> https://review.opendev.org/#/c/705092/5
>>
>> CENGN will build in both layered and non-layered mode for a few days.
>>
>> The one are where things are significantly different is the location
>> of lst files, and the fact that each layer carries an independent set
>> of lst files.  Read the doc.  I'll try to incorporate any Q/A into
>> future revisions to the document.
>>
>> Scott
>>
>>
>>
>>
>> _______________________________________________
>> Starlingx-discuss mailing list
>> Starlingx-discuss at lists.starlingx.io
>> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
> _______________________________________________
> Starlingx-discuss mailing list
> Starlingx-discuss at lists.starlingx.io
> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss
> _______________________________________________
> Starlingx-discuss mailing list
> Starlingx-discuss at lists.starlingx.io
> http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.starlingx.io/pipermail/starlingx-discuss/attachments/20200212/36401a01/attachment-0001.html>


More information about the Starlingx-discuss mailing list