Skip to content

Commit 4333209

Browse files
committed
CLOUDSTACK-3495
CS used to access vnc server in xenserver dom0 to get VM console, now CS moves to use XenServer console API. getvncport plugin is not needed any more. remove the code related to getvncport in XenServer
1 parent e80fdcd commit 4333209

3 files changed

Lines changed: 5 additions & 101 deletions

File tree

plugins/hypervisors/xen/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java

Lines changed: 1 addition & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -2477,10 +2477,9 @@ protected GetVncPortAnswer execute(GetVncPortCommand cmd) {
24772477
try {
24782478
Set<VM> vms = VM.getByNameLabel(conn, cmd.getName());
24792479
if(vms.size() == 1) {
2480-
int vncport = getVncPort(conn, vms.iterator().next());
24812480
String consoleurl;
24822481
consoleurl = "consoleurl=" +getVncUrl(conn, vms.iterator().next()) + "&" +"sessionref="+ conn.getSessionReference();
2483-
return new GetVncPortAnswer(cmd, consoleurl, vncport);
2482+
return new GetVncPortAnswer(cmd, consoleurl, -1);
24842483
} else {
24852484
return new GetVncPortAnswer(cmd, "There are " + vms.size() + " VMs named " + cmd.getName());
24862485
}
@@ -3371,47 +3370,6 @@ protected ReadyAnswer execute(ReadyCommand cmd) {
33713370
return new ReadyAnswer(cmd);
33723371
}
33733372

3374-
//
3375-
// using synchronized on VM name in the caller does not prevent multiple
3376-
// commands being sent against
3377-
// the same VM, there will be a race condition here in finally clause and
3378-
// the main block if
3379-
// there are multiple requests going on
3380-
//
3381-
// Therefore, a lazy solution is to add a synchronized guard here
3382-
protected int getVncPort(Connection conn, VM vm) {
3383-
VM.Record record;
3384-
try {
3385-
record = vm.getRecord(conn);
3386-
Set<Console> consoles = record.consoles;
3387-
if (consoles.isEmpty()) {
3388-
s_logger.warn("There are no Consoles available to the vm : " + record.nameDescription);
3389-
return -1;
3390-
}
3391-
consoles.iterator();
3392-
} catch (XenAPIException e) {
3393-
String msg = "Unable to get vnc-port due to " + e.toString();
3394-
s_logger.warn(msg, e);
3395-
return -1;
3396-
} catch (XmlRpcException e) {
3397-
String msg = "Unable to get vnc-port due to " + e.getMessage();
3398-
s_logger.warn(msg, e);
3399-
return -1;
3400-
}
3401-
String hvm = "true";
3402-
if (record.HVMBootPolicy.isEmpty()) {
3403-
hvm = "false";
3404-
}
3405-
3406-
String vncport = callHostPlugin(conn, "vmops", "getvncport", "domID", record.domid.toString(), "hvm", hvm, "version", _host.product_version);
3407-
if (vncport == null || vncport.isEmpty()) {
3408-
return -1;
3409-
}
3410-
3411-
vncport = vncport.replace("\n", "");
3412-
return NumbersUtil.parseInt(vncport, -1);
3413-
}
3414-
34153373
protected String getVncUrl(Connection conn, VM vm) {
34163374
VM.Record record;
34173375
Console c;

scripts/vm/hypervisor/xenserver/vmops

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -73,34 +73,7 @@ def setup_iscsi(session, args):
7373
txt = ''
7474
return txt
7575

76-
@echo
77-
def getvncport(session, args):
78-
domid = args['domID']
79-
hvm = args['hvm']
80-
version = args['version']
81-
if hvm == 'true':
82-
path1 = "/local/domain/" + domid + "/qemu-pid"
83-
path2 = "/local/domain/" + domid + "/console/vnc-port"
84-
else:
85-
if version[:3] == '6.0' or version[:3] == '6.1' or version[:3] == '6.2':
86-
path1 = "/local/domain/" + domid + "/vncterm-pid"
87-
path2 = "/local/domain/" + domid + "/console/vnc-port"
88-
else:
89-
path1 = "/local/domain/" + domid + "/serial/0/vncterm-pid"
90-
path2 = "/local/domain/" + domid + "/serial/0/vnc-port"
91-
try:
92-
cmd = ["xenstore-read", path1]
93-
pid = util.pread2(cmd)
94-
pid = pid.strip()
95-
cmd = ["ps", pid]
96-
util.pread2(cmd)
97-
cmd = ["xenstore-read", path2]
98-
vncport = util.pread2(cmd)
99-
vncport = vncport.strip()
100-
return vncport
101-
except:
102-
return ''
103-
76+
10477
@echo
10578
def getgateway(session, args):
10679
mgmt_ip = args['mgmtIP']
@@ -1663,7 +1636,7 @@ def bumpUpPriority(session, args):
16631636

16641637
if __name__ == "__main__":
16651638
XenAPIPlugin.dispatch({"pingtest": pingtest, "setup_iscsi":setup_iscsi, "gethostvmstats": gethostvmstats,
1666-
"getvncport": getvncport, "getgateway": getgateway, "preparemigration": preparemigration,
1639+
"getgateway": getgateway, "preparemigration": preparemigration,
16671640
"setIptables": setIptables, "pingdomr": pingdomr, "pingxenserver": pingxenserver,
16681641
"savePassword": savePassword,
16691642
"saveDhcpEntry": saveDhcpEntry, "setFirewallRule": setFirewallRule, "routerProxy": routerProxy,

scripts/vm/hypervisor/xenserver/xcposs/vmops

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -61,34 +61,7 @@ def setup_iscsi(session, args):
6161
txt = ''
6262
return '> DONE <'
6363

64-
@echo
65-
def getvncport(session, args):
66-
domid = args['domID']
67-
hvm = args['hvm']
68-
version = args['version']
69-
if hvm == 'true':
70-
path1 = "/local/domain/" + domid + "/qemu-pid"
71-
path2 = "/local/domain/" + domid + "/console/vnc-port"
72-
else:
73-
if version[:3] == '6.0':
74-
path1 = "/local/domain/" + domid + "/vncterm-pid"
75-
path2 = "/local/domain/" + domid + "/console/vnc-port"
76-
else:
77-
path1 = "/local/domain/" + domid + "/serial/0/vncterm-pid"
78-
path2 = "/local/domain/" + domid + "/serial/0/vnc-port"
79-
try:
80-
cmd = ["xenstore-read", path1]
81-
pid = util.pread2(cmd)
82-
pid = pid.strip()
83-
cmd = ["ps", pid]
84-
util.pread2(cmd)
85-
cmd = ["xenstore-read", path2]
86-
vncport = util.pread2(cmd)
87-
vncport = vncport.strip()
88-
return vncport
89-
except:
90-
return ''
91-
64+
9265
@echo
9366
def getgateway(session, args):
9467
mgmt_ip = args['mgmtIP']
@@ -1498,7 +1471,7 @@ def getDomRVersion(session, args):
14981471

14991472
if __name__ == "__main__":
15001473
XenAPIPlugin.dispatch({"pingtest": pingtest, "setup_iscsi":setup_iscsi, "gethostvmstats": gethostvmstats,
1501-
"getvncport": getvncport, "getgateway": getgateway, "preparemigration": preparemigration,
1474+
"getgateway": getgateway, "preparemigration": preparemigration,
15021475
"setIptables": setIptables, "pingdomr": pingdomr, "pingxenserver": pingxenserver,
15031476
"ipassoc": ipassoc, "savePassword": savePassword,
15041477
"saveDhcpEntry": saveDhcpEntry, "setFirewallRule": setFirewallRule,

0 commit comments

Comments
 (0)