Commit graph

499 commits

Author SHA1 Message Date
Scott Schneider
2c0665bb3b Rename 'template'/'count' to 'key'/'value'
This should make the code cleaner; things other than a template name will
be used in the POST interface.
2015-01-09 10:47:24 -08:00
Scott Schneider
b54d42aea4 Allow for a globally-configurable 'pending' timeout 2015-01-08 14:16:13 -08:00
Scott Schneider
489abd713a Wrap hostname-shortening into a [Sinatra helper] method 2014-11-03 13:07:22 -08:00
Scott Schneider
4035114152 Allow VM metadata to be queryable via 'GET' 2014-11-03 09:28:40 -08:00
Scott Schneider
4363d8e067 Store template name in vmpooler__vm__$vm Redis hash 2014-11-03 09:27:28 -08:00
Scott Schneider
8c62e35628 Merge remote-tracking branch 'upstream/master' 2014-10-31 11:53:38 -07:00
Scott Schneider
6d31a63881 Squashed pool squares, stretched running graph 2014-10-31 11:52:36 -07:00
Scott Schneider
b415dc6360 Allow host FQDN in DELETE 2014-10-16 15:14:13 -07:00
Scott Schneider
cb911274dd Ensure hosts aren't in 'maintenance mode' when cloning 2014-09-30 14:25:07 -07:00
Scott Schneider
bb13c8148b (maint) Style fix-ups 2014-09-04 12:09:25 -07:00
Scott Schneider
ba5e713902 Don't deploy VMs to not-good hypervisors
This implements a check to ensure that the VMware host being deployed to
is in a sane ('green') state.
2014-09-04 11:57:01 -07:00
Scott Schneider
5ed2756628 Return a 'domain' JSON key if configured 2014-08-29 11:38:06 -07:00
Scott Schneider
f13bfde893 Textured background, transparent logo 2014-08-27 20:30:43 -07:00
Scott Schneider
8247ea2d30 From http://subtlepatterns.com/cream-pixels/ 2014-08-27 20:30:24 -07:00
Scott Schneider
a353e02b01 Minor CSS tweaks 2014-08-27 18:50:21 -07:00
Scott Schneider
f9f3ae26ba Allow per-pool override for clone_target 2014-08-27 16:45:29 -07:00
Scott Schneider
5078f8f1a0 Increase sleep time = decrease CPU usage 2014-08-26 18:09:55 -07:00
Scott Schneider
c41d8dc3e2 Correctly log a VM's lifetime 2014-08-22 13:35:18 -07:00
Scott Schneider
b836ceea90 Custom-set VM lifetimes override system-wide 2014-08-22 11:04:38 -07:00
Scott Schneider
3dbbb39a3b Allow a PUT to modify running VMs 2014-08-22 11:03:55 -07:00
Scott Schneider
76ef04c100 Fixing typo 2014-07-28 10:55:42 -07:00
Scott Schneider
e8125e7702 Allow a 'clone_target' configuration setting
If set, this setting will enable "fake DRS", cloning VMs onto the host
in the specified cluster containing the least amount of VMs.
2014-07-28 10:51:45 -07:00
Scott Schneider
4f3c5323d8 Don't use VMware resource pools for organization
This commit removes support for VMware 'resource pool' functionality
entirely, as VMware installations without the DRS feature enabled are
unable to configure or use resource pools.

Also, resource pools should have never been used for organization;
that's what folders are for.
2014-07-21 13:49:57 -07:00
Colin
5df75c8bf7 Merge pull request #18 from sschneid/move_stats_to_header
Tweaks to views and CSS to move statistics to header
2014-07-21 11:36:58 -07:00
Scott Schneider
29715a3d7e Revive the per-pool 'ok' JSON response until beaker can be patched 2014-07-21 10:54:48 -07:00
Scott Schneider
cd9d7d984f Alignment/spacing tweaks 2014-07-21 10:46:42 -07:00
Scott Schneider
1839ff467a Tweaks to views and CSS to move statistics to header 2014-07-16 11:59:57 -07:00
Scott Schneider
d6b6f83fc7 Support batch (multiple VM) requests
This PR allows a single API request to return multiple VM objects.  It
supports the following formats:

- POST <json> /vm/
  eg. 'curl -d '{"debian-7-i386":"3","debian-7-x86_64":"1"}' --url vmpooler/vm

- POST /vm/<pool>+<pool>+<pool>...
  eg. 'curl -d --url vmpooler/vm/debian-7-i386+debian-7-i386+debian-7-i386+debian-7-x86_64

Both commands listed above will return a JSON hash of 3 debian-7-i386 VMs and
1 debian-7-x86_64 VM:

  {
    "ok": true,
    "debian-7-i386": {
      "hostname": [
        "v49pwwk5yzg6oad",
        "ylghlgote5uso54",
        "wt0c4xovvulo7ge"
      ]
    },
    "debian-7-x86_64": {
      "hostname": "v3dkrulttp360fm"
    }
  }
2014-06-09 15:15:05 -07:00
Scott Schneider
4b3b05ee37 Add textured backgrounds to SVG area pathes 2014-03-11 12:49:42 -07:00
Scott Schneider
3af680f860 Allow a configurable Graphite namespace (prefix) 2014-03-06 10:53:27 -08:00
Scott Schneider
60eead6455 Centralize external Gem loading 2014-03-05 13:19:43 -08:00
Scott Schneider
60cc1ef178 Reworked into a single namespaced Ruby application 2014-03-05 12:57:25 -08:00
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
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
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
dc906164c1 Reinitialize if connection is reset 2013-11-25 11:33:59 -08:00
Scott Schneider
73c61ec26b Spacing 2013-11-21 15:33:41 -08:00
Scott Schneider
f9e2c30e29 Remove unused find_customization method 2013-11-21 14:44:15 -08:00
Scott Schneider
3239ea29bd Send graphite data from within a thread
...so that if it fails, it doesn't kill our whole processing thread
2013-11-13 13:31:17 -08:00
Scott Schneider
8423084be3 Not using this library 2013-11-12 15:14:18 -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
bf0150de4b Remove unused snapshot functions 2013-10-31 11:56:57 -07:00
Scott Schneider
882fc36521 Don't use .fog for vSphere credentials 2013-10-01 16:41:15 -07:00
Scott Schneider
5838315609 Adding rudimentary logging 2013-10-01 16:34:32 -07:00
Scott Schneider
fe5f2dc28a chmod 755 require_relative.rb 2013-10-01 16:03:20 -07:00
Scott Schneider
bdee20cf21 Syntax (spacing) 2013-10-01 15:44:11 -07:00
Scott Schneider
6fdeed596e Support 'require_relative' in rubies less than v1.9.2 2013-10-01 12:05:31 -07:00
Scott Schneider
4c858d012a Initial 2013-09-24 11:27:46 -07:00