mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 03:12:30 +00:00 
			
		
		
		
	add mm node and blade node on the nodes page
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@10005 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
		| @@ -201,5 +201,184 @@ bladePlugin.prototype.loadResources = function() { | ||||
|  * @return Nothing | ||||
|  */ | ||||
| bladePlugin.prototype.addNode = function() { | ||||
| 	openDialog('info', 'Under construction'); | ||||
| }; | ||||
|     var nodeTypeSelectDia = $('<div id="nodeTypeSelectDia" class="form"></div>'); | ||||
|     nodeTypeSelectDia.append('<div><label for="mgt">Node Type :</label><select id="nodeTypeSelect">' + | ||||
|             '<option value="mm">Amm Node</option><option value="blade">Blade Node</option></select></div>'); | ||||
|     //append the mm div | ||||
|     var mmStr = '<div id="mmNode">' + | ||||
|                    '<label>Amm Name : </label><input id="ammName" type="text"></input><br/><br/>' + | ||||
|                    '<label>Amm IP   : </label><input id="ammIp" type="text"></input>' + | ||||
|                    '</div>'; | ||||
|      | ||||
|     //append the blade div | ||||
|     var bladeStr = '<div id="bladeNode" style="display:none;">' + | ||||
|                    '<label>Blade Name : </label><input id="bladeName" type="text"></input><br/><br/>' + | ||||
|                    '<label>Blade Group : </label><input id="bladeGroup" type="text"></input><br/><br/>' + | ||||
|                    '<label>Blade Id : </label><input id="bladeId" type="text"></input><br/><br/>' + | ||||
|                    '<label>Blade Series : </label><input type="radio" name="series" value="js"/>JS<input type="radio" name="series" value="ls"/>LS<br/><br/>' + | ||||
|                    '<label>Blade Mpa : </label><select id="mpaSelect"></select>'; | ||||
|     nodeTypeSelectDia.append(mmStr); | ||||
|     nodeTypeSelectDia.append(bladeStr); | ||||
|      | ||||
|     nodeTypeSelectDia.find('#nodeTypeSelect').bind('change', function(){ | ||||
|        $('#nodeTypeSelectDia .ui-state-error').remove(); | ||||
|        $('#mmNode').toggle(); | ||||
|        $('#bladeNode').toggle(); | ||||
|        if ('mm' == $(this).val()){ | ||||
|            return; | ||||
|        } | ||||
|         | ||||
|        //get all mm nodes from the server side | ||||
|        $('#bladeNode select').empty(); | ||||
|        $('#bladeNode').append(createLoader()); | ||||
|         | ||||
|        $.ajax({ | ||||
|            url : 'lib/cmd.php', | ||||
|            dataType : 'json', | ||||
|            data : { | ||||
|                cmd : 'lsdef', | ||||
|                tgt : '', | ||||
|                args : '-t;node;-w;mgt==blade;-w;id==0', | ||||
|                msg : '' | ||||
|            }, | ||||
|            success : function(data){ | ||||
|                var position = 0; | ||||
|                var tempStr = ''; | ||||
|                var options = ''; | ||||
|                //remove the loading image | ||||
|                $('#bladeNode img').remove(); | ||||
|                 | ||||
|                //check return result | ||||
|                if (1 > data.rsp.length){ | ||||
|                    $('#nodeTypeSelectDia').prepend(createWarnBar('Please define MM node first!')); | ||||
|                    return; | ||||
|                } | ||||
|                 | ||||
|                //add all mm nodes to select | ||||
|                for (var i in data.rsp){ | ||||
|                    tempStr = data.rsp[i]; | ||||
|                    position = tempStr.indexOf(' '); | ||||
|                    tempStr = tempStr.substring(0, position); | ||||
|                    options += '<option value="' + tempStr + '">' + tempStr + '</option>'; | ||||
|                } | ||||
|                 | ||||
|                $('#bladeNode select').append(options); | ||||
|            } | ||||
|        }); | ||||
|     }); | ||||
|      | ||||
|     nodeTypeSelectDia.dialog( { | ||||
|         modal : true, | ||||
|         width : 400, | ||||
|         title : 'Select Node Type', | ||||
|         open : function(event, ui) { | ||||
|             $(".ui-dialog-titlebar-close").hide(); | ||||
|         }, | ||||
|         buttons : { | ||||
|             'Ok' : function() { | ||||
|                 //remove all error bar | ||||
|                 $('#nodeTypeSelectDia .ui-state-error').remove(); | ||||
|                  | ||||
|                 if ($('#nodeTypeSelect').attr('value') == "mm") { | ||||
|                     addMmNode(); | ||||
|                 } | ||||
|                 else { | ||||
|                     addBladeNode(); | ||||
|                 } | ||||
|             }, | ||||
|             'Cancel' : function() { | ||||
|                 $(this).remove(); | ||||
|             } | ||||
|         } | ||||
|     }); | ||||
| }; | ||||
|  | ||||
| function addMmNode(){ | ||||
|     var name = $('#ammName').val(); | ||||
|     var ip = $('#ammIp').val(); | ||||
|      | ||||
|     if ((!name) || (!ip)){ | ||||
|         $('#nodeTypeSelectDia').prepend(createWarnBar("You miss some inputs.")); | ||||
|         return; | ||||
|     } | ||||
|      | ||||
|     //add the loader | ||||
|     $('#nodeTypeSelectDia').prepend(createLoader()); | ||||
|     $('.ui-dialog-buttonpane .ui-button').attr('disabled', true); | ||||
|     var argsTmp = '-t;node;-o;' + name +  | ||||
|             ';id=0;nodetype=mm;groups=mm;mgt=blade;mpa=' + name + ';ip=' + ip; | ||||
|     $.ajax( { | ||||
|         url : 'lib/cmd.php', | ||||
|         dataType : 'json', | ||||
|         data : { | ||||
|             cmd : 'chdef', | ||||
|             tgt : '', | ||||
|             args : argsTmp, | ||||
|             msg : '' | ||||
|         }, | ||||
|         success : function(data) { | ||||
|             $('#nodeTypeSelectDia').find('img').remove(); | ||||
|             var messages = data.rsp; | ||||
|             var notes = ""; | ||||
|             for ( var i = 0; i < messages.length; i++) { | ||||
|                 notes += messages[i]; | ||||
|             } | ||||
|             var info = createInfoBar(notes); | ||||
|             $('#nodeTypeSelectDia').prepend(info); | ||||
|             $('#nodeTypeSelectDia').dialog("option", "buttons", { | ||||
|                 "close" : function() { | ||||
|                     $('#nodeTypeSelectDia').remove(); | ||||
|                 } | ||||
|             }); | ||||
|         } | ||||
|     }); | ||||
| } | ||||
|  | ||||
| function addBladeNode(){ | ||||
|     var name = $('#bladeName').val(); | ||||
|     var group = $('#bladeGroup').val(); | ||||
|     var id = $('#bladeId').val(); | ||||
|     var series = $("#bladeNode :checked").val(); | ||||
|     var mpa = $('#mpaSelect').val(); | ||||
|  | ||||
|     var argsTmp = '-t;node;-o;' + name + ';id=' + id +  | ||||
|             ';nodetype=osi;groups=' + group + ';mgt=blade;mpa=' + mpa + ';serialflow=hard'; | ||||
|     if (series != 'js') { | ||||
|         argsTmp += ';serialspeed=19200;serialport=1'; | ||||
|     } | ||||
|      | ||||
|     if ((!name) || (!group) || (!id) || (!mpa)){ | ||||
|         $('#nodeTypeSelectDia').prepend(createWarnBar("You miss some inputs.")); | ||||
|         return; | ||||
|     } | ||||
|  | ||||
|     //add loader and disable buttons | ||||
|     $('#nodeTypeSelectDia').prepend(createLoader()); | ||||
|     $('.ui-dialog-buttonpane .ui-button').attr('disabled', true); | ||||
|     $.ajax( { | ||||
|         url : 'lib/cmd.php', | ||||
|         dataType : 'json', | ||||
|         data : { | ||||
|             cmd : 'chdef', | ||||
|             tgt : '', | ||||
|             args : argsTmp, | ||||
|             msg : '' | ||||
|         }, | ||||
|         success : function(data) { | ||||
|             $('#nodeTypeSelectDia').find('img').remove(); | ||||
|             var messages = data.rsp; | ||||
|             var notes = ""; | ||||
|             for ( var i = 0; i < messages.length; i++) { | ||||
|                 notes += messages[i]; | ||||
|             } | ||||
|  | ||||
|             $('#nodeTypeSelectDia').prepend(createInfoBar(notes)); | ||||
|             $('#nodeTypeSelectDia').dialog("option", "buttons", { | ||||
|                 "close" : function() { | ||||
|                     $('#nodeTypeSelectDia').remove(); | ||||
|                 } | ||||
|             }); | ||||
|         } | ||||
|     }); | ||||
|  | ||||
| } | ||||
| @@ -385,7 +385,7 @@ function mkAddNodeLink() { | ||||
| 		addNodeForm.append('<div><label for="mgt">Hardware management:</label>' | ||||
|     		+ '<select id="mgt" name="mgt">' | ||||
|     			+ '<option>ipmi</option>'  | ||||
|     			+ '<option>blade</option>' | ||||
|     			+ '<option value="blade">Blade Center</option>' | ||||
|     			+ '<option>hmc</option>' | ||||
|     			+ '<option>zvm</option>' | ||||
|     		+ '</select>' | ||||
| @@ -434,6 +434,8 @@ function mkAddNodeLink() { | ||||
| 		addNodeForm.dialog({ | ||||
| 			modal: true, | ||||
| 			width: 400, | ||||
| 			title:'Add Node', | ||||
| 			close: function(){$(this).remove();}, | ||||
| 			buttons: { | ||||
|         		'Ok': function(){ | ||||
| 					// Get hardware management | ||||
|   | ||||
		Reference in New Issue
	
	Block a user