diff --git a/go.mod b/go.mod index 48b8e02df1..3e8e7965e6 100644 --- a/go.mod +++ b/go.mod @@ -83,7 +83,7 @@ require ( k8s.io/client-go v0.19.3 k8s.io/cluster-bootstrap v0.19.3 moul.io/http2curl/v2 v2.3.0 - yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230407021603-b6a10ceb21d1 + yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230407095611-39a9ba527094 yunion.io/x/executor v0.0.0-20211018100936-39a2cd966656 yunion.io/x/jsonutils v1.0.1-0.20220819091305-3bab322ab4fd yunion.io/x/log v1.0.0 diff --git a/go.sum b/go.sum index 38c7174e03..46943e3186 100644 --- a/go.sum +++ b/go.sum @@ -1164,8 +1164,8 @@ sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0 h1:kr/MCeFWJWTwyaHoR9c8EjH9OumOmoF9YGiZd7lFm/Q= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230407021603-b6a10ceb21d1 h1:3k+/5AfeDT/TPKOubnbEuOR+OfpBOhVs2h7xe/x9Iiw= -yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230407021603-b6a10ceb21d1/go.mod h1:VBAtfyGMDW11x5JmF0vUEmn/PmNpZ8CKBAQCiyz+cDY= +yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230407095611-39a9ba527094 h1:PqPoLi4z31X08y8hTtt+LyuXRigO1tezic3LRVv9Ml0= +yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230407095611-39a9ba527094/go.mod h1:VBAtfyGMDW11x5JmF0vUEmn/PmNpZ8CKBAQCiyz+cDY= yunion.io/x/executor v0.0.0-20211018100936-39a2cd966656 h1:0zlZD5uhZoIHgLVAWCz2aHaYk2ZrNsACCYD7R6EIBII= yunion.io/x/executor v0.0.0-20211018100936-39a2cd966656/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws= yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634= diff --git a/vendor/modules.txt b/vendor/modules.txt index 3acfeccfbc..34b7736158 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1442,7 +1442,7 @@ sigs.k8s.io/structured-merge-diff/v4/value # sigs.k8s.io/yaml v1.2.0 ## explicit; go 1.12 sigs.k8s.io/yaml -# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230407021603-b6a10ceb21d1 +# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20230407095611-39a9ba527094 ## explicit; go 1.18 yunion.io/x/cloudmux/pkg/apis yunion.io/x/cloudmux/pkg/apis/billing diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/instancenic.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/instancenic.go index efc47958a6..3628bbc5d9 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/instancenic.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/instancenic.go @@ -90,9 +90,18 @@ func (nic *SInstancePort) GetINetworkId() string { if regutils.MatchIPAddr(nic.FixedIps[i].IpAddress) { network, err := nic.region.GetNetwork(nic.FixedIps[i].SubnetId) if err != nil { - return nic.FixedIps[i].SubnetId + continue + } + pools := network.AllocationPools + for j := range pools { + if !pools[j].IsValid() { + continue + } + network.AllocationPools = []AllocationPool{pools[j]} + if network.Contains(nic.FixedIps[i].IpAddress) { + return network.GetGlobalId() + } } - return network.GetGlobalId() } } return ""