Automatic merge from release/2.5.0 -> release/2.6.0

* commit '6970baa2a08950319069a44d75df4c4272bac775':
  1. network-list add is_private/is_public filter 2. set default image quota to 10
This commit is contained in:
邱剑
2019-01-30 21:11:11 +08:00
3 changed files with 21 additions and 1 deletions
+2
View File
@@ -18,6 +18,8 @@ func init() {
Vpc string `help:"search networks belongs to a VPC"`
Region string `help:"search networks belongs to a CloudRegion" json:"cloudregion"`
ServerType string `help:"search networks belongs to a ServerType"`
Private *bool `help:"show private cloud networks only" json:"is_private"`
Public *bool `help:"show public cloud networks only" json:"is_public"`
}
R(&NetworkListOptions{}, "network-list", "List networks", func(s *mcclient.ClientSession, opts *NetworkListOptions) error {
params, err := options.ListStructToParams(opts)
+18
View File
@@ -1472,6 +1472,24 @@ func (manager *SNetworkManager) ListItemFilter(ctx context.Context, q *sqlchemy.
q = q.Filter(sqlchemy.In(q.Field("wire_id"), subq.SubQuery()))
}
if query.Contains("is_private") && jsonutils.QueryBoolean(query, "is_private", false) {
wires := WireManager.Query().SubQuery()
vpcs := VpcManager.Query().SubQuery()
subq := wires.Query(wires.Field("id"))
subq = subq.Join(vpcs, sqlchemy.Equals(vpcs.Field("id"), wires.Field("vpc_id")))
subq = subq.Filter(sqlchemy.IsNullOrEmpty(vpcs.Field("manager_id")))
q = q.Filter(sqlchemy.In(q.Field("wire_id"), subq.SubQuery()))
}
if query.Contains("is_public") && jsonutils.QueryBoolean(query, "is_public", false) {
wires := WireManager.Query().SubQuery()
vpcs := VpcManager.Query().SubQuery()
subq := wires.Query(wires.Field("id"))
subq = subq.Join(vpcs, sqlchemy.Equals(vpcs.Field("id"), wires.Field("vpc_id")))
subq = subq.Filter(sqlchemy.IsNotEmpty(vpcs.Field("manager_id")))
q = q.Filter(sqlchemy.In(q.Field("wire_id"), subq.SubQuery()))
}
return q, nil
}
+1 -1
View File
@@ -12,7 +12,7 @@ type SImageOptions struct {
pending_delete.SPendingDeleteOptions
DefaultImageQuota int `default:"5" help:"Common image quota per tenant, default 5"`
DefaultImageQuota int `default:"10" help:"Common image quota per tenant, default 10"`
PortV2 int `help:"Listening port for region V2"`