diff --git a/go.mod b/go.mod index bcd0a0eaaf..7a89eb7784 100644 --- a/go.mod +++ b/go.mod @@ -88,7 +88,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.20240129093000-c49c2256b3e9 + yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240131091028-b3913bb703de yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32 yunion.io/x/jsonutils v1.0.1-0.20230613121553-0f3b41e2ef19 yunion.io/x/log v1.0.1-0.20230411060016-feb3f46ab361 diff --git a/go.sum b/go.sum index 3f16885e3d..8ad13db54d 100644 --- a/go.sum +++ b/go.sum @@ -1201,8 +1201,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.20240129093000-c49c2256b3e9 h1:6wtNZGh8PAVUT5i29uGZ7T5pxMsnDQFYCv1UGZ76Va4= -yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240129093000-c49c2256b3e9/go.mod h1:aj1gR9PPb6eqqKOwvANe26CoZFY8ydmXy0fuvgKYXH0= +yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240131091028-b3913bb703de h1:xWEAZ5Gp4tywv3wn7YW+Vf9b1YOdArzxYP2R7NHpGro= +yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240131091028-b3913bb703de/go.mod h1:aj1gR9PPb6eqqKOwvANe26CoZFY8ydmXy0fuvgKYXH0= yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32 h1:v7POYkQwo1XzOxBoIoRVr/k0V9Y5JyjpshlIFa9raug= yunion.io/x/executor v0.0.0-20230705125604-c5ac3141db32/go.mod h1:Uxuou9WQIeJXNpy7t2fPLL0BYLvLiMvGQwY7Qc6aSws= yunion.io/x/jsonutils v0.0.0-20190625054549-a964e1e8a051/go.mod h1:4N0/RVzsYL3kH3WE/H1BjUQdFiWu50JGCFQuuy+Z634= diff --git a/pkg/compute/models/guests.go b/pkg/compute/models/guests.go index 0130640dc2..6879df485f 100644 --- a/pkg/compute/models/guests.go +++ b/pkg/compute/models/guests.go @@ -3657,6 +3657,7 @@ func (self *SGuest) SyncVMNics( _, err = db.Update(&commondb[i], func() error { network := commondb[i].GetNetwork() ip := commonext[i].GetIP() + ip6 := commonext[i].GetIP6() if len(ip) > 0 { if !network.Contains(ip) { localNet, err := getCloudNicNetwork(ctx, commonext[i], host, ipList, i) @@ -3667,6 +3668,7 @@ func (self *SGuest) SyncVMNics( commondb[i].IpAddr = ip } else { commondb[i].IpAddr = ip + commondb[1].Ip6Addr = ip6 } } commondb[i].Driver = commonext[i].GetDriver() @@ -3707,6 +3709,7 @@ func (self *SGuest) SyncVMNics( guestnetworks, err := self.Attach2Network(ctx, userCred, Attach2NetworkArgs{ Network: localNet, IpAddr: ip, + Ip6Addr: added[i].GetIP6(), NicDriver: added[i].GetDriver(), TryReserved: true, AllocDir: api.IPAllocationDefault, diff --git a/pkg/compute/models/networks.go b/pkg/compute/models/networks.go index ae5c0be1b7..19b3d65241 100644 --- a/pkg/compute/models/networks.go +++ b/pkg/compute/models/networks.go @@ -738,6 +738,11 @@ func (snet *SNetwork) SyncWithCloudNetwork(ctx context.Context, userCred mcclien snet.GuestGateway = extNet.GetGateway() snet.ServerType = extNet.GetServerType() + snet.GuestIp6Start = extNet.GetIp6Start() + snet.GuestIp6End = extNet.GetIp6End() + snet.GuestIp6Mask = extNet.GetIp6Mask() + snet.GuestGateway6 = extNet.GetGateway6() + snet.AllocTimoutSeconds = extNet.GetAllocTimeoutSeconds() if createdAt := extNet.GetCreatedAt(); !createdAt.IsZero() { diff --git a/pkg/compute/models/vpcs.go b/pkg/compute/models/vpcs.go index 4aed62bb13..94bbdf4314 100644 --- a/pkg/compute/models/vpcs.go +++ b/pkg/compute/models/vpcs.go @@ -647,6 +647,7 @@ func (svpc *SVpc) SyncWithCloudVpc(ctx context.Context, userCred mcclient.TokenC } svpc.Status = extVPC.GetStatus() svpc.CidrBlock = extVPC.GetCidrBlock() + svpc.CidrBlock6 = extVPC.GetCidrBlock6() svpc.IsDefault = extVPC.GetIsDefault() svpc.ExternalId = extVPC.GetGlobalId() diff --git a/pkg/mcclient/cloudpods/instancenic.go b/pkg/mcclient/cloudpods/instancenic.go index 4cce36e518..f2bde3d4ad 100644 --- a/pkg/mcclient/cloudpods/instancenic.go +++ b/pkg/mcclient/cloudpods/instancenic.go @@ -40,6 +40,10 @@ func (self *SInstanceNic) GetIP() string { return self.IpAddr } +func (self *SInstanceNic) GetIP6() string { + return self.Ip6Addr +} + func (self *SInstanceNic) GetDriver() string { return self.Driver } diff --git a/pkg/mcclient/cloudpods/network.go b/pkg/mcclient/cloudpods/network.go index 100dee40e6..68c9f5ea51 100644 --- a/pkg/mcclient/cloudpods/network.go +++ b/pkg/mcclient/cloudpods/network.go @@ -25,7 +25,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase CloudpodsTags wire *SWire @@ -56,6 +56,22 @@ func (self *SNetwork) GetIWire() cloudprovider.ICloudWire { return self.wire } +func (net *SNetwork) GetIp6Start() string { + return net.GuestIp6Start +} + +func (net *SNetwork) GetIp6End() string { + return net.GuestIp6End +} + +func (net *SNetwork) GetIp6Mask() uint8 { + return net.GuestIpMask +} + +func (self *SNetwork) GetGateway6() string { + return self.GuestGateway6 +} + func (self *SNetwork) GetIpStart() string { return self.GuestIpStart } diff --git a/vendor/modules.txt b/vendor/modules.txt index 65b45c53fc..63fcbbe8fd 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1465,7 +1465,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.20240129093000-c49c2256b3e9 +# yunion.io/x/cloudmux v0.3.10-0-alpha.1.0.20240131091028-b3913bb703de ## 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/cloudprovider/resources.go b/vendor/yunion.io/x/cloudmux/pkg/cloudprovider/resources.go index c0309650ff..2d3ec9530a 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/cloudprovider/resources.go +++ b/vendor/yunion.io/x/cloudmux/pkg/cloudprovider/resources.go @@ -401,6 +401,7 @@ type ICloudVM interface { type ICloudNic interface { GetId() string GetIP() string + GetIP6() string GetMAC() string InClassicNetwork() bool GetDriver() string @@ -427,6 +428,7 @@ var _ ICloudNic = DummyICloudNic{} func (d DummyICloudNic) GetId() string { panic(errors.ErrNotImplemented) } func (d DummyICloudNic) GetIP() string { panic(errors.ErrNotImplemented) } +func (d DummyICloudNic) GetIP6() string { panic(errors.ErrNotImplemented) } func (d DummyICloudNic) GetMAC() string { panic(errors.ErrNotImplemented) } func (d DummyICloudNic) InClassicNetwork() bool { panic(errors.ErrNotImplemented) } func (d DummyICloudNic) GetDriver() string { panic(errors.ErrNotImplemented) } @@ -603,6 +605,7 @@ type ICloudVpc interface { GetRegion() ICloudRegion GetIsDefault() bool GetCidrBlock() string + GetCidrBlock6() string GetIWires() ([]ICloudWire, error) CreateIWire(opts *SWireCreateOptions) (ICloudWire, error) GetISecurityGroups() ([]ICloudSecurityGroup, error) @@ -648,11 +651,18 @@ type ICloudNetwork interface { IVirtualResource GetIWire() ICloudWire - // GetStatus() string + GetIpStart() string GetIpEnd() string GetIpMask() int8 GetGateway() string + + // IPv6 + GetIp6Start() string + GetIp6End() string + GetIp6Mask() uint8 + GetGateway6() string + GetServerType() string //GetIsPublic() bool // 仅私有云有用,公有云无效 diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/vswitch.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/vswitch.go index 1f1210bce2..40fee8710b 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/vswitch.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/aliyun/vswitch.go @@ -42,7 +42,7 @@ type SCloudResources struct { } type SVSwitch struct { - multicloud.SResourceBase + multicloud.SNetworkBase AliyunTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/apsara/vswitch.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/apsara/vswitch.go index 7767edcd0e..e79723edf4 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/apsara/vswitch.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/apsara/vswitch.go @@ -42,7 +42,7 @@ type SCloudResources struct { } type SVSwitch struct { - multicloud.SResourceBase + multicloud.SNetworkBase ApsaraTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/aws/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/aws/network.go index 7dda0039d5..07912d3b46 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/aws/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/aws/network.go @@ -30,7 +30,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase AwsTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/azure/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/azure/network.go index 8ceda63ce1..316a5c4ff2 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/azure/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/azure/network.go @@ -27,7 +27,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase AzureTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/bingocloud/instancenic.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/bingocloud/instancenic.go index 1b2d2b9903..6819fafb07 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/bingocloud/instancenic.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/bingocloud/instancenic.go @@ -58,6 +58,10 @@ func (self *SInstanceNic) GetIP() string { return self.PrivateIPAddress } +func (self *SInstanceNic) GetIP6() string { + return "" +} + func (self *SInstanceNic) GetMAC() string { return self.MACAddress } diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/bingocloud/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/bingocloud/network.go index d026316c4f..c004798976 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/bingocloud/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/bingocloud/network.go @@ -28,7 +28,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase multicloud.STagBase wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/ctyun/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/ctyun/network.go index f9b6d84ca7..8afda404fc 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/ctyun/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/ctyun/network.go @@ -29,7 +29,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase CtyunTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/ecloud/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/ecloud/network.go index a88f9d17ec..78703fe9a1 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/ecloud/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/ecloud/network.go @@ -26,7 +26,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase EcloudTags SZoneRegionBase diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/esxi/fakevpc.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/esxi/fakevpc.go index 5a1c3eacb6..3470b7ea14 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/esxi/fakevpc.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/esxi/fakevpc.go @@ -98,6 +98,10 @@ func (vpc *sFakeVpc) GetCidrBlock() string { return "" } +func (vpc *sFakeVpc) GetCidrBlock6() string { + return "" +} + func (vpc *sFakeVpc) CreateIWire(opts *cloudprovider.SWireCreateOptions) (cloudprovider.ICloudWire, error) { return nil, errors.ErrNotSupported } diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/google/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/google/network.go index b55cc8432c..ab09a890c8 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/google/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/google/network.go @@ -22,9 +22,11 @@ import ( api "yunion.io/x/cloudmux/pkg/apis/compute" "yunion.io/x/cloudmux/pkg/cloudprovider" + "yunion.io/x/cloudmux/pkg/multicloud" ) type SNetwork struct { + multicloud.SNetworkBase GoogleTags wire *SWire } diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/hcso/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/hcso/network.go index 4ae4a16d28..0a118ee31f 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/hcso/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/hcso/network.go @@ -33,7 +33,7 @@ Subnets // https://support.huaweicloud.com/api-vpc/zh-cn_topic_0020090590.html type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase huawei.HuaweiTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/huawei/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/huawei/network.go index 163a49c9d3..48ec001a2d 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/huawei/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/huawei/network.go @@ -34,7 +34,7 @@ Subnets // https://support.huaweicloud.com/api-vpc/zh-cn_topic_0020090590.html type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase HuaweiTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/jdcloud/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/jdcloud/network.go index c8e5346c24..d13b0448fa 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/jdcloud/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/jdcloud/network.go @@ -31,7 +31,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase JdcloudTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/network_base.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/network_base.go new file mode 100644 index 0000000000..9e80ed535e --- /dev/null +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/network_base.go @@ -0,0 +1,35 @@ +// Copyright 2019 Yunion +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package multicloud + +type SNetworkBase struct { + SResourceBase +} + +func (net *SNetworkBase) GetIp6Start() string { + return "" +} + +func (net *SNetworkBase) GetIp6End() string { + return "" +} + +func (self *SNetworkBase) GetIp6Mask() uint8 { + return 0 +} + +func (self *SNetworkBase) GetGateway6() string { + return "" +} diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/nutanix/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/nutanix/network.go index cf43252671..99c37a9d6b 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/nutanix/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/nutanix/network.go @@ -29,7 +29,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase multicloud.STagBase wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/network.go index 2cbd04c5f8..892b4a0f73 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/openstack/network.go @@ -92,7 +92,7 @@ type SNextLink struct { } type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase OpenStackTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/oracle/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/oracle/network.go index 05c2dd99e2..3addc870b4 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/oracle/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/oracle/network.go @@ -28,7 +28,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase SOracleTag wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/network.go index aaa20b7231..15bf38ccaa 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/network.go @@ -30,7 +30,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase ProxmoxTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/proxmox.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/proxmox.go index 917fa475c0..0738ccbf2b 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/proxmox.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/proxmox.go @@ -133,6 +133,7 @@ func (self *SProxmoxClient) GetRegions() ([]SRegion, error) { } type ProxmoxError struct { + Url string Message string Code int Params []string @@ -148,7 +149,7 @@ func (ce *ProxmoxError) ParseErrorFromJsonResponse(statusCode int, status string ce.Status = status if body != nil { body.Unmarshal(ce) - log.Errorf("error: %v", body.PrettyString()) + log.Errorf("%s status: %s(%d) error: %v", ce.Url, status, statusCode, body.PrettyString()) } if ce.Code == 0 && statusCode > 0 { ce.Code = statusCode @@ -289,7 +290,7 @@ func (cli *SProxmoxClient) __jsonRequest(method httputils.THttpMethod, res strin } req.SetHeader(header) - oe := &ProxmoxError{} + oe := &ProxmoxError{Url: url} _, resp, err := client.Send(context.Background(), req, oe, cli.debug) if err != nil { return nil, err diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/storage.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/storage.go index c7bf80dcce..296efd005a 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/storage.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/proxmox/storage.go @@ -174,7 +174,10 @@ func (self *SRegion) GetStorages() ([]SStorage, error) { return nil, err } - jsonutils.Update(&storages, resources) + err = jsonutils.Update(&storages, resources) + if err != nil { + return nil, errors.Wrapf(err, "jsonutils.Update") + } storageMap := map[string]bool{} ret := []SStorage{} diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/network.go index f97f9144a6..13016a5045 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/qcloud/network.go @@ -30,7 +30,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase QcloudTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/remotefile/instancenic.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/remotefile/instancenic.go index 7879a6c6d0..a3c0ec2c7e 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/remotefile/instancenic.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/remotefile/instancenic.go @@ -34,6 +34,10 @@ func (self *SInstanceNic) GetIP() string { return self.Ip } +func (self *SInstanceNic) GetIP6() string { + return "" +} + func (self *SInstanceNic) GetMAC() string { if len(self.Mac) == 0 { ip, _ := netutils.NewIPV4Addr(self.GetIP()) diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/remotefile/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/remotefile/network.go index 61164c5aea..161b3de7c6 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/remotefile/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/remotefile/network.go @@ -30,6 +30,11 @@ type SNetwork struct { IpEnd string IpMask int8 Gatway string + + Ip6Start string + Ip6End string + Ip6Mask uint8 + Gatway6 string } func (self *SNetwork) GetIWire() cloudprovider.ICloudWire { @@ -52,6 +57,22 @@ func (self *SNetwork) GetGateway() string { return self.Gatway } +func (self *SNetwork) GetIp6Start() string { + return self.Ip6Start +} + +func (self *SNetwork) GetIp6End() string { + return self.Ip6End +} + +func (self *SNetwork) GetIp6Mask() uint8 { + return self.Ip6Mask +} + +func (self *SNetwork) GetGateway6() string { + return self.Gatway +} + func (self *SNetwork) GetServerType() string { return api.NETWORK_TYPE_GUEST } diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/ucloud/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/ucloud/network.go index 5871c160cb..236e2200bf 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/ucloud/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/ucloud/network.go @@ -29,7 +29,7 @@ import ( // https://docs.ucloud.cn/api/vpc2.0-api/describe_subnet type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase UcloudTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/volcengine/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/volcengine/network.go index 4003f23e2c..0b217f7bba 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/volcengine/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/volcengine/network.go @@ -30,7 +30,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase VolcEngineTags wire *SWire diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/vpc_base.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/vpc_base.go index f5abd09825..7e65b32a4d 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/vpc_base.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/vpc_base.go @@ -89,6 +89,10 @@ func (self *SVpc) GetGlobalVpcId() string { return "" } +func (self *SVpc) GetCidrBlock6() string { + return "" +} + func (self *SVpc) GetICloudIPv6Gateways() ([]cloudprovider.ICloudIPv6Gateway, error) { return nil, errors.Wrapf(cloudprovider.ErrNotImplemented, "GetICloudIPv6Gateways") } diff --git a/vendor/yunion.io/x/cloudmux/pkg/multicloud/zstack/network.go b/vendor/yunion.io/x/cloudmux/pkg/multicloud/zstack/network.go index c29e1140d5..30b4146bbe 100644 --- a/vendor/yunion.io/x/cloudmux/pkg/multicloud/zstack/network.go +++ b/vendor/yunion.io/x/cloudmux/pkg/multicloud/zstack/network.go @@ -28,7 +28,7 @@ import ( ) type SNetwork struct { - multicloud.SResourceBase + multicloud.SNetworkBase ZStackTags wire *SWire