Skip to content

Commit

Permalink
User entered value for device owner.
Browse files Browse the repository at this point in the history
user can enter the uuid and set the device owner.

Closes-Bug: #1409702

Please enter the commit message for your changes. Lines starting

Change-Id: I30c57d78e87c9c4de63169d48073d6d190b8926a
  • Loading branch information
balamurugang committed May 7, 2015
1 parent ac9b4d8 commit e3172ff
Show file tree
Hide file tree
Showing 3 changed files with 79 additions and 44 deletions.
47 changes: 23 additions & 24 deletions webroot/config/ports/api/portsconfig.api.js
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ function VMIJSONStructureSubInterface(vmiSubInterfaceDetail, currentVMIDetail){
primaryInterfaceObject['virtual-machine-interface']['virtual_machine_interface_refs'] = [];
}
primaryInterfaceObject['virtual-machine-interface']['virtual_machine_interface_refs'][vmirefIndex] = {};
primaryInterfaceObject['virtual-machine-interface']['virtual_machine_interface_refs'][vmirefIndex]["uuid"] = currentVMIDetail['virtual-machine-interface']["uuid"];
primaryInterfaceObject['virtual-machine-interface']['virtual_machine_interface_refs'][vmirefIndex]["uuid"] = currentVMIDetail['virtual-machine-interface']["uuid"];
primaryInterfaceObject['virtual-machine-interface']['virtual_machine_interface_refs'][vmirefIndex]["to"] = currentVMIDetail['virtual-machine-interface']["fq_name"]
return primaryInterfaceObject;
}
Expand Down Expand Up @@ -638,7 +638,7 @@ function portSendResponse (error, req, portConfig, orginalPortData, apiLogicalRo
body = {};
body.portID = portConfig["virtual-machine-interface"]["uuid"];
//body.netID = portConfig["virtual-machine-interface"]["virtual_network_refs"][0]["uuid"];
body.vmUUID = orginalPortData["virtual-machine-interface"]["virtual_machine_refs"][0]["to"][0];
body.vmUUID = orginalPortData["virtual-machine-interface"]["virtual_machine_refs"][0]["uuid"];
attachVMICompute(req, body, function (novaError, results){
updateAvailableDataforCreate(DataObjectArr, portConfig, staticIpPoolRefLen, fixedIpPoolRefLen, appData, function(error, result){
if(novaError != null){
Expand Down Expand Up @@ -1059,18 +1059,18 @@ function processDataObjects (error, DataObjectArr, DataObjectDelArr, DataSRObjec
});
});
} else if (boolDeviceOwnerChange == true) {
deviceOwnerChange(error, [], DataObjectArr, DataObjectLenDetail, portPutData, vmiData, request, appData, function(novaError, data, DataObjectArr){
deviceOwnerChange(error, [], DataObjectArr, DataObjectLenDetail, portPutData, vmiData, request, appData, function(error, data, DataObjectArr){
if (novaError != null) {
deleteAllReference(DataObjectDelArr, DataSRObjectArr, portPutURL, portPutData, boolDeviceOwnerChange, appData, function(error, results){
if (novaError != null) {
if (error != null) {
error.messages += "<br>" + novaError.messages;
} else {
error = novaError;
}
}
callback(error, data);
return;
deleteAllReference(DataObjectDelArr, DataSRObjectArr, portPutURL, portPutData, boolDeviceOwnerChange, appData, function(error, results){
if (novaError != null) {
if (error != null) {
error.messages += "<br>" + novaError.messages;
} else {
error = novaError;
}
}
callback(error, data);
return;
});
} else {
if (DataObjectArr != null && DataObjectArr.length > 0) {
Expand Down Expand Up @@ -1386,7 +1386,7 @@ function deviceOwnerChange(error, result, DataObjectArr, DataObjectLenDetail, po
var body = {};
body.portID = vmiData["virtual-machine-interface"]["uuid"];
//body.netID = vmiData["virtual-machine-interface"]["virtual_network_refs"][0]["uuid"];
body.vmUUID = vmiData["virtual-machine-interface"]["virtual_machine_refs"][0]["to"][0];
body.vmUUID = vmiData["virtual-machine-interface"]["virtual_machine_refs"][0]["uuid"];
detachVMICompute(request, body, function(error, results){
if (error) {
callback(error, result, DataObjectArr)
Expand All @@ -1397,7 +1397,7 @@ function deviceOwnerChange(error, result, DataObjectArr, DataObjectLenDetail, po
body = {};
body.portID = portPutData["virtual-machine-interface"]["uuid"];
//body.netID = portPutData["virtual-machine-interface"]["virtual_network_refs"][0]["uuid"];
body.vmUUID = portPutData["virtual-machine-interface"]["virtual_machine_refs"][0]["to"][0];
body.vmUUID = portPutData["virtual-machine-interface"]["virtual_machine_refs"][0]["uuid"];
attachVMICompute(request, body, function(error, results){
if ('virtual_machine_refs' in portPutData['virtual-machine-interface']){
delete portPutData['virtual-machine-interface']['virtual_machine_refs'];
Expand All @@ -1424,11 +1424,11 @@ function deviceOwnerChange(error, result, DataObjectArr, DataObjectLenDetail, po
callback(error, result, DataObjectArr);
return;
}
} else {
//No attach/edit
callback(error, result, DataObjectArr);
return;
}
} else {
//No attach/edit
callback(error, result, DataObjectArr);
return;
}
});
} else {
Expand Down Expand Up @@ -1491,7 +1491,7 @@ function deviceOwnerChange(error, result, DataObjectArr, DataObjectLenDetail, po
body = {};
body.portID = portPutData["virtual-machine-interface"]["uuid"];
//body.netID = portPutData["virtual-machine-interface"]["virtual_network_refs"][0]["uuid"];
body.vmUUID = portPutData["virtual-machine-interface"]["virtual_machine_refs"][0]["to"][0];
body.vmUUID = portPutData["virtual-machine-interface"]["virtual_machine_refs"][0]["uuid"];
attachVMICompute(request, body, function(error, results){
if ('virtual_machine_refs' in portPutData['virtual-machine-interface']){
delete portPutData['virtual-machine-interface']['virtual_machine_refs'];
Expand Down Expand Up @@ -1554,7 +1554,7 @@ function deviceOwnerChange(error, result, DataObjectArr, DataObjectLenDetail, po
body = {};
body.portID = portPutData["virtual-machine-interface"]["uuid"];
//body.netID = portPutData["virtual-machine-interface"]["virtual_network_refs"][0]["uuid"];
body.vmUUID = portPutData["virtual-machine-interface"]["virtual_machine_refs"][0]["to"][0];
body.vmUUID = portPutData["virtual-machine-interface"]["virtual_machine_refs"][0]["uuid"];
attachVMICompute(request, body, function(error, results){
if ('virtual_machine_refs' in portPutData['virtual-machine-interface']){
delete portPutData['virtual-machine-interface']['virtual_machine_refs'];
Expand Down Expand Up @@ -1751,7 +1751,7 @@ function filterVMISubInterface(error, portPutData, vmiData, callback)
}


function filterUpdateFloatingIP(error, portPutData, vmiData, callback)
function filterUpdateFloatingIP(error, portPutData, vmiData, callback)
{
var i = 0;
var postCopyData = [];
Expand Down Expand Up @@ -1997,7 +1997,7 @@ function deletePortAsync (dataObj, callback)
var body = {};
body.portID = vmiData["virtual-machine-interface"]["uuid"];
//body.netID = vmiData["virtual-machine-interface"]["virtual_network_refs"][0]["uuid"];
body.vmUUID = vmiData["virtual-machine-interface"]["virtual_machine_refs"][0]["to"][0];
body.vmUUID = vmiData["virtual-machine-interface"]["virtual_machine_refs"][0]["uuid"];
detachVMICompute(request, body, function(error, results){
if (error) {
callback(error, results)
Expand Down Expand Up @@ -2881,4 +2881,3 @@ exports.deletePortsCB = deletePortsCB;
exports.getVMIAndInstIPDetails = getVMIAndInstIPDetails;
exports.getVMIDetails = getVMIDetails;
exports.deleteAllPorts = deleteAllPorts;

73 changes: 54 additions & 19 deletions webroot/config/ports/ui/js/ports_config.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ function portsConfigObj() {
//Dropdowns
var ddDomain, ddProject;
var ddVN,ddVNState,ddDeviceOwnerName,ddDeviceOwnerUUID,
ddDeviceOwnerUUIDRouter,
ddSubInterfaceParent;//,ddAAP,ddTenentID;

//Comboboxes
Expand Down Expand Up @@ -315,7 +316,11 @@ function initComponents() {
change:updateDevice
});

ddDeviceOwnerUUID = $("#ddDeviceOwnerUUID").contrailDropdown({
ddDeviceOwnerUUID = $("#ddDeviceOwnerUUID").contrailCombobox({
dataTextField:"text",
dataValueField:"value"
});
ddDeviceOwnerUUIDRouter = $("#ddDeviceOwnerUUIDRouter").contrailDropdown({
dataTextField:"text",
dataValueField:"value"
});
Expand Down Expand Up @@ -522,19 +527,24 @@ function initActions() {
if(deviceName == "None"){
portConfig["virtual-machine-interface"]["virtual_machine_interface_device_owner"] = "";
} else if(deviceName == "router"){
var deviceDetail = JSON.parse($("#ddDeviceOwnerUUID").data("contrailDropdown").value());
var deviceDetail = JSON.parse($("#ddDeviceOwnerUUIDRouter").data("contrailDropdown").value());
portConfig["virtual-machine-interface"]["virtual_machine_interface_device_owner"] = "network:router_interface";
portConfig["virtual-machine-interface"]["logical_router_back_refs"] = [];
portConfig["virtual-machine-interface"]["logical_router_back_refs"][0] = {};
portConfig["virtual-machine-interface"]["logical_router_back_refs"][0]["to"] = deviceDetail[0]["to"];
portConfig["virtual-machine-interface"]["logical_router_back_refs"][0]["uuid"] = deviceDetail[0]["uuid"];
} else if(deviceName == "compute"){
var deviceDetail = JSON.parse($("#ddDeviceOwnerUUID").data("contrailDropdown").value());
portConfig["virtual-machine-interface"]["virtual_machine_interface_device_owner"] = "compute:nova";
portConfig["virtual-machine-interface"]["virtual_machine_refs"] = [];
portConfig["virtual-machine-interface"]["virtual_machine_refs"][0] = {};
portConfig["virtual-machine-interface"]["virtual_machine_refs"][0]["to"] = deviceDetail[0]["to"];
portConfig["virtual-machine-interface"]["virtual_machine_refs"][0]["uuid"] = deviceDetail[0]["uuid"];
var deviceuuidval = $("#ddDeviceOwnerUUID").data("contrailCombobox").value();
if(IsJsonString(deviceuuidval)){
var deviceDetail = JSON.parse(deviceuuidval);
portConfig["virtual-machine-interface"]["virtual_machine_refs"][0]["uuid"] = deviceDetail[0]["uuid"];
portConfig["virtual-machine-interface"]["virtual_machine_refs"][0]["to"] = deviceDetail[0]["to"];
} else {
portConfig["virtual-machine-interface"]["virtual_machine_refs"][0]["uuid"] = deviceuuidval;
}

}

Expand Down Expand Up @@ -1531,21 +1541,26 @@ function updateDevice(e){
//update
//ddDeviceOwnerUUID
var selectedDeviceValue = $("#ddDeviceOwnerName").data("contrailDropdown").value();
$("#ddDeviceOwnerUUID").data("contrailDropdown").setData([]);
$("#ddDeviceOwnerUUID").data("contrailCombobox").setData([]);
$("#ddDeviceOwnerUUIDRouter").data("contrailDropdown").setData([]);
$("#divDeviceOwnerUUID").addClass("hide");
$("#divDeviceOwnerUUIDRouter").addClass("hide");
if(selectedDeviceValue != "None"){
if(selectedDeviceValue == "router"){
$("#ddDeviceOwnerUUID").data("contrailDropdown").setData(routerUUID);
$("#divDeviceOwnerUUIDRouter").removeClass("hide");
$("#ddDeviceOwnerUUIDRouter").data("contrailDropdown").setData(routerUUID);
if(routerUUID.length > 0){
$("#ddDeviceOwnerUUID").data("contrailDropdown").value(routerUUID[0].value);
$("#ddDeviceOwnerUUIDRouter").data("contrailDropdown").value(routerUUID[0].value);
} else {
$("#ddDeviceOwnerUUID").data("contrailDropdown").value([]);
$("#ddDeviceOwnerUUIDRouter").data("contrailDropdown").value([]);
}
} else if(selectedDeviceValue == "compute"){
$("#ddDeviceOwnerUUID").data("contrailDropdown").setData(computeUUID);
$("#divDeviceOwnerUUID").removeClass("hide");
$("#ddDeviceOwnerUUID").data("contrailCombobox").setData(computeUUID);
if(computeUUID.length > 0){
$("#ddDeviceOwnerUUID").data("contrailDropdown").value(computeUUID[0].value);
$("#ddDeviceOwnerUUID").data("contrailCombobox").value(computeUUID[0].value);
} else {
$("#ddDeviceOwnerUUID").data("contrailDropdown").value([]);
$("#ddDeviceOwnerUUID").data("contrailCombobox").value([]);
}
}
}
Expand Down Expand Up @@ -1607,6 +1622,7 @@ function clearValuesFromDomElements() {
$(".subInterface").addClass("hide");
$("#ddDeviceOwnerName").removeAttr("disabled","disabled");
$("#ddDeviceOwnerUUID").removeAttr("disabled","disabled");
$("#ddDeviceOwnerUUIDRouter").removeAttr("disabled","disabled");
updateDevice();

}
Expand Down Expand Up @@ -1878,7 +1894,7 @@ function showPortEditWindow(mode, rowIndex) {
var vmArrayLen = vmArray.length;
for(var j=0;j < vmArrayLen;j++){
var vm = vmArray[j]["virtual-machine"];
var text = vm["fq_name"][0];
var text = vm["uuid"];
var valArr = [];
valArr.push({"to":vm["fq_name"], "uuid":vm["uuid"]});
computeUUID.push({"text":text,"value":JSON.stringify(valArr)});
Expand Down Expand Up @@ -1951,14 +1967,13 @@ function showPortEditWindow(mode, rowIndex) {
$(".subInterface").addClass("hide");
$("#is_subInterface").attr("disabled","disabled");
$("#ddDeviceOwnerName").data("contrailDropdown").value("None");
$("#ddDeviceOwnerUUID").data("contrailDropdown").setData([]);
$("#ddDeviceOwnerUUIDRouter").data("contrailDropdown").setData([]);
$("#ddDeviceOwnerName").attr("disabled","disabled");
$("#ddDeviceOwnerUUID").attr("disabled","disabled");
}
if(!isVCenter()) {
$("#ddDeviceOwnerName").data("contrailDropdown").value(mapedData.deviceOwnerValue);
updateDevice();
$("#ddDeviceOwnerUUID").data("contrailDropdown").value(mapedData.deviceOwnerUUIDValue);
$("#ddDeviceOwnerUUID").data("contrailCombobox").value(mapedData.deviceOwnerUUIDValue);
}
if(mapedData.sgMSValues.length > 0){
$("#is_SG")[0].checked = true;
Expand Down Expand Up @@ -2092,8 +2107,13 @@ function validate() {
return false;
}

var deviceUUID = $("#ddDeviceOwnerUUID").data("contrailDropdown").value();
if(deviceName != "None" && ("" == deviceUUID || null == deviceUUID || typeof deviceUUID == "undefined")){
var deviceUUID = $("#ddDeviceOwnerUUID").data("contrailCombobox").text();
if(deviceName == "compute" && ("" == deviceUUID || null == deviceUUID || typeof deviceUUID == "undefined")){
showInfoWindow("Device Owner UUID cannot be empty.", "Invalid Input");
return false
}
var deviceUUIDRouter = $("#ddDeviceOwnerUUIDRouter").data("contrailDropdown").value();
if(deviceName == "router" && ("" == deviceUUIDRouter || null == deviceUUIDRouter || typeof deviceUUIDRouter == "undefined")){
showInfoWindow("Device Owner UUID cannot be empty.", "Invalid Input");
return false
}
Expand Down Expand Up @@ -2736,6 +2756,15 @@ Handlebars.registerHelper("formatAAP",function(AllowedAddressPairValue,options)
return returnHtml;
});

function IsJsonString(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}

function destroy() {
ddDomain = $("#ddDomainSwitcher").data("contrailDropdown");
if(isSet(ddDomain)) {
Expand Down Expand Up @@ -2777,11 +2806,17 @@ function destroy() {
ddDeviceOwnerName.destroy();
ddDeviceOwnerName = $();
}
ddDeviceOwnerUUID = $("#ddDeviceOwnerUUID").data("contrailDropdown");
ddDeviceOwnerUUID = $("#ddDeviceOwnerUUID").data("contrailCombobox");
if(isSet(ddDeviceOwnerUUID)) {
ddDeviceOwnerUUID.destroy();
ddDeviceOwnerUUID = $();
}
ddDeviceOwnerUUIDRouter = $("#contrailDropdown").data("contrailCombobox");
if(isSet(ddDeviceOwnerUUIDRouter)) {
ddDeviceOwnerUUIDRouter.destroy();
ddDeviceOwnerUUIDRouter = $();
}

}

/*ddTenentID = $("#ddTenentID").data("contrailDropdown");
Expand Down
3 changes: 2 additions & 1 deletion webroot/config/ports/ui/views/ports_config.view
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,8 @@
<div id="ddDeviceOwnerName" class="span12"></div>
</div>
<div class="span5">
<div id="ddDeviceOwnerUUID" class="span12""></div>
<div id="divDeviceOwnerUUID" class="hide"><div id="ddDeviceOwnerUUID" class="span12"></div></div>
<div id="divDeviceOwnerUUIDRouter" class="hide"><div id="ddDeviceOwnerUUIDRouter" class="span12" ></div></div>
</div>
</div>
</div>
Expand Down

0 comments on commit e3172ff

Please sign in to comment.