From ad814ab7099e855054bc752a50d1cf165282b61a Mon Sep 17 00:00:00 2001 From: wanyaoqi Date: Mon, 15 Jul 2019 22:07:16 +0800 Subject: [PATCH] fix deploy network with routes --- pkg/baremetal/nic.go | 2 +- pkg/cloudcommon/types/nic.go | 59 ++-- pkg/hostman/guestfs/core.go | 6 +- pkg/hostman/guestfs/fsdriver/android.go | 3 +- pkg/hostman/guestfs/fsdriver/base.go | 3 +- pkg/hostman/guestfs/fsdriver/esxi.go | 3 +- pkg/hostman/guestfs/fsdriver/interface.go | 5 +- pkg/hostman/guestfs/fsdriver/linux.go | 28 +- pkg/hostman/guestfs/fsdriver/macos.go | 3 +- pkg/hostman/guestfs/fsdriver/nicteaming.go | 27 +- pkg/hostman/guestfs/fsdriver/windows.go | 5 +- pkg/hostman/hostdeployer/apis/deploy.pb.go | 335 +++++++++------------ pkg/hostman/hostdeployer/apis/deploy.proto | 6 +- pkg/hostman/hostdeployer/apis/utils.go | 17 ++ pkg/util/netutils2/netutils.go | 9 +- 15 files changed, 261 insertions(+), 250 deletions(-) diff --git a/pkg/baremetal/nic.go b/pkg/baremetal/nic.go index 50c7ca6523..22be7861aa 100644 --- a/pkg/baremetal/nic.go +++ b/pkg/baremetal/nic.go @@ -50,7 +50,7 @@ func GetNicDHCPConfig( routes := make([][]string, 0) for _, route := range n.Routes { - routes = append(routes, []string{route.Route[0], route.Route[1]}) + routes = append(routes, []string{route[0], route[1]}) } conf := &dhcp.ResponseConfig{ diff --git a/pkg/cloudcommon/types/nic.go b/pkg/cloudcommon/types/nic.go index bf467e7cd3..60463332d9 100644 --- a/pkg/cloudcommon/types/nic.go +++ b/pkg/cloudcommon/types/nic.go @@ -18,8 +18,6 @@ import ( "net" "yunion.io/x/pkg/util/netutils" - - deployapi "yunion.io/x/onecloud/pkg/hostman/hostdeployer/apis" ) const ( @@ -32,23 +30,25 @@ var ( ) type SNic struct { - Type string `json:"nic_type"` - Domain string `json:"domain"` - Wire string `json:"wire"` - IpAddr string `json:"ip_addr"` - WireId string `json:"wire_id"` - NetId string `json:"net_id"` - Rate int64 `json:"rate"` - Mtu int64 `json:"mtu"` - Mac string `json:"mac"` - Dns string `json:"dns"` - MaskLen int8 `json:"masklen"` - Net string `json:"net"` - Gateway string `json:"gateway"` - LinkUp bool `json:"link_up"` - Routes []*deployapi.Routes `json:"routes,omitempty"` + Type string `json:"nic_type"` + Domain string `json:"domain"` + Wire string `json:"wire"` + IpAddr string `json:"ip_addr"` + WireId string `json:"wire_id"` + NetId string `json:"net_id"` + Rate int64 `json:"rate"` + Mtu int64 `json:"mtu"` + Mac string `json:"mac"` + Dns string `json:"dns"` + MaskLen int8 `json:"masklen"` + Net string `json:"net"` + Gateway string `json:"gateway"` + LinkUp bool `json:"link_up"` + Routes []SRoute `json:"routes,omitempty"` } +type SRoute []string + func (n SNic) GetNetMask() string { return netutils.Masklen2Mask(n.MaskLen).String() } @@ -58,7 +58,30 @@ func (n SNic) GetMac() net.HardwareAddr { } type SServerNic struct { - *deployapi.Nic + Name string `json:"name"` + Index int `json:"index"` + Bridge string `json:"bridge"` + Domain string `json:"domain"` + Ip string `json:"ip"` + Vlan int `json:"vlan"` + Driver string `json:"driver"` + Masklen int `json:"masklen"` + Virtual bool `json:"virtual"` + Manual bool `json:"manual"` + WireId string `json:"wire_id"` + NetId string `json:"net_id"` + Mac string `json:"mac"` + BandWidth int `json:"bw"` + Dns string `json:"dns"` + Net string `json:"net"` + Interface string `json:"interface"` + Gateway string `json:"gateway"` + Ifname string `json:"ifname"` + Routes []SRoute `json:"routes,omitempty"` + NicType string `json:"nic_type,omitempty"` + LinkUp bool `json:"link_up,omitempty"` + Mtu int64 `json:"mtu,omitempty"` + TeamWith string `json:"team_with,omitempty"` TeamingMaster *SServerNic `json:"-"` TeamingSlaves []*SServerNic `json:"-"` diff --git a/pkg/hostman/guestfs/core.go b/pkg/hostman/guestfs/core.go index 7ecfbabe60..0acd73fdee 100644 --- a/pkg/hostman/guestfs/core.go +++ b/pkg/hostman/guestfs/core.go @@ -63,15 +63,15 @@ func DoDeployGuestFs(rootfs fsdriver.IRootFsDriver, guestDesc *deployapi.GuestDe hn = guestDesc.Name domain = guestDesc.Domain gid = guestDesc.Uuid - nics = guestDesc.Nics - nicsStandby = guestDesc.NicsStandby + nics = fsdriver.ToServerNics(guestDesc.Nics) + nicsStandby = fsdriver.ToServerNics(guestDesc.NicsStandby) partition = rootfs.GetPartition() releaseInfo = rootfs.GetReleaseInfo(partition) ) for _, n := range nics { var addr netutils.IPV4Addr if addr, err = netutils.NewIPV4Addr(n.Ip); err != nil { - return nil, fmt.Errorf("Fail to get ip addr from %s: %v", n.String(), err) + return nil, fmt.Errorf("Fail to get ip addr from %#v: %s", n, err) } if netutils.IsPrivate(addr) { ips = append(ips, n.Ip) diff --git a/pkg/hostman/guestfs/fsdriver/android.go b/pkg/hostman/guestfs/fsdriver/android.go index 7e89a0c80a..6b22e7614f 100644 --- a/pkg/hostman/guestfs/fsdriver/android.go +++ b/pkg/hostman/guestfs/fsdriver/android.go @@ -19,6 +19,7 @@ import ( "sort" "strings" + "yunion.io/x/onecloud/pkg/cloudcommon/types" deployapi "yunion.io/x/onecloud/pkg/hostman/hostdeployer/apis" ) @@ -119,7 +120,7 @@ func (m *SAndroidRootFs) PrepareFsForTemplate(IDiskPartition) error { return nil } -func (m *SAndroidRootFs) DeployNetworkingScripts(rootfs IDiskPartition, nics []*deployapi.Nic) error { +func (m *SAndroidRootFs) DeployNetworkingScripts(rootfs IDiskPartition, nics []*types.SServerNic) error { return nil } diff --git a/pkg/hostman/guestfs/fsdriver/base.go b/pkg/hostman/guestfs/fsdriver/base.go index f5ab5e59c4..8b22b7cf05 100644 --- a/pkg/hostman/guestfs/fsdriver/base.go +++ b/pkg/hostman/guestfs/fsdriver/base.go @@ -24,6 +24,7 @@ import ( "yunion.io/x/jsonutils" "yunion.io/x/log" + "yunion.io/x/onecloud/pkg/cloudcommon/types" deployapi "yunion.io/x/onecloud/pkg/hostman/hostdeployer/apis" ) @@ -87,7 +88,7 @@ func (d *sGuestRootFsDriver) DeployUdevSubsystemScripts(rootfs IDiskPartition) e return nil } -func (d *sGuestRootFsDriver) DeployStandbyNetworkingScripts(part IDiskPartition, nics, nicsStandby []*deployapi.Nic) error { +func (d *sGuestRootFsDriver) DeployStandbyNetworkingScripts(part IDiskPartition, nics, nicsStandby []*types.SServerNic) error { return nil } diff --git a/pkg/hostman/guestfs/fsdriver/esxi.go b/pkg/hostman/guestfs/fsdriver/esxi.go index f7f023637a..94d27cc484 100644 --- a/pkg/hostman/guestfs/fsdriver/esxi.go +++ b/pkg/hostman/guestfs/fsdriver/esxi.go @@ -17,6 +17,7 @@ package fsdriver import ( "yunion.io/x/pkg/utils" + "yunion.io/x/onecloud/pkg/cloudcommon/types" deployapi "yunion.io/x/onecloud/pkg/hostman/hostdeployer/apis" ) @@ -86,6 +87,6 @@ func (m *SEsxiRootFs) PrepareFsForTemplate(IDiskPartition) error { return nil } -func (m *SEsxiRootFs) DeployNetworkingScripts(rootfs IDiskPartition, nics []*deployapi.Nic) error { +func (m *SEsxiRootFs) DeployNetworkingScripts(rootfs IDiskPartition, nics []*types.SServerNic) error { return nil } diff --git a/pkg/hostman/guestfs/fsdriver/interface.go b/pkg/hostman/guestfs/fsdriver/interface.go index d97d7f1ef8..cb1e424e61 100644 --- a/pkg/hostman/guestfs/fsdriver/interface.go +++ b/pkg/hostman/guestfs/fsdriver/interface.go @@ -19,6 +19,7 @@ import ( "yunion.io/x/jsonutils" + "yunion.io/x/onecloud/pkg/cloudcommon/types" deployapi "yunion.io/x/onecloud/pkg/hostman/hostdeployer/apis" ) @@ -65,8 +66,8 @@ type IRootFsDriver interface { GetOs() string DeployHostname(part IDiskPartition, hn, domain string) error DeployHosts(part IDiskPartition, hn, domain string, ips []string) error - DeployNetworkingScripts(IDiskPartition, []*deployapi.Nic) error - DeployStandbyNetworkingScripts(part IDiskPartition, nics, nicsStandby []*deployapi.Nic) error + DeployNetworkingScripts(IDiskPartition, []*types.SServerNic) error + DeployStandbyNetworkingScripts(part IDiskPartition, nics, nicsStandby []*types.SServerNic) error DeployUdevSubsystemScripts(IDiskPartition) error DeployFstabScripts(IDiskPartition, []*deployapi.Disk) error GetLoginAccount(IDiskPartition, bool, bool) string diff --git a/pkg/hostman/guestfs/fsdriver/linux.go b/pkg/hostman/guestfs/fsdriver/linux.go index 7bbb87213d..120243531f 100644 --- a/pkg/hostman/guestfs/fsdriver/linux.go +++ b/pkg/hostman/guestfs/fsdriver/linux.go @@ -236,7 +236,7 @@ func (l *sLinuxRootFs) DeployFstabScripts(rootFs IDiskPartition, disks []*deploy return rootFs.FilePutContents("/etc/fstab", cf, false, false) } -func (l *sLinuxRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*deployapi.Nic) error { +func (l *sLinuxRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*types.SServerNic) error { udevPath := "/etc/udev/rules.d/" if rootFs.Exists(udevPath, false) { rules := rootFs.ListDir(udevPath, false) @@ -273,7 +273,7 @@ func (l *sLinuxRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*de return nil } -func (l *sLinuxRootFs) DeployStandbyNetworkingScripts(rootFs IDiskPartition, nics, nicsStandby []*deployapi.Nic) error { +func (l *sLinuxRootFs) DeployStandbyNetworkingScripts(rootFs IDiskPartition, nics, nicsStandby []*types.SServerNic) error { var udevPath = "/etc/udev/rules.d/" var nicRules string for _, nic := range nicsStandby { @@ -510,7 +510,7 @@ func getNicTeamingConfigCmds(slaves []*types.SServerNic) string { return cmds.String() } -func (d *sDebianLikeRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*deployapi.Nic) error { +func (d *sDebianLikeRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*types.SServerNic) error { if err := d.sLinuxRootFs.DeployNetworkingScripts(rootFs, nics); err != nil { return err } @@ -519,7 +519,8 @@ func (d *sDebianLikeRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics cmds.WriteString("auto lo\n") cmds.WriteString("iface lo inet loopback\n\n") - allNics, _ := convertNicConfigs(ToServerNics(nics)) + // ToServerNics(nics) + allNics, _ := convertNicConfigs(nics) mainNic, err := getMainNic(allNics) if err != nil { return err @@ -776,7 +777,7 @@ func (r *sRedhatLikeRootFs) DeployHostname(rootFs IDiskPartition, hn, domain str return nil } -func (r *sRedhatLikeRootFs) Centos5DeployNetworkingScripts(rootFs IDiskPartition, nics []*deployapi.Nic) error { +func (r *sRedhatLikeRootFs) Centos5DeployNetworkingScripts(rootFs IDiskPartition, nics []*types.SServerNic) error { var udevPath = "/etc/udev/rules.d/" if rootFs.Exists(udevPath, false) { var nicRules = "" @@ -824,7 +825,7 @@ func (r *sRedhatLikeRootFs) enableBondingModule(rootFs IDiskPartition, bondNics return rootFs.FilePutContents("/etc/modprobe.d/bonding.conf", content.String(), false, false) } -func (r *sRedhatLikeRootFs) deployNetworkingScripts(rootFs IDiskPartition, nics []*deployapi.Nic, relInfo *deployapi.ReleaseInfo) error { +func (r *sRedhatLikeRootFs) deployNetworkingScripts(rootFs IDiskPartition, nics []*types.SServerNic, relInfo *deployapi.ReleaseInfo) error { if err := r.sLinuxRootFs.DeployNetworkingScripts(rootFs, nics); err != nil { return err } @@ -842,7 +843,8 @@ func (r *sRedhatLikeRootFs) deployNetworkingScripts(rootFs IDiskPartition, nics if err != nil { return err } - allNics, bondNics := convertNicConfigs(ToServerNics(nics)) + // ToServerNics(nics) + allNics, bondNics := convertNicConfigs(nics) if len(bondNics) > 0 { err = r.enableBondingModule(rootFs, bondNics) if err != nil { @@ -940,7 +942,7 @@ func (r *sRedhatLikeRootFs) deployNetworkingScripts(rootFs IDiskPartition, nics return nil } -func (r *sRedhatLikeRootFs) DeployStandbyNetworkingScripts(rootFs IDiskPartition, nics, nicsStandby []*deployapi.Nic) error { +func (r *sRedhatLikeRootFs) DeployStandbyNetworkingScripts(rootFs IDiskPartition, nics, nicsStandby []*types.SServerNic) error { if err := r.sLinuxRootFs.DeployStandbyNetworkingScripts(rootFs, nics, nicsStandby); err != nil { return err } @@ -1035,7 +1037,7 @@ func (c *SCentosRootFs) GetReleaseInfo(rootFs IDiskPartition) *deployapi.Release return deployapi.NewReleaseInfo(c.GetName(), version, c.GetArch(rootFs)) } -func (c *SCentosRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*deployapi.Nic) error { +func (c *SCentosRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*types.SServerNic) error { relInfo := c.GetReleaseInfo(rootFs) if err := c.sRedhatLikeRootFs.deployNetworkingScripts(rootFs, nics, relInfo); err != nil { return err @@ -1098,7 +1100,7 @@ func (c *SFedoraRootFs) GetReleaseInfo(rootFs IDiskPartition) *deployapi.Release return deployapi.NewReleaseInfo(c.GetName(), version, c.GetArch(rootFs)) } -func (c *SFedoraRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*deployapi.Nic) error { +func (c *SFedoraRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*types.SServerNic) error { relInfo := c.GetReleaseInfo(rootFs) if err := c.sRedhatLikeRootFs.deployNetworkingScripts(rootFs, nics, relInfo); err != nil { return err @@ -1142,7 +1144,7 @@ func (d *SRhelRootFs) GetReleaseInfo(rootFs IDiskPartition) *deployapi.ReleaseIn return deployapi.NewReleaseInfo(d.GetName(), version, d.GetArch(rootFs)) } -func (d *SRhelRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*deployapi.Nic) error { +func (d *SRhelRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*types.SServerNic) error { relInfo := d.GetReleaseInfo(rootFs) if err := d.sRedhatLikeRootFs.deployNetworkingScripts(rootFs, nics, relInfo); err != nil { return err @@ -1189,7 +1191,7 @@ func (d *SGentooRootFs) DeployHostname(rootFs IDiskPartition, hn, domain string) return rootFs.FilePutContents(spath, content, false, false) } -func (l *SGentooRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*deployapi.Nic) error { +func (l *SGentooRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*types.SServerNic) error { if err := l.sLinuxRootFs.DeployNetworkingScripts(rootFs, nics); err != nil { return err } @@ -1366,7 +1368,7 @@ func (d *SCoreOsRootFs) DeployHosts(rootFs IDiskPartition, hostname, domain stri return nil } -func (d *SCoreOsRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*deployapi.Nic) error { +func (d *SCoreOsRootFs) DeployNetworkingScripts(rootFs IDiskPartition, nics []*types.SServerNic) error { cont := "[Match]\n" cont += "Name=eth*\n\n" cont += "[Network]\n" diff --git a/pkg/hostman/guestfs/fsdriver/macos.go b/pkg/hostman/guestfs/fsdriver/macos.go index 759aab420b..4893a78825 100644 --- a/pkg/hostman/guestfs/fsdriver/macos.go +++ b/pkg/hostman/guestfs/fsdriver/macos.go @@ -21,6 +21,7 @@ import ( "yunion.io/x/pkg/utils" + "yunion.io/x/onecloud/pkg/cloudcommon/types" deployapi "yunion.io/x/onecloud/pkg/hostman/hostdeployer/apis" "yunion.io/x/onecloud/pkg/util/macutils" "yunion.io/x/onecloud/pkg/util/seclib2" @@ -131,7 +132,7 @@ func (m *SMacOSRootFs) GetOs() string { return "macOs" } -func (m *SMacOSRootFs) DeployNetworkingScripts(rootfs IDiskPartition, nics []*deployapi.Nic) error { +func (m *SMacOSRootFs) DeployNetworkingScripts(rootfs IDiskPartition, nics []*types.SServerNic) error { return nil } diff --git a/pkg/hostman/guestfs/fsdriver/nicteaming.go b/pkg/hostman/guestfs/fsdriver/nicteaming.go index 818906bd3c..c1fb6efa4c 100644 --- a/pkg/hostman/guestfs/fsdriver/nicteaming.go +++ b/pkg/hostman/guestfs/fsdriver/nicteaming.go @@ -46,7 +46,32 @@ func findTeamingNic(nics []*types.SServerNic, mac string) *types.SServerNic { func ToServerNics(nics []*deployapi.Nic) []*types.SServerNic { ret := make([]*types.SServerNic, len(nics)) for i := 0; i < len(nics); i++ { - ret[i] = &types.SServerNic{Nic: nics[i]} + ret[i] = &types.SServerNic{ + Name: nics[i].Name, + Index: int(nics[i].Index), + Bridge: nics[i].Bridge, + Domain: nics[i].Domain, + Ip: nics[i].Ip, + Vlan: int(nics[i].Vlan), + Driver: nics[i].Driver, + Masklen: int(nics[i].Masklen), + Virtual: nics[i].Virtual, + Manual: nics[i].Manual, + WireId: nics[i].WireId, + NetId: nics[i].NetId, + Mac: nics[i].Mac, + BandWidth: int(nics[i].Bw), + Dns: nics[i].Dns, + Net: nics[i].Net, + Interface: nics[i].Interface, + Gateway: nics[i].Gateway, + Ifname: nics[i].Ifname, + Routes: deployapi.ConvertRoutes(nics[i].Routes), + NicType: nics[i].NicType, + LinkUp: nics[i].LinkUp, + Mtu: nics[i].Mtu, + TeamWith: nics[i].TeamWith, + } } return ret } diff --git a/pkg/hostman/guestfs/fsdriver/windows.go b/pkg/hostman/guestfs/fsdriver/windows.go index 396840d46c..30acb68cf3 100644 --- a/pkg/hostman/guestfs/fsdriver/windows.go +++ b/pkg/hostman/guestfs/fsdriver/windows.go @@ -231,7 +231,7 @@ func (w *SWindowsRootFs) DeployHosts(part IDiskPartition, hn, domain string, ips return w.rootFs.FilePutContents(ETC_HOSTS, hf.String(), false, true) } -func (w *SWindowsRootFs) DeployNetworkingScripts(rootfs IDiskPartition, nics []*deployapi.Nic) error { +func (w *SWindowsRootFs) DeployNetworkingScripts(rootfs IDiskPartition, nics []*types.SServerNic) error { mainNic, err := netutils2.GetMainNicFromDeployApi(nics) if err != nil { return err @@ -257,8 +257,7 @@ func (w *SWindowsRootFs) DeployNetworkingScripts(rootfs IDiskPartition, nics []* ` for /f "delims=,,, tokens=1,3" %%b in ("!line!") do (`, } - for _, nic := range nics { - snic := &types.SServerNic{Nic: nic} + for _, snic := range nics { mac := snic.Mac mac = strings.Replace(strings.ToUpper(mac), ":", "-", -1) lines = append(lines, fmt.Sprintf(` if "%%%%c" == "%s" (`, mac)) diff --git a/pkg/hostman/hostdeployer/apis/deploy.pb.go b/pkg/hostman/hostdeployer/apis/deploy.pb.go index 890e8f3515..08c431d5c4 100644 --- a/pkg/hostman/hostdeployer/apis/deploy.pb.go +++ b/pkg/hostman/hostdeployer/apis/deploy.pb.go @@ -1,17 +1,3 @@ -// 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. - // Code generated by protoc-gen-go. DO NOT EDIT. // source: deploy.proto @@ -286,35 +272,35 @@ func (m *Disk) GetDev() string { } type Nic struct { - Mac string `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty"` - Ip string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip,omitempty"` - Net string `protobuf:"bytes,3,opt,name=net,proto3" json:"net,omitempty"` - NetId string `protobuf:"bytes,4,opt,name=net_id,json=netId,proto3" json:"net_id,omitempty"` - Virtual bool `protobuf:"varint,5,opt,name=virtual,proto3" json:"virtual,omitempty"` - Gateway string `protobuf:"bytes,6,opt,name=gateway,proto3" json:"gateway,omitempty"` - Dns string `protobuf:"bytes,7,opt,name=dns,proto3" json:"dns,omitempty"` - Domain string `protobuf:"bytes,8,opt,name=domain,proto3" json:"domain,omitempty"` - Routes []*Routes `protobuf:"bytes,9,rep,name=routes,proto3" json:"routes,omitempty"` - Ifname string `protobuf:"bytes,10,opt,name=ifname,proto3" json:"ifname,omitempty"` - Masklen int32 `protobuf:"varint,11,opt,name=masklen,proto3" json:"masklen,omitempty"` - Driver string `protobuf:"bytes,12,opt,name=driver,proto3" json:"driver,omitempty"` - Bridge string `protobuf:"bytes,13,opt,name=bridge,proto3" json:"bridge,omitempty"` - WireId string `protobuf:"bytes,14,opt,name=wire_id,json=wireId,proto3" json:"wire_id,omitempty"` - Vlan int32 `protobuf:"varint,15,opt,name=vlan,proto3" json:"vlan,omitempty"` - Interface string `protobuf:"bytes,16,opt,name=interface,proto3" json:"interface,omitempty"` - Bw int32 `protobuf:"varint,17,opt,name=bw,proto3" json:"bw,omitempty"` - Index int32 `protobuf:"varint,18,opt,name=index,proto3" json:"index,omitempty"` - VirtualIps []string `protobuf:"bytes,19,rep,name=virtual_ips,json=virtualIps,proto3" json:"virtual_ips,omitempty"` - ExternelId string `protobuf:"bytes,20,opt,name=externel_id,json=externelId,proto3" json:"externel_id,omitempty"` - TeamWith string `protobuf:"bytes,21,opt,name=team_with,json=teamWith,proto3" json:"team_with,omitempty"` - Manual bool `protobuf:"varint,22,opt,name=manual,proto3" json:"manual,omitempty"` - NicType string `protobuf:"bytes,23,opt,name=nic_type,json=nicType,proto3" json:"nic_type,omitempty"` - LinkUp bool `protobuf:"varint,24,opt,name=link_up,json=linkUp,proto3" json:"link_up,omitempty"` - Mtu int64 `protobuf:"varint,25,opt,name=mtu,proto3" json:"mtu,omitempty"` - Name string `protobuf:"bytes,26,opt,name=name,proto3" json:"name,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + Mac string `protobuf:"bytes,1,opt,name=mac,proto3" json:"mac,omitempty"` + Ip string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip,omitempty"` + Net string `protobuf:"bytes,3,opt,name=net,proto3" json:"net,omitempty"` + NetId string `protobuf:"bytes,4,opt,name=net_id,json=netId,proto3" json:"net_id,omitempty"` + Virtual bool `protobuf:"varint,5,opt,name=virtual,proto3" json:"virtual,omitempty"` + Gateway string `protobuf:"bytes,6,opt,name=gateway,proto3" json:"gateway,omitempty"` + Dns string `protobuf:"bytes,7,opt,name=dns,proto3" json:"dns,omitempty"` + Domain string `protobuf:"bytes,8,opt,name=domain,proto3" json:"domain,omitempty"` + Routes string `protobuf:"bytes,9,opt,name=routes,proto3" json:"routes,omitempty"` + Ifname string `protobuf:"bytes,10,opt,name=ifname,proto3" json:"ifname,omitempty"` + Masklen int32 `protobuf:"varint,11,opt,name=masklen,proto3" json:"masklen,omitempty"` + Driver string `protobuf:"bytes,12,opt,name=driver,proto3" json:"driver,omitempty"` + Bridge string `protobuf:"bytes,13,opt,name=bridge,proto3" json:"bridge,omitempty"` + WireId string `protobuf:"bytes,14,opt,name=wire_id,json=wireId,proto3" json:"wire_id,omitempty"` + Vlan int32 `protobuf:"varint,15,opt,name=vlan,proto3" json:"vlan,omitempty"` + Interface string `protobuf:"bytes,16,opt,name=interface,proto3" json:"interface,omitempty"` + Bw int32 `protobuf:"varint,17,opt,name=bw,proto3" json:"bw,omitempty"` + Index int32 `protobuf:"varint,18,opt,name=index,proto3" json:"index,omitempty"` + VirtualIps []string `protobuf:"bytes,19,rep,name=virtual_ips,json=virtualIps,proto3" json:"virtual_ips,omitempty"` + ExternelId string `protobuf:"bytes,20,opt,name=externel_id,json=externelId,proto3" json:"externel_id,omitempty"` + TeamWith string `protobuf:"bytes,21,opt,name=team_with,json=teamWith,proto3" json:"team_with,omitempty"` + Manual bool `protobuf:"varint,22,opt,name=manual,proto3" json:"manual,omitempty"` + NicType string `protobuf:"bytes,23,opt,name=nic_type,json=nicType,proto3" json:"nic_type,omitempty"` + LinkUp bool `protobuf:"varint,24,opt,name=link_up,json=linkUp,proto3" json:"link_up,omitempty"` + Mtu int64 `protobuf:"varint,25,opt,name=mtu,proto3" json:"mtu,omitempty"` + Name string `protobuf:"bytes,26,opt,name=name,proto3" json:"name,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *Nic) Reset() { *m = Nic{} } @@ -398,11 +384,11 @@ func (m *Nic) GetDomain() string { return "" } -func (m *Nic) GetRoutes() []*Routes { +func (m *Nic) GetRoutes() string { if m != nil { return m.Routes } - return nil + return "" } func (m *Nic) GetIfname() string { @@ -524,45 +510,6 @@ func (m *Nic) GetName() string { return "" } -type Routes struct { - Route []string `protobuf:"bytes,1,rep,name=route,proto3" json:"route,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` -} - -func (m *Routes) Reset() { *m = Routes{} } -func (m *Routes) String() string { return proto.CompactTextString(m) } -func (*Routes) ProtoMessage() {} -func (*Routes) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{3} -} - -func (m *Routes) XXX_Unmarshal(b []byte) error { - return xxx_messageInfo_Routes.Unmarshal(m, b) -} -func (m *Routes) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - return xxx_messageInfo_Routes.Marshal(b, m, deterministic) -} -func (m *Routes) XXX_Merge(src proto.Message) { - xxx_messageInfo_Routes.Merge(m, src) -} -func (m *Routes) XXX_Size() int { - return xxx_messageInfo_Routes.Size(m) -} -func (m *Routes) XXX_DiscardUnknown() { - xxx_messageInfo_Routes.DiscardUnknown(m) -} - -var xxx_messageInfo_Routes proto.InternalMessageInfo - -func (m *Routes) GetRoute() []string { - if m != nil { - return m.Route - } - return nil -} - type DeployInfo struct { PublicKey *SSHKeys `protobuf:"bytes,1,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"` Deploys []*DeployContent `protobuf:"bytes,2,rep,name=deploys,proto3" json:"deploys,omitempty"` @@ -581,7 +528,7 @@ func (m *DeployInfo) Reset() { *m = DeployInfo{} } func (m *DeployInfo) String() string { return proto.CompactTextString(m) } func (*DeployInfo) ProtoMessage() {} func (*DeployInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{4} + return fileDescriptor_05f09e103004e384, []int{3} } func (m *DeployInfo) XXX_Unmarshal(b []byte) error { @@ -672,7 +619,7 @@ func (m *SSHKeys) Reset() { *m = SSHKeys{} } func (m *SSHKeys) String() string { return proto.CompactTextString(m) } func (*SSHKeys) ProtoMessage() {} func (*SSHKeys) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{5} + return fileDescriptor_05f09e103004e384, []int{4} } func (m *SSHKeys) XXX_Unmarshal(b []byte) error { @@ -734,7 +681,7 @@ func (m *DeployContent) Reset() { *m = DeployContent{} } func (m *DeployContent) String() string { return proto.CompactTextString(m) } func (*DeployContent) ProtoMessage() {} func (*DeployContent) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{6} + return fileDescriptor_05f09e103004e384, []int{5} } func (m *DeployContent) XXX_Unmarshal(b []byte) error { @@ -786,7 +733,7 @@ func (m *Empty) Reset() { *m = Empty{} } func (m *Empty) String() string { return proto.CompactTextString(m) } func (*Empty) ProtoMessage() {} func (*Empty) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{7} + return fileDescriptor_05f09e103004e384, []int{6} } func (m *Empty) XXX_Unmarshal(b []byte) error { @@ -824,7 +771,7 @@ func (m *DeployGuestFsResponse) Reset() { *m = DeployGuestFsResponse{} } func (m *DeployGuestFsResponse) String() string { return proto.CompactTextString(m) } func (*DeployGuestFsResponse) ProtoMessage() {} func (*DeployGuestFsResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{8} + return fileDescriptor_05f09e103004e384, []int{7} } func (m *DeployGuestFsResponse) XXX_Unmarshal(b []byte) error { @@ -907,7 +854,7 @@ func (m *DeployParams) Reset() { *m = DeployParams{} } func (m *DeployParams) String() string { return proto.CompactTextString(m) } func (*DeployParams) ProtoMessage() {} func (*DeployParams) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{9} + return fileDescriptor_05f09e103004e384, []int{8} } func (m *DeployParams) XXX_Unmarshal(b []byte) error { @@ -960,7 +907,7 @@ func (m *ResizeFsParams) Reset() { *m = ResizeFsParams{} } func (m *ResizeFsParams) String() string { return proto.CompactTextString(m) } func (*ResizeFsParams) ProtoMessage() {} func (*ResizeFsParams) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{10} + return fileDescriptor_05f09e103004e384, []int{9} } func (m *ResizeFsParams) XXX_Unmarshal(b []byte) error { @@ -1001,7 +948,7 @@ func (m *FormatFsParams) Reset() { *m = FormatFsParams{} } func (m *FormatFsParams) String() string { return proto.CompactTextString(m) } func (*FormatFsParams) ProtoMessage() {} func (*FormatFsParams) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{11} + return fileDescriptor_05f09e103004e384, []int{10} } func (m *FormatFsParams) XXX_Unmarshal(b []byte) error { @@ -1057,7 +1004,7 @@ func (m *ReleaseInfo) Reset() { *m = ReleaseInfo{} } func (m *ReleaseInfo) String() string { return proto.CompactTextString(m) } func (*ReleaseInfo) ProtoMessage() {} func (*ReleaseInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{12} + return fileDescriptor_05f09e103004e384, []int{11} } func (m *ReleaseInfo) XXX_Unmarshal(b []byte) error { @@ -1118,7 +1065,7 @@ func (m *SaveToGlanceParams) Reset() { *m = SaveToGlanceParams{} } func (m *SaveToGlanceParams) String() string { return proto.CompactTextString(m) } func (*SaveToGlanceParams) ProtoMessage() {} func (*SaveToGlanceParams) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{13} + return fileDescriptor_05f09e103004e384, []int{12} } func (m *SaveToGlanceParams) XXX_Unmarshal(b []byte) error { @@ -1165,7 +1112,7 @@ func (m *SaveToGlanceResponse) Reset() { *m = SaveToGlanceResponse{} } func (m *SaveToGlanceResponse) String() string { return proto.CompactTextString(m) } func (*SaveToGlanceResponse) ProtoMessage() {} func (*SaveToGlanceResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{14} + return fileDescriptor_05f09e103004e384, []int{13} } func (m *SaveToGlanceResponse) XXX_Unmarshal(b []byte) error { @@ -1211,7 +1158,7 @@ func (m *ProbeImageInfoPramas) Reset() { *m = ProbeImageInfoPramas{} } func (m *ProbeImageInfoPramas) String() string { return proto.CompactTextString(m) } func (*ProbeImageInfoPramas) ProtoMessage() {} func (*ProbeImageInfoPramas) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{15} + return fileDescriptor_05f09e103004e384, []int{14} } func (m *ProbeImageInfoPramas) XXX_Unmarshal(b []byte) error { @@ -1256,7 +1203,7 @@ func (m *ImageInfo) Reset() { *m = ImageInfo{} } func (m *ImageInfo) String() string { return proto.CompactTextString(m) } func (*ImageInfo) ProtoMessage() {} func (*ImageInfo) Descriptor() ([]byte, []int) { - return fileDescriptor_05f09e103004e384, []int{16} + return fileDescriptor_05f09e103004e384, []int{15} } func (m *ImageInfo) XXX_Unmarshal(b []byte) error { @@ -1330,7 +1277,6 @@ func init() { proto.RegisterType((*GuestDesc)(nil), "apis.GuestDesc") proto.RegisterType((*Disk)(nil), "apis.Disk") proto.RegisterType((*Nic)(nil), "apis.Nic") - proto.RegisterType((*Routes)(nil), "apis.Routes") proto.RegisterType((*DeployInfo)(nil), "apis.DeployInfo") proto.RegisterType((*SSHKeys)(nil), "apis.SSHKeys") proto.RegisterType((*DeployContent)(nil), "apis.DeployContent") @@ -1349,103 +1295,102 @@ func init() { func init() { proto.RegisterFile("deploy.proto", fileDescriptor_05f09e103004e384) } var fileDescriptor_05f09e103004e384 = []byte{ - // 1535 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0x5f, 0x6f, 0x23, 0xb7, - 0x11, 0x87, 0x64, 0xfd, 0x59, 0x8d, 0x64, 0xd9, 0xc7, 0xf8, 0xce, 0x1b, 0xa5, 0x49, 0x8c, 0x45, - 0x5b, 0x18, 0x87, 0xbb, 0x03, 0xea, 0xb4, 0x7d, 0x29, 0x0a, 0x34, 0x88, 0x7b, 0xa9, 0x90, 0x26, - 0x30, 0xd6, 0x77, 0xe8, 0x5b, 0x17, 0xd4, 0x2e, 0x25, 0xb3, 0xde, 0x25, 0x17, 0x24, 0x65, 0x45, - 0xfd, 0x10, 0xfd, 0x24, 0x7d, 0x0a, 0xd0, 0x97, 0x7e, 0x8c, 0xbe, 0xf5, 0x9b, 0xf4, 0xb1, 0x98, - 0x21, 0x77, 0xb5, 0xbe, 0x1c, 0xd0, 0x7b, 0xe9, 0x93, 0x38, 0xbf, 0x19, 0x92, 0xc3, 0xf9, 0xf3, - 0x9b, 0x15, 0xcc, 0x0a, 0x51, 0x97, 0x7a, 0xff, 0xaa, 0x36, 0xda, 0x69, 0x36, 0xe0, 0xb5, 0xb4, - 0xc9, 0x3f, 0x7b, 0x30, 0xf9, 0x7a, 0x2b, 0xac, 0xbb, 0x16, 0x36, 0x67, 0x0c, 0x06, 0x8a, 0x57, - 0x22, 0xee, 0x5d, 0xf4, 0x2e, 0x27, 0x29, 0xad, 0x11, 0xdb, 0x6e, 0x65, 0x11, 0xf7, 0x3d, 0x86, - 0x6b, 0xf6, 0x0c, 0x46, 0x85, 0xae, 0xb8, 0x54, 0xf1, 0x11, 0xa1, 0x41, 0x62, 0x9f, 0xc2, 0x40, - 0xc9, 0xdc, 0xc6, 0x83, 0x8b, 0xa3, 0xcb, 0xe9, 0xd5, 0xe4, 0x15, 0x5e, 0xf1, 0xea, 0x3b, 0x99, - 0xa7, 0x04, 0xb3, 0x17, 0x30, 0xc3, 0xdf, 0xcc, 0x3a, 0xae, 0x8a, 0xd5, 0x3e, 0x1e, 0xbe, 0x6b, - 0x36, 0x45, 0xf5, 0xad, 0xd7, 0xb2, 0x0b, 0x18, 0x16, 0xd2, 0xde, 0xdb, 0x78, 0x44, 0x66, 0xe0, - 0xcd, 0xae, 0xa5, 0xbd, 0x4f, 0xbd, 0x22, 0xf9, 0xf7, 0x11, 0x0c, 0x50, 0x66, 0xe7, 0x30, 0x46, - 0x24, 0x93, 0x45, 0x70, 0x7d, 0x84, 0xe2, 0xd2, 0x3b, 0x6a, 0xe4, 0x83, 0x30, 0xc1, 0xfd, 0x20, - 0xb1, 0x4f, 0x01, 0x72, 0x9e, 0xdf, 0x89, 0xac, 0xd2, 0x85, 0x08, 0x8f, 0x98, 0x10, 0xf2, 0xad, - 0x2e, 0x04, 0xfb, 0x18, 0x22, 0x2e, 0xb5, 0x57, 0x0e, 0x48, 0x39, 0xe6, 0x52, 0x93, 0x8a, 0xc1, - 0xc0, 0xca, 0xbf, 0x8a, 0x78, 0x78, 0xd1, 0xbb, 0x3c, 0x4a, 0x69, 0xcd, 0x3e, 0x87, 0xa9, 0x13, - 0x55, 0x5d, 0x72, 0x27, 0xd0, 0x85, 0x11, 0xed, 0x80, 0x06, 0x5a, 0x16, 0x78, 0x9d, 0xac, 0xf8, - 0x46, 0x64, 0x35, 0x77, 0x77, 0xf1, 0xd8, 0x5f, 0x47, 0xc8, 0x0d, 0x77, 0x77, 0xa8, 0xb6, 0x4e, - 0x1b, 0x34, 0x90, 0x45, 0x1c, 0x79, 0x75, 0x40, 0x96, 0x05, 0xfb, 0x09, 0x4c, 0x2a, 0xb9, 0x31, - 0xdc, 0x49, 0xb5, 0x89, 0x27, 0x17, 0xbd, 0xcb, 0x28, 0x3d, 0x00, 0xec, 0x39, 0x3c, 0x71, 0xdc, - 0x6c, 0x84, 0xcb, 0x3a, 0x67, 0x00, 0x9d, 0x71, 0xe2, 0x15, 0xb7, 0xed, 0x49, 0x0c, 0x06, 0xe4, - 0xc1, 0xd4, 0xe7, 0x12, 0xd7, 0x18, 0xa2, 0xb5, 0x36, 0x15, 0x77, 0xf1, 0xcc, 0x87, 0xc8, 0x4b, - 0xec, 0x0c, 0x86, 0x52, 0x15, 0xe2, 0xfb, 0xf8, 0xf8, 0xa2, 0x77, 0x39, 0x4c, 0xbd, 0xc0, 0x7e, - 0x06, 0xf3, 0x4a, 0x98, 0x8d, 0xc8, 0xac, 0xe2, 0xb5, 0xbd, 0xd3, 0x2e, 0x9e, 0x93, 0x43, 0xc7, - 0x84, 0xde, 0x06, 0x90, 0xcd, 0xa1, 0xbf, 0xb6, 0xf1, 0x09, 0x1d, 0xd8, 0x5f, 0x5b, 0xf6, 0x19, - 0x40, 0xa5, 0xb7, 0xca, 0xd5, 0x5a, 0x2a, 0x17, 0x9f, 0xfa, 0x00, 0x1d, 0x10, 0x76, 0x0a, 0x47, - 0x85, 0x78, 0x88, 0x9f, 0x90, 0x02, 0x97, 0xc9, 0x7f, 0x06, 0x70, 0xf4, 0x9d, 0xcc, 0x51, 0x53, - 0xf1, 0x3c, 0xa4, 0x15, 0x97, 0x78, 0xb6, 0xac, 0x43, 0x3e, 0xfb, 0xb2, 0x46, 0x0b, 0x25, 0x5c, - 0x48, 0x22, 0x2e, 0xd9, 0x53, 0x18, 0x29, 0xe1, 0x30, 0x0e, 0x3e, 0x79, 0x43, 0x25, 0xdc, 0xb2, - 0x60, 0x31, 0x8c, 0x1f, 0xa4, 0x71, 0x5b, 0x5e, 0x52, 0xf6, 0xa2, 0xb4, 0x11, 0x51, 0xb3, 0xe1, - 0x4e, 0xec, 0xf8, 0x3e, 0x24, 0xaf, 0x11, 0xc9, 0x31, 0x65, 0x43, 0xca, 0x70, 0xd9, 0xa9, 0xfd, - 0xe8, 0x51, 0xed, 0xff, 0x14, 0x46, 0x46, 0x6f, 0x9d, 0xb0, 0xf1, 0x84, 0xea, 0x75, 0xe6, 0xeb, - 0x35, 0x25, 0x2c, 0x0d, 0x3a, 0xdc, 0x2d, 0xd7, 0xd4, 0x63, 0x3e, 0x45, 0x41, 0x42, 0x0f, 0x2a, - 0x6e, 0xef, 0x4b, 0xa1, 0x28, 0x39, 0xc3, 0xb4, 0x11, 0x3b, 0x25, 0x3c, 0x7b, 0x54, 0xc2, 0xcf, - 0x60, 0xb4, 0x32, 0xb2, 0xd8, 0x08, 0x4a, 0xd0, 0x24, 0x0d, 0x12, 0xf6, 0xc2, 0x4e, 0x1a, 0xaa, - 0x82, 0xb9, 0x57, 0xa0, 0xe8, 0x93, 0xff, 0x50, 0x72, 0x45, 0x59, 0x19, 0xa6, 0xb4, 0xc6, 0xd2, - 0x92, 0xca, 0x09, 0xb3, 0xe6, 0xb9, 0x08, 0x69, 0x39, 0x00, 0x18, 0xe9, 0xd5, 0x8e, 0x92, 0x32, - 0x4c, 0xfb, 0xab, 0xdd, 0xa1, 0x24, 0x58, 0xb7, 0x24, 0x3e, 0x87, 0x69, 0x88, 0x63, 0x26, 0x6b, - 0x1b, 0x7f, 0x74, 0x71, 0x84, 0xc9, 0x0d, 0xd0, 0xb2, 0xb6, 0x68, 0x20, 0xbe, 0x77, 0xc2, 0x28, - 0x51, 0xa2, 0x57, 0x67, 0x3e, 0xfb, 0x0d, 0xb4, 0x2c, 0xd8, 0x27, 0x30, 0x71, 0x82, 0x57, 0xd9, - 0x4e, 0xba, 0xbb, 0xf8, 0x29, 0xa9, 0x23, 0x04, 0xfe, 0x24, 0x7d, 0x7d, 0x56, 0x5c, 0x61, 0xd2, - 0x9e, 0x51, 0xd2, 0x82, 0x84, 0x3d, 0xaa, 0x64, 0x9e, 0xb9, 0x7d, 0x2d, 0xe2, 0x73, 0x9f, 0x34, - 0x25, 0xf3, 0x37, 0xfb, 0x9a, 0x42, 0x50, 0x4a, 0x75, 0x9f, 0x6d, 0xeb, 0x38, 0xf6, 0x7b, 0x50, - 0x7c, 0x4b, 0xa5, 0x52, 0xb9, 0x6d, 0xfc, 0x31, 0xf5, 0x2e, 0x2e, 0x5b, 0xc6, 0x5b, 0x1c, 0x18, - 0x2f, 0xf9, 0x0c, 0x46, 0x3e, 0x6b, 0xf8, 0x60, 0xca, 0x5b, 0xdc, 0xa3, 0x47, 0x79, 0x21, 0xf9, - 0x57, 0x1f, 0xe0, 0x9a, 0xa8, 0x74, 0xa9, 0xd6, 0x9a, 0xbd, 0x00, 0xa8, 0xb7, 0xab, 0x52, 0xe6, - 0xd9, 0xbd, 0xd8, 0x53, 0xa1, 0x4e, 0xaf, 0x8e, 0x7d, 0xf2, 0x6f, 0x6f, 0xff, 0xf0, 0x8d, 0xd8, - 0xdb, 0x74, 0xe2, 0x0d, 0xbe, 0x11, 0x7b, 0xf6, 0x12, 0xc6, 0x9e, 0x86, 0x6d, 0xdc, 0xa7, 0x3a, - 0xf9, 0x28, 0xf0, 0x1a, 0x81, 0x5f, 0x69, 0xe5, 0x84, 0x72, 0x69, 0x63, 0xc3, 0x16, 0x10, 0xd5, - 0xdc, 0xda, 0x9d, 0x36, 0x45, 0xa8, 0xf0, 0x56, 0xc6, 0x67, 0x4a, 0x9b, 0x49, 0x25, 0x1d, 0xd5, - 0x79, 0x94, 0x8e, 0xa4, 0x5d, 0x2a, 0xe9, 0x90, 0x4f, 0x84, 0xe2, 0xab, 0x52, 0x64, 0xce, 0xed, - 0x43, 0xad, 0x4f, 0x3c, 0xf2, 0xc6, 0xed, 0x91, 0x31, 0x0a, 0xb1, 0xe6, 0xdb, 0xd2, 0x65, 0x46, - 0x6b, 0x97, 0x6d, 0xad, 0x30, 0x54, 0xf7, 0x51, 0x7a, 0x12, 0x14, 0xa9, 0xd6, 0xee, 0xad, 0x15, - 0x86, 0xfd, 0x06, 0x16, 0x3b, 0xa9, 0x0a, 0xbd, 0xb3, 0x59, 0xb3, 0x87, 0x17, 0x95, 0x54, 0x7e, - 0xd3, 0x98, 0x36, 0x9d, 0x07, 0x8b, 0x6b, 0x6f, 0xf0, 0x25, 0xea, 0x69, 0xf3, 0x73, 0x78, 0x12, - 0xfc, 0xc8, 0x4b, 0xbd, 0x2d, 0xbc, 0xab, 0x91, 0xbf, 0xc8, 0x2b, 0xbe, 0x42, 0x1c, 0x7d, 0x4e, - 0xfe, 0xde, 0x83, 0x71, 0x08, 0x17, 0xfa, 0xff, 0x4e, 0x44, 0x27, 0xdd, 0x10, 0x92, 0xff, 0xa5, - 0x70, 0x22, 0xeb, 0x58, 0x79, 0x3e, 0x38, 0xf1, 0x8a, 0x9b, 0xd6, 0xf6, 0x12, 0x4e, 0xbd, 0xbf, - 0x1d, 0x53, 0x1f, 0xc7, 0x39, 0xe1, 0x07, 0xcb, 0x17, 0xc0, 0x6a, 0xa3, 0xff, 0x22, 0x72, 0xd7, - 0xb5, 0xf5, 0x04, 0x72, 0x1a, 0x34, 0xad, 0x75, 0xf2, 0x16, 0x8e, 0x1f, 0x65, 0xac, 0xa5, 0xd6, - 0x5e, 0x87, 0x5a, 0x63, 0x18, 0xe7, 0x5e, 0x1d, 0xdc, 0x6b, 0x44, 0x2c, 0x6a, 0x9e, 0x3b, 0xa9, - 0xdb, 0x01, 0xea, 0xa5, 0x64, 0x0c, 0xc3, 0xdf, 0x57, 0xb5, 0xdb, 0x27, 0xff, 0xe8, 0xc1, 0x53, - 0x7f, 0x01, 0x4d, 0xe7, 0xd7, 0x36, 0x15, 0xb6, 0xd6, 0xca, 0x0a, 0xe2, 0x03, 0x69, 0x9d, 0xd1, - 0x9d, 0x51, 0xe7, 0x8c, 0x26, 0x76, 0x13, 0xc6, 0xe2, 0x99, 0xe1, 0xb2, 0x20, 0xa2, 0x6b, 0xdc, - 0xe4, 0x77, 0xe1, 0x2a, 0x5a, 0x63, 0x5d, 0x95, 0x5c, 0x6d, 0xb6, 0x7c, 0xd3, 0x4c, 0xb8, 0x56, - 0xc6, 0xb6, 0xd7, 0x96, 0xca, 0x66, 0x92, 0xf6, 0xb5, 0xc5, 0x93, 0x79, 0x9e, 0x23, 0x59, 0x37, - 0xec, 0x18, 0x44, 0xec, 0x27, 0x0c, 0x52, 0x60, 0xc7, 0x7b, 0xb1, 0x4f, 0xfe, 0xd6, 0x83, 0x99, - 0xf7, 0xfb, 0x86, 0x1b, 0x5e, 0x59, 0xec, 0x6d, 0x1a, 0xcd, 0x9d, 0xe0, 0x44, 0x08, 0xd0, 0xe0, - 0x7b, 0x05, 0xb0, 0xc1, 0xe7, 0x65, 0x85, 0xb0, 0x39, 0xb9, 0x3d, 0xbd, 0x3a, 0xf1, 0xfd, 0xd0, - 0x7e, 0x94, 0xa4, 0x93, 0x4d, 0xfb, 0x7d, 0xf2, 0x0b, 0x98, 0xfa, 0xc6, 0xc8, 0xa4, 0x5a, 0x6b, - 0x7a, 0xd0, 0xf4, 0xea, 0xb4, 0xdb, 0x40, 0xd8, 0x91, 0x29, 0x14, 0xed, 0x3a, 0x79, 0x09, 0xf3, - 0x54, 0xe0, 0x94, 0x7e, 0x6d, 0x3f, 0xc0, 0xa3, 0xe4, 0xcf, 0x30, 0x7f, 0x4d, 0xf3, 0xef, 0x83, - 0xcc, 0x51, 0xb9, 0xb6, 0x59, 0x98, 0x9f, 0x3e, 0xec, 0xd1, 0xda, 0xfa, 0x13, 0xda, 0x2f, 0xa7, - 0xa3, 0xc3, 0x97, 0x53, 0xa2, 0x61, 0x9a, 0x8a, 0x52, 0x70, 0x2b, 0x88, 0x3b, 0xfe, 0xef, 0xc9, - 0x4c, 0xbe, 0x05, 0x76, 0xcb, 0x1f, 0xc4, 0x1b, 0xfd, 0x75, 0xc9, 0x55, 0x2e, 0x3e, 0xe4, 0x51, - 0x0b, 0x88, 0x72, 0x5d, 0xd5, 0x46, 0x58, 0x4b, 0xb7, 0x47, 0x69, 0x2b, 0x27, 0x02, 0xce, 0xba, - 0xc7, 0xb5, 0x55, 0x79, 0x0e, 0x63, 0x6d, 0x7d, 0x56, 0xc2, 0x4b, 0xb4, 0xa5, 0x17, 0xfe, 0x12, - 0x66, 0xc6, 0x3f, 0xd8, 0x6b, 0x7d, 0x92, 0x9f, 0x84, 0xe1, 0x78, 0x08, 0x45, 0x3a, 0x35, 0x07, - 0x21, 0xf9, 0x02, 0xce, 0x6e, 0x8c, 0x5e, 0x89, 0x25, 0x7e, 0x23, 0x21, 0x72, 0x63, 0x78, 0xc5, - 0xff, 0x47, 0xee, 0x7e, 0xe8, 0xc3, 0xa4, 0xdd, 0xc0, 0x9e, 0x3f, 0xf6, 0xe8, 0xbd, 0x77, 0x36, - 0x4e, 0x7a, 0xef, 0x69, 0x94, 0xf4, 0x1b, 0xef, 0x69, 0x92, 0xfc, 0x1c, 0x4e, 0xa4, 0xcd, 0xb6, - 0x62, 0x2d, 0x33, 0xbb, 0xad, 0x6b, 0x6d, 0xfc, 0x77, 0x46, 0x94, 0x1e, 0x4b, 0xfb, 0x56, 0xac, - 0xe5, 0xad, 0x07, 0x91, 0x66, 0xa4, 0xcd, 0xca, 0x87, 0x2a, 0xab, 0xb9, 0x71, 0x92, 0x3a, 0xdb, - 0x73, 0xf2, 0x5c, 0xda, 0x3f, 0x3e, 0x54, 0x37, 0x0d, 0x8a, 0xc3, 0x50, 0xda, 0xcc, 0x08, 0x5e, - 0x68, 0x55, 0x36, 0xe4, 0x0c, 0xd2, 0xa6, 0x01, 0x61, 0xbf, 0x86, 0xf3, 0xfa, 0x6e, 0x6f, 0x65, - 0xce, 0xcb, 0xc3, 0x61, 0xde, 0x37, 0xdf, 0x7d, 0x4f, 0x1b, 0x75, 0x7b, 0x28, 0xb9, 0xfa, 0x2b, - 0x38, 0xa7, 0x69, 0x60, 0x1d, 0x2f, 0x4b, 0x51, 0x74, 0x29, 0xd7, 0xd3, 0xf4, 0x19, 0x4e, 0x87, - 0xa0, 0x6d, 0x79, 0xf7, 0xea, 0x87, 0x3e, 0x4c, 0x7d, 0xeb, 0x7c, 0xb9, 0x41, 0x66, 0xfa, 0x5d, - 0x43, 0x6c, 0x81, 0x77, 0x18, 0xeb, 0xb6, 0x97, 0x2f, 0x9f, 0xc5, 0x27, 0x5d, 0xec, 0x5d, 0x82, - 0x7a, 0x09, 0x51, 0xd3, 0x71, 0xec, 0xac, 0x89, 0x79, 0xb7, 0x03, 0x17, 0x53, 0x8f, 0x12, 0xd3, - 0xa1, 0x79, 0xd3, 0x71, 0x8d, 0xf9, 0xe3, 0x0e, 0x7c, 0x6c, 0x7e, 0x0d, 0xb3, 0x6e, 0x01, 0xb2, - 0x38, 0x4c, 0xda, 0x1f, 0xd5, 0xf8, 0x62, 0xf1, 0x63, 0x4d, 0xeb, 0xe3, 0x6f, 0x61, 0xfe, 0xb8, - 0xbe, 0x58, 0xb0, 0x7e, 0x5f, 0xd5, 0x2d, 0x02, 0x25, 0xb5, 0xf0, 0x6a, 0x44, 0x7f, 0xa1, 0xbe, - 0xf8, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x3f, 0xf1, 0x62, 0xcb, 0x52, 0x0d, 0x00, 0x00, + // 1512 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x57, 0xdd, 0x6e, 0x1b, 0x37, + 0x16, 0x86, 0xfe, 0x47, 0x47, 0xb6, 0x6c, 0x33, 0xfe, 0x99, 0x28, 0x9b, 0x8d, 0x21, 0x60, 0x17, + 0x46, 0x90, 0x18, 0x58, 0x67, 0x77, 0x6f, 0x16, 0x0b, 0x6c, 0x10, 0x6f, 0x52, 0x21, 0x4d, 0x60, + 0x8c, 0x63, 0xf4, 0xae, 0x03, 0x6a, 0x86, 0x92, 0x59, 0xcf, 0x90, 0x03, 0x92, 0x63, 0x45, 0x7d, + 0x88, 0x3e, 0x49, 0xaf, 0x02, 0xf4, 0xa6, 0x8f, 0xd1, 0xbb, 0xbe, 0x42, 0x9f, 0xa2, 0x38, 0x24, + 0x67, 0x34, 0x4e, 0x02, 0x34, 0x37, 0xbd, 0x12, 0xcf, 0x77, 0x0e, 0xc9, 0xc3, 0xf3, 0xf3, 0x9d, + 0x11, 0x6c, 0xa5, 0xac, 0xc8, 0xe4, 0xfa, 0xb4, 0x50, 0xd2, 0x48, 0xd2, 0xa5, 0x05, 0xd7, 0xd3, + 0x9f, 0x5b, 0x30, 0x7c, 0x55, 0x32, 0x6d, 0xce, 0x99, 0x4e, 0x08, 0x81, 0xae, 0xa0, 0x39, 0x0b, + 0x5b, 0xc7, 0xad, 0x93, 0x61, 0x64, 0xd7, 0x88, 0x95, 0x25, 0x4f, 0xc3, 0xb6, 0xc3, 0x70, 0x4d, + 0x0e, 0xa1, 0x9f, 0xca, 0x9c, 0x72, 0x11, 0x76, 0x2c, 0xea, 0x25, 0xf2, 0x10, 0xba, 0x82, 0x27, + 0x3a, 0xec, 0x1e, 0x77, 0x4e, 0x46, 0x67, 0xc3, 0x53, 0xbc, 0xe2, 0xf4, 0x2d, 0x4f, 0x22, 0x0b, + 0x93, 0x27, 0xb0, 0x85, 0xbf, 0xb1, 0x36, 0x54, 0xa4, 0xf3, 0x75, 0xd8, 0xfb, 0xd8, 0x6c, 0x84, + 0xea, 0x4b, 0xa7, 0x25, 0xc7, 0xd0, 0x4b, 0xb9, 0xbe, 0xd1, 0x61, 0xdf, 0x9a, 0x81, 0x33, 0x3b, + 0xe7, 0xfa, 0x26, 0x72, 0x8a, 0xe9, 0xaf, 0x1d, 0xe8, 0xa2, 0x4c, 0x8e, 0x60, 0x80, 0x48, 0xcc, + 0x53, 0xef, 0x7a, 0x1f, 0xc5, 0x99, 0x73, 0x54, 0xf1, 0x5b, 0xa6, 0xbc, 0xfb, 0x5e, 0x22, 0x0f, + 0x01, 0x12, 0x9a, 0x5c, 0xb3, 0x38, 0x97, 0x29, 0xf3, 0x8f, 0x18, 0x5a, 0xe4, 0x8d, 0x4c, 0x19, + 0xb9, 0x0f, 0x01, 0xe5, 0xd2, 0x29, 0xbb, 0x56, 0x39, 0xa0, 0x5c, 0x5a, 0x15, 0x81, 0xae, 0xe6, + 0xdf, 0xb3, 0xb0, 0x77, 0xdc, 0x3a, 0xe9, 0x44, 0x76, 0x4d, 0x1e, 0xc1, 0xc8, 0xb0, 0xbc, 0xc8, + 0xa8, 0x61, 0xe8, 0x42, 0xdf, 0xee, 0x80, 0x0a, 0x9a, 0xa5, 0x78, 0x1d, 0xcf, 0xe9, 0x92, 0xc5, + 0x05, 0x35, 0xd7, 0xe1, 0xc0, 0x5d, 0x67, 0x91, 0x0b, 0x6a, 0xae, 0x51, 0xad, 0x8d, 0x54, 0x68, + 0xc0, 0xd3, 0x30, 0x70, 0x6a, 0x8f, 0xcc, 0x52, 0xf2, 0x17, 0x18, 0xe6, 0x7c, 0xa9, 0xa8, 0xe1, + 0x62, 0x19, 0x0e, 0x8f, 0x5b, 0x27, 0x41, 0xb4, 0x01, 0xc8, 0x63, 0xd8, 0x33, 0x54, 0x2d, 0x99, + 0x89, 0x1b, 0x67, 0x80, 0x3d, 0x63, 0xc7, 0x29, 0x2e, 0xeb, 0x93, 0x08, 0x74, 0xad, 0x07, 0x23, + 0x97, 0x4b, 0x5c, 0x63, 0x88, 0x16, 0x52, 0xe5, 0xd4, 0x84, 0x5b, 0x2e, 0x44, 0x4e, 0x22, 0xfb, + 0xd0, 0xe3, 0x22, 0x65, 0xef, 0xc3, 0xed, 0xe3, 0xd6, 0x49, 0x2f, 0x72, 0x02, 0xf9, 0x1b, 0x8c, + 0x73, 0xa6, 0x96, 0x2c, 0xd6, 0x82, 0x16, 0xfa, 0x5a, 0x9a, 0x70, 0x6c, 0x1d, 0xda, 0xb6, 0xe8, + 0xa5, 0x07, 0xc9, 0x18, 0xda, 0x0b, 0x1d, 0xee, 0xd8, 0x03, 0xdb, 0x0b, 0x4d, 0xfe, 0x0a, 0x90, + 0xcb, 0x52, 0x98, 0x42, 0x72, 0x61, 0xc2, 0x5d, 0x17, 0xa0, 0x0d, 0x42, 0x76, 0xa1, 0x93, 0xb2, + 0xdb, 0x70, 0xcf, 0x2a, 0x70, 0x39, 0xfd, 0xad, 0x0b, 0x9d, 0xb7, 0x3c, 0x41, 0x4d, 0x4e, 0x13, + 0x9f, 0x56, 0x5c, 0xe2, 0xd9, 0xbc, 0xf0, 0xf9, 0x6c, 0xf3, 0x02, 0x2d, 0x04, 0x33, 0x3e, 0x89, + 0xb8, 0x24, 0x07, 0xd0, 0x17, 0xcc, 0x60, 0x1c, 0x5c, 0xf2, 0x7a, 0x82, 0x99, 0x59, 0x4a, 0x42, + 0x18, 0xdc, 0x72, 0x65, 0x4a, 0x9a, 0xd9, 0xec, 0x05, 0x51, 0x25, 0xa2, 0x66, 0x49, 0x0d, 0x5b, + 0xd1, 0xb5, 0x4f, 0x5e, 0x25, 0x5a, 0xc7, 0x84, 0xf6, 0x29, 0xc3, 0x65, 0xa3, 0xf6, 0x83, 0x3b, + 0xb5, 0x7f, 0x08, 0x7d, 0x25, 0x4b, 0xc3, 0xb4, 0x4d, 0xd1, 0x30, 0xf2, 0x12, 0xe2, 0x7c, 0x61, + 0xbb, 0xca, 0x25, 0xc5, 0x4b, 0x78, 0x67, 0x4e, 0xf5, 0x4d, 0xc6, 0x84, 0x4d, 0x47, 0x2f, 0xaa, + 0xc4, 0x46, 0xd1, 0x6e, 0xdd, 0x29, 0xda, 0x43, 0xe8, 0xcf, 0x15, 0x4f, 0x97, 0xcc, 0xa6, 0x64, + 0x18, 0x79, 0x09, 0xab, 0x7f, 0xc5, 0x95, 0xcd, 0xfb, 0xd8, 0x29, 0x50, 0x74, 0xe9, 0xbe, 0xcd, + 0xa8, 0xb0, 0x79, 0xe8, 0x45, 0x76, 0x8d, 0xc5, 0xc4, 0x85, 0x61, 0x6a, 0x41, 0x13, 0xe6, 0x13, + 0xb1, 0x01, 0x30, 0xb6, 0xf3, 0x95, 0x4d, 0x43, 0x2f, 0x6a, 0xcf, 0x57, 0x9b, 0x22, 0x20, 0xcd, + 0x22, 0x78, 0x04, 0x23, 0x1f, 0xb9, 0x98, 0x17, 0x3a, 0xbc, 0x77, 0xdc, 0xc1, 0x74, 0x7a, 0x68, + 0x56, 0x68, 0x34, 0x60, 0xef, 0x0d, 0x53, 0x82, 0x65, 0xe8, 0xd5, 0xbe, 0xcb, 0x77, 0x05, 0xcd, + 0x52, 0xf2, 0x00, 0x86, 0x86, 0xd1, 0x3c, 0x5e, 0x71, 0x73, 0x1d, 0x1e, 0x58, 0x75, 0x80, 0xc0, + 0x37, 0xdc, 0x55, 0x64, 0x4e, 0x05, 0xa6, 0xe9, 0xd0, 0xa6, 0xc9, 0x4b, 0xd8, 0x95, 0x82, 0x27, + 0xb1, 0x59, 0x17, 0x2c, 0x3c, 0x72, 0x69, 0x12, 0x3c, 0x79, 0xb7, 0x2e, 0x6c, 0x08, 0x32, 0x2e, + 0x6e, 0xe2, 0xb2, 0x08, 0x43, 0xb7, 0x07, 0xc5, 0x2b, 0x5b, 0x1c, 0xb9, 0x29, 0xc3, 0xfb, 0xb6, + 0x5b, 0x71, 0x59, 0x73, 0xdc, 0x64, 0xc3, 0x71, 0xd3, 0x5f, 0xda, 0x00, 0xe7, 0x96, 0x1c, 0x67, + 0x62, 0x21, 0xc9, 0x13, 0x80, 0xa2, 0x9c, 0x67, 0x3c, 0x89, 0x6f, 0xd8, 0xda, 0x96, 0xde, 0xe8, + 0x6c, 0xdb, 0xd1, 0xcf, 0xe5, 0xe5, 0x57, 0xaf, 0xd9, 0x5a, 0x47, 0x43, 0x67, 0xf0, 0x9a, 0xad, + 0xc9, 0x53, 0x18, 0x38, 0x62, 0xd5, 0x61, 0xdb, 0x32, 0xd5, 0x3d, 0xcf, 0x54, 0x16, 0x7c, 0x21, + 0x85, 0x61, 0xc2, 0x44, 0x95, 0x0d, 0x99, 0x40, 0x50, 0x50, 0xad, 0x57, 0x52, 0xa5, 0xbe, 0x66, + 0x6b, 0x19, 0x9f, 0xc1, 0x75, 0xcc, 0x05, 0x37, 0xb6, 0x72, 0x83, 0xa8, 0xcf, 0xf5, 0x4c, 0x70, + 0x83, 0x0c, 0xc1, 0x04, 0x9d, 0x67, 0x2c, 0x36, 0x66, 0xed, 0xab, 0x77, 0xe8, 0x90, 0x77, 0x66, + 0x8d, 0x1c, 0x90, 0xb2, 0x05, 0x2d, 0x33, 0x13, 0x2b, 0x29, 0x4d, 0x5c, 0x6a, 0xa6, 0x6c, 0x25, + 0x07, 0xd1, 0x8e, 0x57, 0x44, 0x52, 0x9a, 0x2b, 0xcd, 0x14, 0xf9, 0x0f, 0x4c, 0x56, 0x5c, 0xa4, + 0x72, 0xa5, 0xe3, 0x6a, 0x0f, 0x4d, 0x73, 0x2e, 0xdc, 0xa6, 0x81, 0xdd, 0x74, 0xe4, 0x2d, 0xce, + 0x9d, 0xc1, 0x73, 0xd4, 0xdb, 0xcd, 0x8f, 0x61, 0xcf, 0xfb, 0x91, 0x64, 0xb2, 0x4c, 0x9d, 0xab, + 0x81, 0xbb, 0xc8, 0x29, 0x5e, 0x20, 0x8e, 0x3e, 0x4f, 0x7f, 0x6c, 0xc1, 0xc0, 0x87, 0x0b, 0xfd, + 0xff, 0x28, 0xa2, 0xc3, 0x66, 0x08, 0xad, 0xff, 0x19, 0x33, 0x2c, 0x6e, 0x58, 0xb9, 0x0e, 0xdf, + 0x71, 0x8a, 0x8b, 0xda, 0xf6, 0x04, 0x76, 0x9d, 0xbf, 0x0d, 0x53, 0x17, 0xc7, 0xb1, 0xc5, 0x37, + 0x96, 0x4f, 0x80, 0x14, 0x4a, 0x7e, 0xc7, 0x12, 0xd3, 0xb4, 0x75, 0x94, 0xb0, 0xeb, 0x35, 0xb5, + 0xf5, 0xf4, 0x0a, 0xb6, 0xef, 0x64, 0xac, 0x26, 0xcb, 0x56, 0x83, 0x2c, 0x43, 0x18, 0x24, 0x4e, + 0xed, 0xdd, 0xab, 0x44, 0x2c, 0x5a, 0x9a, 0x18, 0x2e, 0xeb, 0x91, 0xe8, 0xa4, 0xe9, 0x00, 0x7a, + 0xff, 0xcf, 0x0b, 0xb3, 0x9e, 0xfe, 0xd4, 0x82, 0x03, 0x77, 0x81, 0x9d, 0xb7, 0x2f, 0x75, 0xc4, + 0x74, 0x21, 0x85, 0x66, 0xb6, 0xdf, 0xb9, 0x36, 0x4a, 0x36, 0x86, 0x97, 0x51, 0xd2, 0xf2, 0x15, + 0x53, 0x1a, 0xcf, 0xf4, 0x97, 0x79, 0x11, 0x5d, 0xa3, 0x2a, 0xb9, 0xf6, 0x57, 0xd9, 0x35, 0xd6, + 0x55, 0x46, 0xc5, 0xb2, 0xa4, 0xcb, 0x6a, 0x66, 0xd5, 0x32, 0xb6, 0xb5, 0xd4, 0xb6, 0x6c, 0x86, + 0x51, 0x5b, 0x6a, 0x3c, 0x99, 0x26, 0x09, 0xd2, 0x6f, 0xc5, 0x77, 0x5e, 0xc4, 0x7e, 0xc1, 0x20, + 0x79, 0xbe, 0xbb, 0x61, 0xeb, 0xe9, 0x0f, 0x2d, 0xd8, 0x72, 0x7e, 0x5f, 0x50, 0x45, 0x73, 0x8d, + 0xbd, 0x6b, 0x87, 0x6d, 0x23, 0x38, 0x01, 0x02, 0x76, 0x94, 0x9d, 0x02, 0x2c, 0xf1, 0x79, 0x71, + 0xca, 0x74, 0x62, 0xdd, 0x1e, 0x9d, 0xed, 0xb8, 0x7e, 0xa8, 0x3f, 0x33, 0xa2, 0xe1, 0xb2, 0xfe, + 0xe2, 0xf8, 0x07, 0x8c, 0x5c, 0x63, 0xc4, 0x5c, 0x2c, 0xa4, 0x7d, 0xd0, 0xe8, 0x6c, 0xb7, 0xd9, + 0x40, 0xd8, 0x91, 0x11, 0xa4, 0xf5, 0x7a, 0xfa, 0x14, 0xc6, 0x11, 0xc3, 0xb9, 0xfb, 0x52, 0x7f, + 0x81, 0x47, 0xd3, 0x6f, 0x61, 0xfc, 0xd2, 0x4e, 0xb4, 0x2f, 0x32, 0x47, 0xe5, 0x42, 0xc7, 0x7e, + 0x22, 0xba, 0xb0, 0x07, 0x0b, 0xed, 0x4e, 0xa8, 0xbf, 0x85, 0x3a, 0x9b, 0x6f, 0xa1, 0xa9, 0x84, + 0x51, 0xc4, 0x32, 0x46, 0x35, 0xb3, 0xdc, 0xf1, 0xa7, 0x27, 0x73, 0xfa, 0x06, 0xc8, 0x25, 0xbd, + 0x65, 0xef, 0xe4, 0xab, 0x8c, 0x8a, 0x84, 0x7d, 0xc9, 0xa3, 0x26, 0x10, 0x24, 0x32, 0x2f, 0x14, + 0xd3, 0xda, 0xde, 0x1e, 0x44, 0xb5, 0x3c, 0x65, 0xb0, 0xdf, 0x3c, 0xae, 0xae, 0xca, 0x23, 0x18, + 0x48, 0xed, 0xb2, 0xe2, 0x5f, 0x22, 0xb5, 0x7d, 0xe1, 0x3f, 0x61, 0x4b, 0xb9, 0x07, 0x3b, 0xad, + 0x4b, 0xf2, 0x9e, 0xcb, 0x59, 0x23, 0x14, 0xd1, 0x48, 0x6d, 0x84, 0xe9, 0x33, 0xd8, 0xbf, 0x50, + 0x72, 0xce, 0x66, 0xf8, 0xd5, 0x83, 0xc8, 0x85, 0xa2, 0x39, 0xfd, 0x83, 0xdc, 0x7d, 0x68, 0xc3, + 0xb0, 0xde, 0x40, 0x1e, 0xdf, 0xf5, 0xe8, 0xb3, 0x77, 0x56, 0x4e, 0x3a, 0xef, 0xed, 0xa8, 0x68, + 0x57, 0xde, 0xdb, 0x49, 0xf1, 0x77, 0xd8, 0xe1, 0x3a, 0x2e, 0xd9, 0x82, 0xc7, 0xba, 0x2c, 0x0a, + 0xa9, 0xdc, 0x97, 0x43, 0x10, 0x6d, 0x73, 0x7d, 0xc5, 0x16, 0xfc, 0xd2, 0x81, 0x48, 0x33, 0x5c, + 0xc7, 0xd9, 0x6d, 0x1e, 0x17, 0x54, 0x19, 0x6e, 0x3b, 0xdb, 0x71, 0xf2, 0x98, 0xeb, 0xaf, 0x6f, + 0xf3, 0x8b, 0x0a, 0xc5, 0x61, 0xc7, 0x75, 0xac, 0x18, 0x4d, 0xa5, 0xc8, 0x2a, 0x72, 0x06, 0xae, + 0x23, 0x8f, 0x90, 0x7f, 0xc3, 0x51, 0x71, 0xbd, 0xd6, 0x3c, 0xa1, 0xd9, 0xe6, 0x30, 0xe7, 0x9b, + 0xeb, 0xbe, 0x83, 0x4a, 0x5d, 0x1f, 0x6a, 0x5d, 0xfd, 0x17, 0x1c, 0xd9, 0x69, 0xa0, 0x0d, 0xcd, + 0x32, 0x96, 0x36, 0x29, 0xd7, 0xd1, 0xf4, 0x3e, 0x4e, 0x07, 0xaf, 0xad, 0x79, 0xf7, 0xec, 0x43, + 0x1b, 0x46, 0xae, 0x75, 0x9e, 0x2f, 0x91, 0x99, 0xfe, 0x57, 0x11, 0x9b, 0xe7, 0x1d, 0x42, 0x9a, + 0xed, 0xe5, 0xca, 0x67, 0xf2, 0xa0, 0x89, 0x7d, 0x4c, 0x50, 0x4f, 0x21, 0xa8, 0x3a, 0x8e, 0xec, + 0x57, 0x31, 0x6f, 0x76, 0xe0, 0x64, 0xe4, 0x50, 0xcb, 0x74, 0x68, 0x5e, 0x75, 0x5c, 0x65, 0x7e, + 0xb7, 0x03, 0xef, 0x9a, 0x9f, 0xc3, 0x56, 0xb3, 0x00, 0x49, 0xe8, 0x27, 0xed, 0x27, 0x35, 0x3e, + 0x99, 0x7c, 0xaa, 0xa9, 0x7d, 0xfc, 0x2f, 0x8c, 0xef, 0xd6, 0x17, 0xf1, 0xd6, 0x9f, 0xab, 0xba, + 0x89, 0xa7, 0xa4, 0x1a, 0x9e, 0xf7, 0xed, 0x9f, 0xa2, 0x67, 0xbf, 0x07, 0x00, 0x00, 0xff, 0xff, + 0xdf, 0xa7, 0xb1, 0x31, 0x24, 0x0d, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. diff --git a/pkg/hostman/hostdeployer/apis/deploy.proto b/pkg/hostman/hostdeployer/apis/deploy.proto index fbb94d9ba1..d8b2e671a9 100644 --- a/pkg/hostman/hostdeployer/apis/deploy.proto +++ b/pkg/hostman/hostdeployer/apis/deploy.proto @@ -42,7 +42,7 @@ message Nic { string gateway = 6; string dns = 7; string domain = 8; - repeated Routes routes = 9; + string routes = 9; string ifname = 10; int32 masklen = 11; string driver = 12; @@ -62,10 +62,6 @@ message Nic { string name = 26; } -message Routes { - repeated string route = 1; -} - message DeployInfo { SSHKeys public_key = 1; repeated DeployContent deploys = 2; diff --git a/pkg/hostman/hostdeployer/apis/utils.go b/pkg/hostman/hostdeployer/apis/utils.go index f58fc0158f..56de239fbb 100644 --- a/pkg/hostman/hostdeployer/apis/utils.go +++ b/pkg/hostman/hostdeployer/apis/utils.go @@ -15,7 +15,11 @@ package apis import ( + "encoding/json" + "yunion.io/x/jsonutils" + "yunion.io/x/log" + "yunion.io/x/onecloud/pkg/cloudcommon/types" ) func NewDeployInfo( @@ -66,6 +70,19 @@ func GetKeys(data jsonutils.JSONObject) *SSHKeys { return ret } +func ConvertRoutes(routes string) []types.SRoute { + if len(routes) == 0 { + return nil + } + ret := make([]types.SRoute, 0) + err := json.Unmarshal([]byte(routes), &ret) + if err != nil { + log.Errorf("Can't convert %s to types.SRoute", routes) + return nil + } + return ret +} + func GuestDescToDeployDesc(guestDesc *jsonutils.JSONDict) (*GuestDesc, error) { ret := new(GuestDesc) ret.Name, _ = guestDesc.GetString("name") diff --git a/pkg/util/netutils2/netutils.go b/pkg/util/netutils2/netutils.go index ca14105452..9491d5b6d4 100644 --- a/pkg/util/netutils2/netutils.go +++ b/pkg/util/netutils2/netutils.go @@ -30,7 +30,6 @@ import ( "yunion.io/x/pkg/util/regutils" "yunion.io/x/onecloud/pkg/cloudcommon/types" - deployapi "yunion.io/x/onecloud/pkg/hostman/hostdeployer/apis" "yunion.io/x/onecloud/pkg/util/procutils" "yunion.io/x/onecloud/pkg/util/regutils2" ) @@ -79,9 +78,9 @@ func GetPrivatePrefixes(privatePrefixes []string) []string { } } -func GetMainNicFromDeployApi(nics []*deployapi.Nic) (*deployapi.Nic, error) { +func GetMainNicFromDeployApi(nics []*types.SServerNic) (*types.SServerNic, error) { var mainIp netutils.IPV4Addr - var mainNic *deployapi.Nic + var mainNic *types.SServerNic for _, n := range nics { if len(n.Gateway) > 0 { ip := n.Ip @@ -159,9 +158,9 @@ func addRoute(routes *[][]string, net, gw string) { *routes = append(*routes, []string{net, gw}) } -func extendRoutes(routes *[][]string, nicRoutes []*deployapi.Routes) error { +func extendRoutes(routes *[][]string, nicRoutes []types.SRoute) error { for i := 0; i < len(nicRoutes); i++ { - addRoute(routes, nicRoutes[i].Route[0], nicRoutes[i].Route[1]) + addRoute(routes, nicRoutes[i][0], nicRoutes[i][1]) } return nil }