diff --git a/cloudcommon/compatibility.go b/cloudcommon/compatibility.go index 2a9efc70b..fd165ac76 100644 --- a/cloudcommon/compatibility.go +++ b/cloudcommon/compatibility.go @@ -2,9 +2,10 @@ package cloudcommon const ( CRMCompatibilityAutoReservableCluster uint32 = 1 + CRMCompatibilitySharedRootLBFQDN uint32 = 2 ) // This should always return the highest compatibility version func GetCRMCompatibilityVersion() uint32 { - return CRMCompatibilityAutoReservableCluster + return CRMCompatibilitySharedRootLBFQDN } diff --git a/cloudcommon/names.go b/cloudcommon/names.go index 3dd38863b..2527c60fb 100644 --- a/cloudcommon/names.go +++ b/cloudcommon/names.go @@ -151,21 +151,34 @@ func IsPlatformApp(devname string, appname string) bool { var AllocatedIpDynamic = "dynamic" -// GetRootLBFQDN gets the global Load Balancer's Fully Qualified Domain Name -// for apps using "shared" IP access. -func GetRootLBFQDN(key *edgeproto.CloudletKey, domain string) string { +var RootLBHostname = "shared" + +// GetCloudletBaseFQDN gets the base 3-label FQDN for the cloudlet. +// For TLS termination, we should only require a single cert that +// wildcard matches *., as all other DNS names +// should only add one more label on top of the base fqdn. +func GetCloudletBaseFQDN(key *edgeproto.CloudletKey, domain string) string { loc := util.DNSSanitize(key.Name) oper := util.DNSSanitize(key.Organization) return fmt.Sprintf("%s.%s.%s", loc, oper, domain) } +// GetRootLBFQDN gets the global Load Balancer's Fully Qualified Domain Name +// for apps using "shared" IP access. +func GetRootLBFQDN(key *edgeproto.CloudletKey, domain string) string { + return fmt.Sprintf("%s.%s", RootLBHostname, GetCloudletBaseFQDN(key, domain)) +} + +// Old version of getting the shared root lb, does not match wildcard cert. +func GetRootLBFQDNOld(key *edgeproto.CloudletKey, domain string) string { + return GetCloudletBaseFQDN(key, domain) +} + // GetDedicatedLBFQDN gets the cluster-specific Load Balancer's Fully Qualified Domain Name // for clusters using "dedicated" IP access. func GetDedicatedLBFQDN(cloudletKey *edgeproto.CloudletKey, clusterKey *edgeproto.ClusterKey, domain string) string { clust := util.DNSSanitize(clusterKey.Name) - loc := util.DNSSanitize(cloudletKey.Name) - oper := util.DNSSanitize(cloudletKey.Organization) - return fmt.Sprintf("%s.%s.%s.%s", clust, loc, oper, domain) + return fmt.Sprintf("%s.%s", clust, GetCloudletBaseFQDN(cloudletKey, domain)) } // Get Fully Qualified Name for the App i.e. with developer & version info @@ -177,29 +190,48 @@ func GetAppFQN(key *edgeproto.AppKey) string { } // GetAppFQDN gets the app-specific Load Balancer's Fully Qualified Domain Name -// for apps using "dedicated" IP access. +// for apps using "dedicated" IP access. This will not allow TLS, but will +// ensure uniqueness when an IP is assigned per k8s-service per AppInst per cluster. func GetAppFQDN(key *edgeproto.AppInstKey, cloudletKey *edgeproto.CloudletKey, clusterKey *edgeproto.ClusterKey, domain string) string { - lb := GetDedicatedLBFQDN(cloudletKey, clusterKey, domain) + clusterBase := GetDedicatedLBFQDN(cloudletKey, clusterKey, domain) appFQN := GetAppFQN(&key.AppKey) - return fmt.Sprintf("%s.%s", appFQN, lb) + return fmt.Sprintf("%s.%s", appFQN, clusterBase) } // GetVMAppFQDN gets the app-specific Fully Qualified Domain Name // for VM based apps func GetVMAppFQDN(key *edgeproto.AppInstKey, cloudletKey *edgeproto.CloudletKey, domain string) string { - lb := GetRootLBFQDN(cloudletKey, domain) appFQN := GetAppFQN(&key.AppKey) - return fmt.Sprintf("%s.%s", appFQN, lb) + return fmt.Sprintf("%s.%s", appFQN, GetCloudletBaseFQDN(cloudletKey, domain)) } +// FqdnPrefix is used only for IP-per-service platforms that allocate +// an IP for each kubernetes service. Because it adds an extra level of +// DNS label hierarchy and cannot match the wildcard cert, we do not +// support TLS for it. func FqdnPrefix(svcName string) string { - return svcName + "-" + return svcName + "." } func ServiceFQDN(svcName, baseFQDN string) string { return fmt.Sprintf("%s%s", FqdnPrefix(svcName), baseFQDN) } +// DNS names must have labels <= 63 chars, and the total length +// <= 255 octets (which works out to 253 chars). +func CheckFQDNLengths(prefix, uri string) error { + fqdn := prefix + uri + if len(fqdn) > 253 { + return fmt.Errorf("DNS name %q exceeds 253 chars, please shorten some names", fqdn) + } + for _, label := range strings.Split(fqdn, ".") { + if len(label) > 63 { + return fmt.Errorf("Label %q of DNS name %q exceeds 63 chars, please shorten it", label, fqdn) + } + } + return nil +} + // For the DME and CRM that require a cloudlet key to be specified // at startup, this function parses the string argument. func ParseMyCloudletKey(standalone bool, keystr *string, mykey *edgeproto.CloudletKey) { diff --git a/controller/appinst_api.go b/controller/appinst_api.go index b35fbfc89..fff80b8b0 100644 --- a/controller/appinst_api.go +++ b/controller/appinst_api.go @@ -445,6 +445,7 @@ func (s *AppInstApi) createAppInstInternal(cctx *CallContext, in *edgeproto.AppI var reservedClusterInstKey *edgeproto.ClusterInstKey realClusterName := in.RealClusterName var cloudletFeatures *platform.Features + cloudletCompatibilityVersion := uint32(0) defer func() { if reterr != nil { @@ -464,6 +465,7 @@ func (s *AppInstApi) createAppInstInternal(cctx *CallContext, in *edgeproto.AppI reservedAutoClusterId = -1 reservedClusterInstKey = nil in.RealClusterName = realClusterName + cloudletCompatibilityVersion = 0 // lookup App so we can get flavor for reservable ClusterInst var app edgeproto.App @@ -489,6 +491,7 @@ func (s *AppInstApi) createAppInstInternal(cctx *CallContext, in *edgeproto.AppI if !cloudletInfoApi.store.STMGet(stm, &in.Key.ClusterInstKey.CloudletKey, &info) { return fmt.Errorf("No resource information found for Cloudlet %s", in.Key.ClusterInstKey.CloudletKey) } + cloudletCompatibilityVersion = info.CompatibilityVersion cloudletFeatures, err = GetCloudletFeatures(ctx, cloudlet.PlatformType) if err != nil { return fmt.Errorf("Failed to get features for platform: %s", err) @@ -524,7 +527,7 @@ func (s *AppInstApi) createAppInstInternal(cctx *CallContext, in *edgeproto.AppI if !cloudcommon.IsClusterInstReqd(&app) { return fmt.Errorf("No cluster required for App deployment type %s, cannot use cluster name %s which attempts to use or create a ClusterInst", app.Deployment, cloudcommon.AutoClusterPrefix) } - if info.CompatibilityVersion < cloudcommon.CRMCompatibilityAutoReservableCluster { + if cloudletCompatibilityVersion < cloudcommon.CRMCompatibilityAutoReservableCluster { autoClusterType = DeprecatedAutoCluster } if autoClusterType != DeprecatedAutoCluster { @@ -958,7 +961,15 @@ func (s *AppInstApi) createAppInstInternal(cctx *CallContext, in *edgeproto.AppI ports[ii].PublicPort = ports[ii].InternalPort } } else if ipaccess == edgeproto.IpAccess_IP_ACCESS_SHARED && !app.InternalPorts { - in.Uri = cloudcommon.GetRootLBFQDN(&in.Key.ClusterInstKey.CloudletKey, *appDNSRoot) + if cloudletCompatibilityVersion < cloudcommon.CRMCompatibilitySharedRootLBFQDN { + // CRM has issued DNS entry only for old style FQDN. + // This case can be removed once all CRMs have been + // updated to current version. + in.Uri = cloudcommon.GetRootLBFQDNOld(&in.Key.ClusterInstKey.CloudletKey, *appDNSRoot) + } else { + // current style FQDN + in.Uri = cloudcommon.GetRootLBFQDN(&in.Key.ClusterInstKey.CloudletKey, *appDNSRoot) + } if cloudletRefs.RootLbPorts == nil { cloudletRefs.RootLbPorts = make(map[int32]int32) } @@ -1006,7 +1017,7 @@ func (s *AppInstApi) createAppInstInternal(cctx *CallContext, in *edgeproto.AppI cloudletRefsChanged = true } } else { - if isIPAllocatedPerService(ctx, cloudlet.PlatformType, cloudletFeatures, clusterInst.Key.CloudletKey.Organization) { + if isIPAllocatedPerService(ctx, cloudlet.PlatformType, cloudletFeatures, in.Key.ClusterInstKey.CloudletKey.Organization) { //dedicated access in which each service gets a different ip in.Uri = cloudcommon.GetAppFQDN(&in.Key, &in.Key.ClusterInstKey.CloudletKey, clusterKey, *appDNSRoot) for ii, _ := range ports { @@ -1020,9 +1031,18 @@ func (s *AppInstApi) createAppInstInternal(cctx *CallContext, in *edgeproto.AppI } } } + if app.InternalPorts || len(ports) == 0 { + // no external access to AppInst, no need for URI + in.Uri = "" + } + if err := cloudcommon.CheckFQDNLengths("", in.Uri); err != nil { + return err + } if len(ports) > 0 { in.MappedPorts = ports - setPortFQDNPrefixes(in, &app) + if isIPAllocatedPerService(ctx, cloudlet.PlatformType, cloudletFeatures, in.Key.ClusterInstKey.CloudletKey.Organization) { + setPortFQDNPrefixes(in, &app) + } } // TODO: Make sure resources are available @@ -1866,6 +1886,9 @@ func setPortFQDNPrefixes(in *edgeproto.AppInst, app *edgeproto.App) error { } for ii, _ := range in.MappedPorts { setPortFQDNPrefix(&in.MappedPorts[ii], objs) + if err := cloudcommon.CheckFQDNLengths(in.MappedPorts[ii].FqdnPrefix, in.Uri); err != nil { + return err + } } } return nil diff --git a/controller/appinst_api_test.go b/controller/appinst_api_test.go index 93d5a8acc..b960e6603 100644 --- a/controller/appinst_api_test.go +++ b/controller/appinst_api_test.go @@ -8,6 +8,7 @@ import ( "time" "github.com/coreos/etcd/clientv3/concurrency" + "github.com/mobiledgex/edge-cloud/cloud-resource-manager/platform" "github.com/mobiledgex/edge-cloud/cloudcommon" "github.com/mobiledgex/edge-cloud/edgeproto" "github.com/mobiledgex/edge-cloud/log" @@ -275,6 +276,12 @@ func TestAppInstApi(t *testing.T) { if obj.Key.AppKey.Name == "helmApp" || obj.Key.AppKey.Name == "vm lb" { continue } + cloudlet := edgeproto.Cloudlet{} + found := cloudletApi.cache.Get(&obj.Key.ClusterInstKey.CloudletKey, &cloudlet) + require.True(t, found) + features := platform.Features{} + operator := obj.Key.ClusterInstKey.CloudletKey.Organization + for _, port := range obj.MappedPorts { lproto, err := edgeproto.LProtoStr(port.Proto) if err != nil { @@ -283,7 +290,10 @@ func TestAppInstApi(t *testing.T) { if lproto == "http" { continue } - test_prefix := fmt.Sprintf("%s-%s-", util.DNSSanitize(app_name), lproto) + test_prefix := "" + if isIPAllocatedPerService(ctx, cloudlet.PlatformType, &features, operator) { + test_prefix = fmt.Sprintf("%s-%s-", util.DNSSanitize(app_name), lproto) + } require.Equal(t, test_prefix, port.FqdnPrefix, "check port fqdn prefix") } } diff --git a/edgeproto/alldata.pb.go b/edgeproto/alldata.pb.go index 6c0c0cb04..4d95ef107 100644 --- a/edgeproto/alldata.pb.go +++ b/edgeproto/alldata.pb.go @@ -807,9 +807,6 @@ func IgnoreAllDataFields(taglist string) cmp.Option { if _, found := tags["timestamp"]; found { names = append(names, "Apps.UpdatedAt") } - if _, found := tags["nocmp"]; found { - names = append(names, "AppInstances.Uri") - } if _, found := tags["nocmp"]; found { names = append(names, "AppInstances.State") } diff --git a/edgeproto/appinst.pb.go b/edgeproto/appinst.pb.go index 888a0194f..5f6bf40b1 100644 --- a/edgeproto/appinst.pb.go +++ b/edgeproto/appinst.pb.go @@ -579,143 +579,143 @@ func init() { func init() { proto.RegisterFile("appinst.proto", fileDescriptor_94c89dd623ab567d) } var fileDescriptor_94c89dd623ab567d = []byte{ - // 2162 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0x4d, 0x6c, 0x1b, 0x59, - 0x1d, 0xcf, 0xcb, 0x87, 0x13, 0x3f, 0xdb, 0x89, 0xf3, 0x9a, 0x64, 0x5f, 0xb3, 0x69, 0x9a, 0xf5, + // 2164 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0x58, 0x4f, 0x6c, 0x1b, 0x59, + 0x19, 0xcf, 0xcb, 0x1f, 0x27, 0x7e, 0xb6, 0x13, 0xe7, 0x35, 0x49, 0x5f, 0xb3, 0x69, 0x9a, 0xf5, 0x92, 0x55, 0xa8, 0x26, 0x71, 0x95, 0xd5, 0x16, 0x08, 0x5b, 0x2d, 0x76, 0x9b, 0x2c, 0xa1, 0x6d, 0x5c, 0x26, 0x49, 0x2b, 0xd8, 0xc3, 0x68, 0x3a, 0x7e, 0xb1, 0x47, 0x99, 0x99, 0xf7, 0x98, 0x19, - 0xa7, 0x9b, 0x9e, 0x60, 0xc5, 0x81, 0x03, 0x42, 0x05, 0x2e, 0x88, 0x0b, 0xab, 0x9e, 0xf6, 0xb8, - 0xf4, 0x80, 0x50, 0x39, 0x70, 0x42, 0x2a, 0x7b, 0xaa, 0xc4, 0x65, 0x55, 0x21, 0xb4, 0xb4, 0x20, - 0xa1, 0x4a, 0x48, 0xa0, 0x3a, 0x81, 0x23, 0x7a, 0x1f, 0x63, 0xcf, 0x38, 0x76, 0xba, 0x6d, 0x11, - 0x27, 0x2e, 0x51, 0xe6, 0xff, 0xf5, 0x7e, 0xff, 0xaf, 0xf7, 0xff, 0x3f, 0xc3, 0x9c, 0xc9, 0x98, - 0xed, 0x05, 0xe1, 0x12, 0xf3, 0x69, 0x48, 0x51, 0x9a, 0x54, 0x6b, 0x44, 0xfc, 0x3b, 0x3d, 0x53, - 0xa3, 0xb4, 0xe6, 0x90, 0xa2, 0xc9, 0xec, 0xa2, 0xe9, 0x79, 0x34, 0x34, 0x43, 0x9b, 0x7a, 0x81, - 0x14, 0x9c, 0xce, 0xfa, 0x24, 0x68, 0x38, 0x4a, 0x6d, 0xfa, 0xcb, 0x35, 0x3b, 0xac, 0x37, 0x6e, - 0x2c, 0x59, 0xd4, 0x2d, 0xba, 0xf4, 0x86, 0xed, 0x70, 0x33, 0xef, 0x17, 0xf9, 0xdf, 0x45, 0xcb, - 0xa1, 0x8d, 0x6a, 0x51, 0xc8, 0xd5, 0x88, 0xd7, 0xfa, 0x47, 0x69, 0xa6, 0x4d, 0xc6, 0x22, 0x93, - 0x3b, 0x8e, 0xb9, 0x47, 0xfd, 0xe8, 0xcb, 0xa2, 0xae, 0x4b, 0x23, 0xb1, 0x71, 0x61, 0xc5, 0x21, - 0xe1, 0x2e, 0xd9, 0x57, 0xa4, 0x49, 0xb3, 0x11, 0xd2, 0xc0, 0x32, 0x1d, 0xc2, 0xa8, 0x63, 0x5b, - 0x11, 0x39, 0x67, 0x39, 0x8d, 0x20, 0x24, 0x91, 0x99, 0x0b, 0xcf, 0x44, 0x56, 0x5d, 0x74, 0xcd, - 0xd0, 0xaa, 0x2f, 0x12, 0xaf, 0x66, 0x7b, 0xa4, 0x58, 0x75, 0xc9, 0xa2, 0x50, 0x2d, 0x3a, 0xd4, - 0x52, 0x46, 0xd6, 0x5f, 0xdc, 0x88, 0xc9, 0x58, 0xc2, 0x91, 0x89, 0x1a, 0xad, 0x51, 0xc9, 0xe2, - 0xff, 0x49, 0x6a, 0xe1, 0x8f, 0x00, 0x4e, 0x5e, 0xb3, 0xfd, 0xb0, 0x61, 0x3a, 0x17, 0x24, 0xfc, - 0x75, 0x2f, 0x08, 0x2f, 0x91, 0x7d, 0xf4, 0x36, 0xcc, 0x28, 0x87, 0x8c, 0x5d, 0xb2, 0x8f, 0xc1, - 0x1c, 0x58, 0xc8, 0x2c, 0x4f, 0x2e, 0xb5, 0xd2, 0xb4, 0xa4, 0xe4, 0x2f, 0x91, 0xfd, 0xf2, 0xe0, - 0xfd, 0x3f, 0x9d, 0xee, 0xd3, 0xa1, 0xd5, 0xa2, 0xa0, 0x77, 0x60, 0x36, 0x0a, 0x9c, 0x50, 0xef, - 0x17, 0xea, 0x53, 0x09, 0x75, 0xc9, 0x6e, 0xeb, 0x67, 0xac, 0x36, 0x09, 0x9d, 0x83, 0x59, 0xea, - 0xd7, 0x4c, 0xcf, 0xbe, 0x25, 0xb2, 0x8f, 0x07, 0xe6, 0xc0, 0x42, 0xba, 0x8c, 0xee, 0x1d, 0xe2, - 0xe8, 0x18, 0xea, 0xd7, 0x1e, 0x1c, 0x62, 0xa0, 0x27, 0xe4, 0x56, 0xb2, 0x7f, 0x7b, 0x8a, 0xc1, - 0xbf, 0x9f, 0x62, 0xf0, 0xf1, 0x87, 0xa7, 0x41, 0xe1, 0x0e, 0x80, 0xb0, 0xc4, 0x58, 0xe4, 0xd3, - 0x59, 0x38, 0x6c, 0x32, 0x16, 0xf3, 0x67, 0x3c, 0x06, 0xa8, 0xc4, 0x58, 0x1b, 0x4b, 0xca, 0x14, - 0x5f, 0x68, 0x0b, 0xe6, 0xa3, 0x28, 0xf0, 0x62, 0x15, 0xaa, 0x83, 0x42, 0x75, 0x2e, 0xa6, 0xda, - 0x35, 0x82, 0xe5, 0x91, 0x8f, 0x9a, 0x18, 0x08, 0x6b, 0xa3, 0x56, 0x82, 0xd3, 0x01, 0xf2, 0x97, - 0x08, 0x0e, 0x2b, 0x90, 0x68, 0x0a, 0xa6, 0x76, 0x6c, 0xe2, 0x54, 0x03, 0x0c, 0xe6, 0x06, 0x16, - 0xd2, 0xba, 0xfa, 0x42, 0x8b, 0x70, 0xa0, 0x1d, 0xc6, 0xc9, 0x24, 0xea, 0xe8, 0x3c, 0x89, 0x9c, - 0xcb, 0xa1, 0xb5, 0x58, 0xf8, 0x1d, 0x6a, 0x89, 0xe8, 0x65, 0x96, 0x4f, 0x2d, 0x55, 0xed, 0x20, - 0xf4, 0xed, 0x1b, 0x8d, 0x90, 0x54, 0x0d, 0x51, 0x37, 0x86, 0xac, 0x9b, 0xa5, 0xcb, 0xd4, 0xea, - 0xcc, 0xc2, 0x65, 0x6a, 0xa1, 0xd3, 0x70, 0xa0, 0xe1, 0xdb, 0xc2, 0xe3, 0x74, 0x39, 0xc7, 0xfd, - 0xf9, 0xc9, 0xdd, 0x93, 0x43, 0x1e, 0xb5, 0x5c, 0xa6, 0x73, 0x0e, 0x7a, 0x0b, 0x8e, 0x38, 0xf6, - 0x1e, 0xf1, 0x48, 0x10, 0xe0, 0xd4, 0x1c, 0x58, 0x18, 0x5d, 0x3e, 0x11, 0x03, 0x77, 0x59, 0xb1, - 0xca, 0x83, 0x5c, 0x55, 0x6f, 0x89, 0xa2, 0x0d, 0x98, 0x75, 0x4d, 0xc6, 0x48, 0xd5, 0x60, 0xd4, - 0x0f, 0x03, 0x9c, 0x9e, 0x1b, 0x58, 0xc8, 0x2c, 0xbf, 0xd6, 0x1b, 0x5f, 0x89, 0xb1, 0xab, 0xd4, - 0x0f, 0x63, 0x31, 0xcd, 0x48, 0x03, 0x9c, 0x1a, 0xa0, 0x73, 0x30, 0x25, 0x7b, 0x18, 0x67, 0x85, - 0xa7, 0x13, 0x31, 0x10, 0x6b, 0x82, 0x91, 0x4c, 0x88, 0x92, 0x46, 0x6f, 0xc3, 0xa1, 0x20, 0x34, - 0x43, 0x82, 0x47, 0x05, 0xf6, 0x57, 0x62, 0x6a, 0x5b, 0xbe, 0x69, 0xed, 0x92, 0xea, 0x26, 0x67, - 0x77, 0xba, 0x2e, 0x95, 0xd0, 0x3c, 0x4c, 0x11, 0xdf, 0xa7, 0x7e, 0x80, 0xc7, 0x78, 0xb2, 0x3a, - 0xa5, 0x14, 0x13, 0x5d, 0x84, 0x59, 0xcb, 0x77, 0x0d, 0xba, 0x47, 0x7c, 0xdf, 0xae, 0x12, 0x9c, - 0x17, 0x67, 0x25, 0x7a, 0x41, 0xbf, 0x52, 0x51, 0xdc, 0x72, 0xba, 0x6d, 0x20, 0x63, 0xf9, 0x6e, - 0x44, 0x47, 0x65, 0x98, 0xf5, 0x1b, 0x5e, 0x68, 0xbb, 0xc4, 0xb0, 0xbd, 0x1d, 0x8a, 0xc7, 0x85, - 0xa3, 0x27, 0x8f, 0x96, 0x82, 0x2e, 0xa5, 0xa2, 0x74, 0x2a, 0xa5, 0x75, 0x6f, 0x87, 0xa2, 0x6f, - 0x41, 0x68, 0xf9, 0xc4, 0xe4, 0xd1, 0x35, 0x43, 0x3c, 0x29, 0x2c, 0xbc, 0xde, 0x3b, 0xe8, 0x5b, - 0xb6, 0x4b, 0x82, 0xd0, 0x74, 0x59, 0x79, 0x52, 0x79, 0x96, 0x0e, 0x23, 0x92, 0x30, 0x9e, 0x56, - 0xd6, 0x4a, 0x21, 0xda, 0x80, 0x53, 0xfc, 0x5a, 0x34, 0x5a, 0xdd, 0xc2, 0x0c, 0xd3, 0xb2, 0x78, - 0x59, 0x4c, 0x1d, 0x29, 0x8b, 0x75, 0x56, 0x12, 0x2c, 0x55, 0x16, 0x27, 0xb8, 0x62, 0xd4, 0x3b, - 0x8a, 0x85, 0xbe, 0x06, 0x53, 0x3c, 0xc8, 0x8d, 0x00, 0xbf, 0x72, 0xa4, 0xe6, 0x37, 0x05, 0x83, - 0x7b, 0x54, 0x1e, 0x4f, 0x84, 0x5c, 0xe6, 0x56, 0xea, 0xa1, 0x79, 0x38, 0xe2, 0x93, 0x3d, 0x3b, - 0xe0, 0xb7, 0x07, 0x16, 0x05, 0x1c, 0x0b, 0x6d, 0x8b, 0x85, 0x34, 0x98, 0xdd, 0xa1, 0xbe, 0x45, - 0x8c, 0x06, 0xab, 0xf2, 0x4a, 0x38, 0x39, 0x07, 0x16, 0x46, 0x12, 0x59, 0x10, 0xec, 0x6d, 0xc1, - 0x45, 0xcb, 0x70, 0x4c, 0xca, 0x19, 0x6e, 0xc3, 0x09, 0x6d, 0xe6, 0x10, 0x3c, 0xdd, 0xa9, 0x30, - 0x2a, 0x25, 0xae, 0x28, 0x01, 0x54, 0x84, 0xc3, 0x16, 0xf5, 0x76, 0xec, 0x5a, 0x80, 0x5f, 0x15, - 0x75, 0x9e, 0xb8, 0x45, 0x05, 0x67, 0xcd, 0x76, 0x88, 0x1e, 0x49, 0xa1, 0xeb, 0x30, 0x5b, 0x27, - 0xa6, 0x13, 0xd6, 0x0d, 0xab, 0x4e, 0xac, 0x5d, 0x7c, 0x4a, 0x44, 0x70, 0xbe, 0x77, 0xa2, 0xbe, - 0x2e, 0xa4, 0x2f, 0x70, 0xe1, 0xce, 0x22, 0xcc, 0xd4, 0xdb, 0x3c, 0x34, 0x0f, 0x47, 0x99, 0x6f, - 0xef, 0x99, 0xd6, 0xbe, 0x21, 0x47, 0x17, 0x9e, 0xe5, 0x81, 0xd1, 0x73, 0x8a, 0x7a, 0x55, 0x10, - 0x51, 0x09, 0x66, 0x18, 0xbd, 0x49, 0x7c, 0x43, 0xf6, 0xc6, 0x69, 0x71, 0x7c, 0x1c, 0xf4, 0x55, - 0xce, 0x95, 0x9d, 0x11, 0xf3, 0x1b, 0xb2, 0x16, 0x19, 0xbd, 0x03, 0x27, 0xc8, 0xfb, 0x21, 0xf1, - 0x3d, 0xd3, 0x31, 0xf6, 0xa8, 0xd3, 0x70, 0x89, 0x11, 0xd8, 0xb7, 0x08, 0x9e, 0x9b, 0x03, 0x0b, - 0x83, 0x9d, 0x18, 0x51, 0x24, 0x7a, 0x4d, 0x48, 0x6e, 0xda, 0xb7, 0x08, 0x5a, 0x81, 0xe3, 0xe6, - 0x9e, 0x69, 0x3b, 0xe6, 0x0d, 0xdb, 0xb1, 0xc3, 0x7d, 0xe3, 0x16, 0xf5, 0x08, 0x7e, 0xad, 0xdb, - 0x3d, 0x94, 0x8f, 0xcb, 0x7d, 0x9b, 0x7a, 0x04, 0x9d, 0x81, 0xe9, 0x3d, 0xd7, 0x50, 0x17, 0x42, - 0xa1, 0x9b, 0xce, 0xc8, 0x9e, 0x2b, 0xaf, 0x05, 0xf4, 0x06, 0x1c, 0xa6, 0x2c, 0x34, 0x7c, 0x12, - 0xe0, 0xd7, 0xbb, 0x49, 0xa6, 0x28, 0x0b, 0x75, 0x12, 0xf0, 0xd6, 0x91, 0x69, 0x15, 0xad, 0xf3, - 0x85, 0x97, 0x6f, 0x1d, 0x65, 0xad, 0x14, 0xa2, 0xb3, 0x70, 0xdc, 0x27, 0xa6, 0xd3, 0x6a, 0x1d, - 0xcf, 0x74, 0x09, 0x9e, 0x17, 0x60, 0x64, 0x83, 0x8c, 0x71, 0xb6, 0x6a, 0x90, 0x0d, 0xd3, 0x25, - 0x2b, 0x7f, 0x1d, 0xe2, 0x03, 0xe4, 0x1f, 0x4f, 0x31, 0xf8, 0x6e, 0x13, 0x83, 0xdb, 0x4d, 0x0c, - 0x7e, 0xd6, 0xc4, 0xe0, 0xe3, 0x26, 0x06, 0xf7, 0x9a, 0x38, 0x1b, 0xbf, 0xb9, 0xee, 0x37, 0x31, - 0xf8, 0x94, 0x03, 0x38, 0xc0, 0xf7, 0xc0, 0x85, 0xf6, 0xcd, 0xae, 0x6d, 0xfb, 0xb6, 0x76, 0xa5, - 0x7d, 0x83, 0x6a, 0xd1, 0x55, 0xad, 0x5d, 0x88, 0x5a, 0x5a, 0x93, 0x6d, 0xa6, 0xe9, 0xaa, 0x53, - 0xb4, 0x55, 0x71, 0x9d, 0x69, 0x7a, 0xfb, 0x42, 0xd1, 0xae, 0xa9, 0x30, 0x6a, 0xab, 0x47, 0x32, - 0xa8, 0x95, 0x3a, 0xd2, 0x22, 0xec, 0x11, 0x6d, 0x3b, 0xf2, 0x5b, 0xab, 0x88, 0xc8, 0x6a, 0x9b, - 0x75, 0xd3, 0x27, 0xd5, 0xb8, 0xe2, 0xd1, 0xeb, 0xe0, 0xe7, 0x07, 0xf8, 0x4e, 0xbf, 0xc9, 0x18, - 0x0f, 0xcd, 0xf9, 0x4b, 0x64, 0x5f, 0x0d, 0xeb, 0x25, 0x1e, 0x0d, 0xcd, 0x64, 0x6c, 0x8f, 0xf8, - 0x41, 0x9c, 0x7e, 0x8d, 0xf8, 0x02, 0xb2, 0xc9, 0xd8, 0x22, 0xf5, 0x6b, 0x71, 0x56, 0x25, 0xb6, - 0x2d, 0x68, 0x2a, 0xe4, 0x82, 0x9f, 0x9c, 0xde, 0xb1, 0xf5, 0x46, 0x9e, 0xa2, 0x44, 0x5b, 0xe6, - 0x3a, 0xc4, 0x3b, 0xcc, 0xca, 0x40, 0x77, 0xb7, 0xdb, 0x5a, 0x72, 0x22, 0xc3, 0x92, 0xd0, 0xcb, - 0x72, 0x5c, 0x21, 0x71, 0x8a, 0x2c, 0xf0, 0xf3, 0x32, 0x03, 0xc2, 0xd6, 0x9d, 0x03, 0x5c, 0x7e, - 0x16, 0xb6, 0x67, 0xbb, 0xfa, 0xf0, 0x00, 0xcf, 0x1e, 0x8f, 0xe3, 0xee, 0x21, 0xb6, 0x76, 0xc9, - 0xfe, 0xf9, 0x6e, 0x21, 0xe5, 0xf4, 0xe3, 0xce, 0xef, 0xc2, 0xef, 0xe5, 0xe1, 0x37, 0x06, 0x47, - 0x66, 0xf2, 0xa7, 0x74, 0x14, 0x88, 0x0a, 0x89, 0xdf, 0x23, 0x85, 0xaf, 0xc2, 0xd1, 0xe4, 0xb8, - 0x43, 0x5f, 0x84, 0x39, 0x8b, 0x7a, 0xa1, 0x69, 0x7b, 0x7c, 0xfa, 0x44, 0x0b, 0x94, 0xea, 0xa0, - 0x6c, 0x8b, 0xb5, 0x5e, 0x0d, 0x0a, 0xbf, 0x19, 0x80, 0x19, 0xa5, 0x2d, 0xc6, 0xe2, 0x7f, 0x69, - 0xe9, 0x7a, 0x03, 0xa6, 0x3d, 0x1a, 0xda, 0x3b, 0xfb, 0x86, 0x5d, 0x15, 0x1b, 0xd7, 0x40, 0x62, - 0xe2, 0x48, 0xde, 0x7a, 0x15, 0x2d, 0x46, 0x4b, 0xc7, 0xe0, 0xb1, 0x4b, 0x47, 0xb4, 0x65, 0x4c, - 0xb5, 0xb6, 0x8c, 0x21, 0x89, 0x4e, 0xad, 0x15, 0x9d, 0x0b, 0x41, 0xea, 0x05, 0x16, 0x82, 0x2f, - 0xb5, 0xa6, 0xec, 0xf0, 0x71, 0x53, 0x36, 0xb6, 0x38, 0xa9, 0xe1, 0x7a, 0x2e, 0x39, 0x22, 0x46, - 0x8e, 0x19, 0x11, 0x89, 0xb9, 0xa0, 0x16, 0xca, 0x74, 0xaf, 0x85, 0x72, 0x65, 0xae, 0xf3, 0x66, - 0xfb, 0xb0, 0x89, 0xc1, 0x67, 0x4d, 0x0c, 0xee, 0x1e, 0xe2, 0x41, 0x8f, 0x7a, 0xa4, 0xb0, 0xd4, - 0x4a, 0xfd, 0x15, 0x12, 0xfa, 0xb6, 0x15, 0xa0, 0x19, 0x98, 0x0e, 0xa8, 0x4b, 0xc2, 0xba, 0xed, - 0xd5, 0xf0, 0x10, 0x9f, 0x30, 0x7a, 0x9b, 0x50, 0xf8, 0x01, 0x80, 0x39, 0xa5, 0x70, 0x99, 0xd2, - 0xdd, 0x06, 0x8b, 0xf2, 0x0a, 0x3e, 0x67, 0x5e, 0xbf, 0x02, 0xa1, 0x9c, 0x96, 0xb1, 0x97, 0xcc, - 0x44, 0xc2, 0x55, 0xce, 0x6c, 0x2b, 0xa5, 0x59, 0x44, 0x58, 0xc9, 0x7d, 0x72, 0x88, 0xd3, 0x2d, - 0x7e, 0xe1, 0xc7, 0xa0, 0x85, 0x5d, 0x42, 0x59, 0x7e, 0x5e, 0x2c, 0x2f, 0xfb, 0xae, 0x5a, 0x19, - 0xfb, 0xe4, 0x10, 0x67, 0x62, 0x32, 0x85, 0xdf, 0x0f, 0xb4, 0x31, 0x99, 0x21, 0xf1, 0xac, 0xfd, - 0xe7, 0xc5, 0x84, 0xe1, 0xb0, 0x4b, 0x82, 0xc0, 0xac, 0x11, 0x01, 0x27, 0xad, 0x47, 0x9f, 0x2b, - 0x7f, 0xef, 0xff, 0xff, 0xc5, 0xfd, 0x3f, 0xbc, 0xb8, 0xcf, 0xfc, 0xa8, 0x1f, 0xc2, 0x76, 0xe3, - 0xa1, 0x53, 0xf0, 0xc4, 0xd5, 0xca, 0xf5, 0x55, 0xdd, 0xd8, 0xdc, 0x2a, 0x6d, 0xad, 0x1a, 0xdb, - 0x1b, 0x97, 0x36, 0x2a, 0xd7, 0x37, 0xf2, 0x7d, 0xd3, 0x83, 0xb7, 0x0f, 0x31, 0x40, 0x33, 0x10, - 0x49, 0x76, 0x65, 0xc3, 0xd0, 0x57, 0xbf, 0xb9, 0xbd, 0xba, 0xb9, 0xb5, 0x7a, 0x31, 0x0f, 0x14, - 0x77, 0x12, 0x66, 0x04, 0x77, 0x7d, 0xe3, 0x5d, 0xa3, 0xb2, 0x91, 0xef, 0x57, 0xe4, 0x2c, 0x1c, - 0x89, 0x94, 0xf2, 0x03, 0xed, 0x13, 0x2a, 0x6b, 0x6b, 0x31, 0x1b, 0x83, 0x4a, 0x78, 0x0a, 0x66, - 0xdb, 0x36, 0xd6, 0xd6, 0xf2, 0x43, 0x8a, 0x9e, 0x83, 0xe9, 0x96, 0x5a, 0x3e, 0x85, 0xa6, 0x61, - 0x5e, 0x5f, 0x2d, 0x57, 0x2a, 0x5b, 0x31, 0x13, 0xc3, 0x4a, 0xf4, 0x04, 0x4c, 0x4b, 0xde, 0xfa, - 0xc6, 0xbb, 0xf9, 0x11, 0x45, 0x84, 0x30, 0x25, 0x89, 0xf9, 0x34, 0x7a, 0x15, 0x8e, 0xc7, 0x9d, - 0x5c, 0xd5, 0xf5, 0x8a, 0x9e, 0x87, 0x52, 0x70, 0xf9, 0x5f, 0xc3, 0xad, 0xf7, 0x7f, 0x89, 0xd9, - 0xe8, 0xb7, 0x00, 0xe6, 0xe4, 0x7e, 0x13, 0xbd, 0xb7, 0xd1, 0xd1, 0xea, 0x9e, 0x8e, 0xff, 0x28, - 0xa0, 0x8b, 0x1f, 0x9b, 0x0a, 0xdf, 0x07, 0x4f, 0x9a, 0xf8, 0x2d, 0x9d, 0x04, 0xb4, 0xe1, 0x5b, - 0x91, 0x72, 0xa0, 0x95, 0x2c, 0x9e, 0x99, 0x2b, 0xa6, 0x67, 0xd6, 0x88, 0xd6, 0xa3, 0x54, 0x3f, - 0x3a, 0xc0, 0xe0, 0xc1, 0x01, 0x06, 0x0f, 0x0f, 0xf0, 0xfc, 0x76, 0xe2, 0x61, 0xa0, 0xad, 0xb5, - 0x1f, 0x16, 0x5a, 0x3b, 0x6d, 0x1f, 0xfc, 0xe1, 0x2f, 0x3f, 0xed, 0x9f, 0x28, 0x8c, 0x15, 0xe5, - 0xe3, 0xaa, 0xa8, 0x7e, 0x27, 0x5b, 0x01, 0x67, 0xce, 0x02, 0xf4, 0x0b, 0x00, 0x73, 0x17, 0x89, - 0x43, 0x9e, 0xdb, 0x03, 0xf2, 0x52, 0x0e, 0x3c, 0x3c, 0xc0, 0xb0, 0x0b, 0xc2, 0xaa, 0x40, 0x92, - 0x44, 0xf8, 0xbd, 0x7e, 0x38, 0xaa, 0x93, 0x1d, 0x9f, 0x04, 0xf5, 0xe7, 0x84, 0xf8, 0x3b, 0xf0, - 0xb2, 0x18, 0x37, 0xd5, 0x36, 0xda, 0x65, 0x83, 0xd4, 0xe4, 0x43, 0x2b, 0x88, 0x05, 0x5a, 0x8b, - 0x3d, 0x9b, 0x8e, 0x6e, 0xa1, 0xd1, 0x6a, 0xfb, 0xe4, 0x00, 0xa3, 0xa3, 0xad, 0x27, 0x42, 0x30, - 0x59, 0xc8, 0x17, 0x7d, 0xe9, 0x6a, 0x32, 0x06, 0xff, 0x04, 0x30, 0x27, 0xf3, 0xfa, 0x9c, 0x21, - 0xf8, 0xd5, 0x4b, 0x87, 0xe0, 0xbd, 0x63, 0x42, 0x70, 0x4c, 0xf9, 0x7d, 0xae, 0x50, 0xb4, 0xf2, - 0x2e, 0xdf, 0x2e, 0x49, 0x9f, 0x7f, 0x08, 0x60, 0x66, 0xb3, 0x4e, 0x6f, 0x1e, 0xe7, 0x71, 0x17, - 0x5a, 0x61, 0xf3, 0x49, 0x13, 0xbf, 0xd9, 0xc3, 0xe3, 0x6b, 0x36, 0xb9, 0xd9, 0xcb, 0x5f, 0xde, - 0x53, 0x02, 0x10, 0x2a, 0xe4, 0x8a, 0x41, 0x9d, 0xde, 0x4c, 0xc0, 0x59, 0x0e, 0x5a, 0x53, 0x8d, - 0x6f, 0x30, 0xbc, 0xf9, 0x4d, 0x38, 0x16, 0xc3, 0x27, 0x17, 0xbf, 0xa3, 0x78, 0x38, 0x7d, 0xba, - 0x07, 0xbd, 0x30, 0x23, 0x0e, 0x9c, 0x2a, 0x8c, 0x27, 0x0e, 0xe4, 0xdb, 0x97, 0x3c, 0xf4, 0x03, - 0x00, 0xc7, 0x93, 0xbb, 0x09, 0x3f, 0xd8, 0x85, 0x28, 0x76, 0x70, 0xb4, 0xb4, 0x74, 0x59, 0xd4, - 0x14, 0x6b, 0xba, 0x37, 0xab, 0x70, 0x5a, 0x20, 0x38, 0x59, 0x98, 0x48, 0x20, 0x70, 0x25, 0x57, - 0x82, 0xf8, 0x75, 0x1b, 0x84, 0x1a, 0xe8, 0x1c, 0xc4, 0x1d, 0x00, 0x27, 0x75, 0xf2, 0x9d, 0x06, - 0xe1, 0x37, 0x61, 0x62, 0xda, 0x77, 0x39, 0x4d, 0xb1, 0xba, 0x55, 0xe8, 0x7b, 0x2f, 0x5c, 0xa0, - 0x02, 0xf9, 0x4c, 0xe1, 0x95, 0xa2, 0x2f, 0x61, 0x44, 0xe0, 0x1d, 0x79, 0xd8, 0x0a, 0x38, 0x53, - 0x9e, 0xb9, 0xff, 0xe7, 0xd9, 0xbe, 0xfb, 0x8f, 0x66, 0xc1, 0x83, 0x47, 0xb3, 0xe0, 0xb3, 0x47, - 0xb3, 0xe0, 0xf6, 0xe3, 0xd9, 0xbe, 0x07, 0x8f, 0x67, 0xfb, 0x3e, 0x7d, 0x3c, 0xdb, 0x77, 0x23, - 0x25, 0x80, 0xbc, 0xf9, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x94, 0x2a, 0x84, 0x05, 0x3a, 0x18, - 0x00, 0x00, + 0xa7, 0x9b, 0x9e, 0x60, 0xc5, 0x81, 0x03, 0x42, 0x05, 0x2e, 0x88, 0x0b, 0xab, 0x9e, 0x7a, 0x5c, + 0xf5, 0x80, 0x50, 0x39, 0x70, 0x42, 0x2a, 0x7b, 0xaa, 0xc4, 0x65, 0x55, 0x21, 0xb4, 0xb4, 0x20, + 0xa1, 0x4a, 0x48, 0xa0, 0x3a, 0x81, 0x23, 0x7a, 0x7f, 0xc6, 0x9e, 0x71, 0x9c, 0x74, 0xdb, 0x20, + 0x4e, 0x7b, 0x89, 0x32, 0xdf, 0xbf, 0xf7, 0xfb, 0xbe, 0xef, 0x7d, 0x7f, 0x9e, 0x61, 0xce, 0x64, + 0xcc, 0xf6, 0x82, 0x70, 0x81, 0xf9, 0x34, 0xa4, 0x28, 0x4d, 0xaa, 0x35, 0x22, 0xfe, 0x9d, 0x9c, + 0xaa, 0x51, 0x5a, 0x73, 0x48, 0xd1, 0x64, 0x76, 0xd1, 0xf4, 0x3c, 0x1a, 0x9a, 0xa1, 0x4d, 0xbd, + 0x40, 0x0a, 0x4e, 0x66, 0x7d, 0x12, 0x34, 0x1c, 0xa5, 0x36, 0xf9, 0xd5, 0x9a, 0x1d, 0xd6, 0x1b, + 0x37, 0x17, 0x2c, 0xea, 0x16, 0x5d, 0x7a, 0xd3, 0x76, 0xb8, 0x99, 0x0f, 0x8a, 0xfc, 0xef, 0xbc, + 0xe5, 0xd0, 0x46, 0xb5, 0x28, 0xe4, 0x6a, 0xc4, 0x6b, 0xfd, 0xa3, 0x34, 0xd3, 0x26, 0x63, 0x91, + 0xc9, 0x2d, 0xc7, 0xdc, 0xa1, 0x7e, 0xf4, 0x65, 0x51, 0xd7, 0xa5, 0x91, 0xd8, 0xa8, 0xb0, 0xe2, + 0x90, 0x70, 0x9b, 0xec, 0x2a, 0xd2, 0xb8, 0xd9, 0x08, 0x69, 0x60, 0x99, 0x0e, 0x61, 0xd4, 0xb1, + 0xad, 0x88, 0x9c, 0xb3, 0x9c, 0x46, 0x10, 0x92, 0xc8, 0xcc, 0xc5, 0x17, 0x22, 0xab, 0xce, 0xbb, + 0x66, 0x68, 0xd5, 0xe7, 0x89, 0x57, 0xb3, 0x3d, 0x52, 0xac, 0xba, 0x64, 0x5e, 0xa8, 0x16, 0x1d, + 0x6a, 0x29, 0x23, 0xab, 0xaf, 0x6e, 0xc4, 0x64, 0x2c, 0xe1, 0xc8, 0x58, 0x8d, 0xd6, 0xa8, 0x64, + 0xf1, 0xff, 0x24, 0xb5, 0xf0, 0x27, 0x00, 0xc7, 0xaf, 0xdb, 0x7e, 0xd8, 0x30, 0x9d, 0x8b, 0x12, + 0xfe, 0xaa, 0x17, 0x84, 0x97, 0xc9, 0x2e, 0x7a, 0x07, 0x66, 0x94, 0x43, 0xc6, 0x36, 0xd9, 0xc5, + 0x60, 0x06, 0xcc, 0x65, 0x16, 0xc7, 0x17, 0x5a, 0x69, 0x5a, 0x50, 0xf2, 0x97, 0xc9, 0x6e, 0xb9, + 0xff, 0xe1, 0x9f, 0xcf, 0xf4, 0xe8, 0xd0, 0x6a, 0x51, 0xd0, 0xbb, 0x30, 0x1b, 0x05, 0x4e, 0xa8, + 0xf7, 0x0a, 0xf5, 0x89, 0x84, 0xba, 0x64, 0xb7, 0xf5, 0x33, 0x56, 0x9b, 0x84, 0xce, 0xc3, 0x2c, + 0xf5, 0x6b, 0xa6, 0x67, 0xdf, 0x16, 0xd9, 0xc7, 0x7d, 0x33, 0x60, 0x2e, 0x5d, 0x46, 0x0f, 0xf6, + 0x71, 0x74, 0x0c, 0xf5, 0x6b, 0x8f, 0xf6, 0x31, 0xd0, 0x13, 0x72, 0x4b, 0xd9, 0xbf, 0x3f, 0xc7, + 0xe0, 0x3f, 0xcf, 0x31, 0xf8, 0xf8, 0xa3, 0x33, 0xa0, 0x70, 0x17, 0x40, 0x58, 0x62, 0x2c, 0xf2, + 0xe9, 0x1c, 0x1c, 0x34, 0x19, 0x8b, 0xf9, 0x33, 0x1a, 0x03, 0x54, 0x62, 0xac, 0x8d, 0x25, 0x65, + 0x8a, 0x2f, 0xb4, 0x01, 0xf3, 0x51, 0x14, 0xf8, 0x65, 0x15, 0xaa, 0xfd, 0x42, 0x75, 0x26, 0xa6, + 0xda, 0x35, 0x82, 0xe5, 0xa1, 0x7b, 0x4d, 0x0c, 0x84, 0xb5, 0x61, 0x2b, 0xc1, 0xe9, 0x00, 0x79, + 0x0f, 0xc1, 0x41, 0x05, 0x12, 0x4d, 0xc0, 0xd4, 0x96, 0x4d, 0x9c, 0x6a, 0x80, 0xc1, 0x4c, 0xdf, + 0x5c, 0x5a, 0x57, 0x5f, 0x68, 0x1e, 0xf6, 0xb5, 0xc3, 0x38, 0x9e, 0x44, 0x1d, 0x9d, 0x27, 0x91, + 0x73, 0x39, 0xb4, 0x12, 0x0b, 0xbf, 0x43, 0x2d, 0x11, 0xbd, 0xcc, 0xe2, 0xe9, 0x85, 0xaa, 0x1d, + 0x84, 0xbe, 0x7d, 0xb3, 0x11, 0x92, 0xaa, 0x21, 0xee, 0x8d, 0x21, 0xef, 0xcd, 0xc2, 0x15, 0x6a, + 0x75, 0x66, 0xe1, 0x0a, 0xb5, 0xd0, 0x04, 0xec, 0x6b, 0xf8, 0xb6, 0xf0, 0x38, 0x5d, 0xee, 0xe7, + 0xfe, 0xe8, 0x9c, 0x80, 0xde, 0x86, 0x43, 0x8e, 0xbd, 0x43, 0x3c, 0x12, 0x04, 0x38, 0x35, 0x03, + 0xe6, 0x86, 0x17, 0x4f, 0xc4, 0x30, 0x5d, 0x51, 0x2c, 0xa5, 0xd1, 0x12, 0x45, 0x6b, 0x30, 0xeb, + 0x9a, 0x8c, 0x91, 0xaa, 0xc1, 0xa8, 0x1f, 0x06, 0x38, 0x3d, 0xd3, 0x37, 0x97, 0x59, 0x7c, 0xfd, + 0x70, 0x58, 0x25, 0xc6, 0xae, 0x51, 0x3f, 0x8c, 0x85, 0x32, 0x23, 0x0d, 0x70, 0x6a, 0x80, 0xce, + 0xc3, 0x94, 0x2c, 0x5d, 0x9c, 0x15, 0x0e, 0x8e, 0xc5, 0x40, 0xac, 0x08, 0x46, 0x32, 0x0f, 0x4a, + 0x1a, 0xbd, 0x03, 0x07, 0x82, 0xd0, 0x0c, 0x09, 0x1e, 0x16, 0xd8, 0x4f, 0xc6, 0xd4, 0x36, 0x7c, + 0xd3, 0xda, 0x26, 0xd5, 0x75, 0xce, 0x2e, 0xe7, 0xb8, 0xe6, 0xcf, 0xee, 0x9f, 0x1a, 0xf0, 0xa8, + 0xe5, 0x32, 0x5d, 0x2a, 0xa1, 0x59, 0x98, 0x22, 0xbe, 0x4f, 0xfd, 0x00, 0x8f, 0xf0, 0x1c, 0x75, + 0x4a, 0x29, 0x26, 0xba, 0x04, 0xb3, 0x96, 0xef, 0x1a, 0x74, 0x87, 0xf8, 0xbe, 0x5d, 0x25, 0x38, + 0x2f, 0xce, 0x4a, 0x94, 0x80, 0x7e, 0xb5, 0xa2, 0xb8, 0xe5, 0x74, 0xdb, 0x40, 0xc6, 0xf2, 0xdd, + 0x88, 0x8e, 0xca, 0x30, 0xeb, 0x37, 0xbc, 0xd0, 0x76, 0x89, 0x61, 0x7b, 0x5b, 0x14, 0x8f, 0x0a, + 0x47, 0x4f, 0x1d, 0xbc, 0x01, 0xba, 0x94, 0x8a, 0xb2, 0xa8, 0x94, 0x56, 0xbd, 0x2d, 0x8a, 0xbe, + 0x03, 0xa1, 0xe5, 0x13, 0x93, 0x47, 0xd7, 0x0c, 0xf1, 0xb8, 0xb0, 0xf0, 0xc6, 0xe1, 0x41, 0xdf, + 0xb0, 0x5d, 0x12, 0x84, 0xa6, 0xcb, 0xca, 0xe3, 0xca, 0xb3, 0x74, 0x18, 0x91, 0x84, 0xf1, 0xb4, + 0xb2, 0x56, 0x0a, 0xd1, 0x1a, 0x9c, 0xe0, 0xdd, 0xd0, 0x68, 0x15, 0x09, 0x33, 0x4c, 0xcb, 0xe2, + 0xd7, 0x62, 0xe2, 0xc0, 0xb5, 0x58, 0x65, 0x25, 0xc1, 0x52, 0xd7, 0xe2, 0x04, 0x57, 0x8c, 0x4a, + 0x46, 0xb1, 0xd0, 0x37, 0x60, 0x8a, 0x07, 0xb9, 0x11, 0xe0, 0x93, 0x07, 0xae, 0xfa, 0xba, 0x60, + 0x70, 0x8f, 0xca, 0xa3, 0x89, 0x90, 0xcb, 0xdc, 0x4a, 0x3d, 0x34, 0x0b, 0x87, 0x7c, 0xb2, 0x63, + 0x07, 0xbc, 0x69, 0x60, 0x71, 0x6f, 0x63, 0xa1, 0x6d, 0xb1, 0x90, 0x06, 0xb3, 0x5b, 0xd4, 0xb7, + 0x88, 0xd1, 0x60, 0x55, 0x7e, 0x13, 0x4e, 0xcd, 0x80, 0xb9, 0xa1, 0x44, 0x16, 0x04, 0x7b, 0x53, + 0x70, 0xd1, 0x22, 0x1c, 0x91, 0x72, 0x86, 0xdb, 0x70, 0x42, 0x9b, 0x39, 0x04, 0x4f, 0x76, 0x2a, + 0x0c, 0x4b, 0x89, 0xab, 0x4a, 0x00, 0x15, 0xe1, 0xa0, 0x45, 0xbd, 0x2d, 0xbb, 0x16, 0xe0, 0xd7, + 0xc4, 0x3d, 0x4f, 0x34, 0x4f, 0xc1, 0x59, 0xb1, 0x1d, 0xa2, 0x47, 0x52, 0xe8, 0x06, 0xcc, 0xd6, + 0x89, 0xe9, 0x84, 0x75, 0xc3, 0xaa, 0x13, 0x6b, 0x1b, 0x9f, 0x16, 0x11, 0x9c, 0x3d, 0x3c, 0x51, + 0xdf, 0x14, 0xd2, 0x17, 0xb9, 0x70, 0xe7, 0x25, 0xcc, 0xd4, 0xdb, 0x3c, 0x34, 0x0b, 0x87, 0x99, + 0x6f, 0xef, 0x98, 0xd6, 0xae, 0x21, 0x27, 0x16, 0x9e, 0xe6, 0x81, 0xd1, 0x73, 0x8a, 0x7a, 0x4d, + 0x10, 0x51, 0x09, 0x66, 0x18, 0xbd, 0x45, 0x7c, 0x43, 0xd6, 0xc6, 0x19, 0x71, 0x7c, 0x1c, 0xf4, + 0x35, 0xce, 0x95, 0x95, 0x11, 0xf3, 0x1b, 0xb2, 0x16, 0x19, 0xbd, 0x0b, 0xc7, 0xc8, 0x07, 0x21, + 0xf1, 0x3d, 0xd3, 0x31, 0x76, 0xa8, 0xd3, 0x70, 0x89, 0x11, 0xd8, 0xb7, 0x09, 0x9e, 0x99, 0x01, + 0x73, 0xfd, 0x9d, 0x18, 0x51, 0x24, 0x7a, 0x5d, 0x48, 0xae, 0xdb, 0xb7, 0x09, 0x5a, 0x82, 0xa3, + 0xe6, 0x8e, 0x69, 0x3b, 0xe6, 0x4d, 0xdb, 0xb1, 0xc3, 0x5d, 0xe3, 0x36, 0xf5, 0x08, 0x7e, 0x5d, + 0xa4, 0xb1, 0x43, 0x3b, 0x1f, 0x97, 0xfb, 0x2e, 0xf5, 0x08, 0x3a, 0x0b, 0xd3, 0x3b, 0xae, 0xa1, + 0x1a, 0x42, 0xa1, 0x9b, 0xce, 0xd0, 0x8e, 0x2b, 0xdb, 0x02, 0x7a, 0x13, 0x0e, 0x52, 0x16, 0x1a, + 0x3e, 0x09, 0xf0, 0x1b, 0xdd, 0x24, 0x53, 0x94, 0x85, 0x3a, 0x09, 0x78, 0xe9, 0xc8, 0xb4, 0x8a, + 0xd2, 0xf9, 0xd2, 0xf1, 0x4b, 0x47, 0x59, 0x2b, 0x85, 0xe8, 0x1c, 0x1c, 0xf5, 0x89, 0xe9, 0xb4, + 0x4a, 0xc7, 0x33, 0x5d, 0x82, 0x67, 0x63, 0x9d, 0x76, 0x84, 0xb3, 0x55, 0x81, 0xac, 0x99, 0x2e, + 0x59, 0xfa, 0xdb, 0x00, 0x9f, 0x1b, 0xff, 0x7c, 0x8e, 0xc1, 0xf7, 0x9b, 0x18, 0xdc, 0x69, 0x62, + 0xf0, 0x8b, 0x26, 0x06, 0x1f, 0x37, 0x31, 0x78, 0xd0, 0xc4, 0xd9, 0x78, 0xe7, 0x7a, 0xd8, 0xc4, + 0xe0, 0x53, 0x0e, 0x60, 0x0f, 0x3f, 0x00, 0x17, 0xdb, 0x0d, 0x5d, 0xdb, 0xf4, 0x6d, 0xed, 0x6a, + 0xbb, 0x83, 0x6a, 0x51, 0xab, 0xd6, 0x2e, 0x46, 0x25, 0xad, 0xc9, 0x32, 0xd3, 0x74, 0x55, 0x29, + 0xda, 0xb2, 0x68, 0x67, 0x9a, 0xde, 0x6e, 0x28, 0xda, 0x75, 0x15, 0x46, 0x6d, 0xf9, 0x40, 0x06, + 0xb5, 0x52, 0x47, 0x5a, 0x84, 0x3d, 0xa2, 0x6d, 0x46, 0x7e, 0x6b, 0x15, 0x11, 0x59, 0x6d, 0xbd, + 0x6e, 0xfa, 0xa4, 0x1a, 0x57, 0x3c, 0xd8, 0x0e, 0x7e, 0xb9, 0x87, 0xef, 0xf6, 0x9a, 0x8c, 0xf1, + 0xd0, 0x5c, 0xb8, 0x4c, 0x76, 0xd5, 0x8c, 0x5e, 0xe0, 0xd1, 0xd0, 0x4c, 0xc6, 0x76, 0x88, 0x1f, + 0xc4, 0xe9, 0xd7, 0x89, 0x2f, 0x20, 0x9b, 0x8c, 0xcd, 0x53, 0xbf, 0x16, 0x67, 0x55, 0x62, 0x4b, + 0x82, 0xa6, 0x42, 0x2e, 0xf8, 0xc9, 0xa1, 0x1d, 0xdb, 0x6a, 0xe4, 0x29, 0x4a, 0xb4, 0x65, 0xae, + 0x43, 0xbc, 0xc3, 0xac, 0x0c, 0x74, 0x77, 0xbb, 0xad, 0xdd, 0x26, 0x32, 0x2c, 0x09, 0x87, 0x59, + 0x8e, 0x2b, 0x24, 0x4e, 0x91, 0x17, 0xfc, 0x82, 0xcc, 0x80, 0xb0, 0x75, 0x77, 0x0f, 0x97, 0x5f, + 0x84, 0xed, 0xc5, 0xae, 0x3e, 0xde, 0xc3, 0xd3, 0x47, 0xe3, 0xb8, 0xbf, 0x8f, 0xad, 0x6d, 0xb2, + 0x7b, 0xa1, 0x5b, 0x48, 0x39, 0xfd, 0xa8, 0xf3, 0xbb, 0xf0, 0x0f, 0xf3, 0xf0, 0x5b, 0xfd, 0x43, + 0x53, 0xf9, 0xd3, 0x3a, 0x0a, 0xc4, 0x0d, 0x89, 0xf7, 0x91, 0xc2, 0xd7, 0xe1, 0x70, 0x72, 0xdc, + 0xa1, 0x2f, 0xc3, 0x9c, 0x45, 0xbd, 0xd0, 0xb4, 0x3d, 0x3e, 0x7d, 0xa2, 0xbd, 0x49, 0x55, 0x50, + 0xb6, 0xc5, 0x5a, 0xad, 0x06, 0x85, 0xdf, 0xf6, 0xc1, 0x8c, 0xd2, 0x16, 0x63, 0xf1, 0x7f, 0xb4, + 0x6b, 0xbd, 0x09, 0xd3, 0x1e, 0x0d, 0xed, 0xad, 0x5d, 0xc3, 0xae, 0x8a, 0x45, 0xab, 0x2f, 0x31, + 0x71, 0x24, 0x6f, 0xb5, 0x8a, 0xe6, 0xa3, 0xa5, 0xa3, 0xff, 0xc8, 0xa5, 0x23, 0xda, 0x32, 0x26, + 0x5a, 0x5b, 0xc6, 0x80, 0x44, 0xa7, 0xd6, 0x8a, 0xce, 0x85, 0x20, 0xf5, 0x0a, 0x0b, 0xc1, 0x57, + 0x5a, 0x53, 0x76, 0xf0, 0xa8, 0x29, 0x1b, 0x5b, 0x9c, 0xd4, 0x70, 0x3d, 0x9f, 0x1c, 0x11, 0x43, + 0x47, 0x8c, 0x88, 0xc4, 0x5c, 0x38, 0x23, 0xf7, 0xc8, 0x74, 0xb7, 0x56, 0xcb, 0x39, 0x4b, 0x33, + 0x9d, 0x9d, 0xed, 0xa3, 0x26, 0x06, 0x9f, 0x35, 0x31, 0xb8, 0xbf, 0x8f, 0xfb, 0x3d, 0xea, 0x91, + 0xc2, 0x42, 0x2b, 0xf5, 0x57, 0x49, 0xe8, 0xdb, 0x56, 0x80, 0xa6, 0x60, 0x3a, 0xa0, 0x2e, 0x09, + 0xeb, 0xb6, 0x57, 0xc3, 0x03, 0x7c, 0xc2, 0xe8, 0x6d, 0x42, 0xe1, 0x47, 0x00, 0xe6, 0x94, 0xc2, + 0x15, 0x4a, 0xb7, 0x1b, 0x2c, 0xca, 0x2b, 0xf8, 0x9c, 0x79, 0xfd, 0x1a, 0x84, 0x72, 0x5a, 0xc6, + 0x1e, 0x30, 0x63, 0x09, 0x57, 0x39, 0xb3, 0xad, 0x94, 0x66, 0x11, 0x61, 0x29, 0xf7, 0xc9, 0x3e, + 0x4e, 0xb7, 0xf8, 0x85, 0x9f, 0x82, 0x16, 0x76, 0x09, 0x65, 0xf1, 0x65, 0xb1, 0x1c, 0xf7, 0x39, + 0xb5, 0x34, 0xf2, 0xc9, 0x3e, 0xce, 0xc4, 0x64, 0x0a, 0x7f, 0xe8, 0x6b, 0x63, 0x32, 0x43, 0xe2, + 0x59, 0xbb, 0x2f, 0x8b, 0x09, 0xc3, 0x41, 0x97, 0x04, 0x81, 0x59, 0x23, 0x02, 0x4e, 0x5a, 0x8f, + 0x3e, 0x97, 0xfe, 0xd1, 0xfb, 0x45, 0xe3, 0xfe, 0x3f, 0x36, 0xee, 0xb3, 0x3f, 0xe9, 0x85, 0xb0, + 0x5d, 0x78, 0xe8, 0x34, 0x3c, 0x71, 0xad, 0x72, 0x63, 0x59, 0x37, 0xd6, 0x37, 0x4a, 0x1b, 0xcb, + 0xc6, 0xe6, 0xda, 0xe5, 0xb5, 0xca, 0x8d, 0xb5, 0x7c, 0xcf, 0x64, 0xff, 0x9d, 0x7d, 0x0c, 0xd0, + 0x14, 0x44, 0x92, 0x5d, 0x59, 0x33, 0xf4, 0xe5, 0x6f, 0x6f, 0x2e, 0xaf, 0x6f, 0x2c, 0x5f, 0xca, + 0x03, 0xc5, 0x1d, 0x87, 0x19, 0xc1, 0x5d, 0x5d, 0x7b, 0xcf, 0xa8, 0xac, 0xe5, 0x7b, 0x15, 0x39, + 0x0b, 0x87, 0x22, 0xa5, 0x7c, 0x5f, 0xfb, 0x84, 0xca, 0xca, 0x4a, 0xcc, 0x46, 0xbf, 0x12, 0x9e, + 0x80, 0xd9, 0xb6, 0x8d, 0x95, 0x95, 0xfc, 0x80, 0xa2, 0xe7, 0x60, 0xba, 0xa5, 0x96, 0x4f, 0xa1, + 0x49, 0x98, 0xd7, 0x97, 0xcb, 0x95, 0xca, 0x46, 0xcc, 0xc4, 0xa0, 0x12, 0x3d, 0x01, 0xd3, 0x92, + 0xb7, 0xba, 0xf6, 0x5e, 0x7e, 0x48, 0x11, 0x21, 0x4c, 0x49, 0x62, 0x3e, 0x8d, 0x5e, 0x83, 0xa3, + 0x71, 0x27, 0x97, 0x75, 0xbd, 0xa2, 0xe7, 0xa1, 0x14, 0x5c, 0xfc, 0xf7, 0x60, 0xeb, 0xd9, 0x5f, + 0x62, 0x36, 0xfa, 0x1d, 0x80, 0x39, 0xb9, 0xdf, 0x44, 0xcf, 0x6c, 0x74, 0xf0, 0x76, 0x4f, 0xc6, + 0x7f, 0x0b, 0xd0, 0xc5, 0x6f, 0x4c, 0x85, 0x1f, 0x82, 0x67, 0x4d, 0xfc, 0xb6, 0x4e, 0x02, 0xda, + 0xf0, 0xad, 0x48, 0x39, 0xd0, 0x4a, 0x16, 0xcf, 0xcc, 0x55, 0xd3, 0x33, 0x6b, 0x44, 0x3b, 0xe4, + 0xaa, 0xde, 0xdb, 0xc3, 0xe0, 0xd1, 0x1e, 0x06, 0x8f, 0xf7, 0xf0, 0xec, 0x66, 0xe2, 0x61, 0xa0, + 0xad, 0xb4, 0x1f, 0x16, 0x5a, 0x3b, 0x6d, 0x1f, 0xfe, 0xf1, 0xaf, 0x3f, 0xef, 0x1d, 0x2b, 0x8c, + 0x14, 0xe5, 0xe3, 0xaa, 0xa8, 0x7e, 0x1e, 0x5b, 0x02, 0x67, 0xcf, 0x01, 0xf4, 0x2b, 0x00, 0x73, + 0x97, 0x88, 0x43, 0x5e, 0xda, 0x03, 0x72, 0x2c, 0x07, 0x1e, 0xef, 0x61, 0xd8, 0x05, 0x61, 0x55, + 0x20, 0x49, 0x22, 0xfc, 0x41, 0x2f, 0x1c, 0xd6, 0xc9, 0x96, 0x4f, 0x82, 0xfa, 0x4b, 0x42, 0xfc, + 0x3d, 0x38, 0x2e, 0xc6, 0x75, 0xb5, 0x8d, 0x76, 0xd9, 0x20, 0x35, 0xf9, 0xd0, 0x0a, 0x62, 0x81, + 0xd6, 0x62, 0xcf, 0xa6, 0x83, 0x5b, 0x68, 0xb4, 0xda, 0x3e, 0xdb, 0xc3, 0xe8, 0x60, 0xe9, 0x89, + 0x10, 0x8c, 0x17, 0xf2, 0x45, 0x5f, 0xba, 0x9a, 0x8c, 0xc1, 0xbf, 0x00, 0xcc, 0xc9, 0xbc, 0xbe, + 0x64, 0x08, 0x7e, 0x7d, 0xec, 0x10, 0xbc, 0x7f, 0x44, 0x08, 0x8e, 0xb8, 0x7e, 0x9f, 0x2b, 0x14, + 0xad, 0xbc, 0xcb, 0xb7, 0x4b, 0xd2, 0xe7, 0x1f, 0x03, 0x98, 0x59, 0xaf, 0xd3, 0x5b, 0x47, 0x79, + 0xdc, 0x85, 0x56, 0x58, 0x7f, 0xd6, 0xc4, 0x6f, 0x1d, 0xe2, 0xf1, 0x75, 0x9b, 0xdc, 0x3a, 0xcc, + 0x5f, 0x5e, 0x53, 0x02, 0x10, 0x2a, 0xe4, 0x8a, 0x41, 0x9d, 0xde, 0x4a, 0xc0, 0x59, 0x0c, 0x5a, + 0x53, 0x8d, 0x6f, 0x30, 0xbc, 0xf8, 0x4d, 0x38, 0x12, 0xc3, 0x27, 0x17, 0xbf, 0x83, 0x78, 0x38, + 0x7d, 0xf2, 0x10, 0x7a, 0x61, 0x4a, 0x1c, 0x38, 0x51, 0x18, 0x4d, 0x1c, 0xc8, 0xb7, 0x2f, 0x79, + 0xe8, 0x87, 0x00, 0x8e, 0x26, 0x77, 0x13, 0x7e, 0xb0, 0x0b, 0x51, 0xec, 0xe0, 0x68, 0x69, 0xe9, + 0xb2, 0xa8, 0x29, 0xd6, 0xe4, 0xe1, 0xac, 0xc2, 0x19, 0x81, 0xe0, 0x54, 0x61, 0x2c, 0x81, 0xc0, + 0x95, 0x5c, 0x09, 0xe2, 0x37, 0x6d, 0x10, 0x6a, 0xa0, 0x73, 0x10, 0x77, 0x01, 0x1c, 0xd7, 0xc9, + 0xf7, 0x1a, 0x84, 0x77, 0xc2, 0xc4, 0xb4, 0xef, 0x72, 0x9a, 0x62, 0x75, 0xbb, 0xa1, 0xef, 0xbf, + 0xf2, 0x05, 0x15, 0xc8, 0xa7, 0x0a, 0x27, 0x8b, 0xbe, 0x84, 0x11, 0x81, 0x77, 0xe4, 0x61, 0x4b, + 0xe0, 0x6c, 0x79, 0xea, 0xe1, 0x5f, 0xa6, 0x7b, 0x1e, 0x3e, 0x99, 0x06, 0x8f, 0x9e, 0x4c, 0x83, + 0xcf, 0x9e, 0x4c, 0x83, 0x3b, 0x4f, 0xa7, 0x7b, 0x1e, 0x3d, 0x9d, 0xee, 0xf9, 0xf4, 0xe9, 0x74, + 0xcf, 0xcd, 0x94, 0x00, 0xf2, 0xd6, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0x6f, 0x6d, 0x96, 0x2b, + 0x31, 0x18, 0x00, 0x00, } func (this *VirtualClusterInstKey) GoString() string { @@ -4066,9 +4066,6 @@ func IgnoreAppInstFields(taglist string) cmp.Option { for _, tag := range strings.Split(taglist, ",") { tags[tag] = struct{}{} } - if _, found := tags["nocmp"]; found { - names = append(names, "Uri") - } if _, found := tags["nocmp"]; found { names = append(names, "State") } diff --git a/edgeproto/appinst.proto b/edgeproto/appinst.proto index 7b3d3627e..63702d1e5 100644 --- a/edgeproto/appinst.proto +++ b/edgeproto/appinst.proto @@ -99,7 +99,7 @@ message AppInst { // Cached location of the cloudlet distributed_match_engine.Loc cloudlet_loc = 3 [(gogoproto.nullable) = false]; // Base FQDN (not really URI) for the App. See Service FQDN for endpoint access. - string uri = 4 [(protogen.backend) = true, (protogen.hidetag) = "nocmp"]; + string uri = 4 [(protogen.backend) = true]; // Liveness of instance (see Liveness) Liveness liveness = 6 [(protogen.backend) = true]; // For instances accessible via a shared load balancer, defines the external diff --git a/gencmd/alldata.cmd.go b/gencmd/alldata.cmd.go index 60f8a6186..1ed532f47 100644 --- a/gencmd/alldata.cmd.go +++ b/gencmd/alldata.cmd.go @@ -214,9 +214,6 @@ func AllDataHideTags(in *edgeproto.AllData) { } } for i0 := 0; i0 < len(in.AppInstances); i0++ { - if _, found := tags["nocmp"]; found { - in.AppInstances[i0].Uri = "" - } for i1 := 0; i1 < len(in.AppInstances[i0].MappedPorts); i1++ { } if _, found := tags["nocmp"]; found { diff --git a/gencmd/app.cmd.go b/gencmd/app.cmd.go index 7af438e9d..6085e3256 100644 --- a/gencmd/app.cmd.go +++ b/gencmd/app.cmd.go @@ -778,7 +778,7 @@ var DeploymentCloudletRequestComments = map[string]string{ "app.officialfqdn": "Official FQDN is the FQDN that the app uses to connect by default", "app.md5sum": "MD5Sum of the VM-based app image", "app.autoprovpolicy": "(_deprecated_) Auto provisioning policy name", - "app.accesstype": "Access type, one of AccessTypeDefaultForDeployment, AccessTypeDirect, AccessTypeLoadBalancer", + "app.accesstype": "(Deprecated) Access type, one of AccessTypeDefaultForDeployment, AccessTypeDirect, AccessTypeLoadBalancer", "app.deleteprepare": "Preparing to be deleted", "app.autoprovpolicies": "Auto provisioning policy names, may be specified multiple times", "app.templatedelimiter": "Delimiter to be used for template parsing, defaults to [[ ]]", diff --git a/gencmd/appinst.cmd.go b/gencmd/appinst.cmd.go index 60518d4c0..1366b1c3f 100644 --- a/gencmd/appinst.cmd.go +++ b/gencmd/appinst.cmd.go @@ -35,9 +35,6 @@ func AppInstHideTags(in *edgeproto.AppInst) { for _, tag := range strings.Split(cli.HideTags, ",") { tags[tag] = struct{}{} } - if _, found := tags["nocmp"]; found { - in.Uri = "" - } for i0 := 0; i0 < len(in.MappedPorts); i0++ { } if _, found := tags["nocmp"]; found { diff --git a/setup-env/e2e-tests/data/appdata_cloudlet1_moved_show.yml b/setup-env/e2e-tests/data/appdata_cloudlet1_moved_show.yml index 7bfbd0550..3a249c1e3 100644 --- a/setup-env/e2e-tests/data/appdata_cloudlet1_moved_show.yml +++ b/setup-env/e2e-tests/data/appdata_cloudlet1_moved_show.yml @@ -643,29 +643,25 @@ appinstances: cloudletloc: latitude: 40 longitude: -99 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -688,29 +684,25 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: smallcluster.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -733,6 +725,7 @@ appinstances: cloudletloc: latitude: 40 longitude: -99 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoUdp @@ -817,6 +810,7 @@ appinstances: cloudletloc: latitude: 40 longitude: -99 + uri: acmeappco1vmapp110.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp @@ -845,6 +839,7 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: acmeappco1vmapp210.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp diff --git a/setup-env/e2e-tests/data/appdata_clusterInst1_cloudlet1_appInst1_show.yml b/setup-env/e2e-tests/data/appdata_clusterInst1_cloudlet1_appInst1_show.yml index 23f93b679..1213ced2c 100644 --- a/setup-env/e2e-tests/data/appdata_clusterInst1_cloudlet1_appInst1_show.yml +++ b/setup-env/e2e-tests/data/appdata_clusterInst1_cloudlet1_appInst1_show.yml @@ -228,20 +228,18 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: diff --git a/setup-env/e2e-tests/data/appdata_no_appinst_autoprov_show.yml b/setup-env/e2e-tests/data/appdata_no_appinst_autoprov_show.yml index 64df18abe..8b6fcd0ad 100644 --- a/setup-env/e2e-tests/data/appdata_no_appinst_autoprov_show.yml +++ b/setup-env/e2e-tests/data/appdata_no_appinst_autoprov_show.yml @@ -677,13 +677,13 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: reservablecluster2.tmus-cloud-2.tmus.localtest.net liveness: LivenessAutoprov realclustername: ReservableCluster2 mappedports: - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: autoprovapp10-tcp- flavor: name: x1.small runtimeinfo: diff --git a/setup-env/e2e-tests/data/appdata_show.yml b/setup-env/e2e-tests/data/appdata_show.yml index 42b5bd727..a34786d1d 100644 --- a/setup-env/e2e-tests/data/appdata_show.yml +++ b/setup-env/e2e-tests/data/appdata_show.yml @@ -639,7 +639,6 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 - uri: smallcluster.tmus-cloud-1.tmus.mobiledgex.net liveness: LivenessDynamic mappedports: - proto: LProtoTcp @@ -681,29 +680,25 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -748,29 +743,25 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: smallcluster.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -793,6 +784,7 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoUdp @@ -815,6 +807,7 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: acmeappco1vmapp110.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp @@ -843,6 +836,7 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: acmeappco1vmapp210.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp diff --git a/setup-env/e2e-tests/data/appdata_show_after_cluster_update.yml b/setup-env/e2e-tests/data/appdata_show_after_cluster_update.yml index b3f3ef226..db458b450 100644 --- a/setup-env/e2e-tests/data/appdata_show_after_cluster_update.yml +++ b/setup-env/e2e-tests/data/appdata_show_after_cluster_update.yml @@ -663,29 +663,25 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -750,29 +746,25 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: smallcluster.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -795,6 +787,7 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoUdp @@ -817,6 +810,7 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: acmeappco1vmapp110.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp @@ -845,6 +839,7 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: acmeappco1vmapp210.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp diff --git a/setup-env/e2e-tests/data/appdata_show_after_refresh.yml b/setup-env/e2e-tests/data/appdata_show_after_refresh.yml index e00582fec..20f0de05f 100644 --- a/setup-env/e2e-tests/data/appdata_show_after_refresh.yml +++ b/setup-env/e2e-tests/data/appdata_show_after_refresh.yml @@ -663,29 +663,25 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -749,29 +745,25 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: smallcluster.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -794,6 +786,7 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoUdp @@ -816,6 +809,7 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: acmeappco1vmapp110.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp @@ -844,6 +838,7 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: acmeappco1vmapp210.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp diff --git a/setup-env/e2e-tests/data/appdata_show_after_refresh_all.yml b/setup-env/e2e-tests/data/appdata_show_after_refresh_all.yml index 46e8612cd..ac5d4961e 100644 --- a/setup-env/e2e-tests/data/appdata_show_after_refresh_all.yml +++ b/setup-env/e2e-tests/data/appdata_show_after_refresh_all.yml @@ -681,29 +681,25 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -749,29 +745,25 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: smallcluster.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -795,6 +787,7 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoUdp @@ -817,6 +810,7 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: acmeappco1vmapp110.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp @@ -845,6 +839,7 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: acmeappco1vmapp210.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp diff --git a/setup-env/e2e-tests/data/appdata_show_prometheus_30s_interval.yml b/setup-env/e2e-tests/data/appdata_show_prometheus_30s_interval.yml index a3f19274f..75818a0d2 100644 --- a/setup-env/e2e-tests/data/appdata_show_prometheus_30s_interval.yml +++ b/setup-env/e2e-tests/data/appdata_show_prometheus_30s_interval.yml @@ -683,29 +683,25 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -751,29 +747,25 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: smallcluster.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- - proto: LProtoTcp internalport: 81 publicport: 81 - fqdnprefix: someapplication110-tcp- tls: true - proto: LProtoTcp internalport: 444 publicport: 444 - fqdnprefix: someapplication110-tcp- tls: true flavor: name: x1.small @@ -796,6 +788,7 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoUdp @@ -818,6 +811,7 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: acmeappco1vmapp110.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp @@ -846,6 +840,7 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 + uri: acmeappco1vmapp210.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp diff --git a/setup-env/e2e-tests/data/appdata_trusted_show.yml b/setup-env/e2e-tests/data/appdata_trusted_show.yml index 9ab42e1a8..e2139af85 100644 --- a/setup-env/e2e-tests/data/appdata_trusted_show.yml +++ b/setup-env/e2e-tests/data/appdata_trusted_show.yml @@ -505,7 +505,6 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 - uri: cluster1.cloudlet1.tmus.localtest.net liveness: LivenessDynamic mappedports: - proto: LProtoTcp @@ -535,7 +534,6 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 - uri: cluster2.cloudlet2.tmus.localtest.net liveness: LivenessDynamic mappedports: - proto: LProtoTcp @@ -565,13 +563,12 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 - uri: cloudlet1.tmus.localtest.net + uri: shared.cloudlet1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: trustedapp10-tcp- flavor: name: x1.small state: Ready @@ -606,7 +603,6 @@ appinstances: - proto: LProtoTcp internalport: 90 publicport: 90 - fqdnprefix: nontrustedapp10-tcp- flavor: name: x1.small state: Ready diff --git a/setup-env/e2e-tests/data/appdata_trustpol_incompat_rules_show.yml b/setup-env/e2e-tests/data/appdata_trustpol_incompat_rules_show.yml index 0d89a7ce6..a1d9c156e 100644 --- a/setup-env/e2e-tests/data/appdata_trustpol_incompat_rules_show.yml +++ b/setup-env/e2e-tests/data/appdata_trustpol_incompat_rules_show.yml @@ -397,7 +397,6 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 - uri: cluster1.cloudlet1.tmus.localtest.net liveness: LivenessDynamic mappedports: - proto: LProtoTcp diff --git a/setup-env/e2e-tests/data/crm_info.yml b/setup-env/e2e-tests/data/crm_info.yml index c4a25c651..ab00b9b20 100644 --- a/setup-env/e2e-tests/data/crm_info.yml +++ b/setup-env/e2e-tests/data/crm_info.yml @@ -233,7 +233,7 @@ cloudletinfos: - clusterkey: name: reservable0 organization: MobiledgeX - compatibilityversion: 1 + compatibilityversion: 2 - key: organization: tmus name: tmus-cloud-2 @@ -288,7 +288,7 @@ cloudletinfos: - clusterkey: name: reservable1 organization: MobiledgeX - compatibilityversion: 1 + compatibilityversion: 2 apps: - key: organization: AcmeAppCo @@ -514,21 +514,18 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 - uri: tmus-cloud-2.tmus.localtest.net + uri: shared.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small state: Ready @@ -554,7 +551,6 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 - uri: reservable0.tmus-cloud-2.tmus.localtest.net liveness: LivenessDynamic mappedports: - proto: LProtoTcp @@ -581,7 +577,6 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 - uri: reservable1.tmus-cloud-2.tmus.localtest.net liveness: LivenessDynamic mappedports: - proto: LProtoTcp @@ -608,17 +603,15 @@ appinstances: cloudletloc: latitude: 35 longitude: -95 - uri: tmus-cloud-2.tmus.localtest.net + uri: shared.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 23 publicport: 23 - fqdnprefix: someapplication210-tcp- - proto: LProtoUdp internalport: 10003 publicport: 10003 - fqdnprefix: someapplication210-udp- flavor: name: x1.small state: Ready @@ -644,21 +637,18 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 - uri: tmus-cloud-1.tmus.localtest.net + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small state: Ready @@ -684,7 +674,6 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 - uri: reservable0.tmus-cloud-1.tmus.localtest.net liveness: LivenessDynamic mappedports: - proto: LProtoTcp diff --git a/setup-env/e2e-tests/data/find-cloudlet-response-app1any.yml b/setup-env/e2e-tests/data/find-cloudlet-response-app1any.yml index 2152d64ef..b508cfd84 100644 --- a/setup-env/e2e-tests/data/find-cloudlet-response-app1any.yml +++ b/setup-env/e2e-tests/data/find-cloudlet-response-app1any.yml @@ -4,15 +4,15 @@ - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- + fqdnprefix: someapplication110-tcp. - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- + fqdnprefix: someapplication110-tcp. - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- + fqdnprefix: someapplication110-udp. cloudletlocation: latitude: 32 longitude: -91 @@ -22,33 +22,27 @@ - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- cloudletlocation: latitude: 35 longitude: -95 - status: FindFound - fqdn: att-cloud-1.att.localtest.net + fqdn: shared.att-cloud-1.att.localtest.net ports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- cloudletlocation: latitude: 37 longitude: -99 diff --git a/setup-env/e2e-tests/data/find-cloudlet-response-azure.yml b/setup-env/e2e-tests/data/find-cloudlet-response-azure.yml index ac1e3a0be..18089e34f 100644 --- a/setup-env/e2e-tests/data/find-cloudlet-response-azure.yml +++ b/setup-env/e2e-tests/data/find-cloudlet-response-azure.yml @@ -4,15 +4,15 @@ ports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- + fqdnprefix: someapplication110-tcp. - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- + fqdnprefix: someapplication110-tcp. - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- + fqdnprefix: someapplication110-udp. cloudletlocation: latitude: 32 longitude: -91 diff --git a/setup-env/e2e-tests/data/find-cloudlet-response-cloudlet1.yml b/setup-env/e2e-tests/data/find-cloudlet-response-cloudlet1.yml index 0a5380b50..29f352d55 100644 --- a/setup-env/e2e-tests/data/find-cloudlet-response-cloudlet1.yml +++ b/setup-env/e2e-tests/data/find-cloudlet-response-cloudlet1.yml @@ -4,15 +4,12 @@ ports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- cloudletlocation: latitude: 31 longitude: -91 diff --git a/setup-env/e2e-tests/data/find-cloudlet-response-cloudlet2.yml b/setup-env/e2e-tests/data/find-cloudlet-response-cloudlet2.yml index 4db806ee6..906ee9a5b 100644 --- a/setup-env/e2e-tests/data/find-cloudlet-response-cloudlet2.yml +++ b/setup-env/e2e-tests/data/find-cloudlet-response-cloudlet2.yml @@ -4,15 +4,12 @@ ports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- cloudletlocation: latitude: 35 longitude: -95 diff --git a/setup-env/e2e-tests/data/get_appinstlist_result_app1.yml b/setup-env/e2e-tests/data/get_appinstlist_result_app1.yml index 06f6465b0..bd923038c 100644 --- a/setup-env/e2e-tests/data/get_appinstlist_result_app1.yml +++ b/setup-env/e2e-tests/data/get_appinstlist_result_app1.yml @@ -9,20 +9,17 @@ cloudlets: appinstances: - appname: someapplication1 appvers: "1.0" - fqdn: tmus-cloud-1.tmus.localtest.net + fqdn: shared.tmus-cloud-1.tmus.localtest.net ports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- orgname: AcmeAppCo - carriername: tmus cloudletname: tmus-cloud-2 @@ -33,20 +30,17 @@ cloudlets: appinstances: - appname: someapplication1 appvers: "1.0" - fqdn: tmus-cloud-2.tmus.localtest.net + fqdn: shared.tmus-cloud-2.tmus.localtest.net ports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- orgname: AcmeAppCo - carriername: tmus cloudletname: tmus-cloud-3 @@ -57,18 +51,15 @@ cloudlets: appinstances: - appname: someapplication1 appvers: "1.0" - fqdn: tmus-cloud-3.tmus.localtest.net + fqdn: shared.tmus-cloud-3.tmus.localtest.net ports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- orgname: AcmeAppCo diff --git a/setup-env/e2e-tests/data/influx_appdata_show.yml b/setup-env/e2e-tests/data/influx_appdata_show.yml index 68ba3821a..a2f9e19fa 100644 --- a/setup-env/e2e-tests/data/influx_appdata_show.yml +++ b/setup-env/e2e-tests/data/influx_appdata_show.yml @@ -309,20 +309,18 @@ appinstances: cloudletloc: latitude: 31 longitude: -91 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: diff --git a/setup-env/e2e-tests/data/show10.yml b/setup-env/e2e-tests/data/show10.yml index 62bb3cf28..73c966058 100644 --- a/setup-env/e2e-tests/data/show10.yml +++ b/setup-env/e2e-tests/data/show10.yml @@ -1193,20 +1193,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 4 + uri: shared.tmus-cloud-4.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: @@ -1228,20 +1226,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 4 + uri: shared.tmus-cloud-4.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 10000 - fqdnprefix: someapplication210-tcp- - proto: LProtoTcp internalport: 443 publicport: 10001 - fqdnprefix: someapplication210-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10000 - fqdnprefix: someapplication210-udp- flavor: name: x1.small runtimeinfo: @@ -1263,20 +1259,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 7 + uri: shared.tmus-cloud-7.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: @@ -1298,20 +1292,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 1 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 10000 - fqdnprefix: someapplication210-tcp- - proto: LProtoTcp internalport: 443 publicport: 10001 - fqdnprefix: someapplication210-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10000 - fqdnprefix: someapplication210-udp- flavor: name: x1.small runtimeinfo: @@ -1333,20 +1325,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 2 + uri: shared.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 10000 - fqdnprefix: someapplication210-tcp- - proto: LProtoTcp internalport: 443 publicport: 10001 - fqdnprefix: someapplication210-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10000 - fqdnprefix: someapplication210-udp- flavor: name: x1.small runtimeinfo: @@ -1368,20 +1358,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 3 + uri: shared.tmus-cloud-3.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 10000 - fqdnprefix: someapplication210-tcp- - proto: LProtoTcp internalport: 443 publicport: 10001 - fqdnprefix: someapplication210-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10000 - fqdnprefix: someapplication210-udp- flavor: name: x1.small runtimeinfo: @@ -1403,20 +1391,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 6 + uri: shared.tmus-cloud-6.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 10000 - fqdnprefix: someapplication210-tcp- - proto: LProtoTcp internalport: 443 publicport: 10001 - fqdnprefix: someapplication210-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10000 - fqdnprefix: someapplication210-udp- flavor: name: x1.small runtimeinfo: @@ -1438,20 +1424,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 8 + uri: shared.tmus-cloud-8.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: @@ -1473,20 +1457,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 3 + uri: shared.tmus-cloud-3.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: @@ -1508,20 +1490,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 5 + uri: shared.tmus-cloud-5.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 10000 - fqdnprefix: someapplication210-tcp- - proto: LProtoTcp internalport: 443 publicport: 10001 - fqdnprefix: someapplication210-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10000 - fqdnprefix: someapplication210-udp- flavor: name: x1.small runtimeinfo: @@ -1543,20 +1523,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 6 + uri: shared.tmus-cloud-6.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: @@ -1578,20 +1556,21 @@ appinstances: cloudletloc: latitude: 1 longitude: 9 + uri: acmeappcosomeapplication210.reservable1.azure-cloud-9.azure.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication210-tcp- + fqdnprefix: someapplication210-tcp. - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication210-tcp- + fqdnprefix: someapplication210-tcp. - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication210-udp- + fqdnprefix: someapplication210-udp. flavor: name: x1.small runtimeinfo: @@ -1613,20 +1592,21 @@ appinstances: cloudletloc: latitude: 1 longitude: 10 + uri: acmeappcosomeapplication110.reservable0.gcp-cloud-10.gcp.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- + fqdnprefix: someapplication110-tcp. - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- + fqdnprefix: someapplication110-tcp. - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- + fqdnprefix: someapplication110-udp. flavor: name: x1.small runtimeinfo: @@ -1648,20 +1628,21 @@ appinstances: cloudletloc: latitude: 1 longitude: 10 + uri: acmeappcosomeapplication210.reservable1.gcp-cloud-10.gcp.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication210-tcp- + fqdnprefix: someapplication210-tcp. - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication210-tcp- + fqdnprefix: someapplication210-tcp. - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication210-udp- + fqdnprefix: someapplication210-udp. flavor: name: x1.small runtimeinfo: @@ -1683,20 +1664,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 1 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: @@ -1718,20 +1697,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 2 + uri: shared.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: @@ -1753,20 +1730,21 @@ appinstances: cloudletloc: latitude: 1 longitude: 9 + uri: acmeappcosomeapplication110.reservable0.azure-cloud-9.azure.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- + fqdnprefix: someapplication110-tcp. - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- + fqdnprefix: someapplication110-tcp. - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- + fqdnprefix: someapplication110-udp. flavor: name: x1.small runtimeinfo: @@ -1788,20 +1766,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 5 + uri: shared.tmus-cloud-5.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: @@ -1823,20 +1799,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 7 + uri: shared.tmus-cloud-7.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 10000 - fqdnprefix: someapplication210-tcp- - proto: LProtoTcp internalport: 443 publicport: 10001 - fqdnprefix: someapplication210-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10000 - fqdnprefix: someapplication210-udp- flavor: name: x1.small runtimeinfo: @@ -1858,20 +1832,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 8 + uri: shared.tmus-cloud-8.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 10000 - fqdnprefix: someapplication210-tcp- - proto: LProtoTcp internalport: 443 publicport: 10001 - fqdnprefix: someapplication210-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10000 - fqdnprefix: someapplication210-udp- flavor: name: x1.small runtimeinfo: diff --git a/setup-env/e2e-tests/data/show2.yml b/setup-env/e2e-tests/data/show2.yml index 41f259508..e18a13b6c 100644 --- a/setup-env/e2e-tests/data/show2.yml +++ b/setup-env/e2e-tests/data/show2.yml @@ -324,20 +324,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 1 + uri: shared.tmus-cloud-1.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: @@ -358,20 +356,18 @@ appinstances: cloudletloc: latitude: 1 longitude: 2 + uri: shared.tmus-cloud-2.tmus.localtest.net liveness: LivenessStatic mappedports: - proto: LProtoTcp internalport: 80 publicport: 80 - fqdnprefix: someapplication110-tcp- - proto: LProtoTcp internalport: 443 publicport: 443 - fqdnprefix: someapplication110-tcp- - proto: LProtoUdp internalport: 10002 publicport: 10002 - fqdnprefix: someapplication110-udp- flavor: name: x1.small runtimeinfo: