vagrant-openshift 1.0.11 → 1.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.asciidoc +39 -53
- data/lib/vagrant-openshift/action/{build_sources.rb → build_openshift2.rb} +2 -2
- data/lib/vagrant-openshift/action/{build_geard.rb → build_openshift3.rb} +9 -5
- data/lib/vagrant-openshift/action/{build_geard_images.rb → build_openshift3_images.rb} +6 -6
- data/lib/vagrant-openshift/action/build_openshift3_infrastructure_images.rb +50 -0
- data/lib/vagrant-openshift/action/{checkout_tests.rb → checkout_openshift2_tests.rb} +2 -2
- data/lib/vagrant-openshift/action/checkout_repositories.rb +1 -1
- data/lib/vagrant-openshift/action/clean.rb +1 -3
- data/lib/vagrant-openshift/action/clone_upstream_repositories.rb +1 -1
- data/lib/vagrant-openshift/action/create_bare_repo_placeholders.rb +1 -1
- data/lib/vagrant-openshift/action/{create_puppet_file.rb → create_openshift2_puppet_file.rb} +1 -1
- data/lib/vagrant-openshift/action/{create_test_users.rb → create_openshift2_test_users.rb} +2 -2
- data/lib/vagrant-openshift/action/{download_artifacts.rb → download_artifacts_openshift2.rb} +3 -4
- data/lib/vagrant-openshift/action/download_artifacts_openshift3.rb +61 -0
- data/lib/vagrant-openshift/action/generate_template.rb +42 -4
- data/lib/vagrant-openshift/action/{idle_all_gears.rb → idle_all_gears_openshift2.rb} +2 -2
- data/lib/vagrant-openshift/action/{install_open_shift_dependencies.rb → install_openshift2_base_dependencies.rb} +2 -2
- data/lib/vagrant-openshift/action/{install_build_dependencies.rb → install_openshift2_build_dependencies.rb} +1 -1
- data/lib/vagrant-openshift/action/{install_geard.rb → install_openshift3.rb} +27 -21
- data/lib/vagrant-openshift/action/{install_geard_base_dependencies.rb → install_openshift3_base_dependencies.rb} +8 -25
- data/lib/vagrant-openshift/action/{install_geard_images.rb → install_openshift3_images.rb} +1 -1
- data/lib/vagrant-openshift/action/{local_repo_checkout.rb → local_openshift2_checkout.rb} +2 -2
- data/lib/vagrant-openshift/action/{local_geard_checkout.rb → local_openshift3_checkout.rb} +5 -5
- data/lib/vagrant-openshift/action/{run_tests.rb → run_openshift2_tests.rb} +2 -2
- data/lib/vagrant-openshift/action/{run_geard_tests.rb → run_openshift3_tests.rb} +25 -16
- data/lib/vagrant-openshift/action/sync_local_repository.rb +8 -5
- data/lib/vagrant-openshift/action/sync_upstream_repository.rb +2 -2
- data/lib/vagrant-openshift/action/{restart_geard.rb → try_restart_openshift3.rb} +3 -5
- data/lib/vagrant-openshift/action/{uninstall_openshift_rpms.rb → uninstall_openshift2_rpms.rb} +2 -2
- data/lib/vagrant-openshift/action.rb +67 -63
- data/lib/vagrant-openshift/command/{build_origin_base.rb → build_openshift2_base.rb} +3 -3
- data/lib/vagrant-openshift/command/{build_geard.rb → build_openshift3.rb} +4 -4
- data/lib/vagrant-openshift/command/{build_geard_base.rb → build_openshift3_base.rb} +4 -4
- data/lib/vagrant-openshift/command/{build_geard_images.rb → build_openshift3_images.rb} +7 -7
- data/lib/vagrant-openshift/command/build_openshift3_infrastructure_images.rb +60 -0
- data/lib/vagrant-openshift/command/{restart_geard.rb → install_openshift3.rb} +4 -4
- data/lib/vagrant-openshift/command/{local_repo_setup.rb → local_openshift2_setup.rb} +3 -3
- data/lib/vagrant-openshift/command/{local_geard_setup.rb → local_openshift3_setup.rb} +3 -3
- data/lib/vagrant-openshift/command/openshift_init.rb +1 -1
- data/lib/vagrant-openshift/command/{repo_sync.rb → repo_sync_openshift2.rb} +4 -4
- data/lib/vagrant-openshift/command/{repo_sync_geard.rb → repo_sync_openshift3.rb} +8 -8
- data/lib/vagrant-openshift/command/{test.rb → test_openshift2.rb} +3 -3
- data/lib/vagrant-openshift/command/{test_geard.rb → test_openshift3.rb} +4 -4
- data/lib/vagrant-openshift/command/{test_geard_image.rb → test_openshift3_image.rb} +4 -4
- data/lib/vagrant-openshift/command/{install_geard.rb → try_restart_openshift3.rb} +4 -4
- data/lib/vagrant-openshift/constants.rb +29 -8
- data/lib/vagrant-openshift/helper/command_helper.rb +12 -5
- data/lib/vagrant-openshift/plugin.rb +44 -39
- data/lib/vagrant-openshift/provisioner.rb +4 -4
- data/lib/vagrant-openshift/templates/builder/Rakefile +3 -3
- data/lib/vagrant-openshift/templates/builder/lib/rpm.rb +2 -2
- data/lib/vagrant-openshift/templates/builder/lib/test.rb +1 -1
- data/lib/vagrant-openshift/templates/command/init-openshift/Vagrantfile.erb +10 -14
- data/lib/vagrant-openshift/templates/command/init-openshift/box_info.yaml +9 -9
- data/lib/vagrant-openshift/version.rb +1 -1
- metadata +37 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e99424d02a9d9cf48ecfe8b86623f866c41f67ae
|
4
|
+
data.tar.gz: a9394c7c854bd35e0a2b0b75486fa842469cdbff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 586312d43c42cb95f7464e97ba75d9eb56638784038cbb8d7810fb837a145186e3119218e518977e2c3e31ab0b9f8caf13b489935c31c58e65c52587052f6b48
|
7
|
+
data.tar.gz: d5b882400527319a834c92ab70f9231e2fa643e198898dd6e5744758b2a14dbecf8e5e05c92b8178d89329d33d43de97321c9bb8e3de218bf095eee2200966d8
|
data/README.asciidoc
CHANGED
@@ -33,59 +33,30 @@ Compile an install the plugin using Rake
|
|
33
33
|
$ rake vagrant:install
|
34
34
|
----
|
35
35
|
|
36
|
-
=== Getting started
|
36
|
+
=== Getting started with Openshift v3
|
37
37
|
|
38
38
|
==== Clone the OpenShift Origin repositories
|
39
39
|
|
40
|
-
===== Geard
|
41
|
-
|
42
40
|
[source, sh]
|
43
41
|
----
|
44
42
|
$ echo "export GOPATH=~/code" >> ~/.bash_profile # ~/code can be any dir
|
45
43
|
$ source ~/.bash_profile
|
46
44
|
$ cd $GOPATH
|
47
|
-
$ vagrant
|
48
|
-
|
49
|
-
|
50
|
-
===== OpenShift 2.x
|
51
|
-
|
52
|
-
[source, sh]
|
53
|
-
----
|
54
|
-
$ vagrant origin-local-checkout -u <github username>
|
45
|
+
$ vagrant openshift3-local-checkout -u <github username>
|
46
|
+
$ cd github.com/src/openshift/origin
|
55
47
|
----
|
56
48
|
|
57
|
-
This will clone several repositories from link:http://www.github.com[GitHub] and link them against the upstream repositories.
|
58
|
-
|
59
|
-
NOTE: Skip this step if building upstream code
|
60
49
|
|
61
50
|
==== Initialize the Vagrantfile
|
62
51
|
|
63
|
-
|
64
|
-
|
65
|
-
[source, sh]
|
66
|
-
----
|
67
|
-
$ vagrant origin-init <instance name>
|
68
|
-
----
|
69
|
-
|
70
|
-
.Command options:
|
71
|
-
|
72
|
-
* Specify which OS to build with:
|
73
|
-
** --os fedora - Launch a Fedora 20 image (used for Geard development)
|
74
|
-
** --os rhel6 - Launch a RHEL 6 image (where available)
|
75
|
-
** --os centos6 - Launch a CentOS 6 image (where available, used for OpenShift 2.x development)
|
76
|
-
|
77
|
-
* Specify the stage of image to launch:
|
78
|
-
** --stage os - Launch the base operating system with no OpenShift dependencies
|
79
|
-
** --stage deps - Launch the image with OpenShift dependencies already installed
|
80
|
-
** --stage inst - Launch the image with OpenShift fully installed
|
81
|
-
|
82
|
-
.So to launch the latest OpenShift instance:
|
52
|
+
Generate a .vagrant-openshift.json it to match your requirements:
|
83
53
|
|
84
54
|
[source, sh]
|
85
55
|
----
|
86
56
|
$ vagrant origin-init --stage inst --os fedora <instance name>
|
87
57
|
----
|
88
58
|
|
59
|
+
|
89
60
|
==== Start the machine
|
90
61
|
|
91
62
|
===== VirtualBox
|
@@ -104,61 +75,76 @@ Note: See Other Environments below for launching against other options.
|
|
104
75
|
|
105
76
|
* Syncing and building code from local repository clones
|
106
77
|
|
107
|
-
|
78
|
+
[source, sh]
|
79
|
+
----
|
80
|
+
$ vagrant sync-openshift3
|
81
|
+
----
|
82
|
+
|
83
|
+
|
84
|
+
==== Running Tests
|
108
85
|
|
109
86
|
[source, sh]
|
110
87
|
----
|
111
|
-
$ vagrant
|
88
|
+
$ vagrant test-openshift3 --all
|
112
89
|
----
|
113
90
|
|
114
91
|
|
115
|
-
|
92
|
+
=== Getting started with Openshift v2
|
93
|
+
|
94
|
+
==== Clone the OpenShift Origin repositories
|
116
95
|
|
117
96
|
[source, sh]
|
118
97
|
----
|
119
|
-
$ vagrant
|
98
|
+
$ vagrant openshift2-local-checkout -u <github username>
|
120
99
|
----
|
121
100
|
|
101
|
+
This will clone several repositories from link:http://www.github.com[GitHub] and link them against the upstream repositories.
|
122
102
|
|
123
|
-
|
103
|
+
NOTE: Skip this step if building upstream code
|
124
104
|
|
125
|
-
|
105
|
+
==== Initialize the Vagrantfile
|
106
|
+
|
107
|
+
Create a Vagrantfile and customize it to match your requirements:
|
126
108
|
|
127
109
|
[source, sh]
|
128
110
|
----
|
129
|
-
$ vagrant
|
111
|
+
$ vagrant origin-init --stage inst --os centos6 <instance name>
|
130
112
|
----
|
131
113
|
|
114
|
+
==== Start the machine
|
115
|
+
|
116
|
+
===== VirtualBox
|
132
117
|
|
133
|
-
|
118
|
+
Running with the default VirtualBox provider
|
134
119
|
|
135
120
|
[source, sh]
|
136
121
|
----
|
137
|
-
|
122
|
+
vagrant up
|
138
123
|
----
|
139
124
|
|
140
|
-
|
125
|
+
Note: See Other Environments below for launching against other options.
|
141
126
|
|
142
|
-
==== Install OpenShift and its Dependencies
|
143
127
|
|
144
|
-
|
128
|
+
==== Making Subsequent Changes
|
145
129
|
|
146
|
-
|
130
|
+
* Syncing and building code from local repository clones
|
147
131
|
|
148
132
|
[source, sh]
|
149
133
|
----
|
150
|
-
$ vagrant
|
151
|
-
$ vagrant install-geard
|
134
|
+
$ vagrant sync-openshift2
|
152
135
|
----
|
153
136
|
|
154
|
-
|
137
|
+
|
138
|
+
==== Running Tests
|
155
139
|
|
156
140
|
[source, sh]
|
157
141
|
----
|
158
|
-
$ vagrant
|
159
|
-
$ vagrant sync --clean
|
142
|
+
$ vagrant test-openshift2 --all
|
160
143
|
----
|
161
144
|
|
145
|
+
|
146
|
+
== Other Notes
|
147
|
+
|
162
148
|
==== Other Environments
|
163
149
|
|
164
150
|
===== AWS/EC2
|
@@ -291,7 +277,7 @@ certtool --generate-certificate --load-privkey clientkey.pem \
|
|
291
277
|
|
292
278
|
----
|
293
279
|
LIBVIRTD_ARGS="--listen"
|
294
|
-
----
|
280
|
+
----
|
295
281
|
|
296
282
|
** Restart libvirtd
|
297
283
|
|
@@ -17,7 +17,7 @@
|
|
17
17
|
module Vagrant
|
18
18
|
module Openshift
|
19
19
|
module Action
|
20
|
-
class
|
20
|
+
class BuildOpenshift3
|
21
21
|
include CommandHelper
|
22
22
|
|
23
23
|
def initialize(app, env)
|
@@ -26,11 +26,15 @@ module Vagrant
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def call(env)
|
29
|
-
do_execute(env[:machine], sync_bash_command('
|
30
|
-
echo "Performing
|
29
|
+
do_execute(env[:machine], sync_bash_command('origin', %{
|
30
|
+
echo "Performing openshift build..."
|
31
31
|
set -e
|
32
|
-
|
33
|
-
|
32
|
+
hack/build-go.sh
|
33
|
+
if [ ! -d _output/etcd ]
|
34
|
+
then
|
35
|
+
hack/install-etcd.sh
|
36
|
+
fi
|
37
|
+
}))
|
34
38
|
|
35
39
|
@app.call(env)
|
36
40
|
end
|
@@ -17,7 +17,7 @@
|
|
17
17
|
module Vagrant
|
18
18
|
module Openshift
|
19
19
|
module Action
|
20
|
-
class
|
20
|
+
class BuildOpenshift3Images
|
21
21
|
include CommandHelper
|
22
22
|
|
23
23
|
def initialize(app, env, options)
|
@@ -30,9 +30,9 @@ module Vagrant
|
|
30
30
|
# FIXME: Measure what would be the appropriate timeout here as the
|
31
31
|
# docker build command can take quite a long time...
|
32
32
|
#
|
33
|
-
@options[:
|
34
|
-
docker_image_name = "openshift/#{
|
35
|
-
docker_file_path = "#{Constants.build_dir}#{
|
33
|
+
@options[:openshift3_images].each do |openshift3_image, _|
|
34
|
+
docker_image_name = "openshift/#{openshift3_image}"
|
35
|
+
docker_file_path = "#{Constants.build_dir}#{openshift3_image}"
|
36
36
|
build_cmd = %{
|
37
37
|
echo "Building #{docker_image_name} image"
|
38
38
|
pushd #{docker_file_path}
|
@@ -40,9 +40,9 @@ pushd #{docker_file_path}
|
|
40
40
|
popd
|
41
41
|
}
|
42
42
|
if @options[:force]
|
43
|
-
sudo(env[:machine], build_cmd, { :timeout => 60*20 })
|
43
|
+
sudo(env[:machine], build_cmd, { :timeout => 60*20, :verbose => false })
|
44
44
|
else
|
45
|
-
sudo(env[:machine], sync_bash_command(
|
45
|
+
sudo(env[:machine], sync_bash_command(openshift3_image, build_cmd), { :timeout => 60*20, :verbose => false })
|
46
46
|
end
|
47
47
|
end
|
48
48
|
@app.call(env)
|
@@ -0,0 +1,50 @@
|
|
1
|
+
#--
|
2
|
+
# Copyright 2014 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 BuildOpenshift3InfrastructureImages
|
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
|
+
# FIXME: Measure what would be the appropriate timeout here as the
|
31
|
+
# docker build command can take quite a long time...
|
32
|
+
#
|
33
|
+
@options[:openshift3_infrastructure_images].each do |openshift3_image, _|
|
34
|
+
docker_image_name = "openshift/#{openshift3_image}"
|
35
|
+
docker_file_path = "#{Constants.build_dir}#{Vagrant::Openshift::Constants.openshift3_infrastructure_images[openshift3_image]}"
|
36
|
+
build_cmd = %{
|
37
|
+
echo "Building #{docker_image_name} image"
|
38
|
+
pushd #{docker_file_path}
|
39
|
+
docker build --rm #{@options[:force] ? "--no-cache" : ""} -t #{docker_image_name} .
|
40
|
+
popd
|
41
|
+
}
|
42
|
+
sudo(env[:machine], build_cmd, { :timeout => 60*20, :verbose => false })
|
43
|
+
end
|
44
|
+
@app.call(env)
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
@@ -28,7 +28,7 @@ module Vagrant
|
|
28
28
|
|
29
29
|
def call(env)
|
30
30
|
git_clone_commands = ""
|
31
|
-
Constants.repos.each do |repo_name, url|
|
31
|
+
Constants.repos(env).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
|
@@ -26,10 +26,8 @@ module Vagrant
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def call(env)
|
29
|
-
is_fedora = env[:machine].communicate.test("test -e /etc/fedora-release")
|
30
|
-
|
31
29
|
git_clone_commands = ""
|
32
|
-
Constants.repos.each do |repo_name, url|
|
30
|
+
Constants.repos(env).each do |repo_name, url|
|
33
31
|
bare_repo_name = repo_name + "-bare"
|
34
32
|
wc_repo_name = repo_name + "-bare-working_copy"
|
35
33
|
bare_repo_path = Constants.build_dir + bare_repo_name
|
data/lib/vagrant-openshift/action/{download_artifacts.rb → download_artifacts_openshift2.rb}
RENAMED
@@ -18,7 +18,7 @@ require 'pathname'
|
|
18
18
|
module Vagrant
|
19
19
|
module Openshift
|
20
20
|
module Action
|
21
|
-
class
|
21
|
+
class DownloadArtifactsOpenshift2
|
22
22
|
include CommandHelper
|
23
23
|
|
24
24
|
def initialize(app, env)
|
@@ -55,11 +55,10 @@ module Vagrant
|
|
55
55
|
FileUtils.mkdir_p File.dirname(target.to_s)
|
56
56
|
end
|
57
57
|
|
58
|
-
command = "/usr/bin/rsync -avz -e 'ssh -i #{private_key_path}' --rsync-path='sudo rsync' #{ssh_info[:username]}@#{ssh_info[:host]}:#{source} #{target}"
|
58
|
+
command = "/usr/bin/rsync -avz -e 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i #{private_key_path}' --rsync-path='sudo rsync' #{ssh_info[:username]}@#{ssh_info[:host]}:#{source} #{target}"
|
59
59
|
|
60
60
|
if not system(command)
|
61
|
-
machine.ui.warn "Unable to download
|
62
|
-
machine.ui.warn r.stderr
|
61
|
+
machine.ui.warn "Unable to download artifacts"
|
63
62
|
end
|
64
63
|
end
|
65
64
|
@app.call(env)
|
@@ -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 'pathname'
|
17
|
+
|
18
|
+
module Vagrant
|
19
|
+
module Openshift
|
20
|
+
module Action
|
21
|
+
class DownloadArtifactsOpenshift3
|
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
|
+
}
|
41
|
+
|
42
|
+
download_map.each do |source,target|
|
43
|
+
machine.ui.info "Downloading artifacts from '#{source}' to '#{target}'"
|
44
|
+
if target.to_s.end_with? '/'
|
45
|
+
FileUtils.mkdir_p target.to_s
|
46
|
+
else
|
47
|
+
FileUtils.mkdir_p File.dirname(target.to_s)
|
48
|
+
end
|
49
|
+
|
50
|
+
command = "/usr/bin/rsync -avz -e 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i #{private_key_path}' --rsync-path='sudo rsync' #{ssh_info[:username]}@#{ssh_info[:host]}:#{source} #{target}"
|
51
|
+
|
52
|
+
if not system(command)
|
53
|
+
machine.ui.warn "Unable to download artifacts"
|
54
|
+
end
|
55
|
+
end
|
56
|
+
@app.call(env)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -52,9 +52,46 @@ module Vagrant
|
|
52
52
|
box_info[:aws_creds_file] = @aws_creds_file
|
53
53
|
find_ami_from_tag(box_info)
|
54
54
|
|
55
|
-
|
56
|
-
|
57
|
-
|
55
|
+
if os == :fedora
|
56
|
+
|
57
|
+
gopath = nil
|
58
|
+
if ENV['GOPATH'] && !ENV['GOPATH'].empty?
|
59
|
+
gopath = File.expand_path(ENV['GOPATH'].split(/:/).last)
|
60
|
+
else
|
61
|
+
gopath = '.'
|
62
|
+
end
|
63
|
+
|
64
|
+
vagrant_openshift_config = {
|
65
|
+
'instance_name' => box_info[:instance_name],
|
66
|
+
'os' => os,
|
67
|
+
'dev_cluster' => false,
|
68
|
+
'num_minions' => 2,
|
69
|
+
'rebuild_yum_cache' => false,
|
70
|
+
'sync_to' => '/data/src',
|
71
|
+
'sync_from' => "#{gopath}/src",
|
72
|
+
'virtualbox' => {
|
73
|
+
'box_name' => box_info[:virtualbox][:box_name],
|
74
|
+
'box_url' => box_info[:virtualbox][:box_url]
|
75
|
+
},
|
76
|
+
'vmware' => {
|
77
|
+
'box_name' => box_info[:vmware][:box_name],
|
78
|
+
'box_url' => box_info[:vmware][:box_url]
|
79
|
+
},
|
80
|
+
'aws' => {
|
81
|
+
'ami' => box_info[:aws][:ami],
|
82
|
+
'ami_region' => box_info[:aws][:ami_region],
|
83
|
+
'ssh_user' => box_info[:aws][:ssh_user]
|
84
|
+
}
|
85
|
+
}
|
86
|
+
|
87
|
+
File.open(".vagrant-openshift.json","w") do |f|
|
88
|
+
f.write(JSON.pretty_generate(vagrant_openshift_config))
|
89
|
+
end
|
90
|
+
else
|
91
|
+
contents = Vagrant::Util::TemplateRenderer.render(template_path.to_s[0..-5], box_info: box_info)
|
92
|
+
File.open("Vagrantfile", "w+") do |f|
|
93
|
+
f.write(contents)
|
94
|
+
end
|
58
95
|
end
|
59
96
|
|
60
97
|
@app.call(env)
|
@@ -77,7 +114,8 @@ module Vagrant
|
|
77
114
|
|
78
115
|
aws_compute = Fog::Compute.new(fog_config)
|
79
116
|
@env[:ui].info("Searching for latest base AMI")
|
80
|
-
images = aws_compute.images.all({'Owner' => 'self', 'name' => "#{box_info[:aws][:ami_tag_prefix]}*"
|
117
|
+
images = aws_compute.images.all({'Owner' => 'self', 'name' => "#{box_info[:aws][:ami_tag_prefix]}*",
|
118
|
+
'state' => 'available' })
|
81
119
|
latest_image = images.sort_by{ |i| i.name.split("_")[-1].to_i }.last
|
82
120
|
box_info[:aws][:ami] = latest_image.id
|
83
121
|
@env[:ui].info("Found: #{latest_image.id} (#{latest_image.name})")
|
@@ -17,7 +17,7 @@
|
|
17
17
|
module Vagrant
|
18
18
|
module Openshift
|
19
19
|
module Action
|
20
|
-
class
|
20
|
+
class InstallOpenshift2BaseDependencies
|
21
21
|
include CommandHelper
|
22
22
|
|
23
23
|
def initialize(app, env)
|
@@ -47,4 +47,4 @@ module Vagrant
|
|
47
47
|
end
|
48
48
|
end
|
49
49
|
end
|
50
|
-
end
|
50
|
+
end
|
@@ -17,9 +17,8 @@
|
|
17
17
|
module Vagrant
|
18
18
|
module Openshift
|
19
19
|
module Action
|
20
|
-
class
|
20
|
+
class InstallOpenshift3
|
21
21
|
include CommandHelper
|
22
|
-
|
23
22
|
def initialize(app, env)
|
24
23
|
@app = app
|
25
24
|
@env = env
|
@@ -30,42 +29,49 @@ module Vagrant
|
|
30
29
|
sudo(env[:machine], %{
|
31
30
|
set -x
|
32
31
|
# TODO Remove me ASAP
|
32
|
+
sed -i 's,^SELINUX=.*,SELINUX=permissive,' /etc/selinux/config
|
33
33
|
setenforce 0
|
34
34
|
usermod -a -G docker #{ssh_user}
|
35
35
|
|
36
|
-
|
37
|
-
chown -R #{ssh_user}:#{ssh_user} /data
|
38
|
-
|
39
|
-
# Modify SSHD config to use gear-auth-keys-command to support git clone from repo
|
40
|
-
echo -e '\\nAuthorizedKeysCommand /usr/sbin/gear-auth-keys-command' >> /etc/ssh/sshd_config
|
41
|
-
echo -e '\\nAuthorizedKeysCommandUser nobody' >> /etc/ssh/sshd_config
|
36
|
+
ORIGIN_PATH=/data/src/github.com/openshift/origin
|
42
37
|
|
43
|
-
cat > /etc/profile.d/
|
38
|
+
cat > /etc/profile.d/openshift.sh <<DELIM
|
44
39
|
export GOPATH=/data
|
45
|
-
export PATH=$GOPATH/bin:$PATH
|
46
|
-
|
40
|
+
export PATH=$GOPATH/bin:$ORIGIN_PATH/_output/etcd/bin:$ORIGIN_PATH/_output/go/bin:$PATH
|
41
|
+
# Force using local images instead of always reaching docker hub when doing builds
|
42
|
+
export USE_LOCAL_IMAGES=true
|
47
43
|
DELIM
|
48
44
|
|
49
|
-
|
50
|
-
|
51
|
-
|
45
|
+
source /etc/profile.d/openshift.sh
|
46
|
+
|
47
|
+
go get code.google.com/p/go.tools/cmd/cover
|
48
|
+
|
49
|
+
pushd $ORIGIN_PATH
|
50
|
+
hack/install-etcd.sh
|
51
|
+
popd
|
52
|
+
|
53
|
+
# Force socket reuse
|
54
|
+
echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse
|
55
|
+
|
56
|
+
chown -R #{ssh_user}:#{ssh_user} /data
|
57
|
+
|
58
|
+
cat > /usr/lib/systemd/system/openshift.service <<DELIM
|
52
59
|
[Unit]
|
53
|
-
Description=
|
60
|
+
Description=OpenShift
|
54
61
|
After=docker.service
|
55
62
|
Requires=docker.service
|
56
|
-
Documentation=https://github.com/openshift/
|
63
|
+
Documentation=https://github.com/openshift/origin
|
57
64
|
|
58
65
|
[Service]
|
59
66
|
Type=simple
|
60
|
-
EnvironmentFile=-/etc/
|
61
|
-
ExecStart
|
67
|
+
EnvironmentFile=-/etc/profile.d/openshift.sh
|
68
|
+
ExecStart=$ORIGIN_PATH/_output/go/bin/openshift start
|
62
69
|
|
63
70
|
[Install]
|
64
71
|
WantedBy=multi-user.target
|
65
72
|
DELIM
|
66
73
|
|
67
|
-
systemctl
|
68
|
-
systemctl enable geard.service
|
74
|
+
#systemctl enable openshift.service
|
69
75
|
})
|
70
76
|
|
71
77
|
@app.call(env)
|
@@ -73,4 +79,4 @@ systemctl enable geard.service
|
|
73
79
|
end
|
74
80
|
end
|
75
81
|
end
|
76
|
-
end
|
82
|
+
end
|