vagrant-zones 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +27 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/codeql-analysis.yml +72 -0
- data/.github/workflows/lint-release-and-publish.yml +70 -0
- data/.github/workflows/ruby-lint.yml +35 -0
- data/.gitignore +35 -0
- data/.rspec +2 -0
- data/.rubocop.yml +143 -0
- data/CHANGELOG.md +0 -0
- data/CODE_OF_CONDUCT.md +128 -0
- data/CONTRIBUTING.md +96 -0
- data/Gemfile +14 -0
- data/LICENSE +651 -0
- data/PULL_REQUEST_TEMPLATE.md +39 -0
- data/README.md +81 -0
- data/RELEASE.md +15 -0
- data/Rakefile +32 -0
- data/SECURITY.md +19 -0
- data/docs/CNAME +1 -0
- data/docs/_config.yml +1 -0
- data/docs/css/main.css +55 -0
- data/docs/css/styles.css +8678 -0
- data/docs/index.html +127 -0
- data/lib/vagrant-zones/action/create.rb +29 -0
- data/lib/vagrant-zones/action/destroy.rb +27 -0
- data/lib/vagrant-zones/action/halt.rb +24 -0
- data/lib/vagrant-zones/action/import.rb +112 -0
- data/lib/vagrant-zones/action/is_created.rb +22 -0
- data/lib/vagrant-zones/action/network.rb +26 -0
- data/lib/vagrant-zones/action/not_created.rb +20 -0
- data/lib/vagrant-zones/action/package.rb +134 -0
- data/lib/vagrant-zones/action/prepare_nfs_valid_ids.rb +24 -0
- data/lib/vagrant-zones/action/restart.rb +53 -0
- data/lib/vagrant-zones/action/setup.rb +26 -0
- data/lib/vagrant-zones/action/shutdown.rb +47 -0
- data/lib/vagrant-zones/action/start.rb +25 -0
- data/lib/vagrant-zones/action/wait_till_boot.rb +59 -0
- data/lib/vagrant-zones/action/wait_till_up.rb +65 -0
- data/lib/vagrant-zones/action.rb +204 -0
- data/lib/vagrant-zones/command/configure_snapshots.rb +49 -0
- data/lib/vagrant-zones/command/console.rb +63 -0
- data/lib/vagrant-zones/command/create_snapshots.rb +46 -0
- data/lib/vagrant-zones/command/delete_snapshots.rb +38 -0
- data/lib/vagrant-zones/command/guest_power_controls.rb +58 -0
- data/lib/vagrant-zones/command/list_snapshots.rb +44 -0
- data/lib/vagrant-zones/command/restart_guest.rb +29 -0
- data/lib/vagrant-zones/command/shutdown_guest.rb +29 -0
- data/lib/vagrant-zones/command/vnc_console.rb +48 -0
- data/lib/vagrant-zones/command/webvnc_console.rb +49 -0
- data/lib/vagrant-zones/command/zfssnapshot.rb +67 -0
- data/lib/vagrant-zones/command/zlogin_console.rb +40 -0
- data/lib/vagrant-zones/command/zone.rb +73 -0
- data/lib/vagrant-zones/config.rb +78 -0
- data/lib/vagrant-zones/driver.rb +1710 -0
- data/lib/vagrant-zones/errors.rb +61 -0
- data/lib/vagrant-zones/executor.rb +38 -0
- data/lib/vagrant-zones/plugin.rb +79 -0
- data/lib/vagrant-zones/provider.rb +83 -0
- data/lib/vagrant-zones/util/subprocess.rb +31 -0
- data/lib/vagrant-zones/util/timer.rb +19 -0
- data/lib/vagrant-zones/version.rb +7 -0
- data/lib/vagrant-zones.rb +29 -0
- data/locales/en.yml +326 -0
- data/vagrant-zones.gemspec +51 -0
- metadata +412 -0
@@ -0,0 +1,61 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'vagrant'
|
4
|
+
|
5
|
+
module VagrantPlugins
|
6
|
+
module ProviderZone
|
7
|
+
module Errors
|
8
|
+
class VagrantZonesError < Vagrant::Errors::VagrantError
|
9
|
+
error_namespace('vagrant_zones.errors')
|
10
|
+
end
|
11
|
+
|
12
|
+
class SystemVersionIsTooLow < VagrantZonesError
|
13
|
+
error_key(:system_version_too_low)
|
14
|
+
end
|
15
|
+
|
16
|
+
class MissingCompatCheckTool < VagrantZonesError
|
17
|
+
error_key(:missing_compatability_check_tool)
|
18
|
+
end
|
19
|
+
|
20
|
+
class MissingBhyve < VagrantZonesError
|
21
|
+
error_key(:missing_bhyve)
|
22
|
+
end
|
23
|
+
|
24
|
+
class HasNoRootPrivilege < VagrantZonesError
|
25
|
+
error_key(:has_no_root_privilege)
|
26
|
+
end
|
27
|
+
|
28
|
+
class ExecuteError < VagrantZonesError
|
29
|
+
error_key(:execute_error)
|
30
|
+
end
|
31
|
+
|
32
|
+
class TimeoutError < VagrantZonesError
|
33
|
+
error_key(:timeout_error)
|
34
|
+
end
|
35
|
+
|
36
|
+
class VirtualBoxRunningConflictDetected < VagrantZonesError
|
37
|
+
error_key(:virtual_box_running_conflict_detected)
|
38
|
+
end
|
39
|
+
|
40
|
+
class NotYetImplemented < VagrantZonesError
|
41
|
+
error_key(:not_yet_implemented)
|
42
|
+
end
|
43
|
+
|
44
|
+
class TimeoutHalt < VagrantZonesError
|
45
|
+
error_key(:halt_timeout)
|
46
|
+
end
|
47
|
+
|
48
|
+
class InvalidbhyveBrand < VagrantZonesError
|
49
|
+
error_key(:invalidbhyve_brand)
|
50
|
+
end
|
51
|
+
|
52
|
+
class InvalidLXBrand < VagrantZonesError
|
53
|
+
error_key(:invalidLX_brand)
|
54
|
+
end
|
55
|
+
|
56
|
+
class ConsoleFailed < VagrantZonesError
|
57
|
+
error_key(:console_failed_exit)
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'vagrant/util/busy'
|
4
|
+
require 'vagrant/util/subprocess'
|
5
|
+
|
6
|
+
module VagrantPlugins
|
7
|
+
module ProviderZone
|
8
|
+
module Executor
|
9
|
+
# This class is used to execute commands as subprocess.
|
10
|
+
class Exec
|
11
|
+
# When we need the command's exit code we should set parameter
|
12
|
+
# exit_code to true, otherwise this method will return executed
|
13
|
+
# command's stdout
|
14
|
+
def execute(exit_code, *cmd, **_opts, &block)
|
15
|
+
# Append in the options for subprocess
|
16
|
+
cmd << { notify: %i[stdout stderr] }
|
17
|
+
|
18
|
+
cmd.unshift('sh', '-c')
|
19
|
+
interrupted = false
|
20
|
+
# Lambda to change interrupted to true
|
21
|
+
int_callback = -> { interrupted = true }
|
22
|
+
result = ::Vagrant::Util::Busy.busy(int_callback) do
|
23
|
+
::Vagrant::Util::Subprocess.execute(*cmd, &block)
|
24
|
+
end
|
25
|
+
return result.exit_code if exit_code
|
26
|
+
|
27
|
+
result.stderr.gsub!("\r\n", "\n")
|
28
|
+
result.stdout.gsub!("\r\n", "\n")
|
29
|
+
puts "Command Failed: #{cmd}" if result.exit_code != 0 || interrupted
|
30
|
+
puts "Exit Results: #{result.stderr}" if result.exit_code != 0 || interrupted
|
31
|
+
raise Errors::ExecuteError if result.exit_code != 0 || interrupted
|
32
|
+
|
33
|
+
result.stdout[0..-2]
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
begin
|
4
|
+
require 'vagrant'
|
5
|
+
rescue LoadError
|
6
|
+
raise 'The Vagrant Zones plugin must be run within Vagrant.'
|
7
|
+
end
|
8
|
+
|
9
|
+
module VagrantPlugins
|
10
|
+
module ProviderZone
|
11
|
+
# This is a the plugin droping for the Vagrant-zones vagrant plugin
|
12
|
+
class Plugin < Vagrant.plugin('2')
|
13
|
+
name 'zone'
|
14
|
+
description <<-DESC
|
15
|
+
This plugin allows vagrant to manage bhyve, lx-branded zones or native zones on
|
16
|
+
OmniOSce or any other illumos based distribution
|
17
|
+
DESC
|
18
|
+
|
19
|
+
config(:zone, :provider) do
|
20
|
+
require_relative 'config'
|
21
|
+
Config
|
22
|
+
end
|
23
|
+
## Experimental Parallel Execucution
|
24
|
+
## provider(:zone, parallel: true) do
|
25
|
+
provider(:zone) do
|
26
|
+
require_relative 'provider'
|
27
|
+
Provider
|
28
|
+
end
|
29
|
+
|
30
|
+
# This initializes the internationalization strings.
|
31
|
+
def self.setup_i18n
|
32
|
+
I18n.load_path << File.expand_path('locales/en.yml', ProviderZone.source_root)
|
33
|
+
I18n.reload!
|
34
|
+
end
|
35
|
+
|
36
|
+
# This sets up our log level to be whatever VAGRANT_LOG is.
|
37
|
+
def self.setup_logging
|
38
|
+
require 'log4r'
|
39
|
+
|
40
|
+
level = nil
|
41
|
+
begin
|
42
|
+
level = Log4r.const_get(ENV['VAGRANT_LOG'].upcase)
|
43
|
+
rescue NameError
|
44
|
+
# This means that the logging constant wasn't found,
|
45
|
+
# which is fine. We just keep `level` as `nil`. But
|
46
|
+
# we tell the user.
|
47
|
+
level = nil
|
48
|
+
end
|
49
|
+
|
50
|
+
# Some constants, such as "true" resolve to booleans, so the
|
51
|
+
# above error checking doesn't catch it. This will check to make
|
52
|
+
# sure that the log level is an integer, as Log4r requires.
|
53
|
+
level = nil unless level.is_a?(Integer)
|
54
|
+
|
55
|
+
# Set the logging level on all "vagrant" namespaced
|
56
|
+
# logs as long as we have a valid level.
|
57
|
+
|
58
|
+
return unless level
|
59
|
+
|
60
|
+
logger = Log4r::Logger.new('vagrant_zones')
|
61
|
+
logger.outputters = Log4r::Outputter.stderr
|
62
|
+
logger.level = level
|
63
|
+
logger
|
64
|
+
end
|
65
|
+
|
66
|
+
# Setup logging and i18n before any autoloading loads other classes
|
67
|
+
# with logging configured as this prevents inheritance of the log level
|
68
|
+
# from the parent logger.
|
69
|
+
setup_logging
|
70
|
+
setup_i18n
|
71
|
+
|
72
|
+
## This setups the zone commands master
|
73
|
+
command('zone') do
|
74
|
+
require_relative 'command/zone'
|
75
|
+
Command::Zone
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'vagrant'
|
4
|
+
require 'log4r'
|
5
|
+
|
6
|
+
module VagrantPlugins
|
7
|
+
# This is a module to assist in managing, creating bhyve, kvm, and lx zones
|
8
|
+
module ProviderZone
|
9
|
+
autoload :Driver, 'vagrant-zones/driver'
|
10
|
+
# This is a module to assist in managing, creating bhyve, kvm, and lx zones
|
11
|
+
class Provider < Vagrant.plugin('2', :provider)
|
12
|
+
def initialize(machine)
|
13
|
+
@logger = Log4r::Logger.new('vagrant::provider::zone')
|
14
|
+
@machine = machine
|
15
|
+
super(machine)
|
16
|
+
end
|
17
|
+
|
18
|
+
def driver
|
19
|
+
return @driver if @driver
|
20
|
+
|
21
|
+
@driver = Driver.new(@machine)
|
22
|
+
end
|
23
|
+
|
24
|
+
def ssh_info
|
25
|
+
# We just return nil if were not able to identify the VM's IP and
|
26
|
+
# let Vagrant core deal with it like docker provider does
|
27
|
+
return nil if state.id != :running
|
28
|
+
return nil unless driver.get_ip_address('ssh_info')
|
29
|
+
|
30
|
+
passwordauth = 'passwordauth'
|
31
|
+
ssh_info = {
|
32
|
+
host: driver.get_ip_address('ssh_info'),
|
33
|
+
port: driver.sshport(@machine).to_s,
|
34
|
+
password: driver.vagrantuserpass(@machine).to_s,
|
35
|
+
username: driver.user(@machine),
|
36
|
+
private_key_path: driver.userprivatekeypath(@machine).to_s,
|
37
|
+
PasswordAuthentication: passwordauth
|
38
|
+
}
|
39
|
+
return ssh_info unless ssh_info.nil?
|
40
|
+
end
|
41
|
+
|
42
|
+
# This should return an action callable for the given name.
|
43
|
+
# @param [Symbol] name Name of the action.
|
44
|
+
# @return [Object] A callable action sequence object, whether it
|
45
|
+
# is a proc, object, etc.
|
46
|
+
def action(name)
|
47
|
+
# Attempt to get the action method from the Action class if it
|
48
|
+
# exists, otherwise return nil to show that we don't support the
|
49
|
+
# given action
|
50
|
+
action_method = "action_#{name}"
|
51
|
+
return Action.send(action_method) if Action.respond_to?(action_method)
|
52
|
+
|
53
|
+
nil
|
54
|
+
end
|
55
|
+
|
56
|
+
# This method is called if the underying machine ID changes. Providers
|
57
|
+
# can use this method to load in new data for the actual backing
|
58
|
+
# machine or to realize that the machine is now gone (the ID can
|
59
|
+
# become `nil`). No parameters are given, since the underlying machine
|
60
|
+
# is simply the machine instance given to this object. And no
|
61
|
+
# return value is necessary.
|
62
|
+
def machine_id_changed
|
63
|
+
nil
|
64
|
+
end
|
65
|
+
|
66
|
+
def state
|
67
|
+
state_id = nil
|
68
|
+
state_id = :not_created unless @machine.id
|
69
|
+
state_id = driver.state(@machine) if @machine.id && !state_id
|
70
|
+
# This is a special pseudo-state so that we don't set the
|
71
|
+
# NOT_CREATED_ID while we're setting up the machine. This avoids
|
72
|
+
# clearing the data dir.
|
73
|
+
state_id = :preparing if @machine.id == 'preparing'
|
74
|
+
# Get the short and long description
|
75
|
+
short = state_id.to_s.tr('_', ' ')
|
76
|
+
# If we're not created, then specify the special ID flag
|
77
|
+
state_id = Vagrant::MachineState::NOT_CREATED_ID if state_id == :not_created
|
78
|
+
# Return the MachineState object
|
79
|
+
Vagrant::MachineState.new(state_id, short, short)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'open3'
|
4
|
+
require 'log4r'
|
5
|
+
module VagrantPlugins
|
6
|
+
module ProviderZone
|
7
|
+
module Util
|
8
|
+
# This shiny device polishes bared foos
|
9
|
+
class Subprocess
|
10
|
+
def initialize(cmd, &_block)
|
11
|
+
Open3.popen3(cmd) do |_stdin, stdout, stderr, thread|
|
12
|
+
# read each stream from a new thread
|
13
|
+
{ :out => stdout, :err => stderr }.each do |key, stream|
|
14
|
+
Thread.new do
|
15
|
+
until (line = stream.gets).nil?
|
16
|
+
# yield the block depending on the stream
|
17
|
+
if key == :out
|
18
|
+
yield line, nil, thread if block_given?
|
19
|
+
elsif block_given?
|
20
|
+
yield nil, line, thread
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
thread.join # don't exit until the external process is done
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module VagrantPlugins
|
4
|
+
module ProviderZone
|
5
|
+
module Util
|
6
|
+
# This is a utlity to time commands and scripts
|
7
|
+
class Timer
|
8
|
+
# A basic utility method that times the execution of the given
|
9
|
+
# block and returns it.
|
10
|
+
def self.time
|
11
|
+
start_time = Time.now.to_f
|
12
|
+
yield
|
13
|
+
end_time = Time.now.to_f
|
14
|
+
end_time - start_time
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'pathname'
|
4
|
+
|
5
|
+
module VagrantPlugins
|
6
|
+
# This is used to configure, manage, create and destroy zones where vagrant by itself cannot
|
7
|
+
module ProviderZone
|
8
|
+
lib_path = Pathname.new(File.expand_path('vagrant-zones', __dir__))
|
9
|
+
autoload :Action, lib_path.join('action')
|
10
|
+
autoload :Executor, lib_path.join('executor')
|
11
|
+
autoload :Driver, lib_path.join('driver')
|
12
|
+
autoload :Errors, lib_path.join('errors')
|
13
|
+
# This function returns the path to the source of this plugin
|
14
|
+
# @return [Pathname]
|
15
|
+
def self.source_root
|
16
|
+
@source_root ||= Pathname.new(File.expand_path('..', __dir__))
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
begin
|
22
|
+
require 'vagrant'
|
23
|
+
rescue LoadError
|
24
|
+
raise 'The Vagrant vagrant-zones plugin must be run within Vagrant.'
|
25
|
+
end
|
26
|
+
|
27
|
+
raise 'The Vagrant vagrant-zones plugin is only compatible with Vagrant 2+.' if Vagrant::VERSION < '2'
|
28
|
+
|
29
|
+
require 'vagrant-zones/plugin'
|
data/locales/en.yml
ADDED
@@ -0,0 +1,326 @@
|
|
1
|
+
en:
|
2
|
+
vagrant_zones:
|
3
|
+
states:
|
4
|
+
not_created: |-
|
5
|
+
Your instance of this box haven't been created
|
6
|
+
is_running: |-
|
7
|
+
Your instance has already be booted
|
8
|
+
errors:
|
9
|
+
not_yet_implemented: |-
|
10
|
+
Your configuration is not yet implemented
|
11
|
+
halt_timeout: |-
|
12
|
+
Zone failed to halt in alloted time after waiting for
|
13
|
+
invalidLX_brand: |-
|
14
|
+
Invalid LX brand configuration detected
|
15
|
+
invalidbhyve_brand: |-
|
16
|
+
Invalid bhyve configuration detected
|
17
|
+
console_failed: |-
|
18
|
+
Failed to access console
|
19
|
+
console_failed_exit: |-
|
20
|
+
Exiting
|
21
|
+
execute_error: |-
|
22
|
+
Failed when execute commands
|
23
|
+
timeout_error: |-
|
24
|
+
Timeout exceeded
|
25
|
+
system_version_too_low: |-
|
26
|
+
Please update to OmniOS r38 or higher
|
27
|
+
missing_compatability_check_tool: |-
|
28
|
+
Please install the Bhyve compatability tool from: https://omnios.org/info/bhyve
|
29
|
+
missing_bhyve: |-
|
30
|
+
Your system appears to be missing bhyve
|
31
|
+
virtual_box_running_conflict_detected: |-
|
32
|
+
Virtualbox Box appears to be running virtual machines, to continue, please shut these down!
|
33
|
+
meeting: |-
|
34
|
+
Beggining the zone creation sequence
|
35
|
+
leaving: |-
|
36
|
+
Beggining the zone destruction sequence
|
37
|
+
halting_zone: |-
|
38
|
+
Halting the zone
|
39
|
+
destroy_zone: |-
|
40
|
+
Starting zone destruction
|
41
|
+
graceful_shutdown_failed: |-
|
42
|
+
Zone failed to shutdown in alloted time ==>
|
43
|
+
graceful_shutdown: |-
|
44
|
+
Asking hypervisor to gracefully stop the zone
|
45
|
+
creating_vnic: |-
|
46
|
+
- Creating VNIC:
|
47
|
+
configure_interface_using_vnic: |-
|
48
|
+
- Configuring the interface in the zone for VNIC using netplan:
|
49
|
+
configure_win_interface_using_vnic: |-
|
50
|
+
- Waiting 60 seconds then configuring the Windows network interface in the zone:
|
51
|
+
configure_interface_using_vnic_dladm: |-
|
52
|
+
- Configuring the interface in the zone for VNIC using dladm:
|
53
|
+
os_detect: |-
|
54
|
+
- Detecting Operating System to configure networking:
|
55
|
+
ansible_detect: |-
|
56
|
+
- Detecting if Ansible is installed:
|
57
|
+
vnic_setup: |-
|
58
|
+
- Setting up VNIC:
|
59
|
+
networking_int_remove: |-
|
60
|
+
Removing network devices:
|
61
|
+
networking_int_add: |-
|
62
|
+
- Adding network devices:
|
63
|
+
removing_vnic: |-
|
64
|
+
- Deleting zone VNIC:
|
65
|
+
no_removing_vnic: |-
|
66
|
+
- No zone VNIC to remove
|
67
|
+
removing_host_vnic: |-
|
68
|
+
- Deleting host VNIC:
|
69
|
+
no_removing_host_vnic: |-
|
70
|
+
- No host VNIC to remove
|
71
|
+
network_setup: |-
|
72
|
+
Preparing zone OS networking interfaces:
|
73
|
+
delete_disks: |-
|
74
|
+
Removing associated disks:
|
75
|
+
zonelogincmd: |-
|
76
|
+
Running command with zLogin
|
77
|
+
user: |-
|
78
|
+
Filtering the user Vagrant will use
|
79
|
+
installing_zone: |-
|
80
|
+
Installing zone as brand:
|
81
|
+
netplan_remove: |-
|
82
|
+
- Removing stale netplan configurations
|
83
|
+
netplan_set: |-
|
84
|
+
- Generate fresh netplan configurations
|
85
|
+
dladm_applied: |-
|
86
|
+
- dladm and ipadm configurations Applied
|
87
|
+
dladm_route_applied: |-
|
88
|
+
- Route has been applied
|
89
|
+
dladm_dns_applied: |-
|
90
|
+
- DNS has been applied
|
91
|
+
netplan_applied: |-
|
92
|
+
- New Netplan configurations Applied
|
93
|
+
netplan_applied_dhcp: |-
|
94
|
+
- Set DHCP Netplan configurations
|
95
|
+
stale_netplan_removed: |-
|
96
|
+
- Stale Netplan configurations removed
|
97
|
+
netplan_applied_static: |-
|
98
|
+
- Set static Netplan configurations:
|
99
|
+
|
100
|
+
console_failednetplan: |-
|
101
|
+
Netplan configurations failed
|
102
|
+
lx_zone_dataset: |-
|
103
|
+
- Creating zoned ZFS dataset for LX zone:
|
104
|
+
bhyve_zone_dataset_root: |-
|
105
|
+
- ZFS root dataset:
|
106
|
+
begin_create_datasets: |-
|
107
|
+
Creating ZFS datasets and volumes:
|
108
|
+
bhyve_zone_dataset_boot: |-
|
109
|
+
- ZFS boot volume:
|
110
|
+
setting_cd_rom_configurations: |-
|
111
|
+
- Setting CDROM Configurations:
|
112
|
+
setting_additional_disks_configurations: |-
|
113
|
+
- Setting additional disk Configurations:
|
114
|
+
bhyve_zone_dataset_additional_volume: |-
|
115
|
+
- Additional ZFS volume:
|
116
|
+
bhyve_zone_dataset_additional_volume_destroy: |-
|
117
|
+
- Additional ZFS volume:
|
118
|
+
addtl_volume_destroy_root: |-
|
119
|
+
- ZFS root dataset for additional ZFS volume:
|
120
|
+
bhyve_zone_dataset_additional_volume_root: |-
|
121
|
+
- ZFS root dataset for additional ZFS volume:
|
122
|
+
destroy_root_dataset: |-
|
123
|
+
- ZFS root dataset:
|
124
|
+
destroy_dataset: |-
|
125
|
+
- ZFS Boot volume dataset:
|
126
|
+
lx_zone_config_gen: |-
|
127
|
+
Generating configuration for LX zone
|
128
|
+
bhyve_zone_config_gen: |-
|
129
|
+
Generating zone configuration:
|
130
|
+
bhyve_zone_config_remove: |-
|
131
|
+
Removing zonecfg configuration
|
132
|
+
bhyve_zone_config_uninstall: |-
|
133
|
+
Uninstalling the zone
|
134
|
+
preflight_checks: |-
|
135
|
+
Running Preflight checks:
|
136
|
+
vbox_run_check: |-
|
137
|
+
- Checking if VirtualBox is loaded as it may conflict with bhyve
|
138
|
+
lx_check: |-
|
139
|
+
Minimal checks performed for LX Branded zones on the host OS, please use with caution!
|
140
|
+
bhyve_check: |-
|
141
|
+
- Checking OmniOS release against version:
|
142
|
+
bhyve_compat_check: |-
|
143
|
+
- Checking bhyve installation environment
|
144
|
+
wait_for_boot: |-
|
145
|
+
Waiting for the zone to boot
|
146
|
+
sshport: |-
|
147
|
+
Filtering the SSH port that Vagrant will use
|
148
|
+
vagrantuserpass: |-
|
149
|
+
Filtering the Vagrant user Password
|
150
|
+
firmware: |-
|
151
|
+
Filtering the firmware that bhyve will use
|
152
|
+
inserting_ssh_key: |-
|
153
|
+
Inserting SSH key
|
154
|
+
booted_check_terminal_access: |-
|
155
|
+
Zone booted, checking for login access/prompt over Serial:
|
156
|
+
terminal_access_auto_login: |-
|
157
|
+
Could not login as root, will attempt to auto-login with supplied credentials:
|
158
|
+
detecting_box: |-
|
159
|
+
Detecting image
|
160
|
+
importing_vagrant_key: |-
|
161
|
+
Importing Vagrant key from Cloud:
|
162
|
+
datadir: |-
|
163
|
+
Vagrant datadir:
|
164
|
+
zfs_snapshot_stream_detected: |-
|
165
|
+
ZFS Snapshot Stream detected ==>
|
166
|
+
joyent_image_uuid_detected: |-
|
167
|
+
Joyent UUID detected ==>
|
168
|
+
vagrant_cloud_box_detected: |-
|
169
|
+
- Vagrant Cloud Box detected:
|
170
|
+
ssh_ready: |-
|
171
|
+
SSH appears to be ready
|
172
|
+
boot_ready: |-
|
173
|
+
The zone has booted
|
174
|
+
dhcp_boot_ready: |-
|
175
|
+
The zone is configured with NAT and booted
|
176
|
+
root_dataset_nil: |-
|
177
|
+
- No root dataset to remove
|
178
|
+
boot_dataset_nil: |-
|
179
|
+
- No boot volumes to remove
|
180
|
+
additional_dataset_nil: |-
|
181
|
+
- No additional volumes to remove
|
182
|
+
starting_zone: |-
|
183
|
+
Starting the zone
|
184
|
+
joyent_image_uuid_verified: |-
|
185
|
+
Joyent image UUID has been verified ==>
|
186
|
+
lx_zone_dataset: |-
|
187
|
+
LX zone dataset ==>
|
188
|
+
setting_dns_server: |-
|
189
|
+
Setting nameserver ==>
|
190
|
+
detected_ovf_format: |-
|
191
|
+
Detected OVF
|
192
|
+
importing_box_image: |-
|
193
|
+
- Importing Box image ==>
|
194
|
+
importing_box_image_to_disk: |-
|
195
|
+
- Importing Box template to disk ==>
|
196
|
+
template_import_path: |-
|
197
|
+
- Template path:
|
198
|
+
importing_joyent_image: |-
|
199
|
+
- Importing Joyent image ==>
|
200
|
+
graceful_restart: |-
|
201
|
+
Zone gracefully restarting
|
202
|
+
graceful_shutdown_started: |-
|
203
|
+
Zone gracefully shutting down
|
204
|
+
graceful_shutdown_complete: |-
|
205
|
+
Graceful shutdown complete
|
206
|
+
zone_gracefully_restarted: |-
|
207
|
+
Graceful restart complete
|
208
|
+
zone_gracefully_stopped_waiting_for_boot: |-
|
209
|
+
Zone gracefully shutdown, now waiting for boot
|
210
|
+
console: |-
|
211
|
+
Starting console:
|
212
|
+
setting_console_access: |-
|
213
|
+
- Setting console access port:
|
214
|
+
zfs_snapshot_cron: |-
|
215
|
+
Listing configured cron jobs
|
216
|
+
zfs_snapshot_create: |-
|
217
|
+
Creating ZFS snapshot(s):
|
218
|
+
setting_cloud_dnsdomain: |-
|
219
|
+
- Setting cloud-init DNS domain:
|
220
|
+
setting_cloud_password: |-
|
221
|
+
- Setting cloud-init password:
|
222
|
+
setting_cloud_resolvers: |-
|
223
|
+
- Setting cloud-init Resolvers:
|
224
|
+
setting_cloud_ssh_key: |-
|
225
|
+
- Setting cloud-init SSH key:
|
226
|
+
setting_cloud_init_access: |-
|
227
|
+
- Enabling cloud-init:
|
228
|
+
control_no_cmd: |-
|
229
|
+
No control command specified
|
230
|
+
ssh_run_command: |-
|
231
|
+
Running Command over SSH:
|
232
|
+
vtype: |-
|
233
|
+
Filtering zone type
|
234
|
+
nsservers: |-
|
235
|
+
Sanitizing Name Servers:
|
236
|
+
mac: |-
|
237
|
+
Sanitizing MAC address:
|
238
|
+
ipaddress: |-
|
239
|
+
Sanitizing IP address:
|
240
|
+
allowedaddress: |-
|
241
|
+
Sanitizing Allowed IP address:
|
242
|
+
vnic_name: |-
|
243
|
+
Sanitizing the VNIC name:
|
244
|
+
get_ip_address: |-
|
245
|
+
Gathering IP address
|
246
|
+
creating_etherstub: |-
|
247
|
+
- Creating etherstub for private network:
|
248
|
+
creating_etherhostvnic: |-
|
249
|
+
- Creating NAT VNIC for zone over etherstub:
|
250
|
+
creating_ethervnic: |-
|
251
|
+
- Creating VNIC for host over etherstub:
|
252
|
+
creating_networking_interfaces: |-
|
253
|
+
Creating networking interfaces for zone:
|
254
|
+
nat_vnic_setup: |-
|
255
|
+
- Setting up NAT VNIC:
|
256
|
+
forwarding_nat: |-
|
257
|
+
- Enabling NAT forwarding:
|
258
|
+
configuring_nat: |-
|
259
|
+
- Creating NAT entries:
|
260
|
+
deconfiguring_nat: |-
|
261
|
+
- Removing NAT configurations:
|
262
|
+
configuring_dhcp: |-
|
263
|
+
- Configuring DHCP
|
264
|
+
deconfiguring_dhcp: |-
|
265
|
+
- Removing DHCP configurations:
|
266
|
+
chk_dhcp_addr: |-
|
267
|
+
- Checking if zone has leased the address:
|
268
|
+
setting_alt_shared_disk_configurations: |-
|
269
|
+
Setting shared disk configurations
|
270
|
+
zonecfgcpu: |-
|
271
|
+
Setting the CPU for zone
|
272
|
+
pci: |-
|
273
|
+
Setting the PCI devices for zone
|
274
|
+
zfs_snapshot_list: |-
|
275
|
+
ZFS snapshots detected:
|
276
|
+
zfs_snapshot_destroy: |-
|
277
|
+
Destroying ZFS snapshots for zone:
|
278
|
+
cron_entries: |-
|
279
|
+
Listing cron entries for zone
|
280
|
+
cron_set: |-
|
281
|
+
Setting cron entries for zone
|
282
|
+
cron_delete: |-
|
283
|
+
Deleting cron entries for zone
|
284
|
+
control: |-
|
285
|
+
Running control command on zone:
|
286
|
+
delete_ethervnic: |-
|
287
|
+
- Deleting the etherstub:
|
288
|
+
no_delete_ethervnic: |-
|
289
|
+
- No etherstub to remove
|
290
|
+
automated-zlogin: |-
|
291
|
+
Automatic Login
|
292
|
+
automated-windows-zlogin: |-
|
293
|
+
Windows SAC Autologin
|
294
|
+
automated-zlogin-user: |-
|
295
|
+
- Entering username, Waiting a few seconds
|
296
|
+
automated-zlogin-pass: |-
|
297
|
+
- Entering password, Waiting a few seconds
|
298
|
+
automated-zbootunlock: |-
|
299
|
+
- Unlocking LUKS Keystore for the boot disk
|
300
|
+
automated-zlogin-root: |-
|
301
|
+
- Impersonatig root, Waiting a few seconds
|
302
|
+
windows_skip_first_boot: |-
|
303
|
+
- Skipping First EVENT for CMD due to Sysprep Reboot
|
304
|
+
windows_start_cmd: |-
|
305
|
+
- Starting CMD session
|
306
|
+
windows_access_session: |-
|
307
|
+
- Accessing Command Session
|
308
|
+
windows_access_session_presskey: |-
|
309
|
+
- Pressing Any Key enter Command Session
|
310
|
+
windows_enter_username: |-
|
311
|
+
- Entering Username
|
312
|
+
windows_enter_domain: |-
|
313
|
+
- Entering/Skipping Domain
|
314
|
+
windows_enter_password: |-
|
315
|
+
- Entering password
|
316
|
+
windows_cmd_accessible: |-
|
317
|
+
- CMD Accessible
|
318
|
+
win_applied_rename_adapter: |-
|
319
|
+
- Renamed Default Adapter
|
320
|
+
win_applied_static: |-
|
321
|
+
- Set Static Address
|
322
|
+
win_applied_dns1: |-
|
323
|
+
- Set Primary DNS
|
324
|
+
win_applied_dns2: |-
|
325
|
+
- Set Secondary DNS
|
326
|
+
|