Class: OsCtld::ContainerControl::Commands::StopByHalt::Runner
- Includes:
- Utils::Wall::Runner
- Defined in:
- lib/osctld/container_control/commands/stop_by_halt.rb
Instance Attribute Summary
Attributes inherited from Runner
#ctid, #log_file, #lxc_home, #pool, #stderr, #stdin, #stdout, #user_home
Instance Method Summary collapse
-
#execute(opts) ⇒ Integer
Exit status.
Methods included from Utils::Wall::Runner
Methods inherited from Runner
#error, #initialize, #lxc_ct, #ok, #setup_exec_env, #setup_exec_run_env, #system_path
Constructor Details
This class inherits a constructor from OsCtld::ContainerControl::Runner
Instance Method Details
#execute(opts) ⇒ Integer
Returns exit status.
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/osctld/container_control/commands/stop_by_halt.rb', line 34 def execute(opts) if opts[:message] begin ct_wall(opts[:message]) rescue LXC::Error # ignore end end pid = lxc_ct.attach do setup_exec_env ENV['HOME'] = '/root' ENV['USER'] = 'root' LXC.run_command('halt') end Process.wait(pid) if $?.exitstatus == 0 ok else error("halt failed with exit status #{$?.exitstatus}") end end |