From 0bf672f28411c8e7e23e190f155e1b53f176d3dc Mon Sep 17 00:00:00 2001 From: phamt Date: Mon, 29 Apr 2013 17:13:20 +0000 Subject: [PATCH] Changed nodeset tab to accept osimage argument. Allow z/VM identities to be specified in directory entry. Allow an admin username to log into the main xCAT UI. git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@16123 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- xCAT-UI/js/custom/zvmUtils.js | 8 ++- xCAT-UI/js/nodes/nodes.js | 12 ---- xCAT-UI/js/nodes/nodeset.js | 96 +++++++------------------------ xCAT-UI/js/provision/provision.js | 42 +++++++------- xCAT-UI/lib/functions.php | 2 +- 5 files changed, 48 insertions(+), 112 deletions(-) diff --git a/xCAT-UI/js/custom/zvmUtils.js b/xCAT-UI/js/custom/zvmUtils.js index 3945deb33..ef173a40e 100644 --- a/xCAT-UI/js/custom/zvmUtils.js +++ b/xCAT-UI/js/custom/zvmUtils.js @@ -5271,8 +5271,12 @@ function createZProvisionNew(inst) { var thisUserId = $('#' + thisTabId + ' input[name=userId]:visible'); var pos = thisUserEntry.val().indexOf('USER ' + thisUserId.val().toUpperCase()); if (pos < 0) { - errMsg = errMsg + 'The directory entry does not contain the correct user ID.
'; - ready = false; + + pos = thisUserEntry.val().indexOf('IDENTITY ' + thisUserId.val().toUpperCase()); + if (pos < 0) { + errMsg = errMsg + 'The directory entry does not contain the correct user/identity ID.
'; + ready = false; + } } // If no operating system is specified, create only user entry diff --git a/xCAT-UI/js/nodes/nodes.js b/xCAT-UI/js/nodes/nodes.js index ce7034fcf..5818f64c1 100644 --- a/xCAT-UI/js/nodes/nodes.js +++ b/xCAT-UI/js/nodes/nodes.js @@ -2109,18 +2109,6 @@ function updateStatusBar(data) { if (prg.html().indexOf('Error') > -1) { failed = true; } - - // Update data table - var rowPos; - for (var i in tgts) { - if (!failed) { - // Get row containing the node link and delete it - rowPos = findRow(tgts[i], '#' + nodesTableId, 1); - dTable.fnDeleteRow(rowPos); - } - } - - adjustColumnSize(nodesTableId); } else if (cmd == 'xdsh') { // Hide loader $('#' + statBarId).find('img').hide(); diff --git a/xCAT-UI/js/nodes/nodeset.js b/xCAT-UI/js/nodes/nodeset.js index 8a2367a7b..96d53171d 100644 --- a/xCAT-UI/js/nodes/nodeset.js +++ b/xCAT-UI/js/nodes/nodeset.js @@ -68,21 +68,7 @@ function loadNodesetPage(tgtNodes) { // Create target node or group var tgt = $('
'); vmAttr.append(tgt); - - // Create boot method drop down - var method = $('
'); - var methodLabel = $(''); - var methodSelect = $(''); - methodSelect.append('' - + '' - + '' - + '' - + '' - ); - method.append(methodLabel); - method.append(methodSelect); - imageAttr.append(method); - + // Create boot type drop down var type = $('
'); var typeLabel = $(''); @@ -94,58 +80,24 @@ function loadNodesetPage(tgtNodes) { type.append(typeLabel); type.append(typeSelect); imageAttr.append(type); - - // Create operating system input + + // Create operating system image input var os = $('
'); - var osLabel = $(''); - var osInput = $(''); - osInput.one('focus', function(){ - var tmp = $.cookie('osvers'); - if (tmp) { - // Turn on auto complete - $(this).autocomplete({ - source: tmp.split(',') - }); + var osLabel = $(''); + var osSelect = $(''); + osSelect.append($('')); + + var imageNames = $.cookie('imagenames').split(','); + if (imageNames) { + imageNames.sort(); + for (var i in imageNames) { + osSelect.append($('')); } - }); + } os.append(osLabel); - os.append(osInput); + os.append(osSelect); imageAttr.append(os); - // Create architecture input - var arch = $('
'); - var archLabel = $(''); - var archInput = $(''); - archInput.one('focus', function(){ - var tmp = $.cookie('osarchs'); - if (tmp) { - // Turn on auto complete - $(this).autocomplete({ - source: tmp.split(',') - }); - } - }); - arch.append(archLabel); - arch.append(archInput); - imageAttr.append(arch); - - // Create profiles input - var profile = $('
'); - var profileLabel = $(''); - var profileInput = $(''); - profileInput.one('focus', function(){ - tmp = $.cookie('profiles'); - if (tmp) { - // Turn on auto complete - $(this).autocomplete({ - source: tmp.split(',') - }); - } - }); - profile.append(profileLabel); - profile.append(profileInput); - imageAttr.append(profile); - // Generate tooltips nodesetForm.find('div input[title],select').tooltip({ position: "center right", @@ -187,16 +139,11 @@ function loadNodesetPage(tgtNodes) { if (ready) { // Get nodes - var tgts = $('#' + tabId + ' input[name=target]').val(); - // Get boot method - var method = $('#' + tabId + ' select[id=bootMethod]').val(); + var tgts = $('#' + tabId + ' input[name=target]').val(); // Get boot type var type = $('#' + tabId + ' select[id=bootType]').val(); - - // Get OS, arch, and profile - var os = $('#' + tabId + ' input[name=os]').val(); - var arch = $('#' + tabId + ' input[name=arch]').val(); - var profile = $('#' + tabId + ' input[name=profile]').val(); + // Get operating system image + var os = $('#' + tabId + ' select[name=os]').val(); // Disable all inputs, selects, and Ok button inputs.attr('disabled', 'disabled'); @@ -212,10 +159,7 @@ function loadNodesetPage(tgtNodes) { data : { cmd : 'nodeadd', tgt : '', - args : tgts + ';noderes.netboot=' + type - + ';nodetype.os=' + os - + ';nodetype.arch=' + arch - + ';nodetype.profile=' + profile, + args : tgts + ';noderes.netboot=' + type, msg : 'cmd=nodeadd;inst=' + inst }, @@ -259,8 +203,8 @@ function updateNodesetStatus(data) { // Get nodes var tgts = $('#' + tabId + ' input[name=target]').val(); - // Get boot method - var method = $('#' + tabId + ' select[id=bootMethod]').val(); + // Get operating system image + var os = $('#' + tabId + ' select[name=os]').val(); /** * (2) Update /etc/hosts diff --git a/xCAT-UI/js/provision/provision.js b/xCAT-UI/js/provision/provision.js index 9b4096bb9..74df15a4c 100644 --- a/xCAT-UI/js/provision/provision.js +++ b/xCAT-UI/js/provision/provision.js @@ -79,12 +79,12 @@ function loadProvisionPage() { // Create radio buttons for platforms var hwList = $('
    Platforms available:
'); - var esx = $('
  • ESX
  • '); - var kvm = $('
  • KVM
  • '); - var zvm = $('
  • z\/VM
  • '); - var ipmi = $('
  • iDataPlex
  • '); - var blade = $('
  • BladeCenter
  • '); - var hmc = $('
  • System p
  • '); + var esx = $('
  • ESX
  • '); + var kvm = $('
  • KVM
  • '); + var zvm = $('
  • z\/VM
  • '); + var ipmi = $('
  • iDataPlex
  • '); + var blade = $('
  • BladeCenter
  • '); + var hmc = $('
  • System p
  • '); hwList.append(esx); hwList.append(kvm); @@ -155,27 +155,27 @@ function loadProvisionPage() { resrcPg.append(resrcInfoBar); // Create radio buttons for platforms - var hwList = $('
      Platforms available:
    '); - var esx = $('
  • ESX
  • '); - var kvm = $('
  • KVM
  • '); - var zvm = $('
  • z\/VM
  • '); - var ipmi = $('
  • iDataPlex
  • '); - var blade = $('
  • BladeCenter
  • '); - var hmc = $('
  • System p
  • '); + var rsrcHwList = $('
      Platforms available:
    '); + esx = $('
  • ESX
  • '); + kvm = $('
  • KVM
  • '); + zvm = $('
  • z\/VM
  • '); + ipmi = $('
  • iDataPlex
  • '); + blade = $('
  • BladeCenter
  • '); + hmc = $('
  • System p
  • '); - hwList.append(esx); - hwList.append(kvm); - hwList.append(zvm); - hwList.append(blade); - hwList.append(ipmi); - hwList.append(hmc); + rsrcHwList.append(esx); + rsrcHwList.append(kvm); + rsrcHwList.append(zvm); + rsrcHwList.append(blade); + rsrcHwList.append(ipmi); + rsrcHwList.append(hmc); - resrcPg.append(hwList); + resrcPg.append(rsrcHwList); var okBtn = createButton('Ok'); okBtn.bind('click', function(event) { // Get hardware that was selected - var hw = $(this).parent().find('input[name="hw"]:checked').val(); + var hw = $(this).parent().find('input[name="rsrcHw"]:checked').val(); // Generate new tab ID var newTabId = hw + 'ResourceTab'; diff --git a/xCAT-UI/lib/functions.php b/xCAT-UI/lib/functions.php index a29856934..51827fc4e 100644 --- a/xCAT-UI/lib/functions.php +++ b/xCAT-UI/lib/functions.php @@ -327,7 +327,7 @@ function isRootAcess() { } } - if (strcmp($_SESSION["username"], 'root') == 0) { + if (strcmp($_SESSION["username"], 'root') == 0 || strcmp($_SESSION["username"], 'admin') == 0) { $_SESSION["xcatpassvalid"] = 1; }