Deprecate distinct_entities and nont_entity_tokens (#27830)

* OSS Changes

* Added changelog

* Fix build errors
This commit is contained in:
divyaac
2024-07-23 13:57:38 -07:00
committed by GitHub
parent 74d15e3d50
commit b32231a9eb
6 changed files with 28 additions and 48 deletions

3
changelog/27830.txt Normal file
View File

@@ -0,0 +1,3 @@
```release-note:change
activity (enterprise): remove deprecated fields distinct_entities and non_entity_tokens
```

View File

@@ -132,7 +132,7 @@ func (c *OperatorUsageCommand) Run(args []string) int {
c.outputTimestamps(resp.Data) c.outputTimestamps(resp.Data)
out := []string{ out := []string{
"Namespace path | Distinct entities | Non-Entity tokens | Secret syncs | ACME clients | Active clients", "Namespace path | Entity Clients | Non-Entity clients | Secret syncs | ACME clients | Active clients",
} }
out = append(out, c.namespacesOutput(resp.Data)...) out = append(out, c.namespacesOutput(resp.Data)...)
@@ -233,14 +233,14 @@ func (c *OperatorUsageCommand) parseNamespaceCount(rawVal interface{}) (UsageRes
return ret, errors.New("missing counts") return ret, errors.New("missing counts")
} }
ret.entityCount, ok = jsonNumberOK(counts, "distinct_entities") ret.entityCount, ok = jsonNumberOK(counts, "entity_clients")
if !ok { if !ok {
return ret, errors.New("missing distinct_entities") return ret, errors.New("missing entity_clients")
} }
ret.tokenCount, ok = jsonNumberOK(counts, "non_entity_tokens") ret.tokenCount, ok = jsonNumberOK(counts, "non_entity_clients")
if !ok { if !ok {
return ret, errors.New("missing non_entity_tokens") return ret, errors.New("missing non_entity_clients")
} }
// don't error if the secret syncs key is missing // don't error if the secret syncs key is missing
@@ -311,15 +311,15 @@ func (c *OperatorUsageCommand) totalOutput(data map[string]interface{}) []string
return out return out
} }
entityCount, ok := jsonNumberOK(total, "distinct_entities") entityCount, ok := jsonNumberOK(total, "entity_clients")
if !ok { if !ok {
c.UI.Error("missing distinct_entities in total") c.UI.Error("missing entity_clients in total")
return out return out
} }
tokenCount, ok := jsonNumberOK(total, "non_entity_tokens") tokenCount, ok := jsonNumberOK(total, "non_entity_clients")
if !ok { if !ok {
c.UI.Error("missing non_entity_tokens in total") c.UI.Error("missing non_entity_clients in total")
return out return out
} }
// don't error if secret syncs key is missing // don't error if secret syncs key is missing

View File

@@ -1701,9 +1701,7 @@ func (r *ResponseCounts) Add(newRecord *ResponseCounts) {
} }
r.EntityClients += newRecord.EntityClients r.EntityClients += newRecord.EntityClients
r.Clients += newRecord.Clients r.Clients += newRecord.Clients
r.DistinctEntities += newRecord.DistinctEntities
r.NonEntityClients += newRecord.NonEntityClients r.NonEntityClients += newRecord.NonEntityClients
r.NonEntityTokens += newRecord.NonEntityTokens
r.ACMEClients += newRecord.ACMEClients r.ACMEClients += newRecord.ACMEClients
r.SecretSyncs += newRecord.SecretSyncs r.SecretSyncs += newRecord.SecretSyncs
} }
@@ -2747,7 +2745,7 @@ func (a *ActivityLog) calculateByNamespaceResponseForQuery(ctx context.Context,
for _, mountRecord := range nsRecord.Mounts { for _, mountRecord := range nsRecord.Mounts {
mountResponse = append(mountResponse, &ResponseMount{ mountResponse = append(mountResponse, &ResponseMount{
MountPath: mountRecord.MountPath, MountPath: mountRecord.MountPath,
Counts: a.countsRecordToCountsResponse(mountRecord.Counts, true), Counts: a.countsRecordToCountsResponse(mountRecord.Counts),
}) })
} }
// Sort the mounts in descending order of usage // Sort the mounts in descending order of usage
@@ -2832,7 +2830,7 @@ func (a *ActivityLog) prepareNamespaceResponse(ctx context.Context, nsRecords []
mountResponse = append(mountResponse, &ResponseMount{ mountResponse = append(mountResponse, &ResponseMount{
MountPath: mountRecord.MountPath, MountPath: mountRecord.MountPath,
Counts: a.countsRecordToCountsResponse(mountRecord.Counts, false), Counts: a.countsRecordToCountsResponse(mountRecord.Counts),
}) })
} }
@@ -2845,7 +2843,7 @@ func (a *ActivityLog) prepareNamespaceResponse(ctx context.Context, nsRecords []
nsResponse := &ResponseNamespace{ nsResponse := &ResponseNamespace{
NamespaceID: nsRecord.NamespaceID, NamespaceID: nsRecord.NamespaceID,
NamespacePath: displayPath, NamespacePath: displayPath,
Counts: *a.countsRecordToCountsResponse(nsRecord.Counts, false), Counts: *a.countsRecordToCountsResponse(nsRecord.Counts),
Mounts: mountResponse, Mounts: mountResponse,
} }
nsResponses = append(nsResponses, nsResponse) nsResponses = append(nsResponses, nsResponse)

View File

@@ -3990,8 +3990,8 @@ func TestActivityLog_partialMonthClientCount(t *testing.T) {
} }
for _, clientCount := range clientCountResponse { for _, clientCount := range clientCountResponse {
if int(clientCounts[clientCount.NamespaceID]) != clientCount.Counts.DistinctEntities { if int(clientCounts[clientCount.NamespaceID]) != clientCount.Counts.EntityClients {
t.Errorf("bad entity count for namespace %s . expected %d, got %d", clientCount.NamespaceID, int(clientCounts[clientCount.NamespaceID]), clientCount.Counts.DistinctEntities) t.Errorf("bad entity count for namespace %s . expected %d, got %d", clientCount.NamespaceID, int(clientCounts[clientCount.NamespaceID]), clientCount.Counts.EntityClients)
} }
totalCount := int(clientCounts[clientCount.NamespaceID]) totalCount := int(clientCounts[clientCount.NamespaceID])
if totalCount != clientCount.Counts.Clients { if totalCount != clientCount.Counts.Clients {
@@ -3999,12 +3999,12 @@ func TestActivityLog_partialMonthClientCount(t *testing.T) {
} }
} }
distinctEntities, ok := results["distinct_entities"] entityClients, ok := results["entity_clients"]
if !ok { if !ok {
t.Fatalf("malformed results. got %v", results) t.Fatalf("malformed results. got %v", results)
} }
if distinctEntities != len(clients) { if entityClients != len(clients) {
t.Errorf("bad entity count. expected %d, got %d", len(clients), distinctEntities) t.Errorf("bad entity count. expected %d, got %d", len(clients), entityClients)
} }
clientCount, ok := results["clients"] clientCount, ok := results["clients"]
@@ -4067,8 +4067,8 @@ func TestActivityLog_partialMonthClientCountUsingHandleQuery(t *testing.T) {
} }
for _, clientCount := range clientCountResponse { for _, clientCount := range clientCountResponse {
if int(clientCounts[clientCount.NamespaceID]) != clientCount.Counts.DistinctEntities { if int(clientCounts[clientCount.NamespaceID]) != clientCount.Counts.EntityClients {
t.Errorf("bad entity count for namespace %s . expected %d, got %d", clientCount.NamespaceID, int(clientCounts[clientCount.NamespaceID]), clientCount.Counts.DistinctEntities) t.Errorf("bad entity count for namespace %s . expected %d, got %d", clientCount.NamespaceID, int(clientCounts[clientCount.NamespaceID]), clientCount.Counts.EntityClients)
} }
totalCount := int(clientCounts[clientCount.NamespaceID]) totalCount := int(clientCounts[clientCount.NamespaceID])
if totalCount != clientCount.Counts.Clients { if totalCount != clientCount.Counts.Clients {
@@ -4082,9 +4082,9 @@ func TestActivityLog_partialMonthClientCountUsingHandleQuery(t *testing.T) {
} }
totalCounts := ResponseCounts{} totalCounts := ResponseCounts{}
err = mapstructure.Decode(totals, &totalCounts) err = mapstructure.Decode(totals, &totalCounts)
distinctEntities := totalCounts.DistinctEntities entityClients := totalCounts.EntityClients
if distinctEntities != len(clients) { if entityClients != len(clients) {
t.Errorf("bad entity count. expected %d, got %d", len(clients), distinctEntities) t.Errorf("bad entity count. expected %d, got %d", len(clients), entityClients)
} }
clientCount := totalCounts.Clients clientCount := totalCounts.Clients
@@ -4112,30 +4112,20 @@ func TestActivityLog_partialMonthClientCountUsingHandleQuery(t *testing.T) {
if monthsResponse[0].Counts.NonEntityClients != totalCounts.NonEntityClients { if monthsResponse[0].Counts.NonEntityClients != totalCounts.NonEntityClients {
t.Fatalf("wrong non-entity client count. got %v, expected %v", monthsResponse[0].Counts.NonEntityClients, totalCounts.NonEntityClients) t.Fatalf("wrong non-entity client count. got %v, expected %v", monthsResponse[0].Counts.NonEntityClients, totalCounts.NonEntityClients)
} }
if monthsResponse[0].Counts.NonEntityTokens != totalCounts.NonEntityTokens {
t.Fatalf("wrong non-entity client count. got %v, expected %v", monthsResponse[0].Counts.NonEntityTokens, totalCounts.NonEntityTokens)
}
if monthsResponse[0].Counts.Clients != monthsResponse[0].NewClients.Counts.Clients { if monthsResponse[0].Counts.Clients != monthsResponse[0].NewClients.Counts.Clients {
t.Fatalf("wrong client count. got %v, expected %v", monthsResponse[0].Counts.Clients, monthsResponse[0].NewClients.Counts.Clients) t.Fatalf("wrong client count. got %v, expected %v", monthsResponse[0].Counts.Clients, monthsResponse[0].NewClients.Counts.Clients)
} }
if monthsResponse[0].Counts.DistinctEntities != monthsResponse[0].NewClients.Counts.DistinctEntities {
t.Fatalf("wrong distinct entities count. got %v, expected %v", monthsResponse[0].Counts.DistinctEntities, monthsResponse[0].NewClients.Counts.DistinctEntities)
}
if monthsResponse[0].Counts.EntityClients != monthsResponse[0].NewClients.Counts.EntityClients { if monthsResponse[0].Counts.EntityClients != monthsResponse[0].NewClients.Counts.EntityClients {
t.Fatalf("wrong entity client count. got %v, expected %v", monthsResponse[0].Counts.EntityClients, monthsResponse[0].NewClients.Counts.EntityClients) t.Fatalf("wrong entity client count. got %v, expected %v", monthsResponse[0].Counts.EntityClients, monthsResponse[0].NewClients.Counts.EntityClients)
} }
if monthsResponse[0].Counts.NonEntityClients != monthsResponse[0].NewClients.Counts.NonEntityClients { if monthsResponse[0].Counts.NonEntityClients != monthsResponse[0].NewClients.Counts.NonEntityClients {
t.Fatalf("wrong non-entity client count. got %v, expected %v", monthsResponse[0].Counts.NonEntityClients, monthsResponse[0].NewClients.Counts.NonEntityClients) t.Fatalf("wrong non-entity client count. got %v, expected %v", monthsResponse[0].Counts.NonEntityClients, monthsResponse[0].NewClients.Counts.NonEntityClients)
} }
if monthsResponse[0].Counts.NonEntityTokens != monthsResponse[0].NewClients.Counts.NonEntityTokens {
t.Fatalf("wrong non-entity token count. got %v, expected %v", monthsResponse[0].Counts.NonEntityTokens, monthsResponse[0].NewClients.Counts.NonEntityTokens)
}
namespaceResponseMonth := monthsResponse[0].Namespaces namespaceResponseMonth := monthsResponse[0].Namespaces
for _, clientCount := range namespaceResponseMonth { for _, clientCount := range namespaceResponseMonth {
if int(clientCounts[clientCount.NamespaceID]) != clientCount.Counts.EntityClients { if int(clientCounts[clientCount.NamespaceID]) != clientCount.Counts.EntityClients {
t.Errorf("bad entity count for namespace %s . expected %d, got %d", clientCount.NamespaceID, int(clientCounts[clientCount.NamespaceID]), clientCount.Counts.DistinctEntities) t.Errorf("bad entity count for namespace %s . expected %d, got %d", clientCount.NamespaceID, int(clientCounts[clientCount.NamespaceID]), clientCount.Counts.EntityClients)
} }
totalCount := int(clientCounts[clientCount.NamespaceID]) totalCount := int(clientCounts[clientCount.NamespaceID])
if totalCount != clientCount.Counts.Clients { if totalCount != clientCount.Counts.Clients {

View File

@@ -458,9 +458,8 @@ func (e *segmentReader) ReadEntity(ctx context.Context) (*activity.EntityActivit
// namespaceRecordToCountsResponse converts the record to the ResponseCounts // namespaceRecordToCountsResponse converts the record to the ResponseCounts
// type. The function sums entity, non-entity, and secret sync counts to get the // type. The function sums entity, non-entity, and secret sync counts to get the
// total client count. If includeDeprecated is true, the deprecated fields // total client count.
// NonEntityTokens and DistinctEntities are populated func (a *ActivityLog) countsRecordToCountsResponse(record *activity.CountsRecord) *ResponseCounts {
func (a *ActivityLog) countsRecordToCountsResponse(record *activity.CountsRecord, includeDeprecated bool) *ResponseCounts {
response := &ResponseCounts{ response := &ResponseCounts{
EntityClients: record.EntityClients, EntityClients: record.EntityClients,
NonEntityClients: record.NonEntityClients, NonEntityClients: record.NonEntityClients,
@@ -468,10 +467,6 @@ func (a *ActivityLog) countsRecordToCountsResponse(record *activity.CountsRecord
SecretSyncs: record.SecretSyncs, SecretSyncs: record.SecretSyncs,
ACMEClients: record.ACMEClients, ACMEClients: record.ACMEClients,
} }
if includeDeprecated {
response.NonEntityTokens = response.NonEntityClients
response.DistinctEntities = response.EntityClients
}
return response return response
} }
@@ -480,9 +475,7 @@ func (a *ActivityLog) countsRecordToCountsResponse(record *activity.CountsRecord
// counts to get the total client count. // counts to get the total client count.
func (a *ActivityLog) namespaceRecordToCountsResponse(record *activity.NamespaceRecord) *ResponseCounts { func (a *ActivityLog) namespaceRecordToCountsResponse(record *activity.NamespaceRecord) *ResponseCounts {
return &ResponseCounts{ return &ResponseCounts{
DistinctEntities: int(record.Entities),
EntityClients: int(record.Entities), EntityClients: int(record.Entities),
NonEntityTokens: int(record.NonEntityTokens),
NonEntityClients: int(record.NonEntityTokens), NonEntityClients: int(record.NonEntityTokens),
Clients: int(record.Entities + record.NonEntityTokens + record.SecretSyncs + record.ACMEClients), Clients: int(record.Entities + record.NonEntityTokens + record.SecretSyncs + record.ACMEClients),
SecretSyncs: int(record.SecretSyncs), SecretSyncs: int(record.SecretSyncs),

View File

@@ -89,7 +89,6 @@ func TestACMERegeneration_RegenerateWithCurrentMonth(t *testing.T) {
}) })
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, vault.ResponseCounts{ require.Equal(t, vault.ResponseCounts{
NonEntityTokens: 26,
NonEntityClients: 26, NonEntityClients: 26,
Clients: 43, Clients: 43,
ACMEClients: 17, ACMEClients: 17,
@@ -102,7 +101,6 @@ func TestACMERegeneration_RegenerateWithCurrentMonth(t *testing.T) {
}) })
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, vault.ResponseCounts{ require.Equal(t, vault.ResponseCounts{
NonEntityTokens: 36,
NonEntityClients: 36, NonEntityClients: 36,
Clients: 73, Clients: 73,
ACMEClients: 37, ACMEClients: 37,
@@ -146,7 +144,6 @@ func TestACMERegeneration_RegenerateMuchOlder(t *testing.T) {
}) })
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, vault.ResponseCounts{ require.Equal(t, vault.ResponseCounts{
NonEntityTokens: 26,
NonEntityClients: 26, NonEntityClients: 26,
Clients: 43, Clients: 43,
ACMEClients: 17, ACMEClients: 17,
@@ -191,7 +188,6 @@ func TestACMERegeneration_RegeneratePreviousMonths(t *testing.T) {
}) })
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, vault.ResponseCounts{ require.Equal(t, vault.ResponseCounts{
NonEntityTokens: 26,
NonEntityClients: 26, NonEntityClients: 26,
Clients: 43, Clients: 43,
ACMEClients: 17, ACMEClients: 17,