Commit graph

91 commits

Author SHA1 Message Date
Scott Schneider
da31179e68 Changing project name to 'vmpooler'
All instances of 'vmware-host-pooler' and 'vmware_host_pool' changed to
'vmpooler'.
2014-02-19 14:08:46 -08:00
Scott Schneider
4414227fd4 Fixup for undefined redis[server] config param 2014-02-18 11:30:08 -08:00
Scott Schneider
b9c7ef265b Merge branch 'master' into external_redis 2014-02-14 11:18:47 -08:00
Scott Schneider
d4e8e5db28 Merge pull request #9 from sschneid/running_vm_graph
Display a 'running VMs' graph on the dashboard
2014-02-13 15:47:32 -08:00
Scott Schneider
efda9dfe42 'created_by' annotation 2014-02-12 11:13:43 -08:00
Scott Schneider
df9c8b5647 Store creation_timestamp as UTC 2014-02-12 10:48:09 -08:00
Scott Schneider
c4642d834d Store VM hostname as 'name' annotation 2014-02-12 10:47:35 -08:00
Scott Schneider
b6f4b735e8 Allow an external Redis server to be specified 2014-02-12 10:46:14 -08:00
Scott Schneider
2226f7ca05 Store annotation in JSON format 2014-02-12 10:29:45 -08:00
Scott Schneider
c8988c3dbf Send 'running' stats to graphite 2014-02-11 12:51:36 -08:00
Scott Schneider
cc90d6618e New configuration parameter 'vm_lifetime'
This allows for configurable TTLs for hosts in the 'running' queue.
2014-02-06 11:20:15 -08:00
Scott Schneider
dc2cbbe712 Clean up the 'deploy_vm' method
Removing duplicate lines of code better accomplished with a '||'
fallback to the 'find_vm_heavy' method.
2014-02-05 12:41:54 -08:00
Scott Schneider
261fdb5007 Past-tense log messages 2014-02-05 11:29:57 -08:00
Scott Schneider
b6e15080de Adding missing 'start' variable 2014-02-04 15:13:38 -08:00
Scott Schneider
087be6014d Store 'clone' timestamps in Redis database
Using redis keys to store clone timestamps will allow for a global TTL
for VMs in the 'pending' pool; failed clones should be cleaned up and
retried after a set period of time (eg. 15m).
2014-02-04 15:05:24 -08:00
Scott Schneider
ab450662cc Remove non-inventory VMs sitting in 'completed' queue 2014-02-04 10:34:55 -08:00
Scott Schneider
bbe67ab8a3 Rework vCenter VM retrieval method
Previous, the propertyCollector method was used to find VMs within
vCenter.  This method was ineffecient, as it would retrieve a list of
the entire vCenter inventory and then parse for the specified VM.  This
has been replaced with a fetch via searchIndex.FindByDnsName, which
returns only the requested VM object.
2014-02-04 09:42:28 -08:00
Scott Schneider
ba3831bffb Remove VMs not found in vCenter inventory from 'ready' queues 2014-02-03 15:57:35 -08:00
Scott Schneider
b0105a1509 Catch clonevm_task exceptions 2014-02-03 10:26:21 -08:00
Scott Schneider
601a500100 Syntax fix 2014-01-23 13:38:59 -08:00
Scott Schneider
6f59436047 Recover from failed clones/deletes 2014-01-23 13:38:10 -08:00
Scott Schneider
f4caa5a3ad Implement clone rate-limiting 2014-01-21 16:28:41 -08:00
Scott Schneider
67ed2c8a2e Check 2013-12-13 11:22:06 -08:00
Scott Schneider
6611c210a5 Fixup for long-running destruction 2013-12-13 11:19:37 -08:00
Scott Schneider
43047fbf80 Delete long-running VMs after 12 hours 2013-12-13 10:13:28 -08:00
Scott Schneider
d13a9fcf3a Start keeping track of how long hosts are running 2013-12-12 10:04:49 -08:00
Scott Schneider
bcd90bde75 Catch ALL THE EXCEPTIONS 2013-12-12 10:02:29 -08:00
Scott Schneider
bac80108b2 Each pool gets it's own vSphere object 2013-12-06 14:16:56 -08:00
Scott Schneider
e67d8a5d54 Additional object-existance checks 2013-12-06 12:05:47 -08:00
Scott Schneider
77ffd7f829 Missing an 'and' 2013-12-05 11:46:58 -08:00
Scott Schneider
72b1cd485e Replace srem/sadd with smove, check power state of 'ready' and 'running' VMs 2013-12-05 11:38:11 -08:00
Scott Schneider
2912056b45 Only check VMs found in inventory 2013-12-04 11:37:51 -08:00
Scott Schneider
d581524b81 Separate ready_ttl and running_ttl config params 2013-12-04 11:31:23 -08:00
Scott Schneider
4f23d8bb31 Use pool['running_ttl'], or a default 2013-12-04 11:25:46 -08:00
Scott Schneider
754c27020c Quick hack to auto-destroy long-running VMs 2013-12-04 11:15:03 -08:00
Scott Schneider
7b866f788e Clear pending queue on init 2013-11-25 22:31:08 -08:00
Scott Schneider
7ac06dc4d6 Why so sleepy? 2013-11-25 22:29:59 -08:00
Scott Schneider
9228abb5d1 Remove (commented-out) race condition 2013-11-25 13:46:47 -08:00
Scott Schneider
4f64355241 Only one pools.each required... 2013-11-21 10:47:25 -08:00
Scott Schneider
e8881d601c Check for dead threads and restart them 2013-11-18 10:27:35 -08:00
Scott Schneider
8aab996666 Move pool-checks into a function 2013-11-18 09:59:01 -08:00
Scott Schneider
29ad2b9e09 Expire hosts in 'ready' pool with uptimes exceeding TTL 2013-11-13 13:55:51 -08:00
Scott Schneider
0a0177e226 Rename 'check_vm' function to 'check_pending_vm' 2013-11-13 13:45:50 -08:00
Scott Schneider
c80cac8def Send pool availability to graphite 2013-11-13 11:58:44 -08:00
Scott Schneider
ea0a6786a4 Fixing variable 2013-11-12 15:16:02 -08:00
Scott Schneider
44637cef86 Send destroy times to graphite 2013-11-12 15:11:48 -08:00
Scott Schneider
77fe40b59b Send metrics to graphite (if configured) 2013-11-12 15:03:34 -08:00
Scott Schneider
57975a489f Log to a (configurable) file 2013-11-08 10:48:51 -08:00
Scott Schneider
2f4bdaf67a Per-pool timeout settings 2013-11-06 17:28:41 -08:00
Scott Schneider
c3b6215961 Fewer vSphere queries = better 2013-11-06 15:56:32 -08:00