mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 03:12:30 +00:00 
			
		
		
		
	Changed options for updatenode and rnetboot pages to be based on nodetype.os. Renamed "target node or group" to "target node range".
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@6979 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
		| @@ -655,7 +655,7 @@ function loadUnlockPage(tgtNodes) { | ||||
| 	var infoBar = createInfoBar('Give the root password for this node range to setup its SSH keys'); | ||||
| 	unlockForm.append(infoBar); | ||||
|  | ||||
| 	unlockForm.append('<div><label>Node range:</label><input type="text" id="node" name="node" readonly="readonly" value="' + tgtNodes + '"/></div>'); | ||||
| 	unlockForm.append('<div><label>Target node range:</label><input type="text" id="node" name="node" readonly="readonly" value="' + tgtNodes + '"/></div>'); | ||||
| 	unlockForm.append('<div><label>Password:</label><input type="password" id="password" name="password"/></div>'); | ||||
|  | ||||
| 	/** | ||||
| @@ -738,7 +738,7 @@ function loadScriptPage(tgtNodes) { | ||||
| 	scriptForm.append(infoBar); | ||||
|  | ||||
| 	// Target node or group | ||||
| 	var tgt = $('<div><label for="target">Target node or group:</label><input type="text" name="target" value="' + tgtNodes + '"/></div>'); | ||||
| 	var tgt = $('<div><label for="target">Target node range:</label><input type="text" name="target" value="' + tgtNodes + '"/></div>'); | ||||
| 	scriptForm.append(tgt); | ||||
|  | ||||
| 	// Upload file | ||||
|   | ||||
| @@ -51,7 +51,7 @@ function loadNodesetPage(tgtNodes) { | ||||
| 	nodesetForm.append(infoBar); | ||||
|  | ||||
| 	// Create target node or group | ||||
| 	var tgt = $('<div><label for="target">Target node or group:</label><input type="text" name="target" value="' + tgtNodes + '"/></div>'); | ||||
| 	var tgt = $('<div><label for="target">Target node range:</label><input type="text" name="target" value="' + tgtNodes + '"/></div>'); | ||||
| 	nodesetForm.append(tgt); | ||||
|  | ||||
| 	// Create boot method drop down | ||||
|   | ||||
| @@ -6,9 +6,20 @@ | ||||
|  * @return Nothing | ||||
|  */ | ||||
| function loadNetbootPage(tgtNodes) { | ||||
| 	// Get node OS (AIX, rh*, centos*, fedora*, or sles*) | ||||
| 	var osHash = new Object(); | ||||
| 	var nodes = tgtNodes.split(','); | ||||
| 	for (var i in nodes) { | ||||
| 		var os = getNodeAttr(nodes[i], 'os'); | ||||
| 		var osBase = os.match(/[a-zA-Z]+/); | ||||
| 		if (osBase) { | ||||
| 			nodes[osBase] = 1; | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	// Get nodes tab | ||||
| 	var tab = getNodesTab(); | ||||
|  | ||||
| 	 | ||||
| 	// Generate new tab ID | ||||
| 	var inst = 0; | ||||
| 	var newTabId = 'netbootTab' + inst; | ||||
| @@ -36,7 +47,7 @@ function loadNetbootPage(tgtNodes) { | ||||
| 	netbootForm.append(infoBar); | ||||
|  | ||||
| 	// Create target node or group input | ||||
| 	var target = $('<div><label for="target">Target node or group:</label><input type="text" name="target" value="' + tgtNodes + '"/></div>'); | ||||
| 	var target = $('<div><label for="target">Target node range:</label><input type="text" name="target" value="' + tgtNodes + '"/></div>'); | ||||
| 	netbootForm.append(target); | ||||
|  | ||||
| 	// Create options | ||||
| @@ -62,8 +73,10 @@ function loadNetbootPage(tgtNodes) { | ||||
| 	optsList.append('<li><input type="checkbox" id="F" name="F"/>Force reboot</li>'); | ||||
| 	// Create force shutdown checkbox | ||||
| 	optsList.append('<li><input type="checkbox" id="f" name="f"/>Force immediate shutdown of the partition</li>'); | ||||
| 	// Create iscsi dump checkbox | ||||
| 	optsList.append('<li><input type="checkbox" id="I" name="I"/>Do a iscsi dump on AIX</li>'); | ||||
| 	if (osHash['AIX']) { | ||||
| 		// Create iscsi dump checkbox | ||||
| 		optsList.append('<li><input type="checkbox" id="I" name="I"/>Do a iscsi dump on AIX</li>'); | ||||
| 	} | ||||
| 	 | ||||
| 	// Show boot order when checkbox is checked | ||||
| 	bootOrderChkBox.bind('click', function(event) { | ||||
|   | ||||
| @@ -6,6 +6,31 @@ | ||||
|  * @return Nothing | ||||
|  */ | ||||
| function loadUpdatenodePage(tgtNodes) { | ||||
| 	// Get OS images | ||||
| 	$.ajax( { | ||||
| 		url : 'lib/cmd.php', | ||||
| 		dataType : 'json', | ||||
| 		data : { | ||||
| 			cmd : 'tabdump', | ||||
| 			tgt : '', | ||||
| 			args : 'osimage', | ||||
| 			msg : '' | ||||
| 		}, | ||||
|  | ||||
| 		success : setOSImageCookies | ||||
| 	}); | ||||
| 	 | ||||
| 	// Get node OS (AIX, rh*, centos*, fedora*, or sles*) | ||||
| 	var osHash = new Object(); | ||||
| 	var nodes = tgtNodes.split(','); | ||||
| 	for (var i in nodes) { | ||||
| 		var os = getNodeAttr(nodes[i], 'os'); | ||||
| 		var osBase = os.match(/[a-zA-Z]+/); | ||||
| 		if (osBase) { | ||||
| 			nodes[osBase] = 1; | ||||
| 		} | ||||
| 	} | ||||
| 	 | ||||
| 	// Get nodes tab | ||||
| 	var tab = getNodesTab(); | ||||
|  | ||||
| @@ -17,9 +42,6 @@ function loadUpdatenodePage(tgtNodes) { | ||||
| 		inst = inst + 1; | ||||
| 		newTabId = 'updatenodeTab' + inst; | ||||
| 	} | ||||
|  | ||||
| 	// Get node OS | ||||
| 	// They could be AIX, rh*, centos*, fedora*, or sles* | ||||
| 	 | ||||
| 	// Create updatenode form | ||||
| 	var updatenodeForm = $('<div class="form"></div>'); | ||||
| @@ -39,7 +61,7 @@ function loadUpdatenodePage(tgtNodes) { | ||||
| 	updatenodeForm.append(infoBar); | ||||
|  | ||||
| 	// Create target node or group input | ||||
| 	var target = $('<div><label for="target">Target node or group:</label><input type="text" name="target" value="' + tgtNodes + '"/></div>'); | ||||
| 	var target = $('<div><label for="target">Target node range:</label><input type="text" name="target" value="' + tgtNodes + '"/></div>'); | ||||
| 	updatenodeForm.append(target); | ||||
|  | ||||
| 	// Create options | ||||
| @@ -50,34 +72,36 @@ function loadUpdatenodePage(tgtNodes) { | ||||
| 	optsDIV.append(optsList); | ||||
| 	updatenodeForm.append(optsDIV); | ||||
| 		 | ||||
| 	// Create update all software checkbox | ||||
| 	var updateAllChkBox = $('<input type="checkbox" id="A" name="A"/>'); | ||||
| 	var updateAllOpt = $('<li></li>'); | ||||
| 	optsList.append(updateAllOpt); | ||||
| 	updateAllOpt.append(updateAllChkBox); | ||||
| 	updateAllOpt.append('Install or update all software contained in the source directory'); | ||||
| 	var allSwScrDirectory = $('<li><label for="allSwSrcDirectory">Alternate source directory:</label><input type="text" name="allSwSrcDirectory"/></li>'); | ||||
| 	allSwScrDirectory.hide(); | ||||
| 	optsList.append(allSwScrDirectory); | ||||
| 			 | ||||
| 	// Show alternate source directory when checked | ||||
| 	updateAllChkBox.bind('click', function(event) { | ||||
| 		if ($(this).is(':checked')) { | ||||
| 			allSwScrDirectory.show(); | ||||
| 		} else { | ||||
| 			allSwScrDirectory.hide(); | ||||
| 		} | ||||
| 	}); | ||||
| 	// Create update all software checkbox (AIX) | ||||
| 	if (osHash['AIX']) { | ||||
|     	var updateAllChkBox = $('<input type="checkbox" id="A" name="A"/>'); | ||||
|     	var updateAllOpt = $('<li></li>'); | ||||
|     	optsList.append(updateAllOpt); | ||||
|     	updateAllOpt.append(updateAllChkBox); | ||||
|     	updateAllOpt.append('Install or update all software contained in the source directory'); | ||||
|     	var allSwScrDirectory = $('<li><label for="allSwSrcDirectory">Source directory:</label><input type="text" name="allSwSrcDirectory"/></li>'); | ||||
|     	allSwScrDirectory.hide(); | ||||
|     	optsList.append(allSwScrDirectory); | ||||
|     			 | ||||
|     	// Show alternate source directory when checked | ||||
|     	updateAllChkBox.bind('click', function(event) { | ||||
|     		if ($(this).is(':checked')) { | ||||
|     			allSwScrDirectory.show(); | ||||
|     		} else { | ||||
|     			allSwScrDirectory.hide(); | ||||
|     		} | ||||
|     	}); | ||||
| 	} | ||||
| 	 | ||||
| 	// Create update software checkbox | ||||
| 	var updateChkBox = $('<input type="checkbox" id="S" name="S"/>'); | ||||
| 	var updateOpt = $('<li></li>'); | ||||
| 	optsList.append(updateOpt); | ||||
| 	updateOpt.append(updateChkBox); | ||||
| 	updateOpt.append('Update software'); | ||||
| 	updateOpt.append('Update existing software'); | ||||
| 		 | ||||
| 	// Create source directory input | ||||
| 	var scrDirectory = $('<li><label for="srcDirectory">Alternate source directory:</label><input type="text" name="srcDirectory"/></li>'); | ||||
| 	var scrDirectory = $('<li><label for="srcDirectory">Source directory:</label><input type="text" name="srcDirectory"/></li>'); | ||||
| 	scrDirectory.hide(); | ||||
| 	optsList.append(scrDirectory); | ||||
| 	 | ||||
| @@ -96,18 +120,29 @@ function loadUpdatenodePage(tgtNodes) { | ||||
| 	installPFlags.hide(); | ||||
| 	optsList.append(installPFlags); | ||||
| 	 | ||||
| 	// Create emgr flags input | ||||
| 	var emgrFlags = $('<li><label for="emgr_flags">emgr_flags:</label><input type="text" name="emgr_flags"/></li>'); | ||||
| 	emgrFlags.hide(); | ||||
| 	optsList.append(emgrFlags); | ||||
| 	 | ||||
| 	// Show alternate source directory when checked | ||||
| 	updateChkBox.bind('click', function(event) { | ||||
| 		if ($(this).is(':checked')) { | ||||
| 			scrDirectory.show(); | ||||
| 			otherPkgs.show(); | ||||
| 			rpmFlags.show(); | ||||
| 			installPFlags.show(); | ||||
| 			if (osHash['AIX']) { | ||||
|     			rpmFlags.show(); | ||||
|     			installPFlags.show(); | ||||
|     			emgrFlags.show(); | ||||
| 			} | ||||
| 		} else { | ||||
| 			scrDirectory.hide(); | ||||
| 			otherPkgs.hide(); | ||||
| 			rpmFlags.hide(); | ||||
| 			installPFlags.hide(); | ||||
| 			if (osHash['AIX']) { | ||||
|     			rpmFlags.hide(); | ||||
|     			installPFlags.hide(); | ||||
|     			emgrFlags.hide(); | ||||
| 			} | ||||
| 		} | ||||
| 	}); | ||||
| 	 | ||||
| @@ -132,23 +167,36 @@ function loadUpdatenodePage(tgtNodes) { | ||||
| 	optsList.append('<li><input type="checkbox" id="k" name="k"/>Update the ssh keys and host keys for the service nodes and compute nodes</li>'); | ||||
| 	 | ||||
| 	// Create update OS checkbox | ||||
| 	var osChkBox = $('<input type="checkbox" id="o" name="o"/>'); | ||||
| 	var osOpt = $('<li></li>'); | ||||
| 	optsList.append(osOpt); | ||||
| 	osOpt.append(osChkBox); | ||||
| 	osOpt.append('Update the operating system'); | ||||
| 	var os = $('<li><label for="scripts">Operating system:</label><input type="text" name="os"/></li>'); | ||||
| 	os.hide(); | ||||
| 	optsList.append(os); | ||||
| 	 | ||||
| 	// Show alternate source directory when checked | ||||
| 	osChkBox.bind('click', function(event) { | ||||
| 		if ($(this).is(':checked')) { | ||||
| 			os.show(); | ||||
| 		} else { | ||||
| 			os.hide(); | ||||
| 		} | ||||
| 	}); | ||||
| 	if (!osHash['AIX']) { | ||||
|     	var osChkBox = $('<input type="checkbox" id="o" name="o"/>'); | ||||
|     	var osOpt = $('<li></li>'); | ||||
|     	optsList.append(osOpt); | ||||
|     	osOpt.append(osChkBox); | ||||
|     	osOpt.append('Update the operating system'); | ||||
|     	 | ||||
|     	var os = $('<li></li>').hide(); | ||||
|     	var osLabel = $('<label for="os">Operating system:</label>'); | ||||
|     	var osInput = $('<input type="text" name="os"/>'); | ||||
|     	osInput.one('focus', function(){ | ||||
|     		var tmp = $.cookie('OSVers'); | ||||
|     		if (tmp) { | ||||
|     			// Turn on auto complete | ||||
|     			$(this).autocomplete(tmp.split(',')); | ||||
|     		} | ||||
|     	}); | ||||
|     	os.append(osLabel); | ||||
|     	os.append(osInput); | ||||
|     	optsList.append(os); | ||||
|     	 | ||||
|     	// Show alternate source directory when checked | ||||
|     	osChkBox.bind('click', function(event) { | ||||
|     		if ($(this).is(':checked')) { | ||||
|     			os.show(); | ||||
|     		} else { | ||||
|     			os.hide(); | ||||
|     		} | ||||
|     	}); | ||||
| 	} | ||||
| 	 | ||||
| 	/** | ||||
| 	 * Ok | ||||
| @@ -175,25 +223,35 @@ function loadUpdatenodePage(tgtNodes) { | ||||
| 			 | ||||
| 			// If update software is checked | ||||
| 			if (opt == 'S') { | ||||
| 				// Get source directory | ||||
| 				var srcDir = $('#' + newTabId + ' input[name=srcDirectory]').val(); | ||||
| 				if (srcDir) { | ||||
| 					optStr += ';-d;' + srcDir; | ||||
| 				} | ||||
| 				 | ||||
| 				// Get otherpkgs | ||||
| 				var otherpkgs = $('#' + newTabId + ' input[name=otherpkgs]').val(); | ||||
| 				if (otherpkgs) { | ||||
| 					optStr += ';otherpkgs=' + otherpkgs; | ||||
| 				} | ||||
| 				 | ||||
| 				// Get rpm_flags | ||||
| 				var rpm_flags = $('#' + newTabId + ' input[name=rpm_flags]').val(); | ||||
| 				if (rpm_flags) { | ||||
| 					optStr += ';rpm_flags=' + rpm_flags; | ||||
| 				} | ||||
| 				 | ||||
| 				// Get installp_flags | ||||
| 				var installp_flags = $('#' + newTabId + ' input[name=installp_flags]').val(); | ||||
| 				if (installp_flags) { | ||||
| 					optStr += ';installp_flags=' + installp_flags; | ||||
| 				} | ||||
| 				 | ||||
| 				// Get emgr_flags | ||||
| 				var emgr_flags = $('#' + newTabId + ' input[name=emgr_flags]').val(); | ||||
| 				if (emgr_flags) { | ||||
| 					optStr += ';emgr_flags=' + emgr_flags; | ||||
| 				} | ||||
| 			} | ||||
| 			 | ||||
| 			// If postscripts is checked | ||||
|   | ||||
| @@ -405,10 +405,7 @@ function initPage() { | ||||
| 	includeJs("js/jquery/superfish.js"); | ||||
| 	includeJs("js/jquery/hoverIntent.js"); | ||||
| 	includeJs("js/jquery/jquery.tree.js"); | ||||
| 	includeJs("js/configure/configure.js"); | ||||
| 	includeJs("js/configure/update.js"); | ||||
| 	includeJs("js/monitor/xcatmon.js"); | ||||
| 	includeJs("js/monitor/rmcmon.js"); | ||||
| 	includeJs("js/configure/configure.js");	 | ||||
| 	includeJs("js/monitor/monitor.js"); | ||||
| 	includeJs("js/nodes/nodes.js"); | ||||
| 	includeJs("js/provision/provision.js"); | ||||
| @@ -438,12 +435,17 @@ function initPage() { | ||||
| 		headers.eq(0).css('background-color', '#A9D0F5'); | ||||
| 		loadNodesPage(); | ||||
| 	} else if (page == 'configure.php') { | ||||
| 		includeJs("js/configure/update.js"); | ||||
| 		 | ||||
| 		headers.eq(1).css('background-color', '#A9D0F5'); | ||||
| 		loadConfigPage(); | ||||
| 	} else if (page == 'provision.php') { | ||||
| 		headers.eq(2).css('background-color', '#A9D0F5'); | ||||
| 		loadProvisionPage(); | ||||
| 	} else if (page == 'monitor.php') { | ||||
| 		includeJs("js/monitor/xcatmon.js"); | ||||
| 		includeJs("js/monitor/rmcmon.js"); | ||||
| 		 | ||||
| 		headers.eq(3).css('background-color', '#A9D0F5'); | ||||
| 		loadMonitorPage(); | ||||
| 	} else { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user