Commit graph

1384 commits

Author SHA1 Message Date
Jenkins
ae694c5167 (TAG) update version to 0.3.0 2018-12-20 22:52:00 +00:00
Spencer McElmurry
3ddc06406f
Merge pull request #310 from mattkirby/version_3
Change version 0.2.2 to 0.3.0
2018-12-20 09:30:56 -08:00
kirby@puppetlabs.com
c5e1722f30 Change version 0.2.2 to 0.3.0
This commit updates the changelog to change version 0.2.2 to 0.3.0. The changes implemented are not patches so should not be a z release.
2018-12-20 09:24:29 -08:00
Spencer McElmurry
25731194e3
Merge pull request #308 from mattkirby/control_your_layers
Ensure nodes are consistent for usage stats
2018-12-20 08:58:32 -08:00
kirby@puppetlabs.com
12df6830f5 (MAINT) Update travis to test latest ruby
This commit updates travis to test latest ruby versions for vmpooler. Without this change we test out of date versions of ruby with vmpooler.
2018-12-19 12:49:08 -08:00
kirby@puppetlabs.com
2de4a6db0b Ensure nodes are consistent for usage stats
This commit updates vm usage stats collection to replace all instances of '.' characters within node strings. Without this change the node string containing a '.' character causes the metric to be interpreted as containing another node.
2018-12-19 12:45:50 -08:00
Jenkins
b4dfbca40e (TAG) update version to 0.2.31 2018-12-10 22:35:08 +00:00
Jenkins
bfc0c24106 (TAG) update version to 0.2.3 2018-12-10 21:06:47 +00:00
Spencer McElmurry
74b378781f
Merge pull request #307 from mattkirby/030_release
Update changelog for 0.2.3
2018-12-10 11:44:54 -06:00
kirby@puppetlabs.com
d5e96636ce Update changelog for 0.2.3
This commit updates changelog in preparation of the 0.2.3 release.
2018-12-10 09:29:01 -08:00
mchllweeks
310dc7cbc9
Merge pull request #306 from mattkirby/pooler_134
(POOLER-134) Ship VM usage stats
2018-12-10 09:04:12 -08:00
kirby@puppetlabs.com
60b8715a80 Update providers_spec to match array contents
This commit updates providers_spec so the test ensures array content of the providers match. Without this change the provider_spec test will fail when comparing providers if the order is not exactly the same in each array.
2018-12-07 17:08:08 -08:00
kirby@puppetlabs.com
9a57c6d1b5 (POOLER-134) Ship VM usage stats
This commit updates vmpooler to ship VM usage stats when a VM is destroyed. The stats are gathered for jobs based on user and pool name. If a jenkins build URL is present then this is broken down by user, instance, value stream, branch and project. Additionally, if present then the RMM_COMPONENT_TO_TEST_NAME will be listed after project. Without this change we do not collect stats on per VM usage and its correlation to users and pools.
2018-12-07 11:59:27 -08:00
Spencer McElmurry
e3e51afc05
Merge pull request #305 from mattkirby/pooler_133
(POOLER-133) Identify when a ready VM has failed
2018-12-05 11:58:23 -05:00
kirby@puppetlabs.com
3c856d7ae9 (POOLER-133) Identify when a ready VM has failed
This commit fixes checking of a VM that has already been identified as ready. Without this change a ready VM that has failed will be identified as having failed, but will not successfully be removed from the ready queue. Additionally, the default vm_checktime value has been reduced from 15 to 1 to ensure that ready VMs are checked within one minute of the time they have reached the ready state by default.

Lastly, the docker-compose files are updated to specify that the redis
instance used is a local redis instance.
2018-12-03 12:21:08 -08:00
mchllweeks
81b5f620bd
Merge pull request #304 from puppetlabs/POOLER-37
(POOLER-37) Document HTTP responses
2018-10-25 08:30:38 -07:00
Samuel Beaulieu
a34777185d (POOLER-37) Document HTTP responses 2018-10-25 11:02:57 -03:00
mchllweeks
ece0e64331
Merge pull request #303 from mattkirby/sync_pool_sizes
(POOLER-132) Sync pool size on dashboard start
2018-10-08 09:51:29 -07:00
kirby@puppetlabs.com
5704488cc5 (POOLER-132) Sync pool size on dashboard start
This commit updates the dashboard for vmpooler to ensure it is synchronized with any redis based configuration values before displaying the dashboard. Without this change the pool size value may be displayed incorrectly if the value has been set via the /config/poolsize API endpoint.
2018-10-03 13:07:20 -07:00
Jenkins
9bc17a8935 (GEM) update vmpooler version to 0.2.2 2018-10-01 23:25:52 +00:00
Samuel
00836691fe
Merge pull request #302 from mattkirby/changelog_bump
Update changelog version in preparation for release
2018-10-01 18:17:41 -05:00
kirby@puppetlabs.com
4c7820ed99 Update changelog version in preparation for release
This commit updates the version in changelog in preparation for a release.
2018-10-01 11:14:22 -07:00
Kevin Imber
4d4ad063bb
Merge pull request #301 from mattkirby/checkout_platform
(POOLER-131) Return requested name when getting VMs
2018-10-01 10:20:30 -07:00
kirby@puppetlabs.com
4ba4a1dd6c (POOLER-131) Return requested name when getting VMs
This commit updates fetch_single_vm to return the name of the template that was requested, instead of the name of the pool providing the VM to meet the request. Without this change, when an alias is used for fetching a VM, a different pool title may be returned containing the requested VMs than the user initially requested.
2018-09-27 12:05:30 -07:00
mchllweeks
918877918a
Merge pull request #300 from mattkirby/docker_compose
Add docker-compose and dockerfile to support it
2018-09-21 13:42:19 -07:00
kirby@puppetlabs.com
8bddb4f854 Add docker-compose and dockerfile to support it
This commit adds a docker-compose file and a dockerfile to build vmpooler and install it from source.
2018-09-21 13:39:04 -07:00
Jenkins
5e39bc2755 (GEM) update vmpooler version to 0.2.1 2018-09-19 00:05:01 +00:00
mchllweeks
4b48166005
Merge pull request #299 from mattkirby/release_3
Bump version for vmpooler in changelog
2018-09-18 16:55:48 -07:00
kirby@puppetlabs.com
e469739db1 Bump version for vmpooler in changelog 2018-09-18 15:11:19 -07:00
mchllweeks
98a84ab239
Merge pull request #298 from mattkirby/pooler_129
(POOLER-129) Allow setting weights for backends
2018-09-18 11:22:42 -07:00
kirby@puppetlabs.com
b1586393c7 Document backend_weight setting 2018-09-13 09:32:20 -07:00
kirby@puppetlabs.com
f5c3c86632 Remove pool_backend method 2018-09-13 09:24:17 -07:00
kirby@puppetlabs.com
830acd705d Remove debug statements. Return when get_vm returns nil 2018-09-12 12:28:12 -07:00
kirby@puppetlabs.com
cd73f53561 (POOLER-129) Allow setting weights for backends
This commit updates get_vm in the vmpooler API to allow for setting weights for backends. Additionally, when an alias for a pool exists, and the backend configured is not weighted, then the selection of the pool based on alias will be randomly sampled. Without this change any pool with the title of the alias is exhausted before an alternate pool with the configured alias is used, which results in an uneven distribution of VMs. When all backends involved are configured with weighted values the VM selection will be based on probability using those weights.

A bug is fixed when setting the default ttl for check_ready_vm.

Pickup is added to handle weighted VM selection.

A dockerfile is added that allows for building and installing vmpooler
from the current HEAD in docker to make for easy testing.
2018-09-11 11:15:02 -07:00
mchllweeks
0e86937245
Merge pull request #297 from mattkirby/pooler_130
(POOLER-130) Improve delta disk creation handling
2018-08-30 17:22:35 -07:00
kirby@puppetlabs.com
3fd0c6f475 (POOLER-130) Improve delta disk creation handling
This commit updates delta disk creation to reduce the likelihood of this being run more than once for any given template. Without this change an error can be generated with vsphere 6.5 or later when a template is updated, and then the update is reverted. The error prevents the image from being used because the template is never marked as prepared. To address this any failure is now logged, and the template is marked as prepared regardless of whether this was successful, or not, which allows the image to be used despite the error. This failure mode is more graceful and allows the pool to continue to function.
2018-08-30 15:50:07 -07:00
Spencer McElmurry
258f603048
Merge pull request #296 from mattkirby/bring-the-pitchfork-rebased
(POOLER-114) Refactor check_pool in pool_manager
2018-08-23 16:34:27 -05:00
Samuel Beaulieu
3aac95d5b9 (POOLER-114) Refactor check_pool in pool_manager
This commit refactorss the check_pool method in pool_manager.
Specifically, each commented section describing a stage of check_pool is
broken out into a separate method and check_pool is simplified by
calling these methods. Without this change it is difficult to follow the
intent for or make changes to check_pool.

Additionally, a docker-compose file is added to make it simple to launch
an all-in-one vmpooler instance along with a separate redis server with
docker.
2018-08-23 14:04:52 -07:00
mchllweeks
c053554ca8
Merge pull request #294 from mattkirby/vmpooler_release_02
(MAINT) release 0.2.0
2018-07-25 08:51:31 -07:00
kirby@puppetlabs.com
79a378f4db (MAINT) release 0.2.0 2018-07-24 16:46:26 -07:00
Jenkins
5733dc3487 (GEM) update vmpooler version to 0.2.0 2018-07-24 23:46:19 +00:00
Corey Osman
2daa5244b8 Adds a new mechanism to load providers from any gem or file path. (#263)
* Adds ability to load only providers used in config file
2018-07-24 16:35:18 -07:00
mattkirby
0a769b8901
Merge pull request #293 from mattkirby/do_not_discover_destroying
Remove VM from completed only after destroy
2018-07-24 16:33:16 -07:00
mchllweeks
295fbb6b64
Merge pull request #291 from mattkirby/improved_docs
(doc) Document config via environment
2018-07-24 16:27:46 -07:00
kirby@puppetlabs.com
90edc6f979 Remove VM from completed only after destroy
This commit updates destroy_vm to remove the redis member from the completed queue only after a destroy has been completed. Without this change a VM that is being destroyed will be logged as discovered when inventory is checked since it has already been removed from the completed queue.
2018-07-24 16:21:59 -07:00
mchllweeks
10efddd43e
Merge pull request #292 from mattkirby/remove_mutex_on_destroy
(POOLER-128) Remove references to VM mutex when destroying
2018-07-24 16:18:04 -07:00
kirby@puppetlabs.com
490e5c1938 (POOLER-128) Remove references to VM mutex when destroying
This commit updates destroy_vm to remove references to its mutex tracking object when destroyed. Without this change a VM that is destroyed will leave its mutex tracking object forever causing the pool manager memory footprint to increase.
2018-07-23 16:53:53 -07:00
kirby@puppetlabs.com
4feb9c62a2 (doc) Document config via environment
This commit adds documentation for specifying vmpooler configuration via environment variables. LDAP server is corrected to LDAP host, and the capability to specify graphite prefix and port is added. Vagrant documentation is moved into its own file to reduce noise in the main readme. Lastly, docker usage is updated to reflect that you no longer bake in a configuration file, and that API and manager can be run separately from docker via its entrypoint.
2018-07-20 15:30:54 -07:00
Samuel
10bf6c8816
Merge pull request #290 from steveax/maint-change-domain-to-example.com
(maint) change domain to example.com
2018-07-20 12:10:41 -05:00
Steve Axthelm
c3d90dbfa6 (maint) change domain to example.com
Prior to this commit the docs and examples used 'company.com'
(a real domain). This commit changes those occurrences to
'example.com', which is a IANA-managed reserved domain.
2018-07-19 15:23:30 -07:00