From d8c47134ef72dd52651202ae22cecdc2adeab090 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Fri, 3 Feb 2023 17:03:12 -0500 Subject: [PATCH 01/29] Start extracting dns setup and teardown --- lib/vmpooler/cloud_dns.rb | 63 ----------------------------------- lib/vmpooler/providers/gce.rb | 24 +++++-------- 2 files changed, 8 insertions(+), 79 deletions(-) delete mode 100644 lib/vmpooler/cloud_dns.rb diff --git a/lib/vmpooler/cloud_dns.rb b/lib/vmpooler/cloud_dns.rb deleted file mode 100644 index a98d9ef..0000000 --- a/lib/vmpooler/cloud_dns.rb +++ /dev/null @@ -1,63 +0,0 @@ -# frozen_string_literal: true - -require 'googleauth' -require 'google/cloud/dns' - -module Vmpooler - class PoolManager - # This class interacts with GCP Cloud DNS to create or delete records. - class CloudDns - def initialize(project, dns_zone_resource_name) - @dns = Google::Cloud::Dns.new(project_id: project) - @dns_zone_resource_name = dns_zone_resource_name - end - - def dns_create_or_replace(created_instance) - dns_zone = @dns.zone(@dns_zone_resource_name) if @dns_zone_resource_name - return unless dns_zone && created_instance && created_instance['name'] && created_instance['ip'] - - retries = 0 - name = created_instance['name'] - begin - change = dns_zone.add(name, 'A', 60, [created_instance['ip']]) - debug_logger("#{change.id} - #{change.started_at} - #{change.status} DNS address added") if change - rescue Google::Cloud::AlreadyExistsError => _e - # DNS setup is done only for new instances, so in the rare case where a DNS record already exists (it is stale) and we replace it. - # the error is Google::Cloud::AlreadyExistsError: alreadyExists: The resource 'entity.change.additions[0]' named 'instance-8.test.vmpooler.net. (A)' already exists - change = dns_zone.replace(name, 'A', 60, [created_instance['ip']]) - debug_logger("#{change.id} - #{change.started_at} - #{change.status} DNS address previously existed and was replaced") if change - rescue Google::Cloud::FailedPreconditionError => e - # this error was experienced intermittently, will retry to see if it can complete successfully - # the error is Google::Cloud::FailedPreconditionError: conditionNotMet: Precondition not met for 'entity.change.deletions[0]' - debug_logger("DNS create failed, retrying error: #{e}") - sleep 5 - retry if (retries += 1) < 30 - end - end - - def dns_teardown(created_instance) - dns_zone = @dns.zone(@dns_zone_resource_name) if @dns_zone_resource_name - return unless dns_zone && created_instance - - retries = 0 - name = created_instance['name'] - change = dns_zone.remove(name, 'A') - debug_logger("#{change.id} - #{change.started_at} - #{change.status} DNS address removed") if change - rescue Google::Cloud::FailedPreconditionError => e - # this error was experienced intermittently, will retry to see if it can complete successfully - # the error is Google::Cloud::FailedPreconditionError: conditionNotMet: Precondition not met for 'entity.change.deletions[1]' - debug_logger("DNS teardown failed, retrying error: #{e}") - sleep 5 - retry if (retries += 1) < 30 - end - - # used in local dev environment, set DEBUG_FLAG=true - # this way the upstream vmpooler manager does not get polluted with logs - def debug_logger(message, send_to_upstream: false) - # the default logger is simple and does not enforce debug levels (the first argument) - puts message if ENV['DEBUG_FLAG'] - logger.log('[g]', message) if send_to_upstream - end - end - end -end diff --git a/lib/vmpooler/providers/gce.rb b/lib/vmpooler/providers/gce.rb index 7c95859..ecbddaf 100644 --- a/lib/vmpooler/providers/gce.rb +++ b/lib/vmpooler/providers/gce.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require 'googleauth' -require 'google/apis/compute_v1' -require 'vmpooler/cloud_dns' require 'bigdecimal' require 'bigdecimal/util' +require 'google/apis/compute_v1' +require 'googleauth' +require 'vmpooler/dns/base' require 'vmpooler/providers/base' module Vmpooler @@ -209,7 +209,11 @@ module Vmpooler result = connection.insert_instance(project, zone(pool_name), client) wait_for_operation(project, pool_name, result) created_instance = get_vm(pool_name, new_vmname) - dns_setup(created_instance) + # Exceptions thrown if ip does not exist in preexisting vm? Redis::CommandError: ERR wrong number of arguments for 'hset' command + @redis.with_metrics do |redis| + ip = created_instance['ip'] + redis.hset("vmpooler__vm__#{new_vmname}", 'ip', ip) + end created_instance end @@ -427,7 +431,6 @@ module Vmpooler vm_hash = get_vm(pool_name, vm_name) result = connection.delete_instance(project, zone(pool_name), vm_name) wait_for_operation(project, pool_name, result, 10) - dns_teardown(vm_hash) end # list and delete any leftover disk, for instance if they were detached from the instance @@ -499,7 +502,6 @@ module Vmpooler result = connection.delete_instance(project, zone, vm.name) vm_pool = vm.labels&.key?('pool') ? vm.labels['pool'] : nil existing_vm = generate_vm_hash(vm, vm_pool) - dns_teardown(existing_vm) result_list << result end # now check they are done @@ -560,16 +562,6 @@ module Vmpooler # END BASE METHODS - def dns_setup(created_instance) - dns = Vmpooler::PoolManager::CloudDns.new(project, dns_zone_resource_name) - dns.dns_create_or_replace(created_instance) - end - - def dns_teardown(created_instance) - dns = Vmpooler::PoolManager::CloudDns.new(project, dns_zone_resource_name) - dns.dns_teardown(created_instance) - end - def should_be_ignored(item, allowlist) return false if allowlist.nil? From 911c15dc4eaaa7cb66971b0657025718ce4f2e80 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Tue, 7 Feb 2023 08:08:29 -0500 Subject: [PATCH 02/29] Add migration to readme --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/README.md b/README.md index 29cb7a6..d7e4e98 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ - [vmpooler-provider-gce](#vmpooler-provider-gce) - [Usage](#usage) + - [Migrating to v1](#migrating-to-v1) - [DNS](#dns) - [Labels](#labels) - [Pre-requisite](#pre-requisite) @@ -23,6 +24,42 @@ GCE authorization is handled via a service account (or personal account) private 1. GOOGLE_APPLICATION_CREDENTIALS environment variable eg GOOGLE_APPLICATION_CREDENTIALS=/my/home/directory/my_account_key.json +### Migrating to v1 + +Starting with the v1.x release, management of DNS records has been extracted from this compute provider and implemented as DNS plugins, similar to compute providers. This means each pool configuration should be pointing to a configuration object in `:dns_config` to determine it's method of record management. + +For those using DNS management via this provider, the DNS related options should be moved under `:dns_configs:` with the value for `dns_class`. + +For example, the following keys in a v0.x GCE provider config: + +```yaml +:providers: + :gce: + domain: vmpooler.example.com + dns_zone_resource_name: vmpooler-example-com +``` + +Would be moved to: + +```yaml +:dns_configs: + :example: + dns_class: gcp-clouddns + project: jake-vmpooler-dev + domain: vmpooler.example.com + zone_name: vmpooler-example-com +``` + +Then any pools that should have records created via the dns config above should now reference the named dns config in the `dns_plugin` key: + +```yaml +:pools: + - name: 'debian-11-x86_64' + dns_plugin: 'example' +``` + +For complete examples on how to use the GCP DNS plugin see [vmpooler-dns-gcp](https://github.com/puppetlabs/vmpooler-dns-gcp). + ### DNS DNS is integrated via Google's CloudDNS service. To enable, a CloudDNS zone name must be provided in the config (see the example yaml file dns_zone_resource_name) From 1375093b43c751af3d4fccd3688cff534719cd69 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Wed, 15 Feb 2023 15:45:12 -0500 Subject: [PATCH 03/29] Use domain provided by pool's dns_config debug open socket --- lib/vmpooler/providers/gce.rb | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/vmpooler/providers/gce.rb b/lib/vmpooler/providers/gce.rb index ecbddaf..fd68287 100644 --- a/lib/vmpooler/providers/gce.rb +++ b/lib/vmpooler/providers/gce.rb @@ -82,12 +82,9 @@ module Vmpooler return provider_config['machine_type'] if provider_config['machine_type'] end - def domain - provider_config['domain'] - end - - def dns_zone_resource_name - provider_config['dns_zone_resource_name'] + def domain(pool_name) + dns_plugin_name = pool_config(pool_name)['dns_plugin'] + return dns_config(dns_plugin_name) end # Base methods that are implemented: @@ -191,7 +188,7 @@ module Vmpooler boot: true, initialize_params: init_params ) - append_domain = domain || global_config[:config]['domain'] + append_domain = domain(pool_name) fqdn = "#{new_vmname}.#{append_domain}" if append_domain # Assume all pool config is valid i.e. not missing @@ -468,7 +465,8 @@ module Vmpooler def vm_ready?(_pool_name, vm_name) begin # TODO: we could use a healthcheck resource attached to instance - open_socket(vm_name, domain || global_config[:config]['domain']) + domain = domain(_pool_name) + open_socket(vm_name, domain) rescue StandardError => _e return false end From 36e9044087108cec87aabb5903a6f183d081a9d4 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Fri, 17 Feb 2023 09:01:53 -0500 Subject: [PATCH 04/29] Refactor obtaining and saving ip address --- lib/vmpooler/providers/gce.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/vmpooler/providers/gce.rb b/lib/vmpooler/providers/gce.rb index fd68287..6134be8 100644 --- a/lib/vmpooler/providers/gce.rb +++ b/lib/vmpooler/providers/gce.rb @@ -206,14 +206,14 @@ module Vmpooler result = connection.insert_instance(project, zone(pool_name), client) wait_for_operation(project, pool_name, result) created_instance = get_vm(pool_name, new_vmname) - # Exceptions thrown if ip does not exist in preexisting vm? Redis::CommandError: ERR wrong number of arguments for 'hset' command - @redis.with_metrics do |redis| - ip = created_instance['ip'] - redis.hset("vmpooler__vm__#{new_vmname}", 'ip', ip) - end created_instance end + def get_vm_ip_address(vm_name, pool_name) + vm_object = get_vm(pool_name, vm_name) + return vm_object['ip'] + end + # create_disk creates an additional disk for an existing VM. It will name the new # disk #{vm_name}-disk#{number_disk} where number_disk is the next logical disk number # starting with 1 when adding an additional disk to a VM with only the boot disk: From fcf79c94215f71666789c4ea78f6c2a11481a8e5 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Wed, 22 Feb 2023 07:25:17 -0500 Subject: [PATCH 05/29] Remove google-cloud-dns gem dependency --- Gemfile.lock | 21 ++++----------------- vmpooler-provider-gce.gemspec | 1 - 2 files changed, 4 insertions(+), 18 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2258b05..f9933cf 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,7 +3,6 @@ PATH specs: vmpooler-provider-gce (0.5.0) google-apis-compute_v1 (~> 0.14) - google-cloud-dns (~> 0.35.1) googleauth (>= 0.16.2, < 1.3.0) vmpooler (~> 2.3, >= 1.3.0) @@ -39,19 +38,8 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-dns_v1 (0.31.0) - google-apis-core (>= 0.11.0, < 2.a) - google-cloud-core (1.6.0) - google-cloud-env (~> 1.0) - google-cloud-errors (~> 1.0) - google-cloud-dns (0.35.1) - google-apis-dns_v1 (~> 0.1) - google-cloud-core (~> 1.6) - googleauth (>= 0.16.2, < 2.a) - zonefile (~> 1.04) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) - google-cloud-errors (1.3.1) googleauth (1.2.0) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) @@ -158,9 +146,9 @@ GEM rubocop-ast (>= 1.0.1) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (1.27.0) + rubocop-ast (1.26.0) parser (>= 3.2.1.0) - ruby-progressbar (1.12.0) + ruby-progressbar (1.11.0) ruby2_keywords (0.0.5) signet (0.17.0) addressable (~> 2.8) @@ -184,7 +172,7 @@ GEM ffi statsd-ruby (1.5.0) thor (1.2.1) - thrift (0.18.1) + thrift (0.18.0) tilt (2.1.0) trailblazer-option (0.1.2) uber (0.1.0) @@ -214,7 +202,6 @@ GEM yarjuf (2.0.0) builder rspec (~> 3) - zonefile (1.06) PLATFORMS universal-java-1.8 @@ -233,4 +220,4 @@ DEPENDENCIES yarjuf (>= 2.0) BUNDLED WITH - 2.4.5 + 2.4.7 diff --git a/vmpooler-provider-gce.gemspec b/vmpooler-provider-gce.gemspec index 3be4d75..8c5a091 100644 --- a/vmpooler-provider-gce.gemspec +++ b/vmpooler-provider-gce.gemspec @@ -17,7 +17,6 @@ Gem::Specification.new do |s| s.require_paths = ["lib"] s.add_dependency "google-apis-compute_v1", "~> 0.14" s.add_dependency "googleauth", ">= 0.16.2", "< 1.3.0" - s.add_dependency "google-cloud-dns", "~> 0.35.1" s.add_dependency 'vmpooler', '>= 1.3.0', '~> 2.3' # Testing dependencies From 38064771aa308bca38c0e7a470ac53852d9d71fd Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Wed, 22 Feb 2023 08:19:13 -0500 Subject: [PATCH 06/29] Fix rubocops --- lib/vmpooler/providers/gce.rb | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/lib/vmpooler/providers/gce.rb b/lib/vmpooler/providers/gce.rb index 6134be8..8c4da79 100644 --- a/lib/vmpooler/providers/gce.rb +++ b/lib/vmpooler/providers/gce.rb @@ -84,7 +84,7 @@ module Vmpooler def domain(pool_name) dns_plugin_name = pool_config(pool_name)['dns_plugin'] - return dns_config(dns_plugin_name) + dns_config(dns_plugin_name) end # Base methods that are implemented: @@ -205,13 +205,12 @@ module Vmpooler debug_logger('trigger insert_instance') result = connection.insert_instance(project, zone(pool_name), client) wait_for_operation(project, pool_name, result) - created_instance = get_vm(pool_name, new_vmname) - created_instance + get_vm(pool_name, new_vmname) end def get_vm_ip_address(vm_name, pool_name) vm_object = get_vm(pool_name, vm_name) - return vm_object['ip'] + vm_object['ip'] end # create_disk creates an additional disk for an existing VM. It will name the new @@ -425,7 +424,6 @@ module Vmpooler unless deleted debug_logger("trigger delete_instance #{vm_name}") - vm_hash = get_vm(pool_name, vm_name) result = connection.delete_instance(project, zone(pool_name), vm_name) wait_for_operation(project, pool_name, result, 10) end @@ -462,10 +460,10 @@ module Vmpooler true end - def vm_ready?(_pool_name, vm_name) + def vm_ready?(pool_name, vm_name) begin # TODO: we could use a healthcheck resource attached to instance - domain = domain(_pool_name) + domain = domain(pool_name) open_socket(vm_name, domain) rescue StandardError => _e return false @@ -498,8 +496,6 @@ module Vmpooler debug_logger("trigger async delete_instance #{vm.name}") result = connection.delete_instance(project, zone, vm.name) - vm_pool = vm.labels&.key?('pool') ? vm.labels['pool'] : nil - existing_vm = generate_vm_hash(vm, vm_pool) result_list << result end # now check they are done From 1aaa6711b57d1bf35e7b9327849ea63f0e162410 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Wed, 22 Feb 2023 08:53:20 -0500 Subject: [PATCH 07/29] Update spec tests for new dns settings --- spec/dnsservice_helper.rb | 9 --------- spec/spec_helper.rb | 1 - spec/unit/providers/gce_spec.rb | 30 +++++++++++++++++------------- 3 files changed, 17 insertions(+), 23 deletions(-) delete mode 100644 spec/dnsservice_helper.rb diff --git a/spec/dnsservice_helper.rb b/spec/dnsservice_helper.rb deleted file mode 100644 index c2752c0..0000000 --- a/spec/dnsservice_helper.rb +++ /dev/null @@ -1,9 +0,0 @@ -MockDNS = Struct.new( - # https://rubydoc.info/gems/google-cloud-dns/0.35.1/Google/Cloud/Dns - :change, :credentials, :project, :record, :zone, - keyword_init: true -) do - def zone(zone) - self.zone = zone - end -end \ No newline at end of file diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 6cd4447..603f438 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -10,7 +10,6 @@ require 'vmpooler' require 'redis' require 'vmpooler/metrics' require 'computeservice_helper' -require 'dnsservice_helper' def project_root_dir File.dirname(File.dirname(__FILE__)) diff --git a/spec/unit/providers/gce_spec.rb b/spec/unit/providers/gce_spec.rb index c4b8f25..614a23b 100644 --- a/spec/unit/providers/gce_spec.rb +++ b/spec/unit/providers/gce_spec.rb @@ -18,6 +18,11 @@ describe 'Vmpooler::PoolManager::Provider::Gce' do :config: max_tries: 3 retry_factor: 10 + :dns_configs: + :gcp-clouddns: + project: vmpooler-test + domain: vmpooler.example.com + dns_zone_resource_name: vmpooler-example-com :providers: :gce: connection_pool_timeout: 1 @@ -32,6 +37,7 @@ describe 'Vmpooler::PoolManager::Provider::Gce' do timeout: 10 ready_ttl: 1440 provider: 'gce' + dns_config: 'gcp-clouddns' machine_type: 'zones/#{zone}/machineTypes/e2-micro' EOT ) @@ -51,8 +57,6 @@ EOT subject { Vmpooler::PoolManager::Provider::Gce.new(config, logger, metrics, redis_connection_pool, 'gce', provider_options) } - before(:each) { allow(subject).to receive(:dns).and_return(MockDNS.new()) } - describe '#name' do it 'should be gce' do expect(subject.name).to eq('gce') @@ -61,7 +65,6 @@ EOT describe '#manual tests live' do context 'in itsysops' do - before(:each) { allow(subject).to receive(:dns).and_call_original } let(:vmname) { "instance-31" } let(:project) { 'vmpooler-test' } let(:config) { YAML.load(<<~EOT @@ -69,14 +72,17 @@ EOT :config: max_tries: 3 retry_factor: 10 + :dns_configs: + :gcp-clouddns: + project: vmpooler-test + domain: vmpooler.example.com + dns_zone_resource_name: vmpooler-example-com :providers: :gce: connection_pool_timeout: 1 project: '#{project}' zone: '#{zone}' network_name: 'projects/itsysopsnetworking/global/networks/shared1' - dns_zone_resource_name: 'vmpooler-test-puppet-net' - domain: 'vmpooler-test.puppet.net' :pools: - name: '#{poolname}' alias: [ 'mockpool' ] @@ -85,6 +91,7 @@ EOT timeout: 10 ready_ttl: 1440 provider: 'gce' + dns_config: 'gcp-clouddns' subnetwork_name: 'projects/itsysopsnetworking/regions/us-west1/subnetworks/vmpooler-test' machine_type: 'zones/#{zone}/machineTypes/e2-micro' disk_type: 'pd-ssd' @@ -92,10 +99,6 @@ EOT ) } skip 'gets a vm' do result = subject.create_vm(poolname, vmname) - #result = subject.destroy_vm(poolname, vmname) - # subject.get_vm(poolname, vmname) - subject.dns_teardown({'name' => vmname}) - # subject.dns_setup({'name' => vmname, 'ip' => '1.2.3.5'}) end end end @@ -267,7 +270,6 @@ EOT result = MockResult.new result.status = 'DONE' allow(connection).to receive(:insert_instance).and_return(result) - allow(subject).to receive(:dns_setup).and_return(true) end it 'should return a hash' do @@ -314,7 +316,6 @@ EOT result.status = 'DONE' allow(subject).to receive(:wait_for_operation).and_return(result) allow(connection).to receive(:delete_instance).and_return(result) - allow(subject).to receive(:dns_teardown).and_return(true) end it 'should return true' do @@ -349,7 +350,11 @@ EOT end describe '#vm_ready?' do - let(:domain) { nil } + let(:domain) { 'vmpooler.example.com' } + before(:each) do + allow(subject).to receive(:domain).and_return('vmpooler.example.com') + end + context 'When a VM is ready' do before(:each) do expect(subject).to receive(:open_socket).with(vmname, domain) @@ -586,7 +591,6 @@ EOT before(:each) do allow(subject).to receive(:connect_to_gce).and_return(connection) - allow(subject).to receive(:dns_teardown).and_return(true) end context 'with empty allowlist' do From 06d940a9647b3522b540279353983d6e4552bf99 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Tue, 28 Mar 2023 17:44:12 -0400 Subject: [PATCH 08/29] Bump vmpooler requirement and add install gemfile script --- Gemfile.lock | 4 ++-- install-gemfile-lock | 7 +++++++ vmpooler-provider-gce.gemspec | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) create mode 100755 install-gemfile-lock diff --git a/Gemfile.lock b/Gemfile.lock index f9933cf..7ff812a 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,7 +4,7 @@ PATH vmpooler-provider-gce (0.5.0) google-apis-compute_v1 (~> 0.14) googleauth (>= 0.16.2, < 1.3.0) - vmpooler (~> 2.3, >= 1.3.0) + vmpooler (~> 3.0) GEM remote: https://rubygems.org/ @@ -177,7 +177,7 @@ GEM trailblazer-option (0.1.2) uber (0.1.0) unicode-display_width (1.8.0) - vmpooler (2.4.0) + vmpooler (3.0.0) concurrent-ruby (~> 1.1) connection_pool (~> 2.2) deep_merge (~> 1.2) diff --git a/install-gemfile-lock b/install-gemfile-lock new file mode 100755 index 0000000..07cbd49 --- /dev/null +++ b/install-gemfile-lock @@ -0,0 +1,7 @@ +#!/usr/bin/env bash + +# The container tag should closely match what is used in `docker/Dockerfile` in vmpooler-deployment +docker run -it --rm \ + -v $(pwd):/app \ + jruby:9.4.1.0-jdk11 \ + /bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make git netbase && cd /app && gem install bundler && bundle install --jobs 3; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"' diff --git a/vmpooler-provider-gce.gemspec b/vmpooler-provider-gce.gemspec index 8c5a091..304c16e 100644 --- a/vmpooler-provider-gce.gemspec +++ b/vmpooler-provider-gce.gemspec @@ -17,7 +17,7 @@ Gem::Specification.new do |s| s.require_paths = ["lib"] s.add_dependency "google-apis-compute_v1", "~> 0.14" s.add_dependency "googleauth", ">= 0.16.2", "< 1.3.0" - s.add_dependency 'vmpooler', '>= 1.3.0', '~> 2.3' + s.add_dependency 'vmpooler', '~> 3.0' # Testing dependencies s.add_development_dependency 'climate_control', '>= 0.2.0' From 355d3a60ce42b2377b15d93014f649830e321444 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Mon, 17 Apr 2023 10:12:19 -0400 Subject: [PATCH 09/29] Add debug logger line --- lib/vmpooler/providers/gce.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/vmpooler/providers/gce.rb b/lib/vmpooler/providers/gce.rb index 8c4da79..e7d838d 100644 --- a/lib/vmpooler/providers/gce.rb +++ b/lib/vmpooler/providers/gce.rb @@ -461,6 +461,7 @@ module Vmpooler end def vm_ready?(pool_name, vm_name) + debug_logger('vm_ready?') begin # TODO: we could use a healthcheck resource attached to instance domain = domain(pool_name) From bf2e20dcfee2547e1f064c079482bca81f66d376 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Tue, 18 Apr 2023 19:43:40 -0400 Subject: [PATCH 10/29] 1.0.0 release prep --- CHANGELOG.md | 8 ++++++++ Gemfile.lock | 2 +- lib/vmpooler-provider-gce/version.rb | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bc3ea5..fedf2fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [1.0.0](https://github.com/puppetlabs/vmpooler-provider-gce/tree/1.0.0) (2023-04-19) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-provider-gce/compare/0.5.0...1.0.0) + +**Breaking changes:** + +- \(RE-15124\) Decouple DNS Record Management into DNS Plugins [\#21](https://github.com/puppetlabs/vmpooler-provider-gce/pull/21) ([yachub](https://github.com/yachub)) + ## [0.5.0](https://github.com/puppetlabs/vmpooler-provider-gce/tree/0.5.0) (2023-03-06) [Full Changelog](https://github.com/puppetlabs/vmpooler-provider-gce/compare/0.4.0...0.5.0) diff --git a/Gemfile.lock b/Gemfile.lock index 7ff812a..c4256f7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - vmpooler-provider-gce (0.5.0) + vmpooler-provider-gce (1.0.0) google-apis-compute_v1 (~> 0.14) googleauth (>= 0.16.2, < 1.3.0) vmpooler (~> 3.0) diff --git a/lib/vmpooler-provider-gce/version.rb b/lib/vmpooler-provider-gce/version.rb index effca7b..1965223 100644 --- a/lib/vmpooler-provider-gce/version.rb +++ b/lib/vmpooler-provider-gce/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module VmpoolerProviderGce - VERSION = '0.5.0' + VERSION = '1.0.0' end From 515ba9f0a509933499a086ed9b48983223631c1a Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Wed, 19 Apr 2023 16:57:32 -0400 Subject: [PATCH 11/29] Bump jruby to 9.4.2.0 --- .github/workflows/release.yml | 4 ++-- .github/workflows/testing.yml | 4 ++-- install-gemfile-lock | 2 +- release-prep | 2 +- update-gemfile-lock | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0e30eae..9bbc39d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,10 +70,10 @@ jobs: prerelease: false # This step should closely match what is used in `docker/Dockerfile` in vmpooler-deployment - - name: Install Ruby jruby-9.4.1.0 + - name: Install Ruby jruby-9.4.2.0 uses: ruby/setup-ruby@v1 with: - ruby-version: 'jruby-9.4.1.0' + ruby-version: 'jruby-9.4.2.0' - name: Build gem run: gem build *.gemspec diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index eac55b3..54dab4b 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: ruby-version: - - 'jruby-9.4.1.0' + - 'jruby-9.4.2.0' steps: - uses: actions/checkout@v3 - name: Set up Ruby @@ -34,7 +34,7 @@ jobs: strategy: matrix: ruby-version: - - 'jruby-9.4.1.0' + - 'jruby-9.4.2.0' steps: - uses: actions/checkout@v3 - name: Set up Ruby diff --git a/install-gemfile-lock b/install-gemfile-lock index 07cbd49..94a5e5e 100755 --- a/install-gemfile-lock +++ b/install-gemfile-lock @@ -3,5 +3,5 @@ # The container tag should closely match what is used in `docker/Dockerfile` in vmpooler-deployment docker run -it --rm \ -v $(pwd):/app \ - jruby:9.4.1.0-jdk11 \ + jruby:9.4.2.0-jdk11 \ /bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make git netbase && cd /app && gem install bundler && bundle install --jobs 3; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"' diff --git a/release-prep b/release-prep index 59c10f7..0b69a8c 100755 --- a/release-prep +++ b/release-prep @@ -5,7 +5,7 @@ # Update Gemfile.lock docker run -it --rm \ -v $(pwd):/app \ - jruby:9.4.1.0-jdk11 \ + jruby:9.4.2.0-jdk11 \ /bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends git make netbase && cd /app && gem install bundler && bundle install --jobs 3; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"' # Update Changelog diff --git a/update-gemfile-lock b/update-gemfile-lock index 46c4873..68ea73f 100755 --- a/update-gemfile-lock +++ b/update-gemfile-lock @@ -3,5 +3,5 @@ # The container tag should closely match what is used in `docker/Dockerfile` in vmpooler-deployment docker run -it --rm \ -v $(pwd):/app \ - jruby:9.4.1.0-jdk11 \ + jruby:9.4.2.0-jdk11 \ /bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends git make netbase && cd /app && gem install bundler && bundle install --jobs 3 && bundle update; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"' From 80234b4337b37aee16c7a11bd522ed702a84c875 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Thu, 20 Apr 2023 08:50:57 -0400 Subject: [PATCH 12/29] Migrate issue management to Jira --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index d7e4e98..368c96e 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ - [Labels](#labels) - [Pre-requisite](#pre-requisite) - [Update the Gemfile Lock](#update-the-gemfile-lock) + - [Submitting Issues](#submitting-issues) - [Releasing](#releasing) - [License](#license) @@ -89,6 +90,10 @@ To update the `Gemfile.lock` run `./update-gemfile-lock`. Verify, and update if needed, that the docker tag in the script and GitHub action workflows matches what is used in the [vmpooler-deployment Dockerfile](https://github.com/puppetlabs/vmpooler-deployment/blob/main/docker/Dockerfile). +## Submitting Issues + +Please file any issues or requests in Jira at where project development is tracked across all VMPooler related components. + ## Releasing Follow these steps to publish a new GitHub release, and build and push the gem to . From 2d4ff564298ec9ffe4897a2b738653e53160494e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 19 Oct 2022 13:33:11 +0000 Subject: [PATCH 13/29] Update googleauth requirement from >= 0.16.2, < 1.3.0 to >= 0.16.2, < 1.4.0 Updates the requirements on [googleauth](https://github.com/googleapis/google-auth-library-ruby) to permit the latest version. - [Release notes](https://github.com/googleapis/google-auth-library-ruby/releases) - [Changelog](https://github.com/googleapis/google-auth-library-ruby/blob/main/CHANGELOG.md) - [Commits](https://github.com/googleapis/google-auth-library-ruby/compare/googleauth/v0.17.0...googleauth/v1.3.0) --- updated-dependencies: - dependency-name: googleauth dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- vmpooler-provider-gce.gemspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c4256f7..58375e0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,7 +3,7 @@ PATH specs: vmpooler-provider-gce (1.0.0) google-apis-compute_v1 (~> 0.14) - googleauth (>= 0.16.2, < 1.3.0) + googleauth (>= 0.16.2, < 1.4.0) vmpooler (~> 3.0) GEM diff --git a/vmpooler-provider-gce.gemspec b/vmpooler-provider-gce.gemspec index 304c16e..ac5f4b8 100644 --- a/vmpooler-provider-gce.gemspec +++ b/vmpooler-provider-gce.gemspec @@ -16,7 +16,7 @@ Gem::Specification.new do |s| s.files = Dir[ "lib/**/*" ] s.require_paths = ["lib"] s.add_dependency "google-apis-compute_v1", "~> 0.14" - s.add_dependency "googleauth", ">= 0.16.2", "< 1.3.0" + s.add_dependency "googleauth", ">= 0.16.2", "< 1.4.0" s.add_dependency 'vmpooler', '~> 3.0' # Testing dependencies From ce61a7a6c2f459f86204f785969c49e03b2882ed Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 20 Apr 2023 15:28:13 +0000 Subject: [PATCH 14/29] Bump rack-test from 2.0.2 to 2.1.0 Bumps [rack-test](https://github.com/rack/rack-test) from 2.0.2 to 2.1.0. - [Release notes](https://github.com/rack/rack-test/releases) - [Changelog](https://github.com/rack/rack-test/blob/main/History.md) - [Commits](https://github.com/rack/rack-test/compare/v2.0.2...v2.1.0) --- updated-dependencies: - dependency-name: rack-test dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 58375e0..288eeea 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -58,7 +58,8 @@ GEM mustermann (2.0.2) ruby2_keywords (~> 0.0.1) net-ldap (0.17.1) - nio4r (2.5.8-java) + nio4r (2.5.2) + nio4r (2.5.2-java) opentelemetry-api (1.1.0) opentelemetry-common (0.19.6) opentelemetry-api (~> 1.0) @@ -102,17 +103,22 @@ GEM ast (~> 2.4.1) pickup (0.0.11) prometheus-client (2.1.0) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) pry (0.14.2-java) coderay (~> 1.1) method_source (~> 1.0) spoon (~> 0.0) public_suffix (5.0.1) + puma (5.6.5) + nio4r (~> 2.0) puma (5.6.5-java) nio4r (~> 2.0) - rack (2.2.6.2) + rack (2.2.6.4) rack-protection (2.2.4) rack - rack-test (2.0.2) + rack-test (2.1.0) rack (>= 1.3) rainbow (3.1.1) rake (13.0.6) @@ -206,6 +212,7 @@ GEM PLATFORMS universal-java-1.8 universal-java-11 + x86_64-linux DEPENDENCIES climate_control (>= 0.2.0) From ea9896104a23bdaa974bb6fe8c86eb07cb338402 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Mon, 1 May 2023 08:29:28 -0400 Subject: [PATCH 15/29] 1.1.0 release prep --- CHANGELOG.md | 11 +++++++++++ Gemfile.lock | 2 +- lib/vmpooler-provider-gce/version.rb | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fedf2fd..0eaac92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,16 @@ # Changelog +## [1.1.0](https://github.com/puppetlabs/vmpooler-provider-gce/tree/1.1.0) (2023-05-01) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-provider-gce/compare/1.0.0...1.1.0) + +**Merged pull requests:** + +- Migrate issue management to Jira [\#27](https://github.com/puppetlabs/vmpooler-provider-gce/pull/27) ([yachub](https://github.com/yachub)) +- Bump jruby to 9.4.2.0 [\#26](https://github.com/puppetlabs/vmpooler-provider-gce/pull/26) ([yachub](https://github.com/yachub)) +- Bump rack-test from 2.0.2 to 2.1.0 [\#24](https://github.com/puppetlabs/vmpooler-provider-gce/pull/24) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Update googleauth requirement from \>= 0.16.2, \< 1.3.0 to \>= 0.16.2, \< 1.4.0 [\#18](https://github.com/puppetlabs/vmpooler-provider-gce/pull/18) ([dependabot[bot]](https://github.com/apps/dependabot)) + ## [1.0.0](https://github.com/puppetlabs/vmpooler-provider-gce/tree/1.0.0) (2023-04-19) [Full Changelog](https://github.com/puppetlabs/vmpooler-provider-gce/compare/0.5.0...1.0.0) diff --git a/Gemfile.lock b/Gemfile.lock index 288eeea..c4db5c6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - vmpooler-provider-gce (1.0.0) + vmpooler-provider-gce (1.1.0) google-apis-compute_v1 (~> 0.14) googleauth (>= 0.16.2, < 1.4.0) vmpooler (~> 3.0) diff --git a/lib/vmpooler-provider-gce/version.rb b/lib/vmpooler-provider-gce/version.rb index 1965223..239f836 100644 --- a/lib/vmpooler-provider-gce/version.rb +++ b/lib/vmpooler-provider-gce/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module VmpoolerProviderGce - VERSION = '1.0.0' + VERSION = '1.1.0' end From e0cc9712ed817b399ee593565083ddb73beaf77a Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Mon, 1 May 2023 08:29:35 -0400 Subject: [PATCH 16/29] Comment changelog validation until jira support is added --- .github/workflows/release.yml | 38 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9bbc39d..aa796df 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,26 +29,26 @@ jobs: echo "version=$version" >> $GITHUB_OUTPUT echo "Found version $version from lib/vmpooler-provider-gce/version.rb" - - name: Generate Changelog - uses: docker://githubchangeloggenerator/github-changelog-generator:1.16.2 - with: - args: >- - --future-release ${{ steps.nv.outputs.version }} - env: - CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # - name: Generate Changelog + # uses: docker://githubchangeloggenerator/github-changelog-generator:1.16.2 + # with: + # args: >- + # --future-release ${{ steps.nv.outputs.version }} + # env: + # CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Validate Changelog - run : | - set -e - if [[ -n $(git status --porcelain) ]]; then - echo "Here is the current git status:" - git status - echo - echo "The following changes were detected:" - git --no-pager diff - echo "Uncommitted PRs found in the changelog. Please submit a release prep PR of changes after running `./update-changelog`" - exit 1 - fi + # - name: Validate Changelog + # run : | + # set -e + # if [[ -n $(git status --porcelain) ]]; then + # echo "Here is the current git status:" + # git status + # echo + # echo "The following changes were detected:" + # git --no-pager diff + # echo "Uncommitted PRs found in the changelog. Please submit a release prep PR of changes after running `./update-changelog`" + # exit 1 + # fi - name: Generate Release Notes uses: docker://githubchangeloggenerator/github-changelog-generator:1.16.2 From 521a0f11f1cbe72f86d7fb761c8a137ab6e341d9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 May 2023 02:57:58 +0000 Subject: [PATCH 17/29] Bump thor from 1.2.1 to 1.2.2 Bumps [thor](https://github.com/rails/thor) from 1.2.1 to 1.2.2. - [Release notes](https://github.com/rails/thor/releases) - [Commits](https://github.com/rails/thor/compare/v1.2.1...v1.2.2) --- updated-dependencies: - dependency-name: thor dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- Gemfile.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile.lock b/Gemfile.lock index c4db5c6..409cbee 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -177,7 +177,7 @@ GEM spoon (0.0.6) ffi statsd-ruby (1.5.0) - thor (1.2.1) + thor (1.2.2) thrift (0.18.0) tilt (2.1.0) trailblazer-option (0.1.2) From d3713133c846e0324ecf81a8570ac9df51efebf0 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Thu, 20 Apr 2023 08:50:57 -0400 Subject: [PATCH 18/29] Revert "Migrate issue management to Jira" This reverts commit 80234b4337b37aee16c7a11bd522ed702a84c875. --- README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/README.md b/README.md index 368c96e..d7e4e98 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ - [Labels](#labels) - [Pre-requisite](#pre-requisite) - [Update the Gemfile Lock](#update-the-gemfile-lock) - - [Submitting Issues](#submitting-issues) - [Releasing](#releasing) - [License](#license) @@ -90,10 +89,6 @@ To update the `Gemfile.lock` run `./update-gemfile-lock`. Verify, and update if needed, that the docker tag in the script and GitHub action workflows matches what is used in the [vmpooler-deployment Dockerfile](https://github.com/puppetlabs/vmpooler-deployment/blob/main/docker/Dockerfile). -## Submitting Issues - -Please file any issues or requests in Jira at where project development is tracked across all VMPooler related components. - ## Releasing Follow these steps to publish a new GitHub release, and build and push the gem to . From 0347c4273558b49181beafafc72465d6cc44783c Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Mon, 1 May 2023 08:29:35 -0400 Subject: [PATCH 19/29] Revert "Comment changelog validation until jira support is added" This reverts commit e0cc9712ed817b399ee593565083ddb73beaf77a. --- .github/workflows/release.yml | 38 +++++++++++++++++------------------ 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aa796df..9bbc39d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,26 +29,26 @@ jobs: echo "version=$version" >> $GITHUB_OUTPUT echo "Found version $version from lib/vmpooler-provider-gce/version.rb" - # - name: Generate Changelog - # uses: docker://githubchangeloggenerator/github-changelog-generator:1.16.2 - # with: - # args: >- - # --future-release ${{ steps.nv.outputs.version }} - # env: - # CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Generate Changelog + uses: docker://githubchangeloggenerator/github-changelog-generator:1.16.2 + with: + args: >- + --future-release ${{ steps.nv.outputs.version }} + env: + CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # - name: Validate Changelog - # run : | - # set -e - # if [[ -n $(git status --porcelain) ]]; then - # echo "Here is the current git status:" - # git status - # echo - # echo "The following changes were detected:" - # git --no-pager diff - # echo "Uncommitted PRs found in the changelog. Please submit a release prep PR of changes after running `./update-changelog`" - # exit 1 - # fi + - name: Validate Changelog + run : | + set -e + if [[ -n $(git status --porcelain) ]]; then + echo "Here is the current git status:" + git status + echo + echo "The following changes were detected:" + git --no-pager diff + echo "Uncommitted PRs found in the changelog. Please submit a release prep PR of changes after running `./update-changelog`" + exit 1 + fi - name: Generate Release Notes uses: docker://githubchangeloggenerator/github-changelog-generator:1.16.2 From cec4ea64d6b495aafbd6f54ea69c2083e8e9d40a Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Thu, 10 Aug 2023 07:17:30 -0400 Subject: [PATCH 20/29] Bump jruby to 9.4.3.0 and update lockfile --- .github/workflows/release.yml | 4 +- .github/workflows/testing.yml | 4 +- Gemfile.lock | 155 ++++++++++++++++++---------------- install-gemfile-lock | 2 +- release-prep | 2 +- update-gemfile-lock | 2 +- 6 files changed, 89 insertions(+), 80 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9bbc39d..4db3728 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -70,10 +70,10 @@ jobs: prerelease: false # This step should closely match what is used in `docker/Dockerfile` in vmpooler-deployment - - name: Install Ruby jruby-9.4.2.0 + - name: Install Ruby jruby-9.4.3.0 uses: ruby/setup-ruby@v1 with: - ruby-version: 'jruby-9.4.2.0' + ruby-version: 'jruby-9.4.3.0' - name: Build gem run: gem build *.gemspec diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 54dab4b..105fc8e 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -18,7 +18,7 @@ jobs: strategy: matrix: ruby-version: - - 'jruby-9.4.2.0' + - 'jruby-9.4.3.0' steps: - uses: actions/checkout@v3 - name: Set up Ruby @@ -34,7 +34,7 @@ jobs: strategy: matrix: ruby-version: - - 'jruby-9.4.2.0' + - 'jruby-9.4.3.0' steps: - uses: actions/checkout@v3 - name: Set up Ruby diff --git a/Gemfile.lock b/Gemfile.lock index 409cbee..ee5b3e9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -9,7 +9,7 @@ PATH GEM remote: https://rubygems.org/ specs: - addressable (2.8.1) + addressable (2.8.5) public_suffix (>= 2.0.2, < 6.0) ast (2.4.2) bindata (2.4.15) @@ -17,19 +17,19 @@ GEM climate_control (1.2.0) coderay (1.1.3) concurrent-ruby (1.2.2) - connection_pool (2.3.0) + connection_pool (2.4.1) declarative (0.0.20) deep_merge (1.2.2) diff-lcs (1.5.0) docile (1.4.0) - faraday (2.7.4) + faraday (2.7.10) faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-net_http (3.0.2) ffi (1.15.5-java) - google-apis-compute_v1 (0.62.0) + google-apis-compute_v1 (0.75.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-core (0.11.0) + google-apis-core (0.11.1) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -40,7 +40,7 @@ GEM webrick google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) - googleauth (1.2.0) + googleauth (1.3.0) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) memoist (~> 0.16) @@ -48,61 +48,68 @@ GEM os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) httpclient (2.8.3) - jwt (2.7.0) + jwt (2.7.1) memoist (0.16.2) method_source (1.0.0) - mini_mime (1.1.2) - mock_redis (0.36.0) - ruby2_keywords + mini_mime (1.1.5) + mock_redis (0.37.0) multi_json (1.15.0) - mustermann (2.0.2) + mustermann (3.0.0) ruby2_keywords (~> 0.0.1) - net-ldap (0.17.1) - nio4r (2.5.2) - nio4r (2.5.2-java) - opentelemetry-api (1.1.0) - opentelemetry-common (0.19.6) + net-ldap (0.18.0) + nio4r (2.5.9) + nio4r (2.5.9-java) + opentelemetry-api (1.2.1) + opentelemetry-common (0.20.0) opentelemetry-api (~> 1.0) - opentelemetry-exporter-jaeger (0.20.1) - opentelemetry-api (~> 1.0) - opentelemetry-common (~> 0.19.2) - opentelemetry-sdk (~> 1.0) + opentelemetry-exporter-jaeger (0.23.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions thrift - opentelemetry-instrumentation-base (0.19.0) + opentelemetry-instrumentation-base (0.22.2) opentelemetry-api (~> 1.0) - opentelemetry-instrumentation-concurrent_ruby (0.19.2) + opentelemetry-registry (~> 0.1) + opentelemetry-instrumentation-concurrent_ruby (0.21.1) opentelemetry-api (~> 1.0) - opentelemetry-instrumentation-base (~> 0.19.0) - opentelemetry-instrumentation-http_client (0.19.4) + opentelemetry-instrumentation-base (~> 0.22.1) + opentelemetry-instrumentation-http_client (0.22.2) opentelemetry-api (~> 1.0) - opentelemetry-common (~> 0.19.3) - opentelemetry-instrumentation-base (~> 0.19.0) - opentelemetry-instrumentation-redis (0.21.3) + opentelemetry-common (~> 0.20.0) + opentelemetry-instrumentation-base (~> 0.22.1) + opentelemetry-instrumentation-rack (0.23.4) opentelemetry-api (~> 1.0) - opentelemetry-common (~> 0.19.3) - opentelemetry-instrumentation-base (~> 0.19.0) - opentelemetry-instrumentation-sinatra (0.19.3) + opentelemetry-common (~> 0.20.0) + opentelemetry-instrumentation-base (~> 0.22.1) + opentelemetry-instrumentation-redis (0.25.3) opentelemetry-api (~> 1.0) - opentelemetry-common (~> 0.19.3) - opentelemetry-instrumentation-base (~> 0.19.0) - opentelemetry-registry (0.2.0) + opentelemetry-common (~> 0.20.0) + opentelemetry-instrumentation-base (~> 0.22.1) + opentelemetry-instrumentation-sinatra (0.23.2) + opentelemetry-api (~> 1.0) + opentelemetry-common (~> 0.20.0) + opentelemetry-instrumentation-base (~> 0.22.1) + opentelemetry-instrumentation-rack (~> 0.21) + opentelemetry-registry (0.3.0) opentelemetry-api (~> 1.1) - opentelemetry-resource_detectors (0.19.1) + opentelemetry-resource_detectors (0.24.1) google-cloud-env - opentelemetry-sdk - opentelemetry-sdk (1.2.0) + opentelemetry-sdk (~> 1.0) + opentelemetry-sdk (1.3.0) opentelemetry-api (~> 1.1) - opentelemetry-common (~> 0.19.3) + opentelemetry-common (~> 0.20) opentelemetry-registry (~> 0.2) opentelemetry-semantic_conventions - opentelemetry-semantic_conventions (1.8.0) + opentelemetry-semantic_conventions (1.10.0) opentelemetry-api (~> 1.0) os (1.1.4) - parallel (1.22.1) - parser (3.2.1.0) + parallel (1.23.0) + parser (3.2.2.3) ast (~> 2.4.1) + racc pickup (0.0.11) - prometheus-client (2.1.0) + prometheus-client (4.2.1) pry (0.14.2) coderay (~> 1.1) method_source (~> 1.0) @@ -110,39 +117,41 @@ GEM coderay (~> 1.1) method_source (~> 1.0) spoon (~> 0.0) - public_suffix (5.0.1) - puma (5.6.5) + public_suffix (5.0.3) + puma (6.3.0) nio4r (~> 2.0) - puma (5.6.5-java) + puma (6.3.0-java) nio4r (~> 2.0) - rack (2.2.6.4) - rack-protection (2.2.4) - rack + racc (1.7.1) + racc (1.7.1-java) + rack (2.2.8) + rack-protection (3.1.0) + rack (~> 2.2, >= 2.2.4) rack-test (2.1.0) rack (>= 1.3) rainbow (3.1.1) rake (13.0.6) redis (4.8.1) - regexp_parser (2.7.0) + regexp_parser (2.8.1) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rexml (3.2.5) + rexml (3.2.6) rspec (3.12.0) rspec-core (~> 3.12.0) rspec-expectations (~> 3.12.0) rspec-mocks (~> 3.12.0) - rspec-core (3.12.1) + rspec-core (3.12.2) rspec-support (~> 3.12.0) - rspec-expectations (3.12.2) + rspec-expectations (3.12.3) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-mocks (3.12.3) + rspec-mocks (3.12.6) diff-lcs (>= 1.2.0, < 2.0) rspec-support (~> 3.12.0) - rspec-support (3.12.0) + rspec-support (3.12.1) rubocop (1.1.0) parallel (~> 1.10) parser (>= 2.7.1.5) @@ -152,9 +161,9 @@ GEM rubocop-ast (>= 1.0.1) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 2.0) - rubocop-ast (1.26.0) + rubocop-ast (1.29.0) parser (>= 3.2.1.0) - ruby-progressbar (1.11.0) + ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) signet (0.17.0) addressable (~> 2.8) @@ -167,10 +176,10 @@ GEM simplecov_json_formatter (~> 0.1) simplecov-html (0.12.3) simplecov_json_formatter (0.1.4) - sinatra (2.2.4) - mustermann (~> 2.0) - rack (~> 2.2) - rack-protection (= 2.2.4) + sinatra (3.1.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.1.0) tilt (~> 2.0) spicy-proton (2.1.15) bindata (~> 2.3) @@ -178,30 +187,30 @@ GEM ffi statsd-ruby (1.5.0) thor (1.2.2) - thrift (0.18.0) - tilt (2.1.0) + thrift (0.18.1) + tilt (2.2.0) trailblazer-option (0.1.2) uber (0.1.0) unicode-display_width (1.8.0) - vmpooler (3.0.0) + vmpooler (3.2.0) concurrent-ruby (~> 1.1) connection_pool (~> 2.2) deep_merge (~> 1.2) net-ldap (~> 0.16) - opentelemetry-exporter-jaeger (= 0.20.1) - opentelemetry-instrumentation-concurrent_ruby (= 0.19.2) - opentelemetry-instrumentation-http_client (= 0.19.4) - opentelemetry-instrumentation-redis (= 0.21.3) - opentelemetry-instrumentation-sinatra (= 0.19.3) - opentelemetry-resource_detectors (= 0.19.1) - opentelemetry-sdk (~> 1.0, >= 1.0.2) + opentelemetry-exporter-jaeger (= 0.23.0) + opentelemetry-instrumentation-concurrent_ruby (= 0.21.1) + opentelemetry-instrumentation-http_client (= 0.22.2) + opentelemetry-instrumentation-redis (= 0.25.3) + opentelemetry-instrumentation-sinatra (= 0.23.2) + opentelemetry-resource_detectors (= 0.24.1) + opentelemetry-sdk (~> 1.3, >= 1.3.0) pickup (~> 0.0.11) - prometheus-client (~> 2.0) - puma (~> 5.0, >= 5.0.4) - rack (~> 2.2) + prometheus-client (>= 2, < 5) + puma (>= 5.0.4, < 7) + rack (>= 2.2, < 4.0) rake (~> 13.0) redis (~> 4.1) - sinatra (~> 2.0) + sinatra (>= 2, < 4) spicy-proton (~> 2.1) statsd-ruby (~> 1.4) webrick (1.8.1) diff --git a/install-gemfile-lock b/install-gemfile-lock index 94a5e5e..a479b0d 100755 --- a/install-gemfile-lock +++ b/install-gemfile-lock @@ -3,5 +3,5 @@ # The container tag should closely match what is used in `docker/Dockerfile` in vmpooler-deployment docker run -it --rm \ -v $(pwd):/app \ - jruby:9.4.2.0-jdk11 \ + jruby:9.4.3.0-jdk11 \ /bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make git netbase && cd /app && gem install bundler && bundle install --jobs 3; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"' diff --git a/release-prep b/release-prep index 0b69a8c..ca8f2f7 100755 --- a/release-prep +++ b/release-prep @@ -5,7 +5,7 @@ # Update Gemfile.lock docker run -it --rm \ -v $(pwd):/app \ - jruby:9.4.2.0-jdk11 \ + jruby:9.4.3.0-jdk11 \ /bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends git make netbase && cd /app && gem install bundler && bundle install --jobs 3; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"' # Update Changelog diff --git a/update-gemfile-lock b/update-gemfile-lock index 68ea73f..31986cc 100755 --- a/update-gemfile-lock +++ b/update-gemfile-lock @@ -3,5 +3,5 @@ # The container tag should closely match what is used in `docker/Dockerfile` in vmpooler-deployment docker run -it --rm \ -v $(pwd):/app \ - jruby:9.4.2.0-jdk11 \ + jruby:9.4.3.0-jdk11 \ /bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends git make netbase && cd /app && gem install bundler && bundle install --jobs 3 && bundle update; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"' From fbd6c7e50593a398c7e5294be2165fafeb7f9a09 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Thu, 10 Aug 2023 12:21:34 -0400 Subject: [PATCH 21/29] 1.2.0 release prep --- CHANGELOG.md | 12 ++++++++++++ Gemfile.lock | 2 +- lib/vmpooler-provider-gce/version.rb | 2 +- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0eaac92..8ecfd70 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## [1.2.0](https://github.com/puppetlabs/vmpooler-provider-gce/tree/1.2.0) (2023-08-10) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-provider-gce/compare/1.1.0...1.2.0) + +**Implemented enhancements:** + +- Bump jruby to 9.4.3.0 and update lockfile [\#31](https://github.com/puppetlabs/vmpooler-provider-gce/pull/31) ([yachub](https://github.com/yachub)) + +**Merged pull requests:** + +- Bump thor from 1.2.1 to 1.2.2 [\#29](https://github.com/puppetlabs/vmpooler-provider-gce/pull/29) ([dependabot[bot]](https://github.com/apps/dependabot)) + ## [1.1.0](https://github.com/puppetlabs/vmpooler-provider-gce/tree/1.1.0) (2023-05-01) [Full Changelog](https://github.com/puppetlabs/vmpooler-provider-gce/compare/1.0.0...1.1.0) diff --git a/Gemfile.lock b/Gemfile.lock index ee5b3e9..fb4fc56 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - vmpooler-provider-gce (1.1.0) + vmpooler-provider-gce (1.2.0) google-apis-compute_v1 (~> 0.14) googleauth (>= 0.16.2, < 1.4.0) vmpooler (~> 3.0) diff --git a/lib/vmpooler-provider-gce/version.rb b/lib/vmpooler-provider-gce/version.rb index 239f836..e9c952d 100644 --- a/lib/vmpooler-provider-gce/version.rb +++ b/lib/vmpooler-provider-gce/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module VmpoolerProviderGce - VERSION = '1.1.0' + VERSION = '1.2.0' end From 493e358ba1f94e246280bd1912e3e440b192867a Mon Sep 17 00:00:00 2001 From: isaac-hammes Date: Thu, 17 Aug 2023 13:08:08 -0700 Subject: [PATCH 22/29] (POD-10) Log reason for failed VM checks. --- lib/vmpooler/providers/gce.rb | 6 ++++-- spec/unit/providers/gce_spec.rb | 8 ++++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/vmpooler/providers/gce.rb b/lib/vmpooler/providers/gce.rb index e7d838d..747872e 100644 --- a/lib/vmpooler/providers/gce.rb +++ b/lib/vmpooler/providers/gce.rb @@ -460,15 +460,17 @@ module Vmpooler true end - def vm_ready?(pool_name, vm_name) + def vm_ready?(pool_name, vm_name, redis) debug_logger('vm_ready?') begin # TODO: we could use a healthcheck resource attached to instance domain = domain(pool_name) open_socket(vm_name, domain) - rescue StandardError => _e + rescue StandardError => e + redis.hset("vmpooler__vm__#{vm_name}", 'open_socket_error', e.to_s) return false end + redis.hdel("vmpooler__vm__#{vm_name}", 'open_socket_error') true end diff --git a/spec/unit/providers/gce_spec.rb b/spec/unit/providers/gce_spec.rb index 614a23b..1e219b9 100644 --- a/spec/unit/providers/gce_spec.rb +++ b/spec/unit/providers/gce_spec.rb @@ -361,7 +361,9 @@ EOT end it 'should return true' do - expect(subject.vm_ready?(poolname, vmname)).to be true + redis_connection_pool.with_metrics do |redis| + expect(subject.vm_ready?(poolname, vmname, redis)).to be true + end end end @@ -371,7 +373,9 @@ EOT end it 'should return false' do - expect(subject.vm_ready?(poolname, vmname)).to be false + redis_connection_pool.with_metrics do |redis| + expect(subject.vm_ready?(poolname, vmname, redis)).to be false + end end end end From e58c1a8bb3c2c88c78eb60640b4bfa5b8df10618 Mon Sep 17 00:00:00 2001 From: isaac-hammes Date: Fri, 18 Aug 2023 08:45:44 -0700 Subject: [PATCH 23/29] (maint) Release prep for version 1.3.0 --- CHANGELOG.md | 8 ++++++++ Gemfile.lock | 2 +- lib/vmpooler-provider-gce/version.rb | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8ecfd70..ed1eead 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [1.3.0](https://github.com/puppetlabs/vmpooler-provider-gce/tree/1.3.0) (2023-08-18) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-provider-gce/compare/1.2.0...1.3.0) + +**Implemented enhancements:** + +- \(POD-10\) Log reason for failed VM checks. [\#33](https://github.com/puppetlabs/vmpooler-provider-gce/pull/33) ([isaac-hammes](https://github.com/isaac-hammes)) + ## [1.2.0](https://github.com/puppetlabs/vmpooler-provider-gce/tree/1.2.0) (2023-08-10) [Full Changelog](https://github.com/puppetlabs/vmpooler-provider-gce/compare/1.1.0...1.2.0) diff --git a/Gemfile.lock b/Gemfile.lock index fb4fc56..749532c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - vmpooler-provider-gce (1.2.0) + vmpooler-provider-gce (1.3.0) google-apis-compute_v1 (~> 0.14) googleauth (>= 0.16.2, < 1.4.0) vmpooler (~> 3.0) diff --git a/lib/vmpooler-provider-gce/version.rb b/lib/vmpooler-provider-gce/version.rb index e9c952d..b97bce2 100644 --- a/lib/vmpooler-provider-gce/version.rb +++ b/lib/vmpooler-provider-gce/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module VmpoolerProviderGce - VERSION = '1.2.0' + VERSION = '1.3.0' end From 01a0446e036d243530d5cb1776d0b15ce4b9686f Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Tue, 5 Dec 2023 17:16:56 -0500 Subject: [PATCH 24/29] syncing files from release-engineering-repo-standards --- .github/dependabot.yml | 6 ++++++ .github/workflows/auto_release_prep.yml | 11 +++++++++++ .github/workflows/dependabot_merge.yml | 8 ++++++++ .github/workflows/ensure_label.yml | 8 ++++++++ 4 files changed, 33 insertions(+) create mode 100644 .github/workflows/auto_release_prep.yml create mode 100644 .github/workflows/dependabot_merge.yml create mode 100644 .github/workflows/ensure_label.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 81e0069..4ae585a 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -5,3 +5,9 @@ updates: schedule: interval: weekly open-pull-requests-limit: 10 + +- package-ecosystem: github-actions + directory: "/" + schedule: + interval: weekly + open-pull-requests-limit: 10 diff --git a/.github/workflows/auto_release_prep.yml b/.github/workflows/auto_release_prep.yml new file mode 100644 index 0000000..1223c43 --- /dev/null +++ b/.github/workflows/auto_release_prep.yml @@ -0,0 +1,11 @@ +name: Automated release prep + +on: + workflow_dispatch: + +jobs: + auto_release_prep: + uses: puppetlabs/release-engineering-repo-standards/.github/workflows/auto_release_prep.yml@v1 + secrets: inherit + with: + version-file-path: lib/vmpooler-provider-gce/version.rb diff --git a/.github/workflows/dependabot_merge.yml b/.github/workflows/dependabot_merge.yml new file mode 100644 index 0000000..75b9cea --- /dev/null +++ b/.github/workflows/dependabot_merge.yml @@ -0,0 +1,8 @@ +name: Dependabot auto-merge + +on: pull_request + +jobs: + dependabot_merge: + uses: puppetlabs/release-engineering-repo-standards/.github/workflows/dependabot_merge.yml@v1 + secrets: inherit diff --git a/.github/workflows/ensure_label.yml b/.github/workflows/ensure_label.yml new file mode 100644 index 0000000..50a5fa8 --- /dev/null +++ b/.github/workflows/ensure_label.yml @@ -0,0 +1,8 @@ +name: Ensure label + +on: pull_request + +jobs: + ensure_label: + uses: puppetlabs/release-engineering-repo-standards/.github/workflows/ensure_label.yml@v1 + secrets: inherit From 428f7a041d3557977fa011a7ac788ce3d342bce6 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Dec 2023 13:48:34 +0000 Subject: [PATCH 25/29] Bump actions/checkout from 3 to 4 Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- .github/workflows/security.yml | 2 +- .github/workflows/testing.yml | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 4db3728..6d59f04 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest if: github.repository == 'puppetlabs/vmpooler-provider-gce' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Get Current Version uses: actions/github-script@v6 diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index 666c602..30e3388 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -11,7 +11,7 @@ jobs: runs-on: ubuntu-latest steps: - name: checkout repo content - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 1 - name: setup ruby diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 105fc8e..1f2f421 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -20,7 +20,7 @@ jobs: ruby-version: - 'jruby-9.4.3.0' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: @@ -36,7 +36,7 @@ jobs: ruby-version: - 'jruby-9.4.3.0' steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: From bbce7bd019fdd19c78e19f0fdbaca6f33f157c62 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Dec 2023 13:48:38 +0000 Subject: [PATCH 26/29] Bump actions/setup-java from 3 to 4 Bumps [actions/setup-java](https://github.com/actions/setup-java) from 3 to 4. - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](https://github.com/actions/setup-java/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/setup-java dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/security.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index 666c602..0a6c0dd 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -22,7 +22,7 @@ jobs: - name: check lock run: '[ -f "Gemfile.lock" ] && echo "package lock file exists, skipping" || bundle lock' # install java - - uses: actions/setup-java@v3 + - uses: actions/setup-java@v4 with: distribution: 'temurin' # See 'Supported distributions' for available options java-version: '17' From 8eec9a765fc43cadf8f58cbf88090dbb227fd2db Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 7 Dec 2023 13:51:54 +0000 Subject: [PATCH 27/29] Bump actions/github-script from 6 to 7 Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7. - [Release notes](https://github.com/actions/github-script/releases) - [Commits](https://github.com/actions/github-script/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/github-script dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6d59f04..add1656 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,7 +10,7 @@ jobs: - uses: actions/checkout@v4 - name: Get Current Version - uses: actions/github-script@v6 + uses: actions/github-script@v7 id: cv with: script: | From ec6383fac86bcc5beff23e05244961df620daf63 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Mon, 15 Jan 2024 09:24:55 -0500 Subject: [PATCH 28/29] Fix missing param in auto_release_prep --- .github/workflows/auto_release_prep.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/auto_release_prep.yml b/.github/workflows/auto_release_prep.yml index 1223c43..ad905fa 100644 --- a/.github/workflows/auto_release_prep.yml +++ b/.github/workflows/auto_release_prep.yml @@ -8,4 +8,5 @@ jobs: uses: puppetlabs/release-engineering-repo-standards/.github/workflows/auto_release_prep.yml@v1 secrets: inherit with: + project-type: ruby version-file-path: lib/vmpooler-provider-gce/version.rb From 651e4ba892b36fc619b1cf4ae839ea9d71cf6842 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Fri, 19 Jan 2024 15:34:12 -0500 Subject: [PATCH 29/29] Remove interactive option from release prep script --- release-prep | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release-prep b/release-prep index ca8f2f7..502ad2b 100755 --- a/release-prep +++ b/release-prep @@ -3,13 +3,13 @@ # The container tag should closely match what is used in `docker/Dockerfile` in vmpooler-deployment # # Update Gemfile.lock -docker run -it --rm \ +docker run -t --rm \ -v $(pwd):/app \ jruby:9.4.3.0-jdk11 \ /bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends git make netbase && cd /app && gem install bundler && bundle install --jobs 3; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"' # Update Changelog -docker run -it --rm -e CHANGELOG_GITHUB_TOKEN -v $(pwd):/usr/local/src/your-app \ +docker run -t --rm -e CHANGELOG_GITHUB_TOKEN -v $(pwd):/usr/local/src/your-app \ githubchangeloggenerator/github-changelog-generator:1.16.2 \ github_changelog_generator --future-release $(grep VERSION lib/vmpooler-provider-gce/version.rb |rev |cut -d "'" -f2 |rev)