vagrant-openshift 3.0.3 → 3.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.asciidoc +50 -0
- data/lib/vagrant-openshift/action/build_origin_base_images.rb +1 -1
- data/lib/vagrant-openshift/action/build_origin_images.rb +60 -0
- data/lib/vagrant-openshift/action/build_origin_rpm_test.rb +51 -0
- data/lib/vagrant-openshift/action/checkout_repositories.rb +1 -1
- data/lib/vagrant-openshift/action/clean.rb +3 -2
- data/lib/vagrant-openshift/action/clone_upstream_repositories.rb +1 -1
- data/lib/vagrant-openshift/action/create_local_yum_repo.rb +54 -0
- data/lib/vagrant-openshift/action/download_artifacts_origin.rb +6 -5
- data/lib/vagrant-openshift/action/download_artifacts_origin_aggregated_logging.rb +67 -0
- data/lib/vagrant-openshift/action/generate_template.rb +0 -4
- data/lib/vagrant-openshift/action/install_origin_asset_dependencies.rb +3 -1
- data/lib/vagrant-openshift/action/install_origin_base_dependencies.rb +67 -6
- data/lib/vagrant-openshift/action/local_origin_checkout.rb +1 -1
- data/lib/vagrant-openshift/action/push_openshift_images.rb +2 -2
- data/lib/vagrant-openshift/action/run_origin_aggregated_logging_tests.rb +88 -0
- data/lib/vagrant-openshift/action/run_origin_tests.rb +28 -15
- data/lib/vagrant-openshift/action/sync_local_repository.rb +3 -2
- data/lib/vagrant-openshift/action/yum_update.rb +4 -0
- data/lib/vagrant-openshift/action.rb +59 -0
- data/lib/vagrant-openshift/command/build_origin_images.rb +58 -0
- data/lib/vagrant-openshift/command/build_origin_rpm_test.rb +50 -0
- data/lib/vagrant-openshift/command/checkout_repositories.rb +6 -1
- data/lib/vagrant-openshift/command/create_local_yum_repo.rb +56 -0
- data/lib/vagrant-openshift/command/download_artifacts_origin_aggregated_logging.rb +49 -0
- data/lib/vagrant-openshift/command/local_origin_setup.rb +5 -0
- data/lib/vagrant-openshift/command/repo_sync_origin_aggregated_logging.rb +71 -0
- data/lib/vagrant-openshift/command/test_origin.rb +14 -1
- data/lib/vagrant-openshift/command/test_origin_aggregated_logging.rb +67 -0
- data/lib/vagrant-openshift/command/test_origin_image.rb +6 -4
- data/lib/vagrant-openshift/constants.rb +19 -1
- data/lib/vagrant-openshift/plugin.rb +30 -0
- data/lib/vagrant-openshift/version.rb +1 -1
- metadata +13 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6fed7895b9c29e2bc6c343bf45e64e77a7826c1
|
4
|
+
data.tar.gz: f5912d91922785dc54314d6c62bf4ee6643eda98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1a31420933e35afa585e1d08e7e4a563b455ee71ecb2efff5d6796da1779e6756ca485aa23046ccb147b55d57e0082d12305a4b7b67fa72c52705a8e51f9116c
|
7
|
+
data.tar.gz: 51ebaf5f3f26c9a3cb140f2acbd07479e56bdad3c0015e98bba28724f52b3197c8c0593191d08f578d8b05996004e1de8ab58448abe1fb4b14c9ee734ded37f2
|
data/README.asciidoc
CHANGED
@@ -423,6 +423,56 @@ $ vagrant build-origin --images
|
|
423
423
|
$ vagrant build-sti --binary-only
|
424
424
|
----
|
425
425
|
|
426
|
+
=== Testing openshift/origin-aggregated-logging
|
427
|
+
|
428
|
+
NOTE: You will still need to clone the OpenShift Origin repo as above, in order
|
429
|
+
to use the Vagrantfile and the contrib/vagrant directory.
|
430
|
+
origin-aggregated-logging currently has no vagrant support.
|
431
|
+
|
432
|
+
==== Clone the OpenShift Origin aggregated logging repositories
|
433
|
+
|
434
|
+
Use `vagrant origin-local-checkout` as above link:#clone-the-openshift-origin-repositories[Clone the OpenShift Origin repositories], except use `--repo origin-aggregated-logging`:
|
435
|
+
[source, sh]
|
436
|
+
----
|
437
|
+
$ cd $GOPATH
|
438
|
+
$ vagrant origin-local-checkout --repo origin-aggregated-logging -u <github
|
439
|
+
username>
|
440
|
+
# run the remaining vagrant commands from $GOPATH/src/github.com/openshift/origin
|
441
|
+
$ pushd $GOPATH/src/github.com/openshift/origin
|
442
|
+
----
|
443
|
+
|
444
|
+
==== Initialize local vagrant conf
|
445
|
+
|
446
|
+
Same as above for origin - see link:#initialize-local-vagrant-conf[Initialize local vagrant conf]
|
447
|
+
You must be in `$GOPATH/src/github.com/openshift/origin` to run this.
|
448
|
+
|
449
|
+
==== Start the machine
|
450
|
+
|
451
|
+
Same as above for origin - see link:#start-the-machine[Start the machine]
|
452
|
+
You must be in `$GOPATH/src/github.com/openshift/origin` to run this.
|
453
|
+
|
454
|
+
==== Making Subsequent Changes
|
455
|
+
|
456
|
+
* Building updated code from edits in your local repository clones:
|
457
|
+
|
458
|
+
[source, sh]
|
459
|
+
----
|
460
|
+
$ vagrant sync-origin-aggregated-logging
|
461
|
+
----
|
462
|
+
|
463
|
+
For some providers, your local repositories are automatically synchronized
|
464
|
+
to the remote VM. If not, the `--source` option can be used to do so
|
465
|
+
before building.
|
466
|
+
You must be in `$GOPATH/src/github.com/openshift/origin` to run this.
|
467
|
+
|
468
|
+
==== Running Tests
|
469
|
+
|
470
|
+
[source, sh]
|
471
|
+
----
|
472
|
+
$ vagrant test-origin-aggregated-logging [--env NAME=VAR] ...
|
473
|
+
----
|
474
|
+
You must be in `$GOPATH/src/github.com/openshift/origin` to run this.
|
475
|
+
|
426
476
|
== Notice of Export Control Law
|
427
477
|
|
428
478
|
This software distribution includes cryptographic software that is subject to the U.S. Export Administration Regulations (the "*EAR*") and other U.S. and foreign laws and may not be exported, re-exported or transferred (a) to any country listed in Country Group E:1 in Supplement No. 1 to part 740 of the EAR (currently, Cuba, Iran, North Korea, Sudan & Syria); (b) to any prohibited destination or to any end user who has been prohibited from participating in U.S. export transactions by any federal agency of the U.S. government; or (c) for use in connection with the design, development or production of nuclear, chemical or biological weapons, or rocket systems, space launch vehicles, or sounding rockets, or unmanned air vehicle systems.You may not download this software or technical information if you are located in one of these countries or otherwise subject to these restrictions. You may not provide this software or technical information to individuals or entities located in one of these countries or otherwise subject to these restrictions. You are also responsible for compliance with foreign law requirements applicable to the import, export and use of this software and technical information.
|
@@ -0,0 +1,60 @@
|
|
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 BuildOriginImages
|
21
|
+
include CommandHelper
|
22
|
+
|
23
|
+
def initialize(app, env, options={})
|
24
|
+
@app = app
|
25
|
+
@env = env
|
26
|
+
@options = options
|
27
|
+
end
|
28
|
+
|
29
|
+
def call(env)
|
30
|
+
ssh_user = env[:machine].ssh_info[:username]
|
31
|
+
|
32
|
+
sudo(env[:machine], "mkdir -p #{Constants.build_dir}")
|
33
|
+
sudo(env[:machine], "mkdir -p #{Constants.build_dir + "builder"} && chown -R #{ssh_user}:#{ssh_user} #{Constants.build_dir}")
|
34
|
+
|
35
|
+
sudo(env[:machine], %{
|
36
|
+
set -e
|
37
|
+
|
38
|
+
pushd #{Constants.build_dir}origin/images/base
|
39
|
+
sudo cp -r #{Constants.build_dir}x86_64 .
|
40
|
+
sudo cp /etc/yum.repos.d/origin_local.repo .
|
41
|
+
docker build -t openshift/origin-base -f Dockerfile.rpm .
|
42
|
+
popd
|
43
|
+
})
|
44
|
+
|
45
|
+
images = @options[:images].split(",")
|
46
|
+
images.each do |image|
|
47
|
+
sudo(env[:machine], %{
|
48
|
+
pushd #{Constants.build_dir}origin/images/#{image}
|
49
|
+
docker build -t openshift/#{image} -f Dockerfile .
|
50
|
+
popd
|
51
|
+
})
|
52
|
+
end
|
53
|
+
|
54
|
+
|
55
|
+
@app.call(env)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,51 @@
|
|
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 BuildOriginRpmTest
|
21
|
+
include CommandHelper
|
22
|
+
|
23
|
+
def initialize(app, env, options={})
|
24
|
+
@app = app
|
25
|
+
@env = env
|
26
|
+
@options = options
|
27
|
+
end
|
28
|
+
|
29
|
+
def call(env)
|
30
|
+
ssh_user = env[:machine].ssh_info[:username]
|
31
|
+
|
32
|
+
sudo(env[:machine], "mkdir -p #{Constants.build_dir}")
|
33
|
+
sudo(env[:machine], "mkdir -p #{Constants.build_dir + "builder"} && chown -R #{ssh_user}:#{ssh_user} #{Constants.build_dir}")
|
34
|
+
|
35
|
+
sudo(env[:machine], %{
|
36
|
+
set -e
|
37
|
+
|
38
|
+
sudo yum install -y tito
|
39
|
+
|
40
|
+
pushd #{Constants.build_dir}/origin
|
41
|
+
sudo yum-builddep ./origin.spec
|
42
|
+
sudo tito build --rpm --test -o #{Constants.build_dir}
|
43
|
+
popd
|
44
|
+
})
|
45
|
+
|
46
|
+
@app.call(env)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
@@ -28,7 +28,7 @@ module Vagrant
|
|
28
28
|
|
29
29
|
def call(env)
|
30
30
|
git_clone_commands = "set -e\n"
|
31
|
-
Constants.
|
31
|
+
Constants.repos_for_name(@options[:repo]).each do |repo_name, url|
|
32
32
|
bare_repo_name = repo_name + "-bare"
|
33
33
|
bare_repo_path = Constants.build_dir + bare_repo_name
|
34
34
|
repo_path = Constants.build_dir + repo_name
|
@@ -20,14 +20,15 @@ module Vagrant
|
|
20
20
|
class Clean
|
21
21
|
include CommandHelper
|
22
22
|
|
23
|
-
def initialize(app, env)
|
23
|
+
def initialize(app, env, options={})
|
24
24
|
@app = app
|
25
25
|
@env = env
|
26
|
+
@options = options
|
26
27
|
end
|
27
28
|
|
28
29
|
def call(env)
|
29
30
|
git_clone_commands = ""
|
30
|
-
Constants.
|
31
|
+
Constants.repos_for_name(@options[:repo]).each do |repo_name, url|
|
31
32
|
bare_repo_name = repo_name + "-bare"
|
32
33
|
wc_repo_name = repo_name + "-bare-working_copy"
|
33
34
|
bare_repo_path = Constants.build_dir + bare_repo_name
|
@@ -36,7 +36,7 @@ UserKnownHostsFile=/dev/null
|
|
36
36
|
}}
|
37
37
|
|
38
38
|
git_clone_commands = "set -e\n"
|
39
|
-
Constants.
|
39
|
+
Constants.repos_for_name(@options[:repo]).each do |repo_name, url|
|
40
40
|
bare_repo_name = repo_name + "-bare"
|
41
41
|
bare_repo_path = Constants.build_dir + bare_repo_name
|
42
42
|
|
@@ -0,0 +1,54 @@
|
|
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 CreateLocalYumRepo
|
21
|
+
include CommandHelper
|
22
|
+
|
23
|
+
def initialize(app, env, options)
|
24
|
+
@app = app
|
25
|
+
@env = env
|
26
|
+
@options = options
|
27
|
+
end
|
28
|
+
|
29
|
+
def call(env)
|
30
|
+
if @options[:rpmdir_loc]
|
31
|
+
rpmdir_loc = @options[:rpmdir_loc]
|
32
|
+
else
|
33
|
+
rpmdir_loc = "#{Constants.build_dir}x86_64"
|
34
|
+
end
|
35
|
+
ssh_user = env[:machine].ssh_info[:username]
|
36
|
+
|
37
|
+
sudo(env[:machine], %{
|
38
|
+
set -e
|
39
|
+
|
40
|
+
sudo yum install -y createrepo
|
41
|
+
sudo chmod -R og+w #{rpmdir_loc} /etc/yum.repos.d/
|
42
|
+
sudo createrepo #{rpmdir_loc}
|
43
|
+
sudo printf "[origin_local]\nname=origin_local\nbaseurl=file://#{rpmdir_loc}\nenabled=1\ngpgcheck=0\n" > /etc/yum.repos.d/origin_local.repo
|
44
|
+
sudo chmod -R og-w /etc/yum.repos.d/
|
45
|
+
sudo yum clean all
|
46
|
+
sudo yum repolist all
|
47
|
+
})
|
48
|
+
|
49
|
+
@app.call(env)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -38,16 +38,17 @@ module Vagrant
|
|
38
38
|
"/var/log/secure" => artifacts_dir + "secure",
|
39
39
|
"/var/log/audit/audit.log" => artifacts_dir + "audit.log",
|
40
40
|
"/tmp/openshift/" => artifacts_dir,
|
41
|
-
"/tmp/origin/e2e/" => artifacts_dir + "e2e/",
|
42
|
-
"/tmp/openshift-extended-tests/" => artifacts_dir + "extended-tests/",
|
43
|
-
"/tmp/openshift-cmd/" => artifacts_dir + "cmd/",
|
44
|
-
"/tmp/openshift-integration/" => artifacts_dir + "integration/",
|
45
41
|
|
46
42
|
"/data/src/github.com/openshift/origin/_output/local/releases/" => artifacts_dir + "release/",
|
47
43
|
"/data/src/github.com/openshift/origin/assets/test/tmp/screenshots/" => artifacts_dir + "screenshots/"
|
48
44
|
}
|
49
45
|
|
50
46
|
download_map.each do |source,target|
|
47
|
+
if ! machine.communicate.test("sudo ls #{source}")
|
48
|
+
machine.ui.info "#{source} did not exist on the remote system. This is often the case for tests that were not run."
|
49
|
+
next
|
50
|
+
end
|
51
|
+
|
51
52
|
machine.ui.info "Downloading artifacts from '#{source}' to '#{target}'"
|
52
53
|
if target.to_s.end_with? '/'
|
53
54
|
FileUtils.mkdir_p target.to_s
|
@@ -55,7 +56,7 @@ module Vagrant
|
|
55
56
|
FileUtils.mkdir_p File.dirname(target.to_s)
|
56
57
|
end
|
57
58
|
|
58
|
-
command = "/usr/bin/rsync -az -e 'ssh -q -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i #{private_key_path}' --rsync-path='sudo rsync' #{ssh_info[:username]}@#{ssh_info[:host]}:#{source} #{target}"
|
59
|
+
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}"
|
59
60
|
|
60
61
|
if not system(command)
|
61
62
|
machine.ui.warn "Unable to download artifacts"
|
@@ -0,0 +1,67 @@
|
|
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 DownloadArtifactsOriginAggregatedLogging
|
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 logs"
|
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
|
+
download_map = {
|
37
|
+
"/var/log/yum.log" => artifacts_dir + "yum.log",
|
38
|
+
"/var/log/secure" => artifacts_dir + "secure",
|
39
|
+
"/var/log/audit/audit.log" => artifacts_dir + "audit.log",
|
40
|
+
"/tmp/origin-aggregated-logging/" => artifacts_dir,
|
41
|
+
}
|
42
|
+
|
43
|
+
download_map.each do |source,target|
|
44
|
+
if ! machine.communicate.test("sudo ls #{source}")
|
45
|
+
machine.ui.info "#{source} did not exist on the remote system. This is often the case for tests that were not run."
|
46
|
+
next
|
47
|
+
end
|
48
|
+
|
49
|
+
machine.ui.info "Downloading artifacts from '#{source}' to '#{target}'"
|
50
|
+
if target.to_s.end_with? '/'
|
51
|
+
FileUtils.mkdir_p target.to_s
|
52
|
+
else
|
53
|
+
FileUtils.mkdir_p File.dirname(target.to_s)
|
54
|
+
end
|
55
|
+
|
56
|
+
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}"
|
57
|
+
|
58
|
+
if not system(command)
|
59
|
+
machine.ui.warn "Unable to download artifacts"
|
60
|
+
end
|
61
|
+
end
|
62
|
+
@app.call(env)
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -65,10 +65,6 @@ module Vagrant
|
|
65
65
|
'os' => os,
|
66
66
|
'dev_cluster' => false,
|
67
67
|
'insert_key' => (stage == :inst) && !@options[:no_insert_key],
|
68
|
-
'num_minions' => 2,
|
69
|
-
'cpus' => 2,
|
70
|
-
'memory' => 2048,
|
71
|
-
'rebuild_yum_cache' => false,
|
72
68
|
'instance_type' => instance_type,
|
73
69
|
'volume_size' => volume_size
|
74
70
|
}
|
@@ -35,6 +35,8 @@ ASSET_BACKUP_DIR=/data/asset_dependencies
|
|
35
35
|
|
36
36
|
if ! which npm > /dev/null 2>&1 ; then
|
37
37
|
sudo yum -y install npm
|
38
|
+
# Update npm, we need a newer version than is installed by yum
|
39
|
+
sudo npm install npm@3.7.3 -g
|
38
40
|
fi
|
39
41
|
|
40
42
|
}
|
@@ -69,7 +71,7 @@ popd
|
|
69
71
|
}
|
70
72
|
end
|
71
73
|
|
72
|
-
do_execute(env[:machine], cmd, :verbose => false, :timeout=>60*60)
|
74
|
+
do_execute(env[:machine], cmd, :verbose => false, :timeout=>60*60*2)
|
73
75
|
@app.call(env)
|
74
76
|
end
|
75
77
|
end
|
@@ -38,6 +38,26 @@ fi
|
|
38
38
|
}, :verbose => false)
|
39
39
|
end
|
40
40
|
|
41
|
+
|
42
|
+
sudo(env[:machine], %{
|
43
|
+
if [[ -e /etc/redhat-release && ! -e /etc/fedora-release && ! -e /etc/centos-release ]]; then
|
44
|
+
|
45
|
+
cat <<EOF > /etc/yum.repos.d/dockerextra.repo
|
46
|
+
[dockerextra]
|
47
|
+
name=RHEL Docker Extra
|
48
|
+
baseurl=https://mirror.openshift.com/enterprise/rhel/dockerextra/x86_64/os/
|
49
|
+
enabled=1
|
50
|
+
gpgcheck=0
|
51
|
+
failovermethod=priority
|
52
|
+
sslverify=False
|
53
|
+
sslclientcert=/var/lib/yum/client-cert.pem
|
54
|
+
sslclientkey=/var/lib/yum/client-key.pem
|
55
|
+
|
56
|
+
EOF
|
57
|
+
|
58
|
+
fi
|
59
|
+
}, :timeout=>60*10, :verbose => false)
|
60
|
+
|
41
61
|
ssh_user = env[:machine].ssh_info[:username]
|
42
62
|
sudo(env[:machine], "yum install -y \
|
43
63
|
augeas \
|
@@ -60,6 +80,7 @@ fi
|
|
60
80
|
gnuplot \
|
61
81
|
httpie \
|
62
82
|
hg \
|
83
|
+
iscsi-initiator-utils \
|
63
84
|
jq \
|
64
85
|
java-1.?.0-openjdk \
|
65
86
|
kernel-devel \
|
@@ -107,21 +128,26 @@ unzip chromedriver_linux64.zip
|
|
107
128
|
mv chromedriver /usr/bin/chromedriver
|
108
129
|
chown root /usr/bin/chromedriver
|
109
130
|
chmod 755 /usr/bin/chromedriver
|
110
|
-
}, :timeout=>60*
|
131
|
+
}, :timeout=>60*60, :verbose => false)
|
111
132
|
|
112
133
|
#
|
113
134
|
# FIXME: Need to install golang packages 'after' the 'gcc' is
|
114
135
|
# installed. See BZ#1101508
|
115
136
|
#
|
116
|
-
sudo(env[:machine], "yum install -y golang golang-
|
137
|
+
sudo(env[:machine], "yum install -y golang golang-src", :timeout=>60*20, :verbose => false)
|
117
138
|
#
|
139
|
+
|
140
|
+
unless is_fedora
|
141
|
+
sudo(env[:machine], "yum install -y golang-pkg-linux-amd64", :timeout=>60*20, :verbose => false)
|
142
|
+
end
|
143
|
+
|
118
144
|
sudo(env[:machine], %{
|
119
145
|
set -ex
|
120
146
|
|
121
147
|
if [[ -e /etc/redhat-release && ! -e /etc/fedora-release && ! -e /etc/centos-release ]]; then
|
122
148
|
|
123
|
-
# create
|
124
|
-
cat <<EOF > /etc/yum.repos.d/
|
149
|
+
# create rhaos3.1 and 3.2 repos
|
150
|
+
cat <<EOF > /etc/yum.repos.d/rhaos31.repo
|
125
151
|
[rhel-7-server-ose-3.1-rpms]
|
126
152
|
name=RHEL7 Red Hat Atomic OpenShift 3.1
|
127
153
|
baseurl=https://mirror.ops.rhcloud.com/enterprise/enterprise-3.1/RH7-RHAOS-3.1/x86_64/os/
|
@@ -137,10 +163,27 @@ sslclientcert=/var/lib/yum/client-cert.pem
|
|
137
163
|
sslclientkey=/var/lib/yum/client-key.pem
|
138
164
|
|
139
165
|
EOF
|
166
|
+
|
167
|
+
cat <<EOF > /etc/yum.repos.d/rhaos32.repo
|
168
|
+
[rhel-7-server-ose-3.2-rpms]
|
169
|
+
name=RHEL7 Red Hat Atomic OpenShift 3.2
|
170
|
+
baseurl=https://mirror.ops.rhcloud.com/enterprise/enterprise-3.2/latest/RH7-RHAOS-3.2/x86_64/os/
|
171
|
+
https://use-mirror1.ops.rhcloud.com/enterprise/enterprise-3.2/latest/RH7-RHAOS-3.2/x86_64/os/
|
172
|
+
https://use-mirror2.ops.rhcloud.com/enterprise/enterprise-3.2/latest/RH7-RHAOS-3.2/x86_64/os/
|
173
|
+
https://euw-mirror1.ops.rhcloud.com/enterprise/enterprise-3.2/latest/RH7-RHAOS-3.2/x86_64/os/
|
174
|
+
enabled=1
|
175
|
+
gpgcheck=0
|
176
|
+
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release,file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-beta,https://mirror.ops.rhcloud.com/libra/keys/RPM-GPG-KEY-redhat-openshifthosted
|
177
|
+
failovermethod=priority
|
178
|
+
sslverify=0
|
179
|
+
sslclientcert=/var/lib/yum/client-cert.pem
|
180
|
+
sslclientkey=/var/lib/yum/client-key.pem
|
181
|
+
|
182
|
+
EOF
|
183
|
+
|
140
184
|
fi
|
141
185
|
|
142
186
|
if ! test -e /etc/fedora-release; then
|
143
|
-
# TODO Remove me ASAP
|
144
187
|
sed -i 's,^SELINUX=.*,SELINUX=permissive,' /etc/selinux/config
|
145
188
|
setenforce 0
|
146
189
|
fi
|
@@ -156,6 +199,24 @@ sed -i "s,^ADD_REGISTRY='\\(.*\\)',#ADD_REGISTRY='--add-registry=docker.io \\1',
|
|
156
199
|
|
157
200
|
cat /etc/sysconfig/docker
|
158
201
|
|
202
|
+
|
203
|
+
if sudo lvdisplay docker-vg 2>&1>/dev/null
|
204
|
+
then
|
205
|
+
VG="docker-vg"
|
206
|
+
elif sudo lvdisplay vg_vagrant 2>&1>/dev/null
|
207
|
+
then
|
208
|
+
VG="vg_vagrant"
|
209
|
+
elif sudo lvdisplay centos 2>&1>/dev/null
|
210
|
+
then
|
211
|
+
VG="centos"
|
212
|
+
fi
|
213
|
+
if [ -n "${VG}" ]
|
214
|
+
then
|
215
|
+
sudo lvcreate -n docker-data -l 90%FREE /dev/${VG}
|
216
|
+
sudo lvcreate -n docker-metadata -l 50%FREE /dev/${VG}
|
217
|
+
sudo sed -i "s,^DOCKER_STORAGE_OPTIONS=.*,DOCKER_STORAGE_OPTIONS='-s devicemapper --storage-opt dm.datadev=/dev/${VG}/docker-data --storage-opt dm.metadatadev=/dev/${VG}/docker-metadata'," /etc/sysconfig/docker-storage
|
218
|
+
fi
|
219
|
+
|
159
220
|
# Force socket reuse
|
160
221
|
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
|
161
222
|
|
@@ -177,7 +238,7 @@ set -e
|
|
177
238
|
|
178
239
|
# Check out a stable commit for go vet in order to version lock it to something we can work with
|
179
240
|
pushd /data/src/golang.org/x/tools >/dev/null
|
180
|
-
if git checkout
|
241
|
+
if git checkout 108746816ddf01ad0c2dbea08a1baef08bc47313
|
181
242
|
then
|
182
243
|
# Re-install using this version of the tool
|
183
244
|
GOPATH=/data go install golang.org/x/tools/cmd/vet
|