diff mbox

[OSSTEST,v8,0/3] Have OpenStack tested on top of xen's master and libvirt's master.

Message ID 20161124181412.18266-1-anthony.perard@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Anthony PERARD Nov. 24, 2016, 6:14 p.m. UTC
Hi,

I have looked into getting OpenStack been tested on the latest Xen via
osstest.

The ts-openstack-deploy script does prepare a bit more the host, clone
devstack and other OpenStack trees, then run ./stack.sh, which is a bit
like raisin and deploy OpenStack on the host. Once the machine is ready,
the integration test suite from OpenStack, Tempest, is started by
ts-openstack-tempest.

Thanks.

Changes in V8:
  - few coding style fixes
  - fix flight generation

Changes in V7:
  - few changes detailed in patches

Changes in V6:
  - rebased
  - fix ts-openstack-deploy script to work with newer devstach and new debian.

Change in V5:
  - on small change in patch 1, but I keeped the acked-by
  - few changes in the way the flight is created (in the last patch)

Change in V4:
  few changes listed in second and third patch, mostly cleanup.

Change in V3:
  - Track Nova tree instead of devstack.
      Nova is the service we care about from a Xen point of view.
      Also it is updated much more often than devstack.
  - Cleanups, see change log in patches.

Changes in V2:
  - no more Osstest::Toolstack::OpenStack.
  - osstest now clone every single tree that devstack is going to need.
    And ./stack.sh should fail if one tree is missing.
  - avoid build-*-xsm for an openstack flight
  - rename ts-devstack to ts-openstack-devstack
  - New test script ts-openstack-tempest
  - Add CONFIG_CRYPTO_XTS=m to the kernel build.
  - new possible runvar $dom0_mem to control dom0 memory
  - several fix to have volume tests working.
  - have OpenStack deploy from it's builddir instead of /opt/stack
  - have 4GB for dom0 instead of relying on balloning.

Run of AP_FETCH_PLACEHOLDERS=y ./standalone-generate-dump-flight-runvars on
master (5d88d6299618f6bce204d82579392a76028fb8cd) vs this patch series:


Anthony PERARD (3):
  ts-openstack-deploy: Deploy OpenStack on a host with devstack
  ts-openstack-tempest: Run Tempest to check OpenStack
  Create a flight to test OpenStack with xen-unstable and libvirt

 ap-common            |  18 +++++++
 ap-fetch-version     |   4 ++
 ap-fetch-version-old |   5 ++
 ap-print-url         |   3 ++
 ap-push              |   5 ++
 cr-daily-branch      |   8 +++
 cr-for-branches      |   2 +-
 cri-common           |   1 +
 make-flight          |  51 ++++++++++++++++++-
 sg-run-job           |   6 +++
 ts-openstack-deploy  | 137 +++++++++++++++++++++++++++++++++++++++++++++++++++
 ts-openstack-tempest |  64 ++++++++++++++++++++++++
 12 files changed, 302 insertions(+), 2 deletions(-)
 create mode 100755 ts-openstack-deploy
 create mode 100755 ts-openstack-tempest

Comments

Anthony PERARD Dec. 12, 2016, 12:20 p.m. UTC | #1
ping?
Ian Jackson Dec. 12, 2016, 4:51 p.m. UTC | #2
Anthony PERARD writes ("[OSSTEST PATCH v8 0/3] Have OpenStack tested on top of xen's master and libvirt's master."):
> I have looked into getting OpenStack been tested on the latest Xen via
> osstest.
> Run of AP_FETCH_PLACEHOLDERS=y ./standalone-generate-dump-flight-runvars on
> master (5d88d6299618f6bce204d82579392a76028fb8cd) vs this patch series:

Thanks.  I'm afraid that has prompted some nontrivial questions and
comments:

The way you have done things, the test-amd64-amd64-devstack job will
run on a Xen dom0 installed by osstest.  Does this devstack test
expect to be run in such a context ?

It's quite anomalous that your test-* job is doing all the cloning and
building of things.  This is not a huge problem; there are only a
handful of places in osstest that have any "improper" knowledge of job
names, and for their purposes I think this is probably a "test" rather
than a "build".  (In particular, ts-hosts-allocate-Executive has some
different ideas about what would be a good host for a build.)

Most software, though, has a separate build and execute.  Maybe
tempest doesn't do that, in which case fine.  (Sorry if I have asked
this question before...)

+openstack-nova             test-amd64-amd64-devstack     all_host_suite          jessie
+openstack-nova             test-amd64-amd64-devstack     all_hostflags           arch-amd64,arch-xen-amd64,suite-jessie,purpose-test

This does not request a host capable of HVM.  Is that right ?
(In practice all our x86 hosts are capable of HVM so this may not
matter.)

+openstack-nova             test-amd64-amd64-devstack     revision_cinder
+openstack-nova             test-amd64-amd64-devstack     revision_devstack
+openstack-nova             test-amd64-amd64-devstack     revision_glance
+openstack-nova             test-amd64-amd64-devstack     revision_keystone
+openstack-nova             test-amd64-amd64-devstack     revision_nova           ap-fetch-version:openstack-nova
+openstack-nova             test-amd64-amd64-devstack     revision_requirements
+openstack-nova             test-amd64-amd64-devstack     revision_tempest

These openstack components ought not to live in the global namespace.
I would like you to prefix all of these runvars with `openstack'.  So,
revision_openstack_cinder etc.  Cf revison_rumprun_something.

Thinking about it, I think you should probably do the same with the
corresponding shell environment variables.

+openstack-nova             test-amd64-amd64-devstack     toolstack               libvirt
+openstack-nova             test-amd64-amd64-devstack     tree_cinder             git://git.openstack.org/openstack/cinder.git
+openstack-nova             test-amd64-amd64-devstack     tree_devstack           git://git.openstack.org/openstack-dev/devstack.git
+openstack-nova             test-amd64-amd64-devstack     tree_glance             git://git.openstack.org/openstack/glance.git
+openstack-nova             test-amd64-amd64-devstack     tree_keystone           git://git.openstack.org/openstack/keystone.git
+openstack-nova             test-amd64-amd64-devstack     tree_nova               git://git.openstack.org/openstack/nova.git
+openstack-nova             test-amd64-amd64-devstack     tree_requirements       git://git.openstack.org/openstack/requirements.git
+openstack-nova             test-amd64-amd64-devstack     tree_tempest            git://git.openstack.org/openstack/tempest.git

I notice that you have not created an openstack job in the other
branches.  Is that deliberate ?

Why no ARM jobs ?

Ian.
Anthony PERARD Dec. 12, 2016, 5:25 p.m. UTC | #3
On Mon, Dec 12, 2016 at 04:51:47PM +0000, Ian Jackson wrote:
> Anthony PERARD writes ("[OSSTEST PATCH v8 0/3] Have OpenStack tested on top of xen's master and libvirt's master."):
> > I have looked into getting OpenStack been tested on the latest Xen via
> > osstest.
> > Run of AP_FETCH_PLACEHOLDERS=y ./standalone-generate-dump-flight-runvars on
> > master (5d88d6299618f6bce204d82579392a76028fb8cd) vs this patch series:
> 
> Thanks.  I'm afraid that has prompted some nontrivial questions and
> comments:
> 
> The way you have done things, the test-amd64-amd64-devstack job will
> run on a Xen dom0 installed by osstest.  Does this devstack test
> expect to be run in such a context ?

In a Xen dom0? Yes.

> It's quite anomalous that your test-* job is doing all the cloning and
> building of things.  This is not a huge problem; there are only a
> handful of places in osstest that have any "improper" knowledge of job
> names, and for their purposes I think this is probably a "test" rather
> than a "build".  (In particular, ts-hosts-allocate-Executive has some
> different ideas about what would be a good host for a build.)
> 
> Most software, though, has a separate build and execute.  Maybe
> tempest doesn't do that, in which case fine.  (Sorry if I have asked
> this question before...)

Well, OpenStack been all python, there is nothing to build. So devstack
is mostly doing configuration and start services, I think.

> +openstack-nova             test-amd64-amd64-devstack     all_host_suite          jessie
> +openstack-nova             test-amd64-amd64-devstack     all_hostflags           arch-amd64,arch-xen-amd64,suite-jessie,purpose-test
> 
> This does not request a host capable of HVM.  Is that right ?
> (In practice all our x86 hosts are capable of HVM so this may not
> matter.)

I think that fine for now, this flight is only going to start PV guests.

> +openstack-nova             test-amd64-amd64-devstack     revision_cinder
> +openstack-nova             test-amd64-amd64-devstack     revision_devstack
> +openstack-nova             test-amd64-amd64-devstack     revision_glance
> +openstack-nova             test-amd64-amd64-devstack     revision_keystone
> +openstack-nova             test-amd64-amd64-devstack     revision_nova           ap-fetch-version:openstack-nova
> +openstack-nova             test-amd64-amd64-devstack     revision_requirements
> +openstack-nova             test-amd64-amd64-devstack     revision_tempest
> 
> These openstack components ought not to live in the global namespace.
> I would like you to prefix all of these runvars with `openstack'.  So,
> revision_openstack_cinder etc.  Cf revison_rumprun_something.
> 
> Thinking about it, I think you should probably do the same with the
> corresponding shell environment variables.

Will do.

> +openstack-nova             test-amd64-amd64-devstack     toolstack               libvirt
> +openstack-nova             test-amd64-amd64-devstack     tree_cinder             git://git.openstack.org/openstack/cinder.git
> +openstack-nova             test-amd64-amd64-devstack     tree_devstack           git://git.openstack.org/openstack-dev/devstack.git
> +openstack-nova             test-amd64-amd64-devstack     tree_glance             git://git.openstack.org/openstack/glance.git
> +openstack-nova             test-amd64-amd64-devstack     tree_keystone           git://git.openstack.org/openstack/keystone.git
> +openstack-nova             test-amd64-amd64-devstack     tree_nova               git://git.openstack.org/openstack/nova.git
> +openstack-nova             test-amd64-amd64-devstack     tree_requirements       git://git.openstack.org/openstack/requirements.git
> +openstack-nova             test-amd64-amd64-devstack     tree_tempest            git://git.openstack.org/openstack/tempest.git
> 
> I notice that you have not created an openstack job in the other
> branches.  Is that deliberate ?

Yes.

> Why no ARM jobs ?

I don't know if it is going to work, probably not. There probably going
to be missing packages (dependencies) and it maybe not going to be able
to start a guest, if devstart does not get the right guest image.
Ian Jackson Dec. 12, 2016, 5:38 p.m. UTC | #4
Anthony PERARD writes ("Re: [OSSTEST PATCH v8 0/3] Have OpenStack tested on top of xen's master and libvirt's master."):
> On Mon, Dec 12, 2016 at 04:51:47PM +0000, Ian Jackson wrote:
> > The way you have done things, the test-amd64-amd64-devstack job will
> > run on a Xen dom0 installed by osstest.  Does this devstack test
> > expect to be run in such a context ?
> 
> In a Xen dom0? Yes.

Right, OK, good.

> Well, OpenStack been all python, there is nothing to build. So devstack
> is mostly doing configuration and start services, I think.

Ah.  OK.

> > These openstack components ought not to live in the global namespace.
> > I would like you to prefix all of these runvars with `openstack'.  So,
> > revision_openstack_cinder etc.  Cf revison_rumprun_something.
> > 
> > Thinking about it, I think you should probably do the same with the
> > corresponding shell environment variables.
> 
> Will do.

Thanks.  Sorry for not noticing this sooner.

> > I notice that you have not created an openstack job in the other
> > branches.  Is that deliberate ?
> 
> Yes.

OK, fine.

> > Why no ARM jobs ?
> 
> I don't know if it is going to work, probably not. There probably going
> to be missing packages (dependencies) and it maybe not going to be able
> to start a guest, if devstart does not get the right guest image.

I'm not sure these are good reasons not to try to support ARM.

A failing test, with a promise that the system would detect
regressions if the test were made to pass, is a good incentive :-).

Ian.
diff mbox

Patch

--- master ./standalone-generate-dump-flight-runvars
+++ openstack-patch-v8 ./standalone-generate-dump-flight-runvars
@@ -7742,6 +7742,118 @@ 
 linux-arm-xen              test-armhf-armhf-xl-rtds       xenbuildjob             build-armhf
 linux-arm-xen              test-armhf-armhf-xl-vhd        xenbuildjob             build-armhf
 linux-arm-xen              test-armhf-armhf-xl-xsm        xenbuildjob             build-armhf-xsm
+openstack-nova             build-amd64                   all_host_di_version     current
+openstack-nova             build-amd64-libvirt           all_host_di_version     current
+openstack-nova             build-amd64-pvops             all_host_di_version     current
+openstack-nova             build-amd64-xsm               all_host_di_version     current
+openstack-nova             test-amd64-amd64-devstack     all_host_di_version     current
+openstack-nova             test-amd64-amd64-devstack-xsm all_host_di_version     current
+openstack-nova             build-amd64                   all_host_suite          jessie
+openstack-nova             build-amd64-libvirt           all_host_suite          jessie
+openstack-nova             build-amd64-pvops             all_host_suite          jessie
+openstack-nova             build-amd64-xsm               all_host_suite          jessie
+openstack-nova             test-amd64-amd64-devstack     all_host_suite          jessie
+openstack-nova             test-amd64-amd64-devstack-xsm all_host_suite          jessie
+openstack-nova             test-amd64-amd64-devstack     all_hostflags           arch-amd64,arch-xen-amd64,suite-jessie,purpose-test
+openstack-nova             test-amd64-amd64-devstack-xsm all_hostflags           arch-amd64,arch-xen-amd64,suite-jessie,purpose-test
+openstack-nova             build-amd64                   arch                    amd64
+openstack-nova             build-amd64-libvirt           arch                    amd64
+openstack-nova             build-amd64-pvops             arch                    amd64
+openstack-nova             build-amd64-xsm               arch                    amd64
+openstack-nova             test-amd64-amd64-devstack     arch                    amd64
+openstack-nova             test-amd64-amd64-devstack-xsm arch                    amd64
+openstack-nova             build-amd64                   build_lvextend_max      50
+openstack-nova             build-amd64-libvirt           build_lvextend_max      50
+openstack-nova             build-amd64-pvops             build_lvextend_max      50
+openstack-nova             build-amd64-xsm               build_lvextend_max      50
+openstack-nova             build-amd64-libvirt           buildjob                build-amd64
+openstack-nova             test-amd64-amd64-devstack     buildjob                build-amd64
+openstack-nova             test-amd64-amd64-devstack-xsm buildjob                build-amd64-xsm
+openstack-nova             test-amd64-amd64-devstack     dom0_mem                4000
+openstack-nova             test-amd64-amd64-devstack-xsm dom0_mem                4000
+openstack-nova             build-amd64                   enable_ovmf             true
+openstack-nova             build-amd64-xsm               enable_ovmf             true
+openstack-nova             build-amd64                   enable_xend             false
+openstack-nova             build-amd64-xsm               enable_xend             false
+openstack-nova             build-amd64                   enable_xsm              false
+openstack-nova             build-amd64-xsm               enable_xsm              true
+openstack-nova             test-amd64-amd64-devstack     enable_xsm              false
+openstack-nova             test-amd64-amd64-devstack-xsm enable_xsm              true
+openstack-nova             build-amd64                   host_hostflags          share-build-jessie-amd64,arch-amd64,suite-jessie,purpose-build
+openstack-nova             build-amd64-libvirt           host_hostflags          share-build-jessie-amd64,arch-amd64,suite-jessie,purpose-build
+openstack-nova             build-amd64-pvops             host_hostflags          share-build-jessie-amd64,arch-amd64,suite-jessie,purpose-build
+openstack-nova             build-amd64-xsm               host_hostflags          share-build-jessie-amd64,arch-amd64,suite-jessie,purpose-build
+openstack-nova             build-amd64-pvops             kconfighow              xen-enable-xen-config
+openstack-nova             test-amd64-amd64-devstack     kernbuildjob            build-amd64-pvops
+openstack-nova             test-amd64-amd64-devstack-xsm kernbuildjob            build-amd64-pvops
+openstack-nova             test-amd64-amd64-devstack     kernkind                pvops
+openstack-nova             test-amd64-amd64-devstack-xsm kernkind                pvops
+openstack-nova             test-amd64-amd64-devstack     libvirtbuildjob         build-amd64-libvirt
+openstack-nova             test-amd64-amd64-devstack-xsm libvirtbuildjob         build-amd64-libvirt
+openstack-nova             test-amd64-amd64-devstack     revision_cinder
+openstack-nova             test-amd64-amd64-devstack-xsm revision_cinder
+openstack-nova             test-amd64-amd64-devstack     revision_devstack
+openstack-nova             test-amd64-amd64-devstack-xsm revision_devstack
+openstack-nova             test-amd64-amd64-devstack     revision_glance
+openstack-nova             test-amd64-amd64-devstack-xsm revision_glance
+openstack-nova             test-amd64-amd64-devstack     revision_keystone
+openstack-nova             test-amd64-amd64-devstack-xsm revision_keystone
+openstack-nova             build-amd64-libvirt           revision_libvirt        ap-fetch-version-baseline:libvirt
+openstack-nova             build-amd64-pvops             revision_linux          ap-fetch-version-baseline:linux
+openstack-nova             build-amd64-pvops             revision_linuxfirmware  ap-fetch-version-baseline:linuxfirmware
+openstack-nova             build-amd64                   revision_minios
+openstack-nova             build-amd64-xsm               revision_minios
+openstack-nova             test-amd64-amd64-devstack     revision_nova           ap-fetch-version:openstack-nova
+openstack-nova             test-amd64-amd64-devstack-xsm revision_nova           ap-fetch-version:openstack-nova
+openstack-nova             build-amd64                   revision_ovmf
+openstack-nova             build-amd64-xsm               revision_ovmf
+openstack-nova             build-amd64                   revision_qemu
+openstack-nova             build-amd64-xsm               revision_qemu
+openstack-nova             build-amd64                   revision_qemuu          ap-fetch-version-baseline:qemu-upstream-unstable
+openstack-nova             build-amd64-xsm               revision_qemuu          ap-fetch-version-baseline:qemu-upstream-unstable
+openstack-nova             test-amd64-amd64-devstack     revision_requirements
+openstack-nova             test-amd64-amd64-devstack-xsm revision_requirements
+openstack-nova             build-amd64                   revision_seabios
+openstack-nova             build-amd64-xsm               revision_seabios
+openstack-nova             test-amd64-amd64-devstack     revision_tempest
+openstack-nova             test-amd64-amd64-devstack-xsm revision_tempest
+openstack-nova             build-amd64                   revision_xen            ap-fetch-version-baseline:xen-unstable
+openstack-nova             build-amd64-xsm               revision_xen            ap-fetch-version-baseline:xen-unstable
+openstack-nova             test-amd64-amd64-devstack     toolstack               libvirt
+openstack-nova             test-amd64-amd64-devstack-xsm toolstack               libvirt
+openstack-nova             test-amd64-amd64-devstack     tree_cinder             git://git.openstack.org/openstack/cinder.git
+openstack-nova             test-amd64-amd64-devstack-xsm tree_cinder             git://git.openstack.org/openstack/cinder.git
+openstack-nova             test-amd64-amd64-devstack     tree_devstack           git://git.openstack.org/openstack-dev/devstack.git
+openstack-nova             test-amd64-amd64-devstack-xsm tree_devstack           git://git.openstack.org/openstack-dev/devstack.git
+openstack-nova             test-amd64-amd64-devstack     tree_glance             git://git.openstack.org/openstack/glance.git
+openstack-nova             test-amd64-amd64-devstack-xsm tree_glance             git://git.openstack.org/openstack/glance.git
+openstack-nova             test-amd64-amd64-devstack     tree_keystone           git://git.openstack.org/openstack/keystone.git
+openstack-nova             test-amd64-amd64-devstack-xsm tree_keystone           git://git.openstack.org/openstack/keystone.git
+openstack-nova             build-amd64-libvirt           tree_libvirt            git://xenbits.xen.org/libvirt.git
+openstack-nova             build-amd64-pvops             tree_linux              git://xenbits.xen.org/linux-pvops.git
+openstack-nova             build-amd64-pvops             tree_linuxfirmware      git://xenbits.xen.org/osstest/linux-firmware.git
+openstack-nova             build-amd64                   tree_minios
+openstack-nova             build-amd64-xsm               tree_minios
+openstack-nova             test-amd64-amd64-devstack     tree_nova               git://git.openstack.org/openstack/nova.git
+openstack-nova             test-amd64-amd64-devstack-xsm tree_nova               git://git.openstack.org/openstack/nova.git
+openstack-nova             build-amd64                   tree_ovmf
+openstack-nova             build-amd64-xsm               tree_ovmf
+openstack-nova             build-amd64                   tree_qemu               git://xenbits.xen.org/qemu-xen-traditional.git
+openstack-nova             build-amd64-xsm               tree_qemu               git://xenbits.xen.org/qemu-xen-traditional.git
+openstack-nova             build-amd64                   tree_qemuu              git://xenbits.xen.org/qemu-xen.git
+openstack-nova             build-amd64-xsm               tree_qemuu              git://xenbits.xen.org/qemu-xen.git
+openstack-nova             test-amd64-amd64-devstack     tree_requirements       git://git.openstack.org/openstack/requirements.git
+openstack-nova             test-amd64-amd64-devstack-xsm tree_requirements       git://git.openstack.org/openstack/requirements.git
+openstack-nova             build-amd64                   tree_seabios
+openstack-nova             build-amd64-xsm               tree_seabios
+openstack-nova             test-amd64-amd64-devstack     tree_tempest            git://git.openstack.org/openstack/tempest.git
+openstack-nova             test-amd64-amd64-devstack-xsm tree_tempest            git://git.openstack.org/openstack/tempest.git
+openstack-nova             build-amd64                   tree_xen                git://xenbits.xen.org/xen.git
+openstack-nova             build-amd64-libvirt           tree_xen                git://xenbits.xen.org/xen.git
+openstack-nova             build-amd64-xsm               tree_xen                git://xenbits.xen.org/xen.git
+openstack-nova             build-amd64-pvops             treevcs_linux           git
+openstack-nova             test-amd64-amd64-devstack     xenbuildjob             build-amd64
+openstack-nova             test-amd64-amd64-devstack-xsm xenbuildjob             build-amd64-xsm
 osstest                    build-amd64                                           all_host_di_version     current
 osstest                    build-amd64-libvirt                                   all_host_di_version     current
 osstest                    build-amd64-pvops                                     all_host_di_version     current