Synched up with 2.8 branch code.

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@15136 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
phamt 2013-02-11 16:24:06 +00:00
parent a215989fb3
commit 48872e61fd
2 changed files with 192 additions and 89 deletions

View File

@ -1666,9 +1666,25 @@ function openAddEckd2SystemDialog(hcp) {
// Create form to add disk
var addE2SForm = $('<div id="' + dialogId + '" class="form"></div>');
// Obtain mapping for zHCP to zVM system
var hcp2zvm = new Object();
hcp2zvm = getHcpZvmHash();
var system = $('<div><label>z/VM system:</label></div>');
var systemSelect = $('<select name="system" title="The z/VM system name"></select>');
system.append(systemSelect);
// Append options for hardware control points
systemSelect.append($('<option value=""></option>'));
for (var hcp in hcp2zvm) {
systemSelect.append($('<option value="' + hcp2zvm[hcp] + '">' + hcp2zvm[hcp] + '</option>'));
}
// Create info bar
var info = createInfoBar('Dynamically add an ECKD disk to a running z/VM system.');
addE2SForm.append(info);
addE2SForm.append(system);
addE2SForm.append('<div><label>Device number:</label><input type="text" name="devNum" value="" maxlength="4" title="The disk device number"/></div>');
// Generate tooltips
@ -1699,17 +1715,17 @@ function openAddEckd2SystemDialog(hcp) {
close: function(){
$(this).remove();
},
width: 400,
width: 420,
buttons: {
"Ok": function(){
// Remove any warning messages
$(this).find('.ui-state-error').remove();
// Get inputs
var system = $(this).find('select[name=system]').val();
var devnum = $(this).find('input[name=devNum]').val();
// If inputs are not complete, show warning message
if (!devnum) {
if (!system || !devnum) {
var warn = createWarnBar('Please provide a value for each missing field.');
warn.prependTo($(this));
} else {
@ -1723,7 +1739,7 @@ function openAddEckd2SystemDialog(hcp) {
dataType : 'json',
data : {
cmd : 'chhypervisor',
tgt : hcp,
tgt : system,
args : "--addeckd;" + devnum,
msg : dialogId
},
@ -1747,10 +1763,22 @@ function openAddEckd2SystemDialog(hcp) {
*/
function openAddPageSpoolDialog(hcp) {
var dialogId = 'zvmAddPageSpool';
// Create form to add disk
var addPageSpoolForm = $('<div id="' + dialogId + '" class="form"></div>');
// Obtain mapping for zHCP to zVM system
var hcp2zvm = new Object();
hcp2zvm = getHcpZvmHash();
var system = $('<div><label>z/VM system:</label></div>');
var systemSelect = $('<select name="system" title="The z/VM system name"></select>');
system.append(systemSelect);
// Append options for hardware control points
for (var hcp in hcp2zvm) {
systemSelect.append($('<option value="' + hcp2zvm[hcp] + '">' + hcp2zvm[hcp] + '</option>'));
}
// Create info bar
var info = createInfoBar('Indicate a full-pack minidisk is to be shared by the users of many real and virtual systems.');
addPageSpoolForm.append(info);
@ -1761,6 +1789,7 @@ function openAddPageSpoolDialog(hcp) {
diskFS.append($('<div style="display: inline-table; vertical-align: middle;"><img src="images/provision/hdd.png"></img></div>'));
diskFS.append(diskAttr);
diskAttr.append(system);
diskAttr.append('<div><label>Volume address:</label><input type="text" name="volAddr" value="" maxlength="4" title="The real address of the volume to be used for page or spool space"/></div>');
diskAttr.append('<div><label>Volume label:</label><input type="text" name="volLabel" value="" maxlength="6" title="The name to be associated with the newly formatted volume"/></div>');
diskAttr.append('<div><label>Volume use:</label><select name="volUse" title="Specifies that the volume is to be formatted and used as a page or spool volume"><option value="PAGE">Page</option><option value="SPOOL">Spool</option></select></div>');
@ -1799,12 +1828,13 @@ function openAddPageSpoolDialog(hcp) {
// Remove any warning messages
$(this).find('.ui-state-error').remove();
var system = $(this).find('select[name=system]').val();
var volAddr = $(this).find('input[name=volAddr]').val();
var volLabel = $(this).find('input[name=volLabel]').val();
var volUse = $(this).find('select[name=volUse]').val();
// If inputs are not complete, show warning message
if (!volAddr || !volLabel || !volUse) {
if (!system || !volAddr || !volLabel || !volUse) {
var warn = createWarnBar('Please provide a value for each missing field.');
warn.prependTo($(this));
} else {
@ -1813,14 +1843,14 @@ function openAddPageSpoolDialog(hcp) {
'Close': function() {$(this).dialog("close");}
});
var pageSpoolArgs = volAddr + ";" + volLabel + ";" + volUse + ";";
var pageSpoolArgs = volAddr + ";" + volLabel + ";" + volUse;
$.ajax( {
url : 'lib/cmd.php',
dataType : 'json',
data : {
cmd : 'chvm',
tgt : hcp,
tgt : system,
args : '--addpagespool;' + pageSpoolArgs,
msg : dialogId
},
@ -1847,30 +1877,23 @@ function openShareDiskDialog(disks2share) {
var dialogId = 'zvmShareDisk';
var shareDiskForm = $('<div id="' + dialogId + '" class="form"></div>');
var args = disks2share.split(';');
var tgtHcp = args[0];
var tgtVol = args[1];
if (!tgtVol || tgtVol == "undefined")
tgtVol = "";
// Create info bar
var info = createInfoBar('Indicate a full-pack minidisk is to be shared by the users of many real and virtual systems.');
shareDiskForm.append(info);
var hcp = $('<div><label>Hardware control point:</label></div>');
var hcpSelect = $('<select name="hcp" title="The System z hardware control point (zHCP) responsible for managing the z/VM system"></select>');
hcp.append(hcpSelect);
// Set region input based on those selected on table (if any)
var volAddr = $('<div><label>Volume addresses:</label><input type="text" name="volAddr" value="' + disks2share + '" title="The real device number of the volume to be shared"/></div>');
var node = $('<div><label>Node:</label><input type="text" name="node" title="The node name"/></div>');
var volAddr = $('<div><label>Volume addresses:</label><input type="text" name="volAddr" value="' + tgtVol + '" title="The real device number of the volume to be shared"/></div>');
var shareEnable = $('<div><label>Share enable:</label><select name="shareEnable" title="Turns sharing of the specified full-pack minidisk on or off"><option value="ON">On</option><option value="OFF">Off</option></select></div>');
shareDiskForm.append(hcp, volAddr, shareEnable);
// Create a array for hardware control points
var hcps = new Array();
if ($.cookie('hcp').indexOf(',') > -1)
hcps = $.cookie('hcp').split(',');
else
hcps.push($.cookie('hcp'));
// Append options for hardware control points
for (var i in hcps) {
hcpSelect.append($('<option value="' + hcps[i] + '">' + hcps[i] + '</option>'));
}
shareDiskForm.append(node, volAddr, shareEnable);
// Generate tooltips
shareDiskForm.find('div input[title],select[title]').tooltip({
position: "center right",
@ -1906,12 +1929,12 @@ function openShareDiskDialog(disks2share) {
$(this).find('.ui-state-error').remove();
// Get inputs
var hcp = $(this).find('select[name=hcp]').val();
var node = $(this).find('input[name=node]').val();
var volAddr = $(this).find('input[name=volAddr]').val();
var shareEnable = $(this).find('select[name=shareEnable]').val();
// If inputs are not complete, show warning message
if (!volAddr || !shareEnable) {
if (!node || !volAddr || !shareEnable) {
var warn = createWarnBar('Please provide a value for each missing field.');
warn.prependTo($(this));
} else {
@ -1926,7 +1949,7 @@ function openShareDiskDialog(disks2share) {
dataType : 'json',
data : {
cmd : 'chvm',
tgt : hcp,
tgt : node,
args : "--sharevolume;" + volAddr + ";" + shareEnable,
msg : dialogId
},
@ -1953,9 +1976,23 @@ function openAddScsi2SystemDialog(hcp) {
// Create form to add disk
var addS2SForm = $('<div id="' + dialogId + '" class="form"></div>');
// Obtain mapping for zHCP to zVM system
var hcp2zvm = new Object();
hcp2zvm = getHcpZvmHash();
// Create info bar
var info = createInfoBar('Dynamically add an SCSI disk to a running z/VM system.');
addS2SForm.append(info);
var system = $('<div><label>z/VM system:</label></div>');
var systemSelect = $('<select name="system" title="The z/VM system name"></select>');
system.append(systemSelect);
// Append options for hardware control points
systemSelect.append($('<option value=""></option>'));
for (var hcp in hcp2zvm) {
systemSelect.append($('<option value="' + hcp2zvm[hcp] + '">' + hcp2zvm[hcp] + '</option>'));
}
var devNum = $('<div><label>FCP device:</label><input type="text" name="devNum" maxlength="4" title="The SCSI disk device number"/></div>');
var devPathLabel = $('<label>Device paths:</label>');
@ -2084,7 +2121,7 @@ function openAddScsi2SystemDialog(hcp) {
'<option selected value="no">No</option>' +
'<option value="yes">Yes</option>' +
'</select></div>');
addS2SForm.append(devNum, devPathDiv, option, persist);
addS2SForm.append(system, devNum, devPathDiv, option, persist);
// Generate tooltips
addS2SForm.find('div input[title],select[title]').tooltip({
@ -2134,6 +2171,7 @@ function openAddScsi2SystemDialog(hcp) {
// Remove any warning messages
$(this).find('.ui-state-error').remove();
var system = $(this).find('input[name=system]').val();
var num = $(this).find('input[name=devNum]').val();
var pathArray = "";
$('.devPath').each(function(index) {
@ -2146,7 +2184,7 @@ function openAddScsi2SystemDialog(hcp) {
var persist = $(this).find('select[name=persist]').val();
// If inputs are not complete, show warning message
if (!num || !pathArray || !option || !persist) {
if (!system || !num || !pathArray || !option || !persist) {
var warn = createWarnBar('Please provide a value for each missing field.');
warn.prependTo($(this));
} else {
@ -2160,7 +2198,7 @@ function openAddScsi2SystemDialog(hcp) {
dataType : 'json',
data : {
cmd : 'chhypervisor',
tgt : hcp,
tgt : system,
args : "--addscsi||" + num + "||" + pathArray + "||" + option + "||" + persist,
msg : dialogId
},
@ -2186,9 +2224,24 @@ function openRemoveScsiDialog(hcp) {
var dialogId = 'zvmRemoveScsiDialog';
// Create form to add disk
var removeScsiForm = $('<div id="' + dialogId + '" class="form"></div>');
// Obtain mapping for zHCP to zVM system
var hcp2zvm = new Object();
hcp2zvm = getHcpZvmHash();
var system = $('<div><label>z/VM system:</label></div>');
var systemSelect = $('<select name="system" title="The z/VM system name"></select>');
system.append(systemSelect);
// Append options for hardware control points
systemSelect.append($('<option value=""></option>'));
for (var hcp in hcp2zvm) {
systemSelect.append($('<option value="' + hcp2zvm[hcp] + '">' + hcp2zvm[hcp] + '</option>'));
}
// Create info bar
var info = createInfoBar('Delete a real SCSI disk');
removeScsiForm.append(info);
removeScsiForm.append(info, system);
removeScsiForm.append('<div><label>Device number:</label><input type="text" name="devNum" value="" maxlength="4" title="The SCSI disk device number"/></div>');
removeScsiForm.append('<div><label>Persist:</label><select name="persist" title="Specifies that the SCSI device is to be updated on the active system configuration or both the active and permanent system configurations">' +
'<option value="NO">No</option>' +
@ -2230,11 +2283,12 @@ function openRemoveScsiDialog(hcp) {
$(this).find('.ui-state-error').remove();
// Get inputs
var system = $(this).find('input[name=system]').val();
var devnum = $(this).find('input[name=devNum]').val();
var persist = $(this).find('select[name=persist]').val();
// If inputs are not complete, show warning message
if (!devnum) {
if (!system || !devnum) {
var warn = createWarnBar('Please provide a value for each missing field.');
warn.prependTo($(this));
} else {
@ -2248,7 +2302,7 @@ function openRemoveScsiDialog(hcp) {
dataType : 'json',
data : {
cmd : 'chhypervisor',
tgt : hcp,
tgt : system,
args : "--removescsi;" + devnum + ";" + persist,
msg : dialogId
},
@ -2735,7 +2789,7 @@ function openAddVswitchVlanDialog(hcp) {
$(this).find('.ui-state-error').remove();
var networkType = $(this).find('select[name=networkType]').val();
if (networkType == "vswitch"){
if (networkType == "vswitch") {
var networkArgs = "--addvswitch;";
var hcp = $(this).find('select[name=hcp]').val();
var switchName = $(this).find('input[name=switchName]').val();
@ -3198,6 +3252,10 @@ function loadDiskPoolTable(data) {
return;
}
// Obtain mapping for zHCP to zVM system
var hcp2zvm = new Object();
hcp2zvm = getHcpZvmHash();
var args = data.msg.split(';');
var hcp = args[0].replace('hcp=', '');
var pool = args[1].replace('pool=', '');
@ -3220,7 +3278,7 @@ function loadDiskPoolTable(data) {
// Create a datatable
var table = new DataTable(tableId);
// Resource headers: volume ID, device type, start address, and size
table.init( [ '<input type="checkbox" onclick="selectAllDisk(event, $(this))">', 'zHCP', 'Pool', 'Status', 'Volume', 'Device type', 'Starting address', 'Size' ]);
table.init( [ '<input type="checkbox" onclick="selectAllDisk(event, $(this))">', 'z/VM', 'Pool', 'Status', 'Volume', 'Device type', 'Starting address', 'Size' ]);
// Append datatable to panel
$('#' + panelId).append(table.object());
@ -3241,12 +3299,12 @@ function loadDiskPoolTable(data) {
});
setDiskDataTable(dTable);
}
// Skip index 0 and 1 because it contains nothing
for (var i = 2; i < tmp.length; i++) {
tmp[i] = jQuery.trim(tmp[i]);
var diskAttrs = tmp[i].split(' ');
dTable.fnAddData( [ '<input type="checkbox" name="' + diskAttrs[0] + '"/>', hcp, pool, stat, diskAttrs[0], diskAttrs[1], diskAttrs[2], diskAttrs[3] ]);
dTable.fnAddData( [ '<input type="checkbox" name="' + hcp + ";" + diskAttrs[0] + '"/>', hcp2zvm[hcp], pool, stat, diskAttrs[0], diskAttrs[1], diskAttrs[2], diskAttrs[3] ]);
}
// Create actions menu
@ -3366,6 +3424,10 @@ function loadZfcpPoolTable(data) {
return;
}
// Obtain mapping for zHCP to zVM system
var hcp2zvm = new Object();
hcp2zvm = getHcpZvmHash();
var args, hcp, pool, tmp;
args = data.msg.split(';');
hcp = args[0].replace('hcp=', '');
@ -3387,7 +3449,7 @@ function loadZfcpPoolTable(data) {
// Create a datatable
var table = new DataTable(tableId);
// Resource headers: status, WWPN, LUN, size, owner, channel, tag
table.init( [ '<input type="checkbox" onclick="selectAllDisk(event, $(this))">', 'zHCP', 'Pool', 'Status', 'Port name', 'Unit number', 'Size', 'Range', 'Owner', 'Channel', 'Tag' ]);
table.init( [ '<input type="checkbox" onclick="selectAllDisk(event, $(this))">', 'z/VM', 'Pool', 'Status', 'Port name', 'Unit number', 'Size', 'Range', 'Owner', 'Channel', 'Tag' ]);
// Append datatable to panel
$('#' + panelId).append(table.object());
@ -3416,7 +3478,7 @@ function loadZfcpPoolTable(data) {
tmp[i] = jQuery.trim(tmp[i]);
var diskAttrs = tmp[i].split(',');
var key = hcp + '-' + pool + '-' + diskAttrs[2];
dTable.fnAddData( [ '<input type="checkbox" name="' + key + '"/>', hcp, pool, diskAttrs[0], diskAttrs[1], diskAttrs[2], diskAttrs[3], diskAttrs[4], diskAttrs[5], diskAttrs[6], diskAttrs[7] ]);
dTable.fnAddData( [ '<input type="checkbox" name="' + key + '"/>', hcp2zvm[hcp], pool, diskAttrs[0], diskAttrs[1], diskAttrs[2], diskAttrs[3], diskAttrs[4], diskAttrs[5], diskAttrs[6], diskAttrs[7] ]);
}
}
@ -3525,6 +3587,14 @@ function openRemoveDiskFromPoolDialog(disks2remove) {
var dialogId = 'zvmDeleteDiskFromPool';
var deleteDiskForm = $('<div id="' + dialogId + '" class="form"></div>');
// Obtain mapping for zHCP to zVM system
var hcp2zvm = new Object();
hcp2zvm = getHcpZvmHash();
var args = disks2remove.split(';');
var tgtHcp = args[0];
var tgtVol = args[1];
// Create info bar
var info = createInfoBar('Remove a disk from a disk pool defined in the EXTENT CONTROL.');
deleteDiskForm.append(info);
@ -3538,26 +3608,21 @@ function openRemoveDiskFromPoolDialog(disks2remove) {
+ '</select>');
action.append(actionSelect);
var hcp = $('<div><label>Hardware control point:</label></div>');
var hcpSelect = $('<select name="hcp" title="The System z hardware control point (zHCP) responsible for managing the z/VM system"></select>');
var hcp = $('<div><label>z/VM system:</label></div>');
var hcpSelect = $('<select name="hcp" title="The z/VM system name"></select>');
hcp.append(hcpSelect);
// Set region input based on those selected on table (if any)
var region = $('<div><label>Volume name:</label><input type="text" name="region" value="' + disks2remove + '" title="The DASD volume label"/></div>');
var region = $('<div><label>Volume name:</label><input type="text" name="region" value="' + tgtVol + '" title="The DASD volume label"/></div>');
var group = $('<div><label>Group name:</label><input type="text" name="group" title="The name of the group from which the volume will be removed"/></div>');
deleteDiskForm.append(action, hcp, region, group);
// Create a array for hardware control points
var hcps = new Array();
if ($.cookie('hcp').indexOf(',') > -1)
hcps = $.cookie('hcp').split(',');
else
hcps.push($.cookie('hcp'));
// Append options for hardware control points
for (var i in hcps) {
hcpSelect.append($('<option value="' + hcps[i] + '">' + hcps[i] + '</option>'));
hcpSelect.append($('<option value=""></option>'));
for (var hcp in hcp2zvm) {
hcpSelect.append($('<option value="' + hcp + '">' + hcp2zvm[hcp] + '</option>'));
}
hcpSelect.val(tgtHcp);
actionSelect.change(function() {
if ($(this).val() == '1' || $(this).val() == '3') {
@ -3658,6 +3723,11 @@ function openAddDisk2PoolDialog() {
// Create form to add disk to pool
var dialogId = 'zvmAddDisk2Pool';
var addDiskForm = $('<div id="' + dialogId + '" class="form"></div>');
// Obtain mapping for zHCP to zVM system
var hcp2zvm = new Object();
hcp2zvm = getHcpZvmHash();
// Create info bar
var info = createInfoBar('Add a disk to a disk pool defined in the EXTENT CONTROL. The disk has to already be attached to SYSTEM.');
addDiskForm.append(info);
@ -3669,23 +3739,17 @@ function openAddDisk2PoolDialog() {
+ '</select>');
action.append(actionSelect);
var hcp = $('<div><label>Hardware control point:</label></div>');
var hcpSelect = $('<select name="hcp" title="The System z hardware control point (zHCP) responsible for managing the z/VM system"></select>');
var hcp = $('<div><label>z/VM system:</label></div>');
var hcpSelect = $('<select name="hcp" title="The z/VM system name"></select>');
hcp.append(hcpSelect);
var volume = $('<div><label>Volume name:</label><input type="text" name="volume" title="The DASD volume label"/></div>');
var group = $('<div><label>Group name:</label><input type="text" name="group" title="The name of the group to which the volume is assigned"/></div>');
addDiskForm.append(action, hcp, volume, group);
// Create a array for hardware control points
var hcps = new Array();
if ($.cookie('hcp').indexOf(',') > -1)
hcps = $.cookie('hcp').split(',');
else
hcps.push($.cookie('hcp'));
// Append options for hardware control points
for (var i in hcps) {
hcpSelect.append($('<option value="' + hcps[i] + '">' + hcps[i] + '</option>'));
hcpSelect.append($('<option value=""></option>'));
for (var hcp in hcp2zvm) {
hcpSelect.append($('<option value="' + hcp + '">' + hcp2zvm[hcp] + '</option>'));
}
actionSelect.change(function() {
@ -3784,6 +3848,10 @@ function openRemoveZfcpFromPoolDialog(devices2remove) {
var dialogId = 'zvmDeleteZfcpFromPool';
var deleteDiskForm = $('<div id="' + dialogId + '" class="form"></div>');
// Obtain mapping for zHCP to zVM system
var hcp2zvm = new Object();
hcp2zvm = getHcpZvmHash();
// Verify disks are in the same zFCP pool
var devices = devices2remove.split(',');
var tmp, tgtPool, tgtHcp;
@ -3809,8 +3877,8 @@ function openRemoveZfcpFromPoolDialog(devices2remove) {
var info = createInfoBar('Remove a zFCP device that is defined in a zFCP pool.');
deleteDiskForm.append(info);
var hcp = $('<div><label>Hardware control point:</label></div>');
var hcpSelect = $('<select name="hcp" title="The System z hardware control point (zHCP) responsible for managing the z/VM system"></select>');
var hcp = $('<div><label>z/VM system:</label></div>');
var hcpSelect = $('<select name="hcp" title="The z/VM system name"></select>');
hcp.append(hcpSelect);
var pool = $('<div><label>zFCP pool:</label><input type="text" name="zfcpPool" value="' + tgtPool + '" title="The pool where the disk resides"/></div>');
@ -3818,17 +3886,10 @@ function openRemoveZfcpFromPoolDialog(devices2remove) {
var portName = $('<div><label>Port name:</label><input type="text" name="zfcpPortName" title="Optional. The hexadecimal digits designating the 8-byte fibre channel port name of the FCP-I/O device"/></div>');
deleteDiskForm.append(hcp, pool, unitNo, portName);
// Create a array for hardware control points
var hcps = new Array();
if ($.cookie('hcp').indexOf(',') > -1) {
hcps = $.cookie('hcp').split(',');
} else {
hcps.push($.cookie('hcp'));
}
// Append options for hardware control points
for (var i in hcps) {
hcpSelect.append($('<option value="' + hcps[i] + '">' + hcps[i] + '</option>'));
hcpSelect.append($('<option value=""></option>'));
for (var hcp in hcp2zvm) {
hcpSelect.append($('<option value="' + hcp + '">' + hcp2zvm[hcp] + '</option>'));
}
hcpSelect.val(tgtHcp);
@ -3916,8 +3977,12 @@ function openAddZfcp2PoolDialog() {
var info = createInfoBar('Add a device to a zFCP pool defined in xCAT.');
addDiskForm.append(info);
var hcp = $('<div><label>Hardware control point:</label></div>');
var hcpSelect = $('<select name="hcp" title="The System z hardware control point (zHCP) responsible for managing the z/VM system"></select>');
// Obtain mapping for zHCP to zVM system
var hcp2zvm = new Object();
hcp2zvm = getHcpZvmHash();
var hcp = $('<div><label>z/VM system:</label></div>');
var hcpSelect = $('<select name="hcp" title="The z/VM system name"></select>');
hcp.append(hcpSelect);
var pool = $('<div><label>zFCP pool:</label><input type="text" name="zfcpPool" title="The pool where the disk is to be assigned"/></div>');
@ -3933,16 +3998,10 @@ function openAddZfcp2PoolDialog() {
addDiskForm.append(hcp, pool, status, portName, unitNo, size, range, owner);
// Create a array for hardware control points
var hcps = new Array();
if ($.cookie('hcp').indexOf(',') > -1) {
hcps = $.cookie('hcp').split(',');
} else {
hcps.push($.cookie('hcp'));
}
hcpSelect.append($('<option value=""></option>'));
for (var i in hcps) {
hcpSelect.append($('<option value="' + hcps[i] + '">' + hcps[i] + '</option>'));
hcpSelect.append($('<option value=""></option>'));
// Append options for hardware control points
for (var hcp in hcp2zvm) {
hcpSelect.append($('<option value="' + hcp + '">' + hcp2zvm[hcp] + '</option>'));
}
// Generate tooltips
@ -6094,4 +6153,49 @@ function editProfileDialog(profile, pool, size, entry) {
}
}
});
}
/**
* Get a hash map containing the zHCP to z/VM system mapping
*
* @returns Hash map containing the zHCP to z/VM system mapping
*/
function getHcpZvmHash() {
// Get zVM host names
if (!$.cookie('zvms')) {
$.ajax({
url : 'lib/cmd.php',
dataType : 'json',
async: false,
data : {
cmd : 'webportal',
tgt : '',
args : 'lszvm',
msg : ''
},
success : function(data) {
setzVMCookies(data);
}
});
}
var zvms = $.cookie('zvms').split(',');
var hcp2zvm = new Object();
var args, zvm, iHcp, tmp;
for (var i in zvms) {
args = zvms[i].split(':');
zvm = args[0].toLowerCase();
if (args[1].indexOf('.') != -1) {
tmp = args[1].split('.');
iHcp = tmp[0];
} else {
iHcp = args[1];
}
hcp2zvm[iHcp] = zvm;
}
return hcp2zvm;
}

View File

@ -6183,7 +6183,6 @@ sub changeHypervisor {
# Update file with given WWPN, LUN, size, and owner
my $entry = "'" . "$status,$wwpn,$lun,$size,$range,$owner,," . "'";
$out = `ssh $::SUDOER\@$hcp "$::SUDO echo $entry >> $::ZFCPPOOL/$pool.conf"`;
xCAT::zvmUtils->printLn( $callback, "ssh $::SUDOER\@$hcp \"$::SUDO echo \"$status,$wwpn,$lun,$size,$range,$owner,,\" >> $::ZFCPPOOL/$pool.conf");
xCAT::zvmUtils->printLn( $callback, "$node: Adding zFCP device to $pool pool... Done" );
$out = "";
}