You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by je...@apache.org on 2013/11/20 01:15:09 UTC

git commit: updated refs/heads/4.3 to a4d6c10

Updated Branches:
  refs/heads/4.3 2dcb3ca1a -> a4d6c10cb


CLOUDSTACK-4793: UI > Virtual Routers > add new action "Upgrade Router to Newer Template" in detailView.


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a4d6c10c
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a4d6c10c
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a4d6c10c

Branch: refs/heads/4.3
Commit: a4d6c10cbea5616992461403f4f8ea7429f0747a
Parents: 2dcb3ca
Author: Jessica Wang <je...@apache.org>
Authored: Tue Nov 19 16:14:47 2013 -0800
Committer: Jessica Wang <je...@apache.org>
Committed: Tue Nov 19 16:14:47 2013 -0800

----------------------------------------------------------------------
 ui/scripts/system.js | 689 +++++++++++++++++++++++++---------------------
 1 file changed, 370 insertions(+), 319 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a4d6c10c/ui/scripts/system.js
----------------------------------------------------------------------
diff --git a/ui/scripts/system.js b/ui/scripts/system.js
index 472c821..16ae29e 100644
--- a/ui/scripts/system.js
+++ b/ui/scripts/system.js
@@ -7390,325 +7390,341 @@
                             return listView;
                         },
                         virtualRouters: function() {
-                            var listView = $.extend(true, {}, cloudStack.sections.system.subsections.virtualRouters.listView, {
-                                
-                            	//???
+                            var listView = $.extend(true, {}, cloudStack.sections.system.subsections.virtualRouters.listView, {                            
                             	actions: {
-                            		upgradeRouterToUseNewerTemplate: {
-                                    	isHeader: true,
-                                    	
-                                        label: 'Upgrade Router to Use Newer Template',
-
-                                        messages: {                                           
-                                            notification: function(args) {
-                                                return 'Upgrade Router to Use Newer Template';
-                                            }
-                                        },
-
-                                        createForm: {
-                                            title: 'Upgrade Router to Use Newer Template',
-                                            fields: {
-                                            	 zoneid: {
-                                                     label: 'label.zone',                                            
-                                                     select: function(args) {
-                                                    	 var items = [{ id: '', description: '' }];			
-         												 $.ajax({
-         												     url: createURL('listZones'),
-         												     data: {
-         												         listAll: true
-         												     },
-         												     success: function(json) {         												    										    	
-         												    	 var objs = json.listzonesresponse.zone;
-         												    	 if (objs != null) {
-         												    		 for (var i = 0; i < objs.length; i++) {
-         												    			 items.push({ id: objs[i].id, description: objs[i].name });
-         												    		 }
-         												    	 }												    	
-         												         args.response.success({
-         												             data: items
-         												         });
-         												     }
-         												});
-         											 }
-                                                 },  
-                                                 podid: {
-                                                     label: 'Pod',
-                                                     dependsOn: 'zoneid',
-                                                     select: function (args) {                                                       	 
-                                                    	 var items = [{ id: '', description: '' }];	
-                                                    	 if (args.zoneid.length > 0) {
-                                                    		 $.ajax({
-                                                                 url: createURL('listPods'),
-                                                                 data: {
-                                                                	zoneid:  args.zoneid
-                                                                 },
-                                                                 success: function (json) {   				    	
-              												    	 var objs = json.listpodsresponse.pod;
-              												    	 if (objs != null) {
-              												    		 for (var i = 0; i < objs.length; i++) {
-              												    			 items.push({ id: objs[i].id, description: objs[i].name });
-              												    		 }
-              												    	 }												    	
-              												         args.response.success({
-              												             data: items
-              												         });                         
-                                                                 }
-                                                             });
-                                                    	 } else {
-                                                    		 args.response.success({
-      												             data: items
-      												         });   
-                                                    	 }         
-                                                     }
-                                                 },                         
-                                                 clusterid: {
-                                                     label: 'label.cluster',    
-                                                     dependsOn: 'podid',
-                                                     select: function(args) {   
-                                                    	 var items = [{ id: '', description: '' }];	
-                                                    	 if (args.podid.length > 0) {
-                                                    		 $.ajax({
-                                                                 url: createURL('listClusters'),
-                                                                 data: {
-                                                                	podid: args.podid 
-                                                                 },
-                                                                 success: function(json) {
-                                                                	 var objs = json.listclustersresponse.cluster;
-              												    	 if (objs != null) {
-              												    		 for (var i = 0; i < objs.length; i++) {
-              												    			 items.push({ id: objs[i].id, description: objs[i].name });
-              												    		 }
-              												    	 }												    	
-              												         args.response.success({
-              												             data: items
-              												         });    
-                                                                 }
-                                                             });
-                                                    	 } else {
-                                                    		 args.response.success({
-      												             data: items
-      												         });   
-                                                    	 }                                                         
-                                                     }
-                                                 }   
-                                            }
-                                        },
-
-                                        action: function(args) {                                            
-                                        	var data = {};                                        	
-                                        	if (args.data.clusterid.length > 0) {
-                                        		$.extend(data, {
-                                        			clusterid: args.data.clusterid
-                                        		});
-                                        	} else if (args.data.podid.length > 0) {
-                                        		$.extend(data, {
-                                        			podid: args.data.podid
-                                        		});                                        		
-                                        	} else if (args.data.zoneid.length > 0) {
-                                        		$.extend(data, {
-                                        			zoneid: args.data.zoneid
-                                        		});                                        		
-                                        	} else {                                        		
-                                        		args.response.error('Please specify a zone, a pod or a cluster.' );
-                                        		return;
-                                        	}  
-                                        	
-                                            $.ajax({
-                                                url: createURL('upgradeRouterTemplate'),
-                                                data: data,
-                                                success: function(json) {                                                  	
-                                                	//example
-                                                	/*
-                                                	json = {
-                                                		    "upgraderoutertemplateresponse": {
-                                                		        "count": 3,
-                                                		        "asyncjobs": [
-                                                		            {
-                                                		                "jobid": "2d51f1f9-ea39-4871-9512-431f4a65a5f2"
-                                                		            },
-                                                		            {
-                                                		                "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c"
-                                                		            },
-                                                		            {
-                                                		                "jobid": "850a3cfd-c265-48f1-880a-f001481fc7f7"
-                                                		            }
-                                                		        ]
-                                                		    }
-                                                		};
-                                                	*/
-                                                	
-                                                	var jobs = json.upgraderoutertemplateresponse.asyncjobs;
-                                                	if (jobs != undefined) {
-                                                		for (var i = 0; i < jobs.length; i++) {   
-                                                			var jid = jobs[i].jobid;   
-                                                            args.response.success({
-                                                                _custom: {
-                                                                    jobId: jid
-                                                                }
-                                                            });   
-                                                            
-                                                            //example begins
-                                                            /*
-                                                            {
-                                                                "queryasyncjobresultresponse": {
-                                                                    "accountid": "ce5820a8-5099-11e3-80db-3c970e739c3e",
-                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
-                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
-                                                                    "jobstatus": 2,
-                                                                    "jobprocstatus": 0,
-                                                                    "jobresultcode": 530,
-                                                                    "jobresulttype": "object",
-                                                                    "jobresult": {
-                                                                        "errorcode": 530,
-                                                                        "errortext": "Resource [DataCenter:1] is unreachable: Unable to reboot domR, it is not in right state Stopped"
-                                                                    },
-                                                                    "created": "2013-11-19T11:41:40-0800",
-                                                                    "jobid": "2d51f1f9-ea39-4871-9512-431f4a65a5f2"
-                                                                }
-                                                            }                                                            
-                                                            {
-                                                                "queryasyncjobresultresponse": {
-                                                                    "accountid": "9b0ea3b4-a699-431c-932b-570388ef7b86",
-                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
-                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
-                                                                    "jobstatus": 0,
-                                                                    "jobprocstatus": 0,
-                                                                    "jobresultcode": 0,
-                                                                    "jobinstancetype": "DomainRouter",
-                                                                    "jobinstanceid": "d6e625ea-76f9-4c35-9f89-0998a04a3b9c",
-                                                                    "created": "2013-11-19T11:41:40-0800",
-                                                                    "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c"
-                                                                }
-                                                            }                                                            
-                                                            {
-                                                                "queryasyncjobresultresponse": {
-                                                                    "accountid": "6b5334a2-1c0e-46e0-b4d9-524698549f08",
-                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
-                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
-                                                                    "jobstatus": 2,
-                                                                    "jobprocstatus": 0,
-                                                                    "jobresultcode": 530,
-                                                                    "jobresulttype": "object",
-                                                                    "jobresult": {
-                                                                        "errorcode": 530,
-                                                                        "errortext": "Resource [DataCenter:1] is unreachable: Unable to reboot domR, it is not in right state Starting"
-                                                                    },
-                                                                    "created": "2013-11-19T11:41:40-0800",
-                                                                    "jobid": "850a3cfd-c265-48f1-880a-f001481fc7f7"
-                                                                }
-                                                            }
-                                                            
-                                                            
-                                                            {
-                                                                "queryasyncjobresultresponse": {
-                                                                    "accountid": "9b0ea3b4-a699-431c-932b-570388ef7b86",
-                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
-                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
-                                                                    "jobstatus": 0,
-                                                                    "jobprocstatus": 0,
-                                                                    "jobresultcode": 0,
-                                                                    "jobinstancetype": "DomainRouter",
-                                                                    "jobinstanceid": "d6e625ea-76f9-4c35-9f89-0998a04a3b9c",
-                                                                    "created": "2013-11-19T11:41:40-0800",
-                                                                    "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c"
-                                                                }
-                                                            }
-                                                            {
-                                                                "queryasyncjobresultresponse": {
-                                                                    "accountid": "9b0ea3b4-a699-431c-932b-570388ef7b86",
-                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
-                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
-                                                                    "jobstatus": 0,
-                                                                    "jobprocstatus": 0,
-                                                                    "jobresultcode": 0,
-                                                                    "jobinstancetype": "DomainRouter",
-                                                                    "jobinstanceid": "d6e625ea-76f9-4c35-9f89-0998a04a3b9c",
-                                                                    "created": "2013-11-19T11:41:40-0800",
-                                                                    "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c"
-                                                                }
-                                                            }
-                                                            {
-                                                                "queryasyncjobresultresponse": {
-                                                                    "accountid": "9b0ea3b4-a699-431c-932b-570388ef7b86",
-                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
-                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
-                                                                    "jobstatus": 1,
-                                                                    "jobprocstatus": 0,
-                                                                    "jobresultcode": 0,
-                                                                    "jobresulttype": "object",
-                                                                    "jobresult": {
-                                                                        "router": {
-                                                                            "id": "d6e625ea-76f9-4c35-9f89-0998a04a3b9c",
-                                                                            "zoneid": "3bfdd7d1-134a-4d75-8621-0ccfc8641660",
-                                                                            "zonename": "jw-adv",
-                                                                            "dns1": "8.8.8.8",
-                                                                            "gateway": "10.223.67.1",
-                                                                            "name": "r-6-VM",
-                                                                            "linklocalip": "169.254.2.29",
-                                                                            "linklocalmacaddress": "0e:00:a9:fe:02:1d",
-                                                                            "linklocalnetmask": "255.255.0.0",
-                                                                            "linklocalnetworkid": "4a02a05f-1312-484a-a82b-246a86ed6949",
-                                                                            "publicip": "10.223.67.6",
-                                                                            "publicmacaddress": "06:8d:22:00:00:18",
-                                                                            "publicnetmask": "255.255.255.0",
-                                                                            "publicnetworkid": "e7056c3c-2c7f-4e84-909e-af288ae170e9",
-                                                                            "templateid": "cd70f70a-5099-11e3-80db-3c970e739c3e",
-                                                                            "created": "2013-11-19T11:36:04-0800",
-                                                                            "state": "Running",
-                                                                            "account": "aaa_admin",
-                                                                            "domainid": "b95a5b02-e45d-4971-b0d8-d1620f7bf44e",
-                                                                            "domain": "aaa",
-                                                                            "serviceofferingid": "7dd7687c-01f0-4a14-846e-8e46067a8ff9",
-                                                                            "serviceofferingname": "System Offering For Software Router",
-                                                                            "isredundantrouter": false,
-                                                                            "redundantstate": "UNKNOWN",
-                                                                            "version": "3.0",
-                                                                            "role": "VIRTUAL_ROUTER",
-                                                                            "nic": [
-                                                                                {
-                                                                                    "id": "d41bf67e-1d58-4ec9-bf61-41903140cc53",
-                                                                                    "networkid": "e7056c3c-2c7f-4e84-909e-af288ae170e9",
-                                                                                    "netmask": "255.255.255.0",
-                                                                                    "gateway": "10.223.67.1",
-                                                                                    "ipaddress": "10.223.67.6",
-                                                                                    "isolationuri": "vlan://159",
-                                                                                    "broadcasturi": "vlan://159",
-                                                                                    "traffictype": "Public",
-                                                                                    "isdefault": true,
-                                                                                    "macaddress": "06:8d:22:00:00:18"
-                                                                                },
-                                                                                {
-                                                                                    "id": "a6d1f6ac-fc45-474e-b372-3571e639fa8e",
-                                                                                    "networkid": "4a02a05f-1312-484a-a82b-246a86ed6949",
-                                                                                    "netmask": "255.255.0.0",
-                                                                                    "gateway": "169.254.0.1",
-                                                                                    "ipaddress": "169.254.2.29",
-                                                                                    "traffictype": "Control",
-                                                                                    "isdefault": false,
-                                                                                    "macaddress": "0e:00:a9:fe:02:1d"
-                                                                                }
-                                                                            ],
-                                                                            "requiresupgrade": true,
-                                                                            "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c",
-                                                                            "jobstatus": 0
-                                                                        }
-                                                                    },
-                                                                    "created": "2013-11-19T11:41:40-0800",
-                                                                    "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c"
-                                                                }
-                                                            }
-                                                            */
-                                                            //example ends                                                            
-                                                		}
-                                                	}                                                	
-                                                }
-                                            });
-                                        },
-                                        notification: {
-                                            poll: pollAsyncJobResult
-                                        }
-                                    }
-                                },                            	
+                            	    upgradeRouterToUseNewerTemplate: {
+                            	        isHeader: true,
+
+                            	        label: 'Upgrade Router to Use Newer Template',
+
+                            	        messages: {
+                            	            notification: function (args) {
+                            	                return 'Upgrade Router to Use Newer Template';
+                            	            }
+                            	        },
+
+                            	        createForm: {
+                            	            title: 'Upgrade Router to Use Newer Template',
+                            	            fields: {
+                            	                zoneid: {
+                            	                    label: 'label.zone',
+                            	                    select: function (args) {
+                            	                        var items = [{
+                            	                            id: '',
+                            	                            description: ''
+                            	                        }];
+                            	                        $.ajax({
+                            	                            url: createURL('listZones'),
+                            	                            data: {
+                            	                                listAll: true
+                            	                            },
+                            	                            success: function (json) {
+                            	                                var objs = json.listzonesresponse.zone;
+                            	                                if (objs != null) {
+                            	                                    for (var i = 0; i < objs.length; i++) {
+                            	                                        items.push({
+                            	                                            id: objs[i].id,
+                            	                                            description: objs[i].name
+                            	                                        });
+                            	                                    }
+                            	                                }
+                            	                                args.response.success({
+                            	                                    data: items
+                            	                                });
+                            	                            }
+                            	                        });
+                            	                    }
+                            	                },
+                            	                podid: {
+                            	                    label: 'Pod',
+                            	                    dependsOn: 'zoneid',
+                            	                    select: function (args) {
+                            	                        var items = [{
+                            	                            id: '',
+                            	                            description: ''
+                            	                        }];
+                            	                        if (args.zoneid.length > 0) {
+                            	                            $.ajax({
+                            	                                url: createURL('listPods'),
+                            	                                data: {
+                            	                                    zoneid: args.zoneid
+                            	                                },
+                            	                                success: function (json) {
+                            	                                    var objs = json.listpodsresponse.pod;
+                            	                                    if (objs != null) {
+                            	                                        for (var i = 0; i < objs.length; i++) {
+                            	                                            items.push({
+                            	                                                id: objs[i].id,
+                            	                                                description: objs[i].name
+                            	                                            });
+                            	                                        }
+                            	                                    }
+                            	                                    args.response.success({
+                            	                                        data: items
+                            	                                    });
+                            	                                }
+                            	                            });
+                            	                        } else {
+                            	                            args.response.success({
+                            	                                data: items
+                            	                            });
+                            	                        }
+                            	                    }
+                            	                },
+                            	                clusterid: {
+                            	                    label: 'label.cluster',
+                            	                    dependsOn: 'podid',
+                            	                    select: function (args) {
+                            	                        var items = [{
+                            	                            id: '',
+                            	                            description: ''
+                            	                        }];
+                            	                        if (args.podid.length > 0) {
+                            	                            $.ajax({
+                            	                                url: createURL('listClusters'),
+                            	                                data: {
+                            	                                    podid: args.podid
+                            	                                },
+                            	                                success: function (json) {
+                            	                                    var objs = json.listclustersresponse.cluster;
+                            	                                    if (objs != null) {
+                            	                                        for (var i = 0; i < objs.length; i++) {
+                            	                                            items.push({
+                            	                                                id: objs[i].id,
+                            	                                                description: objs[i].name
+                            	                                            });
+                            	                                        }
+                            	                                    }
+                            	                                    args.response.success({
+                            	                                        data: items
+                            	                                    });
+                            	                                }
+                            	                            });
+                            	                        } else {
+                            	                            args.response.success({
+                            	                                data: items
+                            	                            });
+                            	                        }
+                            	                    }
+                            	                }
+                            	            }
+                            	        },
+
+                            	        action: function (args) {
+                            	            var data = {};
+                            	            if (args.data.clusterid.length > 0) {
+                            	                $.extend(data, {
+                            	                    clusterid: args.data.clusterid
+                            	                });
+                            	            } else if (args.data.podid.length > 0) {
+                            	                $.extend(data, {
+                            	                    podid: args.data.podid
+                            	                });
+                            	            } else if (args.data.zoneid.length > 0) {
+                            	                $.extend(data, {
+                            	                    zoneid: args.data.zoneid
+                            	                });
+                            	            } else {
+                            	                args.response.error('Please specify a zone, a pod or a cluster.');
+                            	                return;
+                            	            }
+
+                            	            $.ajax({
+                            	                url: createURL('upgradeRouterTemplate'),
+                            	                data: data,
+                            	                success: function (json) {
+                            	                    //example
+                            	                    /*
+                            	                                                	json = {
+                            	                                                		    "upgraderoutertemplateresponse": {
+                            	                                                		        "count": 3,
+                            	                                                		        "asyncjobs": [
+                            	                                                		            {
+                            	                                                		                "jobid": "2d51f1f9-ea39-4871-9512-431f4a65a5f2"
+                            	                                                		            },
+                            	                                                		            {
+                            	                                                		                "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c"
+                            	                                                		            },
+                            	                                                		            {
+                            	                                                		                "jobid": "850a3cfd-c265-48f1-880a-f001481fc7f7"
+                            	                                                		            }
+                            	                                                		        ]
+                            	                                                		    }
+                            	                                                		};
+                            	                                                	*/
+
+                            	                    var jobs = json.upgraderoutertemplateresponse.asyncjobs;
+                            	                    if (jobs != undefined) {
+                            	                        for (var i = 0; i < jobs.length; i++) {
+                            	                            var jid = jobs[i].jobid;
+                            	                            args.response.success({
+                            	                                _custom: {
+                            	                                    jobId: jid
+                            	                                }
+                            	                            });
+
+                            	                            //example begins
+                            	                            /*
+                            	                                                            {
+                            	                                                                "queryasyncjobresultresponse": {
+                            	                                                                    "accountid": "ce5820a8-5099-11e3-80db-3c970e739c3e",
+                            	                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
+                            	                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
+                            	                                                                    "jobstatus": 2,
+                            	                                                                    "jobprocstatus": 0,
+                            	                                                                    "jobresultcode": 530,
+                            	                                                                    "jobresulttype": "object",
+                            	                                                                    "jobresult": {
+                            	                                                                        "errorcode": 530,
+                            	                                                                        "errortext": "Resource [DataCenter:1] is unreachable: Unable to reboot domR, it is not in right state Stopped"
+                            	                                                                    },
+                            	                                                                    "created": "2013-11-19T11:41:40-0800",
+                            	                                                                    "jobid": "2d51f1f9-ea39-4871-9512-431f4a65a5f2"
+                            	                                                                }
+                            	                                                            }                                                            
+                            	                                                            {
+                            	                                                                "queryasyncjobresultresponse": {
+                            	                                                                    "accountid": "9b0ea3b4-a699-431c-932b-570388ef7b86",
+                            	                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
+                            	                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
+                            	                                                                    "jobstatus": 0,
+                            	                                                                    "jobprocstatus": 0,
+                            	                                                                    "jobresultcode": 0,
+                            	                                                                    "jobinstancetype": "DomainRouter",
+                            	                                                                    "jobinstanceid": "d6e625ea-76f9-4c35-9f89-0998a04a3b9c",
+                            	                                                                    "created": "2013-11-19T11:41:40-0800",
+                            	                                                                    "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c"
+                            	                                                                }
+                            	                                                            }                                                            
+                            	                                                            {
+                            	                                                                "queryasyncjobresultresponse": {
+                            	                                                                    "accountid": "6b5334a2-1c0e-46e0-b4d9-524698549f08",
+                            	                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
+                            	                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
+                            	                                                                    "jobstatus": 2,
+                            	                                                                    "jobprocstatus": 0,
+                            	                                                                    "jobresultcode": 530,
+                            	                                                                    "jobresulttype": "object",
+                            	                                                                    "jobresult": {
+                            	                                                                        "errorcode": 530,
+                            	                                                                        "errortext": "Resource [DataCenter:1] is unreachable: Unable to reboot domR, it is not in right state Starting"
+                            	                                                                    },
+                            	                                                                    "created": "2013-11-19T11:41:40-0800",
+                            	                                                                    "jobid": "850a3cfd-c265-48f1-880a-f001481fc7f7"
+                            	                                                                }
+                            	                                                            }
+                            	                                                            
+                            	                                                            
+                            	                                                            {
+                            	                                                                "queryasyncjobresultresponse": {
+                            	                                                                    "accountid": "9b0ea3b4-a699-431c-932b-570388ef7b86",
+                            	                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
+                            	                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
+                            	                                                                    "jobstatus": 0,
+                            	                                                                    "jobprocstatus": 0,
+                            	                                                                    "jobresultcode": 0,
+                            	                                                                    "jobinstancetype": "DomainRouter",
+                            	                                                                    "jobinstanceid": "d6e625ea-76f9-4c35-9f89-0998a04a3b9c",
+                            	                                                                    "created": "2013-11-19T11:41:40-0800",
+                            	                                                                    "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c"
+                            	                                                                }
+                            	                                                            }
+                            	                                                            {
+                            	                                                                "queryasyncjobresultresponse": {
+                            	                                                                    "accountid": "9b0ea3b4-a699-431c-932b-570388ef7b86",
+                            	                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
+                            	                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
+                            	                                                                    "jobstatus": 0,
+                            	                                                                    "jobprocstatus": 0,
+                            	                                                                    "jobresultcode": 0,
+                            	                                                                    "jobinstancetype": "DomainRouter",
+                            	                                                                    "jobinstanceid": "d6e625ea-76f9-4c35-9f89-0998a04a3b9c",
+                            	                                                                    "created": "2013-11-19T11:41:40-0800",
+                            	                                                                    "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c"
+                            	                                                                }
+                            	                                                            }
+                            	                                                            {
+                            	                                                                "queryasyncjobresultresponse": {
+                            	                                                                    "accountid": "9b0ea3b4-a699-431c-932b-570388ef7b86",
+                            	                                                                    "userid": "ce58353e-5099-11e3-80db-3c970e739c3e",
+                            	                                                                    "cmd": "org.apache.cloudstack.api.command.admin.router.RebootRouterCmd",
+                            	                                                                    "jobstatus": 1,
+                            	                                                                    "jobprocstatus": 0,
+                            	                                                                    "jobresultcode": 0,
+                            	                                                                    "jobresulttype": "object",
+                            	                                                                    "jobresult": {
+                            	                                                                        "router": {
+                            	                                                                            "id": "d6e625ea-76f9-4c35-9f89-0998a04a3b9c",
+                            	                                                                            "zoneid": "3bfdd7d1-134a-4d75-8621-0ccfc8641660",
+                            	                                                                            "zonename": "jw-adv",
+                            	                                                                            "dns1": "8.8.8.8",
+                            	                                                                            "gateway": "10.223.67.1",
+                            	                                                                            "name": "r-6-VM",
+                            	                                                                            "linklocalip": "169.254.2.29",
+                            	                                                                            "linklocalmacaddress": "0e:00:a9:fe:02:1d",
+                            	                                                                            "linklocalnetmask": "255.255.0.0",
+                            	                                                                            "linklocalnetworkid": "4a02a05f-1312-484a-a82b-246a86ed6949",
+                            	                                                                            "publicip": "10.223.67.6",
+                            	                                                                            "publicmacaddress": "06:8d:22:00:00:18",
+                            	                                                                            "publicnetmask": "255.255.255.0",
+                            	                                                                            "publicnetworkid": "e7056c3c-2c7f-4e84-909e-af288ae170e9",
+                            	                                                                            "templateid": "cd70f70a-5099-11e3-80db-3c970e739c3e",
+                            	                                                                            "created": "2013-11-19T11:36:04-0800",
+                            	                                                                            "state": "Running",
+                            	                                                                            "account": "aaa_admin",
+                            	                                                                            "domainid": "b95a5b02-e45d-4971-b0d8-d1620f7bf44e",
+                            	                                                                            "domain": "aaa",
+                            	                                                                            "serviceofferingid": "7dd7687c-01f0-4a14-846e-8e46067a8ff9",
+                            	                                                                            "serviceofferingname": "System Offering For Software Router",
+                            	                                                                            "isredundantrouter": false,
+                            	                                                                            "redundantstate": "UNKNOWN",
+                            	                                                                            "version": "3.0",
+                            	                                                                            "role": "VIRTUAL_ROUTER",
+                            	                                                                            "nic": [
+                            	                                                                                {
+                            	                                                                                    "id": "d41bf67e-1d58-4ec9-bf61-41903140cc53",
+                            	                                                                                    "networkid": "e7056c3c-2c7f-4e84-909e-af288ae170e9",
+                            	                                                                                    "netmask": "255.255.255.0",
+                            	                                                                                    "gateway": "10.223.67.1",
+                            	                                                                                    "ipaddress": "10.223.67.6",
+                            	                                                                                    "isolationuri": "vlan://159",
+                            	                                                                                    "broadcasturi": "vlan://159",
+                            	                                                                                    "traffictype": "Public",
+                            	                                                                                    "isdefault": true,
+                            	                                                                                    "macaddress": "06:8d:22:00:00:18"
+                            	                                                                                },
+                            	                                                                                {
+                            	                                                                                    "id": "a6d1f6ac-fc45-474e-b372-3571e639fa8e",
+                            	                                                                                    "networkid": "4a02a05f-1312-484a-a82b-246a86ed6949",
+                            	                                                                                    "netmask": "255.255.0.0",
+                            	                                                                                    "gateway": "169.254.0.1",
+                            	                                                                                    "ipaddress": "169.254.2.29",
+                            	                                                                                    "traffictype": "Control",
+                            	                                                                                    "isdefault": false,
+                            	                                                                                    "macaddress": "0e:00:a9:fe:02:1d"
+                            	                                                                                }
+                            	                                                                            ],
+                            	                                                                            "requiresupgrade": true,
+                            	                                                                            "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c",
+                            	                                                                            "jobstatus": 0
+                            	                                                                        }
+                            	                                                                    },
+                            	                                                                    "created": "2013-11-19T11:41:40-0800",
+                            	                                                                    "jobid": "d66fa7ef-c91f-425f-b820-2f8ff2a0da8c"
+                            	                                                                }
+                            	                                                            }
+                            	                                                            */
+                            	                            //example ends                                                            
+                            	                        }
+                            	                    }
+                            	                }
+                            	            });
+                            	        },
+                            	        notification: {
+                            	            poll: pollAsyncJobResult
+                            	        }
+                            	    }
+                            	},                            	                                          	
                             	
                             	dataProvider: function(args) {   
                                 	var data = {};
@@ -8148,7 +8164,40 @@
                                     poll: pollAsyncJobResult
                                 }
                             },
-
+                            
+                            upgradeRouterToUseNewerTemplate: {                                
+                                label: 'Upgrade Router to Use Newer Template',
+                                messages: {
+                                	confirm: function(args) {
+                                        return 'Please confirm that you want to upgrade router to use newer template';
+                                    },
+                                    notification: function (args) {
+                                        return 'Upgrade Router to Use Newer Template';
+                                    }
+                                },                                
+                                action: function (args) {     
+                                    $.ajax({
+                                        url: createURL('upgradeRouterTemplate'),
+                                        data: {
+                                        	id: args.context.routers[0].id
+                                        },
+                                        success: function (json) {                                        	
+                                            var jobs = json.upgraderoutertemplateresponse.asyncjobs;
+                                            if (jobs != undefined) {
+                                            	args.response.success({
+                                                    _custom: {
+                                                        jobId: jobs[0].jobid
+                                                    }
+                                                });   
+                                            }
+                                        }
+                                    });
+                                },
+                                notification: {
+                                    poll: pollAsyncJobResult
+                                }
+                            }, 
+                            
                             'remove': {
                                 label: 'label.destroy.router',
                                 messages: {
@@ -17491,6 +17540,8 @@
         var jsonObj = args.context.item;
         var allowedActions = [];
 
+        allowedActions.push('upgradeRouterToUseNewerTemplate');
+        
         if (jsonObj.state == 'Running') {
             allowedActions.push("stop");