Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • clears up any dirty cobbler systems from previous runs
  • cleans up Puppet certificates of these systems. Puppet recipes will fail if puppetmaster finds an invalid certificate
  • starts up a new xenserver VM that will act as the mgmt server. we chose to keep things simple by launching the vm on a xenserver. one could employ jclouds via jenkins to deploy the mgmt server VM on a dogfooded cloudstack.
  • in parallel the deployment config of marvin is parsed through to find the hypervisors that need to be cleaned up, pxe booted and prepared for the CloudStack deployment.
  • all the hosts in the marvin config are pxe booted via ipmi and cobbler takes over to reimage them with the profile chosen by the jenkins job run.
  • while this is happening we also seed the secondary storage with the systemvm template reqd for the hypervisor.
  • all the primary stores in the marvin config are then cleaned for the next run.
  1. While cobbler is reimaging the hosts with the right profiles, the configure script waits until all hosts are reachable over ssh. It also checks for essential services (http, mysql) ports to come up. Cobbler once done with refreshing the machine hands over the reins to puppet.
  1. Puppet slaves within the machines in the environment reach out to puppetmaster to get their identity. mgmt server vm fetches its own recipe and starts configuring itself while hypervisors will do the same in case they need to be acting as KVM agents.
  1. When the essential ports for mgmt server - 8080 and 8096 are open and listening we know that the mgmt server has come up successfully. We then go ahead and deploy the configuration specified by marvin.
  1. After marvin finishes configuring the cloud - it performs a health check to see if the system is ready for running tests upon.
  1. Tests are run using the nose test runner with the marvin plugin and reports are recorded by jenkins.

Limitations

  1. Currently this infrastructure has limited capacity and with the increasing number of tests we sometimes run out of resources during a test run
  2. Only advanced zone and basic zone with security groups are currently employed. Any external networking device etc is not employed in this testbed
  3. No object storage or ceph storage

...