Index: install/managed_server/scripts/convirt-tool =================================================================== --- install/managed_server/scripts/convirt-tool (revision 1299) +++ install/managed_server/scripts/convirt-tool (revision 1308) @@ -80,7 +80,7 @@ } # parse the command line parameters -new_opts=`getopt -n$0 -u -a --longoptions="xen_skip_config,xen_ssl,detect_only,skip_fw_changes,skip_setup_bridge,skip_nw_svc_setup" "h" "$@"` || usage +new_opts=`getopt -n$0 -u -a --longoptions="xen_skip_config,xen_ssl,detect_only,skip_fw_changes,skip_setup_bridge,skip_setup_nw_svc" "h" "$@"` || usage set -- `echo $new_opts` while [ $# -gt 0 ] do @@ -90,7 +90,7 @@ --skip_fw_chages) skip_fw_changes="true";; --detect_only) detect_only="true";; --skip_setup_bridge) skip_setup_bridge="true";; - --skip_setup_nw_svc) skip_nw_svc_setup="true";; + --skip_setup_nw_svc) skip_setup_nw_svc="true";; -h) usage;; --) shift;break;; -*) usage;; @@ -200,7 +200,7 @@ if [ "${skip_setup_bridge}" != "true" ]; then create_xen_custom_script $x_u fi - $s_dir/$s_name $x_u $ssl_opt ${skip_setup_bridge} + $s_dir/$s_name "${x_u}" "${ssl_opt}" "${skip_setup_bridge}" if [ "$?" != "0" ]; then echo "Error executing $s_dir/$s_name" exit 1 @@ -270,6 +270,15 @@ br_name=$bridge fi echo "BRIDGE NAME=$br_name" + + # open up fire wall for migration + if [ "$skip_fw_changes" == "" ]; then + open_ports 8002 + if [ "$?" != "0" ]; then + echo "Error opening firewall port 8002. You may experience during live migration" + fi + fi + else echo "Error : $0 : Dont know how to setup $v_platform." exit 1 Index: src/convirt/core/model/ManagedNode.py =================================================================== --- src/convirt/core/model/ManagedNode.py (revision 1299) +++ src/convirt/core/model/ManagedNode.py (revision 1308) @@ -444,7 +444,8 @@ entries=[] for e in base_entries: if e and e.find('cannot access') < 0: - entries.append(e) + if e and e.find('ls:') != 0: + entries.append(e) # Populate bridges for e in entries: if e and e.find("/brif/") == -1: @@ -463,7 +464,7 @@ if bridge : interfaces = bridge.get("interfaces") if interfaces is not None: - inteterfaces.append(ifname) + interfaces.append(ifname) else: bridge["interfaces"] = [ifname,] Index: src/convirt/core/platforms/kvm/KVMProxy.py =================================================================== --- src/convirt/core/platforms/kvm/KVMProxy.py (revision 1299) +++ src/convirt/core/platforms/kvm/KVMProxy.py (revision 1308) @@ -85,6 +85,10 @@ self._info = None self._slashes = None + if self.node_proxy.file_exists("/usr/libexec/qemu-kvm"): + print "Switching kvm binary to 'qemu-kvm'" + self.kvm_binary = "/usr/libexec/qemu-kvm" + if self.node_proxy.file_exists("/usr/bin/qemu-kvm"): # print "Switching kvm binary to 'qemu-kvm'" self.kvm_binary = "qemu-kvm" @@ -447,8 +451,11 @@ if not v: return 0 index=v.find('kvm-') - s_index = index + 4 - if s_index > -1: + if index > -1: + s_index = index + 4 + # skip the devel- from kvm-devel-88 + while s_index < len(v) and (v[s_index].isdigit() == False) : + s_index = s_index + 1 index=s_index while index < len(v) and v[index].isdigit() : index = index + 1 @@ -612,9 +619,9 @@ elif opt in ["kernel", "initrd", "append"] : if not skip_kernel_rd : # hack - value = config.get("kernel") - if value: - if value.find("hvmloader") > -1: #skip xen hvmloader + k_value = config.get("kernel") + if k_value: + if k_value.find("hvmloader") > -1: #skip xen hvmloader skip_kernel_rd = True continue else: @@ -671,7 +678,7 @@ elif isinstance(value, list): for v in value: cmdline = cmdline + " -" + opt - cmdline = cmdline + " " + """%s\"""" % (v,) + cmdline = cmdline + " " + """"%s\"""" % (v,) return cmdline if isinstance(value, str): Index: src/convirt/client/ui_utils.py =================================================================== --- src/convirt/client/ui_utils.py (revision 1299) +++ src/convirt/client/ui_utils.py (revision 1308) @@ -447,9 +447,11 @@ ### Useful in implementing VMInfoHelpe ### Note : Assumes 3 col model. def populateTreeWithDictInfo(model,iter, value_dict, display_dict): - display_name = '' for name in display_dict : - value = value_dict.get(name) + display_name = '' + value = None + if value_dict: + value = value_dict.get(name) if not value: continue display_name = display_dict[name] Index: src/convirt/client/convirt_client.py =================================================================== --- src/convirt/client/convirt_client.py (revision 1299) +++ src/convirt/client/convirt_client.py (revision 1308) @@ -22,6 +22,7 @@ sys.path.append('/usr/lib/python') sys.path.append('/usr/lib64/python') sys.path.append('/usr/lib/xen-default/lib/python') # for debian +sys.path.append('/usr/share/pyshared') # for ubuntu ### signal handler to get stack trace. Index: common/scripts/Fedora_functions =================================================================== --- common/scripts/Fedora_functions (revision 1299) +++ common/scripts/Fedora_functions (revision 1308) @@ -73,13 +73,13 @@ # setup bridge for KVM on Fedor/RHEL/CentOS flavors setup_public_bridge_for_kvm() { # Iterate through interfaces + CHANGED="F" PHY_IFACES=`get_physical_interfaces` for iface in $PHY_IFACES do index=`echo $iface | sed 's/^[^0-9]*//'` bridgeName=br$index - CHANGED="F" # create a backup file so people can restore easily NW_FILE="/etc/sysconfig/network-scripts/ifcfg-$iface" BACKUP_FILE="/etc/sysconfig/network-scripts/saved.ifcfg-${iface}.`date +"%Y%m%d.%H%M%S"`" Index: common/scripts/nw_functions =================================================================== --- common/scripts/nw_functions (revision 1299) +++ common/scripts/nw_functions (revision 1308) @@ -269,6 +269,7 @@ echo '"$dir/network-bridge" "$@" vifnum='${index}' netdev='${iface}' bridge='${bridgeName} >> ${XEN_CUSTOM_FILE} done mv ${XEN_CUSTOM_FILE} /etc/xen/scripts + chmod u+x /etc/xen/scripts/${XEN_CUSTOM_FILE} } setup_public_bridge_for_kvm() {