From c2fba039d821593f39a5c08e5915454f5ebe13c8 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Fri, 27 Jan 2023 16:05:20 -0500 Subject: [PATCH 1/4] Bump vmpooler-provider-vsphere --- docker/Gemfile | 4 +- docker/Gemfile.lock | 113 +++++++++++++++++++++++++++----------------- 2 files changed, 71 insertions(+), 46 deletions(-) diff --git a/docker/Gemfile b/docker/Gemfile index 9bfbe83..e345644 100644 --- a/docker/Gemfile +++ b/docker/Gemfile @@ -3,10 +3,10 @@ source ENV['GEM_SOURCE'] || 'https://rubygems.org' gem 'vmpooler', '~> 2.4' gem 'vmpooler-provider-ec2', '~> 0.0.1' gem 'vmpooler-provider-gce', '~> 0.4' -gem 'vmpooler-provider-vsphere', '~> 1.6' +# gem 'vmpooler-provider-vsphere', '~> 1.6' # For development install via a git branch use something like: # gem 'vmpooler', git: 'https://github.com/puppetlabs/vmpooler.git', branch: 'my-feature' # gem 'vmpooler-provider-ec2', git: 'https://github.com/puppetlabs/vmpooler-provider-ec2.git', branch: 'my-feature' # gem 'vmpooler-provider-gce', git: 'https://github.com/puppetlabs/vmpooler-provider-gce.git', branch: 'my-feature' -# gem 'vmpooler-provider-vsphere', git: 'https://github.com/puppetlabs/vmpooler-provider-vsphere.git', branch: 'my-feature' +gem 'vmpooler-provider-vsphere', git: 'https://github.com/puppetlabs/vmpooler-provider-vsphere.git', branch: 'use-rbvmomi2' diff --git a/docker/Gemfile.lock b/docker/Gemfile.lock index 23ce54f..606e623 100644 --- a/docker/Gemfile.lock +++ b/docker/Gemfile.lock @@ -1,21 +1,42 @@ +GIT + remote: https://github.com/puppetlabs/vmpooler-provider-vsphere.git + revision: b855080acbe6201871e35d5374de2e159d95f44c + branch: use-rbvmomi2 + specs: + vmpooler-provider-vsphere (1.6.0) + rbvmomi2 (>= 3.1, < 4.0) + vmpooler (~> 2.4) + GEM remote: https://rubygems.org/ specs: - addressable (2.8.0) - public_suffix (>= 2.0.2, < 5.0) - bindata (2.4.10) + addressable (2.8.1) + public_suffix (>= 2.0.2, < 6.0) + aws-eventstream (1.2.0) + aws-partitions (1.701.0) + aws-sdk-core (3.170.0) + aws-eventstream (~> 1, >= 1.0.2) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.5) + jmespath (~> 1, >= 1.6.1) + aws-sdk-ec2 (1.361.0) + aws-sdk-core (~> 3, >= 3.165.0) + aws-sigv4 (~> 1.1) + aws-sigv4 (1.5.2) + aws-eventstream (~> 1, >= 1.0.2) + bindata (2.4.14) builder (3.2.4) - concurrent-ruby (1.1.10) - connection_pool (2.2.5) + concurrent-ruby (1.2.0) + connection_pool (2.3.0) declarative (0.0.20) deep_merge (1.2.2) - faraday (2.3.0) - faraday-net_http (~> 2.0) + faraday (2.7.4) + faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) - faraday-net_http (2.0.3) - google-apis-compute_v1 (0.44.0) - google-apis-core (>= 0.7, < 2.a) - google-apis-core (0.7.0) + faraday-net_http (3.0.2) + google-apis-compute_v1 (0.59.0) + google-apis-core (>= 0.9.1, < 2.a) + google-apis-core (0.10.0) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -24,8 +45,8 @@ GEM retriable (>= 2.0, < 4.a) rexml webrick - google-apis-dns_v1 (0.23.0) - google-apis-core (>= 0.7, < 2.a) + google-apis-dns_v1 (0.29.0) + google-apis-core (>= 0.9.1, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) @@ -36,8 +57,8 @@ GEM zonefile (~> 1.04) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) - google-cloud-errors (1.2.0) - googleauth (1.1.3) + google-cloud-errors (1.3.0) + googleauth (1.2.0) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) memoist (~> 0.16) @@ -45,18 +66,20 @@ GEM os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) httpclient (2.8.3) - json (2.6.2-java) - jwt (2.4.1) + jmespath (1.6.2) + json (2.6.3-java) + jwt (2.6.0) memoist (0.16.2) mini_mime (1.1.2) multi_json (1.15.0) mustermann (2.0.2) ruby2_keywords (~> 0.0.1) net-ldap (0.17.1) + net-ssh (7.0.1) nio4r (2.5.8-java) - nokogiri (1.13.8-java) + nokogiri (1.13.10-java) racc (~> 1.4) - opentelemetry-api (1.0.2) + opentelemetry-api (1.1.0) opentelemetry-common (0.19.6) opentelemetry-api (~> 1.0) opentelemetry-exporter-jaeger (0.20.1) @@ -81,15 +104,15 @@ GEM opentelemetry-api (~> 1.0) opentelemetry-common (~> 0.19.3) opentelemetry-instrumentation-base (~> 0.19.0) - opentelemetry-registry (0.1.0) - opentelemetry-api (~> 1.0.1) + opentelemetry-registry (0.2.0) + opentelemetry-api (~> 1.1) opentelemetry-resource_detectors (0.19.1) google-cloud-env opentelemetry-sdk - opentelemetry-sdk (1.1.0) - opentelemetry-api (~> 1.0) + opentelemetry-sdk (1.2.0) + opentelemetry-api (~> 1.1) opentelemetry-common (~> 0.19.3) - opentelemetry-registry (~> 0.1) + opentelemetry-registry (~> 0.2) opentelemetry-semantic_conventions opentelemetry-semantic_conventions (1.8.0) opentelemetry-api (~> 1.0) @@ -97,20 +120,20 @@ GEM os (1.1.4) pickup (0.0.11) prometheus-client (2.1.0) - public_suffix (4.0.7) - puma (5.6.4-java) + public_suffix (5.0.1) + puma (5.6.5-java) nio4r (~> 2.0) - racc (1.6.0-java) - rack (2.2.4) - rack-protection (2.2.2) + racc (1.6.2-java) + rack (2.2.6.2) + rack-protection (2.2.4) rack rake (13.0.6) - rbvmomi (3.0.0) + rbvmomi2 (3.6.0) builder (~> 3.2) json (~> 2.3) - nokogiri (~> 1.10) + nokogiri (~> 1.12, >= 1.12.5) optimist (~> 3.0) - redis (4.7.1) + redis (4.8.0) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) @@ -123,15 +146,15 @@ GEM faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - sinatra (2.2.2) + sinatra (2.2.4) mustermann (~> 2.0) rack (~> 2.2) - rack-protection (= 2.2.2) + rack-protection (= 2.2.4) tilt (~> 2.0) - spicy-proton (2.1.14) + spicy-proton (2.1.15) bindata (~> 2.3) statsd-ruby (1.5.0) - thrift (0.16.0) + thrift (0.17.0) tilt (2.0.11) trailblazer-option (0.1.2) uber (0.1.0) @@ -156,13 +179,14 @@ GEM sinatra (~> 2.0) spicy-proton (~> 2.1) statsd-ruby (~> 1.4) - vmpooler-provider-gce (0.3.0) + vmpooler-provider-ec2 (0.0.2) + aws-sdk-ec2 (~> 1) + net-ssh (>= 6.2, < 7.1) + vmpooler-provider-gce (0.4.0) google-apis-compute_v1 (~> 0.14) google-cloud-dns (~> 0.35.1) - googleauth (>= 0.16.2, < 1.2.0) - vmpooler-provider-vsphere (1.6.0) - rbvmomi (>= 2.1, < 4.0) - webrick (1.7.0) + googleauth (>= 0.16.2, < 1.3.0) + webrick (1.8.1) zonefile (1.06) PLATFORMS @@ -170,8 +194,9 @@ PLATFORMS DEPENDENCIES vmpooler (~> 2.4) - vmpooler-provider-gce (~> 0.3) - vmpooler-provider-vsphere (~> 1.6) + vmpooler-provider-ec2 (~> 0.0.1) + vmpooler-provider-gce (~> 0.4) + vmpooler-provider-vsphere! BUNDLED WITH - 2.3.18 + 2.4.5 From 8fc46771e3f1dda2c59b00ad7d12b85ad9deb887 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Mon, 30 Jan 2023 10:41:01 -0500 Subject: [PATCH 2/4] Bump vsphere gem. ec2 not fully ready yet --- docker/Gemfile | 7 ++++--- docker/Gemfile.lock | 16 +++++----------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/docker/Gemfile b/docker/Gemfile index e345644..41b2cc3 100644 --- a/docker/Gemfile +++ b/docker/Gemfile @@ -1,12 +1,13 @@ source ENV['GEM_SOURCE'] || 'https://rubygems.org' gem 'vmpooler', '~> 2.4' -gem 'vmpooler-provider-ec2', '~> 0.0.1' +# Remove temporarily until a stable minor release is published +# gem 'vmpooler-provider-ec2', '~> 0.0.1' gem 'vmpooler-provider-gce', '~> 0.4' -# gem 'vmpooler-provider-vsphere', '~> 1.6' +gem 'vmpooler-provider-vsphere', '~> 2.0' # For development install via a git branch use something like: # gem 'vmpooler', git: 'https://github.com/puppetlabs/vmpooler.git', branch: 'my-feature' # gem 'vmpooler-provider-ec2', git: 'https://github.com/puppetlabs/vmpooler-provider-ec2.git', branch: 'my-feature' # gem 'vmpooler-provider-gce', git: 'https://github.com/puppetlabs/vmpooler-provider-gce.git', branch: 'my-feature' -gem 'vmpooler-provider-vsphere', git: 'https://github.com/puppetlabs/vmpooler-provider-vsphere.git', branch: 'use-rbvmomi2' +# gem 'vmpooler-provider-vsphere', git: 'https://github.com/puppetlabs/vmpooler-provider-vsphere.git', branch: 'my-feature' diff --git a/docker/Gemfile.lock b/docker/Gemfile.lock index 606e623..767e89c 100644 --- a/docker/Gemfile.lock +++ b/docker/Gemfile.lock @@ -1,12 +1,3 @@ -GIT - remote: https://github.com/puppetlabs/vmpooler-provider-vsphere.git - revision: b855080acbe6201871e35d5374de2e159d95f44c - branch: use-rbvmomi2 - specs: - vmpooler-provider-vsphere (1.6.0) - rbvmomi2 (>= 3.1, < 4.0) - vmpooler (~> 2.4) - GEM remote: https://rubygems.org/ specs: @@ -34,7 +25,7 @@ GEM faraday-net_http (>= 2.0, < 3.1) ruby2_keywords (>= 0.0.4) faraday-net_http (3.0.2) - google-apis-compute_v1 (0.59.0) + google-apis-compute_v1 (0.60.0) google-apis-core (>= 0.9.1, < 2.a) google-apis-core (0.10.0) addressable (~> 2.5, >= 2.5.1) @@ -186,6 +177,9 @@ GEM google-apis-compute_v1 (~> 0.14) google-cloud-dns (~> 0.35.1) googleauth (>= 0.16.2, < 1.3.0) + vmpooler-provider-vsphere (2.0.0) + rbvmomi2 (>= 3.1, < 4.0) + vmpooler (~> 2.4) webrick (1.8.1) zonefile (1.06) @@ -196,7 +190,7 @@ DEPENDENCIES vmpooler (~> 2.4) vmpooler-provider-ec2 (~> 0.0.1) vmpooler-provider-gce (~> 0.4) - vmpooler-provider-vsphere! + vmpooler-provider-vsphere (~> 2.0) BUNDLED WITH 2.4.5 From cfb405b2088e866495182c776944b1eaf4f87dc8 Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Mon, 30 Jan 2023 10:41:30 -0500 Subject: [PATCH 3/4] Add artifactory helm upload example --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7bf0423..5de9e07 100644 --- a/README.md +++ b/README.md @@ -100,11 +100,14 @@ Helm charts are hosted with GitHub Pages since GitHub Packages does not support 1. Update the "appVersion" key in `helm-charts/vmpooler/Chart.yaml` to the docker image tag that was generated by opening a pull request. 2. Update the "version" key to a pre-release tag, something like "x.y.z-rc.1", then run `./build-chart` to build the chart locally, and upload it to your desired location. +Artifactory Example: +`curl -H 'X-JFrog-Art-Api:' -T vmpooler-x.y.z-rc.1.tgz "https://artifactory.example.com/artifactory/helm__local/vmpooler-x.y.z-rc.1.tgz"` + ## Releasing Create a GitHub tag and release, publish a new docker image, and helm chart by opening a release prep pull request and running the release action: -1. Bump the "appVersion" key in `helm-charts/vmpooler/Chart.yaml` appropriately based on changes to `docker/Gemfile` abd `docker/Gemfile.lock` in merged pull requests since the last release. +1. Bump the "appVersion" key in `helm-charts/vmpooler/Chart.yaml` appropriately based on changes to `docker/Gemfile` and `docker/Gemfile.lock` in merged pull requests since the last release. 2. Bump the "version" key in `helm-charts/vmpooler/Chart.yaml` appropriately based on changes to the chart itself and increments of the "appVersion" in merged pull requests since the last release. 3. Run `./update-changelog` to update `CHANGELOG.md`. 4. Commit and push changes to a new branch, then open a pull request against `main` and be sure to add the "maintenance" label. From 21e8add1ebd0ffa08274359d399614cb285c1bdd Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Mon, 30 Jan 2023 10:44:30 -0500 Subject: [PATCH 4/4] Remove amd64 prefix causing inability to update gemfile on Apple SIlicon --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 14ec768..bdbf2ec 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,7 +8,7 @@ # RUN: # docker run -e VMPOOLER_CONFIG -p 80:4567 -it vmpooler -FROM amd64/jruby:9.3.6-jdk +FROM jruby:9.3.6-jdk LABEL org.opencontainers.image.description "VMPooler plus all known providers"