vagrant-openshift 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitattributes +1 -0
- data/.gitignore +24 -0
- data/Gemfile +11 -0
- data/LICENSE.txt +13 -0
- data/README.asciidoc +379 -0
- data/Rakefile +53 -0
- data/lib/vagrant-openshift/action/build_geard.rb +41 -0
- data/lib/vagrant-openshift/action/build_geard_broker.rb +59 -0
- data/lib/vagrant-openshift/action/build_geard_console.rb +55 -0
- data/lib/vagrant-openshift/action/build_geard_images.rb +54 -0
- data/lib/vagrant-openshift/action/build_sources.rb +39 -0
- data/lib/vagrant-openshift/action/checkout_repositories.rb +72 -0
- data/lib/vagrant-openshift/action/checkout_tests.rb +57 -0
- data/lib/vagrant-openshift/action/clean.rb +51 -0
- data/lib/vagrant-openshift/action/clean_network_setup.rb +52 -0
- data/lib/vagrant-openshift/action/clone_upstream_repositories.rb +65 -0
- data/lib/vagrant-openshift/action/create_ami.rb +54 -0
- data/lib/vagrant-openshift/action/create_bare_repo_placeholders.rb +53 -0
- data/lib/vagrant-openshift/action/create_puppet_file.rb +84 -0
- data/lib/vagrant-openshift/action/create_test_users.rb +36 -0
- data/lib/vagrant-openshift/action/create_yum_repositories.rb +121 -0
- data/lib/vagrant-openshift/action/download_artifacts.rb +70 -0
- data/lib/vagrant-openshift/action/generate_template.rb +89 -0
- data/lib/vagrant-openshift/action/idle_all_gears.rb +36 -0
- data/lib/vagrant-openshift/action/install_build_dependencies.rb +48 -0
- data/lib/vagrant-openshift/action/install_geard.rb +76 -0
- data/lib/vagrant-openshift/action/install_geard_base_dependencies.rb +72 -0
- data/lib/vagrant-openshift/action/install_geard_broker.rb +39 -0
- data/lib/vagrant-openshift/action/install_geard_images.rb +51 -0
- data/lib/vagrant-openshift/action/install_open_shift_dependencies.rb +50 -0
- data/lib/vagrant-openshift/action/install_rhc.rb +42 -0
- data/lib/vagrant-openshift/action/local_geard_checkout.rb +58 -0
- data/lib/vagrant-openshift/action/local_repo_checkout.rb +47 -0
- data/lib/vagrant-openshift/action/modify_ami.rb +54 -0
- data/lib/vagrant-openshift/action/modify_instance.rb +71 -0
- data/lib/vagrant-openshift/action/prepare_ssh_config.rb +89 -0
- data/lib/vagrant-openshift/action/preserve_mcollective_logs.rb +48 -0
- data/lib/vagrant-openshift/action/restart_geard.rb +39 -0
- data/lib/vagrant-openshift/action/restart_geard_broker.rb +43 -0
- data/lib/vagrant-openshift/action/restart_geard_console.rb +43 -0
- data/lib/vagrant-openshift/action/run_geard_tests.rb +57 -0
- data/lib/vagrant-openshift/action/run_tests.rb +47 -0
- data/lib/vagrant-openshift/action/set_host_name.rb +43 -0
- data/lib/vagrant-openshift/action/setup_bind_dns_key.rb +38 -0
- data/lib/vagrant-openshift/action/setup_bind_host.rb +141 -0
- data/lib/vagrant-openshift/action/setup_builder_files.rb +57 -0
- data/lib/vagrant-openshift/action/setup_geard_broker.rb +71 -0
- data/lib/vagrant-openshift/action/sync_local_repository.rb +115 -0
- data/lib/vagrant-openshift/action/sync_upstream_repository.rb +71 -0
- data/lib/vagrant-openshift/action/test_exit_code.rb +36 -0
- data/lib/vagrant-openshift/action/uninstall_openshift_rpms.rb +37 -0
- data/lib/vagrant-openshift/action/yum_update.rb +67 -0
- data/lib/vagrant-openshift/action.rb +308 -0
- data/lib/vagrant-openshift/command/build_geard.rb +51 -0
- data/lib/vagrant-openshift/command/build_geard_base.rb +51 -0
- data/lib/vagrant-openshift/command/build_geard_broker.rb +59 -0
- data/lib/vagrant-openshift/command/build_geard_console.rb +59 -0
- data/lib/vagrant-openshift/command/build_geard_images.rb +68 -0
- data/lib/vagrant-openshift/command/build_origin_base.rb +51 -0
- data/lib/vagrant-openshift/command/checkout_repositories.rb +55 -0
- data/lib/vagrant-openshift/command/clone_upstream_repositories.rb +54 -0
- data/lib/vagrant-openshift/command/create_ami.rb +49 -0
- data/lib/vagrant-openshift/command/install_geard.rb +51 -0
- data/lib/vagrant-openshift/command/install_geard_broker.rb +51 -0
- data/lib/vagrant-openshift/command/install_rhc.rb +49 -0
- data/lib/vagrant-openshift/command/local_geard_setup.rb +62 -0
- data/lib/vagrant-openshift/command/local_repo_setup.rb +62 -0
- data/lib/vagrant-openshift/command/modify_ami.rb +54 -0
- data/lib/vagrant-openshift/command/modify_instance.rb +63 -0
- data/lib/vagrant-openshift/command/openshift_init.rb +83 -0
- data/lib/vagrant-openshift/command/repo_sync.rb +73 -0
- data/lib/vagrant-openshift/command/repo_sync_geard.rb +78 -0
- data/lib/vagrant-openshift/command/restart_geard.rb +51 -0
- data/lib/vagrant-openshift/command/restart_geard_broker.rb +51 -0
- data/lib/vagrant-openshift/command/restart_geard_console.rb +51 -0
- data/lib/vagrant-openshift/command/setup_geard_broker.rb +49 -0
- data/lib/vagrant-openshift/command/test.rb +108 -0
- data/lib/vagrant-openshift/command/test_geard.rb +59 -0
- data/lib/vagrant-openshift/command/test_geard_image.rb +147 -0
- data/lib/vagrant-openshift/config.rb +56 -0
- data/lib/vagrant-openshift/constants.rb +111 -0
- data/lib/vagrant-openshift/helper/command_helper.rb +213 -0
- data/lib/vagrant-openshift/plugin.rb +171 -0
- data/lib/vagrant-openshift/provisioner.rb +82 -0
- data/lib/vagrant-openshift/templates/builder/Rakefile +231 -0
- data/lib/vagrant-openshift/templates/builder/lib/.gitkeep +0 -0
- data/lib/vagrant-openshift/templates/builder/lib/rpm.rb +248 -0
- data/lib/vagrant-openshift/templates/builder/lib/test.rb +432 -0
- data/lib/vagrant-openshift/templates/builder/yum-listbuilddep +124 -0
- data/lib/vagrant-openshift/templates/command/init-openshift/Vagrantfile.erb +175 -0
- data/lib/vagrant-openshift/templates/command/init-openshift/box_info.yaml +152 -0
- data/lib/vagrant-openshift/version.rb +21 -0
- data/lib/vagrant-openshift.rb +34 -0
- data/vagrant-openshift.gemspec +43 -0
- metadata +234 -0
|
@@ -0,0 +1,55 @@
|
|
|
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 CheckoutRepositories < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"checkout specified branch from cloned upstream repository"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {}
|
|
30
|
+
|
|
31
|
+
opts = OptionParser.new do |o|
|
|
32
|
+
o.banner = "Usage: vagrant checkout-repos"
|
|
33
|
+
o.separator ""
|
|
34
|
+
|
|
35
|
+
o.on("-b [branch_name]", "--branch [branch_name]", String, "Check out the specified branch. Default is 'master'.") do |f|
|
|
36
|
+
options[:branch] = {"origin-server" => f}
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
#@options[:branch][repo_name]
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# Parse the options
|
|
43
|
+
argv = parse_options(opts)
|
|
44
|
+
return if !argv
|
|
45
|
+
|
|
46
|
+
with_target_vms(argv, :reverse => true) do |machine|
|
|
47
|
+
actions = Vagrant::Openshift::Action.checkout_repositories(options)
|
|
48
|
+
@env.action_runner.run actions, {:machine => machine}
|
|
49
|
+
0
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -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
|
+
require_relative "../action"
|
|
17
|
+
|
|
18
|
+
module Vagrant
|
|
19
|
+
module Openshift
|
|
20
|
+
module Commands
|
|
21
|
+
class CloneUpstreamRepositories < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"clones upstream repositories into vm"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {}
|
|
30
|
+
options[:clean] = false
|
|
31
|
+
|
|
32
|
+
opts = OptionParser.new do |o|
|
|
33
|
+
o.banner = "Usage: vagrant clone-upstream-repositories"
|
|
34
|
+
o.separator ""
|
|
35
|
+
|
|
36
|
+
o.on("-c", "--clean", "Remove the current bare repositories on disk if present") do |c|
|
|
37
|
+
options[:clean] = true
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Parse the options
|
|
42
|
+
argv = parse_options(opts)
|
|
43
|
+
return if !argv
|
|
44
|
+
|
|
45
|
+
with_target_vms(argv, :reverse => true) do |machine|
|
|
46
|
+
actions = Vagrant::Openshift::Action.clone_upstream_repositories(options)
|
|
47
|
+
@env.action_runner.run actions, {:machine => machine}
|
|
48
|
+
0
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -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 CreateAMI < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"registers an ami of the current instance with the same name as the instance"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {}
|
|
30
|
+
|
|
31
|
+
opts = OptionParser.new do |o|
|
|
32
|
+
o.banner = "Usage: vagrant create-ami"
|
|
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.create_ami(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,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
|
+
require_relative "../action"
|
|
17
|
+
|
|
18
|
+
module Vagrant
|
|
19
|
+
module Openshift
|
|
20
|
+
module Commands
|
|
21
|
+
class InstallGeard < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"installs geard"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {}
|
|
30
|
+
options[:clean] = false
|
|
31
|
+
options[:local_source] = false
|
|
32
|
+
|
|
33
|
+
opts = OptionParser.new do |o|
|
|
34
|
+
o.banner = "Usage: vagrant install-geard [vm-name]"
|
|
35
|
+
o.separator ""
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Parse the options
|
|
39
|
+
argv = parse_options(opts)
|
|
40
|
+
return if !argv
|
|
41
|
+
|
|
42
|
+
with_target_vms(argv, :reverse => true) do |machine|
|
|
43
|
+
actions = Vagrant::Openshift::Action.install_geard(options)
|
|
44
|
+
@env.action_runner.run actions, {:machine => machine}
|
|
45
|
+
0
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
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
|
+
require_relative "../action"
|
|
17
|
+
|
|
18
|
+
module Vagrant
|
|
19
|
+
module Openshift
|
|
20
|
+
module Commands
|
|
21
|
+
class InstallGeardBroker < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"installs geard-based broker"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {}
|
|
30
|
+
options[:clean] = false
|
|
31
|
+
options[:local_source] = false
|
|
32
|
+
|
|
33
|
+
opts = OptionParser.new do |o|
|
|
34
|
+
o.banner = "Usage: vagrant install-geard-broker [vm-name]"
|
|
35
|
+
o.separator ""
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Parse the options
|
|
39
|
+
argv = parse_options(opts)
|
|
40
|
+
return if !argv
|
|
41
|
+
|
|
42
|
+
with_target_vms(argv, :reverse => true) do |machine|
|
|
43
|
+
actions = Vagrant::Openshift::Action.install_geard_broker(options)
|
|
44
|
+
@env.action_runner.run actions, {:machine => machine}
|
|
45
|
+
0
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
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
|
+
require_relative "../action"
|
|
17
|
+
|
|
18
|
+
module Vagrant
|
|
19
|
+
module Openshift
|
|
20
|
+
module Commands
|
|
21
|
+
class InstallRhc < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"build and install rhc client tools from source"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {}
|
|
30
|
+
|
|
31
|
+
opts = OptionParser.new do |o|
|
|
32
|
+
o.banner = "Usage: vagrant install-rhc"
|
|
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.install_rhc(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,62 @@
|
|
|
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
|
+
require_relative "../action"
|
|
17
|
+
|
|
18
|
+
module Vagrant
|
|
19
|
+
module Openshift
|
|
20
|
+
module Commands
|
|
21
|
+
class LocalGeardSetup < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"clones the openshift repos into the current directory"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {
|
|
30
|
+
:branch => 'master',
|
|
31
|
+
:replace => false,
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
opts = OptionParser.new do |o|
|
|
35
|
+
o.banner = "Usage: vagrant geard-local-checkout [options]"
|
|
36
|
+
o.separator ""
|
|
37
|
+
|
|
38
|
+
o.on("-b [branch_name]", "--branch [branch_name]", String, "Check out the specified branch. Default is 'master'.") do |f|
|
|
39
|
+
options[:branch] = f
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
o.on("-u [username]", "--user [username]", String, "Your GitHub username. If provided, Vagrant will attempt to clone your forks of the Origin repos. If not provided, or if the forks cannot be found, Vagrant will clone read-only copies of the OpenShift repos.") do |f|
|
|
43
|
+
options[:user] = f
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
o.on("-r", "--replace", "Delete existing cloned dirs first. Default is to skip repos that are already cloned.") do |f|
|
|
47
|
+
options[:replace] = f
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Parse the options
|
|
52
|
+
argv = parse_options(opts)
|
|
53
|
+
return if !argv
|
|
54
|
+
|
|
55
|
+
actions = Vagrant::Openshift::Action.local_geard_checkout(options)
|
|
56
|
+
@env.action_runner.run actions
|
|
57
|
+
0
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -0,0 +1,62 @@
|
|
|
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 LocalRepoSetup < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"clones the openshift repos into the current directory"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {
|
|
30
|
+
:branch => 'master',
|
|
31
|
+
:replace => false,
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
opts = OptionParser.new do |o|
|
|
35
|
+
o.banner = "Usage: vagrant origin-local-checkout [options]"
|
|
36
|
+
o.separator ""
|
|
37
|
+
|
|
38
|
+
o.on("-b [branch_name]", "--branch [branch_name]", String, "Check out the specified branch. Default is 'master'.") do |f|
|
|
39
|
+
options[:branch] = f
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
o.on("-u [username]", "--user [username]", String, "Your GitHub username. If provided, Vagrant will attempt to clone your forks of the Origin repos. If not provided, or if the forks cannot be found, Vagrant will clone read-only copies of the OpenShift repos.") do |f|
|
|
43
|
+
options[:user] = f
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
o.on("-r", "--replace", "Delete existing cloned dirs first. Default is to skip repos that are already cloned.") do |f|
|
|
47
|
+
options[:replace] = f
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Parse the options
|
|
52
|
+
argv = parse_options(opts)
|
|
53
|
+
return if !argv
|
|
54
|
+
|
|
55
|
+
actions = Vagrant::Openshift::Action.local_repo_checkout(options)
|
|
56
|
+
@env.action_runner.run actions
|
|
57
|
+
0
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
@@ -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
|
+
require_relative "../action"
|
|
17
|
+
|
|
18
|
+
module Vagrant
|
|
19
|
+
module Openshift
|
|
20
|
+
module Commands
|
|
21
|
+
class ModifyAMI < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"modifies corresponding ami of the current instance"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {}
|
|
30
|
+
options[:tag] = nil
|
|
31
|
+
|
|
32
|
+
opts = OptionParser.new do |o|
|
|
33
|
+
o.banner = "Usage: vagrant modify-ami [machine-name]"
|
|
34
|
+
o.separator ""
|
|
35
|
+
|
|
36
|
+
o.on("-t", "--tag [name]", String, "Tag the AMI") do |f|
|
|
37
|
+
options[:tag] = f
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# Parse the options
|
|
42
|
+
argv = parse_options(opts)
|
|
43
|
+
return if !argv
|
|
44
|
+
|
|
45
|
+
with_target_vms(argv, :reverse => true) do |machine|
|
|
46
|
+
actions = Vagrant::Openshift::Action.modify_ami(options)
|
|
47
|
+
@env.action_runner.run actions, {:machine => machine}
|
|
48
|
+
0
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,63 @@
|
|
|
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 ModifyInstance < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"modifies the current instance"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {}
|
|
30
|
+
options[:rename] = nil
|
|
31
|
+
options[:stop] = false
|
|
32
|
+
|
|
33
|
+
opts = OptionParser.new do |o|
|
|
34
|
+
o.banner = "Usage: vagrant modify-instance [machine-name]"
|
|
35
|
+
o.separator ""
|
|
36
|
+
|
|
37
|
+
o.on("-r", "--rename [name]", String, "Rename the instance") do |f|
|
|
38
|
+
options[:rename] = f
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
o.on("-s", "--stop", String, "Stop the instance") do |f|
|
|
42
|
+
options[:stop] = true
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
o.on("-d", "--detach", String, "Detach the instance from local Vagrant") do |f|
|
|
46
|
+
options[:detach] = true
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# Parse the options
|
|
51
|
+
argv = parse_options(opts)
|
|
52
|
+
return if !argv
|
|
53
|
+
|
|
54
|
+
with_target_vms(argv, :reverse => true) do |machine|
|
|
55
|
+
actions = Vagrant::Openshift::Action.modify_instance(options)
|
|
56
|
+
@env.action_runner.run actions, {:machine => machine}
|
|
57
|
+
0
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,83 @@
|
|
|
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 OpenshiftInit < Vagrant.plugin(2, :command)
|
|
22
|
+
include CommandHelper
|
|
23
|
+
|
|
24
|
+
def self.synopsis
|
|
25
|
+
"creates an OpenShift Vagrantfile based on the options supplied"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def execute
|
|
29
|
+
options = {
|
|
30
|
+
:no_base => false,
|
|
31
|
+
:os => 'centos6',
|
|
32
|
+
:stage => 'inst',
|
|
33
|
+
:port_mappings => []
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
valid_stage = ['os','deps','inst']
|
|
37
|
+
valid_os = ['centos6','fedora','rhel6']
|
|
38
|
+
|
|
39
|
+
opts = OptionParser.new do |o|
|
|
40
|
+
o.banner = "Usage: vagrant origin-init [vm or instance name]"
|
|
41
|
+
o.separator ""
|
|
42
|
+
|
|
43
|
+
o.on("-s [stage]", "--stage [stage]", String, "Specify what build state to start from:\n\tos = base operating system\n\tdeps = only dependencies installed\n\tinst = dev environment [default]") do |f|
|
|
44
|
+
options[:stage] = f
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
o.on("-o [name]", "--os [name]", String, "Operating system:\n\tcentos6 [default]\n\tfedora\n\trhel6") do |f|
|
|
48
|
+
options[:os] = f
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
o.on("-p [guest_port:host_port]", "--map-port [guest_port:host_port]", String, "When running on Virtualbox, map port from guest docker vm to host machine") do |f|
|
|
52
|
+
options[:port_mappings].push(f.split(":"))
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# Parse the options
|
|
57
|
+
argv = parse_options(opts)
|
|
58
|
+
return if !argv
|
|
59
|
+
|
|
60
|
+
unless valid_stage.include? options[:stage]
|
|
61
|
+
@env.ui.warn "Unknown stage '#{options[:stage]}'. Please choose from #{valid_stage.join(', ')}"
|
|
62
|
+
exit
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
unless valid_os.include? options[:os]
|
|
66
|
+
@env.ui.warn "Unknown OS '#{options[:os]}'. Please choose from #{valid_os.join(', ')}"
|
|
67
|
+
exit
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
options[:name] = argv[0] if argv[0]
|
|
71
|
+
|
|
72
|
+
actions = Vagrant::Openshift::Action.gen_vagrant_file(options)
|
|
73
|
+
@env.action_runner.run actions
|
|
74
|
+
0
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
private
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|