mirror of https://github.com/status-im/consul.git
Clean up ent meta id usage in overview summary
This commit is contained in:
parent
e530fbfb33
commit
0d9c99b227
|
@ -2485,13 +2485,10 @@ func TestInternal_CatalogOverview(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
dir1, s1 := testServerWithConfig(t, func(c *Config) {
|
_, s1 := testServerWithConfig(t, func(c *Config) {
|
||||||
c.MetricsReportingInterval = 100 * time.Millisecond
|
c.MetricsReportingInterval = 100 * time.Millisecond
|
||||||
})
|
})
|
||||||
defer os.RemoveAll(dir1)
|
|
||||||
defer s1.Shutdown()
|
|
||||||
codec := rpcClient(t, s1)
|
codec := rpcClient(t, s1)
|
||||||
defer codec.Close()
|
|
||||||
|
|
||||||
testrpc.WaitForLeader(t, s1.RPC, "dc1")
|
testrpc.WaitForLeader(t, s1.RPC, "dc1")
|
||||||
|
|
||||||
|
@ -2540,17 +2537,13 @@ func TestInternal_CatalogOverview_ACLDeny(t *testing.T) {
|
||||||
|
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
dir1, s1 := testServerWithConfig(t, func(c *Config) {
|
_, s1 := testServerWithConfig(t, func(c *Config) {
|
||||||
c.PrimaryDatacenter = "dc1"
|
c.PrimaryDatacenter = "dc1"
|
||||||
c.ACLsEnabled = true
|
c.ACLsEnabled = true
|
||||||
c.ACLInitialManagementToken = TestDefaultInitialManagementToken
|
c.ACLInitialManagementToken = TestDefaultInitialManagementToken
|
||||||
c.ACLResolverSettings.ACLDefaultPolicy = "deny"
|
c.ACLResolverSettings.ACLDefaultPolicy = "deny"
|
||||||
})
|
})
|
||||||
defer os.RemoveAll(dir1)
|
|
||||||
defer s1.Shutdown()
|
|
||||||
|
|
||||||
codec := rpcClient(t, s1)
|
codec := rpcClient(t, s1)
|
||||||
defer codec.Close()
|
|
||||||
|
|
||||||
testrpc.WaitForLeader(t, s1.RPC, "dc1")
|
testrpc.WaitForLeader(t, s1.RPC, "dc1")
|
||||||
|
|
||||||
|
|
|
@ -69,11 +69,15 @@ func getCatalogOverview(catalog *structs.CatalogContents) *structs.CatalogSummar
|
||||||
serviceInstanceChecks := make(map[string][]*structs.HealthCheck)
|
serviceInstanceChecks := make(map[string][]*structs.HealthCheck)
|
||||||
checkSummaries := make(map[string]structs.HealthSummary)
|
checkSummaries := make(map[string]structs.HealthSummary)
|
||||||
|
|
||||||
|
entMetaIDString := func(id string, entMeta structs.EnterpriseMeta) string {
|
||||||
|
return fmt.Sprintf("%s/%s/%s", id, entMeta.PartitionOrEmpty(), entMeta.NamespaceOrEmpty())
|
||||||
|
}
|
||||||
|
|
||||||
// Compute the health check summaries by taking the pass/warn/fail counts
|
// Compute the health check summaries by taking the pass/warn/fail counts
|
||||||
// of each unique part/ns/checkname combo and storing them. Also store the
|
// of each unique part/ns/checkname combo and storing them. Also store the
|
||||||
// per-node and per-service instance checks for their respective summaries below.
|
// per-node and per-service instance checks for their respective summaries below.
|
||||||
for _, check := range catalog.Checks {
|
for _, check := range catalog.Checks {
|
||||||
checkID := fmt.Sprintf("%s/%s", check.EnterpriseMeta.String(), check.Name)
|
checkID := entMetaIDString(check.Name, check.EnterpriseMeta)
|
||||||
summary, ok := checkSummaries[checkID]
|
summary, ok := checkSummaries[checkID]
|
||||||
if !ok {
|
if !ok {
|
||||||
summary = structs.HealthSummary{
|
summary = structs.HealthSummary{
|
||||||
|
@ -86,11 +90,10 @@ func getCatalogOverview(catalog *structs.CatalogContents) *structs.CatalogSummar
|
||||||
checkSummaries[checkID] = summary
|
checkSummaries[checkID] = summary
|
||||||
|
|
||||||
if check.ServiceID != "" {
|
if check.ServiceID != "" {
|
||||||
serviceInstanceID := fmt.Sprintf("%s/%s/%s", check.EnterpriseMeta.String(), check.Node, check.ServiceID)
|
serviceInstanceID := entMetaIDString(fmt.Sprintf("%s/%s", check.Node, check.ServiceID), check.EnterpriseMeta)
|
||||||
serviceInstanceChecks[serviceInstanceID] = append(serviceInstanceChecks[serviceInstanceID], check)
|
serviceInstanceChecks[serviceInstanceID] = append(serviceInstanceChecks[serviceInstanceID], check)
|
||||||
} else {
|
} else {
|
||||||
nodeMeta := check.NodeIdentity().EnterpriseMeta
|
nodeID := structs.NodeNameString(check.Node, &check.EnterpriseMeta)
|
||||||
nodeID := fmt.Sprintf("%s/%s", nodeMeta.String(), check.Node)
|
|
||||||
nodeChecks[nodeID] = append(nodeChecks[nodeID], check)
|
nodeChecks[nodeID] = append(nodeChecks[nodeID], check)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -110,7 +113,7 @@ func getCatalogOverview(catalog *structs.CatalogContents) *structs.CatalogSummar
|
||||||
}
|
}
|
||||||
|
|
||||||
// Compute whether this service instance is healthy based on its associated checks.
|
// Compute whether this service instance is healthy based on its associated checks.
|
||||||
serviceInstanceID := fmt.Sprintf("%s/%s/%s", svc.EnterpriseMeta.String(), svc.Node, svc.ServiceID)
|
serviceInstanceID := entMetaIDString(fmt.Sprintf("%s/%s", svc.Node, svc.ServiceID), svc.EnterpriseMeta)
|
||||||
status := api.HealthPassing
|
status := api.HealthPassing
|
||||||
for _, checks := range serviceInstanceChecks[serviceInstanceID] {
|
for _, checks := range serviceInstanceChecks[serviceInstanceID] {
|
||||||
if checks.Status == api.HealthWarning && status == api.HealthPassing {
|
if checks.Status == api.HealthWarning && status == api.HealthPassing {
|
||||||
|
@ -130,8 +133,7 @@ func getCatalogOverview(catalog *structs.CatalogContents) *structs.CatalogSummar
|
||||||
// each partition.
|
// each partition.
|
||||||
nodeSummaries := make(map[string]structs.HealthSummary)
|
nodeSummaries := make(map[string]structs.HealthSummary)
|
||||||
for _, node := range catalog.Nodes {
|
for _, node := range catalog.Nodes {
|
||||||
nodeMeta := structs.NodeEnterpriseMetaInPartition(node.Partition)
|
summary, ok := nodeSummaries[node.Partition]
|
||||||
summary, ok := nodeSummaries[nodeMeta.String()]
|
|
||||||
if !ok {
|
if !ok {
|
||||||
summary = structs.HealthSummary{
|
summary = structs.HealthSummary{
|
||||||
EnterpriseMeta: *structs.NodeEnterpriseMetaInPartition(node.Partition),
|
EnterpriseMeta: *structs.NodeEnterpriseMetaInPartition(node.Partition),
|
||||||
|
@ -140,7 +142,7 @@ func getCatalogOverview(catalog *structs.CatalogContents) *structs.CatalogSummar
|
||||||
|
|
||||||
// Compute whether this node is healthy based on its associated checks.
|
// Compute whether this node is healthy based on its associated checks.
|
||||||
status := api.HealthPassing
|
status := api.HealthPassing
|
||||||
nodeID := fmt.Sprintf("%s/%s", nodeMeta.String(), node.Node)
|
nodeID := structs.NodeNameString(node.Node, structs.NodeEnterpriseMetaInPartition(node.Partition))
|
||||||
for _, checks := range nodeChecks[nodeID] {
|
for _, checks := range nodeChecks[nodeID] {
|
||||||
if checks.Status == api.HealthWarning && status == api.HealthPassing {
|
if checks.Status == api.HealthWarning && status == api.HealthPassing {
|
||||||
status = api.HealthWarning
|
status = api.HealthWarning
|
||||||
|
@ -151,7 +153,7 @@ func getCatalogOverview(catalog *structs.CatalogContents) *structs.CatalogSummar
|
||||||
}
|
}
|
||||||
|
|
||||||
summary.Add(status)
|
summary.Add(status)
|
||||||
nodeSummaries[nodeMeta.String()] = summary
|
nodeSummaries[node.Partition] = summary
|
||||||
}
|
}
|
||||||
|
|
||||||
// Construct the summary.
|
// Construct the summary.
|
||||||
|
@ -171,7 +173,10 @@ func getCatalogOverview(catalog *structs.CatalogContents) *structs.CatalogSummar
|
||||||
if slice[i].Name < slice[j].Name {
|
if slice[i].Name < slice[j].Name {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return slice[i].EnterpriseMeta.String() < slice[j].EnterpriseMeta.String()
|
if slice[i].NamespaceOrEmpty() < slice[j].NamespaceOrEmpty() {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return slice[i].PartitionOrEmpty() < slice[j].PartitionOrEmpty()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sort.Slice(summary.Nodes, summarySort(summary.Nodes))
|
sort.Slice(summary.Nodes, summarySort(summary.Nodes))
|
||||||
|
|
|
@ -15,10 +15,6 @@ var emptyEnterpriseMeta = EnterpriseMeta{}
|
||||||
// EnterpriseMeta stub
|
// EnterpriseMeta stub
|
||||||
type EnterpriseMeta struct{}
|
type EnterpriseMeta struct{}
|
||||||
|
|
||||||
func (m *EnterpriseMeta) String() string {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *EnterpriseMeta) ToEnterprisePolicyMeta() *acl.EnterprisePolicyMeta {
|
func (m *EnterpriseMeta) ToEnterprisePolicyMeta() *acl.EnterprisePolicyMeta {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue