Ok, apparently changing the branch name was a bad idea...
TP2.0 is now version 0.9 (1.0 Beta 1)
Minor fixes
No more automated OpenNebula tests since we're not accessing the database directly any more.
Updates XML-RPC test to use new resource string format
Fixed many small issues that showed up when running through documentation examples.
Updated manual for 1.0 beta release
Removed traces directory: trace generation code is undocumented and, even if we update it, it doesn't belong in the Haizea trunk; trace reading code has all been moved to leases.py
Moved trace generator code to 'undocumented'
Updated multi-configuration example LWF files to new XML format.
Multiple small fixes to issues detected while running through documentation examples.
Updated OpenNebula request frontend and enactment module so it will work with OpenNebula 1.4 (also updated to use the XMLRPC interface, instead of accessing the database directly)
Allow Timestamp to express "now", as well as "undefined" (best-effort) and an exact timestamp.
Added client code for OpenNebula XMLRPC interface
XMLRPC interface is mostly working.
Slottable, mapper, and all trace-based tests pass! Several small bugs discovered and fixed along the way.
Cleaned up and documented policy manager and pluggable policies
Cleaned up and documented the mapper.
Cleaned up and documented most of the VM scheduler (except for the *ResourceReservation classes)
- Finished cleaning up + documenting leases.py- Cleaned up + documented lease_scheduler.py- Fixed a few bugs that appeared along the way
- Polished up documentation on manager.py- Documented most of leases.py
- Fixed bug in availability window construction.- A couple of minor fixes in unit tests.
Migration is working again. It is now separated into two steps: migrating the software environment (usually a disk image) and migrating the memory state files.
- Cleaned up image transfer scheduling code (most notably removing the requirement for two separate image repositories, one for best-effort leases and another one for AR leases). - Cleaned up the way the resource pool and the slot table handle nodes.- Many other small fixes to get the image transfer scheduler working.
- Added policy engine.- Mapper is now a pluggable module.
- Image transfers are working again, although that code still needs considerable cleaning up.- Got rid of memimagemap and diskimagemap from the Lease class, since they didn't actually do anything useful.
Updated test LWF files to new format. Many small bugs fixed in the process of getting Haizea TP2.0 to pass the unit tests that rely on those files.
- Forked ResourceTuple into two classes: ResourceTuple (only used by the scheduler) and Capacity (used by higher-level modules). - Implemented multi-instance resource types (e.g., multiple CPUs per node).
Allow site information to be loaded from tracefile, a separate XML file, or the old "resource string".
Added SoftwareEnvironment class + related code.
Added haizea-lwf2xml command to convert from old LWF format to new XML format
Schedule reevaluation (after a prematurely ending lease) is done (still needs a lot of testing). Got rid of horrible "slideback" algorithm used in TP1.x.
Preemption is working again.
Best-effort leases working in TP2.0 (without preemption). Required some bug fixes in AvailabilityWindow.
Very basic advance reservations (without preemptions) are working in TP2.0. Lots of other stuff is still broken.
- Beginnings of new XML-based LWF format- Started removing uses of old ARLease and BestEffortLease classes
Added more mapper tests
Collapsed lease classes into a single class.
- Added first mapper tests- Cleaned up creation of leases
- Factored out slottable creation code to sample_slottables module.- Miscellaneous small fixes
Deleting old rm.py and haizea.py files
Apparently calling the new root module "haizea" wasn't such a good idea...
Change name of "rm" module to "haizea"
Changed import statements to refer to new "core" package
Changed name of "resourcemanager" package to "core"
Pushing minor changes before renaming "resourcemanager" package
Added greedy mapper. Misc. changes to slot table.
New slottable implementation and unit tests. TP2.0 branch is now broken, and will remain that way until all the changes to the scheduler are done.
Branch for TP2.0
Remove old unused files
Website updates for TP1.3
Updated manifest and setup.py for TP1.3
Eclipse file updates
Minor documentation fix in haizea-convert-data
Minor fix to preemption test workload
Removed analysis package; has been empty for a while and doesn't do anything
Updated sample config file for TP1.3
Documentation updates for TP1.3
Lots of small fixes to issues uncovered during pre-release testing for TP1.3
Lots of small fixes to issues uncovered by the tests and by pylint
Added XMLRPC tests
Added automated OpenNebula tests
Cleaned up exception handling in rm.py
Cleaned up code and added more comments, primarily in LeaseScheduler
Sanitized and improved exception handling
- Minor fixes to tests.- Fixes of bugs uncovered by aforementioned tests.
- Added more tests (including image transfers, with and without reuse)- Cleaned up testing code
Keep track of lease state using a state machine. Added more sanity checks that throw exceptions when lease is in an inconsistent state.
More tests
Added some basic automated testing (with py.test)
Miscellaneous code refactoring
OpenNebula 1.2 support
Fixed bug in per-experiment option of haizea-convert-data
Started refactoring scheduling code into more manageable modules + classes. Note that this leaves some parts of the scheduler broken for the time being.
Beginnings of Lease state machine
Made haizea-convert-data more useful
Fixed suspend/resume override
Minor changes in slottable implementation which should reduce running time of simulations.
Fixed bug where scheduler would crash in a pretty extreme corner case: a lease has to be scheduled in the future and the only reservation at the time happens to be a ShutdownResourceReservation. Since the scheduler is looking for VMRRs that are ending, it finds none.
Multiple small bug fixes
Apparently I got my branches messed up and I don't know how to do a proper merge yet... :-P
Attributes included in a multiconfig file are now passed along to the individual configuration files.
Previous revision was missing some code for this:
Explicitly schedule cold migrations
Take enactment overhead into account by spacing OpenNebula commands (avoiding OpenNebula from getting saturated)
- Modified suspend/resume scheduling so, when doing local exclusion, suspend/resumes happening at the same time are consolidated into a single RR. - Included enactment overhead into suspend/resume scheduling- Minor fixes
Added ShutdownResource Reservation to explicitly schedule shutdowns.
Changed VM RR data structure so that instead of including information on suspend/resume VMs, they include information on pre/post RRs (this will allow us to include other types of post RRs, such as shutdowns and live migrations)
Minor changes to manual
- No need to escape $ in verbatim environments - sample.conf -> sample_trace.conf
Minor corrections to sample configuration file
Fixes some of the image transfer code, which was still using old nomenclature.
Updates for TP1.2 website
For consistency with manual, second lease in first example workload should be have a duration of 1800.
Added new figures
Fixed duplicate label in manual
Updated manual's HTML generation script to better partition the generated HTML.