vagrant-openshift 3.0.7 → 3.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +5 -1
- data/README.asciidoc +0 -9
- data/lib/vagrant-openshift/action.rb +37 -1
- data/lib/vagrant-openshift/action/checkout_repositories.rb +2 -2
- data/lib/vagrant-openshift/action/download_artifacts_origin.rb +1 -3
- data/lib/vagrant-openshift/action/download_artifacts_origin_console.rb +74 -0
- data/lib/vagrant-openshift/action/install_origin_asset_dependencies.rb +10 -10
- data/lib/vagrant-openshift/action/install_origin_base_dependencies.rb +2 -0
- data/lib/vagrant-openshift/action/push_openshift_images.rb +6 -6
- data/lib/vagrant-openshift/action/run_origin_asset_tests.rb +82 -0
- data/lib/vagrant-openshift/action/run_origin_tests.rb +0 -8
- data/lib/vagrant-openshift/command/download_artifacts_origin_console.rb +49 -0
- data/lib/vagrant-openshift/command/repo_sync_origin_console.rb +66 -0
- data/lib/vagrant-openshift/command/test_origin_console.rb +61 -0
- data/lib/vagrant-openshift/constants.rb +9 -1
- data/lib/vagrant-openshift/helper/command_helper.rb +3 -3
- data/lib/vagrant-openshift/plugin.rb +15 -0
- data/lib/vagrant-openshift/version.rb +1 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1f801d1a034a23c6ed705d62ff7b4117170cf03b
|
4
|
+
data.tar.gz: ef9e37029fd017195bdd6752946d064a7eb34a37
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3322ccb80bc697835fa435b6a2be8eaa7ef8eed49a8ef341d22a759a24aa13ab5e4473e041073e7f4a3c6b5a94b176e783aa9a433ade67d5ee4fbb66851c5d7f
|
7
|
+
data.tar.gz: ff6d96ec3325ef751c8209b09e73a50ef53590d6829628564b7641d10195609df8cc55114aeabbd198bc99854f1fc8a4315c1ab09c536b8fef9534bec76f3124
|
data/Gemfile
CHANGED
@@ -7,6 +7,10 @@ group :development do
|
|
7
7
|
# We depend on Vagrant for development, but we don't add it as a
|
8
8
|
# gem dependency because we expect to be installed within the
|
9
9
|
# Vagrant environment itself using `vagrant plugin`.
|
10
|
-
|
10
|
+
if File.exist?(File.expand_path("../../vagrant", __FILE__))
|
11
|
+
gem "vagrant", path: "../vagrant"
|
12
|
+
else
|
13
|
+
gem "vagrant", :git => "git://github.com/mitchellh/vagrant.git"
|
14
|
+
end
|
11
15
|
gem "json"
|
12
16
|
end
|
data/README.asciidoc
CHANGED
@@ -44,15 +44,6 @@ Compile using Rake:
|
|
44
44
|
$ bundle exec rake
|
45
45
|
----
|
46
46
|
|
47
|
-
NOTE: If at this point a warning like `git://github.com/mitchellh/vagrant.git (at master) is not yet checked out. Run bundle install first.` appears, run `bundle install` and then re-run `bundle exec rake`. The warning will most likely not go away, but it is safe to proceed regardless.
|
48
|
-
|
49
|
-
Install the plugin using Vagrant (only necessary if `bundle exec rake` still failed with the above noted warning):
|
50
|
-
|
51
|
-
[source,sh]
|
52
|
-
----
|
53
|
-
$ vagrant plugin install pkg/vagrant-openshift-<release>.gem
|
54
|
-
----
|
55
|
-
|
56
47
|
===== From rubygems.org
|
57
48
|
|
58
49
|
Install the published version of this plugin:
|
@@ -110,7 +110,6 @@ module Vagrant
|
|
110
110
|
end
|
111
111
|
b.use SyncLocalRepository
|
112
112
|
b.use CheckoutRepositories
|
113
|
-
b.use InstallOriginAssetDependencies, :restore_assets => true
|
114
113
|
end
|
115
114
|
if options[:build]
|
116
115
|
b.use(BuildOriginBaseImages, options) if options[:images]
|
@@ -136,6 +135,23 @@ module Vagrant
|
|
136
135
|
end
|
137
136
|
end
|
138
137
|
end
|
138
|
+
|
139
|
+
def self.repo_sync_origin_console(options)
|
140
|
+
Vagrant::Action::Builder.new.tap do |b|
|
141
|
+
b.use PrepareSshConfig
|
142
|
+
if options[:source]
|
143
|
+
if options[:clean]
|
144
|
+
b.use Clean, :repo => 'origin-console'
|
145
|
+
b.use CloneUpstreamRepositories, :repo => 'origin-console'
|
146
|
+
end
|
147
|
+
b.use SyncLocalRepository, :repo => 'origin-console'
|
148
|
+
b.use CheckoutRepositories, :repo => 'origin-console'
|
149
|
+
if options[:build]
|
150
|
+
b.use InstallOriginAssetDependencies, :restore_assets => true
|
151
|
+
end
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
139
155
|
|
140
156
|
def self.repo_sync_origin_aggregated_logging(options)
|
141
157
|
Vagrant::Action::Builder.new.tap do |b|
|
@@ -174,6 +190,18 @@ module Vagrant
|
|
174
190
|
b.use TestExitCode
|
175
191
|
end
|
176
192
|
end
|
193
|
+
|
194
|
+
def self.run_origin_asset_tests(options)
|
195
|
+
Vagrant::Action::Builder.new.tap do |b|
|
196
|
+
# UI integration tests require the api server to be running
|
197
|
+
b.use RunSystemctl, {:action => "start", :service => "openshift"}
|
198
|
+
b.use RunOriginAssetTests, options
|
199
|
+
if options[:download]
|
200
|
+
b.use DownloadArtifactsOriginConsole
|
201
|
+
end
|
202
|
+
b.use TestExitCode
|
203
|
+
end
|
204
|
+
end
|
177
205
|
|
178
206
|
def self.run_origin_aggregated_logging_tests(options)
|
179
207
|
Vagrant::Action::Builder.new.tap do |b|
|
@@ -212,6 +240,12 @@ module Vagrant
|
|
212
240
|
b.use DownloadArtifactsOriginAggregatedLogging
|
213
241
|
end
|
214
242
|
end
|
243
|
+
|
244
|
+
def self.download_origin_console_artifacts(options)
|
245
|
+
Vagrant::Action::Builder.new.tap do |b|
|
246
|
+
b.use DownloadArtifactsOriginConsole
|
247
|
+
end
|
248
|
+
end
|
215
249
|
|
216
250
|
def self.gen_template(options)
|
217
251
|
Vagrant::Action::Builder.new.tap do |b|
|
@@ -290,6 +324,7 @@ module Vagrant
|
|
290
324
|
autoload :LocalOriginCheckout, action_root.join("local_origin_checkout")
|
291
325
|
autoload :CreateBareRepoPlaceholders, action_root.join("create_bare_repo_placeholders")
|
292
326
|
autoload :RunOriginTests, action_root.join("run_origin_tests")
|
327
|
+
autoload :RunOriginAssetTests, action_root.join("run_origin_asset_tests")
|
293
328
|
autoload :RunStiTests, action_root.join("run_sti_tests")
|
294
329
|
autoload :RunOriginAggregatedLoggingTests, action_root.join("run_origin_aggregated_logging_tests")
|
295
330
|
autoload :GenerateTemplate, action_root.join("generate_template")
|
@@ -297,6 +332,7 @@ module Vagrant
|
|
297
332
|
autoload :ModifyInstance, action_root.join("modify_instance")
|
298
333
|
autoload :ModifyAMI, action_root.join("modify_ami")
|
299
334
|
autoload :DownloadArtifactsOrigin, action_root.join("download_artifacts_origin")
|
335
|
+
autoload :DownloadArtifactsOriginConsole, action_root.join("download_artifacts_origin_console")
|
300
336
|
autoload :DownloadArtifactsSti, action_root.join("download_artifacts_sti")
|
301
337
|
autoload :DownloadArtifactsOriginAggregatedLogging, action_root.join("download_artifacts_origin_aggregated_logging")
|
302
338
|
autoload :TestExitCode, action_root.join("test_exit_code")
|
@@ -37,7 +37,7 @@ module Vagrant
|
|
37
37
|
if [ -d #{bare_repo_path} ]; then
|
38
38
|
rm -rf #{repo_path}
|
39
39
|
echo 'Cloning #{repo_name} ...'
|
40
|
-
git clone --quiet #{bare_repo_path} #{repo_path}
|
40
|
+
git clone --quiet --recurse-submodules #{bare_repo_path} #{repo_path}
|
41
41
|
}
|
42
42
|
|
43
43
|
if @options[:branch] && @options[:branch][repo_name]
|
@@ -65,4 +65,4 @@ fi
|
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
68
|
-
end
|
68
|
+
end
|
@@ -38,9 +38,7 @@ module Vagrant
|
|
38
38
|
"/var/log/yum.log" => artifacts_dir + "yum.log",
|
39
39
|
"/var/log/secure" => artifacts_dir + "secure",
|
40
40
|
"/var/log/audit/audit.log" => artifacts_dir + "audit.log",
|
41
|
-
"/tmp/openshift/" => artifacts_dir
|
42
|
-
|
43
|
-
"/data/src/github.com/openshift/origin/assets/test/tmp/screenshots/" => artifacts_dir + "screenshots/"
|
41
|
+
"/tmp/openshift/" => artifacts_dir
|
44
42
|
}
|
45
43
|
|
46
44
|
if @options[:download_release]
|
@@ -0,0 +1,74 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2013 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#++
|
16
|
+
require 'pathname'
|
17
|
+
|
18
|
+
module Vagrant
|
19
|
+
module Openshift
|
20
|
+
module Action
|
21
|
+
class DownloadArtifactsOriginConsole
|
22
|
+
include CommandHelper
|
23
|
+
|
24
|
+
def initialize(app, env)
|
25
|
+
@app = app
|
26
|
+
@env = env
|
27
|
+
end
|
28
|
+
|
29
|
+
def call(env)
|
30
|
+
machine = @env[:machine]
|
31
|
+
machine.ui.info "Downloading any failure screenshots"
|
32
|
+
ssh_info = machine.ssh_info
|
33
|
+
private_key_path = ssh_info[:private_key_path].kind_of?(Array) ? ssh_info[:private_key_path][0] : ssh_info[:private_key_path]
|
34
|
+
|
35
|
+
artifacts_dir = Pathname.new(File.expand_path(machine.env.root_path + "artifacts"))
|
36
|
+
|
37
|
+
_,_,exit_code = do_execute machine, "mkdir -p /tmp/openshift && journalctl -u openshift --no-pager > /tmp/openshift/openshift.log", :fail_on_error => false
|
38
|
+
if exit_code != 0
|
39
|
+
machine.ui.warn "Unable to dump openshift log from journalctl"
|
40
|
+
end
|
41
|
+
|
42
|
+
download_map = {
|
43
|
+
"/var/log/yum.log" => artifacts_dir + "yum.log",
|
44
|
+
"/var/log/secure" => artifacts_dir + "secure",
|
45
|
+
"/var/log/audit/audit.log" => artifacts_dir + "audit.log",
|
46
|
+
"/tmp/openshift/" => artifacts_dir,
|
47
|
+
"/data/src/github.com/openshift/origin-web-console/test/tmp/screenshots/" => artifacts_dir + "screenshots/"
|
48
|
+
}
|
49
|
+
|
50
|
+
download_map.each do |source,target|
|
51
|
+
if ! machine.communicate.test("sudo ls #{source}")
|
52
|
+
machine.ui.info "#{source} did not exist on the remote system. This is often the case for tests that were not run."
|
53
|
+
next
|
54
|
+
end
|
55
|
+
|
56
|
+
machine.ui.info "Downloading artifacts from '#{source}' to '#{target}'"
|
57
|
+
if target.to_s.end_with? '/'
|
58
|
+
FileUtils.mkdir_p target.to_s
|
59
|
+
else
|
60
|
+
FileUtils.mkdir_p File.dirname(target.to_s)
|
61
|
+
end
|
62
|
+
|
63
|
+
command = "/usr/bin/rsync -az -e 'ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i #{private_key_path}' --rsync-path='sudo rsync' --exclude='volumes/*' --exclude='volumes/' #{ssh_info[:username]}@#{ssh_info[:host]}:#{source} #{target}"
|
64
|
+
|
65
|
+
if not system(command)
|
66
|
+
machine.ui.warn "Unable to download artifacts"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
@app.call(env)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
@@ -30,7 +30,7 @@ module Vagrant
|
|
30
30
|
cmd = %{
|
31
31
|
set -ex
|
32
32
|
|
33
|
-
|
33
|
+
ORIGIN_CONSOLE_PATH=/data/src/github.com/openshift/origin-web-console
|
34
34
|
ASSET_BACKUP_DIR=/data/asset_dependencies
|
35
35
|
|
36
36
|
if ! which npm > /dev/null 2>&1 ; then
|
@@ -45,16 +45,16 @@ fi
|
|
45
45
|
# make sure the dirs always exist
|
46
46
|
mkdir -p /data/asset_dependencies/node_modules
|
47
47
|
mkdir -p /data/asset_dependencies/bower_components
|
48
|
-
# copy them to the
|
49
|
-
cp -rf $ASSET_BACKUP_DIR/node_modules $
|
50
|
-
cp -rf $ASSET_BACKUP_DIR/bower_components $
|
48
|
+
# copy them to the console repo
|
49
|
+
cp -rf $ASSET_BACKUP_DIR/node_modules $ORIGIN_CONSOLE_PATH/node_modules
|
50
|
+
cp -rf $ASSET_BACKUP_DIR/bower_components $ORIGIN_CONSOLE_PATH/bower_components
|
51
51
|
|
52
52
|
}
|
53
53
|
end
|
54
54
|
|
55
55
|
cmd += %{
|
56
|
-
pushd $
|
57
|
-
hack/install-
|
56
|
+
pushd $ORIGIN_CONSOLE_PATH
|
57
|
+
hack/install-deps.sh
|
58
58
|
popd
|
59
59
|
|
60
60
|
}
|
@@ -62,12 +62,12 @@ popd
|
|
62
62
|
if @options[:backup_assets]
|
63
63
|
cmd += %{
|
64
64
|
# Make sure tests pass before backing up this asset install
|
65
|
-
pushd $
|
66
|
-
|
65
|
+
pushd $ORIGIN_CONSOLE_PATH
|
66
|
+
grunt test
|
67
67
|
popd
|
68
68
|
mkdir -p $ASSET_BACKUP_DIR
|
69
|
-
cp -rf $
|
70
|
-
cp -rf $
|
69
|
+
cp -rf $ORIGIN_CONSOLE_PATH/node_modules $ASSET_BACKUP_DIR/node_modules
|
70
|
+
cp -rf $ORIGIN_CONSOLE_PATH/bower_components $ASSET_BACKUP_DIR/bower_components
|
71
71
|
}
|
72
72
|
end
|
73
73
|
|
@@ -131,6 +131,8 @@ chown root /usr/bin/chromedriver
|
|
131
131
|
chmod 755 /usr/bin/chromedriver
|
132
132
|
}, :timeout=>60*60, :verbose => false)
|
133
133
|
|
134
|
+
sudo(env[:machine], "wget -O /etc/yum.repos.d/openshift-rhel7-dependencies.repo https://mirror.openshift.com/pub/openshift-origin/nightly/rhel-7/dependencies/openshift-rhel7-dependencies.repo", fail_on_error: true, :timeout=>60*20, :verbose => true)
|
135
|
+
|
134
136
|
#
|
135
137
|
# FIXME: Need to install golang packages 'after' the 'gcc' is
|
136
138
|
# installed. See BZ#1101508
|
@@ -56,11 +56,11 @@ docker tag -f #{rhel_namespace}/#{image_name}-rhel7 #{registry}#{rhel_namespace}
|
|
56
56
|
# We can't fully parallelize this because docker fails when you push to the same repo at the
|
57
57
|
# same time (using different tags), so we do two groups of push operations.
|
58
58
|
# this one is failing in parallel for unknown reasons
|
59
|
-
docker push
|
59
|
+
docker push #{registry}#{rhel_namespace}/#{image_name}-rhel7:#{git_ref}
|
60
60
|
|
61
|
-
procs[0]="docker push
|
62
|
-
procs[1]="docker push
|
63
|
-
#procs[2]="docker push
|
61
|
+
procs[0]="docker push #{registry}#{centos_namespace}/#{image_name}-centos7:#{git_ref}"
|
62
|
+
procs[1]="docker push docker.io/#{centos_namespace}/#{image_name}-centos7:latest"
|
63
|
+
#procs[2]="docker push #{registry}#{rhel_namespace}/#{image_name}-rhel7:#{git_ref}"
|
64
64
|
|
65
65
|
# Run pushes in parallel
|
66
66
|
for i in {0..1}; do
|
@@ -76,8 +76,8 @@ for pid in ${pids[*]}; do
|
|
76
76
|
wait $pid
|
77
77
|
done
|
78
78
|
|
79
|
-
procs[0]="docker push
|
80
|
-
procs[1]="docker push
|
79
|
+
procs[0]="docker push #{registry}#{centos_namespace}/#{image_name}-centos7:latest"
|
80
|
+
procs[1]="docker push #{registry}#{rhel_namespace}/#{image_name}-rhel7:latest"
|
81
81
|
|
82
82
|
# Run pushes in parallel
|
83
83
|
for i in {0..1}; do
|
@@ -0,0 +1,82 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2013 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#++
|
16
|
+
|
17
|
+
module Vagrant
|
18
|
+
module Openshift
|
19
|
+
module Action
|
20
|
+
class RunOriginAssetTests
|
21
|
+
include CommandHelper
|
22
|
+
|
23
|
+
@@SSH_TIMEOUT = 4800
|
24
|
+
|
25
|
+
def initialize(app, env, options)
|
26
|
+
@app = app
|
27
|
+
@env = env
|
28
|
+
@options = options.clone
|
29
|
+
end
|
30
|
+
|
31
|
+
def run_tests(env, cmds, as_root=true)
|
32
|
+
tests = ''
|
33
|
+
cmds.each do |cmd|
|
34
|
+
tests += "
|
35
|
+
echo '***************************************************'
|
36
|
+
echo 'Running #{cmd}...'
|
37
|
+
time #{cmd}
|
38
|
+
echo 'Finished #{cmd}'
|
39
|
+
echo '***************************************************'
|
40
|
+
"
|
41
|
+
end
|
42
|
+
cmd = %{
|
43
|
+
set -e
|
44
|
+
pushd #{Constants.build_dir}/origin-web-console >/dev/null
|
45
|
+
export PATH=$GOPATH/bin:$PATH
|
46
|
+
#{tests}
|
47
|
+
popd >/dev/null
|
48
|
+
}
|
49
|
+
exit_code = 0
|
50
|
+
if as_root
|
51
|
+
_,_,exit_code = sudo(env[:machine], cmd, {:timeout => 60*60*4, :fail_on_error => false, :verbose => false})
|
52
|
+
else
|
53
|
+
_,_,exit_code = do_execute(env[:machine], cmd, {:timeout => 60*60*4, :fail_on_error => false, :verbose => false})
|
54
|
+
end
|
55
|
+
exit_code
|
56
|
+
end
|
57
|
+
|
58
|
+
#
|
59
|
+
# All env vars will be added to the beginning of the commands
|
60
|
+
#
|
61
|
+
def call(env)
|
62
|
+
@options.delete :logs
|
63
|
+
|
64
|
+
cmds = []
|
65
|
+
|
66
|
+
if @options[:envs]
|
67
|
+
cmds += @options[:envs]
|
68
|
+
end
|
69
|
+
|
70
|
+
cmds << 'hack/verify-dist.sh'
|
71
|
+
cmds << 'grunt test'
|
72
|
+
cmds << 'hack/test-integration-headless.sh'
|
73
|
+
cmd = cmds.join(' ')
|
74
|
+
env[:test_exit_code] = run_tests(env, cmds, @options[:root])
|
75
|
+
|
76
|
+
@app.call(env)
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -67,8 +67,6 @@ popd >/dev/null
|
|
67
67
|
@options.delete :logs
|
68
68
|
|
69
69
|
cmd_env = []
|
70
|
-
cmd_env << 'TEST_ASSETS=true'
|
71
|
-
cmd_env << 'TEST_ASSETS_HEADLESS=true'
|
72
70
|
if @options[:skip_image_cleanup]
|
73
71
|
cmd_env << 'SKIP_IMAGE_CLEANUP=1'
|
74
72
|
end
|
@@ -124,12 +122,6 @@ popd >/dev/null
|
|
124
122
|
env[:test_exit_code] = run_tests(env, cmds, @options[:root])
|
125
123
|
end
|
126
124
|
|
127
|
-
# any other tests that should not be run as sudo
|
128
|
-
if env[:test_exit_code] == 0 && @options[:all]
|
129
|
-
cmds = ['hack/test-assets.sh']
|
130
|
-
env[:test_exit_code] = run_tests(env, cmds, @options[:root])
|
131
|
-
end
|
132
|
-
|
133
125
|
@app.call(env)
|
134
126
|
end
|
135
127
|
|
@@ -0,0 +1,49 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2013 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#++
|
16
|
+
require_relative "../action"
|
17
|
+
|
18
|
+
module Vagrant
|
19
|
+
module Openshift
|
20
|
+
module Commands
|
21
|
+
class DownloadArtifactsOriginConsole < Vagrant.plugin(2, :command)
|
22
|
+
include CommandHelper
|
23
|
+
|
24
|
+
def self.synopsis
|
25
|
+
"download the origin-web-console test artifacts"
|
26
|
+
end
|
27
|
+
|
28
|
+
def execute
|
29
|
+
options = {}
|
30
|
+
|
31
|
+
opts = OptionParser.new do |o|
|
32
|
+
o.banner = "Usage: vagrant download-artifacts-origin-console [machine-name]"
|
33
|
+
o.separator ""
|
34
|
+
end
|
35
|
+
|
36
|
+
# Parse the options
|
37
|
+
argv = parse_options(opts)
|
38
|
+
return if !argv
|
39
|
+
|
40
|
+
with_target_vms(argv, :reverse => true) do |machine|
|
41
|
+
actions = Vagrant::Openshift::Action.download_origin_console_artifacts(options)
|
42
|
+
@env.action_runner.run actions, {:machine => machine}
|
43
|
+
0
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,66 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2013 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#++
|
16
|
+
require_relative "../action"
|
17
|
+
|
18
|
+
module Vagrant
|
19
|
+
module Openshift
|
20
|
+
module Commands
|
21
|
+
class RepoSyncOriginConsole < Vagrant.plugin(2, :command)
|
22
|
+
include CommandHelper
|
23
|
+
|
24
|
+
def self.synopsis
|
25
|
+
"syncs your local repos to the current instance"
|
26
|
+
end
|
27
|
+
|
28
|
+
def execute
|
29
|
+
options = {}
|
30
|
+
options[:images] = true
|
31
|
+
options[:build] = true
|
32
|
+
options[:clean] = false
|
33
|
+
options[:source] = false
|
34
|
+
|
35
|
+
opts = OptionParser.new do |o|
|
36
|
+
o.banner = "Usage: vagrant sync-origin-console [vm-name]"
|
37
|
+
o.separator ""
|
38
|
+
|
39
|
+
o.on("-c", "--clean", "Delete existing repo before syncing") do |f|
|
40
|
+
options[:clean] = f
|
41
|
+
end
|
42
|
+
|
43
|
+
o.on("-s", "--source", "Sync the source (not required if using synced folders)") do |f|
|
44
|
+
options[:source] = f
|
45
|
+
end
|
46
|
+
|
47
|
+
o.on("--dont-install", "Don't build and install updated source") do |f|
|
48
|
+
options[:build] = false
|
49
|
+
end
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
# Parse the options
|
54
|
+
argv = parse_options(opts)
|
55
|
+
return if !argv
|
56
|
+
|
57
|
+
with_target_vms(argv, :reverse => true) do |machine|
|
58
|
+
actions = Vagrant::Openshift::Action.repo_sync_origin_console(options)
|
59
|
+
@env.action_runner.run actions, {:machine => machine}
|
60
|
+
0
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
@@ -0,0 +1,61 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2013 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#++
|
16
|
+
require_relative "../action"
|
17
|
+
|
18
|
+
module Vagrant
|
19
|
+
module Openshift
|
20
|
+
module Commands
|
21
|
+
class TestOriginConsole < Vagrant.plugin(2, :command)
|
22
|
+
include CommandHelper
|
23
|
+
|
24
|
+
def self.synopsis
|
25
|
+
"run the origin web console tests"
|
26
|
+
end
|
27
|
+
|
28
|
+
def execute
|
29
|
+
options = {}
|
30
|
+
options[:download] = false
|
31
|
+
options[:all] = false
|
32
|
+
options[:extended_test_packages] = ""
|
33
|
+
|
34
|
+
opts = OptionParser.new do |o|
|
35
|
+
o.banner = "Usage: vagrant test-origin-console [machine-name]"
|
36
|
+
o.separator ""
|
37
|
+
|
38
|
+
o.on("-d","--artifacts", String, "Download logs and screenshots") do |f|
|
39
|
+
options[:download] = true
|
40
|
+
end
|
41
|
+
|
42
|
+
o.on("", "--env ENV=VALUE", String, "Environment variable to execute tests with") do |f|
|
43
|
+
options[:envs] = [] unless options[:envs]
|
44
|
+
options[:envs] << f
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
# Parse the options
|
49
|
+
argv = parse_options(opts)
|
50
|
+
return if !argv
|
51
|
+
|
52
|
+
with_target_vms(argv, :reverse => true) do |machine|
|
53
|
+
actions = Vagrant::Openshift::Action.run_origin_asset_tests(options)
|
54
|
+
@env.action_runner.run actions, {:machine => machine}
|
55
|
+
0
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -30,7 +30,14 @@ module Vagrant
|
|
30
30
|
def self.openshift_repos
|
31
31
|
{
|
32
32
|
'origin' => 'https://github.com/openshift/origin.git',
|
33
|
-
'source-to-image' => 'https://github.com/openshift/source-to-image.git'
|
33
|
+
'source-to-image' => 'https://github.com/openshift/source-to-image.git',
|
34
|
+
'origin-web-console' => 'https://github.com/openshift/origin-web-console.git'
|
35
|
+
}
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.console_repos
|
39
|
+
{
|
40
|
+
'origin-web-console' => 'https://github.com/openshift/origin-web-console.git'
|
34
41
|
}
|
35
42
|
end
|
36
43
|
|
@@ -44,6 +51,7 @@ module Vagrant
|
|
44
51
|
{
|
45
52
|
'origin' => openshift_repos,
|
46
53
|
nil => openshift_repos,
|
54
|
+
'origin-console' => console_repos,
|
47
55
|
'origin-aggregated-logging' => aggregated_logging_repos
|
48
56
|
}[reponame]
|
49
57
|
end
|
@@ -60,7 +60,7 @@ module Vagrant
|
|
60
60
|
Timeout::timeout(options[:timeout]) do
|
61
61
|
if options[:sudo]
|
62
62
|
rc = machine.communicate.sudo(command, nil, &execute)
|
63
|
-
else
|
63
|
+
else
|
64
64
|
rc = machine.communicate.execute(command, nil, &execute)
|
65
65
|
end
|
66
66
|
end
|
@@ -162,7 +162,7 @@ echo 'Cloning #{repo} ...'
|
|
162
162
|
user_repo_url="git@github.com:#{@options[:user]}/#{repo}"
|
163
163
|
command += %{
|
164
164
|
echo 'Cloning #{user_repo_url}'
|
165
|
-
git clone --quiet #{user_repo_url}
|
165
|
+
git clone --quiet --recurse-submodules #{user_repo_url}
|
166
166
|
if [ $? -eq 0 ]; then
|
167
167
|
cloned=true
|
168
168
|
(cd #{repo} && git remote add upstream #{url} && git fetch upstream)
|
@@ -173,7 +173,7 @@ fi
|
|
173
173
|
|
174
174
|
end
|
175
175
|
command += %{
|
176
|
-
[ $cloned != true ] && git clone --quiet #{url}
|
176
|
+
[ $cloned != true ] && git clone --quiet --recurse-submodules #{url}
|
177
177
|
( cd #{repo} && git checkout #{@options[:branch]} &>/dev/null)
|
178
178
|
}
|
179
179
|
end
|
@@ -37,6 +37,11 @@ module Vagrant
|
|
37
37
|
Commands::RepoSyncOrigin
|
38
38
|
end
|
39
39
|
|
40
|
+
command "sync-origin-console" do
|
41
|
+
require_relative "command/repo_sync_origin_console"
|
42
|
+
Commands::RepoSyncOriginConsole
|
43
|
+
end
|
44
|
+
|
40
45
|
command "sync-sti" do
|
41
46
|
require_relative "command/repo_sync_sti"
|
42
47
|
Commands::RepoSyncSti
|
@@ -122,6 +127,11 @@ module Vagrant
|
|
122
127
|
Commands::TestOrigin
|
123
128
|
end
|
124
129
|
|
130
|
+
command "test-origin-console" do
|
131
|
+
require_relative "command/test_origin_console"
|
132
|
+
Commands::TestOriginConsole
|
133
|
+
end
|
134
|
+
|
125
135
|
command "test-sti" do
|
126
136
|
require_relative "command/test_sti"
|
127
137
|
Commands::TestSti
|
@@ -137,6 +147,11 @@ module Vagrant
|
|
137
147
|
Commands::DownloadArtifactsOrigin
|
138
148
|
end
|
139
149
|
|
150
|
+
command "download-artifacts-origin-console" do
|
151
|
+
require_relative "command/download_artifacts_origin_console"
|
152
|
+
Commands::DownloadArtifactsOriginConsole
|
153
|
+
end
|
154
|
+
|
140
155
|
command "download-artifacts-origin-aggregated-logging" do
|
141
156
|
require_relative "command/download_artifacts_origin_aggregated_logging"
|
142
157
|
Commands::DownloadArtifactsOriginAggregatedLogging
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vagrant-openshift
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.0.
|
4
|
+
version: 3.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Red Hat
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-05-
|
11
|
+
date: 2016-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -139,6 +139,7 @@ files:
|
|
139
139
|
- lib/vagrant-openshift/action/create_yum_repositories.rb
|
140
140
|
- lib/vagrant-openshift/action/download_artifacts_origin.rb
|
141
141
|
- lib/vagrant-openshift/action/download_artifacts_origin_aggregated_logging.rb
|
142
|
+
- lib/vagrant-openshift/action/download_artifacts_origin_console.rb
|
142
143
|
- lib/vagrant-openshift/action/download_artifacts_sti.rb
|
143
144
|
- lib/vagrant-openshift/action/generate_template.rb
|
144
145
|
- lib/vagrant-openshift/action/install_origin.rb
|
@@ -152,6 +153,7 @@ files:
|
|
152
153
|
- lib/vagrant-openshift/action/push_openshift_images.rb
|
153
154
|
- lib/vagrant-openshift/action/push_openshift_release.rb
|
154
155
|
- lib/vagrant-openshift/action/run_origin_aggregated_logging_tests.rb
|
156
|
+
- lib/vagrant-openshift/action/run_origin_asset_tests.rb
|
155
157
|
- lib/vagrant-openshift/action/run_origin_tests.rb
|
156
158
|
- lib/vagrant-openshift/action/run_sti_tests.rb
|
157
159
|
- lib/vagrant-openshift/action/run_systemctl.rb
|
@@ -173,6 +175,7 @@ files:
|
|
173
175
|
- lib/vagrant-openshift/command/create_local_yum_repo.rb
|
174
176
|
- lib/vagrant-openshift/command/download_artifacts_origin.rb
|
175
177
|
- lib/vagrant-openshift/command/download_artifacts_origin_aggregated_logging.rb
|
178
|
+
- lib/vagrant-openshift/command/download_artifacts_origin_console.rb
|
176
179
|
- lib/vagrant-openshift/command/download_artifacts_sti.rb
|
177
180
|
- lib/vagrant-openshift/command/install_origin.rb
|
178
181
|
- lib/vagrant-openshift/command/install_origin_assets_base.rb
|
@@ -184,9 +187,11 @@ files:
|
|
184
187
|
- lib/vagrant-openshift/command/push_openshift_release.rb
|
185
188
|
- lib/vagrant-openshift/command/repo_sync_origin.rb
|
186
189
|
- lib/vagrant-openshift/command/repo_sync_origin_aggregated_logging.rb
|
190
|
+
- lib/vagrant-openshift/command/repo_sync_origin_console.rb
|
187
191
|
- lib/vagrant-openshift/command/repo_sync_sti.rb
|
188
192
|
- lib/vagrant-openshift/command/test_origin.rb
|
189
193
|
- lib/vagrant-openshift/command/test_origin_aggregated_logging.rb
|
194
|
+
- lib/vagrant-openshift/command/test_origin_console.rb
|
190
195
|
- lib/vagrant-openshift/command/test_origin_image.rb
|
191
196
|
- lib/vagrant-openshift/command/test_sti.rb
|
192
197
|
- lib/vagrant-openshift/command/try_restart_origin.rb
|