<feed xmlns='http://www.w3.org/2005/Atom'>
<title>vyos-cloud-init.git/tests/cloud_tests/instances, branch sagitta</title>
<subtitle> (mirror of https://github.com/marekm72/vyos-cloud-init.git)
</subtitle>
<id>https://git.amelek.net/marekm72/vyos-cloud-init.git/atom?h=sagitta</id>
<link rel='self' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/atom?h=sagitta'/>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/'/>
<updated>2017-12-05T22:05:29+00:00</updated>
<entry>
<title>tests: consolidate platforms into specific dirs</title>
<updated>2017-12-05T22:05:29+00:00</updated>
<author>
<name>Scott Moser</name>
<email>smoser@brickies.net</email>
</author>
<published>2017-12-05T22:05:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=47016791ca5e97d80e45d3f100bc4e5d0b88627d'/>
<id>urn:sha1:47016791ca5e97d80e45d3f100bc4e5d0b88627d</id>
<content type='text'>
This groups up each test platform into its own directory rather
than having files spread between four different directories for
one platform. Platforms tend to be worked on one at a time and
so having the platforms together makes more sense than apart.
</content>
</entry>
<entry>
<title>tests: NoCloudKVMImage do not modify the original local cache image.</title>
<updated>2017-11-29T20:26:38+00:00</updated>
<author>
<name>Scott Moser</name>
<email>smoser@brickies.net</email>
</author>
<published>2017-11-29T20:26:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=88368f9851b29dddb5a12e4b21868cbdef906c5c'/>
<id>urn:sha1:88368f9851b29dddb5a12e4b21868cbdef906c5c</id>
<content type='text'>
The NoCloudKVMImage.execute() would modify the image in /srv/citest
that meant that after the first time you ran a test, the image was
dirty.

The change here is to make the image operate on a qcow backed image.

Also modify Snapshot to then copy the qcow rather
than creating another chained qcow. The reason being that the image
might go away or change after the snapshot has been returned.

Also
 * drop use of 'override_templates' which was only relevant to LXD.
 * NoCloudKVM.create_image() returned an instance before
   now it has create_instance which creates an instance.
 * NoCloudKVMInstance has a 'disk' attribute separate from 'name'
</content>
</entry>
<entry>
<title>Replace the temporary i9n.brickies.net with i9n.cloud-init.io.</title>
<updated>2017-11-09T21:57:23+00:00</updated>
<author>
<name>Scott Moser</name>
<email>smoser@brickies.net</email>
</author>
<published>2017-11-08T02:35:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=b6deb1d851100a79a89d3c66e74df7bc7efff68c'/>
<id>urn:sha1:b6deb1d851100a79a89d3c66e74df7bc7efff68c</id>
<content type='text'>
We had used some dns records in i9n.brickies.net (my personal domain)
as a temporary solution until we got names registered in the cloud-init.io
namespace.

We now have CNAME records for:
  ubuntu.i9n.cloud-init.io
  cloudinit1.cloud-init.io
  cloudinit2.cloud-init.io
</content>
</entry>
<entry>
<title>tests: address some minor feedback missed in last merge.</title>
<updated>2017-11-07T22:02:22+00:00</updated>
<author>
<name>Scott Moser</name>
<email>smoser@brickies.net</email>
</author>
<published>2017-11-07T22:02:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=7bb01ea3a04891bcfcdd8ffbbc6c799a923d8fb3'/>
<id>urn:sha1:7bb01ea3a04891bcfcdd8ffbbc6c799a923d8fb3</id>
<content type='text'>
3 things here:
 a.) link to a bug that we opened to track what made us add
     dns entries for hostname of our guests.
 b.) spelling fix.
 c.) raise an instance of a NotImplementedError not the class.
</content>
</entry>
<entry>
<title>tests: integration test cleanup and full pass of nocloud-kvm.</title>
<updated>2017-11-06T22:39:00+00:00</updated>
<author>
<name>Scott Moser</name>
<email>smoser@brickies.net</email>
</author>
<published>2017-11-06T22:39:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=8622491c29f30862a1a1d7ad2cba023981acc8ce'/>
<id>urn:sha1:8622491c29f30862a1a1d7ad2cba023981acc8ce</id>
<content type='text'>
Integration test harness changes:
 * Enable collection of console log in nocloud-kvm and lxd.
 * Collect the console log to results for all test runs.
 * change 'tmpfile' to pick name locally instead of using 'mktemp'.
 * drop the 'instance' attribute from nocloud-kvm Image and
   demote LXDImage.instance to a private attribute.
   This is because Images do not actually have instances.
   (LXDImage internally uses a booted system to modify the image).
 * Add 'TargetBase' as a superclass of Image and Instance providing
   implementations of execute, read_data, write_data, pull_file,
   and push_file. These all depend on an implementation of _execute.
 * Improve '_execute' implementations to support accepting stdin.
 * execute supports 'rcs=False' meaning 'do not raise exception'.
 * Drop support for pylxd &lt; 2.2. older versions cannot determine
   exit code of 'execute', which makes them unusable.
 * make NoCloudKVMInstance._execute run as root via sudo. This required
   some changes so that 'hostname' could be reverse-looked up in order
   to avoid sudo taking a long time (~20 seconds).
 * re-use existing ssh connection in nocloud-kvm.

Test changes here:
 * do not use /tmp, but rather /var/tmp (LP: #1707222)
 * make keys_to_console assertions more strict.
 * change user test cases to always add default (ubuntu) user
   so that nocloud-kvm's execute which operates over ssh can work.
</content>
</entry>
<entry>
<title>tests: remove dependency on shlex</title>
<updated>2017-09-25T20:48:59+00:00</updated>
<author>
<name>Joshua Powers</name>
<email>josh.powers@canonical.com</email>
</author>
<published>2017-09-21T17:16:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=fd57d50911b9d2a2012dbc2b84c64566b857ab4b'/>
<id>urn:sha1:fd57d50911b9d2a2012dbc2b84c64566b857ab4b</id>
<content type='text'>
This removes shlex and converts the subprocess commands to use a
list over a string.
</content>
</entry>
<entry>
<title>tests: Enable the NoCloud KVM platform</title>
<updated>2017-09-14T18:53:55+00:00</updated>
<author>
<name>Joshua Powers</name>
<email>josh.powers@canonical.com</email>
</author>
<published>2017-07-11T21:28:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=376168e251a1d4f2ee3643fed6092b8907f057ec'/>
<id>urn:sha1:376168e251a1d4f2ee3643fed6092b8907f057ec</id>
<content type='text'>
The NoCloud KVM platform includes:

  * Downloads daily Ubuntu images using streams and store in
    /srv/images
  * Image customization, if required, is done using
    mount-image-callback otherwise image is untouched
  * Launches KVM via the xkvm script, a wrapper around
    qemu-system, and sets custom port for SSH
  * Generation and inject an SSH (RSA 4096) key pair to use for
    communication with the guest to collect test artifacts
  * Add method to produce safe shell strings by base64 encoding
    the command

Additional Changes:

  * Set default backend to use LXD
  * Verify not running script as root in order to prevent images
    from becoming owned by root
  * Removed extra quotes around that were added when collecting
    the cloud-init version from the image
  * Added info about each release as previously the lxd backend
    was able to query that information from pylxd image info,
    however, other backends will not be able to obtain the same
    information as easily
</content>
</entry>
<entry>
<title>tests: execute: support command as string</title>
<updated>2017-09-14T01:16:43+00:00</updated>
<author>
<name>Joshua Powers</name>
<email>josh.powers@canonical.com</email>
</author>
<published>2017-09-11T17:29:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=1ac4bc2a4758d330bb94cd1b2391121cf461ff6a'/>
<id>urn:sha1:1ac4bc2a4758d330bb94cd1b2391121cf461ff6a</id>
<content type='text'>
If a string is passed to execute, then invoke 'bash', '-c',
'string'. That allows the less verbose execution of simple
commands:
  image.execute("ls /run")
compared to the more explicit but longer winded:
  image.execute(["ls", "/run"])

If 'env' was ever modified in execute or a method that it called,
then the next invocation's default value would be changed. Instead
use None and then set to a new empty dict in the method.
</content>
</entry>
<entry>
<title>Integration Testing: tox env, pyxld 2.2.3, and revamp framework</title>
<updated>2017-06-08T22:24:17+00:00</updated>
<author>
<name>Wesley Wiedenmeier</name>
<email>wesley.wiedenmeier@gmail.com</email>
</author>
<published>2017-06-08T22:23:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=76d58265e34851b78e952a7f275340863c90a9f5'/>
<id>urn:sha1:76d58265e34851b78e952a7f275340863c90a9f5</id>
<content type='text'>
Massive update to clean up and greatly enhance the integration testing
framework developed by Wesley Wiedenmeier.

 - Updated tox environment to run integration test 'citest' to utilize
   pylxd 2.2.3
 - Add support for distro feature flags
   - add framework for feature flags to release config with feature groups
     and overrides allowed in any release conf override level
   - add support for feature flags in platform and config handling
   - during collect, skip testcases that require features not supported by
     the image with a warning message
 - Enable additional distros (i.e. centos, debian)
 - Add 'bddeb' command to build a deb from the current working tree
   cleanly in a container, so deps do not have to be installed on host
 - Adds a command line option '--preserve-data' that ensures that
   collected data will be left after tests run. This also allows the
   directory to store collected data in during the run command to be
   specified using '--data-dir'.
 - Updated Read the Docs testing page and doc strings for pep 257
   compliance
</content>
</entry>
<entry>
<title>integration test: initial commit of integration test framework</title>
<updated>2016-12-22T22:41:39+00:00</updated>
<author>
<name>Wesley Wiedenmeier</name>
<email>wesley.wiedenmeier@gmail.com</email>
</author>
<published>2016-12-22T22:27:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.amelek.net/marekm72/vyos-cloud-init.git/commit/?id=f53fc46aa732e3b29991b3e5e39da31a722945ee'/>
<id>urn:sha1:f53fc46aa732e3b29991b3e5e39da31a722945ee</id>
<content type='text'>
The adds in end-to-end testing of cloud-init. The framework utilizes
LXD and cloud images as a backend to test user-data passed in.
Arbitrary data is then captured from predefined commands specified
by the user. After collection, data verification is completed by
running a series of Python unit tests against the collected data.

Currently only the Ubuntu Trusty, Xenial, Yakkety, and Zesty
releases are supported. Test cases for 50% of the modules is
complete and available.

Additionally a Read the Docs file was created to guide test
writing and execution.
</content>
</entry>
</feed>
