beaker-google 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e7c9d8854cc9795c318f4c1b7b1dc411b6bc839ad2c293cac7bc8b99f97b0af3
4
- data.tar.gz: dc4b56228a3a7317f0c3032e63cf1708bdee5df42293961cdfc400df33b08120
3
+ metadata.gz: eb3fa4774173d47c9f9eab0d0baf8722992adf1dc7be42ff4b8c3baec9b50af8
4
+ data.tar.gz: 44736e2b7a571deea64abf5ac9b01f48d53a5b75e2c53877e2aad692f0b60ec8
5
5
  SHA512:
6
- metadata.gz: 7d230bd16333806921d355d90354fae2df1ca0f15473778125b5b7a22f5dc7268568b6749886a2e52dd5ef66b92d8c5567cdc0774633c36ea20e05f8d5c1b946
7
- data.tar.gz: f66c8a383ea3848ef48778171eae3b52ce06989ff1ec80cbd4b2422af888183ca866a6a6ee70098853e125a4ba5546b58edb2bdb7028a2a4205c6850508528c4
6
+ metadata.gz: b9cd4293ee5991b4764c5c24daf6ecc69e00e7e5da5badcb2fd9e23acc5c8d463bc5f4cc114787637295f24e6a76f9e9a39c0a3c4396a3184a7b1d12edcf43c2
7
+ data.tar.gz: 77aef9dfd6dbc5c9a4d360d4e9447b56b499abf5c0a0ff2b3019af853452f3cbe9be99ce50f6cbfdc39fad9b7ddd27132e593bfd993ed8fc98d4bedebe6f077f
data/CHANGELOG.md CHANGED
@@ -1,18 +1,59 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to this project will be documented in this file.
3
+ ## [0.5.0](https://github.com/voxpupuli/beaker-google/tree/0.5.0) (2022-10-04)
4
4
 
5
- ## [0.4.0](https://github.com/voxpupuli/beaker-google/tree/0.4.0) (2022-09-15)
5
+ [Full Changelog](https://github.com/voxpupuli/beaker-google/compare/0.4.0...0.5.0)
6
+
7
+ **Implemented enhancements:**
8
+
9
+ - Also enable SSH on images from the windows-sql-cloud project [\#27](https://github.com/voxpupuli/beaker-google/pull/27) ([jaevans](https://github.com/jaevans))
10
+ - Add the OpenSSH directory to the system path [\#25](https://github.com/voxpupuli/beaker-google/pull/25) ([jaevans](https://github.com/jaevans))
11
+ - Enable windows support [\#23](https://github.com/voxpupuli/beaker-google/pull/23) ([jaevans](https://github.com/jaevans))
12
+
13
+ ## [0.4.0](https://github.com/voxpupuli/beaker-google/tree/0.4.0) (2022-09-16)
6
14
 
7
15
  [Full Changelog](https://github.com/voxpupuli/beaker-google/compare/0.3.0...0.4.0)
8
16
 
9
- **Implemented enhancements:**
17
+ **Merged pull requests:**
18
+
19
+ - Update rake requirement from ~\> 10.1 to ~\> 13.0 [\#20](https://github.com/voxpupuli/beaker-google/pull/20) ([dependabot[bot]](https://github.com/apps/dependabot))
20
+ - Transfer to Vox Pupuli Prep [\#19](https://github.com/voxpupuli/beaker-google/pull/19) ([yachub](https://github.com/yachub))
21
+ - Support updated google APIs [\#17](https://github.com/voxpupuli/beaker-google/pull/17) ([jaevans](https://github.com/jaevans))
22
+ - Update fakefs requirement from ~\> 0.6 to ~\> 1.8 [\#16](https://github.com/voxpupuli/beaker-google/pull/16) ([dependabot[bot]](https://github.com/apps/dependabot))
23
+
24
+ ## [0.3.0](https://github.com/voxpupuli/beaker-google/tree/0.3.0) (2022-09-08)
25
+
26
+ [Full Changelog](https://github.com/voxpupuli/beaker-google/compare/0.2.1...0.3.0)
27
+
28
+ **Merged pull requests:**
29
+
30
+ - \(RE-14811\) Add RE as codeowners [\#18](https://github.com/voxpupuli/beaker-google/pull/18) ([yachub](https://github.com/yachub))
31
+ - \(DIO-3133\) Scan repo with Snyk [\#13](https://github.com/voxpupuli/beaker-google/pull/13) ([suckatrash](https://github.com/suckatrash))
32
+ - Add Dependabot to keep thins up to date [\#8](https://github.com/voxpupuli/beaker-google/pull/8) ([genebean](https://github.com/genebean))
33
+
34
+ ## [0.2.1](https://github.com/voxpupuli/beaker-google/tree/0.2.1) (2020-01-29)
35
+
36
+ [Full Changelog](https://github.com/voxpupuli/beaker-google/compare/0.2.0...0.2.1)
37
+
38
+ **Merged pull requests:**
39
+
40
+ - \(MAINT\) update beaker testing version [\#7](https://github.com/voxpupuli/beaker-google/pull/7) ([kevpl](https://github.com/kevpl))
41
+ - \(MAINT\) remove markdown requirement [\#6](https://github.com/voxpupuli/beaker-google/pull/6) ([kevpl](https://github.com/kevpl))
42
+ - Update google-api-client dependency [\#5](https://github.com/voxpupuli/beaker-google/pull/5) ([cdenneen](https://github.com/cdenneen))
43
+
44
+ ## [0.2.0](https://github.com/voxpupuli/beaker-google/tree/0.2.0) (2018-09-17)
45
+
46
+ [Full Changelog](https://github.com/voxpupuli/beaker-google/compare/0.1.0...0.2.0)
47
+
48
+ **Merged pull requests:**
49
+
50
+ - \(BKR-1509\) Hypervisor usage instructions for Beaker 4..0 [\#4](https://github.com/voxpupuli/beaker-google/pull/4) ([Dakta](https://github.com/Dakta))
51
+ - \(MAINT\) Overall GCE Updates [\#3](https://github.com/voxpupuli/beaker-google/pull/3) ([trevor-vaughan](https://github.com/trevor-vaughan))
52
+
53
+ ## [0.1.0](https://github.com/voxpupuli/beaker-google/tree/0.1.0) (2017-07-19)
54
+
55
+ [Full Changelog](https://github.com/voxpupuli/beaker-google/compare/34ca3d6b58dd87455316e055214367215fdff71f...0.1.0)
10
56
 
11
- - Migrated from the deprecated `google-api-client` to the more modern `google-apis-compute`
12
57
 
13
- **Breaking changes:**
14
58
 
15
- - Removed the mysterious `kill_zombies()` method since it was more of a helper and could result in potentially
16
- unexpected results
17
- - Users will now need to clean up artifacts from unexpected job termination manually instead of including this method
18
- into their test code
59
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
data/Gemfile CHANGED
@@ -18,7 +18,6 @@ group :acceptance_testing do
18
18
  gem 'beaker', *location_for(ENV.fetch('BEAKER_VERSION', '~> 4.0'))
19
19
  end
20
20
 
21
-
22
- # if File.exists? "#{__FILE__}.local"
23
- # eval(File.read("#{__FILE__}.local"), binding)
24
- # end
21
+ group :release do
22
+ gem 'github_changelog_generator', require: false
23
+ end
data/README.md CHANGED
@@ -45,7 +45,7 @@ The behavior of this library can be configured using either the beaker host conf
45
45
  | gce_project | true | | The ID of the Google GCP project to host resources. |
46
46
  | gce_zone | true | | The zone to place compute instances in. The region is calculated from the zone name. |
47
47
  | gce_network | false | Default | The name of the network to attach to instances. If the project uses the default network, this and `gce_subnetwork` can be left empty. |
48
- | gce_subnetwork | false | Default | THe name of the subnetwork to attach to the instances network interface. If the Default network is not used, this must be supplied. |
48
+ | gce_subnetwork | false | Default | The name of the subnetwork to attach to the instances network interface. If the Default network is not used, this must be supplied. |
49
49
  | gce_ssh_private_key | false | $HOME/.ssh/google_compute_engine | The file path of the private key to use to connect to instances. If using the key created by the gcloud tool, this can be left blank. |
50
50
  | gce_ssh_public_key | false | <gce_ssh_private_key>.pub | The file path of the public key to upload to the instance. If left blank, attempt to use the file at `gce_ssh_private_key` with a `.pub` extension. |
51
51
  | gce_machine_type | false | e2-standard-4 | The machine type to use for the instance. If the `BEAKER_gce_machine_type` environment variable is set, it will be used for all hosts. |
data/Rakefile CHANGED
@@ -101,3 +101,17 @@ namespace :docs do
101
101
  end
102
102
  end
103
103
  end
104
+
105
+ begin
106
+ require 'rubygems'
107
+ require 'github_changelog_generator/task'
108
+ rescue LoadError
109
+ else
110
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
111
+ config.exclude_labels = %w{duplicate question invalid wontfix wont-fix skip-changelog}
112
+ config.user = 'voxpupuli'
113
+ config.project = 'beaker-google'
114
+ gem_version = Gem::Specification.load("#{config.project}.gemspec").version
115
+ config.future_release = gem_version
116
+ end
117
+ end
@@ -162,13 +162,20 @@ module Beaker
162
162
  @logger.debug("Created Google Compute instance for #{host.name}: #{host['vmhostname']}")
163
163
  instance = @gce_helper.get_instance(host['vmhostname'])
164
164
 
165
+ # Make sure we have a non root/Adminsitor user to log in as
166
+ if host['user'] == "root" || host['user'] == "Administrator" || host['user'].empty?
167
+ initial_user = 'google_compute'
168
+ else
169
+ initial_user = host['user']
170
+ end
171
+
165
172
  # add metadata to instance, if there is any to set
166
173
  # mdata = format_metadata
167
174
  # TODO: Set a configuration option for this to allow disabeling oslogin
168
175
  mdata = [
169
176
  {
170
177
  key: 'ssh-keys',
171
- value: "google_compute:#{File.read(find_google_ssh_public_key).strip}"
178
+ value: "#{initial_user}:#{File.read(find_google_ssh_public_key).strip}"
172
179
  },
173
180
  # For now oslogin needs to be disabled as there's no way to log in as root and it would
174
181
  # take too much work on beaker to add sudo support to everything
@@ -177,10 +184,29 @@ module Beaker
177
184
  value: 'FALSE'
178
185
  },
179
186
  ]
180
- next if mdata.empty?
181
- # Add the metadata to the host
182
- @gce_helper.set_metadata_on_instance(host['vmhostname'], mdata)
183
- @logger.debug("Added tags to Google Compute instance #{host.name}: #{host['vmhostname']}")
187
+
188
+ # Check for google's default windows images and turn on ssh if found
189
+ if image_project == "windows-cloud" || image_project == "windows-sql-cloud"
190
+ # Turn on SSH on GCP's default windows images
191
+ mdata << {
192
+ key: 'enable-windows-ssh',
193
+ value: 'TRUE',
194
+ }
195
+ mdata << {
196
+ key: 'sysprep-specialize-script-cmd',
197
+ value: 'googet -noconfirm=true update && googet -noconfirm=true install google-compute-engine-ssh',
198
+ }
199
+ # Some versions of windows don't seem to add the OpenSSH directory to the path which prevents scp from working
200
+ mdata << {
201
+ key: 'sysprep-specialize-script-ps1',
202
+ value: '[Environment]::SetEnvironmentVariable( "PATH", "$ENV:PATH;C:\Program Files\OpenSSH", [EnvironmentVariableTarget]::Machine )',
203
+ }
204
+ end
205
+ unless mdata.empty?
206
+ # Add the metadata to the host
207
+ @gce_helper.set_metadata_on_instance(host['vmhostname'], mdata)
208
+ @logger.debug("Added tags to Google Compute instance #{host.name}: #{host['vmhostname']}")
209
+ end
184
210
 
185
211
  host['ip'] = instance.network_interfaces[0].access_configs[0].nat_ip
186
212
 
@@ -190,20 +216,14 @@ module Beaker
190
216
  if host['disable_root_ssh'] == true
191
217
  @logger.info('Not enabling root ssh as disable_root_ssh is true')
192
218
  else
193
-
194
- # # configure ssh
195
- default_user = host['user']
196
-
197
- # TODO: Pull this out into a configuration option or something
198
- host['user'] = 'google_compute'
199
-
219
+ real_user = host['user']
220
+ host['user'] = initial_user
200
221
  # Set the ssh private key we need to use
201
222
  host.options['ssh']['keys'] = [find_google_ssh_private_key]
202
223
 
203
224
  copy_ssh_to_root(host, @options)
204
225
  enable_root_login(host, @options)
205
- host['user'] = default_user
206
-
226
+ host['user'] = real_user
207
227
  # shut down connection, will reconnect on next exec
208
228
  host.close
209
229
  end
@@ -1,3 +1,3 @@
1
1
  module BeakerGoogle
2
- VERSION = '0.4.0'
2
+ VERSION = '0.5.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker-google
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2022-09-16 00:00:00.000000000 Z
12
+ date: 2022-10-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec