Mode: ' +
'Read-write ' +
'Read-only ' +
' ');
+
+ // Generate tooltips
+ dedicateForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
// Open dialog to add dedicated device
dedicateForm.dialog({
@@ -1585,8 +1669,29 @@ function openAddEckd2SystemDialog(hcp) {
// Create info bar
var info = createInfoBar('Dynamically add an ECKD disk to a running z/VM system.');
addE2SForm.append(info);
- addE2SForm.append('
Device number:
');
+ addE2SForm.append('
Device number:
');
+ // Generate tooltips
+ addE2SForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
+
// Open dialog to add disk
addE2SForm.dialog({
title:'Add ECKD to system',
@@ -1656,21 +1761,30 @@ function openAddPageSpoolDialog(hcp) {
diskFS.append($('
'));
diskFS.append(diskAttr);
- diskAttr.append('
Volume address:
');
- diskAttr.append('
Volume label:
');
- diskAttr.append('
Volume use: Page Spool
');
+ diskAttr.append('
Volume address:
');
+ diskAttr.append('
Volume label:
');
+ diskAttr.append('
Volume use: Page Spool
');
- var optionFS = $('
Optional ')
- addPageSpoolForm.append(optionFS);
- var optionAttr = $('
');
- optionFS.append($('
'));
- optionFS.append(optionAttr);
-
- optionAttr.append('
System config name:
');
- optionAttr.append('
System config type:
');
- optionAttr.append('
Parm disk owner:
');
- optionAttr.append('
Parm disk number:
');
- optionAttr.append('
Parm disk password:
');
+ // Generate tooltips
+ addPageSpoolForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
// Open dialog to add disk
addPageSpoolForm.dialog({
@@ -1688,11 +1802,6 @@ function openAddPageSpoolDialog(hcp) {
var volAddr = $(this).find('input[name=volAddr]').val();
var volLabel = $(this).find('input[name=volLabel]').val();
var volUse = $(this).find('select[name=volUse]').val();
- var systemConfigName = $(this).find('input[name=systemConfigName]').val();
- var systemConfigType = $(this).find('input[name=systemConfigType]').val();
- var parmDiskOwner = $(this).find('input[name=parmDiskOwner]').val();
- var parmDiskNumber = $(this).find('input[name=parmDiskNumber]').val();
- var parmDiskPass = $(this).find('input[name=parmDiskPass]').val();
// If inputs are not complete, show warning message
if (!volAddr || !volLabel || !volUse) {
@@ -1705,18 +1814,7 @@ function openAddPageSpoolDialog(hcp) {
});
var pageSpoolArgs = volAddr + ";" + volLabel + ";" + volUse + ";";
- if (systemConfigName) {
- pageSpoolArgs += systemConfigName + ";";
- } if (systemConfigType) {
- pageSpoolArgs += systemConfigType + ";";
- } if (parmDiskOwner) {
- pageSpoolArgs += parmDiskOwner + ";";
- } if (parmDiskNumber) {
- pageSpoolArgs += parmDiskNumber + ";";
- } if (parmDiskPass) {
- pageSpoolArgs += parmDiskPass + ";";
- }
-
+
$.ajax( {
url : 'lib/cmd.php',
dataType : 'json',
@@ -1754,11 +1852,11 @@ function openShareDiskDialog(disks2share) {
shareDiskForm.append(info);
var hcp = $('
Hardware control point:
');
- var hcpSelect = $('
');
+ var hcpSelect = $('
');
hcp.append(hcpSelect);
// Set region input based on those selected on table (if any)
- var volAddr = $('
Volume addresses:
');
- var shareEnable = $('
Share enable: On Off
');
+ var volAddr = $('
Volume addresses:
');
+ var shareEnable = $('
Share enable: On Off
');
shareDiskForm.append(hcp, volAddr, shareEnable);
// Create a array for hardware control points
@@ -1772,6 +1870,27 @@ function openShareDiskDialog(disks2share) {
for (var i in hcps) {
hcpSelect.append($('
' + hcps[i] + ' '));
}
+
+ // Generate tooltips
+ shareDiskForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
// Open dialog to delete disk
shareDiskForm.dialog({
@@ -1838,7 +1957,7 @@ function openAddScsi2SystemDialog(hcp) {
var info = createInfoBar('Dynamically add an SCSI disk to a running z/VM system.');
addS2SForm.append(info);
- var devNum = $('
FCP device:
');
+ var devNum = $('
FCP device:
');
var devPathLabel = $('
Device paths: ');
var devPathCount = 1;
var pathDiv = $('
');
@@ -1894,7 +2013,7 @@ function openAddScsi2SystemDialog(hcp) {
devPathBody.append(devPathRow);
- var addDevPathLink = $('
Add path ');
+ var addDevPathLink = $('
+ Add path ');
addDevPathLink.bind('click', function(event){
devPathCount = devPathCount + 1;
// Create a row
@@ -1916,17 +2035,38 @@ function openAddScsi2SystemDialog(hcp) {
devPathRow.append(fcpDevNum);
// Create FCP WWPN input
- var fcpWwpn = $('
');
+ var fcpWwpn = $('
');
devPathRow.append(fcpWwpn);
fcpWwpn.find('input').autocomplete({
source: wwpns.split(',')
});
// Create FCP LUN input
- var fcpLun = $('
');
+ var fcpLun = $('
');
devPathRow.append(fcpLun);
devPathBody.append(devPathRow);
+
+ // Generate tooltips
+ addS2SForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
});
devPathFooter.append(addDevPathLink);
devPathTable.append(devPathHeader);
@@ -1935,10 +2075,38 @@ function openAddScsi2SystemDialog(hcp) {
devPathDiv.append(devPathLabel);
devPathDiv.append(devPathTable);
- var option = $('
Option: Add a new SCSI disk Add new paths to an existing SCSI disk Delete paths from an existing SCSI disk
');
- var persist = $('
Persist: No Yes
');
+ var option = $('
Option: ' +
+ 'Add a new SCSI disk ' +
+ 'Add new paths to an existing SCSI disk ' +
+ 'Delete paths from an existing SCSI disk ' +
+ '
');
+ var persist = $('
Persist: ' +
+ 'No ' +
+ 'Yes ' +
+ '
');
addS2SForm.append(devNum, devPathDiv, option, persist);
+ // Generate tooltips
+ addS2SForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
+
addS2SForm.find('div input[title]').tooltip({
position: "center right",
offset: [-2, 10],
@@ -2021,8 +2189,32 @@ function openRemoveScsiDialog(hcp) {
// Create info bar
var info = createInfoBar('Delete a real SCSI disk');
removeScsiForm.append(info);
- removeScsiForm.append('
Device number:
');
- removeScsiForm.append('
Persist: Yes
');
+ removeScsiForm.append('
Persist: ' +
+ 'No ' +
+ 'Node:
');
- addNicForm.append('
NIC address:
');
+ addNicForm.append('
Node:
');
+ addNicForm.append('
NIC address:
');
// Create drop down for NIC types
var nicType = $('
');
nicType.append('
NIC type: ');
- var nicTypeSelect = $('
');
+ var nicTypeSelect = $('
');
nicTypeSelect.append('
'
+ '
QDIO '
+ '
HiperSockets '
@@ -2105,7 +2297,7 @@ function openAddNicDialog(node, hcp) {
// Create drop down for network types
var networkType = $('
');
networkType.append('
Network type: ');
- var networkTypeSelect = $('
');
+ var networkTypeSelect = $('
');
networkTypeSelect.append('
'
+ '
Guest LAN '
+ '
Virtual Switch '
@@ -2114,9 +2306,9 @@ function openAddNicDialog(node, hcp) {
addNicForm.append(networkType);
// Create drop down for network names
- var gLansQdioSelect = $('
');
- var gLansHipersSelect = $('
');
- var vswitchSelect = $('
');
+ var gLansQdioSelect = $('
');
+ var gLansHipersSelect = $('
');
+ var vswitchSelect = $('
');
for ( var i = 0; i < networks.length; i++) {
var network = networks[i].split(' ');
var networkOption = $('
' + network[1] + ' ' + network[2] + ' ');
@@ -2214,6 +2406,27 @@ function openAddNicDialog(node, hcp) {
}
});
+ // Generate tooltips
+ addNicForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
+
// Open dialog to add NIC
addNicForm.dialog({
title:'Add NIC',
@@ -2354,10 +2567,10 @@ function openAddVswitchVlanDialog(hcp) {
networkTypeDiv.append(networkType)
netAttr.append(networkTypeDiv);
- var hcp = $('
Hardware control point:
');
- var hcpSelect = $('
');
- hcp.append(hcpSelect);
- netAttr.append(hcp);
+ var system = $('
z/VM system:
');
+ var systemSelect = $('
');
+ system.append(systemSelect);
+ netAttr.append(system);
var typeAttr = $('
');
typeFS.append($('
'));
@@ -2365,79 +2578,108 @@ function openAddVswitchVlanDialog(hcp) {
// Create vSwitch parameters
var vswitchOptions = $('
').hide();
- vswitchOptions.append($('
Switch name:
'));
- vswitchOptions.append($('
Device address:
'));
- vswitchOptions.append($('
Port name:
'));
- vswitchOptions.append($('
Controller name:
'));
- vswitchOptions.append($('
Connection: ' +
+ vswitchOptions.append($('Switch name:
'));
+ vswitchOptions.append($('Device address:
'));
+ vswitchOptions.append($('Port name:
'));
+ vswitchOptions.append($('Controller name:
'));
+ vswitchOptions.append($('Connection: ' +
' ' +
'Unspecified ' +
'Activate real device connection ' +
'Do not activate real device connection ' +
'
'));
- vswitchOptions.append($('QDIO buffer size:
'));
- vswitchOptions.append($('Routing: ' +
+ vswitchOptions.append($('QDIO buffer size:
'));
+ vswitchOptions.append($('Routing: ' +
' ' +
'Unspecified ' +
'NONROUTER ' +
'PRIROUTER ' +
'
'));
- vswitchOptions.append($('Transport: ' +
+ vswitchOptions.append($('Transport: ' +
' ' +
'Unspecified ' +
'IP ' +
'ETHERNET ' +
'
'));
- vswitchOptions.append($('VLAN ID:
'));
- vswitchOptions.append($('Port type: ' +
+ vswitchOptions.append($('VLAN ID:
'));
+ vswitchOptions.append($('Port type: ' +
' ' +
'Unspecified ' +
'ACCESS ' +
'TRUNK ' +
'
'));
- vswitchOptions.append($('Update sysconfig: ' +
+ vswitchOptions.append($('Update sysconfig: ' +
' ' +
'Unspecified ' +
'Create virtual switch ' +
'Create virtual switch and add definition to system configuration ' +
'Add virtual switch definition to system configuration ' +
'
'));
- vswitchOptions.append($('GVRP: ' +
+ vswitchOptions.append($('GVRP: ' +
' ' +
'Unspecified ' +
'GVRP ' +
'NOGVRP ' +
'
'));
- vswitchOptions.append($('Native VLAN ID:
'));
+ vswitchOptions.append($('Native VLAN ID:
'));
// Create VLAN parameters
var vlanOptions = $('
').hide();
- vlanOptions.append($('Name:
'));
- vlanOptions.append($('Owner:
'));
- vlanOptions.append($('Type: ' +
+ vlanOptions.append($('Name:
'));
+ vlanOptions.append($('Owner:
'));
+ vlanOptions.append($('Type: ' +
'Unrestricted HiperSockets NIC ' +
'Unrestricted QDIO NIC ' +
'Restricted HiperSockets NIC ' +
'Restricted QDIO NIC ' +
'
'));
- vlanOptions.append($('Transport: ' +
+ vlanOptions.append($('Transport: ' +
'Unspecified ' +
'IP ' +
'Ethernet ' +
'
'));
typeAttr.append(vswitchOptions, vlanOptions);
-
- // 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($('' + hcps[i] + ' '));
+ // 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;
+ }
+
+ // Append options for z/VM system
+ for (var hcp in hcp2zvm) {
+ systemSelect.append($('' + hcp2zvm[hcp] + ' '));
}
networkType.change(function() {
@@ -2458,6 +2700,27 @@ function openAddVswitchVlanDialog(hcp) {
}
});
+ // Generate tooltips
+ addVswitchForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
+
// Open dialog to add vSwitch or VLAN
addVswitchForm.dialog({
title:'Add vSwitch or VLAN',
@@ -2490,38 +2753,39 @@ function openAddVswitchVlanDialog(hcp) {
var nativeVlanId = $(this).find('input[name=nativeVlanId]').val();
if (switchName)
- networkArgs += ";" + switchName;
+ networkArgs += switchName + ";";
if (deviceAddress)
- networkArgs += ";" + deviceAddress;
+ networkArgs += deviceAddress + ";";
if (portName)
- networkArgs += ";" + portName;
+ networkArgs += portName + ";";
if (controllerName)
- networkArgs += ";" + controllerName;
+ networkArgs += controllerName + ";";
if (connection)
- networkArgs += ";" + connection;
+ networkArgs += connection + ";";
if (queueMemoryLimit)
- networkArgs += ";" + queueMemoryLimit;
+ networkArgs += queueMemoryLimit + ";";
if (routingValue)
- networkArgs += ";" + routingValue;
+ networkArgs += routingValue + ";";
if (transportType)
- networkArgs += ";" + transportType;
+ networkArgs += transportType + ";";
if (vlanId)
- networkArgs += ";" + vlanId;
+ networkArgs += vlanId + ";";
if (portType)
- networkArgs += ";" + portType;
+ networkArgs += portType + ";";
if (updateSysConfig)
- networkArgs += ";" + updateSysConfig;
+ networkArgs += updateSysConfig + ";";
if (gvrp)
- networkArgs += ";" + gvrpValue;
+ networkArgs += gvrpValue + ";";
if (nativeVlanId)
- networkArgs += ";" + nativeVlanId;
+ networkArgs += nativeVlanId + ";";
+ networkArgs = networkArgs.substring(0, networkArgs.length - 1);
// Change dialog buttons
$(this).dialog('option', 'buttons', {
'Close': function() {$(this).dialog("close");}
});
- $.ajax( {
+ $.ajax({
url : 'lib/cmd.php',
dataType : 'json',
data : {
@@ -2545,16 +2809,16 @@ function openAddVswitchVlanDialog(hcp) {
var warn = createWarnBar('Please provide a value for each missing field.');
warn.prependTo($(this));
} else {
- networkArgs += ";" + vlanName;
- networkArgs += ";" + vlanOwner;
- networkArgs += ";" + vlanType;
- networkArgs += ";" + vlanTransport;
+ networkArgs += vlanName + ";";
+ networkArgs += vlanOwner + ";";
+ networkArgs += vlanType + ";";
+ networkArgs += vlanTransport;
// Change dialog buttons
$(this).dialog('option', 'buttons', {
'Close': function() {$(this).dialog("close");}
});
- $.ajax( {
+ $.ajax({
url : 'lib/cmd.php',
dataType : 'json',
data : {
@@ -2602,9 +2866,10 @@ function openRemoveVswitchVlanDialog(networkList) {
var node = networkArgs[0];
var type = networkArgs[1];
var name = jQuery.trim(networkArgs[2]);
+ var owner = networkArgs[3];
- if (type.toLowerCase() == "vswitch") {
- $.ajax( {
+ if (type.indexOf("VSWITCH") != -1) {
+ $.ajax({
url : 'lib/cmd.php',
dataType : 'json',
data : {
@@ -2612,10 +2877,26 @@ function openRemoveVswitchVlanDialog(networkList) {
tgt : node,
args : '--removevswitch;' + name,
msg : ''
+ },
+
+ success: function(data) {
+ var infoMsg;
+
+ // Create info message
+ if (jQuery.isArray(data.rsp)) {
+ infoMsg = '';
+ for (var i in data.rsp) {
+ infoMsg += data.rsp[i] + '';
+ }
+ } else {
+ infoMsg = data.rsp;
+ }
+
+ openDialog("info", infoMsg);
}
});
- } else if (type.toLowerCase() == "vlan") {
- $.ajax( {
+ } else if (type.indexOf("LAN") != -1) {
+ $.ajax({
url : 'lib/cmd.php',
dataType : 'json',
data : {
@@ -2623,6 +2904,22 @@ function openRemoveVswitchVlanDialog(networkList) {
tgt : node,
args : '--removevlan;' + name + ';' + owner,
msg : ''
+ },
+
+ success: function(data) {
+ var infoMsg;
+
+ // Create info message
+ if (jQuery.isArray(data.rsp)) {
+ infoMsg = '';
+ for (var i in data.rsp) {
+ infoMsg += data.rsp[i] + '';
+ }
+ } else {
+ infoMsg = data.rsp;
+ }
+
+ openDialog("info", infoMsg);
}
});
}
@@ -2828,7 +3125,7 @@ function getZfcpPool(data) {
var pools = data.rsp[0].split(hcp + ': ');
// Get contents of each disk pool
- for ( var i in pools) {
+ for (var i in pools) {
if (pools[i]) {
pools[i] = jQuery.trim(pools[i]);
@@ -2923,7 +3220,7 @@ function loadDiskPoolTable(data) {
// Create a datatable
var table = new DataTable(tableId);
// Resource headers: volume ID, device type, start address, and size
- table.init( [ ' ', 'zHCP', 'Pool', 'Status', 'Region', 'Device type', 'Starting address', 'Size' ]);
+ table.init( [ ' ', 'zHCP', 'Pool', 'Status', 'Volume', 'Device type', 'Starting address', 'Size' ]);
// Append datatable to panel
$('#' + panelId).append(table.object());
@@ -2946,14 +3243,14 @@ function loadDiskPoolTable(data) {
}
// Skip index 0 and 1 because it contains nothing
- for ( var i = 2; i < tmp.length; i++) {
+ for (var i = 2; i < tmp.length; i++) {
tmp[i] = jQuery.trim(tmp[i]);
var diskAttrs = tmp[i].split(' ');
dTable.fnAddData( [ ' ', hcp, pool, stat, diskAttrs[0], diskAttrs[1], diskAttrs[2], diskAttrs[3] ]);
}
// Create actions menu
- if (!$('#zvmResourceActions').length) {
+ if (!$('#zvmDiskResourceActions').length) {
// Empty filter area
$('#' + tableId + '_length').empty();
@@ -3024,7 +3321,7 @@ function loadDiskPoolTable(data) {
var advancedMenu = createMenu([addEckdLnk, addPageSpoolLnk, shareLnk]);
// Create action bar
- var actionBar = $('
').css("width", "450px");
+ var actionBar = $('
').css("width", "450px");
// Create an action menu
var actionsMenu = createMenu([addLnk, removeLnk, refreshLnk, [advancedLnk, advancedMenu]]);
@@ -3232,7 +3529,7 @@ function openRemoveDiskFromPoolDialog(disks2remove) {
var info = createInfoBar('Remove a disk from a disk pool defined in the EXTENT CONTROL.');
deleteDiskForm.append(info);
var action = $('Action:
');
- var actionSelect = $(''
+ var actionSelect = $(''
+ ' '
+ 'Remove region '
+ 'Remove region from group '
@@ -3242,12 +3539,12 @@ function openRemoveDiskFromPoolDialog(disks2remove) {
action.append(actionSelect);
var hcp = $('Hardware control point:
');
- var hcpSelect = $(' ');
+ var hcpSelect = $(' ');
hcp.append(hcpSelect);
// Set region input based on those selected on table (if any)
- var region = $('Region name:
');
- var group = $('Group name:
');
+ var region = $('Volume name:
');
+ var group = $('Group name:
');
deleteDiskForm.append(action, hcp, region, group);
// Create a array for hardware control points
@@ -3275,6 +3572,27 @@ function openRemoveDiskFromPoolDialog(disks2remove) {
group.show();
}
});
+
+ // Generate tooltips
+ deleteDiskForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
// Open dialog to delete disk
deleteDiskForm.dialog({
@@ -3344,7 +3662,7 @@ function openAddDisk2PoolDialog() {
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);
var action = $('Action:
');
- var actionSelect = $(''
+ var actionSelect = $(''
+ ' '
+ 'Define region and add to group '
+ 'Add existing region to group '
@@ -3352,12 +3670,11 @@ function openAddDisk2PoolDialog() {
action.append(actionSelect);
var hcp = $('Hardware control point:
');
- var hcpSelect = $(' ');
+ var hcpSelect = $(' ');
hcp.append(hcpSelect);
- var region = $('Region name:
');
- var volume = $('Volume name:
');
- var group = $('Group name:
');
- addDiskForm.append(action, hcp, region, volume, group);
+ var volume = $('Volume name:
');
+ var group = $('Group name:
');
+ addDiskForm.append(action, hcp, volume, group);
// Create a array for hardware control points
var hcps = new Array();
@@ -3378,6 +3695,27 @@ function openAddDisk2PoolDialog() {
volume.hide();
}
});
+
+ // Generate tooltips
+ addDiskForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
// Open dialog to add disk
addDiskForm.dialog({
@@ -3395,12 +3733,11 @@ function openAddDisk2PoolDialog() {
// Get inputs
var action = $(this).find('select[name=action]').val();
var hcp = $(this).find('select[name=hcp]').val();
- var region = $(this).find('input[name=region]').val();
var volume = $(this).find('input[name=volume]').val();
var group = $(this).find('input[name=group]').val();
// If inputs are not complete, show warning message
- if (!action || !hcp || !region || !group) {
+ if (!action || !hcp || !group) {
var warn = createWarnBar('Please provide a value for each missing field.');
warn.prependTo($(this));
} else {
@@ -3411,9 +3748,9 @@ function openAddDisk2PoolDialog() {
var args;
if (action == '4')
- args = region + ';' + volume + ';' + group;
+ args = volume + ';' + volume + ';' + group;
else
- args = region + ';' + group;
+ args = volume + ';' + group;
// Add disk to pool
$.ajax( {
@@ -3473,12 +3810,13 @@ function openRemoveZfcpFromPoolDialog(devices2remove) {
deleteDiskForm.append(info);
var hcp = $('Hardware control point:
');
- var hcpSelect = $(' ');
+ var hcpSelect = $(' ');
hcp.append(hcpSelect);
- var pool = $('zFCP pool:
');
- var unitNo = $('Unit number:
');
- deleteDiskForm.append(hcp, pool, unitNo);
+ var pool = $('zFCP pool:
');
+ var unitNo = $('Unit number:
');
+ var portName = $('Port name:
');
+ deleteDiskForm.append(hcp, pool, unitNo, portName);
// Create a array for hardware control points
var hcps = new Array();
@@ -3494,6 +3832,27 @@ function openRemoveZfcpFromPoolDialog(devices2remove) {
}
hcpSelect.val(tgtHcp);
+ // Generate tooltips
+ deleteDiskForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
+
// Open dialog to delete device
deleteDiskForm.dialog({
title:'Delete device from pool',
@@ -3509,7 +3868,8 @@ function openRemoveZfcpFromPoolDialog(devices2remove) {
var hcp = $(this).find('select[name=hcp]').val();
var pool = $(this).find('input[name=zfcpPool]').val();
- var unitNo = $(this).find('input[name=unitNo]').val();
+ var unitNo = $(this).find('input[name=zfcpUnitNo]').val();
+ var portName = $(this).find('input[name=zfcpPortName]').val();
// If inputs are not complete, show warning message
if (!hcp || !pool || !unitNo) {
@@ -3521,13 +3881,17 @@ function openRemoveZfcpFromPoolDialog(devices2remove) {
'Close': function() {$(this).dialog("close");}
});
- $.ajax( {
+ var args = '--removezfcpfrompool;' + pool + ';' + unitNo;
+ if (portName) {
+ args += ';' + portName;
+ }
+ $.ajax({
url : 'lib/cmd.php',
dataType : 'json',
data : {
cmd : 'chvm',
tgt : hcp,
- args : '--removezfcpfrompool;' + pool + ';' + unitNo,
+ args : args,
msg : dialogId
},
@@ -3553,19 +3917,19 @@ function openAddZfcp2PoolDialog() {
addDiskForm.append(info);
var hcp = $('Hardware control point:
');
- var hcpSelect = $(' ');
+ var hcpSelect = $(' ');
hcp.append(hcpSelect);
- var pool = $('zFCP pool:
');
- var status = $('Status: '
+ var pool = $('zFCP pool:
');
+ var status = $('Status: '
+ 'free '
+ 'used '
+ '
');
- var portName = $('Port name:
');
- var unitNo = $('Unit number:
');
- var size = $('Size:
');
- var range = $('Range:
');
- var owner = $('Owner:
');
+ var portName = $('Port name:
');
+ var unitNo = $('Unit number:
');
+ var size = $('Size:
');
+ var range = $('Range:
');
+ var owner = $('Owner:
');
addDiskForm.append(hcp, pool, status, portName, unitNo, size, range, owner);
// Create a array for hardware control points
@@ -3581,6 +3945,27 @@ function openAddZfcp2PoolDialog() {
hcpSelect.append($('' + hcps[i] + ' '));
}
+ // Generate tooltips
+ addDiskForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
+
// Open dialog to add disk
addDiskForm.dialog({
title:'Add device to pool',
@@ -3713,12 +4098,48 @@ function loadNetworkTable(data) {
var panelId = 'zvmNetworkResource';
$('#' + panelId).find('img[src="images/loader.gif"]').remove();
+ // 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;
+ }
+
var args = data.msg.split(';');
var hcp = args[0].replace('hcp=', '');
var type = args[1].replace('type=', '');
- var name = args[2].replace('network=', '');
- var tmp = data.rsp[0].split(hcp + ': ');
-
+ var name = jQuery.trim(args[2].replace('network=', ''));
+ tmp = data.rsp[0].split(hcp + ': ');
+
// Resource tab ID
var info = $('#' + panelId).find('.ui-state-highlight');
// If there is no info bar
@@ -3734,7 +4155,7 @@ function loadNetworkTable(data) {
// Create table
var tableId = 'zNetworkDataTable';
var table = new DataTable(tableId);
- table.init( [ ' ', 'HCP', 'Type', 'Name', 'Details' ]);
+ table.init( [ ' ', 'z/VM', 'Type', 'Name', 'Layer', 'Owner', 'Controller', 'Details' ]);
// Append datatable to tab
$('#' + panelId).append(table.object());
@@ -3770,7 +4191,28 @@ function loadNetworkTable(data) {
}
details += '';
- dTable.fnAddData([ ' ', '' + hcp + ' ', '' + type + ' ', '' + name + ' ', details ]);
+ // Determine the OSI layer
+ var layer = "3";
+ if (details.indexOf("ETHERNET") != -1) {
+ layer = "2";
+ }
+
+ // Find the vSwitch/VLAN owner
+ var regex = /(LAN|VSWITCH) (.*?)(?:\s|$)/g;
+ var owner = "";
+ var match = "";
+ owner = regex.exec(details)[2];
+
+ // Find the vSwitch controller
+ regex = /(?:^|\s)Controller: (.*?)(?:\s|$)/g;
+ var controllers = "";
+ match = "";
+ while (match = regex.exec(details)) {
+ controllers += match[1] + ",";
+ }
+ controllers = controllers.substring(0, controllers.length - 1); // Delete last two characters
+
+ dTable.fnAddData([' ', '' + hcp2zvm[hcp] + ' ', '' + type + ' ', '' + name + ' ', '' + layer + ' ', '' + owner + ' ', '' + controllers + ' ', details]);
// Create actions menu
if (!$('#networkResourceActions').length) {
@@ -3957,7 +4399,7 @@ function createZProvisionExisting(inst) {
var tmp = groupNames.split(',');
// Create drop down for groups
- var groupSelect = $(' ');
+ var groupSelect = $(' ');
groupSelect.append(' ');
for (var i in tmp) {
// Add group into drop down
@@ -3993,7 +4435,7 @@ function createZProvisionExisting(inst) {
// Create operating system image input
var os = $('
');
var osLabel = $('Operating system image: ');
- var osSelect = $(' ');
+ var osSelect = $(' ');
osSelect.append($(' '));
var imageNames = $.cookie('imagenames').split(',');
@@ -4010,7 +4452,7 @@ function createZProvisionExisting(inst) {
// Create boot method drop down
var bootMethod = $('
');
var methoddLabel = $('Boot method: ');
- var methodSelect = $(' ');
+ var methodSelect = $(' ');
methodSelect.append('boot '
+ 'install '
+ 'iscsiboot '
@@ -4022,7 +4464,7 @@ function createZProvisionExisting(inst) {
osAttr.append(bootMethod);
// Generate tooltips
- provExisting.find('div input[title]').tooltip({
+ provExisting.find('div input[title],select[title]').tooltip({
position: "center right",
offset: [-2, 10],
effect: "fade",
@@ -4255,7 +4697,7 @@ function createZProvisionNew(inst) {
// Create operating system image input
var os = $('
');
var osLabel = $('Operating system image: ');
- var osSelect = $(' ');
+ var osSelect = $(' ');
osSelect.append($(' '));
var imageNames = $.cookie('imagenames').split(',');
@@ -4333,7 +4775,7 @@ function createZProvisionNew(inst) {
});
}
});
- var userEntry = $('Directory entry:
');
+ var userEntry = $('Directory entry:
');
userEntry.append($(' ').append(defaultChkbox, 'Use default'));
hwAttr.append(userEntry);
@@ -4380,7 +4822,7 @@ function createZProvisionNew(inst) {
// Create disk type drop down
var diskType = $(' ');
- var diskTypeSelect = $(' ');
+ var diskTypeSelect = $(' ');
diskTypeSelect.append('3390 '
+ '9336 '
);
@@ -4397,7 +4839,7 @@ function createZProvisionNew(inst) {
// Create disk mode input
var diskMode = $(' ');
- var diskModeSelect = $(' ');
+ var diskModeSelect = $(' ');
diskModeSelect.append('R '
+ 'RR '
+ 'W '
@@ -4411,7 +4853,7 @@ function createZProvisionNew(inst) {
// Create disk pool drop down
var diskPool = $(' ');
- var diskPoolSelect = $(' ');
+ var diskPoolSelect = $(' ');
for (var i in definedPools) {
diskPoolSelect.append('' + definedPools[i] + ' ');
}
@@ -4419,13 +4861,13 @@ function createZProvisionNew(inst) {
diskRow.append(diskPool);
// Create disk password input
- var diskPw = $(' ');
+ var diskPw = $(' ');
diskRow.append(diskPw);
diskBody.append(diskRow);
// Generate tooltips
- diskBody.find('td input[title]').tooltip({
+ diskBody.find('td input[title],select[title]').tooltip({
position: "top right",
offset: [-4, 4],
effect: "fade",
@@ -4501,7 +4943,7 @@ function createZProvisionNew(inst) {
// Create zFCP pool drop down
var zfcpPool = $(' ');
- var zfcpPoolSelect = $(' ');
+ var zfcpPoolSelect = $(' ');
for (var i in definedPools) {
zfcpPoolSelect.append('' + definedPools[i] + ' ');
}
@@ -4521,13 +4963,13 @@ function createZProvisionNew(inst) {
zfcpRow.append(zfcpUnitNo);
// Create LOADDEV checkbox
- var zfcpLoaddev = $(' ');
+ var zfcpLoaddev = $(' ');
zfcpRow.append(zfcpLoaddev);
zfcpBody.append(zfcpRow);
// Generate tooltips
- zfcpBody.find('td input[title]').tooltip({
+ zfcpBody.find('td input[title],select[title]').tooltip({
position: "top right",
offset: [-4, 4],
effect: "fade",
@@ -4552,7 +4994,7 @@ function createZProvisionNew(inst) {
hwAttr.append(zfcpDiv);
// Generate tooltips
- provNew.find('div input[title]').tooltip({
+ provNew.find('div input[title],select[title],textarea[title]').tooltip({
position: "center right",
offset: [-2, 10],
effect: "fade",
@@ -5368,7 +5810,7 @@ function profileDialog() {
profileForm.append(info);
// Insert profiles into select
- var profileSelect = $(' ');
+ var profileSelect = $(' ');
var profiles = $.cookie('profiles').split(',');
profiles.push('default'); // Add default profile
for (var i in profiles) {
@@ -5378,10 +5820,31 @@ function profileDialog() {
}
profileForm.append($('Profile:
').append(profileSelect));
- profileForm.append('Disk pool:
');
- profileForm.append('Disk size (ECKD):
');
- profileForm.append('Directory entry:
');
-
+ profileForm.append('Disk pool:
');
+ profileForm.append('Disk size (ECKD):
');
+ profileForm.append('Directory entry:
');
+
+ // Generate tooltips
+ profileForm.find('div input[title],textarea[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
+
// Open dialog to add processor
profileForm.dialog({
title:'Configure profile',
@@ -5522,7 +5985,7 @@ function editProfileDialog(profile, pool, size, entry) {
profileForm.append(info);
// Insert profiles into select
- var profileSelect = $(' ');
+ var profileSelect = $(' ');
var profiles = $.cookie('profiles').split(',');
profiles.push('default'); // Add default profile
for (var i in profiles) {
@@ -5532,9 +5995,9 @@ function editProfileDialog(profile, pool, size, entry) {
}
profileForm.append($('Profile:
').append(profileSelect));
- profileForm.append('Disk pool:
');
- profileForm.append('Disk size (ECKD):
');
- profileForm.append('Directory entry:
');
+ profileForm.append('Disk pool:
');
+ profileForm.append('Disk size (ECKD):
');
+ profileForm.append('Directory entry:
');
// Insert profile values
profileSelect.val(profile);
@@ -5542,6 +6005,27 @@ function editProfileDialog(profile, pool, size, entry) {
profileForm.find('input[name=disk_size_eckd]').val(size);
profileForm.find('textarea[name=directory_entry]').val(entry);
+ // Generate tooltips
+ profileForm.find('div input[title],textarea[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
+
// Open dialog to add processor
profileForm.dialog({
title:'Configure profile',
diff --git a/xCAT-UI/js/nodes/nodes.js b/xCAT-UI/js/nodes/nodes.js
index 76b16a7f7..bd867788b 100644
--- a/xCAT-UI/js/nodes/nodes.js
+++ b/xCAT-UI/js/nodes/nodes.js
@@ -1856,8 +1856,12 @@ function loadScriptPage(tgtNodes) {
upload.append(label, file, subBtn);
scriptAttr.append(upload);
+ // Script
+ var script = $('Script: ');
+ scriptAttr.append(script);
+
// Generate tooltips
- scriptForm.find('div input[title]').tooltip({
+ scriptForm.find('div input[title],textarea').tooltip({
position: "center right",
offset: [-2, 10],
effect: "fade",
@@ -1871,10 +1875,6 @@ function loadScriptPage(tgtNodes) {
}
});
- // Script
- var script = $('
Script: ');
- scriptAttr.append(script);
-
// Ajax form options
var options = {
// Output to text area
@@ -2950,7 +2950,7 @@ function openSetAttrsDialog() {
$(this).remove();
},
height: 400,
- width: 700,
+ width: 800,
buttons: {
"Save": function() {
// Remove any warning messages
diff --git a/xCAT-UI/js/nodes/nodeset.js b/xCAT-UI/js/nodes/nodeset.js
index 4261b0fb5..8a2367a7b 100644
--- a/xCAT-UI/js/nodes/nodeset.js
+++ b/xCAT-UI/js/nodes/nodeset.js
@@ -72,7 +72,7 @@ function loadNodesetPage(tgtNodes) {
// Create boot method drop down
var method = $('
');
var methodLabel = $('
Boot method: ');
- var methodSelect = $('
');
+ var methodSelect = $('
');
methodSelect.append('
boot '
+ '
install '
+ '
iscsiboot '
@@ -86,7 +86,7 @@ function loadNodesetPage(tgtNodes) {
// Create boot type drop down
var type = $('
');
var typeLabel = $('
Boot type: ');
- var typeSelect = $('
');
+ var typeSelect = $('
');
typeSelect.append('
zvm '
+ '
pxe '
+ '
yaboot '
@@ -147,7 +147,7 @@ function loadNodesetPage(tgtNodes) {
imageAttr.append(profile);
// Generate tooltips
- nodesetForm.find('div input[title]').tooltip({
+ nodesetForm.find('div input[title],select').tooltip({
position: "center right",
offset: [-2, 10],
effect: "fade",
diff --git a/xCAT-UI/js/provision/images.js b/xCAT-UI/js/provision/images.js
index 636e117fd..6d4441532 100644
--- a/xCAT-UI/js/provision/images.js
+++ b/xCAT-UI/js/provision/images.js
@@ -364,17 +364,32 @@ function openAddImageDialog() {
// Create info bar
var info = createInfoBar('Provide the following attributes for the image. The image name will be generated based on the attributes you will give.');
- addImageForm.append(info);
+
+ var imageFS = $('
');
+ var imageLegend = $('
Image ');
+ imageFS.append(imageLegend);
+ var imageAttr = $('
');
+ imageFS.append($('
'));
+ imageFS.append(imageAttr);
+
+ var optionFS = $('
');
+ var optionLegend = $('
Options ');
+ optionFS.append(optionLegend);
+ var optionAttr = $('
');
+ optionFS.append($('
'));
+ optionFS.append(optionAttr);
+
+ addImageForm.append(info, imageFS, optionFS);
// Create inputs for image attributes
- var imageName = $('
Image name:
');
- var imageType = $('
Image type:
');
- var architecture = $('
OS architecture:
');
- var osName = $('
OS name:
');
- var osVersion = $('
OS version:
');
- var profile = $('
Profile:
');
+ var imageName = $('
Image name:
');
+ var imageType = $('
Image type:
');
+ var architecture = $('
OS architecture:
');
+ var osName = $('
OS name:
');
+ var osVersion = $('
OS version:
');
+ var profile = $('
Profile:
');
var provisionMethod = $('
Provision method:
');
- var provisionSelect = $('
'
+ var provisionSelect = $(''
+ ' '
+ 'install '
+ 'netboot '
@@ -383,32 +398,8 @@ function openAddImageDialog() {
provisionMethod.append(provisionSelect);
// Create inputs for optional attributes
- var exList = $('Exclusion list:
');
- var exListInput = $(' ');
- exList.append(exListInput);
- exListInput.serverBrowser({
- onSelect : function(path) {
- $('#addImage input[name="exlist"]').val(path);
- },
- onLoad : function() {
- return $('#addImage input[name="exlist"]').val();
- },
- knownPaths : [{
- text : 'Install',
- image : 'desktop.png',
- path : '/install'
- }],
- imageUrl : 'images/serverbrowser/',
- systemImageUrl : 'images/serverbrowser/',
- handlerUrl : 'lib/getpath.php',
- title : 'Browse',
- requestMethod : 'POST',
- width : '500',
- height : '300',
- basePath : '/install' // Limit user to only install directory
- });
var otherpkgDirectory = $('Other package directory:
');
- var otherpkgDirectoryInput = $(' ');
+ var otherpkgDirectoryInput = $(' ');
otherpkgDirectory.append(otherpkgDirectoryInput);
otherpkgDirectoryInput.serverBrowser({
onSelect : function(path) {
@@ -432,7 +423,7 @@ function openAddImageDialog() {
basePath : '/install' // Limit user to only install directory
});
var packageDirectory = $('Package directory:
');
- var packageDirectoryInput = $(' ');
+ var packageDirectoryInput = $(' ');
packageDirectory.append(packageDirectoryInput);
packageDirectoryInput.serverBrowser({
onSelect : function(path) {
@@ -456,7 +447,7 @@ function openAddImageDialog() {
basePath : '/install' // Limit user to only install directory
});
var packageList = $('Package list:
');
- var packageListInput = $(' ');
+ var packageListInput = $(' ');
packageList.append(packageListInput);
packageListInput.serverBrowser({
onSelect : function(path) {
@@ -479,32 +470,8 @@ function openAddImageDialog() {
height : '300',
basePath : '/install' // Limit user to only install directory
});
- var postInstall = $('Post install script:
');
- var postInstallInput = $(' ');
- postInstall.append(postInstallInput);
- postInstallInput.serverBrowser({
- onSelect : function(path) {
- $('#addImage input[name="postinstall"]').val(path);
- },
- onLoad : function() {
- return $('#addImage input[name="postinstall"]').val();
- },
- knownPaths : [{
- text : 'Install',
- image : 'desktop.png',
- path : '/install'
- }],
- imageUrl : 'images/serverbrowser/',
- systemImageUrl : 'images/serverbrowser/',
- handlerUrl : 'lib/getpath.php',
- title : 'Browse',
- requestMethod : 'POST',
- width : '500',
- height : '300',
- basePath : '/install' // Limit user to only install directory
- });
var template = $('Template:
');
- var templateInput = $(' ');
+ var templateInput = $(' ');
template.append(templateInput);
templateInput.serverBrowser({
onSelect : function(path) {
@@ -528,9 +495,30 @@ function openAddImageDialog() {
basePath : '/install' // Limit user to only install directory
});
- addImageForm.append(imageName, imageType, architecture, osName, osVersion, profile, provisionMethod,
- exList, otherpkgDirectory, packageDirectory, packageList, postInstall, template);
+ imageAttr.append(imageName, imageType, architecture, osName, osVersion, profile, provisionMethod);
+ optionAttr.append(otherpkgDirectory, packageDirectory, packageList, template);
+ // Generate tooltips
+ addImageForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
+
// Open dialog to add image
addImageForm.dialog({
title:'Add image',
@@ -538,7 +526,8 @@ function openAddImageDialog() {
close: function(){
$(this).remove();
},
- width: 400,
+ beight: 400,
+ width: 600,
buttons: {
"Ok": function(){
// Remove any warning messages
@@ -553,11 +542,9 @@ function openAddImageDialog() {
var provisionMethod = $(this).find('select[name="provmethod"]');
// Get optional image attributes
- var exList = $(this).find('input[name="exlist"]');
var otherpkgDirectory = $(this).find('input[name="otherpkgdir"]');
var pkgDirectory = $(this).find('input[name="pkgdir"]');
var pkgList = $(this).find('input[name="pkglist"]');
- var postInstall = $(this).find('input[name="postinstall"]');
var template = $(this).find('input[name="template"]');
// Check that image attributes are provided before continuing
@@ -595,16 +582,12 @@ function openAddImageDialog() {
'provmethod=' + provisionMethod.val();
// Get optional attributes
- if (exList.val())
- args += ';exlist=' + exList.val();
if (otherpkgDirectory.val())
args += ';otherpkgdir=' + otherpkgDirectory.val();
if (pkgDirectory.val())
args += ';pkgdir=' + pkgDirectory.val();
if (pkgList.val())
args += ';pkglist=' + pkgList.val();
- if (postInstall.val())
- args += ';postinstall=' + postInstall.val();
if (template.val())
args += ';template=' + template.val();
@@ -1059,8 +1042,8 @@ function openEditImagePage(tgtImage) {
// There is an element called groups that will override the defaults for the groups attribute.
// Hence, the input must have use CSS to override the float and width.
- // Split attributes into 3 per row
- if (attrIndex > 0 && !(attrIndex % 3)) {
+ // Split attributes into 2 per row
+ if (attrIndex > 0 && !(attrIndex % 2)) {
div.css('display', 'inline-block');
}
@@ -1303,15 +1286,15 @@ function openCopyCdDialog() {
// Create Linux ISO input
var iso = $('
');
var isoLabel = $(' Linux ISO/DVD: ').css('vertical-align', 'middle');
- var isoInput = $(' ').css('width', '300px');
+ var isoInput = $(' ').css('width', '300px');
iso.append(isoLabel);
iso.append(isoInput);
copyLinuxForm.append(iso);
// Create architecture input
- copyLinuxForm.append('Architecture:
');
+ copyLinuxForm.append('Architecture:
');
// Create distribution input
- copyLinuxForm.append('Distribution:
');
+ copyLinuxForm.append('Distribution:
');
/**
* Browse
@@ -1342,6 +1325,27 @@ function openCopyCdDialog() {
basePath : '/install' // Limit user to only install directory
});
+ // Generate tooltips
+ copyLinuxForm.find('div input[title],select[title]').tooltip({
+ position: "center right",
+ offset: [-2, 10],
+ effect: "fade",
+ opacity: 0.8,
+ delay: 0,
+ predelay: 800,
+ events: {
+ def: "mouseover,mouseout",
+ input: "mouseover,mouseout",
+ widget: "focus mouseover,blur mouseout",
+ tooltip: "mouseover,mouseout"
+ },
+
+ // Change z index to show tooltip in front
+ onBeforeShow: function() {
+ this.getTip().css('z-index', $.topZIndex());
+ }
+ });
+
// Open dialog to copy CD
copyLinuxForm.dialog({
title:'Copy CD',
diff --git a/xCAT-UI/js/service/service.js b/xCAT-UI/js/service/service.js
index 13da1083c..0b545debd 100644
--- a/xCAT-UI/js/service/service.js
+++ b/xCAT-UI/js/service/service.js
@@ -241,7 +241,7 @@ function loadServiceProvisionPage(tabId) {
title = 'z/VM';
// Get zVM host names
- if (!$.cookie('srv_zvm')){
+ if (!$.cookie('zvms')){
$.ajax( {
url : 'lib/srv_cmd.php',
dataType : 'json',
diff --git a/xCAT-UI/js/ui.js b/xCAT-UI/js/ui.js
index 10996f56d..f43081622 100644
--- a/xCAT-UI/js/ui.js
+++ b/xCAT-UI/js/ui.js
@@ -490,6 +490,7 @@ function initPage() {
includeJs("js/jquery/jquery.jqplot.min.js");
includeJs("js/jquery/jqplot.pieRenderer.min.js");
includeJs("js/jquery/jqplot.dateAxisRenderer.min.js");
+ includeJs("js/jquery/jquery.topzindex.min.js");
// Page plugins
includeJs("js/configure/configure.js");
@@ -586,7 +587,6 @@ function initPage() {
loadHelpPage();
} else {
// Load nodes page by default
- includeJs("js/jquery/jquery.topzindex.min.js");
includeJs("js/nodes/nodeset.js");
includeJs("js/nodes/rnetboot.js");
includeJs("js/nodes/updatenode.js");
diff --git a/xCAT-client/pods/man1/mkvm.1.pod b/xCAT-client/pods/man1/mkvm.1.pod
index b68f998c3..4b1d971cd 100644
--- a/xCAT-client/pods/man1/mkvm.1.pod
+++ b/xCAT-client/pods/man1/mkvm.1.pod
@@ -28,9 +28,9 @@ B I [B<-s>|B<--size> I] [B<--mem> I] [B<--cp
=head2 For zVM:
-B I I
+B I [I]
-B I I B I
+B I [I] [B I]
=head1 DESCRIPTION