Project

General

Profile

Feature #4564

Run ttcn-3 testsuite with centos packages

Added by osmith 11 months ago. Updated 11 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
05/25/2020
Due date:
% Done:

100%

Spec Reference:

Related issues

Related to Cellular Network Infrastructure - Feature #4550: Integrate RPM spec files into Osmocom repositories and build them on OBSResolved05/13/2020

Related to Cellular Network Infrastructure - Bug #4569: TTCN3-centos8: netcat doesn't startRejected05/29/2020

Associated revisions

Revision c4298de7 (diff)
Added by osmith 11 months ago

centos8-build: new image

Create centos8-build similar to debian-stretch-build, as preparation for
ttcn-3 tests on centos 8.

Related: OS#4564
Change-Id: Ide1e88c92b7ac301f0ea8ca110c1b2eb43f9d5ad

Revision 061efaf6 (diff)
Added by osmith 11 months ago

docker_images_require: build depends too

Add a function to automatically resolve the most common dependencies,
osmo-* need debian-stretch-build and ttcn3-* need debian-stretch-titan.
Do this in a shell function in jenkins-common.sh, so we can extend it in
the next patch with distribution specific dependencies (osmo-*-centos8
needs centos8-build).

Related: OS#4564
Change-Id: I98760c6dc3206529c0e267338c9f6f8e1d5be33a

Revision 5505b95a (diff)
Added by osmith 11 months ago

ttcn3-*-test: remove implicit dependencies

Don't list debian-stretch-build and debian-stretch-titan as dependencies
anymore, now that docker_images_require finds them automatically.

Related: OS#4564
Change-Id: I3cb6b693f3dd9df84fb29c0217bb3dae454cc18f

Revision 2a628add (diff)
Added by osmith 11 months ago

make/Makefile: add DISTRO argument

Prepare for distro-specific osmo-* images. While at it, put each
--build-arg on a separate line for readability.

Related: OS#4564
Change-Id: I1bf1c46295035a073e440faea3696ce53e7d7985

Revision 3e3a2986 (diff)
Added by osmith 11 months ago

jenkins-common.sh: support osmo-*-centos8 images

Make it possible to call the ttcn3-*/jenkins.sh scripts with:
IMAGE_SUFFIX="master-centos8"

The existing docker_images_require lines of these jenkins.sh scripts
will then call docker_images_require with arguments like
"osmo-mgw-master-centos8". For example, from ttcn3-mgw-test/jenkins.sh:

docker_images_require \
"osmo-mgw-$IMAGE_SUFFIX" \
"ttcn3-mgw-test"

Let docker_images_require build the image from
osmo-mgw-master/Dockerfile (-centos8 is cut off from the dirname) and
with DISTRO=centos8 as argument.

Collisions with the debian-stretch images are avoided by setting IMAGE
to the full image name (e.g. osmo-mgw-master-centos8).

Related: OS#4564
Change-Id: I598a262fe1a7ed4dd89e13c53e4ded103c6e3b91

Revision 9913f389 (diff)
Added by osmith 11 months ago

osmo-*-master: support centos8

Adjust the Dockerfiles, so 'docker_images_require osmo-mgw-master-centos8'
etc. result in a centos8 based image. centos8-build already configures the
Osmocom nightly repository, so we only need to configure it for
debian-stretch.

Related: OS#4564
Change-Id: I6579748056ce0505304378b342a698b98c77fd18

History

#1 Updated by osmith 11 months ago

  • Related to Feature #4550: Integrate RPM spec files into Osmocom repositories and build them on OBS added

#2 Updated by osmith 11 months ago

Concept:
  • in relevant Dockerfiles, put "RUN if ... else ..." for the distro-specific stuff (installing packages etc.)
  • configs and common code for compilation etc. don't need to be duplicated that way
  • add the DISTRO variable to the jenkins.sh scripts that start the testuites
  • modify the jenkins job builder configs to set the DISTRO variable, to debian-stretch and to centos8.
  • for centos8, new jenkins jobs should appear. For example:
    • ttcn3-bts-test (existing)
    • ttcn3-bts-test-latest (existing)
    • ttcn3-bts-test-centos8 (new)
    • ttcn3-bts-test-latest-centos8 (new)

laforge: sounds good?

#3 Updated by osmith 11 months ago

ttcn3-bts-test-latest-centos8

there are no -latest centos8 packages yet, so these should probably be disabled for now.

#4 Updated by osmith 11 months ago

  • Tracker changed from Bug to Feature

#5 Updated by laforge 11 months ago

osmith wrote:

Concept:
  • in relevant Dockerfiles, put "RUN if ... else ..." for the distro-specific stuff (installing packages etc.)
  • configs and common code for compilation etc. don't need to be duplicated that way
  • add the DISTRO variable to the jenkins.sh scripts that start the testuites
  • modify the jenkins job builder configs to set the DISTRO variable, to debian-stretch and to centos8.

makes all sense

  • for centos8, new jenkins jobs should appear. For example:
    • ttcn3-bts-test (existing)
    • ttcn3-bts-test-latest (existing)
    • ttcn3-bts-test-centos8 (new)
    • ttcn3-bts-test-latest-centos8 (new)

let's put those jobs in a new group/folder, something like TTCN3-centos8

#6 Updated by osmith 11 months ago

  • Status changed from New to In Progress
  • % Done changed from 0 to 60

#7 Updated by osmith 11 months ago

  • % Done changed from 60 to 80

On my laptop, I have it working for ttcn3-mgw-tests, the tests are passing. I should be able to finish this with a few more hours tomorrow.

The important logical changes are done, rest is polishing and rolling it out to all containers (not just osmo-mgw):

Here's a jenkins job for testing, but it needs the osmo-ttcn3-hacks patch to function, so it's currently failing.
https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-centos8-mgw-test/

#8 Updated by osmith 11 months ago

  • Related to Bug #4569: TTCN3-centos8: netcat doesn't start added

#9 Updated by osmith 11 months ago

  • Status changed from In Progress to Resolved
  • % Done changed from 80 to 100

Patches are reviewed and merged, and the ttcn-3 testsuites are running for centos8 every day now.

https://jenkins.osmocom.org/jenkins/view/TTCN3-centos/

These testsuites are running correctly:

  • TTCN3-centos-bsc-test-sccplite
  • TTCN3-centos-bts-test
  • TTCN3-centos-ggsn-test
  • TTCN3-centos-hlr-test
  • TTCN3-centos-msc-test
  • TTCN3-centos-pcu-test
  • TTCN3-centos-pcu-test-sns
  • TTCN3-centos-sgsn-test
  • TTCN3-cenots-stp-test

Failing testsuites:

Another unrelated problem are failures on admin2-deb9build, maybe they can simply be resolved by restarting the lxc container: https://osmocom.org/issues/4567

(On a side note, I've renamed the tests from TTCN3-centos8-* to TTCN3-centos-*, because I had created one job with jenkins job builder, then deleted it in the UI and then jenkins job builder did not recreate it anymore, although it should. Debugging why this is the case etc. did not seem like a good use of time at this point, so I did the rename.)

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 48.8 MB)