Commit graph

575 commits

Author SHA1 Message Date
Jake Spain
91248fe23a
Added spec tests for Vmpooler::Dns 2023-03-27 21:27:40 -04:00
Jake Spain
eaa1104dd7
Fix rubocops 2023-03-27 21:27:38 -04:00
Jake Spain
da4015f5b3
Refactor obtaining and saving ip address 2023-03-27 21:27:37 -04:00
Jake Spain
0119126cd1
Update hostname_shorten and callers 2023-03-27 21:27:36 -04:00
Jake Spain
35dc7cb26f
Update domain in V2 api 2023-03-27 21:27:35 -04:00
Jake Spain
aeabb7e134
Remove global domain usage from pool manager 2023-03-27 21:27:34 -04:00
Jake Spain
268ff9f981
Add dns_config method to provider base 2023-03-27 21:27:33 -04:00
Jake Spain
6f3d853271
Do not create/delete records if using dynamic dns 2023-03-27 21:27:32 -04:00
Jake Spain
b1e20a2fc0
Get zone from config and add dns/base_spec 2023-03-27 21:27:30 -04:00
Jake Spain
65f04254a8
Add delete_record 2023-03-27 21:27:29 -04:00
Jake Spain
ac96550f57
Stub out dns provider usage 2023-03-27 21:27:15 -04:00
Jake Spain
c18edea931
2.5.0 release prep 2023-03-06 14:40:07 -05:00
isaac-hammes
1a75edcb60 (maint) Update to 9.4.1.0-jdk8 and fix spec test. 2023-03-02 11:14:47 -08:00
isaac-hammes
60fe266c9e (maint) Use timeout builtin to TCPSocket when opening sockets. 2023-03-02 10:56:40 -08:00
kfjohnson
72928ce80d
Merge pull request #502 from puppetlabs/maint-upgrade-jruby-9.3-nokogiri
(maint) Bump version to 2.4.0
2022-07-25 09:28:39 -07:00
kfjohnson
c50887d63e
Merge pull request #501 from puppetlabs/maint-bug-ondemand-retry
(bug) Prevent failing VMs to be retried infinitely (ondemand)
2022-07-25 09:28:19 -07:00
Samuel Beaulieu
b859743694
(maint) Bump version to 2.4.0
Upgrade to jruby 9.3.6.0
Remove workaround for jruby 9.2 using JRUBY_OPTS=-Xinvokedynamic.yield=false
Removed unused dependency nokogiri?
2022-07-25 11:09:59 -05:00
Samuel Beaulieu
7f1f8def8e
fix comment offence 2022-07-25 09:12:12 -05:00
Samuel Beaulieu
c846e41780
fix rubocoop offences 2022-07-25 09:06:11 -05:00
Samuel Beaulieu
980344ee24
(bug) Prevent failing VMs to be retried infinitely (ondemand)
Normally when a VM is failing the vm_ready? check, it is moved to the completed queue which deletes it.
In a pooled config a new VM will be retried. For ondemand, we would also recreate the task to trigger
the creation of a new VMs. There was a bug where an ondemand request would be retried infinitely when
vm_ready? would always fail. We would never check the status of the request if it was deleted via the
API or if it was detected as failed because it is expired (over the ondemand_request_ttl limit)
2022-07-25 08:37:13 -05:00
Samuel Beaulieu
6aa10151ca
(DIO-3138) vmpooler v2 api missing vm/hostname
there was one API that was falling back on v1 and was returning a domain key.
in order to make it consistent with the changes in v2, the domain is not returned
anymore, and the fqdn is returned if it is available
2022-06-29 14:14:25 -05:00
Samuel Beaulieu
ef87fe8db5
adding deprecation warning to logs for reroute.rb 2022-03-31 13:16:03 -05:00
Samuel Beaulieu
9a9dfce316
adding an api endpoint to print the current full config 2022-03-31 13:16:02 -05:00
Samuel Beaulieu
1005a33ed2
fix rubocop 2022-03-31 13:16:01 -05:00
Samuel Beaulieu
3809dac2d4
fix rubocop and fetch_single_vm logic, bump version 2022-03-31 13:15:59 -05:00
Samuel Beaulieu
70b5bd297a
add multi domain support to ondemand queries 2022-03-31 13:15:57 -05:00
Samuel Beaulieu
a2d613782a
remove 'last minute' tcp vm_ready check from the api for pooled vms
the vm_ready methods should be implemented per provider and checking in the api
creates issues since provider code is not available. Removing this for the V2 api
2022-03-31 13:15:56 -05:00
Samuel Beaulieu
dd375b20c3
document the new provider configuration skip_dns_check_before_creating_vm 2022-03-31 13:15:55 -05:00
Samuel Beaulieu
66eb598e4e
tabling this PR for the next sprint 2022-03-31 13:15:54 -05:00
Samuel Beaulieu
e5c477254f
initial review 2022-03-31 13:15:53 -05:00
6b9eb2369f
Connect domain settings to pools, create v2 API 2022-03-31 13:15:52 -05:00
Samuel Beaulieu
2ad9b8c549
(maint) Fix deprecation warning for redis ruby library
The syntax for pipelined has changed and the old syntax will be removed in v5.0.0
Fixing the syntax now since the block syntax has been supported for a while now.
2022-03-30 09:01:25 -05:00
72c82cf084
Add OTel HttpClient Instrumentation
This will be useful for the GCE provider.
2022-01-20 11:42:43 -05:00
Samuel
ddbd522d5c
Bump version to 2.2.0
In preparation for release
2021-12-29 13:27:24 -06:00
Samuel Beaulieu
3a508a3afb
(maint) do not raise an error when base provider create_template_delta_disks called 2021-12-23 14:08:18 -06:00
Samuel Beaulieu
23efcc4cc0
(maint) Fix EXTRA_CONFIG merge behavior
Before this change if an extra config file had new keys they would get
merged to the main config but if it contained an existing key, like
'providers' it would overwrite the original config.
Adding a library 'deep_merge' to do a more natural merge, where existing keys
get sub-elements added together and arrays are combined like for the
pool configuration.
Adding spec tests around EXTRA_CONFIG as they were missing, by adding
and testing two new extra_config.yaml fixture files
2021-12-23 13:34:33 -06:00
2d1d28ed49
Add additional data to spans in api/v1.rb 2021-12-20 15:33:25 -05:00
45378d46b9
Ensure all configured providers are loaded
Prior to this, providers that should have been loaded per the
provider_class key of the providers hash were not actually loaded.
2021-12-10 21:05:54 -05:00
7872bfe8fc
Merge pull request #469 from puppetlabs/tag_vm_user
(maint) Adding a provider method tag_vm_user
2021-12-09 13:41:30 -05:00
Samuel Beaulieu
daea25b1d1
(maint) Adding a provider method tag_vm_user
This method should be called only once, when the VM is moved to a running state
which is when the data for the user (if using tokens) is available. In vmpooler
base provider it is a noop method, but the various providers can implement it
to tag or label a running VM with the name of the user who checked it out
2021-12-09 11:13:03 -06:00
Samuel
ea86c2645a
Update lib/vmpooler/providers/base.rb
Co-authored-by: Gene Liverman <gene.liverman+06301990@puppet.com>
2021-12-09 09:32:04 -06:00
Samuel
b85455e4e8
Update lib/vmpooler/providers/base.rb
Co-authored-by: Gene Liverman <gene.liverman+06301990@puppet.com>

abc
2021-12-08 13:03:19 -06:00
Samuel Beaulieu
aa380694e3
Bump version to 2.1.0 2021-12-08 13:03:13 -06:00
Samuel Beaulieu
f6bbef4245
Move vsphere specific methods out of vmpooler
vmpooler has the vsphere provider taken out, moving some vsphere related
methods to the provider:
1) pool_folders
2) get_base_folders
At the same time renaming some configuration and code items
to remove harmful terminology.
purge_unconfigured_folders DEPRECATED, use purge_unconfigured_resources
folder_whitelist DEPRECATED, use resources_allowlist
the above configuration items are still supported but will be removed in
the next major version.
base class method purge_unconfigured_folders was renamed to purge_unconfigured_resources
and requires the equivalent change in the provider classes

abc
2021-12-08 13:02:34 -06:00
1163cbe02c
Release prep for v2.0.0 2021-12-07 19:12:45 -05:00
816be4a721
Update icon in the readme to reference this repo
A copy of the icon in PNG format is also being added as part of this
2021-12-07 11:03:02 -05:00
bc0a369602
Move vsphere provider to its own gem 2021-12-03 09:41:29 -05:00
Jenkins
48c5d6d445 (GEM) update vmpooler version to 1.3.0 2021-11-15 15:57:33 +00:00
a0caa41a54
(DIO-2675) Undo pool size template overrides
This implements a delete method for pooltemplate and poolsize. The API
removes the override from Redis and then adds an entry in Redis that
causes the pool manager to wake up and process the removal of the
override.

To facilitate this, a new variable has been created in lib/vmpooler.rb
to hold a copy of the original / pre-override config. This supplemental
copy of the pools is then indexed for use as a reference.

When pool manager wakes up to process an override removal, it looks up
the pre-override value from the config via the new variables mentioned
above.

Just as with entering overrides, no restart is needed. Template and pool
size changes are logged so that anyone watching or reviewing the logs
can see what happened when. The new API endpoints also return values for
both the pre-revert and post-revert value.
2021-11-04 14:03:06 -04:00
Jenkins
f6eb636dff (GEM) update vmpooler version to 1.2.0 2021-09-15 13:54:19 +00:00