Updated trunk with code from 2.8

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@15133 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
phamt 2013-02-11 00:27:58 +00:00
parent 11c5f32f0e
commit a215989fb3
10 changed files with 955 additions and 333 deletions

View File

@ -60,7 +60,7 @@ function loadServicePage(tabId) {
title = 'z/VM';
// Get zVM host names
if (!$.cookie('srv_zvm')){
if (!$.cookie('zvms')){
$.ajax( {
url : 'lib/srv_cmd.php',
dataType : 'json',
@ -349,24 +349,45 @@ function imageDialog() {
var info = createInfoBar('Provide the following attributes for the image. The image name will be generated based on the attributes you will give.');
imageForm.append(info);
var imageName = $('<div><label>Image name:</label><input type="text" name="imagename" disabled="disabled"/></div>');
var selectable = $('<div><label>Selectable:</label><input type="checkbox" name="selectable"/></div>');
var imageType = $('<div><label>Image type:</label><input type="text" name="imagetype" value="linux"/></div>');
var architecture = $('<div><label>OS architecture:</label><input type="text" name="osarch"/></div>');
var osName = $('<div><label>OS name:</label><input type="text" name="osname" value="Linux"/></div>');
var osVersion = $('<div><label>OS version:</label><input type="text" name="osvers"/></div>');
var profile = $('<div><label>Profile:</label><input type="text" name="profile"/></div>');
var imageName = $('<div><label>Image name:</label><input type="text" name="imagename" disabled="disabled" title="The name of the image"/></div>');
var selectable = $('<div><label>Selectable:</label><input type="checkbox" name="selectable" title="Select if you want this image to appear on the self service portal"/></div>');
var imageType = $('<div><label>Image type:</label><input type="text" name="imagetype" value="linux" title="The type of operating system image this definition represents"/></div>');
var architecture = $('<div><label>OS architecture:</label><input type="text" name="osarch" title="The hardware architecture of this node. Valid values: x86_64, ppc64, x86, ia64, and s390x."/></div>');
var osName = $('<div><label>OS name:</label><input type="text" name="osname" value="Linux" title="Operating system name"/></div>');
var osVersion = $('<div><label>OS version:</label><input type="text" name="osvers" title="The Linux operating system deployed on this node. Valid values: rhel*, centos*, fedora*, and sles* (where * is the version #)."/></div>');
var profile = $('<div><label>Profile:</label><input type="text" name="profile" title="The node usage category"/></div>');
var provisionMethod = $('<div><label>Provision method:</label></div>');
var provisionSelect = $('<select name="provmethod">'
var provisionSelect = $('<select name="provmethod" title="The provisioning method for node deployment">'
+ '<option value=""></option>'
+ '<option value="install">install</option>'
+ '<option value="netboot">netboot</option>'
+ '<option value="statelite">statelite</option>'
+ '</select>');
provisionMethod.append(provisionSelect);
var comments = $('<div><label>Description:</label><input type="text" name="comments"/></div>');
var comments = $('<div><label>Description:</label><input type="text" name="comments" title="Any user-written notes"/></div>');
imageForm.append(imageName, selectable, imageType, architecture, osName, osVersion, profile, provisionMethod, comments);
// Generate tooltips
imageForm.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 image
imageForm.dialog({
title:'Create image',
@ -474,22 +495,22 @@ function editImageDialog(iName, iSelectable, iOsVersion, iOsArch, iOsName, iType
var info = createInfoBar('Provide the following attributes for the image. The image name will be generated based on the attributes you will give.');
imageForm.append(info);
var imageName = $('<div><label>Image name:</label><input type="text" name="imagename" disabled="disabled"/></div>');
var selectable = $('<div><label>Selectable:</label><input type="checkbox" name="selectable"/></div>');
var imageType = $('<div><label>Image type:</label><input type="text" name="imagetype" value="linux"/></div>');
var architecture = $('<div><label>OS architecture:</label><input type="text" name="osarch"/></div>');
var osName = $('<div><label>OS name:</label><input type="text" name="osname"/></div>');
var osVersion = $('<div><label>OS version:</label><input type="text" name="osvers"/></div>');
var profile = $('<div><label>Profile:</label><input type="text" name="profile"/></div>');
var imageName = $('<div><label>Image name:</label><input type="text" name="imagename" disabled="disabled" title="The name of the image"/></div>');
var selectable = $('<div><label>Selectable:</label><input type="checkbox" name="selectable" title="Select if you want this image to appear on the self service portal"/></div>');
var imageType = $('<div><label>Image type:</label><input type="text" name="imagetype" value="linux" title="The type of operating system image this definition represents"/></div>');
var architecture = $('<div><label>OS architecture:</label><input type="text" name="osarch" title="The hardware architecture of this node. Valid values: x86_64, ppc64, x86, ia64, and s390x."/></div>');
var osName = $('<div><label>OS name:</label><input type="text" name="osname" value="Linux" title="Operating system name"/></div>');
var osVersion = $('<div><label>OS version:</label><input type="text" name="osvers" title="The Linux operating system deployed on this node. Valid values: rhel*, centos*, fedora*, and sles* (where * is the version #)."/></div>');
var profile = $('<div><label>Profile:</label><input type="text" name="profile" title="The node usage category"/></div>');
var provisionMethod = $('<div><label>Provision method:</label></div>');
var provisionSelect = $('<select name="provmethod">'
var provisionSelect = $('<select name="provmethod" title="The provisioning method for node deployment">'
+ '<option value=""></option>'
+ '<option value="install">install</option>'
+ '<option value="netboot">netboot</option>'
+ '<option value="statelite">statelite</option>'
+ '</select>');
provisionMethod.append(provisionSelect);
var comments = $('<div><label>Description:</label><input type="text" name="comments"/></div>');
var comments = $('<div><label>Description:</label><input type="text" name="comments" title="Any user-written notes"/></div>');
imageForm.append(imageName, selectable, imageType, architecture, osName, osVersion, profile, provisionMethod, comments);
// Fill in image attributes
@ -504,6 +525,27 @@ function editImageDialog(iName, iSelectable, iOsVersion, iOsArch, iOsName, iType
if (iSelectable == "yes")
imageForm.find('input[name="selectable"]').attr('checked', 'checked');
// Generate tooltips
imageForm.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 image
imageForm.dialog({
title:'Edit image',
@ -860,14 +902,35 @@ function groupDialog() {
var info = createInfoBar('Provide the following attributes for the group.');
groupForm.append(info);
var group = $('<div><label>Group:</label><input type="text" name="group"/></div>');
var selectable = $('<div><label>Selectable:</label><input type="checkbox" name="selectable"/></div>');
var ip = $('<div><label>IP:</label><input type="text" name="ip"/></div>');
var hostnames = $('<div><label>Hostnames:</label><input type="text" name="hostnames"/></div>');
var network = $('<div><label>Network:</label><input type="text" name="network"/></div>');
var comments = $('<div><label>Description:</label><input type="text" name="comments"/></div>');
var group = $('<div><label>Group:</label><input type="text" name="group" title="The group name"/></div>');
var selectable = $('<div><label>Selectable:</label><input type="checkbox" name="selectable" title="Select if you want this group to appear on the self service portal"/></div>');
var ip = $('<div><label>IP:</label><input type="text" name="ip" title="The IP address of the nodes, usually given as a regular expression, e.g. |ihost(\d+)|10.1.1.($1+0)|"/></div>');
var hostnames = $('<div><label>Hostnames:</label><input type="text" name="hostnames" title="The hostname of the nodes, usually given as a regular expression, e.g. |(.*)|($1).sourceforge.net|"/></div>');
var network = $('<div><label>Network:</label><input type="text" name="network" title="The groups network and its subnet mask, e.g. 10.1.1.0/24"/></div>');
var comments = $('<div><label>Description:</label><input type="text" name="comments" title="A description of the group"/></div>');
groupForm.append(group, selectable, ip, hostnames, network, comments);
// Generate tooltips
groupForm.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 image
groupForm.dialog({
title:'Create group',
@ -963,12 +1026,12 @@ function editGroupDialog(iGroup, iSelectable, iIp, iHostnames, iNetwork, iCommen
var info = createInfoBar('Provide the following attributes for the group.');
groupForm.append(info);
var group = $('<div><label>Group:</label><input type="text" name="group"/></div>');
var selectable = $('<div><label>Selectable:</label><input type="checkbox" name="selectable"/></div>');
var ip = $('<div><label>IP:</label><input type="text" name="ip"/></div>');
var hostnames = $('<div><label>Hostnames:</label><input type="text" name="hostnames"/></div>');
var network = $('<div><label>Network:</label><input type="text" name="network"/></div>');
var comments = $('<div><label>Description:</label><input type="text" name="comments"/></div>');
var group = $('<div><label>Group:</label><input type="text" name="group" title="The group name"/></div>');
var selectable = $('<div><label>Selectable:</label><input type="checkbox" name="selectable" title="Select if you want this group to appear on the self service portal"/></div>');
var ip = $('<div><label>IP:</label><input type="text" name="ip" title="The IP address for the group, usually given as a regular expression, e.g. |ihost(\d+)|10.1.1.($1+0)|"/></div>');
var hostnames = $('<div><label>Hostnames:</label><input type="text" name="hostnames" title="The hostname for the group, usually given as a regular expression, e.g. |(.*)|($1).sourceforge.net|"/></div>');
var network = $('<div><label>Network:</label><input type="text" name="network" title="The groups network and its subnet mask, e.g. 10.1.1.0/24"/></div>');
var comments = $('<div><label>Description:</label><input type="text" name="comments" title="A description of the group"/></div>');
groupForm.append(group, selectable, ip, hostnames, network, comments);
// Fill in group attributes
@ -980,6 +1043,27 @@ function editGroupDialog(iGroup, iSelectable, iIp, iHostnames, iNetwork, iCommen
if (iSelectable == "yes")
groupForm.find('input[name="selectable"]').attr('checked', 'checked');
// Generate tooltips
groupForm.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 image
groupForm.dialog({
title:'Edit group',

View File

@ -224,15 +224,15 @@ function openCreateUserDialog(data) {
createUserForm.append(info, userFS, optionFS);
userAttr.append($('<div><label>Priority:</label><input type="text" name="priority" disabled="disabled" value="' + priority + '"/></div>'));
userAttr.append($('<div><label>User name:</label><input type="text" name="name"/></div>'));
userAttr.append($('<div><label>Password:</label><input name="password" type="password"></div>'));
userAttr.append($('<div><label>Confirm password:</label><input name="confirm_password" type="password"></div>'));
optionAttr.append($('<div><label>Host:</label><input type="text" name="host"/></div>'));
optionAttr.append($('<div><label>Commands:</label><input type="text" name="commands"/></div>'));
optionAttr.append($('<div><label>Parameters:</label><input type="text" name="parameters"/></div>'));
optionAttr.append($('<div><label>Node Range:</label><input type="text" name="nodeRange"/></div>'));
optionAttr.append($('<div><label>Rule:</label><select name="rule">' +
userAttr.append($('<div><label>Priority:</label><input type="text" name="priority" disabled="disabled" value="' + priority + '" title="The priority value for this user"/></div>'));
userAttr.append($('<div><label>User name:</label><input type="text" name="name" title="The user name to log into xCAT with"/></div>'));
userAttr.append($('<div><label>Password:</label><input name="password" type="password" title="The user password that will be used to log into xCAT"></div>'));
userAttr.append($('<div><label>Confirm password:</label><input name="confirm_password" type="password" title="The user password that will be used to log into xCAT"></div>'));
optionAttr.append($('<div><label>Host:</label><input type="text" name="host" title="The host from which users may issue the commands specified by this rule. By default, it is all hosts."/></div>'));
optionAttr.append($('<div><label>Commands:</label><input type="text" name="commands" title="The list of commands that this rule applies to. By default, it is all commands."/></div>'));
optionAttr.append($('<div><label>Parameters:</label><input type="text" name="parameters" title="A regular expression that matches the command parameters (everything except the noderange) that this rule applies to. By default, it is all parameters."/></div>'));
optionAttr.append($('<div><label>Node Range:</label><input type="text" name="nodeRange" title="The node range that this rule applies to. By default, it is all nodes."/></div>'));
optionAttr.append($('<div><label>Rule:</label><select name="rule" title="Specifies how this rule should be applied. Valid values are: allow, accept, trusted, and deny.">' +
'<option value="allow">Allow</option>' +
'<option value="accept">Accept</option>' +
'<option value="trusted">Trusted</option>' +
@ -243,12 +243,33 @@ function openCreateUserDialog(data) {
optionAttr.append(rootPrivilege);
rootPrivilege.append(accessCheckbox);
optionAttr.append($('<div><label>Comments:</label><input type="text" name="comments" style="width: 250px;"/></div>'));
optionAttr.append($('<div><label>Disable:</label><select name="disable">' +
optionAttr.append($('<div><label>Comments:</label><input type="text" name="comments" style="width: 250px;" title="Any user written notes"/></div>'));
optionAttr.append($('<div><label>Disable:</label><select name="disable" title="Set to yes to disable the user">' +
'<option value="">No</option>' +
'<option value="yes">Yes</option>' +
'</select></div>'));
// Generate tooltips
createUserForm.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
createUserForm.dialog({
title:'Configure user',

View File

@ -149,7 +149,7 @@ zvmPlugin.prototype.loadServiceProvisionPage = function(tabId) {
loadOSImages(imageCol);
// Get zVM host names
if (!$.cookie('zvm')){
if (!$.cookie('zvms')){
$.ajax( {
url : 'lib/srv_cmd.php',
dataType : 'json',
@ -1866,20 +1866,20 @@ zvmPlugin.prototype.addNode = function() {
// Create provision type drop down
var type = $('<div></div>');
var typeLabel = $('<label>Type:</label>');
var typeSelect = $('<select type="text" name="type"></select>');
var typeSelect = $('<select type="text" name="type" title="The type of node"></select>');
typeSelect.append('<option value="vm" selected="selected">VM</option>');
typeSelect.append('<option value="host">Host</option>');
type.append(typeLabel);
type.append(typeSelect);
addNodeForm.append(type);
addNodeForm.append('<div><label>Node range *:</label><input type="text" name="node"/></div>');
addNodeForm.append('<div><label>User ID range *:</label><input type="text" name="userId"/></div>');
addNodeForm.append('<div><label>zHCP *:</label><input type="text" name="hcp"/></div>');
addNodeForm.append('<div><label>Groups *:</label><input type="text" name="groups"/></div>');
addNodeForm.append('<div><label>Operating system *:</label><input type="text" name="os"/></div>');
addNodeForm.append('<div><label>IP address range:</label><input name="ip" type="text"></div>');
addNodeForm.append('<div><label>Hostname range:</label><input name="hostname" type="text"></div>');
addNodeForm.append('<div><label>Node range *:</label><input type="text" name="node" title="The node or node range to add into xCAT. A node range must be given as: node1-node9 or node[1-9]."/></div>');
addNodeForm.append('<div><label>User ID range *:</label><input type="text" name="userId" title="The user ID or a user ID range. A user ID range must be given as: user1-user9 or user[1-9]."/></div>');
addNodeForm.append('<div><label>zHCP *:</label><input type="text" name="hcp" title="The System z hardware control point (zHCP) responsible for managing the node(s)"/></div>');
addNodeForm.append('<div><label>Groups *:</label><input type="text" name="groups" title="The group where the new node(s) will be placed under"/></div>');
addNodeForm.append('<div><label>Operating system *:</label><input type="text" name="os" title="The z/VM operating system version, e.g. zvm6.1."/></div>');
addNodeForm.append('<div><label>IP address range:</label><input name="ip" type="text" title="The IP address range for the node(s). An IP address range must be given in the following format: 192.168.0.1-192.168.9."></div>');
addNodeForm.append('<div><label>Hostname range:</label><input name="hostname" type="text" title="The hostname range for the node(s). A hostname range must be given in the following format: ihost1.sourceforge.net-ihost9.sourceforge.net."></div>');
addNodeForm.append('<div><label>* required</label></div>');
// OS field only required for hosts
@ -1897,6 +1897,27 @@ zvmPlugin.prototype.addNode = function() {
}
});
// Generate tooltips
addNodeForm.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 form as a dialog
addNodeForm.dialog({
title: 'Add node',
@ -2213,7 +2234,7 @@ zvmPlugin.prototype.loadMigratePage = function(tgtNode) {
var hcp = new Object();
// Create a drop-down for z/VM destinations
var destSelect = $('<select name="dest"></select>')
var destSelect = $('<select name="dest" title="The z/VM SSI cluster name of the destination system to which the specified virtual machine will be relocated."></select>')
destSelect.append($('<option></option>'));
for (var i in hosts) {
args = hosts[i].split(':');
@ -2281,7 +2302,12 @@ zvmPlugin.prototype.loadMigratePage = function(tgtNode) {
vmAttr.append(dest);
// Action Parameter
var actionparam = $('<div><label>Action:</label><select name="action"><option value=""></option><option value="MOVE">Move</option><option value="TEST">Test</option><option value="CANCEL">Cancel</option></select></div>');
var actionparam = $('<div><label>Action:</label><select name="action" title="Initiate a VMRELOCATE of the virtual machine. Test the specified virtual machine and determine if it is eligible to be relocated. Stop the relocation of the specified virtual machine.">' +
'<option value=""></option>' +
'<option value="MOVE">Move</option>' +
'<option value="TEST">Test</option>' +
'<option value="CANCEL">Cancel</option>' +
'</select></div>');
vmAttr.append(actionparam);
// Parameters label
@ -2293,7 +2319,10 @@ zvmPlugin.prototype.loadMigratePage = function(tgtNode) {
optionalFS.append(optAttr);
// Immediate Parameter
var immediateparam = $('<div><label>Immediate:</label><select name="immediate"><option value="NO">No (default)</option><option value="YES">Yes</option></select></div>');
var immediateparam = $('<div><label>Immediate:</label><select name="immediate" title="Select No to specify immediate processing (default). Select Yes to specify the VMRELOCATE command will do one early pass through virtual machine storage and then go directly to the quiesce stage. The defaults for both max_total and max_quiesce are NOLIMIT when immediate=YES is specified.">' +
'<option value="NO">No (default)</option>' +
'<option value="YES">Yes</option>' +
'</select></div>');
optAttr.append(immediateparam);
immediateparam.change(function() {
if ($('#' + newTabId + ' select[name=immediate]').val() == 'yes') {
@ -2316,7 +2345,7 @@ zvmPlugin.prototype.loadMigratePage = function(tgtNode) {
optAttr.append(forceParam);
// Generate tooltips
migrateForm.find('div input[title]').tooltip({
migrateForm.find('div input[title],select[title]').tooltip({
position: "center right",
offset: [-2, 10],
effect: "fade",

File diff suppressed because it is too large Load Diff

View File

@ -1856,8 +1856,12 @@ function loadScriptPage(tgtNodes) {
upload.append(label, file, subBtn);
scriptAttr.append(upload);
// Script
var script = $('<div><label>Script:</label><textarea title="The code to run against the node range"/>');
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 = $('<div><label>Script:</label><textarea/>');
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

View File

@ -72,7 +72,7 @@ function loadNodesetPage(tgtNodes) {
// Create boot method drop down
var method = $('<div></div>');
var methodLabel = $('<label>Boot method:</label>');
var methodSelect = $('<select id="bootMethod" name="bootMethod"></select>');
var methodSelect = $('<select id="bootMethod" name="bootMethod" title="The method for node deployment"></select>');
methodSelect.append('<option value="boot">boot</option>'
+ '<option value="install">install</option>'
+ '<option value="iscsiboot">iscsiboot</option>'
@ -86,7 +86,7 @@ function loadNodesetPage(tgtNodes) {
// Create boot type drop down
var type = $('<div></div>');
var typeLabel = $('<label>Boot type:</label>');
var typeSelect = $('<select id="bootType" name="bootType"></select>');
var typeSelect = $('<select id="bootType" name="bootType" title="The type of network booting to use for this node"></select>');
typeSelect.append('<option value="zvm">zvm</option>'
+ '<option value="install">pxe</option>'
+ '<option value="iscsiboot">yaboot</option>'
@ -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",

View File

@ -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 = $('<fieldset></fieldset>');
var imageLegend = $('<legend>Image</legend>');
imageFS.append(imageLegend);
var imageAttr = $('<div style="display: inline-table; vertical-align: middle;"></div>');
imageFS.append($('<div style="display: inline-table; vertical-align: middle;"><img src="images/provision/operating_system.png"></img></div>'));
imageFS.append(imageAttr);
var optionFS = $('<fieldset></fieldset>');
var optionLegend = $('<legend>Options</legend>');
optionFS.append(optionLegend);
var optionAttr = $('<div style="display: inline-table; vertical-align: middle;"></div>');
optionFS.append($('<div style="display: inline-table; vertical-align: middle;"><img src="images/provision/setting.png" style="width: 70px;"></img></div>'));
optionFS.append(optionAttr);
addImageForm.append(info, imageFS, optionFS);
// Create inputs for image attributes
var imageName = $('<div><label>Image name:</label><input type="text" name="imagename" disabled="disabled"/></div>');
var imageType = $('<div><label>Image type:</label><input type="text" name="imagetype"/></div>');
var architecture = $('<div><label>OS architecture:</label><input type="text" name="osarch"/></div>');
var osName = $('<div><label>OS name:</label><input type="text" name="osname"/></div>');
var osVersion = $('<div><label>OS version:</label><input type="text" name="osvers"/></div>');
var profile = $('<div><label>Profile:</label><input type="text" name="profile"/></div>');
var imageName = $('<div><label>Image name:</label><input type="text" name="imagename" disabled="disabled" title="The name of this xCAT OS image definition"/></div>');
var imageType = $('<div><label>Image type:</label><input type="text" name="imagetype" value="linux" title="The type of operating system image this definition represents"/></div>');
var architecture = $('<div><label>OS architecture:</label><input type="text" name="osarch" title="The hardware architecture of this image. Valid values: x86_64, x86, ia64, ppc64, and s390x."/></div>');
var osName = $('<div><label>OS name:</label><input type="text" name="osname" value="Linux" title="Operating system name"/></div>');
var osVersion = $('<div><label>OS version:</label><input type="text" name="osvers" title="The operating system deployed on this node. Valid values: rhel*, centos*, fedora*, sles* (where * is the version #)."/></div>');
var profile = $('<div><label>Profile:</label><input type="text" name="profile" title="The node usage category"/></div>');
var provisionMethod = $('<div><label>Provision method:</label></div>');
var provisionSelect = $('<select name="provmethod">'
var provisionSelect = $('<select name="provmethod" title="The provisioning method for node deployment">'
+ '<option value=""></option>'
+ '<option value="install">install</option>'
+ '<option value="netboot">netboot</option>'
@ -383,32 +398,8 @@ function openAddImageDialog() {
provisionMethod.append(provisionSelect);
// Create inputs for optional attributes
var exList = $('<div><label>Exclusion list:</label></div>');
var exListInput = $('<input type="text" name="exlist"/>');
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 = $('<div><label>Other package directory:</label></div>');
var otherpkgDirectoryInput = $('<input type="text" name="otherpkgdir"/>');
var otherpkgDirectoryInput = $('<input type="text" name="otherpkgdir" title="The base directory where the non-distro packages are stored"/>');
otherpkgDirectory.append(otherpkgDirectoryInput);
otherpkgDirectoryInput.serverBrowser({
onSelect : function(path) {
@ -432,7 +423,7 @@ function openAddImageDialog() {
basePath : '/install' // Limit user to only install directory
});
var packageDirectory = $('<div><label>Package directory:</label></div>');
var packageDirectoryInput = $('<input type="text" name="pkgdir"/>');
var packageDirectoryInput = $('<input type="text" name="pkgdir" title="The name of the directory where the distro packages are stored"/>');
packageDirectory.append(packageDirectoryInput);
packageDirectoryInput.serverBrowser({
onSelect : function(path) {
@ -456,7 +447,7 @@ function openAddImageDialog() {
basePath : '/install' // Limit user to only install directory
});
var packageList = $('<div><label>Package list:</label></div>');
var packageListInput = $('<input type="text" name="pkglist"/>');
var packageListInput = $('<input type="text" name="pkglist" title="The fully qualified name of the file that stores the distro packages list that will be included in the image"/>');
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 = $('<div><label>Post install script:</label></div>');
var postInstallInput = $('<input type="text" name="postinstall"/>');
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 = $('<div><label>Template:</label></div>');
var templateInput = $('<input type="text" name="template"/>');
var templateInput = $('<input type="text" name="template" title="The fully qualified name of the template file that is used to create the kickstart or autoyast file for diskful installation"/>');
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 = $('<div></div>');
var isoLabel = $('<label> Linux ISO/DVD:</label>').css('vertical-align', 'middle');
var isoInput = $('<input type="text" id="iso" name="iso"/>').css('width', '300px');
var isoInput = $('<input type="text" id="iso" name="iso" title="The fully qualified name of the disk image file"/>').css('width', '300px');
iso.append(isoLabel);
iso.append(isoInput);
copyLinuxForm.append(iso);
// Create architecture input
copyLinuxForm.append('<div><label>Architecture:</label><input type="text" id="arch" name="arch"/></div>');
copyLinuxForm.append('<div><label>Architecture:</label><input type="text" id="arch" name="arch" title="The hardware architecture of this node. Valid values: x86_64, x86, ia64, ppc64, and s390x."/></div>');
// Create distribution input
copyLinuxForm.append('<div><label>Distribution:</label><input type="text" id="distro" name="distro"/></div>');
copyLinuxForm.append('<div><label>Distribution:</label><input type="text" id="distro" name="distro" title="The operating system name. Valid values: rhel*, centos*, fedora*, sles* (where * is the version #)."/></div>');
/**
* 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',

View File

@ -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',

View File

@ -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");

View File

@ -28,9 +28,9 @@ B<mkvm> I<noderange> [B<-s>|B<--size> I<disksize>] [B<--mem> I<memsize>] [B<--cp
=head2 For zVM:
B<mkvm> I<noderange> I<directory_entry_file_path>
B<mkvm> I<noderange> [I<directory_entry_file_path>]
B<mkvm> I<noderange> I<source_virtual_machine> B<pool=> I<disk_pool>
B<mkvm> I<noderange> [I<source_virtual_machine>] [B<pool=> I<disk_pool>]
=head1 DESCRIPTION