fix deploy network with routes

This commit is contained in:
wanyaoqi
2019-07-15 22:07:16 +08:00
parent 065334e3f4
commit ad814ab709
15 changed files with 261 additions and 250 deletions
+1 -1
View File
@@ -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{
+41 -18
View File
@@ -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:"-"`
+3 -3
View File
@@ -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)
+2 -1
View File
@@ -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
}
+2 -1
View File
@@ -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
}
+2 -1
View File
@@ -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
}
+3 -2
View File
@@ -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
+15 -13
View File
@@ -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"
+2 -1
View File
@@ -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
}
+26 -1
View File
@@ -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
}
+2 -3
View File
@@ -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))
+140 -195
View File
@@ -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.
+1 -5
View File
@@ -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;
+17
View File
@@ -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")
+4 -5
View File
@@ -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
}