mirror of
				https://github.com/optim-enterprises-bv/vault.git
				synced 2025-10-31 02:28:09 +00:00 
			
		
		
		
	Deprecate distinct_entities and nont_entity_tokens (#27830)
* OSS Changes * Added changelog * Fix build errors
This commit is contained in:
		
							
								
								
									
										3
									
								
								changelog/27830.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								changelog/27830.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,3 @@ | |||||||
|  | ```release-note:change | ||||||
|  | activity (enterprise): remove deprecated fields distinct_entities and non_entity_tokens | ||||||
|  | ``` | ||||||
| @@ -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 | ||||||
|   | |||||||
| @@ -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) | ||||||
|   | |||||||
| @@ -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 { | ||||||
|   | |||||||
| @@ -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), | ||||||
|   | |||||||
| @@ -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, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 divyaac
					divyaac