You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by re...@apache.org on 2015/12/11 17:15:46 UTC

[1/2] git commit: updated refs/heads/master to 1ed5c20

Repository: cloudstack
Updated Branches:
  refs/heads/master 312b9aff9 -> 1ed5c2090


CLOUDSTACK-9129: list vpc routers by keyword in Infrastructure -> Virtual Routers

and two more changes:
(1) add network name/vpc name in the listRouters response
(2) add network name/vpc id, vpc name in the router details page


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

Branch: refs/heads/master
Commit: 24f1396ac1625bff56e3e72e0065fc9410a7272f
Parents: 738b788
Author: Wei Zhou <w....@tech.leaseweb.com>
Authored: Wed Dec 9 09:07:57 2015 +0100
Committer: Wei Zhou <w....@tech.leaseweb.com>
Committed: Thu Dec 10 09:14:12 2015 +0100

----------------------------------------------------------------------
 .../api/response/DomainRouterResponse.java      |  16 +++
 .../com/cloud/api/query/QueryManagerImpl.java   |   1 +
 .../api/query/dao/DomainRouterJoinDaoImpl.java  |   3 +
 .../cloud/api/query/vo/DomainRouterJoinVO.java  |   7 ++
 setup/db/db/schema-461to470.sql                 | 107 +++++++++++++++++++
 ui/scripts/system.js                            |  71 ++++++++++++
 6 files changed, 205 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/24f1396a/api/src/org/apache/cloudstack/api/response/DomainRouterResponse.java
----------------------------------------------------------------------
diff --git a/api/src/org/apache/cloudstack/api/response/DomainRouterResponse.java b/api/src/org/apache/cloudstack/api/response/DomainRouterResponse.java
index 9225ba0..131e3e1 100644
--- a/api/src/org/apache/cloudstack/api/response/DomainRouterResponse.java
+++ b/api/src/org/apache/cloudstack/api/response/DomainRouterResponse.java
@@ -137,6 +137,10 @@ public class DomainRouterResponse extends BaseResponse implements ControlledView
     @Param(description = "the ID of the corresponding guest network")
     private String guestNetworkId;
 
+    @SerializedName("guestnetworkname")
+    @Param(description = "the name of the corresponding guest network")
+    private String guestNetworkName;
+
     @SerializedName(ApiConstants.TEMPLATE_ID)
     @Param(description = "the template ID for the router")
     private String templateId;
@@ -197,6 +201,10 @@ public class DomainRouterResponse extends BaseResponse implements ControlledView
     @Param(description = "VPC the router belongs to")
     private String vpcId;
 
+    @SerializedName("vpcname")
+    @Param(description = "the name of VPC the router belongs to")
+    private String vpcName;
+
     @SerializedName(ApiConstants.ROLE)
     @Param(description = "role of the domain router")
     private String role;
@@ -333,6 +341,10 @@ public class DomainRouterResponse extends BaseResponse implements ControlledView
         this.guestNetworkId = guestNetworkId;
     }
 
+    public void setGuestNetworkName(String guestNetworkName) {
+        this.guestNetworkName = guestNetworkName;
+    }
+
     public void setLinkLocalIp(String linkLocalIp) {
         this.linkLocalIp = linkLocalIp;
     }
@@ -395,6 +407,10 @@ public class DomainRouterResponse extends BaseResponse implements ControlledView
         this.vpcId = vpcId;
     }
 
+    public void setVpcName(String vpcName) {
+        this.vpcName = vpcName;
+    }
+
     public void setNics(Set<NicResponse> nics) {
         this.nics = nics;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/24f1396a/server/src/com/cloud/api/query/QueryManagerImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/QueryManagerImpl.java b/server/src/com/cloud/api/query/QueryManagerImpl.java
index 0c72710..a87d9fb 100644
--- a/server/src/com/cloud/api/query/QueryManagerImpl.java
+++ b/server/src/com/cloud/api/query/QueryManagerImpl.java
@@ -1225,6 +1225,7 @@ public class QueryManagerImpl extends ManagerBase implements QueryService, Confi
             ssc.addOr("instanceName", SearchCriteria.Op.LIKE, "%" + keyword + "%");
             ssc.addOr("state", SearchCriteria.Op.LIKE, "%" + keyword + "%");
             ssc.addOr("networkName", SearchCriteria.Op.LIKE, "%" + keyword + "%");
+            ssc.addOr("vpcName", SearchCriteria.Op.LIKE, "%" + keyword + "%");
 
             sc.addAnd("instanceName", SearchCriteria.Op.SC, ssc);
         }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/24f1396a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
index a4ec3e8..e3d1e30 100644
--- a/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
+++ b/server/src/com/cloud/api/query/dao/DomainRouterJoinDaoImpl.java
@@ -116,6 +116,7 @@ public class DomainRouterJoinDaoImpl extends GenericDaoBase<DomainRouterJoinVO,
                         routerResponse.setGuestMacAddress(router.getMacAddress());
                         routerResponse.setGuestNetmask(router.getNetmask());
                         routerResponse.setGuestNetworkId(router.getNetworkUuid());
+                        routerResponse.setGuestNetworkName(router.getNetworkName());
                         routerResponse.setNetworkDomain(router.getNetworkDomain());
                     }
                 }
@@ -166,6 +167,7 @@ public class DomainRouterJoinDaoImpl extends GenericDaoBase<DomainRouterJoinVO,
         routerResponse.setIp6Dns2(router.getIp6Dns2());
 
         routerResponse.setVpcId(router.getVpcUuid());
+        routerResponse.setVpcName(router.getVpcName());
 
         routerResponse.setRole(router.getRole().toString());
 
@@ -208,6 +210,7 @@ public class DomainRouterJoinDaoImpl extends GenericDaoBase<DomainRouterJoinVO,
                     vrData.setGuestMacAddress(vr.getMacAddress());
                     vrData.setGuestNetmask(vr.getNetmask());
                     vrData.setGuestNetworkId(vr.getNetworkUuid());
+                    vrData.setGuestNetworkName(vr.getNetworkName());
                     vrData.setNetworkDomain(vr.getNetworkDomain());
                 }
             }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/24f1396a/server/src/com/cloud/api/query/vo/DomainRouterJoinVO.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/query/vo/DomainRouterJoinVO.java b/server/src/com/cloud/api/query/vo/DomainRouterJoinVO.java
index 8984ff5..d34bd5e 100644
--- a/server/src/com/cloud/api/query/vo/DomainRouterJoinVO.java
+++ b/server/src/com/cloud/api/query/vo/DomainRouterJoinVO.java
@@ -152,6 +152,9 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti
     @Column(name = "vpc_uuid")
     private String vpcUuid;
 
+    @Column(name = "vpc_name")
+    private String vpcName;
+
     @Column(name = "nic_id")
     private long nicId;
 
@@ -371,6 +374,10 @@ public class DomainRouterJoinVO extends BaseViewVO implements ControlledViewEnti
         return vpcId;
     }
 
+    public String getVpcName() {
+        return vpcName;
+    }
+
     public long getNicId() {
         return nicId;
     }

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/24f1396a/setup/db/db/schema-461to470.sql
----------------------------------------------------------------------
diff --git a/setup/db/db/schema-461to470.sql b/setup/db/db/schema-461to470.sql
index d738545..dc9f1ce 100644
--- a/setup/db/db/schema-461to470.sql
+++ b/setup/db/db/schema-461to470.sql
@@ -140,3 +140,110 @@ INSERT IGNORE INTO `cloud_usage`.`quota_email_templates` (`template_name`, `temp
  ('QUOTA_UNLOCK_ACCOUNT', 'Quota credits added, account ${accountName} is unlocked now, if it was locked', 'Your account ${accountName} in the domain ${domainName} has enough quota credits now with the current balance of ${quotaBalance}.'),
  ('QUOTA_STATEMENT', 'Quota Statement for your account ${accountName}', 'Monthly quota statement of your account ${accountName} in the domain ${domainName}:<br>Balance = ${quotaBalance}<br>Total Usage = ${quotaUsage}.');
 UNLOCK TABLES;
+
+
+DROP VIEW IF EXISTS `cloud`.`domain_router_view`;
+CREATE VIEW `cloud`.`domain_router_view` AS
+    select
+        vm_instance.id id,
+        vm_instance.name name,
+        account.id account_id,
+        account.uuid account_uuid,
+        account.account_name account_name,
+        account.type account_type,
+        domain.id domain_id,
+        domain.uuid domain_uuid,
+        domain.name domain_name,
+        domain.path domain_path,
+        projects.id project_id,
+        projects.uuid project_uuid,
+        projects.name project_name,
+        vm_instance.uuid uuid,
+        vm_instance.created created,
+        vm_instance.state state,
+        vm_instance.removed removed,
+        vm_instance.pod_id pod_id,
+        vm_instance.instance_name instance_name,
+        host_pod_ref.uuid pod_uuid,
+        data_center.id data_center_id,
+        data_center.uuid data_center_uuid,
+        data_center.name data_center_name,
+        data_center.networktype data_center_type,
+        data_center.dns1 dns1,
+        data_center.dns2 dns2,
+        data_center.ip6_dns1 ip6_dns1,
+        data_center.ip6_dns2 ip6_dns2,
+        host.id host_id,
+        host.uuid host_uuid,
+        host.name host_name,
+        host.hypervisor_type,
+        host.cluster_id cluster_id,
+        vm_template.id template_id,
+        vm_template.uuid template_uuid,
+        service_offering.id service_offering_id,
+        disk_offering.uuid service_offering_uuid,
+        disk_offering.name service_offering_name,
+        nics.id nic_id,
+        nics.uuid nic_uuid,
+        nics.network_id network_id,
+        nics.ip4_address ip_address,
+        nics.ip6_address ip6_address,
+        nics.ip6_gateway ip6_gateway,
+        nics.ip6_cidr ip6_cidr,
+        nics.default_nic is_default_nic,
+        nics.gateway gateway,
+        nics.netmask netmask,
+        nics.mac_address mac_address,
+        nics.broadcast_uri broadcast_uri,
+        nics.isolation_uri isolation_uri,
+        vpc.id vpc_id,
+        vpc.uuid vpc_uuid,
+        vpc.name vpc_name,
+        networks.uuid network_uuid,
+        networks.name network_name,
+        networks.network_domain network_domain,
+        networks.traffic_type traffic_type,
+        networks.guest_type guest_type,
+        async_job.id job_id,
+        async_job.uuid job_uuid,
+        async_job.job_status job_status,
+        async_job.account_id job_account_id,
+        domain_router.template_version template_version,
+        domain_router.scripts_version scripts_version,
+        domain_router.is_redundant_router is_redundant_router,
+        domain_router.redundant_state redundant_state,
+        domain_router.stop_pending stop_pending,
+        domain_router.role role
+    from
+        `cloud`.`domain_router`
+            inner join
+        `cloud`.`vm_instance` ON vm_instance.id = domain_router.id
+            inner join
+        `cloud`.`account` ON vm_instance.account_id = account.id
+            inner join
+        `cloud`.`domain` ON vm_instance.domain_id = domain.id
+            left join
+        `cloud`.`host_pod_ref` ON vm_instance.pod_id = host_pod_ref.id
+            left join
+        `cloud`.`projects` ON projects.project_account_id = account.id
+            left join
+        `cloud`.`data_center` ON vm_instance.data_center_id = data_center.id
+            left join
+        `cloud`.`host` ON vm_instance.host_id = host.id
+            left join
+        `cloud`.`vm_template` ON vm_instance.vm_template_id = vm_template.id
+            left join
+        `cloud`.`service_offering` ON vm_instance.service_offering_id = service_offering.id
+            left join
+        `cloud`.`disk_offering` ON vm_instance.service_offering_id = disk_offering.id
+            left join
+        `cloud`.`nics` ON vm_instance.id = nics.instance_id and nics.removed is null
+            left join
+        `cloud`.`networks` ON nics.network_id = networks.id
+            left join
+        `cloud`.`vpc` ON domain_router.vpc_id = vpc.id and vpc.removed is null
+            left join
+        `cloud`.`async_job` ON async_job.instance_id = vm_instance.id
+            and async_job.instance_type = 'DomainRouter'
+            and async_job.job_status = 0;
+

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/24f1396a/ui/scripts/system.js
----------------------------------------------------------------------
diff --git a/ui/scripts/system.js b/ui/scripts/system.js
index 33aafc5..af69359 100644
--- a/ui/scripts/system.js
+++ b/ui/scripts/system.js
@@ -2721,6 +2721,15 @@
                                                         hiddenFields.push('publicip');
                                                         //In Basic zone, guest IP is public IP. So, publicip is not returned by listRouters API. Only guestipaddress is returned by listRouters API.
                                                     }
+
+                                                    if ('routers' in args.context && args.context.routers[0].vpcid != undefined) {
+                                                        hiddenFields.push('guestnetworkid');
+                                                        hiddenFields.push('guestnetworkname');
+                                                    } else if ('routers' in args.context && args.context.routers[0].guestnetworkid != undefined) {
+                                                        hiddenFields.push('vpcid');
+                                                        hiddenFields.push('vpcname');
+                                                    }
+
                                                     return hiddenFields;
                                                 },
                                                 fields:[ {
@@ -2744,6 +2753,15 @@
                                                     guestnetworkid: {
                                                         label: 'label.network.id'
                                                     },
+                                                    guestnetworkname: {
+                                                        label: 'label.network.name'
+                                                    },
+                                                    vpcid: {
+                                                        label: 'label.vpc.id'
+                                                    },
+                                                    vpcname: {
+                                                        label: 'label.vpc'
+                                                    },
                                                     publicip: {
                                                         label: 'label.public.ip'
                                                     },
@@ -3247,6 +3265,15 @@
                                                         hiddenFields.push('publicip');
                                                         //In Basic zone, guest IP is public IP. So, publicip is not returned by listRouters API. Only guestipaddress is returned by listRouters API.
                                                     }
+
+                                                    if ('routers' in args.context && args.context.routers[0].vpcid != undefined) {
+                                                        hiddenFields.push('guestnetworkid');
+                                                        hiddenFields.push('guestnetworkname');
+                                                    } else if ('routers' in args.context && args.context.routers[0].guestnetworkid != undefined) {
+                                                        hiddenFields.push('vpcid');
+                                                        hiddenFields.push('vpcname');
+                                                    }
+
                                                     return hiddenFields;
                                                 },
                                                 fields:[ {
@@ -3270,6 +3297,15 @@
                                                     guestnetworkid: {
                                                         label: 'label.network.id'
                                                     },
+                                                    guestnetworkname: {
+                                                        label: 'label.network.name'
+                                                    },
+                                                    vpcid: {
+                                                        label: 'label.vpc.id'
+                                                    },
+                                                    vpcname: {
+                                                        label: 'label.vpc'
+                                                    },
                                                     publicip: {
                                                         label: 'label.public.ip'
                                                     },
@@ -6771,6 +6807,15 @@
                                                         hiddenFields.push('publicip');
                                                         //In Basic zone, guest IP is public IP. So, publicip is not returned by listRouters API. Only guestipaddress is returned by listRouters API.
                                                     }
+
+                                                    if ('routers' in args.context && args.context.routers[0].vpcid != undefined) {
+                                                        hiddenFields.push('guestnetworkid');
+                                                        hiddenFields.push('guestnetworkname');
+                                                    } else if ('routers' in args.context && args.context.routers[0].guestnetworkid != undefined) {
+                                                        hiddenFields.push('vpcid');
+                                                        hiddenFields.push('vpcname');
+                                                    }
+
                                                     return hiddenFields;
                                                 },
                                                 fields:[ {
@@ -6794,6 +6839,15 @@
                                                     guestnetworkid: {
                                                         label: 'label.network.id'
                                                     },
+                                                    guestnetworkname: {
+                                                        label: 'label.network.name'
+                                                    },
+                                                    vpcid: {
+                                                        label: 'label.vpc.id'
+                                                    },
+                                                    vpcname: {
+                                                        label: 'label.vpc'
+                                                    },
                                                     publicip: {
                                                         label: 'label.public.ip'
                                                     },
@@ -10042,6 +10096,14 @@
                                                 }
                                             });
 
+                                            if ('routers' in args.context && args.context.routers[0].vpcid != undefined) {
+                                                hiddenFields.push('guestnetworkid');
+                                                hiddenFields.push('guestnetworkname');
+                                            } else if ('routers' in args.context && args.context.routers[0].guestnetworkid != undefined) {
+                                                hiddenFields.push('vpcid');
+                                                hiddenFields.push('vpcname');
+                                            }
+
                                             return hiddenFields;
                                         },
                                         fields:[ {
@@ -10072,6 +10134,15 @@
                                             guestnetworkid: {
                                                 label: 'label.network.id'
                                             },
+                                            guestnetworkname: {
+                                                label: 'label.network.name'
+                                            },
+                                            vpcid: {
+                                                label: 'label.vpc.id'
+                                            },
+                                            vpcname: {
+                                                label: 'label.vpc'
+                                            },
                                             publicip: {
                                                 label: 'label.public.ip'
                                             },


[2/2] git commit: updated refs/heads/master to 1ed5c20

Posted by re...@apache.org.
Merge pull request #1197 from ustcweizhou/vpc-router-by-keyword

[4.7] CLOUDSTACK-9129: list vpc routers by keyword in Infrastructure -> Virtual Routers
and two more changes:
(1) add network name/vpc name in the listRouters response
(2) add network name/vpc id, vpc name in the router details page

* pr/1197:
  CLOUDSTACK-9129: list vpc routers by keyword in Infrastructure -> Virtual Routers

Signed-off-by: Remi Bergsma <gi...@remi.nl>


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

Branch: refs/heads/master
Commit: 1ed5c209086aa38da1f75881056cf2d6d6c1afc9
Parents: 312b9af 24f1396
Author: Remi Bergsma <gi...@remi.nl>
Authored: Fri Dec 11 17:14:42 2015 +0100
Committer: Remi Bergsma <gi...@remi.nl>
Committed: Fri Dec 11 17:14:43 2015 +0100

----------------------------------------------------------------------
 .../api/response/DomainRouterResponse.java      |  16 +++
 .../com/cloud/api/query/QueryManagerImpl.java   |   1 +
 .../api/query/dao/DomainRouterJoinDaoImpl.java  |   3 +
 .../cloud/api/query/vo/DomainRouterJoinVO.java  |   7 ++
 setup/db/db/schema-461to470.sql                 | 107 +++++++++++++++++++
 ui/scripts/system.js                            |  71 ++++++++++++
 6 files changed, 205 insertions(+)
----------------------------------------------------------------------