[Blueprint server-o-complex-deployment-testing] Automated Complex Server Deployment Testing

Robbie Williamson robbie.williamson at canonical.com
Fri Jun 3 21:16:38 UTC 2011


Blueprint changed by Robbie Williamson:

Whiteboard changed:
+ Work items:
+ Base framework to support complex deployment testing: TODO
+ Configurations for complex deployment scenarios (may overlap with formulas and recipes): TODO
+ Update ISO testing to deal with server ISO refactoring work: TODO
+ ec2 testing configuration for kernel team patch testing work: TODO
+ 
  UDS-O Session Notes:
  
  1) Complex Deployment Testing
  
  Alot of Ubuntu server deployments are much more than an ISO install on a
  single node; however this is pretty much the limit of the automated ISO
  testing that we currently complete.
  
  We should aim to target some complex Ubuntu server deployment scenarios
  for regular automated testing during the release cycle.
  
  This could be implemented either in the cloud or using virtualization;
  ensemble and cobbler+puppet might form part of the solution.
  
  2) Automated Boot testing
  
  As we make changes to the boot/shutdown sequence of the server, and
  migrate init.d scripts to upstart jobs, we need some continuous
  integration testing to make sure it continues to work. We should take
  advantage of the automated testing framework to install, reboot,
  shutdown, start, remove, and repeat with all packages that are changed.
  We should also automate this testing with all of the available tasks on
  the install CDs. In addition, we should collect metrics on boot time and
  how each package affects it.
  
  hggdh:
   * we need to test iso install
   * want to do a single install and create gold copy
   * need test do-release-upgrade
  
  High Level Test Objectives:
  -------------------------------------
  
  a) Deployment Testing:
  
  i) ISO Image Proving
  
  RAID testing (N.B. For raid testing also see: https://blueprints.launchpad.net/ubuntu/+spec/foundations-o-software-raid and/or etherpad until blueprint updated)
  LVM testing
  Multipath and encryption
  
  Existing ISO testing framework should deal with this.
  
  ii) AMI Image Proving
  
  Existing ec2 testing framework should deal with this.
  
  b) Package Removal Testing:
  
  - install services
  - start services
  - check services
  - stop services
  - uninstall services
  - re-install same services
  - start & re-check services
  
  c) Phase 2 - Service Proving
  
  Deployment of service and pluggable testing
  
  Deploy through orchestra and/or ensemble - which would allow testing of
  recipes and formulas as well (+1)
  
  Framework required for executing tests once deployment complete;
  mcollective could be used to distribute and execute tests; maybe still
  use python unittests;
  
  d) Automated Boot Testing:
  
  Minimal install  - startup and shutdown OK
  Full install - startup and shutdown OK
  Complete upgrade and then re-test.
  
  e) Upgrade Testing:
  
  Lucid->Maverick->Natty for example.
  
  Need to catchup with mvo in this area - suspect some sort of gold-copy
  type setup might make sense.
  
  f) Recovery Testing:
  
  Recovery Mode Testing:
  
  Complex Deployment Scenarios:
  
  Wiki + Database + Memcache + Load Balancer
  Bridging and bonding of network interfaces
  Networking File Systems
  Openstack Deployment test
  Launchpad
  Samba + LDAP or Kerberos Backend
  Backup solutions.
  Ruby on Rails stack?
  
  Requirements:
  
  Remote testing of services.
  
  Possibly ask community to donate resources for optional tests
- 
- Work items:
- Base framework to support complex deployment testing: TODO
- Configurations for complex deployment scenarios (may overlap with formulas and recipes): TODO
- Update ISO testing to deal with server ISO refactoring work: TODO
- ec2 testing configuration for kernel team patch testing work: TODO

-- 
Automated Complex Server Deployment Testing
https://blueprints.launchpad.net/ubuntu/+spec/server-o-complex-deployment-testing



More information about the Ubuntu-server-bugs mailing list