Commit Graph

633 Commits

Author SHA1 Message Date
Joshua Boniface f91e210f1a Implement migration targets in client
Addresses #11
2018-07-18 21:18:43 -04:00
Joshua Boniface eb23488486 Add config flag for migration selector
Addresses #11
2018-07-18 12:13:41 -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 d5ca4262ee Typo in definition 2018-07-18 02:40:20 -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 4d2279230f Version bump in GitLab CI config 2018-07-18 02:19:30 -04:00
Joshua Boniface a810347aaf Bump to version 0.2 2018-07-18 02:18:33 -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 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