vagrant-zones 0.0.1
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/.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
|
+
|