1
0
mirror of https://github.com/OpenNebula/one.git synced 2025-03-21 14:50:08 +03:00

feature #863: Solves minor bugs

This commit is contained in:
Ruben S. Montero 2011-12-01 19:29:46 +01:00
parent 5414c03028
commit 1467190510
3 changed files with 18 additions and 10 deletions

View File

@ -108,7 +108,7 @@ class VmmAction
private
DRIVER_NAMES = {
:vmm => "virtualization driver"
:vmm => "virtualization driver",
:vnm => "network driver"
}
@ -119,6 +119,8 @@ class VmmAction
# information associated to each step (by :<action>_info). In case of
# failure information is also in [:failed_info]
def execute_steps(steps)
result = DriverExecHelper.const_get(:RESULT)[:failure]
steps.each do |step|
# Execute Step
case step[:driver]
@ -147,8 +149,8 @@ class VmmAction
result, info = vnm.do_action(@id, step[:action])
else
result = DriverExecHelper.RESULT[:failure]
info = "No driver in #{step[:action]}"}
result = DriverExecHelper.const_get(:RESULT)[:failure]
info = "No driver in #{step[:action]}"
end
# Save the step info
@ -238,6 +240,8 @@ class ExecDriver < VirtualMachineDriver
# DEPLOY action, sends the deployment file to remote host
#
def deploy(id, drv_message)
action = VmmAction.new(self, id, :deploy, drv_message)
# ----------------------------------------------------------------------
# Initialization of deployment data
# ----------------------------------------------------------------------
@ -260,7 +264,6 @@ class ExecDriver < VirtualMachineDriver
# ----------------------------------------------------------------------
# Deployment Steps
# ----------------------------------------------------------------------
action = VmmAction.new(self, id, :deploy, drv_message)
steps=[
# Execute pre-boot networking setup
@ -296,6 +299,7 @@ class ExecDriver < VirtualMachineDriver
# SHUTDOWN action, graceful shutdown and network clean up
#
def shutdown(id, drv_message)
action = VmmAction.new(self, id, :shutdown, drv_message)
steps=[
@ -310,7 +314,7 @@ class ExecDriver < VirtualMachineDriver
:driver => :vnm,
:action => :clean
}
}
]
action.run(steps)
end

View File

@ -59,7 +59,7 @@ class OpenNebulaHM < OpenNebulaNetwork
end
def create_bridge(bridge)
exec_and_log("#{COMMANDS[:brctl]} addbr #{bridge}")
OpenNebula.exec_and_log("#{COMMANDS[:brctl]} addbr #{bridge}")
end
def device_exists?(dev, vlan=nil)
@ -68,7 +68,7 @@ class OpenNebulaHM < OpenNebulaNetwork
end
def create_dev_vlan(dev, vlan)
exec_and_log("#{COMMANDS[:vconfig]} add #{dev} #{vlan}")
OpenNebula.exec_and_log("#{COMMANDS[:vconfig]} add #{dev} #{vlan}")
end
def attached_bridge_dev?(bridge, dev, vlan=nil)
@ -79,11 +79,11 @@ class OpenNebulaHM < OpenNebulaNetwork
def attach_brigde_dev(bridge, dev, vlan=nil)
dev = "#{dev}.#{vlan}" if vlan
exec_and_log("#{COMMANDS[:brctl]} addif #{bridge} #{dev}")
OpenNebula.exec_and_log("#{COMMANDS[:brctl]} addif #{bridge} #{dev}")
end
def ifup(dev, vlan=nil)
dev = "#{dev}.#{vlan}" if vlan
exec_and_log("#{COMMANDS[:ip]} link set #{dev} up")
OpenNebula.exec_and_log("#{COMMANDS[:ip]} link set #{dev} up")
end
end

View File

@ -17,11 +17,15 @@
#--------------------------------------------------------------------------- #
$: << File.dirname(__FILE__)
$: << File.join(File.dirname(__FILE__), '..')
require 'rexml/document'
require 'OpenNebulaNic'
require 'base64'
require 'scripts_common'
include OpenNebula
CONF = {
:start_vlan => 2
}
@ -29,7 +33,7 @@ CONF = {
COMMANDS = {
:ebtables => "sudo /sbin/ebtables",
:iptables => "sudo /sbin/iptables",
:brctl => "sudo /usr/sbin/brctl",
:brctl => "sudo /sbin/brctl",
:ip => "sudo /sbin/ip",
:vconfig => "sudo /sbin/vconfig",
:virsh => "virsh -c qemu:///system",