vagrant-openshift 3.0.8 → 3.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -1
  3. data/Gemfile +5 -1
  4. data/README.asciidoc +65 -78
  5. data/hack/test.sh +135 -0
  6. data/hack/update.sh +32 -0
  7. data/lib/vagrant-openshift.rb +1 -0
  8. data/lib/vagrant-openshift/action.rb +83 -12
  9. data/lib/vagrant-openshift/action/build_origin_images.rb +2 -2
  10. data/lib/vagrant-openshift/action/create_yum_repositories.rb +1 -1
  11. data/lib/vagrant-openshift/action/download_artifacts_origin_console.rb +2 -2
  12. data/lib/vagrant-openshift/action/download_artifacts_origin_metrics.rb +67 -0
  13. data/lib/vagrant-openshift/action/install_docker.rb +54 -0
  14. data/lib/vagrant-openshift/action/install_golang.rb +52 -0
  15. data/lib/vagrant-openshift/action/install_origin_asset_dependencies.rb +6 -3
  16. data/lib/vagrant-openshift/action/install_origin_base_dependencies.rb +22 -237
  17. data/lib/vagrant-openshift/action/install_origin_rhel7.rb +29 -6
  18. data/lib/vagrant-openshift/action/push_openshift_images.rb +26 -37
  19. data/lib/vagrant-openshift/action/run_customer_diagnostics_tests.rb +79 -0
  20. data/lib/vagrant-openshift/action/run_origin_asset_tests.rb +1 -3
  21. data/lib/vagrant-openshift/action/run_origin_metrics_tests.rb +83 -0
  22. data/lib/vagrant-openshift/action/run_origin_tests.rb +9 -4
  23. data/lib/vagrant-openshift/command/checkout_repositories.rb +1 -3
  24. data/lib/vagrant-openshift/command/create_local_yum_repo.rb +2 -2
  25. data/lib/vagrant-openshift/command/download_artifacts_origin_metrics.rb +49 -0
  26. data/lib/vagrant-openshift/command/install_docker.rb +68 -0
  27. data/lib/vagrant-openshift/command/install_golang.rb +68 -0
  28. data/lib/vagrant-openshift/command/repo_sync_customer_diagnostics.rb +71 -0
  29. data/lib/vagrant-openshift/command/repo_sync_origin_metrics.rb +71 -0
  30. data/lib/vagrant-openshift/command/test_customer_diagnostics.rb +69 -0
  31. data/lib/vagrant-openshift/command/test_origin_image.rb +1 -1
  32. data/lib/vagrant-openshift/command/test_origin_metrics.rb +67 -0
  33. data/lib/vagrant-openshift/constants.rb +8 -2
  34. data/lib/vagrant-openshift/helper/command_helper.rb +63 -39
  35. data/lib/vagrant-openshift/helper/install_helper.rb +139 -0
  36. data/lib/vagrant-openshift/plugin.rb +37 -2
  37. data/lib/vagrant-openshift/resources/configure_docker.sh +53 -0
  38. data/lib/vagrant-openshift/resources/configure_system.sh +23 -0
  39. data/lib/vagrant-openshift/resources/install_chrome.sh +22 -0
  40. data/lib/vagrant-openshift/resources/install_dependencies.sh +58 -0
  41. data/lib/vagrant-openshift/resources/install_nonessential.sh +6 -0
  42. data/lib/vagrant-openshift/resources/install_rhaos_repos.sh +11 -0
  43. data/lib/vagrant-openshift/resources/reconfigure_network_fedora.sh +13 -0
  44. data/lib/vagrant-openshift/resources/rhaos31.repo +13 -0
  45. data/lib/vagrant-openshift/resources/rhaos32.repo +13 -0
  46. data/lib/vagrant-openshift/resources/rhaos33.repo +13 -0
  47. data/lib/vagrant-openshift/resources/rhaos34.repo +13 -0
  48. data/lib/vagrant-openshift/version.rb +1 -1
  49. metadata +29 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1f801d1a034a23c6ed705d62ff7b4117170cf03b
4
- data.tar.gz: ef9e37029fd017195bdd6752946d064a7eb34a37
3
+ metadata.gz: 17e68ca9975be343edfb92ff6834f5163b1a3563
4
+ data.tar.gz: 4f980dc0dfb287f8247fbec5600eab2bd463d6be
5
5
  SHA512:
6
- metadata.gz: 3322ccb80bc697835fa435b6a2be8eaa7ef8eed49a8ef341d22a759a24aa13ab5e4473e041073e7f4a3c6b5a94b176e783aa9a433ade67d5ee4fbb66851c5d7f
7
- data.tar.gz: ff6d96ec3325ef751c8209b09e73a50ef53590d6829628564b7641d10195609df8cc55114aeabbd198bc99854f1fc8a4315c1ab09c536b8fef9534bec76f3124
6
+ metadata.gz: c18a6ef845c6dfd0250bc560668de2a55bfbb9e27b9efe23708815b869dff5c49ac82fd54ee654314903e5b035856986ad82d1057b6085d382b185c40638be06
7
+ data.tar.gz: 0d3ae65ef3f0db3b31d8729980ceccbfe4b65cdb29de296ad89567368d595ea0ac6ab1fd976a3d4c114aa45f4ccb06275b4ef3a51aefb3bd1f5f721368cb61ea
@@ -1,5 +1,10 @@
1
+ before_install:
2
+ - gem uninstall bundler -aIxq --force
3
+ - gem uninstall -Ixq --force -i /home/travis/.rvm/gems/ruby-2.2.3@global bundler
4
+ - gem install bundler -v '1.12.5'
5
+
1
6
  rvm:
2
- - 2.0.0
7
+ - 2.2.3
3
8
 
4
9
  gemfile: Gemfile
5
10
 
data/Gemfile CHANGED
@@ -10,7 +10,11 @@ group :development do
10
10
  if File.exist?(File.expand_path("../../vagrant", __FILE__))
11
11
  gem "vagrant", path: "../vagrant"
12
12
  else
13
- gem "vagrant", :git => "git://github.com/mitchellh/vagrant.git"
13
+ if Gem::Version.new(Bundler::VERSION) < Gem::Version.new("1.12.5")
14
+ gem "vagrant", :git => "https://github.com/mitchellh/vagrant", :ref => "v1.7.4"
15
+ else
16
+ gem "vagrant", :git => "https://github.com/mitchellh/vagrant"
17
+ end
14
18
  end
15
19
  gem "json"
16
20
  end
@@ -32,16 +32,19 @@ Like other plugins, this gem will be installed in your `~/.vagrant.d/gems/` dire
32
32
  To work on the *vagrant-openshift* plugin, clone this repository and use
33
33
  link:http://gembundler.com[Bundler] to get the dependencies:
34
34
 
35
+ You *MUST* use bundler < = 1.10.5 or bundler = 1.12.5 when building this gem, as it is required by the vagrant gem.
36
+
35
37
  [source, sh]
36
38
  ----
37
- $ bundle
39
+ $ gem install bundler -v '1.12.5'
40
+ $ bundle _1.12.5_
38
41
  ----
39
42
 
40
43
  Compile using Rake:
41
44
 
42
45
  [source, sh]
43
46
  ----
44
- $ bundle exec rake
47
+ $ bundle _1.12.5_ exec rake
45
48
  ----
46
49
 
47
50
  ===== From rubygems.org
@@ -103,7 +106,7 @@ NOTE: If you are trying to refresh an existing image, you'll want to remove the
103
106
 
104
107
  [source, sh]
105
108
  ----
106
- $ vagrant up
109
+ $ vagrant up --provider=virtualbox
107
110
  ----
108
111
 
109
112
  NOTE: See link:#other-providers[Other Providers] below for launching VMs from other providers.
@@ -140,6 +143,44 @@ To enable easy customization of the build environment, any files placed under `\
140
143
  the vagrant user home directory. For example: `~/.openshiftdev/home.d/.bash_profile` will be copied to `.bash_profile`
141
144
  on the vagrant VM.
142
145
 
146
+ ==== Configuring Docker and Golang versions for tests
147
+
148
+ If the version of OpenShift that is being tested requires a version
149
+ of Golang or Docker that is not default in the RPM streams for the
150
+ operating system used for the image, `vagrant-openshift` allows for
151
+ customization of the image.
152
+
153
+ To build a new image with the versions of Golang and Docker necessary,
154
+ begin with an 'os' stage:
155
+ [source, sh]
156
+ ----
157
+ $ vagrant origin-init --stage os --os rhel7 --instance-type c4.xlarge "${instance_name}"
158
+ ----
159
+
160
+ Then, you may provide the following information to customize your image:
161
+
162
+ * URLs to repositories containing the desired Docker and/or Golang RPMs to use during the install
163
+ * names of repositores already installed on the OS that you want to use during the install
164
+ * versions of Golang and/or Docker to install
165
+
166
+ Any RPM repositories you add by providing URLs will only be enabled for
167
+ the duration of the installation. Only the repositories you provide using
168
+ URLs or those that you name explcitly will be enabled during the install.
169
+
170
+ For instance, some installation of OpenShift Origin could want custom
171
+ Go and Docker versions, both of which must be installed from custom URLs.
172
+ Furthermore, some of the Docker dependencies may have up-to-date versions
173
+ in the RHEL streams, so the following commands would be used to configure
174
+ the image base:
175
+ [source, sh]
176
+ ----
177
+ $ vagrant install-golang --golang.repourl=http://some.golang.rpm.repository.com/ \
178
+ --golang.version=1.6.2
179
+
180
+ $ vagrant install-docker --docker.repourl=http://some.docker.rpm.repository.com/ \
181
+ --docker.repo=oso-rhui-rhel-server-releases \
182
+ --docker.version=1.10.3
183
+ ----
143
184
 
144
185
  === Other Providers
145
186
 
@@ -252,106 +293,53 @@ vagrant up --provider=openstack
252
293
  NOTE: Requires latest link:https://github.com/cloudbau/vagrant-openstack-plugin[OpenStack] provider.
253
294
 
254
295
 
255
- ==== LibVirt
296
+ ==== Libvirt
256
297
 
257
- * Install the vagrant-libvirt plugin dependencies
298
+ * If using a recent version of Fedora, you can install vagrant-libvirt directly using yum/dnf. Otherwise you will need to follow the `vagrant plugin install` instructions below.
258
299
 
259
300
  [source, sh]
260
301
  ----
261
- yum install libxslt-devel libxml2-devel libvirt-devel ruby-devel rubygems
302
+ sudo yum install vagrant-libvirt
262
303
  ----
263
304
 
264
- * Install the vagrant-libvirt plugin
305
+ * Install the vagrant-libvirt plugin dependencies (only if `sudo yum install vagrant-libvirt` didn't work)
265
306
 
266
307
  [source, sh]
267
308
  ----
268
- vagrant plugin install vagrant-libvirt
309
+ sudo yum install libxslt-devel libxml2-devel libvirt-devel ruby-devel rubygems
269
310
  ----
270
311
 
271
- NOTE: This may require modifying the system linker as described in
272
- link:https://github.com/mitchellh/vagrant/issues/5118[this issue]:
312
+ * Install the vagrant-libvirt plugin *(only if `sudo yum install vagrant-libvirt` didn't work)*
273
313
 
314
+ [source, sh]
274
315
  ----
275
- # alternatives --set ld /usr/bin/ld.gold
316
+ vagrant plugin install vagrant-libvirt
276
317
  ----
277
318
 
319
+ NOTE: This may require modifying the system linker as described in
320
+ link:https://github.com/mitchellh/vagrant/issues/5118[this issue]:
278
321
 
279
- * Configure LibVirt to allow remote TLS connections
280
- ** Create TLS certificates and key pairs. Follow the guide at http://libvirt.org/remote.html#Remote_certificates
281
- Example commands for creating a self signed certificate are provided below.
282
-
283
- .Example self-signed certificates
284
- [source, sh]
285
322
  ----
286
- mkdir -p /etc/pki/libvirt/private
287
-
288
- #CA Cert
289
- certtool --generate-privkey > cakey.pem
290
-
291
- cat <<EOF> ca.info
292
- cn = MyOrg
293
- ca
294
- cert_signing_key
295
- EOF
296
-
297
- certtool --generate-self-signed --load-privkey cakey.pem --template ca.info --outfile cacert.pem
298
- /bin/cp -f cacert.pem /etc/pki/CA/cacert.pem
299
-
300
- #Server cert
301
- certtool --generate-privkey > serverkey.pem
302
-
303
- cat <<EOF> server.info
304
- organization = MyOrg
305
- cn = oirase
306
- tls_www_server
307
- encryption_key
308
- signing_key
309
- EOF
310
-
311
- certtool --generate-certificate --load-privkey serverkey.pem \
312
- --load-ca-certificate cacert.pem --load-ca-privkey cakey.pem \
313
- --template server.info --outfile servercert.pem
314
- /bin/cp -f serverkey.pem /etc/pki/libvirt/private/serverkey.pem
315
- /bin/cp -f servercert.pem /etc/pki/libvirt/servercert.pem
316
-
317
- #Client cert
318
- certtool --generate-privkey > clientkey.pem
319
-
320
- cat <<EOF> client.info
321
- country = US
322
- state = California
323
- locality = Mountain View
324
- organization = MyOrg
325
- cn = client1
326
- tls_www_client
327
- encryption_key
328
- signing_key
329
- EOF
330
-
331
- certtool --generate-certificate --load-privkey clientkey.pem \
332
- --load-ca-certificate cacert.pem --load-ca-privkey cakey.pem \
333
- --template client.info --outfile clientcert.pem
334
-
335
- /bin/cp -f clientkey.pem /etc/pki/libvirt/private/clientkey.pem
336
- /bin/cp -f clientcert.pem /etc/pki/libvirt/clientcert.pem
323
+ sudo alternatives --set ld /usr/bin/ld.gold
337
324
  ----
338
325
 
339
- ** Modify /etc/sysconfig/libvirtd and enable listening to connections
326
+ * Add your user to the libvirt group - this gives authorization to connect to libvirtd
340
327
 
328
+ [source, sh]
341
329
  ----
342
- LIBVIRTD_ARGS="--listen"
330
+ sudo usermod -a -G libvirt $USER
343
331
  ----
344
332
 
345
- ** Restart libvirtd
333
+ * Log out and log in for the group change to take effect
346
334
 
347
- * Start the LibVirt machine
335
+ * Start the libvirt machine
348
336
 
349
337
  [source, sh]
350
338
  ----
351
339
  vagrant up --provider=libvirt
352
340
  ----
353
341
 
354
- NOTE: Requires latest link:https://github.com/pradels/vagrant-libvirt[LibVirt] provider
342
+ NOTE: Requires latest link:https://github.com/pradels/vagrant-libvirt[libvirt] provider
355
343
 
356
344
  ===== Managed
357
345
 
@@ -420,20 +408,19 @@ $ vagrant build-origin --images
420
408
  $ vagrant build-sti --binary-only
421
409
  ----
422
410
 
423
- === Testing openshift/origin-aggregated-logging
411
+ === Testing openshift/origin-aggregated-logging or openshift/origin-metrics
424
412
 
425
413
  NOTE: You will still need to clone the OpenShift Origin repo as above, in order
426
414
  to use the Vagrantfile and the contrib/vagrant directory.
427
- origin-aggregated-logging currently has no vagrant support.
415
+ origin-aggregated-logging and origin-metrics currently have no vagrant support.
428
416
 
429
- ==== Clone the OpenShift Origin aggregated logging repositories
417
+ ==== Clone the OpenShift Origin aggregated logging or metrics repositories
430
418
 
431
419
  Use `vagrant origin-local-checkout` as above link:#clone-the-openshift-origin-repositories[Clone the OpenShift Origin repositories], except use `--repo origin-aggregated-logging`:
432
420
  [source, sh]
433
421
  ----
434
422
  $ cd $GOPATH
435
- $ vagrant origin-local-checkout --repo origin-aggregated-logging -u <github
436
- username>
423
+ $ vagrant origin-local-checkout --repo origin-aggregated-logging -u <github username>
437
424
  # run the remaining vagrant commands from $GOPATH/src/github.com/openshift/origin
438
425
  $ pushd $GOPATH/src/github.com/openshift/origin
439
426
  ----
@@ -0,0 +1,135 @@
1
+ #!/bin/bash
2
+
3
+ # This script uses the current state of the repository to build a new vagrant-openshift
4
+ # gem, install it, and then exercise the CLI of the vagrant-openshfit plugin to test its
5
+ # functionality. This script honors the following environment variables:
6
+ # - TEST_VM_NAME: the name to use to identify the VM launched for testing
7
+ # - TEST_VM_SIZE: the VM size (as the AWS instance name) to use
8
+ # - SKIP_INSTALL: skips building and installing a new vagrant-openshift gem
9
+ # - SKIP_CLEANUP: skips cleaning up the VMs created for tests
10
+ # - CLEANUP_RENAME: cleans up instances by stopping and renaming instead of destroying them
11
+ # - GOPATH_OVERRIDE: uses a temporary directory for $GOPATH instead of inheriting it from the host
12
+ # - VERBOSE: always show full command output, even a command succeeded
13
+
14
+ set -o errexit
15
+ set -o nounset
16
+ set -o pipefail
17
+
18
+ function cleanup_instance() {
19
+ pushd "${OS_ROOT}" >/dev/null 2>&1
20
+ if [[ -f ".vagrant-openshift.json" ]]; then
21
+ if [[ -n "${CLEANUP_RENAME:-}" ]]; then
22
+ vagrant modify-instance --stop --rename 'terminate'
23
+ else
24
+ vagrant destroy -f
25
+ fi
26
+ else
27
+ # we were not able to clean up the instance, but the code
28
+ # below will expect it to be gone and may fail later trying
29
+ # to re-create it due to a name conflict, so we need to
30
+ # fail early and loudly
31
+ echo "[FAILURE] Could not clean up instance, exiting"
32
+ exit 1
33
+ fi
34
+ rm -rf .vagrant
35
+ popd >/dev/null 2>&1
36
+ }
37
+
38
+ function conditional_cleanup_instance() {
39
+ if [[ -z "${SKIP_CLEANUP:-}" ]]; then
40
+ cleanup_instance
41
+ fi
42
+ }
43
+
44
+ # validate_version validates that the version of the package installed
45
+ # on the remote VM is equal to the expected version provided
46
+ function validate_version() {
47
+ local package=$1
48
+ local expected_version=$2
49
+ local actual_version
50
+ actual_version="$( vagrant ssh -c "rpm -q --queryformat='%{version}' '${package}'" )"
51
+ if [[ ! "${expected_version}" = "${actual_version}" ]]; then
52
+ echo "[FAILURE] Expected to find ${package}-${expected_version}, but got ${package}-${actual_version}."
53
+ return 1
54
+ fi
55
+ echo "[SUCCESS] Found ${package}-${actual_version} on the remote machine."
56
+ }
57
+
58
+ # test_vagrant runs a vagrant command and allows us to only show output from failed commands
59
+ function test_vagrant() {
60
+ echo "[INFO] Testing \`vagrant $*\`"
61
+ if ! vagrant "$@" > /tmp/vagrant-openshift-test.log 2>&1; then
62
+ cat /tmp/vagrant-openshift-test.log
63
+ echo "[FAILURE] The command \`vagrant $*\` failed!"
64
+ return 1
65
+ elif [[ -n "${VERBOSE:-}" ]]; then
66
+ cat /tmp/vagrant-openshift-test.log
67
+ fi
68
+ echo "[SUCCESS] The command \`vagrant $*\` succeeded!"
69
+ }
70
+
71
+ # First, build the new vagrant-openshift gem and install the plugin on the host
72
+ VOS_ROOT="$( cd "$( dirname "${BASH_SOURCE}" )/.."; pwd )"
73
+ pushd "${VOS_ROOT}" >/dev/null 2>&1
74
+ if [[ -z "${SKIP_INSTALL:-}" ]]; then
75
+ echo "[INFO] Building new vagrant-openshift gem and installing plugin"
76
+ hack/update.sh
77
+ vagrant plugin install vagrant-aws
78
+ fi
79
+ popd >/dev/null 2>&1
80
+
81
+ OS_ROOT="./origin"
82
+ if [[ -n "${GOPATH_OVERRIDE:-}" ]]; then
83
+ export GOPATH="${GOPATH_OVERRIDE}"
84
+ mkdir -p "${GOPATH}"
85
+ OS_ROOT="${GOPATH}/src/github.com/openshift/origin"
86
+ fi
87
+
88
+ test_vagrant origin-local-checkout --replace
89
+
90
+ # Next, create a VM and run our tests in it
91
+ pushd "${OS_ROOT}" >/dev/null 2>&1
92
+ test_vagrant origin-init --stage="os" \
93
+ --os="rhel7" \
94
+ --instance-type="${TEST_VM_SIZE:-m4.large}" \
95
+ "${TEST_VM_NAME:-vagrant-openshift-tests}"
96
+
97
+ for _ in $(seq 0 2) ; do
98
+ if vagrant up --provider aws; then
99
+ break
100
+ fi
101
+
102
+ echo "[WARNING] \`vagrant up\` failed - retrying"
103
+ cleanup_instance
104
+ done
105
+
106
+ # We want to make sure we clean up after ourselves if this script exits unexpectedly
107
+ trap conditional_cleanup_instance EXIT
108
+
109
+ # The following steps ensure that we can build the `deps` image from the `os` base
110
+ test_vagrant build-origin-base
111
+
112
+ # Install Docker and Golang at specific versions
113
+ test_vagrant install-golang --golang.version=1.6.3 \
114
+ --repo=oso-rhui-rhel-server-releases-optional
115
+ validate_version 'golang' '1.6.3'
116
+
117
+ docker_repo='https://mirror.openshift.com/enterprise/rhel/dockerextra/x86_64/os/'
118
+ test_vagrant install-docker --docker.version=1.12.2 \
119
+ --repourl="${docker_repo}" \
120
+ --repo=oso-rhui-rhel-server-releases \
121
+ --repo=oso-rhui-rhel-server-releases-optional
122
+ validate_version 'docker' '1.12.2'
123
+
124
+ test_vagrant clone-upstream-repos --clean
125
+ test_vagrant checkout-repos
126
+ test_vagrant build-origin-base-images
127
+ test_vagrant install-origin-assets-base
128
+
129
+ test_vagrant install-origin
130
+ test_vagrant build-origin --images
131
+ test_vagrant build-sti --binary-only
132
+
133
+ popd >/dev/null 2>&1
134
+
135
+ echo "[SUCCESS] vagrant-openshift tests successful"
@@ -0,0 +1,32 @@
1
+ #!/bin/bash
2
+
3
+ # This script will attempt to build the vagrant-openshift gem
4
+ # from the current source tree and install it locally in the
5
+ # vagrant plugin environment.
6
+
7
+ set -o errexit
8
+ set -o nounset
9
+ set -o pipefail
10
+
11
+ VAGRANT_OPENSHIFT_ROOT="$( cd "$( dirname "${BASH_SOURCE}" )/.."; pwd )"
12
+ pushd "${VAGRANT_OPENSHIFT_ROOT}" >/dev/null 2>&1
13
+
14
+ if ! git diff-index --quiet HEAD; then
15
+ echo "[WARNING] Uncommited changes exist either in stage or in the working tree."
16
+ echo "[WARNING] Commit them to proceed in building the plugin."
17
+ exit 1
18
+ fi
19
+
20
+ echo "[INFO] Building vagrant-openshift gem using bundler..."
21
+ {
22
+ bundle
23
+ bundle install
24
+ bundle exec rake
25
+ } >/tmp/vagrant-origin-update.log 2>&1
26
+ echo "[INFO] Full build and install logs placed at /tmp/vagrant-openshift-update.log"
27
+
28
+ vagrant plugin install pkg/vagrant-openshift-*.gem
29
+
30
+ popd >/dev/null 2>&1
31
+
32
+ echo "[INFO] Successfully built and installed vagrant-openshift plugin"
@@ -27,6 +27,7 @@ module Vagrant
27
27
  plugin_path = Pathname.new(File.expand_path("#{__FILE__}/../vagrant-openshift/"))
28
28
 
29
29
  autoload :CommandHelper, plugin_path + "helper/command_helper"
30
+ autoload :InstallHelper, plugin_path + "helper/install_helper"
30
31
  autoload :Constants, plugin_path + "constants"
31
32
  end
32
33
  end
@@ -54,9 +54,20 @@ module Vagrant
54
54
  end
55
55
  end
56
56
 
57
+ def self.install_docker(options)
58
+ Vagrant::Action::Builder.new.tap do |b|
59
+ b.use InstallDocker, options
60
+ end
61
+ end
62
+
63
+ def self.install_golang(options)
64
+ Vagrant::Action::Builder.new.tap do |b|
65
+ b.use InstallGolang, options
66
+ end
67
+ end
68
+
57
69
  def self.install_origin(options)
58
70
  Vagrant::Action::Builder.new.tap do |b|
59
- b.use YumUpdate
60
71
  b.use SetHostName
61
72
  b.use InstallOrigin
62
73
  b.use InstallOriginRhel7
@@ -135,7 +146,7 @@ module Vagrant
135
146
  end
136
147
  end
137
148
  end
138
-
149
+
139
150
  def self.repo_sync_origin_console(options)
140
151
  Vagrant::Action::Builder.new.tap do |b|
141
152
  b.use PrepareSshConfig
@@ -146,12 +157,12 @@ module Vagrant
146
157
  end
147
158
  b.use SyncLocalRepository, :repo => 'origin-console'
148
159
  b.use CheckoutRepositories, :repo => 'origin-console'
149
- if options[:build]
160
+ if options[:build]
150
161
  b.use InstallOriginAssetDependencies, :restore_assets => true
151
- end
162
+ end
152
163
  end
153
164
  end
154
- end
165
+ end
155
166
 
156
167
  def self.repo_sync_origin_aggregated_logging(options)
157
168
  Vagrant::Action::Builder.new.tap do |b|
@@ -173,6 +184,34 @@ module Vagrant
173
184
  end
174
185
  end
175
186
 
187
+ def self.repo_sync_origin_metrics(options)
188
+ Vagrant::Action::Builder.new.tap do |b|
189
+ b.use PrepareSshConfig
190
+ if options[:source]
191
+ if options[:clean]
192
+ b.use Clean, options
193
+ b.use CloneUpstreamRepositories, options
194
+ end
195
+ b.use SyncLocalRepository, options
196
+ b.use CheckoutRepositories, options
197
+ end
198
+ end
199
+ end
200
+
201
+ def self.repo_sync_customer_diagnostics(options)
202
+ Vagrant::Action::Builder.new.tap do |b|
203
+ b.use PrepareSshConfig
204
+ if options[:source]
205
+ if options[:clean]
206
+ b.use Clean, options
207
+ b.use CloneUpstreamRepositories, options
208
+ end
209
+ b.use SyncLocalRepository, options
210
+ b.use CheckoutRepositories, options
211
+ end
212
+ end
213
+ end
214
+
176
215
  def self.local_origin_checkout(options)
177
216
  Vagrant::Action::Builder.new.tap do |b|
178
217
  if not options[:no_build]
@@ -190,18 +229,18 @@ module Vagrant
190
229
  b.use TestExitCode
191
230
  end
192
231
  end
193
-
232
+
194
233
  def self.run_origin_asset_tests(options)
195
234
  Vagrant::Action::Builder.new.tap do |b|
196
235
  # UI integration tests require the api server to be running
197
- b.use RunSystemctl, {:action => "start", :service => "openshift"}
236
+ b.use RunSystemctl, {:action => "start", :service => "openshift"}
198
237
  b.use RunOriginAssetTests, options
199
238
  if options[:download]
200
239
  b.use DownloadArtifactsOriginConsole
201
240
  end
202
241
  b.use TestExitCode
203
242
  end
204
- end
243
+ end
205
244
 
206
245
  def self.run_origin_aggregated_logging_tests(options)
207
246
  Vagrant::Action::Builder.new.tap do |b|
@@ -213,6 +252,27 @@ module Vagrant
213
252
  end
214
253
  end
215
254
 
255
+ def self.run_origin_metrics_tests(options)
256
+ Vagrant::Action::Builder.new.tap do |b|
257
+ b.use RunOriginMetricsTests, options
258
+ if options[:download]
259
+ b.use DownloadArtifactsOriginMetrics
260
+ end
261
+ b.use TestExitCode
262
+ end
263
+ end
264
+
265
+ def self.run_customer_diagnostics_tests(options)
266
+ Vagrant::Action::Builder.new.tap do |b|
267
+ b.use RunCustomerDiagnosticsTests, options
268
+ if options[:download]
269
+ b.use DownloadArtifactsOriginMetrics
270
+ end
271
+ b.use TestExitCode
272
+ end
273
+ end
274
+
275
+
216
276
  def self.run_sti_tests(options)
217
277
  Vagrant::Action::Builder.new.tap do |b|
218
278
  b.use RunStiTests, options
@@ -240,12 +300,18 @@ module Vagrant
240
300
  b.use DownloadArtifactsOriginAggregatedLogging
241
301
  end
242
302
  end
243
-
303
+
304
+ def self.download_origin_metrics_artifacts(options)
305
+ Vagrant::Action::Builder.new.tap do |b|
306
+ b.use DownloadArtifactsOriginMetrics
307
+ end
308
+ end
309
+
244
310
  def self.download_origin_console_artifacts(options)
245
311
  Vagrant::Action::Builder.new.tap do |b|
246
312
  b.use DownloadArtifactsOriginConsole
247
313
  end
248
- end
314
+ end
249
315
 
250
316
  def self.gen_template(options)
251
317
  Vagrant::Action::Builder.new.tap do |b|
@@ -310,6 +376,8 @@ module Vagrant
310
376
  autoload :SetHostName, action_root.join("set_host_name")
311
377
  autoload :YumUpdate, action_root.join("yum_update")
312
378
  autoload :InstallOriginBaseDependencies, action_root.join("install_origin_base_dependencies")
379
+ autoload :InstallDocker, action_root.join("install_docker")
380
+ autoload :InstallGolang, action_root.join("install_golang")
313
381
  autoload :InstallOriginAssetDependencies, action_root.join("install_origin_asset_dependencies")
314
382
  autoload :BuildOriginBaseImages, action_root.join("build_origin_base_images")
315
383
  autoload :PushOpenshiftImages, action_root.join("push_openshift_images")
@@ -324,17 +392,20 @@ module Vagrant
324
392
  autoload :LocalOriginCheckout, action_root.join("local_origin_checkout")
325
393
  autoload :CreateBareRepoPlaceholders, action_root.join("create_bare_repo_placeholders")
326
394
  autoload :RunOriginTests, action_root.join("run_origin_tests")
327
- autoload :RunOriginAssetTests, action_root.join("run_origin_asset_tests")
395
+ autoload :RunOriginAssetTests, action_root.join("run_origin_asset_tests")
328
396
  autoload :RunStiTests, action_root.join("run_sti_tests")
329
397
  autoload :RunOriginAggregatedLoggingTests, action_root.join("run_origin_aggregated_logging_tests")
398
+ autoload :RunOriginMetricsTests, action_root.join("run_origin_metrics_tests")
399
+ autoload :RunCustomerDiagnosticsTests, action_root.join("run_customer_diagnostics_tests")
330
400
  autoload :GenerateTemplate, action_root.join("generate_template")
331
401
  autoload :CreateAMI, action_root.join("create_ami")
332
402
  autoload :ModifyInstance, action_root.join("modify_instance")
333
403
  autoload :ModifyAMI, action_root.join("modify_ami")
334
404
  autoload :DownloadArtifactsOrigin, action_root.join("download_artifacts_origin")
335
- autoload :DownloadArtifactsOriginConsole, action_root.join("download_artifacts_origin_console")
405
+ autoload :DownloadArtifactsOriginConsole, action_root.join("download_artifacts_origin_console")
336
406
  autoload :DownloadArtifactsSti, action_root.join("download_artifacts_sti")
337
407
  autoload :DownloadArtifactsOriginAggregatedLogging, action_root.join("download_artifacts_origin_aggregated_logging")
408
+ autoload :DownloadArtifactsOriginMetrics, action_root.join("download_artifacts_origin_metrics")
338
409
  autoload :TestExitCode, action_root.join("test_exit_code")
339
410
  autoload :CleanNetworkSetup, action_root.join("clean_network_setup")
340
411
  autoload :RunSystemctl, action_root.join("run_systemctl")