beaker-hostgenerator 1.5.0 → 1.6.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: f66ec9e9bd76078ef767cc152a9d22930c9cb20cd15c856e43149ccf87c04dc1
4
- data.tar.gz: e9c0cda19a2cf2381b0e609e1a1aff9c2cd0dbc895b809fca0649556d306a1aa
3
+ metadata.gz: f3e4326354ac2f461c9d42ce6f2fbd7cc457b27653c054f1a0555d4d0efdff0f
4
+ data.tar.gz: 5931c224850c934fe091a3b473a2bf47a102b700f3fe06c77c39ab2062eca9cd
5
5
  SHA512:
6
- metadata.gz: 91cf25527d7f1fc7dc5de73929e3a774d5e1bdc8c934c267419501845a011e3c752b8fe3484ba661de49f47ba9318e5d6f18d80223ffcb2ccb5ace5aa21dfc2a
7
- data.tar.gz: 2f49add8f297dd0938a63c7ff2f2b6300e0d8ba0a0bc3498035aefc81747a0ee6ea12adc96eacfa186735bb496be4b8676226f4b6b0eb22ca8343473b6803b9e
6
+ metadata.gz: caf236c3caf1156f7062090dbb10a776350373bc4430612a509b4fa11a1ab662cc9e2cb3a36ccafdeae8ece1a292a465ad151d3241d091191fba370e36e3a4d3
7
+ data.tar.gz: 49b20acb26822cdfd7376c704c33f8581403d191419da42776f25a857190fb1454fa7dd6b42a0052fdfb97349bbcda61edc230a0e1818400343cee005baace12
data/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file.
4
4
 
5
+ ## [1.6.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/1.6.0) (2021-08-17)
6
+
7
+ [Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/1.5.0...1.6.0)
8
+
9
+ **Implemented enhancements:**
10
+
11
+ - Generate Ubuntu ABS, vmpooler, and Docker templates on the fly [\#218](https://github.com/voxpupuli/beaker-hostgenerator/pull/218) ([ekohl](https://github.com/ekohl))
12
+
13
+ **Fixed bugs:**
14
+
15
+ - Set up Debian 11 on Docker [\#220](https://github.com/voxpupuli/beaker-hostgenerator/pull/220) ([ekohl](https://github.com/ekohl))
16
+
5
17
  ## [1.5.0](https://github.com/voxpupuli/beaker-hostgenerator/tree/1.5.0) (2021-06-14)
6
18
 
7
19
  [Full Changelog](https://github.com/voxpupuli/beaker-hostgenerator/compare/1.4.0...1.5.0)
@@ -100,6 +100,55 @@ module BeakerHostGenerator
100
100
  }
101
101
  end
102
102
 
103
+ # Ubuntu
104
+ #
105
+ # Generate LTS platforms
106
+ (14..20).select(&:even?).each do |release|
107
+ # 32 bit support was dropped in Ubuntu 18.04
108
+ if release < 18
109
+ result["ubuntu#{release}04-32"] = {
110
+ :general => {
111
+ 'platform' => "ubuntu-#{release}.04-i386"
112
+ }
113
+ }
114
+ end
115
+
116
+ result["ubuntu#{release}04-64"] = {
117
+ :general => {
118
+ 'platform' => "ubuntu-#{release}.04-amd64"
119
+ }
120
+ }
121
+
122
+ result["ubuntu#{release}04-POWER"] = {
123
+ :general => {
124
+ 'platform' => "ubuntu-#{release}.04-ppc64el"
125
+ }
126
+ }
127
+
128
+ result["ubuntu#{release}04-AARCH64"] = {
129
+ :general => {
130
+ 'platform' => "ubuntu-#{release}.04-aarch64"
131
+ }
132
+ }
133
+ end
134
+
135
+ # Generate STS platforms
136
+ [20, 21].each do |release|
137
+ unless release.even?
138
+ result["ubuntu#{release}04-64"] = {
139
+ :general => {
140
+ 'platform' => "ubuntu-#{release}.04-amd64"
141
+ }
142
+ }
143
+ end
144
+
145
+ result["ubuntu#{release}10-64"] = {
146
+ :general => {
147
+ 'platform' => "ubuntu-#{release}.10-amd64"
148
+ }
149
+ }
150
+ end
151
+
103
152
  result.merge!({
104
153
  'aix53-POWER' => {
105
154
  :general => {
@@ -592,6 +641,13 @@ module BeakerHostGenerator
592
641
  'platform' => 'debian-11-amd64',
593
642
  'packaging_platform' => 'debian-11-amd64'
594
643
  },
644
+ :docker => {
645
+ 'docker_image_commands' => [
646
+ 'cp /bin/true /sbin/agetty',
647
+ 'rm -f /usr/sbin/policy-rc.d',
648
+ 'apt-get update && apt-get install -y cron locales-all net-tools wget gnupg'
649
+ ]
650
+ },
595
651
  :vagrant => {
596
652
  'box' => 'debian/bullseye64',
597
653
  },
@@ -1165,216 +1221,6 @@ module BeakerHostGenerator
1165
1221
  'template' => 'solaris-114-x86_64'
1166
1222
  }
1167
1223
  },
1168
- 'ubuntu1004-32' => {
1169
- :general => {
1170
- 'platform' => 'ubuntu-10.04-i386'
1171
- },
1172
- :vmpooler => {
1173
- 'template' => 'ubuntu-1004-i386'
1174
- }
1175
- },
1176
- 'ubuntu1004-64' => {
1177
- :general => {
1178
- 'platform' => 'ubuntu-10.04-amd64'
1179
- },
1180
- :vmpooler => {
1181
- 'template' => 'ubuntu-1004-x86_64'
1182
- }
1183
- },
1184
- 'ubuntu1204-32' => {
1185
- :general => {
1186
- 'platform' => 'ubuntu-12.04-i386'
1187
- },
1188
- :vmpooler => {
1189
- 'template' => 'ubuntu-1204-i386'
1190
- }
1191
- },
1192
- 'ubuntu1204-64' => {
1193
- :general => {
1194
- 'platform' => 'ubuntu-12.04-amd64'
1195
- },
1196
- :docker => {
1197
- 'docker_image_commands' => [
1198
- 'cp /bin/true /sbin/agetty',
1199
- 'apt-get install -y net-tools wget',
1200
- 'locale-gen en_US.UTF-8'
1201
- ]
1202
- },
1203
- :vmpooler => {
1204
- 'template' => 'ubuntu-1204-x86_64'
1205
- }
1206
- },
1207
- 'ubuntu1404-32' => {
1208
- :general => {
1209
- 'platform' => 'ubuntu-14.04-i386',
1210
- 'packaging_platform' => 'ubuntu-14.04-i386'
1211
- },
1212
- :vmpooler => {
1213
- 'template' => 'ubuntu-1404-i386'
1214
- }
1215
- },
1216
- 'ubuntu1404-64' => {
1217
- :general => {
1218
- 'platform' => 'ubuntu-14.04-amd64',
1219
- 'packaging_platform' => 'ubuntu-14.04-amd64'
1220
- },
1221
- :docker => {
1222
- 'docker_image_commands' => [
1223
- 'cp /bin/true /sbin/agetty',
1224
- 'rm /usr/sbin/policy-rc.d',
1225
- 'rm /sbin/initctl; dpkg-divert --rename --remove /sbin/initctl',
1226
- 'apt-get install -y net-tools wget apt-transport-https',
1227
- 'locale-gen en_US.UTF-8',
1228
- 'echo LANG=en_US.UTF-8 > /etc/default/locale'
1229
- ]
1230
- },
1231
- :vmpooler => {
1232
- 'template' => 'ubuntu-1404-x86_64'
1233
- }
1234
- },
1235
- 'ubuntu1504-32' => {
1236
- :general => {
1237
- 'platform' => 'ubuntu-15.04-i386'
1238
- },
1239
- :vmpooler => {
1240
- 'template' => 'ubuntu-1504-i386'
1241
- }
1242
- },
1243
- 'ubuntu1504-64' => {
1244
- :general => {
1245
- 'platform' => 'ubuntu-15.04-amd64'
1246
- },
1247
- :vmpooler => {
1248
- 'template' => 'ubuntu-1504-x86_64'
1249
- }
1250
- },
1251
- 'ubuntu1510-32' => {
1252
- :general => {
1253
- 'platform' => 'ubuntu-15.10-i386'
1254
- },
1255
- :vmpooler => {
1256
- 'template' => 'ubuntu-1510-i386'
1257
- }
1258
- },
1259
- 'ubuntu1510-64' => {
1260
- :general => {
1261
- 'platform' => 'ubuntu-15.10-amd64'
1262
- },
1263
- :vmpooler => {
1264
- 'template' => 'ubuntu-1510-x86_64'
1265
- }
1266
- },
1267
- 'ubuntu1604-32' => {
1268
- :general => {
1269
- 'platform' => 'ubuntu-16.04-i386',
1270
- 'packaging_platform' => 'ubuntu-16.04-i386'
1271
- },
1272
- :vmpooler => {
1273
- 'template' => 'ubuntu-1604-i386'
1274
- }
1275
- },
1276
- 'ubuntu1604-64' => {
1277
- :general => {
1278
- 'platform' => 'ubuntu-16.04-amd64',
1279
- 'packaging_platform' => 'ubuntu-16.04-amd64'
1280
- },
1281
- :docker => {
1282
- 'docker_image_commands' => [
1283
- 'cp /bin/true /sbin/agetty',
1284
- 'apt-get install -y net-tools wget locales apt-transport-https',
1285
- 'locale-gen en_US.UTF-8',
1286
- 'echo LANG=en_US.UTF-8 > /etc/default/locale'
1287
- ]
1288
- },
1289
- :vmpooler => {
1290
- 'template' => 'ubuntu-1604-x86_64'
1291
- }
1292
- },
1293
- 'ubuntu1604-POWER' => {
1294
- :general => {
1295
- 'platform' => 'ubuntu-16.04-ppc64el',
1296
- 'packaging_platform' => 'ubuntu-16.04-ppc64el'
1297
- },
1298
- :abs => {
1299
- 'template' => 'ubuntu-16.04-power8'
1300
- }
1301
- },
1302
- 'ubuntu1610-32' => {
1303
- :general => {
1304
- 'platform' => 'ubuntu-16.10-i386'
1305
- },
1306
- :vmpooler => {
1307
- 'template' => 'ubuntu-1610-i386'
1308
- }
1309
- },
1310
- 'ubuntu1610-64' => {
1311
- :general => {
1312
- 'platform' => 'ubuntu-16.10-amd64'
1313
- },
1314
- :vmpooler => {
1315
- 'template' => 'ubuntu-1610-x86_64'
1316
- }
1317
- },
1318
- 'ubuntu1804-64' => {
1319
- :general => {
1320
- 'platform' => 'ubuntu-18.04-amd64',
1321
- 'packaging_platform' => 'ubuntu-18.04-amd64'
1322
- },
1323
- :docker => {
1324
- 'docker_image_commands' => [
1325
- 'cp /bin/true /sbin/agetty',
1326
- 'apt-get install -y net-tools wget locales apt-transport-https iproute2 gnupg',
1327
- 'locale-gen en_US.UTF-8',
1328
- 'echo LANG=en_US.UTF-8 > /etc/default/locale'
1329
- ]
1330
- },
1331
- :vmpooler => {
1332
- 'template' => 'ubuntu-1804-x86_64'
1333
- }
1334
- },
1335
- 'ubuntu1810-64' => {
1336
- :general => {
1337
- 'platform' => 'ubuntu-18.10-amd64',
1338
- 'packaging_platform' => 'ubuntu-18.10-amd64'
1339
- },
1340
- :docker => {
1341
- 'docker_image_commands' => [
1342
- 'cp /bin/true /sbin/agetty',
1343
- 'apt-get install -y net-tools wget locales apt-transport-https iproute2',
1344
- 'locale-gen en_US.UTF-8',
1345
- 'echo LANG=en_US.UTF-8 > /etc/default/locale'
1346
- ]
1347
- },
1348
- :vmpooler => {
1349
- 'template' => 'ubuntu-1810-x86_64'
1350
- }
1351
- },
1352
- 'ubuntu2004-64' => {
1353
- :general => {
1354
- 'platform' => 'ubuntu-20.04-amd64',
1355
- 'packaging_platform' => 'ubuntu-20.04-amd64'
1356
- },
1357
- :docker => {
1358
- 'docker_image_commands' => [
1359
- 'cp /bin/true /sbin/agetty',
1360
- 'apt-get install -y net-tools wget locales apt-transport-https iproute2 gnupg',
1361
- 'locale-gen en_US.UTF-8',
1362
- 'echo LANG=en_US.UTF-8 > /etc/default/locale'
1363
- ]
1364
- },
1365
- :vmpooler => {
1366
- 'template' => 'ubuntu-2004-x86_64'
1367
- }
1368
- },
1369
- 'ubuntu2004-AARCH64' => {
1370
- :general => {
1371
- 'platform' => 'ubuntu-20.04-aarch64',
1372
- 'packaging_platform' => 'ubuntu-20.04-aarch64'
1373
- },
1374
- :abs => {
1375
- 'template' => 'ubuntu-2004-arm64'
1376
- },
1377
- },
1378
1224
  'vro6-64' => {
1379
1225
  :general => {
1380
1226
  'platform' => 'sles-11-x86_64',
@@ -27,6 +27,22 @@ module BeakerHostGenerator
27
27
  base_config['template'] = base_config['platform'].gsub(/^el/, 'centos')
28
28
  when /^fedora/
29
29
  base_config['template'] = base_config['platform']
30
+ when /^ubuntu/
31
+ base_template = node_info['ostype'].sub('ubuntu', 'ubuntu-')
32
+ arch = case node_info['bits']
33
+ when '64'
34
+ 'x86_64'
35
+ when '32'
36
+ 'i386'
37
+ when 'AARCH64'
38
+ 'arm64'
39
+ when 'POWER'
40
+ base_template = node_info['ostype'].sub(/ubuntu(\d\d)/, 'ubuntu-\1.')
41
+ 'power8'
42
+ else
43
+ raise "Unknown bits '#{node_info['bits']}' for '#{node_info['ostype']}'"
44
+ end
45
+ base_config['template'] = "#{base_template}-#{arch}"
30
46
  end
31
47
 
32
48
  base_config
@@ -17,6 +17,33 @@ module BeakerHostGenerator
17
17
  base_config['image'] = "amd64/#{base_config['image']}"
18
18
  end
19
19
 
20
+ docker_commands = []
21
+
22
+ case node_info['ostype']
23
+ when /^ubuntu/
24
+ docker_commands << 'cp /bin/true /sbin/agetty'
25
+
26
+ if node_info['ostype'] =~ /1404/
27
+ docker_commands << 'rm /usr/sbin/policy-rc.d'
28
+ docker_commands << 'rm /sbin/initctl; dpkg-divert --rename --remove /sbin/initctl'
29
+ end
30
+
31
+ extra_packages_to_install = case node_info['ostype']
32
+ when /1404/
33
+ ['apt-transport-https']
34
+ when /1604/
35
+ ['locales']
36
+ else
37
+ ['locales', 'iproute2', 'gnupg']
38
+ end
39
+
40
+ docker_commands << "apt-get install -y net-tools wget #{extra_packages_to_install.join(' ')}"
41
+ docker_commands << 'locale-gen en_US.UTF-8'
42
+ docker_commands << 'echo LANG=en_US.UTF-8 > /etc/default/locale'
43
+
44
+ base_config['docker_image_commands'] = docker_commands
45
+ end
46
+
20
47
  return base_generate_node(node_info, base_config, bhg_version, :docker)
21
48
  end
22
49
  end
@@ -8,7 +8,7 @@ module BeakerHostGenerator
8
8
  include BeakerHostGenerator::Data
9
9
 
10
10
  # default global configuration keys
11
- def global_config()
11
+ def global_config
12
12
  {
13
13
  'pooling_api' => 'http://vmpooler.delivery.puppetlabs.net/'
14
14
  }
@@ -22,6 +22,17 @@ module BeakerHostGenerator
22
22
  base_config['template'] = base_config['platform'].gsub(/^el/, 'centos')
23
23
  when /^fedora/
24
24
  base_config['template'] = base_config['platform']
25
+ when /^ubuntu/
26
+ arch = case node_info['bits']
27
+ when '64'
28
+ 'x86_64'
29
+ when '32'
30
+ 'i386'
31
+ else
32
+ nil
33
+ end
34
+
35
+ base_config['template'] = "#{node_info['ostype'].sub('ubuntu', 'ubuntu-')}-#{arch}" if arch
25
36
  end
26
37
 
27
38
  # Some vmpooler/vsphere platforms have special requirements.
@@ -1,5 +1,5 @@
1
1
  module BeakerHostGenerator
2
2
  module Version
3
- STRING = '1.5.0'
3
+ STRING = '1.6.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beaker-hostgenerator
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Branan Purvine-Riley
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2021-06-14 00:00:00.000000000 Z
13
+ date: 2021-08-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: minitest