Commit Graph

47 Commits

Author SHA1 Message Date
Joshua Boniface 73fcf10250 Handle restarts nicer; fix bug in failedreason write 2018-07-20 01:02:18 -04:00
Joshua Boniface d9da59c86b Add failedreason ZK key write on VM failure 2018-07-19 22:48:14 -04:00
Joshua Boniface ca554cc9f1 Implement alternate node target fields
Implements the last additional hypervisor selector fields: vCPUs.

Addresses #11
2018-07-18 12:10:27 -04:00
Joshua Boniface bebd0af0ac Implement alternate node target fields
Implements the first 2 of the 3 additional hypervisor selector
fields: load average, and active VMs.

Addresses #11
2018-07-18 12:04:35 -04:00
Joshua Boniface 9852667f9d Add current_hypervisor to the right place 2018-07-18 02:52:52 -04:00
Joshua Boniface 88dbc139fb Fix bug in defname 2018-07-18 02:48:06 -04:00
Joshua Boniface 8e7c883d72 Correct some bugs and remove this_node aspect
Addresses #9
2018-07-18 02:30:50 -04:00
Joshua Boniface b12fc956c7 Typo missing colon 2018-07-18 02:24:45 -04:00
Joshua Boniface d8962bf998 Use memalloc for target selection
Uses the new memalloc ZK data to calculate the most free target
hypervisor during migrations. Also functionizes the selection
to avoid code duplication and facilitate adding alternate search
functions in the future.

Addresses #9
2018-07-18 02:14:35 -04:00
Joshua Boniface d3cb8d4a13 Add warning if keepalive fails 2018-07-17 22:07:28 -04:00
Joshua Boniface 6a193ac5eb Integerize the memory variable 2018-07-17 21:55:38 -04:00
Joshua Boniface 0fd8ecc019 Correct working of getmemory function 2018-07-17 21:51:49 -04:00
Joshua Boniface 329aa93d81 Put a try block around maxMemory call 2018-07-17 21:42:28 -04:00
Joshua Boniface 2c988430db Add maxmemory to the data for each VMInstance object 2018-07-17 21:40:30 -04:00
Joshua Boniface 7c89fa8aea Change where the memalloc increase is 2018-07-17 21:38:07 -04:00
Joshua Boniface 344881ff27 Add allocated memory for node to ZK
Adds field for allocated memory in addition to free and used memory

Addresses #9
2018-07-17 21:34:11 -04:00
Joshua Boniface 7f3caa2859 Explicitly copy domain_list array
Fixes a bug caused by looping over a changing list of domains
during the flush (and unflush) actions.

Fixes #7
2018-07-17 14:29:18 -04:00
Joshua Boniface 778eff2d7d Ensure running VMs are in domain_list
Addresses #7
2018-07-17 12:17:22 -04:00
Joshua Boniface fa46bd47d6 Correctly parse subprocess object 2018-07-17 02:39:03 -04:00
Joshua Boniface 4561c1fdb1 Fix IPMItool command to use lanplus 2018-07-17 01:39:11 -04:00
Joshua Boniface 7e7618d529 Fix bug in thread start 2018-07-17 01:09:16 -04:00
Joshua Boniface 1dbe0d64ba Thread the flush function
Prevents a bug where the flush function blocks receiving migrations
2018-07-17 01:04:35 -04:00
Joshua Boniface a6bdc281a2 Fix a blasted typo in the variable name 2018-07-17 00:38:55 -04:00
Joshua Boniface 6d779a811b Add wait time between flush migrates
Adds a wait timer between each VM migration during a flush action,
based on the state of the target VM. This causes each state change
command to wait until the last VM has completed its migration,
preventing all a node's VMs from being migrated to the same "least
RAM" hypervisor at once before any start to migrate.

Fixes #6
2018-07-17 00:31:12 -04:00
Joshua Boniface 368c7ea99b Remove superflous old comment 2018-07-17 00:16:58 -04:00
Joshua Boniface 35a6154d34 Add try for lasthypervisor request
Fixes a bug whereby lasthypervisor would be empty because a VM had
never migrated before. This situation should never matter in an
actually-migrated VM since the ZK value would be set and as such
is simply discarded.
2018-07-17 00:16:17 -04:00
Joshua Boniface 9ef5fcb836 [#4] Update fencing to handle successful/failed fence states and migrate only when applicable 2018-06-28 12:13:08 -04:00
Joshua Boniface 8052dce50d [#4] Make use of `fence_intervals` config 2018-06-28 12:04:05 -04:00
Joshua Boniface 843ddfadd8 [#5] Typo 2018-06-27 23:53:17 -04:00
Joshua Boniface 79c2e4a5d9 [#5] Forgot zkhandler import 2018-06-26 23:35:15 -04:00
Joshua Boniface 496a818722 [#5] Use proper dict itemiziation 2018-06-26 23:34:39 -04:00
Joshua Boniface 475e7ea0b8 [#5] Import ansiiprint properly 2018-06-26 23:31:34 -04:00
Joshua Boniface 4320fcdf0e [#5] Use better dict-based format for write updates 2018-06-26 23:24:33 -04:00
Joshua Boniface 276b618137 [#5] Update the writer functions too 2018-06-26 22:52:55 -04:00
Joshua Boniface 4737556c2c [#5] Implement zkhandler for readdata commands 2018-06-26 21:52:22 -04:00
Joshua Boniface 5d56da0010 Add comment of where to do versioning check for #5. 2018-06-22 12:37:45 -04:00
Joshua Boniface ccfbf9a874 [#1] Fix bug with migrates not clearing list 2018-06-20 12:26:06 -04:00
Joshua Boniface 9627be498e Functionlie the add/remove from domain list bits 2018-06-19 20:01:26 -04:00
Joshua Boniface 8af0cddc50 Revert "Add cleanup of local domain list during VM check"
This reverts commit d39f41980b.
2018-06-19 19:52:08 -04:00
Joshua Boniface 5279c019d2 Revert "Remove any updates of hypervisor domain_list from the VMInstance; this is all handled during node keepalive"
This reverts commit 79e6118411.
2018-06-19 19:52:03 -04:00
Joshua Boniface 79e6118411 Remove any updates of hypervisor domain_list from the VMInstance; this is all handled during node keepalive 2018-06-19 19:50:29 -04:00
Joshua Boniface d39f41980b Add cleanup of local domain list during VM check 2018-06-19 19:45:35 -04:00
Joshua Boniface 10c72abbac Actually don't set state when receiving migrate 2018-06-18 00:53:19 -04:00
Joshua Boniface e1d550b437 Fix bug where dom was Nonetype 2018-06-18 00:52:01 -04:00
Joshua Boniface e48409b96a Fix up when this happens 2018-06-18 00:32:13 -04:00
Joshua Boniface 4444bca39d Mass rename of connection variables to sensible names 2018-06-17 21:55:39 -04:00
Joshua Boniface 6ade378cc9 Debianize the packaging 2018-06-17 14:55:13 -04:00