lp:~doanac/utah/bug1158743
- Get this branch:
- bzr branch lp:~doanac/utah/bug1158743
Branch merges
- Javier Collado (community): Approve
- Max Brustkern (community): Approve
-
Diff: 135 lines (+80/-10)4 files modifieddebian/changelog (+3/-0)
tests/test_process.py (+44/-0)
utah/process.py (+25/-0)
utah/provisioning/baremetal/inventory.py (+8/-10)
- UTAH Dev: Pending requested
-
Diff: 74 lines (+26/-9)2 files modifieddebian/changelog (+6/-0)
utah/provisioning/baremetal/inventory.py (+20/-9)
Related bugs
Bug #1158743: Log information about process that has taken a machine | Medium | Won't Fix |
Related blueprints
Recent revisions
- 270. By Andy Doan
-
move pid _in_use to process.py
As per Javier's review comment this moves the function to become a
generic helper. I also added some unit-testing logic for it - 269. By Andy Doan
-
add logging for unavailable machines
this should help us understand who is using a machine in the event
one isn't available. - 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 - 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
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:utah