Added provision pages for other platforms
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@6806 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
parent
477ea3e2af
commit
40530b8a08
209
xCAT-UI/js/custom/blade.js
Normal file
209
xCAT-UI/js/custom/blade.js
Normal file
@ -0,0 +1,209 @@
|
||||
$(document).ready(function(){
|
||||
// Include utility scripts
|
||||
});
|
||||
|
||||
/**
|
||||
* Load node inventory
|
||||
*
|
||||
* @param data
|
||||
* Data from HTTP request
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadInventory(data) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Load clone page
|
||||
*
|
||||
* @param node
|
||||
* Source node to clone
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadClonePage(node) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Load provision page
|
||||
*
|
||||
* @param tabId
|
||||
* The provision tab ID
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadProvisionPage(tabId) {
|
||||
var errMsg;
|
||||
|
||||
// Get the OS image names
|
||||
$.ajax( {
|
||||
url : 'lib/cmd.php',
|
||||
dataType : 'json',
|
||||
data : {
|
||||
cmd : 'tabdump',
|
||||
tgt : '',
|
||||
args : 'osimage',
|
||||
msg : ''
|
||||
},
|
||||
|
||||
success : setOSImageCookies
|
||||
});
|
||||
|
||||
// Get groups
|
||||
$.ajax( {
|
||||
url : 'lib/cmd.php',
|
||||
dataType : 'json',
|
||||
data : {
|
||||
cmd : 'extnoderange',
|
||||
tgt : '/.*',
|
||||
args : 'subgroups',
|
||||
msg : ''
|
||||
},
|
||||
|
||||
success : setGroupsCookies
|
||||
});
|
||||
|
||||
// Generate new tab ID
|
||||
var inst = tabId.replace('bladeProvisionTab', '');
|
||||
|
||||
// Open new tab
|
||||
// Create provision form
|
||||
var provForm = $('<div class="form"></div>');
|
||||
|
||||
// Create status bar
|
||||
var barId = 'bladeProvisionStatBar' + inst;
|
||||
var statBar = createStatusBar(barId);
|
||||
statBar.hide();
|
||||
provForm.append(statBar);
|
||||
|
||||
// Create loader
|
||||
var loader = createLoader('bladeProvisionLoader' + inst);
|
||||
loader.hide();
|
||||
statBar.append(loader);
|
||||
|
||||
// Create info bar
|
||||
var infoBar = createInfoBar('Provision a blade node');
|
||||
provForm.append(infoBar);
|
||||
|
||||
// Append to provision tab
|
||||
$('#' + tabId).append(provForm);
|
||||
|
||||
// Node name
|
||||
var nodeName = $('<div><label for="nodeName">Node:</label><input type="text" name="nodeName"/></div>');
|
||||
provForm.append(nodeName);
|
||||
|
||||
// Group
|
||||
var group = $('<div></div>');
|
||||
var groupLabel = $('<label for="group">Group:</label>');
|
||||
var groupInput = $('<input type="text" name="group"/>');
|
||||
|
||||
// Get the groups on-focus
|
||||
groupInput.focus(function() {
|
||||
var groupNames = $.cookie('Groups');
|
||||
|
||||
// If there are groups, turn on auto-complete
|
||||
if (groupNames) {
|
||||
$(this).autocomplete(groupNames.split(','));
|
||||
}
|
||||
});
|
||||
|
||||
group.append(groupLabel);
|
||||
group.append(groupInput);
|
||||
provForm.append(group);
|
||||
|
||||
// Boot method (boot, install, stat, iscsiboot, netboot, statelite)
|
||||
var method = $('<div></div>');
|
||||
var methodLabel = $('<label for="method">Boot method:</label>');
|
||||
var methodSelect = $('<select id="bootMethod" name="bootMethod"></select>');
|
||||
methodSelect.append('<option value="boot">boot</option>');
|
||||
methodSelect.append('<option value="install">install</option>');
|
||||
methodSelect.append('<option value="iscsiboot">iscsiboot</option>');
|
||||
methodSelect.append('<option value="netboot">netboot</option>');
|
||||
methodSelect.append('<option value="statelite">statelite</option>');
|
||||
method.append(methodLabel);
|
||||
method.append(methodSelect);
|
||||
provForm.append(method);
|
||||
|
||||
// Boot type (zvm, pxe, yaboot)
|
||||
var type = $('<div></div>');
|
||||
var typeLabel = $('<label for="type">Boot type:</label>');
|
||||
var typeSelect = $('<select id="bootType" name="bootType"></select>');
|
||||
typeSelect.append('<option value="zvm">zvm</option>');
|
||||
typeSelect.append('<option value="install">pxe</option>');
|
||||
typeSelect.append('<option value="iscsiboot">yaboot</option>');
|
||||
type.append(typeLabel);
|
||||
type.append(typeSelect);
|
||||
provForm.append(type);
|
||||
|
||||
// Operating system
|
||||
var os = $('<div></div>');
|
||||
var osLabel = $('<label for="os">Operating system:</label>');
|
||||
var osInput = $('<input type="text" name="os"/>');
|
||||
|
||||
// Get the OS versions on-focus
|
||||
var tmp;
|
||||
osInput.focus(function() {
|
||||
tmp = $.cookie('OSVers');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
os.append(osLabel);
|
||||
os.append(osInput);
|
||||
provForm.append(os);
|
||||
|
||||
// Architecture
|
||||
var arch = $('<div></div>');
|
||||
var archLabel = $('<label for="arch">Architecture:</label>');
|
||||
var archInput = $('<input type="text" name="arch"/>');
|
||||
|
||||
// Get the OS architectures on-focus
|
||||
archInput.focus(function() {
|
||||
tmp = $.cookie('OSArchs');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
arch.append(archLabel);
|
||||
arch.append(archInput);
|
||||
provForm.append(arch);
|
||||
|
||||
// Profiles
|
||||
var profile = $('<div></div>');
|
||||
var profileLabel = $('<label for="profile">Profile:</label>');
|
||||
var profileInput = $('<input type="text" name="profile"/>');
|
||||
|
||||
// Get the profiles on-focus
|
||||
profileInput.focus(function() {
|
||||
tmp = $.cookie('Profiles');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
profile.append(profileLabel);
|
||||
profile.append(profileInput);
|
||||
provForm.append(profile);
|
||||
|
||||
/**
|
||||
* Provision
|
||||
*/
|
||||
var provisionBtn = createButton('Provision');
|
||||
provisionBtn.bind('click', function(event) {
|
||||
// Insert provision code here
|
||||
});
|
||||
provForm.append(provisionBtn);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load resources
|
||||
*
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadResources() {
|
||||
|
||||
}
|
209
xCAT-UI/js/custom/fsp.js
Normal file
209
xCAT-UI/js/custom/fsp.js
Normal file
@ -0,0 +1,209 @@
|
||||
$(document).ready(function(){
|
||||
// Include utility scripts
|
||||
});
|
||||
|
||||
/**
|
||||
* Load node inventory
|
||||
*
|
||||
* @param data
|
||||
* Data from HTTP request
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadInventory(data) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Load clone page
|
||||
*
|
||||
* @param node
|
||||
* Source node to clone
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadClonePage(node) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Load provision page
|
||||
*
|
||||
* @param tabId
|
||||
* The provision tab ID
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadProvisionPage(tabId) {
|
||||
var errMsg;
|
||||
|
||||
// Get the OS image names
|
||||
$.ajax( {
|
||||
url : 'lib/cmd.php',
|
||||
dataType : 'json',
|
||||
data : {
|
||||
cmd : 'tabdump',
|
||||
tgt : '',
|
||||
args : 'osimage',
|
||||
msg : ''
|
||||
},
|
||||
|
||||
success : setOSImageCookies
|
||||
});
|
||||
|
||||
// Get groups
|
||||
$.ajax( {
|
||||
url : 'lib/cmd.php',
|
||||
dataType : 'json',
|
||||
data : {
|
||||
cmd : 'extnoderange',
|
||||
tgt : '/.*',
|
||||
args : 'subgroups',
|
||||
msg : ''
|
||||
},
|
||||
|
||||
success : setGroupsCookies
|
||||
});
|
||||
|
||||
// Generate new tab ID
|
||||
var inst = tabId.replace('fspProvisionTab', '');
|
||||
|
||||
// Open new tab
|
||||
// Create provision form
|
||||
var provForm = $('<div class="form"></div>');
|
||||
|
||||
// Create status bar
|
||||
var barId = 'fspProvisionStatBar' + inst;
|
||||
var statBar = createStatusBar(barId);
|
||||
statBar.hide();
|
||||
provForm.append(statBar);
|
||||
|
||||
// Create loader
|
||||
var loader = createLoader('fspProvisionLoader' + inst);
|
||||
loader.hide();
|
||||
statBar.append(loader);
|
||||
|
||||
// Create info bar
|
||||
var infoBar = createInfoBar('Provision a FSP node');
|
||||
provForm.append(infoBar);
|
||||
|
||||
// Append to provision tab
|
||||
$('#' + tabId).append(provForm);
|
||||
|
||||
// Node name
|
||||
var nodeName = $('<div><label for="nodeName">Node:</label><input type="text" name="nodeName"/></div>');
|
||||
provForm.append(nodeName);
|
||||
|
||||
// Group
|
||||
var group = $('<div></div>');
|
||||
var groupLabel = $('<label for="group">Group:</label>');
|
||||
var groupInput = $('<input type="text" name="group"/>');
|
||||
|
||||
// Get the groups on-focus
|
||||
groupInput.focus(function() {
|
||||
var groupNames = $.cookie('Groups');
|
||||
|
||||
// If there are groups, turn on auto-complete
|
||||
if (groupNames) {
|
||||
$(this).autocomplete(groupNames.split(','));
|
||||
}
|
||||
});
|
||||
|
||||
group.append(groupLabel);
|
||||
group.append(groupInput);
|
||||
provForm.append(group);
|
||||
|
||||
// Boot method (boot, install, stat, iscsiboot, netboot, statelite)
|
||||
var method = $('<div></div>');
|
||||
var methodLabel = $('<label for="method">Boot method:</label>');
|
||||
var methodSelect = $('<select id="bootMethod" name="bootMethod"></select>');
|
||||
methodSelect.append('<option value="boot">boot</option>');
|
||||
methodSelect.append('<option value="install">install</option>');
|
||||
methodSelect.append('<option value="iscsiboot">iscsiboot</option>');
|
||||
methodSelect.append('<option value="netboot">netboot</option>');
|
||||
methodSelect.append('<option value="statelite">statelite</option>');
|
||||
method.append(methodLabel);
|
||||
method.append(methodSelect);
|
||||
provForm.append(method);
|
||||
|
||||
// Boot type (zvm, pxe, yaboot)
|
||||
var type = $('<div></div>');
|
||||
var typeLabel = $('<label for="type">Boot type:</label>');
|
||||
var typeSelect = $('<select id="bootType" name="bootType"></select>');
|
||||
typeSelect.append('<option value="zvm">zvm</option>');
|
||||
typeSelect.append('<option value="install">pxe</option>');
|
||||
typeSelect.append('<option value="iscsiboot">yaboot</option>');
|
||||
type.append(typeLabel);
|
||||
type.append(typeSelect);
|
||||
provForm.append(type);
|
||||
|
||||
// Operating system
|
||||
var os = $('<div></div>');
|
||||
var osLabel = $('<label for="os">Operating system:</label>');
|
||||
var osInput = $('<input type="text" name="os"/>');
|
||||
|
||||
// Get the OS versions on-focus
|
||||
var tmp;
|
||||
osInput.focus(function() {
|
||||
tmp = $.cookie('OSVers');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
os.append(osLabel);
|
||||
os.append(osInput);
|
||||
provForm.append(os);
|
||||
|
||||
// Architecture
|
||||
var arch = $('<div></div>');
|
||||
var archLabel = $('<label for="arch">Architecture:</label>');
|
||||
var archInput = $('<input type="text" name="arch"/>');
|
||||
|
||||
// Get the OS architectures on-focus
|
||||
archInput.focus(function() {
|
||||
tmp = $.cookie('OSArchs');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
arch.append(archLabel);
|
||||
arch.append(archInput);
|
||||
provForm.append(arch);
|
||||
|
||||
// Profiles
|
||||
var profile = $('<div></div>');
|
||||
var profileLabel = $('<label for="profile">Profile:</label>');
|
||||
var profileInput = $('<input type="text" name="profile"/>');
|
||||
|
||||
// Get the profiles on-focus
|
||||
profileInput.focus(function() {
|
||||
tmp = $.cookie('Profiles');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
profile.append(profileLabel);
|
||||
profile.append(profileInput);
|
||||
provForm.append(profile);
|
||||
|
||||
/**
|
||||
* Provision
|
||||
*/
|
||||
var provisionBtn = createButton('Provision');
|
||||
provisionBtn.bind('click', function(event) {
|
||||
// Insert provision code here
|
||||
});
|
||||
provForm.append(provisionBtn);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load resources
|
||||
*
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadResources() {
|
||||
|
||||
}
|
@ -32,7 +32,171 @@ function loadClonePage(node) {
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadProvisionPage(tabId) {
|
||||
var errMsg;
|
||||
|
||||
// Get the OS image names
|
||||
$.ajax( {
|
||||
url : 'lib/cmd.php',
|
||||
dataType : 'json',
|
||||
data : {
|
||||
cmd : 'tabdump',
|
||||
tgt : '',
|
||||
args : 'osimage',
|
||||
msg : ''
|
||||
},
|
||||
|
||||
success : setOSImageCookies
|
||||
});
|
||||
|
||||
// Get groups
|
||||
$.ajax( {
|
||||
url : 'lib/cmd.php',
|
||||
dataType : 'json',
|
||||
data : {
|
||||
cmd : 'extnoderange',
|
||||
tgt : '/.*',
|
||||
args : 'subgroups',
|
||||
msg : ''
|
||||
},
|
||||
|
||||
success : setGroupsCookies
|
||||
});
|
||||
|
||||
// Generate new tab ID
|
||||
var inst = tabId.replace('hmcProvisionTab', '');
|
||||
|
||||
// Open new tab
|
||||
// Create provision form
|
||||
var provForm = $('<div class="form"></div>');
|
||||
|
||||
// Create status bar
|
||||
var barId = 'hmcProvisionStatBar' + inst;
|
||||
var statBar = createStatusBar(barId);
|
||||
statBar.hide();
|
||||
provForm.append(statBar);
|
||||
|
||||
// Create loader
|
||||
var loader = createLoader('hmcProvisionLoader' + inst);
|
||||
loader.hide();
|
||||
statBar.append(loader);
|
||||
|
||||
// Create info bar
|
||||
var infoBar = createInfoBar('Provision a HMC node');
|
||||
provForm.append(infoBar);
|
||||
|
||||
// Append to provision tab
|
||||
$('#' + tabId).append(provForm);
|
||||
|
||||
// Node name
|
||||
var nodeName = $('<div><label for="nodeName">Node:</label><input type="text" name="nodeName"/></div>');
|
||||
provForm.append(nodeName);
|
||||
|
||||
// Group
|
||||
var group = $('<div></div>');
|
||||
var groupLabel = $('<label for="group">Group:</label>');
|
||||
var groupInput = $('<input type="text" name="group"/>');
|
||||
|
||||
// Get the groups on-focus
|
||||
groupInput.focus(function() {
|
||||
var groupNames = $.cookie('Groups');
|
||||
|
||||
// If there are groups, turn on auto-complete
|
||||
if (groupNames) {
|
||||
$(this).autocomplete(groupNames.split(','));
|
||||
}
|
||||
});
|
||||
|
||||
group.append(groupLabel);
|
||||
group.append(groupInput);
|
||||
provForm.append(group);
|
||||
|
||||
// Boot method (boot, install, stat, iscsiboot, netboot, statelite)
|
||||
var method = $('<div></div>');
|
||||
var methodLabel = $('<label for="method">Boot method:</label>');
|
||||
var methodSelect = $('<select id="bootMethod" name="bootMethod"></select>');
|
||||
methodSelect.append('<option value="boot">boot</option>');
|
||||
methodSelect.append('<option value="install">install</option>');
|
||||
methodSelect.append('<option value="iscsiboot">iscsiboot</option>');
|
||||
methodSelect.append('<option value="netboot">netboot</option>');
|
||||
methodSelect.append('<option value="statelite">statelite</option>');
|
||||
method.append(methodLabel);
|
||||
method.append(methodSelect);
|
||||
provForm.append(method);
|
||||
|
||||
// Boot type (zvm, pxe, yaboot)
|
||||
var type = $('<div></div>');
|
||||
var typeLabel = $('<label for="type">Boot type:</label>');
|
||||
var typeSelect = $('<select id="bootType" name="bootType"></select>');
|
||||
typeSelect.append('<option value="zvm">zvm</option>');
|
||||
typeSelect.append('<option value="install">pxe</option>');
|
||||
typeSelect.append('<option value="iscsiboot">yaboot</option>');
|
||||
type.append(typeLabel);
|
||||
type.append(typeSelect);
|
||||
provForm.append(type);
|
||||
|
||||
// Operating system
|
||||
var os = $('<div></div>');
|
||||
var osLabel = $('<label for="os">Operating system:</label>');
|
||||
var osInput = $('<input type="text" name="os"/>');
|
||||
|
||||
// Get the OS versions on-focus
|
||||
var tmp;
|
||||
osInput.focus(function() {
|
||||
tmp = $.cookie('OSVers');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
os.append(osLabel);
|
||||
os.append(osInput);
|
||||
provForm.append(os);
|
||||
|
||||
// Architecture
|
||||
var arch = $('<div></div>');
|
||||
var archLabel = $('<label for="arch">Architecture:</label>');
|
||||
var archInput = $('<input type="text" name="arch"/>');
|
||||
|
||||
// Get the OS architectures on-focus
|
||||
archInput.focus(function() {
|
||||
tmp = $.cookie('OSArchs');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
arch.append(archLabel);
|
||||
arch.append(archInput);
|
||||
provForm.append(arch);
|
||||
|
||||
// Profiles
|
||||
var profile = $('<div></div>');
|
||||
var profileLabel = $('<label for="profile">Profile:</label>');
|
||||
var profileInput = $('<input type="text" name="profile"/>');
|
||||
|
||||
// Get the profiles on-focus
|
||||
profileInput.focus(function() {
|
||||
tmp = $.cookie('Profiles');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
profile.append(profileLabel);
|
||||
profile.append(profileInput);
|
||||
provForm.append(profile);
|
||||
|
||||
/**
|
||||
* Provision
|
||||
*/
|
||||
var provisionBtn = createButton('Provision');
|
||||
provisionBtn.bind('click', function(event) {
|
||||
// Insert provision code here
|
||||
});
|
||||
provForm.append(provisionBtn);
|
||||
}
|
||||
|
||||
/**
|
||||
|
209
xCAT-UI/js/custom/ipmi.js
Normal file
209
xCAT-UI/js/custom/ipmi.js
Normal file
@ -0,0 +1,209 @@
|
||||
$(document).ready(function(){
|
||||
// Include utility scripts
|
||||
});
|
||||
|
||||
/**
|
||||
* Load node inventory
|
||||
*
|
||||
* @param data
|
||||
* Data from HTTP request
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadInventory(data) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Load clone page
|
||||
*
|
||||
* @param node
|
||||
* Source node to clone
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadClonePage(node) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Load provision page
|
||||
*
|
||||
* @param tabId
|
||||
* The provision tab ID
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadProvisionPage(tabId) {
|
||||
var errMsg;
|
||||
|
||||
// Get the OS image names
|
||||
$.ajax( {
|
||||
url : 'lib/cmd.php',
|
||||
dataType : 'json',
|
||||
data : {
|
||||
cmd : 'tabdump',
|
||||
tgt : '',
|
||||
args : 'osimage',
|
||||
msg : ''
|
||||
},
|
||||
|
||||
success : setOSImageCookies
|
||||
});
|
||||
|
||||
// Get groups
|
||||
$.ajax( {
|
||||
url : 'lib/cmd.php',
|
||||
dataType : 'json',
|
||||
data : {
|
||||
cmd : 'extnoderange',
|
||||
tgt : '/.*',
|
||||
args : 'subgroups',
|
||||
msg : ''
|
||||
},
|
||||
|
||||
success : setGroupsCookies
|
||||
});
|
||||
|
||||
// Generate new tab ID
|
||||
var inst = tabId.replace('ipmiProvisionTab', '');
|
||||
|
||||
// Open new tab
|
||||
// Create provision form
|
||||
var provForm = $('<div class="form"></div>');
|
||||
|
||||
// Create status bar
|
||||
var barId = 'ipmiProvisionStatBar' + inst;
|
||||
var statBar = createStatusBar(barId);
|
||||
statBar.hide();
|
||||
provForm.append(statBar);
|
||||
|
||||
// Create loader
|
||||
var loader = createLoader('ipmiProvisionLoader' + inst);
|
||||
loader.hide();
|
||||
statBar.append(loader);
|
||||
|
||||
// Create info bar
|
||||
var infoBar = createInfoBar('Provision a IPMI node');
|
||||
provForm.append(infoBar);
|
||||
|
||||
// Append to provision tab
|
||||
$('#' + tabId).append(provForm);
|
||||
|
||||
// Node name
|
||||
var nodeName = $('<div><label for="nodeName">Node:</label><input type="text" name="nodeName"/></div>');
|
||||
provForm.append(nodeName);
|
||||
|
||||
// Group
|
||||
var group = $('<div></div>');
|
||||
var groupLabel = $('<label for="group">Group:</label>');
|
||||
var groupInput = $('<input type="text" name="group"/>');
|
||||
|
||||
// Get the groups on-focus
|
||||
groupInput.focus(function() {
|
||||
var groupNames = $.cookie('Groups');
|
||||
|
||||
// If there are groups, turn on auto-complete
|
||||
if (groupNames) {
|
||||
$(this).autocomplete(groupNames.split(','));
|
||||
}
|
||||
});
|
||||
|
||||
group.append(groupLabel);
|
||||
group.append(groupInput);
|
||||
provForm.append(group);
|
||||
|
||||
// Boot method (boot, install, stat, iscsiboot, netboot, statelite)
|
||||
var method = $('<div></div>');
|
||||
var methodLabel = $('<label for="method">Boot method:</label>');
|
||||
var methodSelect = $('<select id="bootMethod" name="bootMethod"></select>');
|
||||
methodSelect.append('<option value="boot">boot</option>');
|
||||
methodSelect.append('<option value="install">install</option>');
|
||||
methodSelect.append('<option value="iscsiboot">iscsiboot</option>');
|
||||
methodSelect.append('<option value="netboot">netboot</option>');
|
||||
methodSelect.append('<option value="statelite">statelite</option>');
|
||||
method.append(methodLabel);
|
||||
method.append(methodSelect);
|
||||
provForm.append(method);
|
||||
|
||||
// Boot type (zvm, pxe, yaboot)
|
||||
var type = $('<div></div>');
|
||||
var typeLabel = $('<label for="type">Boot type:</label>');
|
||||
var typeSelect = $('<select id="bootType" name="bootType"></select>');
|
||||
typeSelect.append('<option value="zvm">zvm</option>');
|
||||
typeSelect.append('<option value="install">pxe</option>');
|
||||
typeSelect.append('<option value="iscsiboot">yaboot</option>');
|
||||
type.append(typeLabel);
|
||||
type.append(typeSelect);
|
||||
provForm.append(type);
|
||||
|
||||
// Operating system
|
||||
var os = $('<div></div>');
|
||||
var osLabel = $('<label for="os">Operating system:</label>');
|
||||
var osInput = $('<input type="text" name="os"/>');
|
||||
|
||||
// Get the OS versions on-focus
|
||||
var tmp;
|
||||
osInput.focus(function() {
|
||||
tmp = $.cookie('OSVers');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
os.append(osLabel);
|
||||
os.append(osInput);
|
||||
provForm.append(os);
|
||||
|
||||
// Architecture
|
||||
var arch = $('<div></div>');
|
||||
var archLabel = $('<label for="arch">Architecture:</label>');
|
||||
var archInput = $('<input type="text" name="arch"/>');
|
||||
|
||||
// Get the OS architectures on-focus
|
||||
archInput.focus(function() {
|
||||
tmp = $.cookie('OSArchs');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
arch.append(archLabel);
|
||||
arch.append(archInput);
|
||||
provForm.append(arch);
|
||||
|
||||
// Profiles
|
||||
var profile = $('<div></div>');
|
||||
var profileLabel = $('<label for="profile">Profile:</label>');
|
||||
var profileInput = $('<input type="text" name="profile"/>');
|
||||
|
||||
// Get the profiles on-focus
|
||||
profileInput.focus(function() {
|
||||
tmp = $.cookie('Profiles');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
profile.append(profileLabel);
|
||||
profile.append(profileInput);
|
||||
provForm.append(profile);
|
||||
|
||||
/**
|
||||
* Provision
|
||||
*/
|
||||
var provisionBtn = createButton('Provision');
|
||||
provisionBtn.bind('click', function(event) {
|
||||
// Insert provision code here
|
||||
});
|
||||
provForm.append(provisionBtn);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load resources
|
||||
*
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadResources() {
|
||||
|
||||
}
|
209
xCAT-UI/js/custom/ivm.js
Normal file
209
xCAT-UI/js/custom/ivm.js
Normal file
@ -0,0 +1,209 @@
|
||||
$(document).ready(function(){
|
||||
// Include utility scripts
|
||||
});
|
||||
|
||||
/**
|
||||
* Load node inventory
|
||||
*
|
||||
* @param data
|
||||
* Data from HTTP request
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadInventory(data) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Load clone page
|
||||
*
|
||||
* @param node
|
||||
* Source node to clone
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadClonePage(node) {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Load provision page
|
||||
*
|
||||
* @param tabId
|
||||
* The provision tab ID
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadProvisionPage(tabId) {
|
||||
var errMsg;
|
||||
|
||||
// Get the OS image names
|
||||
$.ajax( {
|
||||
url : 'lib/cmd.php',
|
||||
dataType : 'json',
|
||||
data : {
|
||||
cmd : 'tabdump',
|
||||
tgt : '',
|
||||
args : 'osimage',
|
||||
msg : ''
|
||||
},
|
||||
|
||||
success : setOSImageCookies
|
||||
});
|
||||
|
||||
// Get groups
|
||||
$.ajax( {
|
||||
url : 'lib/cmd.php',
|
||||
dataType : 'json',
|
||||
data : {
|
||||
cmd : 'extnoderange',
|
||||
tgt : '/.*',
|
||||
args : 'subgroups',
|
||||
msg : ''
|
||||
},
|
||||
|
||||
success : setGroupsCookies
|
||||
});
|
||||
|
||||
// Generate new tab ID
|
||||
var inst = tabId.replace('ivmProvisionTab', '');
|
||||
|
||||
// Open new tab
|
||||
// Create provision form
|
||||
var provForm = $('<div class="form"></div>');
|
||||
|
||||
// Create status bar
|
||||
var barId = 'ivmProvisionStatBar' + inst;
|
||||
var statBar = createStatusBar(barId);
|
||||
statBar.hide();
|
||||
provForm.append(statBar);
|
||||
|
||||
// Create loader
|
||||
var loader = createLoader('ivmProvisionLoader' + inst);
|
||||
loader.hide();
|
||||
statBar.append(loader);
|
||||
|
||||
// Create info bar
|
||||
var infoBar = createInfoBar('Provision a IVM node');
|
||||
provForm.append(infoBar);
|
||||
|
||||
// Append to provision tab
|
||||
$('#' + tabId).append(provForm);
|
||||
|
||||
// Node name
|
||||
var nodeName = $('<div><label for="nodeName">Node:</label><input type="text" name="nodeName"/></div>');
|
||||
provForm.append(nodeName);
|
||||
|
||||
// Group
|
||||
var group = $('<div></div>');
|
||||
var groupLabel = $('<label for="group">Group:</label>');
|
||||
var groupInput = $('<input type="text" name="group"/>');
|
||||
|
||||
// Get the groups on-focus
|
||||
groupInput.focus(function() {
|
||||
var groupNames = $.cookie('Groups');
|
||||
|
||||
// If there are groups, turn on auto-complete
|
||||
if (groupNames) {
|
||||
$(this).autocomplete(groupNames.split(','));
|
||||
}
|
||||
});
|
||||
|
||||
group.append(groupLabel);
|
||||
group.append(groupInput);
|
||||
provForm.append(group);
|
||||
|
||||
// Boot method (boot, install, stat, iscsiboot, netboot, statelite)
|
||||
var method = $('<div></div>');
|
||||
var methodLabel = $('<label for="method">Boot method:</label>');
|
||||
var methodSelect = $('<select id="bootMethod" name="bootMethod"></select>');
|
||||
methodSelect.append('<option value="boot">boot</option>');
|
||||
methodSelect.append('<option value="install">install</option>');
|
||||
methodSelect.append('<option value="iscsiboot">iscsiboot</option>');
|
||||
methodSelect.append('<option value="netboot">netboot</option>');
|
||||
methodSelect.append('<option value="statelite">statelite</option>');
|
||||
method.append(methodLabel);
|
||||
method.append(methodSelect);
|
||||
provForm.append(method);
|
||||
|
||||
// Boot type (zvm, pxe, yaboot)
|
||||
var type = $('<div></div>');
|
||||
var typeLabel = $('<label for="type">Boot type:</label>');
|
||||
var typeSelect = $('<select id="bootType" name="bootType"></select>');
|
||||
typeSelect.append('<option value="zvm">zvm</option>');
|
||||
typeSelect.append('<option value="install">pxe</option>');
|
||||
typeSelect.append('<option value="iscsiboot">yaboot</option>');
|
||||
type.append(typeLabel);
|
||||
type.append(typeSelect);
|
||||
provForm.append(type);
|
||||
|
||||
// Operating system
|
||||
var os = $('<div></div>');
|
||||
var osLabel = $('<label for="os">Operating system:</label>');
|
||||
var osInput = $('<input type="text" name="os"/>');
|
||||
|
||||
// Get the OS versions on-focus
|
||||
var tmp;
|
||||
osInput.focus(function() {
|
||||
tmp = $.cookie('OSVers');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
os.append(osLabel);
|
||||
os.append(osInput);
|
||||
provForm.append(os);
|
||||
|
||||
// Architecture
|
||||
var arch = $('<div></div>');
|
||||
var archLabel = $('<label for="arch">Architecture:</label>');
|
||||
var archInput = $('<input type="text" name="arch"/>');
|
||||
|
||||
// Get the OS architectures on-focus
|
||||
archInput.focus(function() {
|
||||
tmp = $.cookie('OSArchs');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
arch.append(archLabel);
|
||||
arch.append(archInput);
|
||||
provForm.append(arch);
|
||||
|
||||
// Profiles
|
||||
var profile = $('<div></div>');
|
||||
var profileLabel = $('<label for="profile">Profile:</label>');
|
||||
var profileInput = $('<input type="text" name="profile"/>');
|
||||
|
||||
// Get the profiles on-focus
|
||||
profileInput.focus(function() {
|
||||
tmp = $.cookie('Profiles');
|
||||
|
||||
// If there are any, turn on auto-complete
|
||||
if (tmp) {
|
||||
$(this).autocomplete(tmp.split(','));
|
||||
}
|
||||
});
|
||||
profile.append(profileLabel);
|
||||
profile.append(profileInput);
|
||||
provForm.append(profile);
|
||||
|
||||
/**
|
||||
* Provision
|
||||
*/
|
||||
var provisionBtn = createButton('Provision');
|
||||
provisionBtn.bind('click', function(event) {
|
||||
// Insert provision code here
|
||||
});
|
||||
provForm.append(provisionBtn);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load resources
|
||||
*
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadResources() {
|
||||
|
||||
}
|
@ -899,8 +899,6 @@ function loadInventory(data) {
|
||||
* @return Nothing
|
||||
*/
|
||||
function loadProvisionPage(tabId) {
|
||||
// Get tab area where new tab will go
|
||||
var myTab = getProvisionTab();
|
||||
var errMsg;
|
||||
|
||||
// Get the OS image names
|
||||
|
Loading…
x
Reference in New Issue
Block a user