lp:~nuclearbob/utah/trunk

Created by Max Brustkern and last modified
Get this branch:
bzr branch lp:~nuclearbob/utah/trunk
Only Max Brustkern can upload to this branch. If you are Max Brustkern please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Max Brustkern
Project:
UTAH
Status:
Merged

Recent revisions

266. By Max Brustkern

Creating new stable 0.7

265. By Max Brustkern

Merging latest tested dev version:
* Updating to version 0.6
* Added baremetal fixes
* Merge default yaml work
* Merge parser update branch
* Added options for expanded use of client logs and timestamps
* Updated static validation to work with raring
* Added provisioner options to retrieve files from system under test
* Added pid-based locking for cobbler
* Added power workaround for cobbler
* Added information parser for dashboard
* Updated ISO static validation to use new features of ISO class and
  work independent of script directory and image directory and image
  name
* Added support for desktop image kernel detection from bootloader
  configuration files
* Added support for automatic ISO downloading and made CustomVM the
  default provisioning method
* Updated config handling: directories now supported, as well as most
  command line options
* Dashboard integration merge
* Merged initial arm support

Merged branch lp:utah
Bug #1025633: Standardize return codes
Bug #1029487: KeyError: 'fetch_cmd' in utah client for multi-suite runlist
Bug #1040015: Validation errors should specify which file failed
Bug #1040753: Extra newline characters in test case results
Bug #1071020: client fails to report an error when 'run_as' is set to a nonexistent user.
Bug #1126115: UTAH doesn't notice installation failure
Bug #1133227: Use different exit status for provisionning errors and test errors
Bug #1147306: ProvisionedMachine lacks template_env
Bug #1179531: utah fails after reboot, but test continues to run on SUT
Bug #1192652: python-apt required for utah-client
Bug #1193367: Static validation test: test_efi_secure_boot_signatures failing with "RuntimeError: probes API has not been configured"
Bug #1194533: utah test is hanging and does not timeout
Bug #1195469: utah crashes instead of producing nice error message
Bug #1204251: utah doesn't run test cases because expected ubiquity version isn't happening
Bug #1204489: utah_done exception when processing state.yaml
Bug #1204538: Clear out yaml files from previous runs prior to the next run
Bug #1208621: UTAH should log the stack trace to debug log in run_utah_tests.py so errors don't get lost
Bug #1298026: /var/cache/utah/autorun/inprogress needs to be manually created
Bug #1714066: gdebi-core is no longer available in main
264. By Max Brustkern

* Pushing version to 0.5 to create a new stable version before UDS
* phoenix - Fix comment for fetch_method.
* phoenix - Adjust default ts_control to be more informative
* Add 'run_as' to phoenix created tc_control files
* Update documentation for phoenix
* Add reboot documentation
* Allow phoenix to append new testcases to tslist.run
* Update phoenix.py output
* phoenix - Move command to the end of the tc_control file to match
  the training docs
* Update VCS revision methods for adding revision info to results
* Add VCS handler classes
* Added python-netifaces build dependency
* Merged Javier's changes (and a few of mine) to get an internal
  python-jsonschema deb working (Fixes lp1042895)
* Remove leftover debug statement
* Bring in testcase documentation changes.
* Fixed multiple disk issue
* Added desktop and mini support to cobbler provisioning
* client/examples - Update 'fetch_cmd' to a more realistic example
* master.run - Add support for 'include' to the master runlist schema
* Merge doc updates
* Update client docs to explain files a bit more clearly
* Add 'run_as' support
* tc_control - Fix setup and cleanup command names in schem
* tc_control - Make 'type' optional and only accept 'userland'
* phoenix - Add shebang line
* Update documentation regarding testsuite layout
* Add phoenix script for testsuite skeleton setup
* Merge Max's installclient fix
* Merge Javier's fix for LP: #1040015
* Merge Javier's fix for LP: #1040753
* client - Add support for 'publish' section of master.run
* client - Add 'publish' section to the master.run schema
* client/runner - Remove obsolete comment
* client - Add host metadata retrieval methods
* client/result - Factor out payload creation
* Start building out dashboard submission data
* Fixed imports broken by sphinx change
* Add dashboard metadata to master.run schema
* Don't remove testsuites on resume
* Merge Javier's tslist.run exception work
* Merge Javier's fetch cleanup work
* Added diskbus option for VM creation
* Remove extra 'testsuites' directory
* Merge Javier's python-jsonschema work
* Download and run testsuites in UTAH_DIR/testsuites
* Merge Javier's LP URL work
* Support timeout overrides from master.run to ts_control to
  tc_control
* Merged Javier's packaging fix
* Added support for nested timeouts; outer timeout alwasy wins right
  now
* Update client tests to run without the client (part 2)
* Make client tests runnable from a branch
* Use new master.run schema and fix tests
* Don't use the latest master.run schema yet
* Update master.run schema to support new layout
* Update TODO
* Update client tests README file
* Merge YAML parsing work
* Fix tests to run from a branch
* Finish up client self_test split
* Merge Javier's jsonschema changes
* Minor cleanup
* Cleanup client.common
* Cleanup documentation a bit
* Update client test script that's run in jenkins' schroot
* More utah-client test reorganization
* Add back try/except to catch missing runlist
* Merge Javier's URL runlist work.
* Initial work for including runlists from other runlists
* Add initial support for master.run metadata
* Fix media-info test (no file in the schroot)
* Added run_test_cobbler and the ability to call that from
  run_utah_tests
* Merge in Javier changes for relative runlist paths
* Renamed bootspeed inventory to be less bootspeed-specific
* Merged Javier's fix for getting the IP of in a locale-independent
  way
* Added bootspeed-preseed.cfg to Makefile
* Fetch multiple testsuites into their own directories
* Add client config for API data
* Fix fetch command handling edge cases
* Fix testsuite in results log
* packaging - Create a config directory
* Fix typo
* Only backup the master.run if it exists
* More test migration and cleanup
* Remove debugging exception
* Move Result tests into their own file
* Start rearranging tests and add a couple

263. By Max Brustkern

* Bumping version to 0.4 to make a new stable version before sprinting
* Added script and made various fixed for bootspeed testing
* Added log pulling scripts for jenkins jobs
* Add host metadata to results in client
* Don't require fetch_cmd for testsuites (LP: #1029487)
* Added always-on debug log by default
* Patch to facilitate multiple reboots during a testsuite
* Adding backup_runlist as member of Runner class when state is saved
  so we can use it when writing rc.local
* Used self.master_runlist
* Used self.master_runlist
* Put in a check to not copy the file if it's the same file
* Closes: #1029097:
* Keep a backup of runlists for reboots
* Fixed typo in last commit
* runlist should now be written into rc.local before rebooting
* Add metadata to ResultYAML output
* Removed default to runlist argument because it broke resumes after
  reboots
* Moved use of args to after we process args
* Client currently doesn't have a cache dir
* client postinst now needs bash
* Fixed typo in last commit
* Updated client check to allow root to run without group membership
  for reboot/rc.local purposes
* Fixed indentation error
* Added -f to vm-scp
* Added more explanation of libvirt error handling
* Changed some debugs to info
* Fixed ubiquity success_command logging
* Added exception catching for file upload failure
* Consolidate results before serializing them
* Make result object a required parameter for TestSuite and TestCase
* Fixed sshpoll name
* Fixed error code for libvirt lookups again
* Fixed error code for libvirt lookups
* Added utah user and group creation to client postinst and removed
  from preseed
* repeat->retry
* Fixed syntax error
* Fixed syntax error
* Fixed syntax error
* Fixed missing colon
* Attempt at an initial fix for LP1028397: we should now raise libvirt
  errors correctly if they're not just us trying to create a domain
  that already exists
* Add runlist to result metadata
* Moved expanduser into inventory
* Moved expanduser into bootspeedinventory
* Changed preseedcfg to preseed in cobblermachine to match other
  provisioning code
* Updated cobblermachine todo for server support
* Removed urllib from run_install_test
* Merged more of Javier's static analysis fixes
* Added sshpoll
* Add testsuite and testcase to results
* Another fix for uuid checking in cobblermachine
* Fixed typo in last commit
* Updated CobblerMachine to check install UUID
* Updated SSHMixin run to return output status and support timeout
* Fixed locallogs issue
* Fixed some variable passing issues
* Removed unneeded pass
* Fixed exception issue
* Fixed suffix issue
* Fixed config in runs
* Fixed preseed setup
* Fixed config file generation
* Fixed provisioncheck implementation
* Implemented activecheck for CobblerMachine
* repeat->retry
* Fixed imports
* Added run.py
* Fixed typo
* Moving run_tests into another file
* Fixed typo
* Consolidated test script running code
* Put default preseed back right
* Removed extra args
* Support server images, and correct arch
* Used correct exception argument
* Another process checker fix
* Merged Javier's url argument updates
* Merged cobbler preseed into regular preseed
* Used correct exception
* Updated sshcheck
* Updated default timezone to UTC
* Updated listfiles call
* Adding http to http urls
* Merging more of Javier's static analysis fixes
* Added method for unimplemented functions of Machine class to call
* Added LOCALDEFAULTS to config
* Merged Javier's SSHMixin Destroy changes
* Fixed doubled logging
* Added timeout to provisioncheck
* Disabled console logger until we can find out what's causing the
  extra console logging
* Twirled a lot trying to sort out doubled logging, to little avail
* Updated host key removal
* Merging typo fixes
* Merged Javier's paramiko changes
* Changed from sshkey to sshpublickey and sshprivatekey
* Trying logging fix
* Trying logging fix
* Trying logging fix
* Fixed indentation in last commit
* New try at a fix for that no such process exception
* Merged more of Javier's static analysis, hopefully correctly
* Added returnlist option to listfiles
* Changed iso methods to accept logmethod instead of logger
* DOCSTRING ALL THE FUNCTIONS
* Lots of cleanup
* Fixed CooblerMachine typo
* Changed timeouts to ints
* Added TODO to CobblerMachine
* Added import of UTAHTimeout to CobblerMachine
* Moved a couple of things for the last commit to maybe make more
  sense
* Fixed typo in previous commit
* Attempted fix for intermittent bug where check_cmdline fails to find
  a process it's looking for
* Fixed typo in config
* Added attempt to check cobbler install every 3 minutes for 2 hours
  (defaults) and required functions for that
* Adding BatchMode=yes to ssh do get more consistent failures
* Cleaned up destroy methods so they super properly
* Changing structure of repeat for copying to future functions
* Added basic repeat system and repeat property for exceptions
* Added timeout functionality for provisioning use
* Setting variables correctly
* Added debconf_debug=developer to server installs
* Merged Javier's relative fiel path changes
* Carefully merged whitespace changes
* Merged Javier's blank line fixes
* Made SQLiteInventory expand db path before passing it as unique id
* Made provisioning exceptions generate an exit status of 2
* Using full cinitrd path
* Fixed using local concatenation problems
* Resolved conflicts
* Carefully merged more of Javier's whitespace fixes
* Merging Javier's comparison to none change
* Merged Javier's new URL changes and kept my changes from earlier
  today
* Unpack cinitrd instead of regular initrd
* Added TODO
* Added Javier's check for another virtualization program running
* Added tmpdir cleanup
* Forgot I had it working with the alternate image; using that until
  we can build support for other kinds
* Reinstated edits to try again
* Commented out distro edit
* Fixed non-string concatenation
* Fixed power commands and distro edit->profile edit
* Fixed ( instead of [ in cargs dict
* Fixed typo in last commit
* Including shutil
* Moving to tmpdir to extract files
* Additional changes to use cinitrd
* Fixed typo in last commit
* Added special cobbler initrd path
* Fixed initrd preparation
* Added tempfile import
* Fixed boot/self.cmdline setup
* Updated argumetns to include preseed
* sqlite3 query parameters must be a list
* and and=>AND in query
* stage=>state and alphabetized pops
* Added conversion from sqlite3 row to dict
* Added default preseed for CobblerMachine, did some cleanup and added
  TODOs
* Fixed typos in last commit
* BootspeedInventory and CobblerMachine should now be ready for to
  test install process
* Removed provisioncheck() from _start() methods. ativecheck() should
  provisioncheck() before trying to _start(). Fleshed out
  CobblerMachine.
* Fixed problem with last commit
* Fixed problem with last commit
* Fixed problem with latecommand
* Made changes to bootspeed inventory
* Moved more code into mixin class
* Moved boot command line configuration into mixin class
* Putting back Javier's fixes that I lost earlier. Silly me.
* Merged Javier's exception fixes
* Added preseed that's working on cobbler installs. Plan to
  eventually merge it into default preseed.
* Changed preseed latecommand setup and added usermod to put root in
  the utah group
* Fixed bad client dependency
* Merging Javier's group check changes
* Merged Javier's changes for unused imports and variables
* Merged Javier's changes to fail correctly on a bad URL
* Changed debug line to info to match other functions
* Chmodding filename too
* Made chmod mode an int
* Making sure we can write to that directory
* Grabbing only fist line of output of list command now
* Added some logging to new iso routine
* Got right name for os.makedirs
* Specified first element of os.path.split
* Added os.path import to support previous changes
* Some changes to try to extract hard links correctly when outfile is
  None
* Fixed typo Javier pointed out
* Updated iso.py to try to handle symlinks correctly
* Changed initrd for desktops back to .lz to facilitate physical
  machine provisioning
* Updated some custommachine methods to work better outside of a
  proper machine
* Merged Javier's group checking changes
* Merging Javier's whitespace fixes
* Scripts should exit with status 1 if tests cannot be run
* Updated scripts to run vmtools vm without arguments
* Merged URLChecker
* Merging unused import removal.
* Made additional changes to try to remove all lintian warnings
* Removed static bridged network xml
* Updated standards version
* Build bridged networking config file from normal config file
* Update default vm xml files to use machine type pc
* Added suffix specification to lzcat command
* Added errno -2 to socket error detection
* Added lzma dependency
* Reworked config directory
* Should catch socket error correctly now
* Set customvm to use bridge
* Changed vmtools to use configured bridge
* Adding slash to end of path for vm-scp uploads
* Temporary change toward handling socket error
* Removed old usit files
* Added bridged vm config
* Fixed postrm function declaration
* Fixed CustomVM destroy function
* Fixed typo in postrm
* Removed extra dns configuration source
* Fixed typo in bridge configuration
* Fixed bridge configuration
* Finished bridge configuration
* Fixde getbridge definition
* Updated dns workings
* Fixed vmtools vm file manipulation
* Fixed postinst script
* Added install of dnssetup
* Actually added dnssetup configuration this time
* Moved config files into conf directory and made dns configurable
* Fixed typo
* Capitalized LibvirtVM class and fixed inheritance order on CustomKVM
* Made undefined method errors more descriptive
* Fixed typos in bootspeed changes in previous commit
* Moved scp commands to SSHMixin
* Added subprocess import
* Added shutil import
* Moved more imports into provisioning from libvirtvm
* Moved utah.iso import into provisioning from libvirtvm
* Moved a lot of functionality into mixin classes to reuse CustomVM
  routines for cobbler systems
* Fixes for last commit
* Adding files for bootspeed integration
* Moved positional arguments to the beginning of super calls
* Renamed base.py to inventory.py
* Changed downloads to go in ascending order of expected size
* Fixed _finalxml needed variables
* Fixed _finalxml fucntion signature
* Fixed typo in xmltree specification
* Fixed typo in xmltree specification
* Modularized CustomVM creation routines
* Fixed bad default argument
* Fixed bad argument default
* Changing boottimeout to float
* Removing serial from devices instead of xml root
* Fixing emulator/domain type detection
* Sending remove command to root element instead of element tree
* Added ssh host key removal when destroying vm
* Fixed boottimeout typo
* Fixed reference to argument rather than xml element
* Fixed function signature and invocation typo
* Removed preseed from debug logging
* Added emulator argument
* Removing the serial port after installation to try to avoid
  overwriting the log file
* Put boot timeout in config and quadrupled it for qemu
* Fixed another dissimilar typo in third to last commit
* Fixed another similar typo in second to last commit
* Fixed typo in last commit
* Renamed most things that references kvm to be more generic
* Added attempt to set VM type to qemu when kvm is not in libvirt
  capabilities
* Added xml files to tmpdir and skipped deleting it when debug is on
* Removed old comments
* Updated trunk, moving dev to 0.3

262. By Max Brustkern

* Updated to add CustomKVM provisioning
* Updated script to warn user should logout and back in to pick up
  group permissions
* Removed tabs in preseed edit
* Removed tabs in preseed edit
* Touched up script to handle lack of default arch and call correct
  provisioning method
* Removed superfluous log line from customkvm creation and removed
  default arguments from run_utah_tests so we don't bork
  run_install_test
* Updated dependencies
* Put runlist running back into the custom provisioning runner script
* Updated default runlist path to match what's in the package
* Fixed bad symlink to utah client
* Updated libvirt error handler to log thing more clearly
* Updated file handling; moved it into Machine class and setup
  handling for ~-based paths
* Added ISO download progress to logging for CustomKVM
* Removed logfile from config so it will be generated correctly on
  target system
* Removed commented debugging code
* Fixed parameters for function calls
* Added logging to iso call
* Fixed usage of extract command
* Fixed dump command
* Using correct splitfiles syntax
* Changed to a single urllib call
* Fixed config.py permissions
* Updated to use iso.py
* Both qemu-kvm and libvirt-bin appear to be required for optimal
  functionality
* Titrating dependencies
* Updated dependencies to see if we can get DNS working on quantal
* Fixed broken dictionary in config file
* Changed config in etc to process before config in home directory
* Added logging to configuration options
* Moved group manipulation after the other steps so the user won't be
  added until those are complete
* Further updates for testing
* Fixed lack of space in test
* Added scripts to setup user for utah use
* Added scripts to setup user for utah use
* Updating default config to not include user-dependent options in
  config file
* Trying new command to get script lists
* Removed nonexistant phony install target
* Attempting to link examples into path during
  override_dh_auto_install
* That breaks resolution on precise, so putting in back in
* Left out then after if in previous commits
* Left actual grep command out of last commit
* Updated postinst to not write resolvconf if IP cannot be found
* Set preseed to minimal file that will install all precise ISOs
* Added iso.py and converted iso_validation_test.py to use it
* Add test script from jenkins job's chroot
* client - Fix directory traversal
* New preseed that works on all 8 precise ISOs
* Inserted break so one run of run_utah_test doesn't try to do 6 test
  runs
* Fixed prefix setup for vmtoolskvm
* Fixed having group in config twice
* Fixed argument issue in the right place this time
* Fixed argument issue in the right place this time
* Fixed argument issue
* Added CustomKVM support
* Fixed string concatenation if user is not in group
* Made utah group configurable
* Add {raise,drop}_privilges()
* Fix client/README to match reality
* Actually return the returncode from the runner
* Add timeouts for example test suites
* Clean up handwritten YAML
* Make timeouts required on testsuites but not testcases
* Fix up for failing test cases
* Updated scripts to use client/examples/master.run
* Updated debian dir files
* Changing utah-main back to utah
* Adding client script to main package so it can Provide client
* More updates to fix build process
* Trying to rename utah package to see if having bianry named the same
  as source was causing problems
* Outer multi-build working
* Fixed install layout: deb instead of debian
* Removing dbg build
* Trying multi-binary rules from python-crypto package
* Reverying multi-binary for testing
* Further steps toward unified multi-package build
* Rename catalog to inventory
* Updating inner package to use outer changelog unmodified
* Attempting to go back to multi-binary
* Renaming package-specific files to try to do a split build again
* Trying new approach to NO_PKG_MANGLE to build on buildd
* Removed a couple more occurrence of ubuntu-automation-test-harness
* Update Makefiles to try to get the package back to building in the
  PPAs
* Updated client rules file to try to avoid package sanity checks to
  get the package building again in the PPA
* Changed name from defaults to config, added functions to dump
  defaults and current config
* Testing config file by adding default qemu path
* Testing config file by adding default qemu path
* Update Makefile to fully reflect last change
* Moving defaults out of provisioning
* Removed unecessary -e
* Added config file support, but haven't integrated it into
  provisioning yet

261. By Max Brustkern

Updated Makefile to not build client package

260. By Max Brustkern

Adding static client package until build process is fixed

259. By Max Brustkern

Adding static client package until build process is fixed

258. By Max Brustkern

Committing good renamed version to send to trunk debcommit

257. By Max Brustkern

Further renames

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.

Subscribers