[Starlingx-discuss] about cherry-pick a patch from OpenStack upstream for testing issue in StarlingX

Penney, Don Don.Penney at windriver.com
Fri Jul 19 18:03:42 UTC 2019


For updating an image for testing, take a look at:
https://wiki.openstack.org/wiki/StarlingX/Containers/BuildingImages#Incremental_Image_Updates

As Dean notes, clone the repo and cherry-pick the commit, and then do something like:

time bash -x ${MY_REPO}/build-tools/build-docker-images/update-stx-image.sh \
    --from starlingx/stx-nova:master-centos-stable-20190715T233000Z.0 \
    --module-src ${path_to_cloned_repo}/stx-nova


ie:

# clone stx-nova, get stx/stein.2
cd /localdisk/loadbuild/dpenney/
mkdir nova-update
cd nova-update/
git clone https://github.com/starlingx-staging/stx-nova.git
cd stx-nova/
git fetch https://github.com/starlingx-staging/stx-nova.git stx/stein.2
git checkout FETCH_HEAD

# cherry-pick update
git fetch https://review.opendev.org/openstack/nova refs/changes/69/651969/13 && git cherry-pick FETCH_HEAD

# Fix up conflicts, etc

# Build updated image, from 20190715T233000Z build as base,
# specifying cloned/modified repo
time bash -x ${MY_REPO}/build-tools/build-docker-images/update-stx-image.sh \
    --from starlingx/stx-nova:master-centos-stable-20190715T233000Z.0 \
    --module-src /localdisk/loadbuild/dpenney/nova-update/stx-nova \
    --user dpenney


This produces an updated image in the local registry:
Updated image: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1

If you also set a registry with --registry and use the --push option, the command will push the updated image to that registry.

This also produces an image record file:
$ cat ${MY_WORKSPACE}/std/update-images/unnamed-update/image-updates.lst
dpenney/stx-nova:master-centos-stable-20190715T233000Z.1


Which you can pass as an argument to build-helm-charts.sh when building your application tarball for testing:

build-helm-charts.sh \
    --image-record http://mirror.starlingx.cengn.ca/mirror/starlingx/master/centos/latest_docker_image_build/outputs/docker-images/images-centos-stable-versioned.lst \
    --image-record ${MY_WORKSPACE}/std/update-images/unnamed-update/image-updates.lst \
    --label centos-stable-versioned



If you look at the yaml file in the tarball, you can see that it now references the updated image:

$ tar xzf ${MY_WORKSPACE}/std/build-helm/stx/stx-openstack-1.0-17-centos-stable-versioned.tgz -O ./stx-openstack.yaml | grep stx-nova:
        nova_api: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_cell_setup: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_compute: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_compute_ironic: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_compute_ssh: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_conductor: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_consoleauth: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_db_sync: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_novncproxy: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_placement: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_scheduler: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_spiceproxy: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1
        nova_spiceproxy_assets: dpenney/stx-nova:master-centos-stable-20190715T233000Z.1





-----Original Message-----
From: Dean Troyer [mailto:dtroyer at gmail.com] 
Sent: Friday, July 19, 2019 1:08 PM
To: starlingx-discuss at lists.starlingx.io
Cc: zhu.boxiang at 99cloud.net
Subject: Re: [Starlingx-discuss] about cherry-pick a patch from OpenStack upstream for testing issue in StarlingX

On Fri, Jul 19, 2019 at 10:57 AM Yong Hu <yong.hu at intel.com> wrote:
> For LP[0], there is a patch (https://review.opendev.org/#/c/651969/) in
> Nova upstream, what's the method/process for StarlingX to cherry-pick it
> for testing a LP reported in StarlingX?
>
> [0]:https://bugs.launchpad.net/starlingx/+bug/1820882

At a high level you would clone the stx-nova repo stx/stein.2 branch
[0] and cherry-pick/backport the commit you want to test, and rebuild
the Nova docker image and test that.

I do have some Zuul jobs in starlingx/tis-repo that will pull that
Nova branch and run the unit, functional and pep8 tox jobs to test in
OpenStack CI.

Given that the stx/stein branches also carry the NUMA live migration
patches you would probably want to do whatever other live migration
testing would be done upstream to validate this in the StarlingX
context.

dt

[0] https://github.com/starlingx-staging/stx-nova/tree/stx/stein.2

-- 
Dean Troyer
dtroyer at gmail.com

_______________________________________________
Starlingx-discuss mailing list
Starlingx-discuss at lists.starlingx.io
http://lists.starlingx.io/cgi-bin/mailman/listinfo/starlingx-discuss


More information about the Starlingx-discuss mailing list