Skip to content

Commit

Permalink
Merge "User entered value for device owner." into R2.20
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed May 8, 2015
2 parents 861d4fb + e3172ff commit db43285
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
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
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
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 db43285

Please sign in to comment.