diff --git a/pkg/scheduler/algorithm/predicates/guest/network_predicate.go b/pkg/scheduler/algorithm/predicates/guest/network_predicate.go index f15dae5fda..be04fba623 100644 --- a/pkg/scheduler/algorithm/predicates/guest/network_predicate.go +++ b/pkg/scheduler/algorithm/predicates/guest/network_predicate.go @@ -151,7 +151,7 @@ func (p *NetworkPredicate) Execute(u *core.Unit, c core.Candidater) (bool, []cor continue } if !(n.Idx == net.ID || n.Idx == net.Name) { - //errMsgs = append(errMsgs, fmt.Sprintf("%v(%v): id/name not matched", net.Name, net.ID)) + errMsgs = append(errMsgs, fmt.Sprintf("%v(%v): id/name not matched", net.Name, net.ID)) } else if !(net.IsPublic || net.TenantID == d.OwnerTenantID) { errMsgs = append(errMsgs, fmt.Sprintf("%v(%v): not owner (%v != %v)", net.Name, net.ID, net.TenantID, d.OwnerTenantID)) } else if !(net.Ports > 0 || isMigrate()) { diff --git a/pkg/scheduler/api/sched.go b/pkg/scheduler/api/sched.go index a9b4da4a2e..f4d0710610 100644 --- a/pkg/scheduler/api/sched.go +++ b/pkg/scheduler/api/sched.go @@ -369,8 +369,19 @@ func (d *SchedData) fillNetworksInfo(sjson *simplejson.Json) error { break } net, err := newNetworkFromDesc(s.MustString()) - if err != nil { - return err + if err != nil || net.Idx == "" { + net = new(Network) + net.Idx = s.Get("network").MustString() + if net.Idx == "" { + return fmt.Errorf("Invalid network desc: %s", s.MustString()) + } + net.Wire = s.Get("wire").MustString() + net.Driver = s.Get("driver").MustString() + net.Exit = s.Get("exit").MustBool() + net.BwLimit = s.Get("bw_limit").MustInt64() + net.Private = s.Get("private").MustBool() + net.Reserved = s.Get("reserved").MustBool() + net.Vip = s.Get("vip").MustBool() } networks = append(networks, net) }