Module: VagrantPlugins::Openstack::Action
- Includes:
- Vagrant::Action::Builtin
- Defined in:
- lib/vagrant-openstack-provider/action.rb,
lib/vagrant-openstack-provider/action/resume.rb,
lib/vagrant-openstack-provider/action/message.rb,
lib/vagrant-openstack-provider/action/suspend.rb,
lib/vagrant-openstack-provider/action/provision.rb,
lib/vagrant-openstack-provider/action/wait_stop.rb,
lib/vagrant-openstack-provider/action/read_state.rb,
lib/vagrant-openstack-provider/action/stop_server.rb,
lib/vagrant-openstack-provider/action/wait_active.rb,
lib/vagrant-openstack-provider/action/create_stack.rb,
lib/vagrant-openstack-provider/action/delete_stack.rb,
lib/vagrant-openstack-provider/action/start_server.rb,
lib/vagrant-openstack-provider/action/sync_folders.rb,
lib/vagrant-openstack-provider/action/create_server.rb,
lib/vagrant-openstack-provider/action/delete_server.rb,
lib/vagrant-openstack-provider/action/read_ssh_info.rb,
lib/vagrant-openstack-provider/action/abstract_action.rb,
lib/vagrant-openstack-provider/action/wait_accessible.rb,
lib/vagrant-openstack-provider/action/connect_openstack.rb
Defined Under Namespace
Classes: AbstractAction, ConnectOpenstack, CreateServer, CreateStack, DeleteServer, DeleteStack, InternalProvisionWrapper, Message, NoSyncFolders, ProvisionWrapper, ReadSSHInfo, ReadState, Resume, RsyncFolders, SSHInfoHolder, StartServer, StopServer, Suspend, SyncFolders, WaitForServerToBeAccessible, WaitForServerToBeActive, WaitForServerToStop
Class Method Summary collapse
-
.action_destroy ⇒ Object
This action is called to destroy the remote machine.
- .action_halt ⇒ Object
-
.action_provision ⇒ Object
This action is called when ‘vagrant provision` is called.
-
.action_read_ssh_info ⇒ Object
This action is called to read the SSH info of the machine.
-
.action_read_state ⇒ Object
This action is called to read the state of the machine.
- .action_reload ⇒ Object
-
.action_resume ⇒ Object
This is the action that is primarily responsible for resuming suspended machines.
- .action_ssh ⇒ Object
- .action_ssh_run ⇒ Object
-
.action_suspend ⇒ Object
This is the action that is primarily responsible for suspending the virtual machine.
- .action_up ⇒ Object
- .get_ssh_info(env) ⇒ Object
Class Method Details
.action_destroy ⇒ Object
This action is called to destroy the remote machine.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/vagrant-openstack-provider/action.rb', line 12 def self.action_destroy new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use Call, ReadState do |env, b2| if env[:machine_state_id] == :not_created b2.use Message, I18n.t('vagrant_openstack.not_created') else b2.use DeleteServer b2.use DeleteStack end end end end |
.action_halt ⇒ Object
119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/vagrant-openstack-provider/action.rb', line 119 def self.action_halt new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use Call, ReadState do |env, b2| if env[:machine_state_id] == :not_created b2.use Message, I18n.t('vagrant_openstack.not_created') else b2.use StopServer end end end end |
.action_provision ⇒ Object
This action is called when ‘vagrant provision` is called.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/vagrant-openstack-provider/action.rb', line 28 def self.action_provision new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use Call, ReadState do |env, b2| if env[:machine_state_id] == :not_created b2.use Message, I18n.t('vagrant_openstack.not_created') else b2.use ProvisionWrapper b2.use SyncFolders end end end end |
.action_read_ssh_info ⇒ Object
This action is called to read the SSH info of the machine. The resulting state is expected to be put into the ‘:machine_ssh_info` key.
46 47 48 49 50 51 52 |
# File 'lib/vagrant-openstack-provider/action.rb', line 46 def self.action_read_ssh_info new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use ReadSSHInfo end end |
.action_read_state ⇒ Object
This action is called to read the state of the machine. The resulting state is expected to be put into the ‘:machine_state_id` key.
57 58 59 60 61 62 63 |
# File 'lib/vagrant-openstack-provider/action.rb', line 57 def self.action_read_state new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use ReadState end end |
.action_reload ⇒ Object
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 |
# File 'lib/vagrant-openstack-provider/action.rb', line 175 def self.action_reload new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use Call, ReadState do |env, b2| case env[:machine_state_id] when :not_created b2.use Message, I18n.t('vagrant_openstack.not_created') when :suspended b2.use Resume b2.use WaitForServerToBeActive b2.use StopServer b2.use WaitForServerToStop b2.use StartServer when :shutoff b2.use StartServer else b2.use StopServer b2.use WaitForServerToStop b2.use StartServer end end end end |
.action_resume ⇒ Object
This is the action that is primarily responsible for resuming suspended machines. Vm cannot be resumed when the machine_state_id is not suspended.
158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
# File 'lib/vagrant-openstack-provider/action.rb', line 158 def self.action_resume new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use Call, ReadState do |env, b2| case env[:machine_state_id] when :not_created b2.use Message, I18n.t('vagrant_openstack.not_created') when :suspended b2.use Resume else b2.use Message, I18n.t('vagrant_openstack.not_suspended') end end end end |
.action_ssh ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/vagrant-openstack-provider/action.rb', line 65 def self.action_ssh new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use Call, ReadState do |env, b2| if env[:machine_state_id] == :not_created b2.use Message, I18n.t('vagrant_openstack.not_created') else b2.use SSHExec end end end end |
.action_ssh_run ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/vagrant-openstack-provider/action.rb', line 79 def self.action_ssh_run new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use Call, ReadState do |env, b2| if env[:machine_state_id] == :not_created b2.use Message, I18n.t('vagrant_openstack.not_created') else b2.use SSHRun end end end end |
.action_suspend ⇒ Object
This is the action that is primarily responsible for suspending the virtual machine. Vm cannot be suspended when the machine_state_id is not “active” (typically a task is ongoing)
136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 |
# File 'lib/vagrant-openstack-provider/action.rb', line 136 def self.action_suspend new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use Call, ReadState do |env, b2| case env[:machine_state_id] when :not_created b2.use Message, I18n.t('vagrant_openstack.not_created') when :suspended b2.use Message, I18n.t('vagrant_openstack.already_suspended') when :active b2.use Suspend else b2.use Message, I18n.t('vagrant_openstack.ongoing_task') end end end end |
.action_up ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/vagrant-openstack-provider/action.rb', line 93 def self.action_up new_builder.tap do |b| b.use ConfigValidate b.use ConnectOpenstack b.use Call, ReadState do |env, b2| case env[:machine_state_id] when :not_created ssh_disabled = env[:machine].provider_config.ssh_disabled b2.use ProvisionWrapper unless ssh_disabled b2.use SyncFolders b2.use CreateStack b2.use CreateServer b2.use Message, I18n.t('vagrant_openstack.ssh_disabled_provisioning') if ssh_disabled b2.use WaitForServerToBeAccessible unless ssh_disabled when :shutoff b2.use StartServer when :suspended b2.use Resume else b2.use Message, I18n.t('vagrant_openstack.already_created') end end end end |
.get_ssh_info(env) ⇒ Object
67 68 69 |
# File 'lib/vagrant-openstack-provider/action/read_ssh_info.rb', line 67 def self.get_ssh_info(env) SSHInfoHolder.instance.ssh_info[env[:machine].id.to_sym] end |