mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 03:12:30 +00:00 
			
		
		
		
	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:
		| @@ -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'; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user