mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 03:12:30 +00:00 
			
		
		
		
	git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@3600 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
		
			
				
	
	
		
			151 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| // Show some key attributes of the selected nodes
 | |
| $TOPDIR = '..';
 | |
| $expire_time = gmmktime(0,0,0,1,1,2038);
 | |
| 
 | |
| require_once "$TOPDIR/lib/functions.php";
 | |
| 
 | |
| // Get the noderange
 | |
| $noderange = @$_REQUEST['noderange'];
 | |
| if(empty($noderange)) { echo "<p>Select one or more groups or nodes.</p>\n"; exit; }
 | |
| 
 | |
| ?>
 | |
| 
 | |
| <style type="text/css">
 | |
| .need_to_fill { border-style: solid; border-color: red;}
 | |
| </style>
 | |
| 
 | |
| <FORM NAME=copyForm>
 | |
| 
 | |
| <p>Select the files, copy from or to multiple nodes.
 | |
| In addtion, an option is provided to use rsync to update the files on the nodes,
 | |
| or to an installation image on the local node.
 | |
| </p>
 | |
| 
 | |
| <script type="text/javascript">
 | |
| $.ui.dialog.defaults.bgiframe = true;
 | |
| var diagOpts = {
 | |
|     bgiframe: true,
 | |
|     modal: true,
 | |
|     autoOpen: false,
 | |
| };
 | |
| $(function() {
 | |
|     $("#copyDialog").dialog(diagOpts);
 | |
| 
 | |
|     //remove the underlying CSS style "need_to_fill" for the input element: sourcefile and destdir
 | |
|     $("#sourcefile").bind("click", function() {
 | |
|         $(this).removeClass("need_to_fill");
 | |
|         });
 | |
|     $("#destdir").bind("click", function() {
 | |
|         $(this).removeClass("need_to_fill");
 | |
|         });
 | |
| });
 | |
| 
 | |
| function copydialog() {
 | |
|     var args = {};
 | |
|     args.command="xdcp";
 | |
|     
 | |
|     if(window.noderange && window.noderange != "") {
 | |
|         args.noderange = window.noderange;
 | |
|     }else if($("#nodegrps")) {
 | |
|         args.noderange = $("#nodegrps option:selected").val();
 | |
|     }else if($("#nodeList")){
 | |
|         args.noderange = $("#nodeList").val();
 | |
|     }
 | |
| 
 | |
|     var tmp = $("#sourcefile").val();
 | |
|     if(tmp.length) { args.src = tmp; }
 | |
|     else {
 | |
|         $("#sourcefile").addClass("need_to_fill");
 | |
|         return;
 | |
|     }
 | |
| 
 | |
|     var tmp = $("#destdir").val();
 | |
|     if(tmp.length) { args.dest = tmp; }
 | |
|     else {
 | |
|         $("#destdir").addClass("need_to_fill");
 | |
|         return;
 | |
|     }
 | |
| 
 | |
|     $("#copyDialog").children().remove();
 | |
|     $("#copyDialog").dialog("open");
 | |
|     $("#copyDialog").load("./copy_action.php", args);
 | |
| }
 | |
| 
 | |
| </script>
 | |
| 
 | |
| <?php insertButtons(array('label' => 'Copy Files', 'id'=> 'copyButton', 'onclick' => 'copydialog()')); ?>
 | |
| 
 | |
| <div id="copyDialog" title="The result" class="flora"></div>
 | |
| <table cellspacing=0 cellpadding=5>
 | |
| <tr>
 | |
| <td>Source File:</td><td> <input id='sourcefile' type="text"></td>
 | |
|     <td>The source file you need to copy to another path</td>
 | |
| </tr>
 | |
| <tr>
 | |
| <td>Dest Directory:</td><td> <input id='destdir' type="text"></td>
 | |
| <td>The destination directory you want to copy the source file to</td>
 | |
| </tr>
 | |
| </table>
 | |
| 
 | |
| <h3>Options:</h3>
 | |
| <TABLE id=inner_table  cellspacing=0 cellpadding=5>
 | |
| <TR>
 | |
|       <TD valign=top nowrap><label><INPUT type=checkbox name=serial id=serial>Streaming mode</label></TD>
 | |
|       <TD>Specifies that output is returned as it becomes available from each target, instead of waiting for the command to be completed on a target before returning output from that target.</TD>
 | |
| </TR>
 | |
| 
 | |
| <TR>
 | |
|       <TD valign=top nowrap><label><INPUT type=checkbox name=monitor id=monitor>Monitor</label></TD>
 | |
|       <TD>Prints starting and completion messages for each node.  Useful with Streaming mode.</TD>
 | |
| </TR>
 | |
| 
 | |
|  <TR>
 | |
|       <TD valign=top nowrap><label><INPUT type=checkbox name=verify id=verify>Verify</label></TD>
 | |
|       <TD>Verifies that nodes are responding before sending the command to them.</TD>
 | |
| </TR>
 | |
| 
 | |
| <TR>
 | |
|       <TD valign=top nowrap><label><INPUT type=checkbox name=collapse id=collapse disabled>Collaspe Identical Output</label></TD>
 | |
|       <TD>Automatically pipe the xdsh output into xdshbak which will only display output once for all the nodes that display identical output.  See the xdshbak man page for more info.</TD>
 | |
| </TR>
 | |
| 
 | |
| <TR>
 | |
|       <TD valign=top nowrap>Fanout: <INPUT type=text name=fanout id=fanout></TD>
 | |
|       <TD>The maximum number of nodes the command should be run on concurrently. When the command finishes on 1 of the nodes, it will be started on an additional node (the default is 64).</TD>
 | |
| </TR>
 | |
| 
 | |
| <TR>
 | |
|       <TD valign=top nowrap>UserID: <INPUT type=text name=userID id=userID></TD>
 | |
|       <TD>The user id to use to run the command on the nodes.</TD>
 | |
| </TR>
 | |
| 
 | |
| <TR>
 | |
|       <TD valign=top nowrap>Remote Shell: <INPUT type=text name=rshell id=rshell></TD>
 | |
|       <TD>The remote shell program to use to run the command on the nodes. The default is /usr/bin/ssh.</TD>
 | |
| </TR>
 | |
| 
 | |
| <TR>
 | |
|       <TD valign=top nowrap>Shell Options: <INPUT type=text name=shell_opt id=shell_opt></TD>
 | |
|       <TD>Options to pass to the remote shell being used.</TD>
 | |
| </TR>
 | |
| 
 | |
| <TR>
 | |
|        <TD valign=top nowrap><label><INPUT type=checkbox name=ret_code id=ret_code>Return Code</label></TD>
 | |
|       <TD>Prints the return code of the (last) command that was run remotely on each node. The return code is appended at the end of the output for each node.</TD>
 | |
| </TR>
 | |
| 
 | |
| </TABLE>
 | |
| 
 | |
| 
 | |
| <h3>Tips:</h3>
 | |
| <UL>
 | |
| <li>See the <a href="<?php echo getDocURL('manpage','xdcp.1'); ?>">xdcp man page</a> for more information about this command.</li>
 | |
| </UL>
 | |
| 
 | |
| </FORM>
 | |
| 
 | |
| <?php
 | |
| insertNotDoneYet();
 | |
| ?>
 |