Added the skeleton of the system p hw discovery wizard.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@2354 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
parent
b194844f34
commit
a347829161
@ -76,10 +76,9 @@ $MENU = array(
|
||||
'default' => 'groups',
|
||||
'list' => array(
|
||||
'lab' => array('label' => 'Lab Floor', 'url' => "$TOPDIR/machines/lab.php"),
|
||||
'frames' => array('label' => 'Frames', 'url' => "$TOPDIR/machines/frames.php"),
|
||||
'groups' => array('label' => 'Groups', 'url' => "$TOPDIR/machines/groups.php"),
|
||||
'nodes' => array('label' => 'Nodes', 'url' => "$TOPDIR/machines/nodes.php"),
|
||||
'layout' => array('label' => 'Layout', 'url' => "$TOPDIR/machines/layout.php"),
|
||||
'frames' => array('label' => 'Racks', 'url' => "$TOPDIR/machines/frames.php"),
|
||||
'groups' => array('label' => 'Groups/Nodes', 'url' => "$TOPDIR/machines/groups.php"),
|
||||
'discover' => array('label' => 'Discover', 'url' => "$TOPDIR/machines/discover.php"),
|
||||
)
|
||||
),
|
||||
'manage' => array(
|
||||
@ -127,7 +126,7 @@ $MENU = array(
|
||||
'default' => 'diagnose',
|
||||
'list' => array(
|
||||
'diagnose' => array('label' => 'Diagnose', 'url' => "$TOPDIR/support/diagnose.php"),
|
||||
'update' => array('label' => 'Update', 'url' => "$TOPDIR/support/update.php"),
|
||||
'update' => array('label' => 'Update', 'url' => "$TOPDIR/support/updategui.php"),
|
||||
'howtos' => array('label' => 'HowTos', 'url' => getDocURL('howto')),
|
||||
'manpages' => array('label' => 'Man Pages', 'url' => getDocURL('manpage')),
|
||||
'maillist' => array('label' => 'Mail List', 'url' => getDocURL('web','mailinglist')),
|
||||
|
@ -221,7 +221,7 @@ a.button {
|
||||
background: transparent url('../images/bg_button_a.gif') no-repeat scroll top right;
|
||||
color: #444;
|
||||
display: block;
|
||||
float: left;
|
||||
/* float: left; */
|
||||
font: normal 12px arial, sans-serif;
|
||||
height: 24px;
|
||||
margin-right: 6px;
|
||||
|
29
xCAT-web/lib/wizard.css
Normal file
29
xCAT-web/lib/wizard.css
Normal file
@ -0,0 +1,29 @@
|
||||
|
||||
/* Styles specific to the wizards */
|
||||
|
||||
#outerWizardPane {
|
||||
/* position: relative; so the h3 inside can be absolute to this div */
|
||||
/* border: 1px solid black; */
|
||||
background-color: #CCCCFF;
|
||||
margin: 0px 20px 15px 20px;
|
||||
padding: 5px 0px;
|
||||
}
|
||||
|
||||
#wizardHeading { /* the inner pane where the wizard page contents goes */
|
||||
/* position: absolute; move this up so it is part of the outerWizardPane border
|
||||
top: -25px;
|
||||
left: 50px;
|
||||
background-color: white;
|
||||
padding: 0px 5px; */
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#wizardPane {
|
||||
background-color: white;
|
||||
padding: 10px 0px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.NonCurrentSummaryItem {}
|
||||
|
||||
.CurrentSummaryItem { background-color: yellow; }
|
91
xCAT-web/lib/wizard.php
Normal file
91
xCAT-web/lib/wizard.php
Normal file
@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
// Utility functions to help display a wizard. Also use wizard.css.
|
||||
|
||||
/* Create an array that lists the page function names and the page titles...
|
||||
$pages = array('one' => 'Page One',
|
||||
'two' => 'Page Two',
|
||||
'three' => 'Page Three',
|
||||
);
|
||||
*/
|
||||
|
||||
function displayWizard($pages) {
|
||||
$keys = array_keys($pages);
|
||||
|
||||
if (isset($_REQUEST['page'])) { // navigate to another page in the wizard
|
||||
$page = $_REQUEST['page'];
|
||||
$action = $_REQUEST['action'];
|
||||
|
||||
// Figure out the function for this page. Search the keys.
|
||||
$k = array_search($page, $keys);
|
||||
if ($k === FALSE) { msg('E',"Page $page not found in the wizard."); exit; }
|
||||
if ($action == 'back') {
|
||||
$k--;
|
||||
if ($k < 0) { msg('E',"Can't go backward past the 1st page ($page)."); exit; }
|
||||
}
|
||||
elseif ($action == 'next') {
|
||||
$k++;
|
||||
if ($k >= count($pages)) { $k = 0; } // this was the Finish button - go back to the beginning
|
||||
}
|
||||
elseif ($action == 'cancel') {
|
||||
$k = 0;
|
||||
//todo: unset all the _SESSION variables
|
||||
}
|
||||
|
||||
// Run the function for this page
|
||||
$keys[$k]();
|
||||
configureButtons($k, $pages);
|
||||
}
|
||||
|
||||
else { // initial display of the wizard - show the 1st page
|
||||
|
||||
echo "<div id=outerWizardPane>\n";
|
||||
echo "<p id=wizardSummary>";
|
||||
$text = array();
|
||||
foreach ($keys as $k => $key) { $text[] = "<span id=$key class=NonCurrentSummaryItem>$pages[$key]</span>"; }
|
||||
echo implode(' -> ', $text);
|
||||
echo "</p>\n";
|
||||
echo "<h2 id=wizardHeading>", $pages[$keys[0]], "</h2>\n";
|
||||
|
||||
echo "<div id=wizardPane>\n";
|
||||
// The contents of the specific page goes in here
|
||||
$keys[0]();
|
||||
echo "</div>\n"; // end the inner wizard pane
|
||||
|
||||
// Add the wizard decorations
|
||||
insertButtons(
|
||||
array('label' => 'Back', 'otherattrs' => 'id=backButton', 'onclick' => '$("#wizardPane").load("?page="+document.currentPage+"&action=back");'),
|
||||
array('label' => 'Next', 'otherattrs' => 'id=nextButton', 'onclick' => '$("#wizardPane").load("?page="+document.currentPage+"&action=next");'),
|
||||
array('label' => 'Cancel', 'onclick' => '$("#wizardPane").load("?page="'.$keys[0].'"&action=cancel");')
|
||||
);
|
||||
configureButtons(0, $pages);
|
||||
echo "</div>\n"; // end the outer wizard pane
|
||||
}
|
||||
} // end of displayWizard()
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// Disable buttons as appropriate and set current page
|
||||
function configureButtons($k, $arr) {
|
||||
$keys = array_keys($arr);
|
||||
echo "<script type='text/javascript'>";
|
||||
|
||||
// Set the global variable so the buttons know which page this is
|
||||
echo "document.currentPage='$keys[$k]';";
|
||||
|
||||
// Move the summary indicator
|
||||
echo '$("#wizardSummary span").removeClass("CurrentSummaryItem");';
|
||||
echo '$("#wizardSummary #', $keys[$k], '").addClass("CurrentSummaryItem");';
|
||||
|
||||
// Change the title
|
||||
echo '$("#wizardHeading").text("', $arr[$keys[$k]], '");';
|
||||
|
||||
// Adjust the buttons appropriately for this page
|
||||
if ($k <= 0) { echo '$("#backButton").hide();'; } // disable back button
|
||||
else { echo '$("#backButton").show();'; }
|
||||
if ($k >= (count($arr)-1)) { echo '$("#nextButton span").text("Finish");'; } // disable next button
|
||||
else { echo '$("#nextButton span").text("Next");'; }
|
||||
|
||||
echo "</script>\n";
|
||||
}
|
||||
?>
|
11
xCAT-web/machines/discover.css
Normal file
11
xCAT-web/machines/discover.css
Normal file
@ -0,0 +1,11 @@
|
||||
|
||||
/* Styles specific to the Discover page. */
|
||||
|
||||
#wizardPane H3 {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
P#wizardDone {font-weight : bold; }
|
||||
|
||||
.wizardProgressTable { margin: 10px 0px; }
|
173
xCAT-web/machines/discover.php
Normal file
173
xCAT-web/machines/discover.php
Normal file
@ -0,0 +1,173 @@
|
||||
<?php
|
||||
|
||||
// Display a wizard to assist the user in discovering new nodes
|
||||
|
||||
$TOPDIR = '..';
|
||||
require_once "$TOPDIR/lib/functions.php";
|
||||
require_once "$TOPDIR/lib/wizard.php";
|
||||
|
||||
|
||||
// This array controls the order of pages in the wizard
|
||||
$pages = array('intro' => 'Discover Hardware',
|
||||
'patterns' => 'Cluster Patterns',
|
||||
'patterns2' => 'More Cluster Patterns',
|
||||
'preparemn' => 'Prepare Management Node',
|
||||
'prediscover' => 'Power On Hardware',
|
||||
'discover' => 'Discover HW Control Points',
|
||||
'updatedefs' => 'Update Definitions',
|
||||
'configurehcps' => 'Configure HW Control Points',
|
||||
'createnodes' => 'Create Nodes',
|
||||
'testhcps' => 'Test HW Control',
|
||||
'done' => 'Complete',
|
||||
);
|
||||
|
||||
if (isset($_REQUEST['page'])) { displayWizard($pages); }
|
||||
|
||||
else { // initial display of the wizard, show the whole page
|
||||
insertHeader('Discover New Nodes', array('discover.css',"$TOPDIR/lib/wizard.css"), array("$TOPDIR/jq/jquery.min.js"), array('machines','discover'));
|
||||
echo "<div id=content align=center>\n";
|
||||
displayWizard($pages);
|
||||
echo "</div>\n"; // end the content div
|
||||
insertFooter();
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function intro() {
|
||||
echo "<p>This wizard will guide you through the process of defining the naming conventions within your cluster, discovering the hardware on your network, and automatically defining it in the xCAT database.";
|
||||
echo " Choose which type of hardware you want to discover, and then click Next.</p>\n";
|
||||
echo "<table cellspacing=5>\n";
|
||||
echo "<tr><td align=left><label><input type=radio name=hwType value=systemx disabled> System x hardware (not implemented yet)</label></td></tr>\n";
|
||||
echo "<tr><td align=left><label><input type=radio name=hwType value=systemp checked> System p hardware</label></td></tr>\n";
|
||||
echo "</table>\n";
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function patterns() {
|
||||
echo "<table cellspacing=5>\n";
|
||||
echo "<tr><td colspan=2 align=center><h3>Switch Patterns</h3></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=switchHostname>Switch Hostname Pattern:</label></td><td align=left><input type=text name=switchHostname id=switchHostname></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=switchIP>Switch IP Address Pattern:</label></td><td align=left><input type=text name=switchIP id=switchIP></td></tr>\n";
|
||||
|
||||
echo "<tr><td colspan=2 align=center><h3>HMCs</h3></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=hmcHostname>HMC Hostname Pattern:</label></td><td align=left><input type=text name=hmcHostname id=hmcHostname></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=hmcIP>HMC IP Address Pattern:</label></td><td align=left><input type=text name=hmcIP id=hmcIP></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=numCECs>Number of CECs per HMC:</label></td><td align=left><input type=text name=numCECs id=numCECs></td></tr>\n";
|
||||
|
||||
echo "<tr><td colspan=2 align=center><h3>Frame (BPA) Patterns</h3></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=bpaHostname>BPA Hostname Pattern:</label></td><td align=left><input type=text name=bpaHostname id=bpaHostname></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=bpaIP>BPA IP Address Pattern:</label></td><td align=left><input type=text name=bpaIP id=bpaIP></td></tr>\n";
|
||||
|
||||
echo "<tr><td colspan=2 align=center><h3>Drawer (FSP/CEC) Patterns</h3></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=fspHostname>FSP Hostname Pattern:</label></td><td align=left><input type=text name=fspHostname id=fspHostname></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=fspIP>FSP IP Address Pattern:</label></td><td align=left><input type=text name=fspIP id=fspIP></td></tr>\n";
|
||||
echo "</table>\n";
|
||||
|
||||
//todo: get HCP userids/pws
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function patterns2() {
|
||||
echo "<table cellspacing=5>\n";
|
||||
echo "<tr><td colspan=2 align=center><h3>Building Blocks</h3></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=numFrames>Number of Frames per Building Block:</label></td><td align=left><input type=text name=numFrames id=numFrames></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=subnet>Subnet Pattern for Cluster Mgmt LAN:</label></td><td align=left><input type=text name=subnet id=subnet></td></tr>";
|
||||
echo "<tr><td colspan=2 align=center>(Subnet address in each Building Block)</td></tr>\n";
|
||||
echo "<tr><td align=right><label for=ioNodename>I/O Node Name Pattern:</label></td><td align=left><input type=text name=ioNodename id=ioNodename></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=computeNodename>Compute Node Name Pattern:</label></td><td align=left><input type=text name=computeNodename id=computeNodename></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=hfiHostname>HFI NIC Hostname Pattern:</label></td><td align=left><input type=text name=hfiHostname id=hfiHostname></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=hfiIP>HFI NIC IP Address Pattern:</label></td><td align=left><input type=text name=hfiIP id=hfiIP></td></tr>\n";
|
||||
|
||||
echo "<tr><td colspan=2 align=center><h3>LPAR Information</h3></td></tr>\n";
|
||||
echo "<tr><td align=right><label for=numLPARs>Number of LPARs per Drawer:</label></td><td align=left><input type=text name=numLPARs id=numLPARs></td></tr>\n";
|
||||
echo "</table>\n";
|
||||
// do we need to get any info about the resources that should be in each lpar, or do we just divide them evenly?
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function preparemn() {
|
||||
global $TOPDIR;
|
||||
echo "<table class=wizardProgressTable border=0 cellspacing=10>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Write Cluster Topology Configuration File.</td></tr>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Define networks.</td></tr>\n"; // run makenetworks and update the dynamic range for the service LAN
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Configure DHCP.</td></tr>\n"; // run makedhcp and show progress
|
||||
echo "</table>\n";
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function prediscover() {
|
||||
//todo: there's a better way to get this list left justified, but have the block in the center, but don't feel like figuring it out right now.
|
||||
echo "<table><tr><td align=left>\n";
|
||||
echo "<ol><li>Power on all of the HMCs.<li>Then power on all of frames.<li>Then click Next to discover the hardware on the service network.</ol>\n";
|
||||
echo "</td></tr></table>\n";
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function discover() {
|
||||
global $TOPDIR;
|
||||
//todo: run lsslp and show progress
|
||||
echo "<table class=wizardProgressTable border=0 cellspacing=10>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Discovering HMCs, BPAs, and FSPs...</td></tr>\n";
|
||||
echo "</table>\n";
|
||||
echo "<p>(This will show the list of hw discovered & located, including nodenames and IP addresses assigned, and then save all info to the DB.)</p>\n";
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function updatedefs() {
|
||||
global $TOPDIR;
|
||||
echo "<table class=wizardProgressTable border=0 cellspacing=10>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Determine which CECs each HMC should manage.</td></tr>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Assign frame numbers, supernode numbers, and building block numbers.</td></tr>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Assign building block subnets.</td></tr>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Update name resolution.</td></tr>\n"; // run makedhosts and makedns
|
||||
echo "</table>\n";
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function configurehcps() {
|
||||
global $TOPDIR;
|
||||
echo "<table class=wizardProgressTable border=0 cellspacing=10>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Assign CECs to their HMC.</td></tr>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Set frame numbers in BPAs.</td></tr>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Power on CECs to Standby.</td></tr>\n";
|
||||
echo "</table>\n";
|
||||
|
||||
//todo: set HCP userids/pws
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function createnodes() {
|
||||
global $TOPDIR;
|
||||
echo "<table class=wizardProgressTable border=0 cellspacing=10>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Create LPARs in each CEC.</td></tr>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>Save node definitions in xCAT database.</td></tr>\n";
|
||||
echo "</table>\n";
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function testhcps() {
|
||||
global $TOPDIR;
|
||||
echo "<table class=wizardProgressTable border=0 cellspacing=10>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>(Output for rpower stat for sample nodes)</td></tr>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>(Output for rinv for sample nodes)</td></tr>\n";
|
||||
echo "<tr><td><img src='$TOPDIR/images/checked-box.gif'></td><td>(Output for rvitals for sample nodes)</td></tr>\n";
|
||||
echo "</table>\n";
|
||||
}
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
function done() {
|
||||
global $TOPDIR;
|
||||
echo "<p id=wizardDone>Cluster set up successfully completed!</p>\n";
|
||||
echo "<p>You can now start to <a href='$TOPDIR/deploy/osimages.php'>deploy nodes</a>.</p>\n";
|
||||
}
|
||||
?>
|
@ -5,7 +5,7 @@
|
||||
$TOPDIR = '..';
|
||||
require_once "$TOPDIR/lib/functions.php";
|
||||
|
||||
insertHeader('About', NULL, NULL, array('support','about'));
|
||||
insertHeader('About xCAT Web Interface', NULL, NULL, array('support','about'));
|
||||
?>
|
||||
<h4>xCAT Web Interface version: ???</h4>
|
||||
|
||||
@ -14,7 +14,7 @@ insertHeader('About', NULL, NULL, array('support','about'));
|
||||
<ul>
|
||||
<li>Vallard Benincosa</li>
|
||||
<li>Bruce Potter</li>
|
||||
<li>Quyen Nguyen</li>
|
||||
<li>Jarrod Johnson</li>
|
||||
</ul>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php insertFooter(); ?>
|
@ -7,5 +7,5 @@ require_once "$TOPDIR/lib/functions.php";
|
||||
|
||||
insertHeader('Diagnose', NULL, NULL, array('support','diagnose'));
|
||||
insertNotDoneYet();
|
||||
echo '</body></html>';
|
||||
insertFooter();
|
||||
?>
|
||||
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
|
||||
// Allow the user to set preferences for this web interface
|
||||
// Tell users how to request enhancements
|
||||
|
||||
$TOPDIR = '..';
|
||||
require_once "$TOPDIR/lib/functions.php";
|
||||
@ -8,46 +8,16 @@ require_once "$TOPDIR/lib/functions.php";
|
||||
insertHeader('Suggestions', NULL, NULL, array('support','suggest'));
|
||||
?>
|
||||
|
||||
<h1>Send Sugestions to the CSM Development Team</h1>
|
||||
<h1>Send Sugestions to the xCAT Development Team</h1>
|
||||
|
||||
<p>Suggestions, bug reports, bug fixes, etc., are always welcome. Please post them to the
|
||||
<A href="http://xcat.org/mailman/listinfo/xcat-user" >xCAT mailing list</A>.
|
||||
Contributions are also welcome, such as minor new features, better
|
||||
images, or even whole new pages.
|
||||
See <a href="https://sourceforge.net/projects/xcat">xCAT on SourceForge</a>. Thanks!</p>
|
||||
images, whole new pages, or enhancements to base xCAT.
|
||||
See the <a href="http://xcat.wiki.sourceforge.net/xCAT+2+Contribution+Guildelines">xCAT contribution guidelines</a>
|
||||
for more information.</p>
|
||||
|
||||
<h3>Todo List</h3>
|
||||
<p>To see what is already on our todo list for this web interface, or to request a new feature,
|
||||
go to the <a href="http://xcat.wiki.sourceforge.net/Web+Interface+Wish+List">Web Interface Wish List</a>.</p>
|
||||
|
||||
<p>The following items are already on our todo list, in
|
||||
approximately priority order:</p>
|
||||
|
||||
<ul>
|
||||
<li>Update the spec file for this web interface to have all the necessary post installation scripts (Bruce)</li>
|
||||
<li>One button update of this web interface from the internet (Bruce)</li>
|
||||
<li>Improve the look of associating the top menu with the 2nd menu (Quyen)</li>
|
||||
<li>Do frame view and rack layout pages (Bruce)</li>
|
||||
<li>Do several of the buttons within the machines views (Bruce):
|
||||
<ul>
|
||||
<li>Attributes</li>
|
||||
<li>Ping</li>
|
||||
<li>Run Cmds</li>
|
||||
<li>Copy Files</li>
|
||||
<li>Create Group</li>
|
||||
<li>Diagnose</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Do RMC configuration pages (Bruce)</li>
|
||||
<li>Do Cluster Settings (site table) page (Bruce)</li>
|
||||
<li>Start cluster wizard page (Bruce)</li>
|
||||
<li>Do a summary page that lists # of bad nodes, # of jobs, etc.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Known Defects and Limitations</h3>
|
||||
|
||||
<ul>
|
||||
<li>to be filled in...</li>
|
||||
</ul>
|
||||
|
||||
<p>The <b>Change Log</b> describing recent enhancements is in the xcat-web spec file</a>.</p>
|
||||
</body>
|
||||
</html>
|
||||
<?php insertFooter(); ?>
|
@ -1,28 +1,12 @@
|
||||
<?php
|
||||
/* session_start(); */
|
||||
$TOPDIR = '..';
|
||||
require_once "$TOPDIR/functions.php";
|
||||
insertHeader('Update xCAT Web Interface', $TOPDIR, '', '');
|
||||
insertNav('updategui', $TOPDIR);
|
||||
|
||||
?>
|
||||
|
||||
<div id=content>
|
||||
<P id=logo><IMG class=Middle src="<?= $TOPDIR ?>/images/xcatlogo.gif"></P>
|
||||
<FORM name=updateguiForm action="updategui.php" class=NoMargin>
|
||||
|
||||
<?php
|
||||
getPkg();
|
||||
?>
|
||||
|
||||
</FORM>
|
||||
</div>
|
||||
</body>
|
||||
</HTML>
|
||||
require_once "$TOPDIR/lib/functions.php";
|
||||
insertHeader('Update xCAT Web Interface', NULL, NULL, array('support','update'));
|
||||
insertNotDoneYet();
|
||||
insertFooter();
|
||||
|
||||
|
||||
|
||||
<?php
|
||||
// Find, download, and install the xcat.web pkg
|
||||
function getPkg() { //------------------------------------
|
||||
$rpmname = 'xcat.web';
|
||||
|
Loading…
Reference in New Issue
Block a user