Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(POC) (8) Create inception-based testing for libvirt functionality #158

Closed
herlo opened this issue Feb 21, 2017 · 3 comments
Closed

(POC) (8) Create inception-based testing for libvirt functionality #158

herlo opened this issue Feb 21, 2017 · 3 comments
Assignees
Milestone

Comments

@herlo
Copy link
Contributor

herlo commented Feb 21, 2017

Because linch-pin now has a plugin for libvirt provisioning, additional libraries must be installed. It seems it may be unreasonable to expect a jenkins (or other CI) to be willing to install libvirt on a node which they control. To that end, testing the libvirt plugin in linch-pin may require a bit of inception-based testing.

The concept is as follows:

  1. Provision a single node from a CI slave using another plugin (duffy, ec2, openstack). Alternatively, a container could be provisioned, instead?
  2. Use an ansible playbook to connect to the single node to provision via libvirt and perform tests
  3. ????
  4. Profit
@arilivigni
Copy link
Member

Yes this is pretty much we discussed here in the office:

  1. Provision duffy node
  2. Checkout PR of linch-pin on slave (same as today)
  3. Run playbook on duffy node that is in linch-pin/tests/playbook does the following:
    • Pass sha1 to playbook
    • Build and execute tests in a venv
    • Copy xunit results to slave workspace
  4. Archive test results (same as today)
  5. publish test results (same as today)

Tasks:
1, 2 and 3 need to be created and JJB updated

@herlo herlo added this to the v1.0.0 milestone Feb 21, 2017
@herlo herlo changed the title Create inception-based testing for libvirt functionality (POC) (8) Create inception-based testing for libvirt functionality Apr 4, 2017
@herlo herlo self-assigned this Apr 4, 2017
@herlo herlo modified the milestones: v1.1.0, v1.0.0 May 24, 2017
@herlo
Copy link
Contributor Author

herlo commented May 24, 2017

After conversations here at PyCon, I discovered an easy way to implement this by adjusting the host value. After provisioning the first node, modify linchpin/provision/hosts to represent localhost as a remote node. From there, run linchpin again to configure and provision libvirt machines on the remote node. The useful part is to abuse the hosts file feature which allows us to first run on localhost to provision a node, then run on localhost to provision a vm on the remote node.

@herlo herlo modified the milestones: v1.1, v1.2 Sep 13, 2017
@herlo herlo modified the milestones: v1.2, v1.5 Nov 17, 2017
@herlo
Copy link
Contributor Author

herlo commented Dec 12, 2017

@p3ck has created this with the Dockerfile tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants