Commit Graph

3272 Commits

Author SHA1 Message Date
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 68ab7da2aa Set proper variable name x2 2018-07-17 01:57:39 -04:00
Joshua Boniface eb44381651 Set proper variable name 2018-07-17 01:53:25 -04:00
Joshua Boniface c517847c54 Add forgotten time flag to sleep 2018-07-17 01:51:35 -04:00
Joshua Boniface eef9bb6b1d Add wait flag to flush command 2018-07-17 01:48:15 -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 01eec7b392 Add node load to information 2018-07-16 12:28:22 -04:00
Joshua Boniface 88b6b0e5f5 Correct variable name typo 2018-07-16 02:22:02 -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 f5054b1bc7 [#4] Add new config options to the config load 2018-06-28 12:02:23 -04:00
Joshua Boniface ad4d3d794b [#4] Add config options for fence and suicide operations 2018-06-28 00:10:58 -04:00
Joshua Boniface 843ddfadd8 [#5] Typo 2018-06-27 23:53:17 -04:00
Joshua Boniface 405a3a8f38 Make cleanup function more robust 2018-06-27 23:37:39 -04:00
Joshua Boniface 264e69fbf8 More readme tweaks 2018-06-27 00:06:52 -04:00
Joshua Boniface 1a3d867f83 Readme tweaaaaak 2018-06-27 00:04:52 -04:00
Joshua Boniface 4b07ab4f3c Mention the python version 2018-06-26 23:56:39 -04:00
Joshua Boniface 26c2a7220b Consistent path 2018-06-26 23:56:19 -04:00
Joshua Boniface 21a193f0bd [#5] Add readme mention of zkhandler 2018-06-26 23:55:20 -04:00
Joshua Boniface 4d59b95035 Implement both names for ready/unflush 2018-06-26 23:47:24 -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 75ed61908a Revert "[#3] Add alternative shutdown functions to allow flushing on non-SIGHUP shutdowns"
This reverts commit d0dc923d92.
2018-06-26 12:10:35 -04:00
Joshua Boniface f27cdb024c Revert "[#3] Add some correction to handle this properly"
This reverts commit ac2b3c464c.
2018-06-26 12:10:24 -04:00
Joshua Boniface 9eb1855add Revert "[#3] Fix up some oddness"
This reverts commit c5a7ac0738.
2018-06-26 12:10:15 -04:00
Joshua Boniface c5a7ac0738 [#3] Fix up some oddness 2018-06-25 23:17:04 -04:00
Joshua Boniface ac2b3c464c [#3] Add some correction to handle this properly 2018-06-25 23:12:56 -04:00
Joshua Boniface d0dc923d92 [#3] Add alternative shutdown functions to allow flushing on non-SIGHUP shutdowns 2018-06-25 23:05:45 -04:00
Joshua Boniface ba72cf4d05 Fix YAML syntax 2018-06-23 16:25:25 -04:00
Joshua Boniface ae88d187a7 Keep artifact deb files 2018-06-23 16:24:46 -04:00