[Blueprint servercloud-p-complex-deployment-testing] Automated Complex Server Deployment Testing

James Page james.page at ubuntu.com
Fri Oct 21 09:04:56 UTC 2011


Blueprint changed by James Page:

Whiteboard changed:
  Scope: Deployment and Testing of Ubuntu Server to support complex requirements i.e. OpenStack + others
  Coverage:
-   OpenStack
-   
+   - OpenStack
+   - Wiki + Database + Memcache + Load Balancer
+   - Networking File Systems
+   - Samba + LDAP or Kerberos Backend
+   - Backup solutions - bacula?
+   - Ruby on Rails stack
+ 
+ UDS-O - Complex Deployment Scenarios:
+ 
  
  Method: orchestra+juju AND cloud+juju
  
  james-page proposed a method for testing juju charms on juju at l.u.c - see
  https://lists.ubuntu.com/archives/juju/2011-October/000837.html
  
  Broadley this involves a new charm when can test other charms - results are then collated and can be reported on.
  This is then executed by a framework (TBN) which set's up the juju environment and services, executes the charm testing and then can execute tests on the deployed environment.
  I think this is the right way todo this testing - it can be used with any juju provider so can be applied in both physical and cloud environments.
  
  Frequency: TBC
  
  Daily Test with current development release
  
  for OpenStack:
  
  Daily Test of upstream trunk?
  
- 
  Questions/Proposals:
  [james-page] We need to verify the list of deployments and get volunteers to develop charms for them where gaps exist.
  
  Work Items:
  Develop juju charm testing framework to support all requirements: TODO
  Writing testing hooks for all charms which we want to test this way: TODO
  Setup OpenStack test lab: TODO
  Identify OpenStack testing requirements on the deployed service: 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.
+ Stuff left from UDS-O not covered in other specs
+ --------------------------------------------------------------------
  
  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

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



More information about the Ubuntu-server-bugs mailing list