diff options
| author | Scott Moser <smoser@ubuntu.com> | 2018-07-23 17:29:30 +0000 | 
|---|---|---|
| committer | Server Team CI Bot <josh.powers+server-team-bot@canonical.com> | 2018-07-23 17:29:30 +0000 | 
| commit | 6a9e576a204c36ba29e05da2bb265d1d6ed12b22 (patch) | |
| tree | 1d634a79f42ebe1b2454261fc339cbe0574a68ce | |
| parent | 2a9d6203d946484cbe24297fe0e48a42a800756a (diff) | |
| download | vyos-cloud-init-6a9e576a204c36ba29e05da2bb265d1d6ed12b22.tar.gz vyos-cloud-init-6a9e576a204c36ba29e05da2bb265d1d6ed12b22.zip | |
tests: Collect build_info from system if available.
This adds a script to always get the /etc/cloud/build.info file
if it exists, and a hook when preparing the image to log the information
if it is available.
INFO - setting up ubuntu-cosmic (build_name=server serial=20180718)
This is just useful for debug and reproduce.
| -rw-r--r-- | tests/cloud_tests/setup_image.py | 10 | ||||
| -rw-r--r-- | tests/cloud_tests/testcases.yaml | 4 | 
2 files changed, 13 insertions, 1 deletions
| diff --git a/tests/cloud_tests/setup_image.py b/tests/cloud_tests/setup_image.py index 4e195709..39f4517f 100644 --- a/tests/cloud_tests/setup_image.py +++ b/tests/cloud_tests/setup_image.py @@ -4,6 +4,7 @@  from functools import partial  import os +import yaml  from tests.cloud_tests import LOG  from tests.cloud_tests import stage, util @@ -220,7 +221,14 @@ def setup_image(args, image):      calls = [partial(stage.run_single, desc, partial(func, args, image))               for name, func, desc in handlers if getattr(args, name, None)] -    LOG.info('setting up %s', image) +    try: +        data = yaml.load(image.read_data("/etc/cloud/build.info", decode=True)) +        info = ' '.join(["%s=%s" % (k, data.get(k)) +                         for k in ("build_name", "serial") if k in data]) +    except Exception as e: +        info = "N/A (%s)" % e + +    LOG.info('setting up %s (%s)', image, info)      res = stage.run_stage(          'set up for {}'.format(image), calls, continue_after_error=False)      return res diff --git a/tests/cloud_tests/testcases.yaml b/tests/cloud_tests/testcases.yaml index a16d1ddf..fb9a5d27 100644 --- a/tests/cloud_tests/testcases.yaml +++ b/tests/cloud_tests/testcases.yaml @@ -27,6 +27,10 @@ base_test_data:          package-versions: |              #!/bin/sh              dpkg-query --show +        build.info: | +            #!/bin/sh +            binfo=/etc/cloud/build.info +            [ -f "$binfo" ] && cat "$binfo" || echo "N/A"          system.journal.gz: |              #!/bin/sh              [ -d /run/systemd ] || { echo "not systemd."; exit 0; } | 
