mirror of
https://github.com/temporalio/temporal.git
synced 2026-08-30 18:41:49 -07:00
Add compute config to WorkerDeploymentVersionSummary (#9838)
## What changed? - Add compute config summary for latest and all other version so it is exposed in `ListWorkerDeployments` and `DescribeWorkerDeployment` APIs. ## Why? Mainly for UI to show compute provider types. ## How did you test it? - [x] built - [ ] run locally and tested manually - [x] covered by existing tests - [ ] added new unit test(s) - [ ] added new functional test(s) ## Potential risks None
This commit is contained in:
@@ -11,8 +11,8 @@ import (
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
|
||||
v12 "go.temporal.io/api/common/v1"
|
||||
v13 "go.temporal.io/api/compute/v1"
|
||||
v13 "go.temporal.io/api/common/v1"
|
||||
v12 "go.temporal.io/api/compute/v1"
|
||||
v11 "go.temporal.io/api/deployment/v1"
|
||||
v1 "go.temporal.io/api/enums/v1"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
@@ -331,8 +331,10 @@ type VersionLocalState struct {
|
||||
// Covers changes through: CreateWorkerDeploymentVersion, UpdateWorkerDeploymentVersionComputeConfig,
|
||||
// UpdateWorkerDeploymentVersionMetadata.
|
||||
LastModifierIdentity string `protobuf:"bytes,17,opt,name=last_modifier_identity,json=lastModifierIdentity,proto3" json:"last_modifier_identity,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
// Cached compute config summary, kept in sync with the WCI on each compute config update.
|
||||
ComputeConfig *v12.ComputeConfigSummary `protobuf:"bytes,18,opt,name=compute_config,json=computeConfig,proto3" json:"compute_config,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *VersionLocalState) Reset() {
|
||||
@@ -485,6 +487,13 @@ func (x *VersionLocalState) GetLastModifierIdentity() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *VersionLocalState) GetComputeConfig() *v12.ComputeConfigSummary {
|
||||
if x != nil {
|
||||
return x.ComputeConfig
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Data specific to a task queue, from the perspective of a worker deployment version.
|
||||
type TaskQueueVersionData struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
@@ -846,8 +855,11 @@ type WorkerDeploymentVersionSummary struct {
|
||||
// Request ID used to create this version. Used for idempotency.
|
||||
// Not synced from the version workflow; only set by the deployment workflow.
|
||||
CreateRequestId string `protobuf:"bytes,12,opt,name=create_request_id,json=createRequestId,proto3" json:"create_request_id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
// Compute config summary for this version. Synced from the version workflow on each compute config update.
|
||||
// Also set by the deployment workflow at version creation time if a compute config was provided.
|
||||
ComputeConfig *v12.ComputeConfigSummary `protobuf:"bytes,13,opt,name=compute_config,json=computeConfig,proto3" json:"compute_config,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *WorkerDeploymentVersionSummary) Reset() {
|
||||
@@ -965,6 +977,13 @@ func (x *WorkerDeploymentVersionSummary) GetCreateRequestId() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *WorkerDeploymentVersionSummary) GetComputeConfig() *v12.ComputeConfigSummary {
|
||||
if x != nil {
|
||||
return x.ComputeConfig
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// used as Worker Deployment Version workflow update input:
|
||||
type RegisterWorkerInVersionArgs struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
@@ -1764,11 +1783,12 @@ func (x *StartWorkerDeploymentRequest) GetRequestId() string {
|
||||
|
||||
// used as Worker Deployment workflow activity input:
|
||||
type StartWorkerDeploymentVersionRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
DeploymentName string `protobuf:"bytes,1,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"`
|
||||
BuildId string `protobuf:"bytes,2,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"`
|
||||
RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
||||
Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"`
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
DeploymentName string `protobuf:"bytes,1,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"`
|
||||
BuildId string `protobuf:"bytes,2,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"`
|
||||
RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
||||
Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"`
|
||||
ComputeConfig *v12.ComputeConfigSummary `protobuf:"bytes,5,opt,name=compute_config,json=computeConfig,proto3" json:"compute_config,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@@ -1831,6 +1851,13 @@ func (x *StartWorkerDeploymentVersionRequest) GetIdentity() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *StartWorkerDeploymentVersionRequest) GetComputeConfig() *v12.ComputeConfigSummary {
|
||||
if x != nil {
|
||||
return x.ComputeConfig
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// used as Worker Deployment Version workflow activity input:
|
||||
type SyncDeploymentVersionUserDataRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
@@ -2110,7 +2137,7 @@ func (x *SyncUnversionedRampActivityResponse) GetTaskQueueMaxVersions() map[stri
|
||||
// used as Worker Deployment Version workflow update input:
|
||||
type UpdateVersionMetadataArgs struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
UpsertEntries map[string]*v12.Payload `protobuf:"bytes,1,rep,name=upsert_entries,json=upsertEntries,proto3" json:"upsert_entries,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
UpsertEntries map[string]*v13.Payload `protobuf:"bytes,1,rep,name=upsert_entries,json=upsertEntries,proto3" json:"upsert_entries,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
RemoveEntries []string `protobuf:"bytes,2,rep,name=remove_entries,json=removeEntries,proto3" json:"remove_entries,omitempty"`
|
||||
Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
@@ -2147,7 +2174,7 @@ func (*UpdateVersionMetadataArgs) Descriptor() ([]byte, []int) {
|
||||
return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{30}
|
||||
}
|
||||
|
||||
func (x *UpdateVersionMetadataArgs) GetUpsertEntries() map[string]*v12.Payload {
|
||||
func (x *UpdateVersionMetadataArgs) GetUpsertEntries() map[string]*v13.Payload {
|
||||
if x != nil {
|
||||
return x.UpsertEntries
|
||||
}
|
||||
@@ -2453,7 +2480,7 @@ type CreateWorkerDeploymentVersionArgs struct {
|
||||
RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
||||
// Version string (<deployment_name>.<build_id>)
|
||||
Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
|
||||
ComputeConfig *v13.ComputeConfig `protobuf:"bytes,4,opt,name=compute_config,json=computeConfig,proto3" json:"compute_config,omitempty"`
|
||||
ComputeConfig *v12.ComputeConfig `protobuf:"bytes,4,opt,name=compute_config,json=computeConfig,proto3" json:"compute_config,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@@ -2509,7 +2536,7 @@ func (x *CreateWorkerDeploymentVersionArgs) GetVersion() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateWorkerDeploymentVersionArgs) GetComputeConfig() *v13.ComputeConfig {
|
||||
func (x *CreateWorkerDeploymentVersionArgs) GetComputeConfig() *v12.ComputeConfig {
|
||||
if x != nil {
|
||||
return x.ComputeConfig
|
||||
}
|
||||
@@ -3477,7 +3504,7 @@ func (x *WorkerDeploymentSummary) GetRampingVersionSummary() *v11.WorkerDeployme
|
||||
// the Worker Controller Instance client.
|
||||
type ValidateWorkerControllerInstanceSpecInput struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
ScalingGroups map[string]*v13.ComputeConfigScalingGroup `protobuf:"bytes,1,rep,name=scaling_groups,json=scalingGroups,proto3" json:"scaling_groups,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
ScalingGroups map[string]*v12.ComputeConfigScalingGroup `protobuf:"bytes,1,rep,name=scaling_groups,json=scalingGroups,proto3" json:"scaling_groups,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@@ -3512,7 +3539,7 @@ func (*ValidateWorkerControllerInstanceSpecInput) Descriptor() ([]byte, []int) {
|
||||
return file_temporal_server_api_deployment_v1_message_proto_rawDescGZIP(), []int{52}
|
||||
}
|
||||
|
||||
func (x *ValidateWorkerControllerInstanceSpecInput) GetScalingGroups() map[string]*v13.ComputeConfigScalingGroup {
|
||||
func (x *ValidateWorkerControllerInstanceSpecInput) GetScalingGroups() map[string]*v12.ComputeConfigScalingGroup {
|
||||
if x != nil {
|
||||
return x.ScalingGroups
|
||||
}
|
||||
@@ -3525,7 +3552,7 @@ type UpdateWorkerControllerInstanceInput struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Version *v11.WorkerDeploymentVersion `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
|
||||
Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"`
|
||||
UpsertScalingGroups map[string]*v13.ComputeConfigScalingGroupUpdate `protobuf:"bytes,3,rep,name=upsert_scaling_groups,json=upsertScalingGroups,proto3" json:"upsert_scaling_groups,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
UpsertScalingGroups map[string]*v12.ComputeConfigScalingGroupUpdate `protobuf:"bytes,3,rep,name=upsert_scaling_groups,json=upsertScalingGroups,proto3" json:"upsert_scaling_groups,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
RemoveScalingGroups []string `protobuf:"bytes,4,rep,name=remove_scaling_groups,json=removeScalingGroups,proto3" json:"remove_scaling_groups,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -3575,7 +3602,7 @@ func (x *UpdateWorkerControllerInstanceInput) GetIdentity() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateWorkerControllerInstanceInput) GetUpsertScalingGroups() map[string]*v13.ComputeConfigScalingGroupUpdate {
|
||||
func (x *UpdateWorkerControllerInstanceInput) GetUpsertScalingGroups() map[string]*v12.ComputeConfigScalingGroupUpdate {
|
||||
if x != nil {
|
||||
return x.UpsertScalingGroups
|
||||
}
|
||||
@@ -3649,7 +3676,7 @@ type UpdateComputeConfigArgs struct {
|
||||
Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"`
|
||||
RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
|
||||
// Scaling groups to add or update.
|
||||
UpsertScalingGroups map[string]*v13.ComputeConfigScalingGroupUpdate `protobuf:"bytes,3,rep,name=upsert_scaling_groups,json=upsertScalingGroups,proto3" json:"upsert_scaling_groups,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
UpsertScalingGroups map[string]*v12.ComputeConfigScalingGroupUpdate `protobuf:"bytes,3,rep,name=upsert_scaling_groups,json=upsertScalingGroups,proto3" json:"upsert_scaling_groups,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
|
||||
// Names of scaling groups to remove. Names that don't match an existing group are ignored.
|
||||
RemoveScalingGroups []string `protobuf:"bytes,4,rep,name=remove_scaling_groups,json=removeScalingGroups,proto3" json:"remove_scaling_groups,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
@@ -3700,7 +3727,7 @@ func (x *UpdateComputeConfigArgs) GetRequestId() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateComputeConfigArgs) GetUpsertScalingGroups() map[string]*v13.ComputeConfigScalingGroupUpdate {
|
||||
func (x *UpdateComputeConfigArgs) GetUpsertScalingGroups() map[string]*v12.ComputeConfigScalingGroupUpdate {
|
||||
if x != nil {
|
||||
return x.UpsertScalingGroups
|
||||
}
|
||||
@@ -4014,7 +4041,7 @@ const file_temporal_server_api_deployment_v1_message_proto_rawDesc = "" +
|
||||
"\vupdate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
|
||||
"updateTime\x12\x18\n" +
|
||||
"\adeleted\x18\x03 \x01(\bR\adeleted\x12L\n" +
|
||||
"\x06status\x18\x06 \x01(\x0e24.temporal.api.enums.v1.WorkerDeploymentVersionStatusR\x06status\"\xea\f\n" +
|
||||
"\x06status\x18\x06 \x01(\x0e24.temporal.api.enums.v1.WorkerDeploymentVersionStatusR\x06status\"\xc0\r\n" +
|
||||
"\x11VersionLocalState\x12T\n" +
|
||||
"\aversion\x18\x01 \x01(\v2:.temporal.server.api.deployment.v1.WorkerDeploymentVersionR\aversion\x12;\n" +
|
||||
"\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
|
||||
@@ -4034,7 +4061,8 @@ const file_temporal_server_api_deployment_v1_message_proto_rawDesc = "" +
|
||||
"\x0fsync_batch_size\x18\v \x01(\x05R\rsyncBatchSize\x12L\n" +
|
||||
"\x06status\x18\x0e \x01(\x0e24.temporal.api.enums.v1.WorkerDeploymentVersionStatusR\x06status\x12'\n" +
|
||||
"\x0frevision_number\x18\x0f \x01(\x03R\x0erevisionNumber\x124\n" +
|
||||
"\x16last_modifier_identity\x18\x11 \x01(\tR\x14lastModifierIdentity\x1a\x8e\x01\n" +
|
||||
"\x16last_modifier_identity\x18\x11 \x01(\tR\x14lastModifierIdentity\x12T\n" +
|
||||
"\x0ecompute_config\x18\x12 \x01(\v2-.temporal.api.compute.v1.ComputeConfigSummaryR\rcomputeConfig\x1a\x8e\x01\n" +
|
||||
"\x16TaskQueueFamiliesEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12^\n" +
|
||||
"\x05value\x18\x02 \x01(\v2H.temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyDataR\x05value:\x028\x01\x1a\x88\x02\n" +
|
||||
@@ -4072,7 +4100,7 @@ const file_temporal_server_api_deployment_v1_message_proto_rawDesc = "" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12M\n" +
|
||||
"\x05value\x18\x02 \x01(\v27.temporal.server.api.deployment.v1.PropagatingRevisionsR\x05value:\x028\x01\"A\n" +
|
||||
"\x14PropagatingRevisions\x12)\n" +
|
||||
"\x10revision_numbers\x18\x01 \x03(\x03R\x0frevisionNumbers\"\xec\x06\n" +
|
||||
"\x10revision_numbers\x18\x01 \x03(\x03R\x0frevisionNumbers\"\xc2\a\n" +
|
||||
"\x1eWorkerDeploymentVersionSummary\x12\x18\n" +
|
||||
"\aversion\x18\x01 \x01(\tR\aversion\x12;\n" +
|
||||
"\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
|
||||
@@ -4087,7 +4115,8 @@ const file_temporal_server_api_deployment_v1_message_proto_rawDesc = "" +
|
||||
"\x16last_deactivation_time\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x14lastDeactivationTime\x12L\n" +
|
||||
"\x06status\x18\n" +
|
||||
" \x01(\x0e24.temporal.api.enums.v1.WorkerDeploymentVersionStatusR\x06status\x12*\n" +
|
||||
"\x11create_request_id\x18\f \x01(\tR\x0fcreateRequestId\"\xa7\x02\n" +
|
||||
"\x11create_request_id\x18\f \x01(\tR\x0fcreateRequestId\x12T\n" +
|
||||
"\x0ecompute_config\x18\r \x01(\v2-.temporal.api.compute.v1.ComputeConfigSummaryR\rcomputeConfig\"\xa7\x02\n" +
|
||||
"\x1bRegisterWorkerInVersionArgs\x12&\n" +
|
||||
"\x0ftask_queue_name\x18\x01 \x01(\tR\rtaskQueueName\x12L\n" +
|
||||
"\x0ftask_queue_type\x18\x02 \x01(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\rtaskQueueType\x12&\n" +
|
||||
@@ -4135,13 +4164,14 @@ const file_temporal_server_api_deployment_v1_message_proto_rawDesc = "" +
|
||||
"\x1cStartWorkerDeploymentRequest\x12'\n" +
|
||||
"\x0fdeployment_name\x18\x01 \x01(\tR\x0edeploymentName\x12\x1d\n" +
|
||||
"\n" +
|
||||
"request_id\x18\x02 \x01(\tR\trequestId\"\xa4\x01\n" +
|
||||
"request_id\x18\x02 \x01(\tR\trequestId\"\xfa\x01\n" +
|
||||
"#StartWorkerDeploymentVersionRequest\x12'\n" +
|
||||
"\x0fdeployment_name\x18\x01 \x01(\tR\x0edeploymentName\x12\x19\n" +
|
||||
"\bbuild_id\x18\x02 \x01(\tR\abuildId\x12\x1d\n" +
|
||||
"\n" +
|
||||
"request_id\x18\x03 \x01(\tR\trequestId\x12\x1a\n" +
|
||||
"\bidentity\x18\x04 \x01(\tR\bidentity\"\xb4\x05\n" +
|
||||
"\bidentity\x18\x04 \x01(\tR\bidentity\x12T\n" +
|
||||
"\x0ecompute_config\x18\x05 \x01(\v2-.temporal.api.compute.v1.ComputeConfigSummaryR\rcomputeConfig\"\xb4\x05\n" +
|
||||
"$SyncDeploymentVersionUserDataRequest\x12'\n" +
|
||||
"\x0fdeployment_name\x18\x04 \x01(\tR\x0edeploymentName\x12T\n" +
|
||||
"\aversion\x18\x01 \x01(\v2:.temporal.server.api.deployment.v1.WorkerDeploymentVersionR\aversion\x12h\n" +
|
||||
@@ -4401,120 +4431,124 @@ var file_temporal_server_api_deployment_v1_message_proto_goTypes = []any{
|
||||
(v1.WorkerDeploymentVersionStatus)(0), // 75: temporal.api.enums.v1.WorkerDeploymentVersionStatus
|
||||
(*v11.VersionDrainageInfo)(nil), // 76: temporal.api.deployment.v1.VersionDrainageInfo
|
||||
(*v11.VersionMetadata)(nil), // 77: temporal.api.deployment.v1.VersionMetadata
|
||||
(*v11.RoutingConfig)(nil), // 78: temporal.api.deployment.v1.RoutingConfig
|
||||
(v1.VersionDrainageStatus)(0), // 79: temporal.api.enums.v1.VersionDrainageStatus
|
||||
(v1.TaskQueueType)(0), // 80: temporal.api.enums.v1.TaskQueueType
|
||||
(*v11.WorkerDeploymentVersionInfo_VersionTaskQueueInfo)(nil), // 81: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo
|
||||
(*v13.ComputeConfig)(nil), // 82: temporal.api.compute.v1.ComputeConfig
|
||||
(*v11.WorkerDeploymentInfo_WorkerDeploymentVersionSummary)(nil), // 83: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
(*v11.WorkerDeploymentVersion)(nil), // 84: temporal.api.deployment.v1.WorkerDeploymentVersion
|
||||
(*v12.Payload)(nil), // 85: temporal.api.common.v1.Payload
|
||||
(*v13.ComputeConfigScalingGroup)(nil), // 86: temporal.api.compute.v1.ComputeConfigScalingGroup
|
||||
(*v13.ComputeConfigScalingGroupUpdate)(nil), // 87: temporal.api.compute.v1.ComputeConfigScalingGroupUpdate
|
||||
(*v12.ComputeConfigSummary)(nil), // 78: temporal.api.compute.v1.ComputeConfigSummary
|
||||
(*v11.RoutingConfig)(nil), // 79: temporal.api.deployment.v1.RoutingConfig
|
||||
(v1.VersionDrainageStatus)(0), // 80: temporal.api.enums.v1.VersionDrainageStatus
|
||||
(v1.TaskQueueType)(0), // 81: temporal.api.enums.v1.TaskQueueType
|
||||
(*v11.WorkerDeploymentVersionInfo_VersionTaskQueueInfo)(nil), // 82: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo
|
||||
(*v12.ComputeConfig)(nil), // 83: temporal.api.compute.v1.ComputeConfig
|
||||
(*v11.WorkerDeploymentInfo_WorkerDeploymentVersionSummary)(nil), // 84: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
(*v11.WorkerDeploymentVersion)(nil), // 85: temporal.api.deployment.v1.WorkerDeploymentVersion
|
||||
(*v13.Payload)(nil), // 86: temporal.api.common.v1.Payload
|
||||
(*v12.ComputeConfigScalingGroup)(nil), // 87: temporal.api.compute.v1.ComputeConfigScalingGroup
|
||||
(*v12.ComputeConfigScalingGroupUpdate)(nil), // 88: temporal.api.compute.v1.ComputeConfigScalingGroupUpdate
|
||||
}
|
||||
var file_temporal_server_api_deployment_v1_message_proto_depIdxs = []int32{
|
||||
0, // 0: temporal.server.api.deployment.v1.DeploymentVersionData.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion
|
||||
74, // 1: temporal.server.api.deployment.v1.DeploymentVersionData.routing_update_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 2: temporal.server.api.deployment.v1.DeploymentVersionData.current_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 3: temporal.server.api.deployment.v1.DeploymentVersionData.ramping_since_time:type_name -> google.protobuf.Timestamp
|
||||
75, // 4: temporal.server.api.deployment.v1.DeploymentVersionData.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus
|
||||
74, // 5: temporal.server.api.deployment.v1.WorkerDeploymentVersionData.update_time:type_name -> google.protobuf.Timestamp
|
||||
75, // 6: temporal.server.api.deployment.v1.WorkerDeploymentVersionData.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus
|
||||
0, // 7: temporal.server.api.deployment.v1.VersionLocalState.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion
|
||||
74, // 8: temporal.server.api.deployment.v1.VersionLocalState.create_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 9: temporal.server.api.deployment.v1.VersionLocalState.routing_update_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 10: temporal.server.api.deployment.v1.VersionLocalState.current_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 11: temporal.server.api.deployment.v1.VersionLocalState.ramping_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 12: temporal.server.api.deployment.v1.VersionLocalState.first_activation_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 13: temporal.server.api.deployment.v1.VersionLocalState.last_current_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 14: temporal.server.api.deployment.v1.VersionLocalState.last_deactivation_time:type_name -> google.protobuf.Timestamp
|
||||
76, // 15: temporal.server.api.deployment.v1.VersionLocalState.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo
|
||||
77, // 16: temporal.server.api.deployment.v1.VersionLocalState.metadata:type_name -> temporal.api.deployment.v1.VersionMetadata
|
||||
59, // 17: temporal.server.api.deployment.v1.VersionLocalState.task_queue_families:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamiliesEntry
|
||||
75, // 18: temporal.server.api.deployment.v1.VersionLocalState.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus
|
||||
3, // 19: temporal.server.api.deployment.v1.WorkerDeploymentVersionWorkflowArgs.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState
|
||||
7, // 20: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowArgs.state:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState
|
||||
74, // 21: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.create_time:type_name -> google.protobuf.Timestamp
|
||||
78, // 22: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
62, // 23: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.versions:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState.VersionsEntry
|
||||
63, // 24: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.propagating_revisions:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState.PropagatingRevisionsEntry
|
||||
74, // 25: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.create_time:type_name -> google.protobuf.Timestamp
|
||||
79, // 26: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.drainage_status:type_name -> temporal.api.enums.v1.VersionDrainageStatus
|
||||
76, // 27: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo
|
||||
74, // 28: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.routing_update_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 29: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.current_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 30: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.ramping_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 31: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.first_activation_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 32: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.last_current_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 33: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.last_deactivation_time:type_name -> google.protobuf.Timestamp
|
||||
75, // 34: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus
|
||||
80, // 35: temporal.server.api.deployment.v1.RegisterWorkerInVersionArgs.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType
|
||||
78, // 36: temporal.server.api.deployment.v1.RegisterWorkerInVersionArgs.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
80, // 37: temporal.server.api.deployment.v1.RegisterWorkerInWorkerDeploymentArgs.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType
|
||||
0, // 38: temporal.server.api.deployment.v1.RegisterWorkerInWorkerDeploymentArgs.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion
|
||||
81, // 39: temporal.server.api.deployment.v1.DescribeVersionFromWorkerDeploymentActivityResult.task_queue_infos:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo
|
||||
74, // 40: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.routing_update_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 41: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.current_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 42: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.ramping_since_time:type_name -> google.protobuf.Timestamp
|
||||
78, // 43: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
3, // 44: temporal.server.api.deployment.v1.SyncVersionStateResponse.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState
|
||||
9, // 45: temporal.server.api.deployment.v1.SyncVersionStateResponse.summary:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary
|
||||
74, // 46: temporal.server.api.deployment.v1.AddVersionUpdateArgs.create_time:type_name -> google.protobuf.Timestamp
|
||||
76, // 47: temporal.server.api.deployment.v1.SyncDrainageInfoSignalArgs.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo
|
||||
79, // 48: temporal.server.api.deployment.v1.SyncDrainageStatusSignalArgs.drainage_status:type_name -> temporal.api.enums.v1.VersionDrainageStatus
|
||||
3, // 49: temporal.server.api.deployment.v1.QueryDescribeVersionResponse.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState
|
||||
7, // 50: temporal.server.api.deployment.v1.QueryDescribeWorkerDeploymentResponse.state:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState
|
||||
0, // 51: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion
|
||||
64, // 52: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.sync:type_name -> temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData
|
||||
78, // 53: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.update_routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
2, // 54: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.upsert_version_data:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionData
|
||||
65, // 55: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataResponse.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataResponse.TaskQueueMaxVersionsEntry
|
||||
66, // 56: temporal.server.api.deployment.v1.CheckWorkerDeploymentUserDataPropagationRequest.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.CheckWorkerDeploymentUserDataPropagationRequest.TaskQueueMaxVersionsEntry
|
||||
14, // 57: temporal.server.api.deployment.v1.SyncUnversionedRampActivityArgs.update_args:type_name -> temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs
|
||||
67, // 58: temporal.server.api.deployment.v1.SyncUnversionedRampActivityResponse.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.SyncUnversionedRampActivityResponse.TaskQueueMaxVersionsEntry
|
||||
68, // 59: temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.upsert_entries:type_name -> temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.UpsertEntriesEntry
|
||||
77, // 60: temporal.server.api.deployment.v1.UpdateVersionMetadataResponse.metadata:type_name -> temporal.api.deployment.v1.VersionMetadata
|
||||
82, // 61: temporal.server.api.deployment.v1.CreateWorkerDeploymentVersionArgs.compute_config:type_name -> temporal.api.compute.v1.ComputeConfig
|
||||
69, // 62: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.task_queues_and_types:type_name -> temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueuesAndTypesEntry
|
||||
0, // 63: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.worker_deployment_version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion
|
||||
14, // 64: temporal.server.api.deployment.v1.SyncVersionStateActivityArgs.update_args:type_name -> temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs
|
||||
3, // 65: temporal.server.api.deployment.v1.SyncVersionStateActivityResult.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState
|
||||
9, // 66: temporal.server.api.deployment.v1.SyncVersionStateActivityResult.summary:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary
|
||||
74, // 67: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.create_time:type_name -> google.protobuf.Timestamp
|
||||
78, // 68: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
83, // 69: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.latest_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
83, // 70: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.current_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
83, // 71: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.ramping_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
74, // 72: temporal.server.api.deployment.v1.WorkerDeploymentSummary.create_time:type_name -> google.protobuf.Timestamp
|
||||
78, // 73: temporal.server.api.deployment.v1.WorkerDeploymentSummary.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
83, // 74: temporal.server.api.deployment.v1.WorkerDeploymentSummary.latest_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
83, // 75: temporal.server.api.deployment.v1.WorkerDeploymentSummary.current_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
83, // 76: temporal.server.api.deployment.v1.WorkerDeploymentSummary.ramping_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
71, // 77: temporal.server.api.deployment.v1.ValidateWorkerControllerInstanceSpecInput.scaling_groups:type_name -> temporal.server.api.deployment.v1.ValidateWorkerControllerInstanceSpecInput.ScalingGroupsEntry
|
||||
84, // 78: temporal.server.api.deployment.v1.UpdateWorkerControllerInstanceInput.version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion
|
||||
72, // 79: temporal.server.api.deployment.v1.UpdateWorkerControllerInstanceInput.upsert_scaling_groups:type_name -> temporal.server.api.deployment.v1.UpdateWorkerControllerInstanceInput.UpsertScalingGroupsEntry
|
||||
84, // 80: temporal.server.api.deployment.v1.DeleteWorkerControllerInstanceInput.version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion
|
||||
73, // 81: temporal.server.api.deployment.v1.UpdateComputeConfigArgs.upsert_scaling_groups:type_name -> temporal.server.api.deployment.v1.UpdateComputeConfigArgs.UpsertScalingGroupsEntry
|
||||
7, // 82: temporal.server.api.deployment.v1.ForceCANDeploymentSignalArgs.override_state:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState
|
||||
3, // 83: temporal.server.api.deployment.v1.ForceCANVersionSignalArgs.override_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState
|
||||
60, // 84: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamiliesEntry.value:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData
|
||||
61, // 85: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.task_queues:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.TaskQueuesEntry
|
||||
4, // 86: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.TaskQueuesEntry.value:type_name -> temporal.server.api.deployment.v1.TaskQueueVersionData
|
||||
9, // 87: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.VersionsEntry.value:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary
|
||||
8, // 88: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.PropagatingRevisionsEntry.value:type_name -> temporal.server.api.deployment.v1.PropagatingRevisions
|
||||
80, // 89: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData.types:type_name -> temporal.api.enums.v1.TaskQueueType
|
||||
1, // 90: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData.data:type_name -> temporal.server.api.deployment.v1.DeploymentVersionData
|
||||
85, // 91: temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.UpsertEntriesEntry.value:type_name -> temporal.api.common.v1.Payload
|
||||
70, // 92: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueuesAndTypesEntry.value:type_name -> temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueueTypes
|
||||
80, // 93: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueueTypes.types:type_name -> temporal.api.enums.v1.TaskQueueType
|
||||
86, // 94: temporal.server.api.deployment.v1.ValidateWorkerControllerInstanceSpecInput.ScalingGroupsEntry.value:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroup
|
||||
87, // 95: temporal.server.api.deployment.v1.UpdateWorkerControllerInstanceInput.UpsertScalingGroupsEntry.value:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroupUpdate
|
||||
87, // 96: temporal.server.api.deployment.v1.UpdateComputeConfigArgs.UpsertScalingGroupsEntry.value:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroupUpdate
|
||||
97, // [97:97] is the sub-list for method output_type
|
||||
97, // [97:97] is the sub-list for method input_type
|
||||
97, // [97:97] is the sub-list for extension type_name
|
||||
97, // [97:97] is the sub-list for extension extendee
|
||||
0, // [0:97] is the sub-list for field type_name
|
||||
0, // 0: temporal.server.api.deployment.v1.DeploymentVersionData.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion
|
||||
74, // 1: temporal.server.api.deployment.v1.DeploymentVersionData.routing_update_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 2: temporal.server.api.deployment.v1.DeploymentVersionData.current_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 3: temporal.server.api.deployment.v1.DeploymentVersionData.ramping_since_time:type_name -> google.protobuf.Timestamp
|
||||
75, // 4: temporal.server.api.deployment.v1.DeploymentVersionData.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus
|
||||
74, // 5: temporal.server.api.deployment.v1.WorkerDeploymentVersionData.update_time:type_name -> google.protobuf.Timestamp
|
||||
75, // 6: temporal.server.api.deployment.v1.WorkerDeploymentVersionData.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus
|
||||
0, // 7: temporal.server.api.deployment.v1.VersionLocalState.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion
|
||||
74, // 8: temporal.server.api.deployment.v1.VersionLocalState.create_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 9: temporal.server.api.deployment.v1.VersionLocalState.routing_update_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 10: temporal.server.api.deployment.v1.VersionLocalState.current_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 11: temporal.server.api.deployment.v1.VersionLocalState.ramping_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 12: temporal.server.api.deployment.v1.VersionLocalState.first_activation_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 13: temporal.server.api.deployment.v1.VersionLocalState.last_current_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 14: temporal.server.api.deployment.v1.VersionLocalState.last_deactivation_time:type_name -> google.protobuf.Timestamp
|
||||
76, // 15: temporal.server.api.deployment.v1.VersionLocalState.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo
|
||||
77, // 16: temporal.server.api.deployment.v1.VersionLocalState.metadata:type_name -> temporal.api.deployment.v1.VersionMetadata
|
||||
59, // 17: temporal.server.api.deployment.v1.VersionLocalState.task_queue_families:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamiliesEntry
|
||||
75, // 18: temporal.server.api.deployment.v1.VersionLocalState.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus
|
||||
78, // 19: temporal.server.api.deployment.v1.VersionLocalState.compute_config:type_name -> temporal.api.compute.v1.ComputeConfigSummary
|
||||
3, // 20: temporal.server.api.deployment.v1.WorkerDeploymentVersionWorkflowArgs.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState
|
||||
7, // 21: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowArgs.state:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState
|
||||
74, // 22: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.create_time:type_name -> google.protobuf.Timestamp
|
||||
79, // 23: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
62, // 24: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.versions:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState.VersionsEntry
|
||||
63, // 25: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.propagating_revisions:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState.PropagatingRevisionsEntry
|
||||
74, // 26: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.create_time:type_name -> google.protobuf.Timestamp
|
||||
80, // 27: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.drainage_status:type_name -> temporal.api.enums.v1.VersionDrainageStatus
|
||||
76, // 28: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo
|
||||
74, // 29: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.routing_update_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 30: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.current_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 31: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.ramping_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 32: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.first_activation_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 33: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.last_current_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 34: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.last_deactivation_time:type_name -> google.protobuf.Timestamp
|
||||
75, // 35: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus
|
||||
78, // 36: temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary.compute_config:type_name -> temporal.api.compute.v1.ComputeConfigSummary
|
||||
81, // 37: temporal.server.api.deployment.v1.RegisterWorkerInVersionArgs.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType
|
||||
79, // 38: temporal.server.api.deployment.v1.RegisterWorkerInVersionArgs.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
81, // 39: temporal.server.api.deployment.v1.RegisterWorkerInWorkerDeploymentArgs.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType
|
||||
0, // 40: temporal.server.api.deployment.v1.RegisterWorkerInWorkerDeploymentArgs.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion
|
||||
82, // 41: temporal.server.api.deployment.v1.DescribeVersionFromWorkerDeploymentActivityResult.task_queue_infos:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo
|
||||
74, // 42: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.routing_update_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 43: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.current_since_time:type_name -> google.protobuf.Timestamp
|
||||
74, // 44: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.ramping_since_time:type_name -> google.protobuf.Timestamp
|
||||
79, // 45: temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
3, // 46: temporal.server.api.deployment.v1.SyncVersionStateResponse.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState
|
||||
9, // 47: temporal.server.api.deployment.v1.SyncVersionStateResponse.summary:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary
|
||||
74, // 48: temporal.server.api.deployment.v1.AddVersionUpdateArgs.create_time:type_name -> google.protobuf.Timestamp
|
||||
76, // 49: temporal.server.api.deployment.v1.SyncDrainageInfoSignalArgs.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo
|
||||
80, // 50: temporal.server.api.deployment.v1.SyncDrainageStatusSignalArgs.drainage_status:type_name -> temporal.api.enums.v1.VersionDrainageStatus
|
||||
3, // 51: temporal.server.api.deployment.v1.QueryDescribeVersionResponse.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState
|
||||
7, // 52: temporal.server.api.deployment.v1.QueryDescribeWorkerDeploymentResponse.state:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState
|
||||
78, // 53: temporal.server.api.deployment.v1.StartWorkerDeploymentVersionRequest.compute_config:type_name -> temporal.api.compute.v1.ComputeConfigSummary
|
||||
0, // 54: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion
|
||||
64, // 55: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.sync:type_name -> temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData
|
||||
79, // 56: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.update_routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
2, // 57: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.upsert_version_data:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionData
|
||||
65, // 58: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataResponse.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataResponse.TaskQueueMaxVersionsEntry
|
||||
66, // 59: temporal.server.api.deployment.v1.CheckWorkerDeploymentUserDataPropagationRequest.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.CheckWorkerDeploymentUserDataPropagationRequest.TaskQueueMaxVersionsEntry
|
||||
14, // 60: temporal.server.api.deployment.v1.SyncUnversionedRampActivityArgs.update_args:type_name -> temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs
|
||||
67, // 61: temporal.server.api.deployment.v1.SyncUnversionedRampActivityResponse.task_queue_max_versions:type_name -> temporal.server.api.deployment.v1.SyncUnversionedRampActivityResponse.TaskQueueMaxVersionsEntry
|
||||
68, // 62: temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.upsert_entries:type_name -> temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.UpsertEntriesEntry
|
||||
77, // 63: temporal.server.api.deployment.v1.UpdateVersionMetadataResponse.metadata:type_name -> temporal.api.deployment.v1.VersionMetadata
|
||||
83, // 64: temporal.server.api.deployment.v1.CreateWorkerDeploymentVersionArgs.compute_config:type_name -> temporal.api.compute.v1.ComputeConfig
|
||||
69, // 65: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.task_queues_and_types:type_name -> temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueuesAndTypesEntry
|
||||
0, // 66: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.worker_deployment_version:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersion
|
||||
14, // 67: temporal.server.api.deployment.v1.SyncVersionStateActivityArgs.update_args:type_name -> temporal.server.api.deployment.v1.SyncVersionStateUpdateArgs
|
||||
3, // 68: temporal.server.api.deployment.v1.SyncVersionStateActivityResult.version_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState
|
||||
9, // 69: temporal.server.api.deployment.v1.SyncVersionStateActivityResult.summary:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary
|
||||
74, // 70: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.create_time:type_name -> google.protobuf.Timestamp
|
||||
79, // 71: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
84, // 72: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.latest_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
84, // 73: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.current_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
84, // 74: temporal.server.api.deployment.v1.WorkerDeploymentWorkflowMemo.ramping_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
74, // 75: temporal.server.api.deployment.v1.WorkerDeploymentSummary.create_time:type_name -> google.protobuf.Timestamp
|
||||
79, // 76: temporal.server.api.deployment.v1.WorkerDeploymentSummary.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig
|
||||
84, // 77: temporal.server.api.deployment.v1.WorkerDeploymentSummary.latest_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
84, // 78: temporal.server.api.deployment.v1.WorkerDeploymentSummary.current_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
84, // 79: temporal.server.api.deployment.v1.WorkerDeploymentSummary.ramping_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary
|
||||
71, // 80: temporal.server.api.deployment.v1.ValidateWorkerControllerInstanceSpecInput.scaling_groups:type_name -> temporal.server.api.deployment.v1.ValidateWorkerControllerInstanceSpecInput.ScalingGroupsEntry
|
||||
85, // 81: temporal.server.api.deployment.v1.UpdateWorkerControllerInstanceInput.version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion
|
||||
72, // 82: temporal.server.api.deployment.v1.UpdateWorkerControllerInstanceInput.upsert_scaling_groups:type_name -> temporal.server.api.deployment.v1.UpdateWorkerControllerInstanceInput.UpsertScalingGroupsEntry
|
||||
85, // 83: temporal.server.api.deployment.v1.DeleteWorkerControllerInstanceInput.version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion
|
||||
73, // 84: temporal.server.api.deployment.v1.UpdateComputeConfigArgs.upsert_scaling_groups:type_name -> temporal.server.api.deployment.v1.UpdateComputeConfigArgs.UpsertScalingGroupsEntry
|
||||
7, // 85: temporal.server.api.deployment.v1.ForceCANDeploymentSignalArgs.override_state:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentLocalState
|
||||
3, // 86: temporal.server.api.deployment.v1.ForceCANVersionSignalArgs.override_state:type_name -> temporal.server.api.deployment.v1.VersionLocalState
|
||||
60, // 87: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamiliesEntry.value:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData
|
||||
61, // 88: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.task_queues:type_name -> temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.TaskQueuesEntry
|
||||
4, // 89: temporal.server.api.deployment.v1.VersionLocalState.TaskQueueFamilyData.TaskQueuesEntry.value:type_name -> temporal.server.api.deployment.v1.TaskQueueVersionData
|
||||
9, // 90: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.VersionsEntry.value:type_name -> temporal.server.api.deployment.v1.WorkerDeploymentVersionSummary
|
||||
8, // 91: temporal.server.api.deployment.v1.WorkerDeploymentLocalState.PropagatingRevisionsEntry.value:type_name -> temporal.server.api.deployment.v1.PropagatingRevisions
|
||||
81, // 92: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData.types:type_name -> temporal.api.enums.v1.TaskQueueType
|
||||
1, // 93: temporal.server.api.deployment.v1.SyncDeploymentVersionUserDataRequest.SyncUserData.data:type_name -> temporal.server.api.deployment.v1.DeploymentVersionData
|
||||
86, // 94: temporal.server.api.deployment.v1.UpdateVersionMetadataArgs.UpsertEntriesEntry.value:type_name -> temporal.api.common.v1.Payload
|
||||
70, // 95: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueuesAndTypesEntry.value:type_name -> temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueueTypes
|
||||
81, // 96: temporal.server.api.deployment.v1.CheckTaskQueuesHavePollersActivityArgs.TaskQueueTypes.types:type_name -> temporal.api.enums.v1.TaskQueueType
|
||||
87, // 97: temporal.server.api.deployment.v1.ValidateWorkerControllerInstanceSpecInput.ScalingGroupsEntry.value:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroup
|
||||
88, // 98: temporal.server.api.deployment.v1.UpdateWorkerControllerInstanceInput.UpsertScalingGroupsEntry.value:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroupUpdate
|
||||
88, // 99: temporal.server.api.deployment.v1.UpdateComputeConfigArgs.UpsertScalingGroupsEntry.value:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroupUpdate
|
||||
100, // [100:100] is the sub-list for method output_type
|
||||
100, // [100:100] is the sub-list for method input_type
|
||||
100, // [100:100] is the sub-list for extension type_name
|
||||
100, // [100:100] is the sub-list for extension extendee
|
||||
0, // [0:100] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_temporal_server_api_deployment_v1_message_proto_init() }
|
||||
|
||||
4
go.mod
4
go.mod
@@ -18,7 +18,7 @@ require (
|
||||
github.com/emirpasic/gods v1.18.1
|
||||
github.com/fatih/color v1.18.0
|
||||
github.com/go-faker/faker/v4 v4.6.0
|
||||
github.com/go-jose/go-jose/v4 v4.1.3
|
||||
github.com/go-jose/go-jose/v4 v4.1.4
|
||||
github.com/go-sql-driver/mysql v1.9.0
|
||||
github.com/gocql/gocql v1.7.0
|
||||
github.com/golang-jwt/jwt/v4 v4.5.2
|
||||
@@ -60,7 +60,7 @@ require (
|
||||
go.opentelemetry.io/otel/sdk/metric v1.40.0
|
||||
go.opentelemetry.io/otel/trace v1.40.0
|
||||
go.temporal.io/api v1.62.8-0.20260406230818-5423d0dd678a
|
||||
go.temporal.io/auto-scaled-workers v0.0.0-20260401235702-f2721a623799
|
||||
go.temporal.io/auto-scaled-workers v0.0.0-20260407181057-edd947d743d2
|
||||
go.temporal.io/sdk v1.41.1
|
||||
go.uber.org/fx v1.24.0
|
||||
go.uber.org/mock v0.6.0
|
||||
|
||||
8
go.sum
8
go.sum
@@ -153,8 +153,8 @@ github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj2
|
||||
github.com/go-faker/faker/v4 v4.6.0 h1:6aOPzNptRiDwD14HuAnEtlTa+D1IfFuEHO8+vEFwjTs=
|
||||
github.com/go-faker/faker/v4 v4.6.0/go.mod h1:ZmrHuVtTTm2Em9e0Du6CJ9CADaLEzGXW62z1YqFH0m0=
|
||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
github.com/go-jose/go-jose/v4 v4.1.3 h1:CVLmWDhDVRa6Mi/IgCgaopNosCaHz7zrMeF9MlZRkrs=
|
||||
github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
|
||||
github.com/go-jose/go-jose/v4 v4.1.4 h1:moDMcTHmvE6Groj34emNPLs/qtYXRVcd6S7NHbHz3kA=
|
||||
github.com/go-jose/go-jose/v4 v4.1.4/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08=
|
||||
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
|
||||
github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI=
|
||||
github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
|
||||
@@ -442,8 +442,8 @@ go.opentelemetry.io/proto/otlp v1.7.1 h1:gTOMpGDb0WTBOP8JaO72iL3auEZhVmAQg4ipjOV
|
||||
go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE=
|
||||
go.temporal.io/api v1.62.8-0.20260406230818-5423d0dd678a h1:2nCxSSKutK1VP2eA7/lw5/DfHk+UxNtr1GN5KsZTSNo=
|
||||
go.temporal.io/api v1.62.8-0.20260406230818-5423d0dd678a/go.mod h1:iaxoP/9OXMJcQkETTECfwYq4cw/bj4nwov8b3ZLVnXM=
|
||||
go.temporal.io/auto-scaled-workers v0.0.0-20260401235702-f2721a623799 h1:M+eqXvIdNCCf5wIX2no7lLuCjdhmqoIKlcPUZIo9aPg=
|
||||
go.temporal.io/auto-scaled-workers v0.0.0-20260401235702-f2721a623799/go.mod h1:gni0wHhtx7BbY/Hr41ea0JENWQAlWqQbxXqXQ7p2ONo=
|
||||
go.temporal.io/auto-scaled-workers v0.0.0-20260407181057-edd947d743d2 h1:1hKeH3GyR6YD6LKMHGCZ76t6h1Sgha0hXVQBxWi3dlQ=
|
||||
go.temporal.io/auto-scaled-workers v0.0.0-20260407181057-edd947d743d2/go.mod h1:T8dnzVPeO+gaUTj9eDgm/lT2lZH4+JXNvrGaQGyVi50=
|
||||
go.temporal.io/sdk v1.41.1 h1:yOpvsHyDD1lNuwlGBv/SUodCPhjv9nDeC9lLHW/fJUA=
|
||||
go.temporal.io/sdk v1.41.1/go.mod h1:/InXQT5guZ6AizYzpmzr5avQ/GMgq1ZObcKlKE2AhTc=
|
||||
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||
|
||||
@@ -147,6 +147,9 @@ message VersionLocalState {
|
||||
// Covers changes through: CreateWorkerDeploymentVersion, UpdateWorkerDeploymentVersionComputeConfig,
|
||||
// UpdateWorkerDeploymentVersionMetadata.
|
||||
string last_modifier_identity = 17;
|
||||
|
||||
// Cached compute config summary, kept in sync with the WCI on each compute config update.
|
||||
temporal.api.compute.v1.ComputeConfigSummary compute_config = 18;
|
||||
}
|
||||
|
||||
// Data specific to a task queue, from the perspective of a worker deployment version.
|
||||
@@ -226,6 +229,10 @@ message WorkerDeploymentVersionSummary {
|
||||
// Request ID used to create this version. Used for idempotency.
|
||||
// Not synced from the version workflow; only set by the deployment workflow.
|
||||
string create_request_id = 12;
|
||||
|
||||
// Compute config summary for this version. Synced from the version workflow on each compute config update.
|
||||
// Also set by the deployment workflow at version creation time if a compute config was provided.
|
||||
temporal.api.compute.v1.ComputeConfigSummary compute_config = 13;
|
||||
}
|
||||
|
||||
// used as Worker Deployment Version workflow update input:
|
||||
@@ -337,6 +344,7 @@ message StartWorkerDeploymentVersionRequest {
|
||||
string build_id = 2;
|
||||
string request_id = 3;
|
||||
string identity = 4;
|
||||
temporal.api.compute.v1.ComputeConfigSummary compute_config = 5;
|
||||
}
|
||||
|
||||
// used as Worker Deployment Version workflow activity input:
|
||||
|
||||
@@ -6,6 +6,7 @@ import (
|
||||
"errors"
|
||||
"sync"
|
||||
|
||||
computepb "go.temporal.io/api/compute/v1"
|
||||
enumspb "go.temporal.io/api/enums/v1"
|
||||
"go.temporal.io/api/serviceerror"
|
||||
updatepb "go.temporal.io/api/update/v1"
|
||||
@@ -275,19 +276,23 @@ func (a *Activities) StartWorkerDeploymentVersionWorkflow(
|
||||
logger := activity.GetLogger(ctx)
|
||||
logger.Info("starting worker deployment version workflow", "deploymentName", input.DeploymentName, "buildID", input.BuildId)
|
||||
startIdentity := "deployment workflow " + activity.GetInfo(ctx).WorkflowExecution.ID
|
||||
return a.WorkerDeploymentClient.StartWorkerDeploymentVersion(ctx, a.namespace, input.DeploymentName, input.BuildId, startIdentity, input.RequestId, input.GetIdentity())
|
||||
return a.WorkerDeploymentClient.StartWorkerDeploymentVersion(ctx, a.namespace, input.DeploymentName, input.BuildId, startIdentity, input.RequestId, input.GetIdentity(), input.GetComputeConfig())
|
||||
}
|
||||
|
||||
func (a *Activities) UpdateWorkerControllerInstanceFromDeployment(ctx context.Context, input *deploymentspb.UpdateWorkerControllerInstanceInput) error {
|
||||
func (a *Activities) UpdateWorkerControllerInstanceFromDeployment(ctx context.Context, input *deploymentspb.UpdateWorkerControllerInstanceInput) (*computepb.ComputeConfigSummary, error) {
|
||||
upserts := scalingGroupUpdatesToWCI(input.GetUpsertScalingGroups())
|
||||
if err := a.WorkerControllerInstanceClient.UpdateWorkerControllerInstance(ctx, a.namespace, input.GetVersion(), nil, input.GetIdentity(), upserts, input.GetRemoveScalingGroups()); err != nil {
|
||||
resp, err := a.WorkerControllerInstanceClient.UpdateWorkerControllerInstance(ctx, a.namespace, input.GetVersion(), nil, input.GetIdentity(), upserts, input.GetRemoveScalingGroups())
|
||||
if err != nil {
|
||||
var invalidArgs *serviceerror.InvalidArgument
|
||||
if errors.As(err, &invalidArgs) {
|
||||
return temporal.NewApplicationError(err.Error(), errInvalidComputeConfig)
|
||||
return nil, temporal.NewApplicationError(err.Error(), errInvalidComputeConfig)
|
||||
}
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
return nil
|
||||
if resp == nil {
|
||||
return nil, nil
|
||||
}
|
||||
return wciSpecToComputeConfigSummary(resp.Spec), nil
|
||||
}
|
||||
|
||||
func (a *Activities) DeleteWorkerControllerInstanceFromDeployment(ctx context.Context, input *deploymentspb.DeleteWorkerControllerInstanceInput) error {
|
||||
|
||||
@@ -165,6 +165,7 @@ type Client interface {
|
||||
ctx context.Context,
|
||||
namespaceEntry *namespace.Namespace,
|
||||
deploymentName, buildID, identity, requestID, modifierIdentity string,
|
||||
computeConfig *computepb.ComputeConfigSummary,
|
||||
) error
|
||||
|
||||
// Used internally by the Worker Deployment workflow in its SyncWorkerDeploymentVersion Activity
|
||||
@@ -1346,6 +1347,7 @@ func (d *ClientImpl) StartWorkerDeploymentVersion(
|
||||
ctx context.Context,
|
||||
namespaceEntry *namespace.Namespace,
|
||||
deploymentName, buildID, identity, requestID, modifierIdentity string,
|
||||
computeConfig *computepb.ComputeConfigSummary,
|
||||
) (retErr error) {
|
||||
//revive:disable-next-line:defer
|
||||
defer d.convertAndRecordError("StartWorkerDeploymentVersion", deploymentName, &retErr, namespaceEntry.Name(), identity)()
|
||||
@@ -1360,7 +1362,7 @@ func (d *ClientImpl) StartWorkerDeploymentVersion(
|
||||
}
|
||||
|
||||
workflowID := GenerateVersionWorkflowID(deploymentName, buildID)
|
||||
args := d.makeVersionWorkflowArgs(deploymentName, buildID, namespaceEntry, modifierIdentity, enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_CREATED)
|
||||
args := d.makeVersionWorkflowArgs(deploymentName, buildID, namespaceEntry, modifierIdentity, enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_CREATED, computeConfig)
|
||||
input, err := sdk.PreferProtoDataConverter.ToPayloads(args)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -1534,7 +1536,12 @@ func (d *ClientImpl) updateWithStartWorkerDeploymentVersion(
|
||||
}
|
||||
|
||||
workflowID := GenerateVersionWorkflowID(deploymentName, buildID)
|
||||
input, err := sdk.PreferProtoDataConverter.ToPayloads(d.makeVersionWorkflowArgs(deploymentName, buildID, namespaceEntry, "", enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE))
|
||||
input, err := sdk.PreferProtoDataConverter.ToPayloads(d.makeVersionWorkflowArgs(deploymentName,
|
||||
buildID,
|
||||
namespaceEntry,
|
||||
"",
|
||||
enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE,
|
||||
nil))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -1769,6 +1776,7 @@ func (d *ClientImpl) deploymentStateToDeploymentInfo(deploymentName string, stat
|
||||
LastCurrentTime: v.GetLastCurrentTime(),
|
||||
LastDeactivationTime: v.GetLastDeactivationTime(),
|
||||
Status: v.GetStatus(),
|
||||
ComputeConfig: v.GetComputeConfig(),
|
||||
})
|
||||
}
|
||||
|
||||
@@ -2017,11 +2025,12 @@ func (d *ClientImpl) makeVersionWorkflowArgs(
|
||||
namespaceEntry *namespace.Namespace,
|
||||
identity string,
|
||||
initialStatus enumspb.WorkerDeploymentVersionStatus,
|
||||
computeConfig *computepb.ComputeConfigSummary,
|
||||
) *deploymentspb.WorkerDeploymentVersionWorkflowArgs {
|
||||
return &deploymentspb.WorkerDeploymentVersionWorkflowArgs{
|
||||
NamespaceName: namespaceEntry.Name().String(),
|
||||
NamespaceId: namespaceEntry.ID().String(),
|
||||
VersionState: makeNewVersionState(deploymentName, buildID, time.Now(), identity, initialStatus, d.getSyncBatchSize()),
|
||||
VersionState: makeNewVersionState(deploymentName, buildID, time.Now(), identity, initialStatus, computeConfig, d.getSyncBatchSize()),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -76,6 +76,22 @@ func wciSpecToComputeConfig(spec *wciiface.WorkerControllerInstanceSpec) *comput
|
||||
return &computepb.ComputeConfig{ScalingGroups: groups}
|
||||
}
|
||||
|
||||
func wciSpecToComputeConfigSummary(spec *wciiface.WorkerControllerInstanceSpec) *computepb.ComputeConfigSummary {
|
||||
if spec == nil || len(spec.ScalingGroupSpecs) == 0 {
|
||||
return nil
|
||||
}
|
||||
groups := make(map[string]*computepb.ComputeConfigScalingGroupSummary, len(spec.ScalingGroupSpecs))
|
||||
names := workflow.DeterministicKeys(spec.ScalingGroupSpecs)
|
||||
for _, name := range names {
|
||||
sg := spec.ScalingGroupSpecs[name]
|
||||
groups[name] = &computepb.ComputeConfigScalingGroupSummary{
|
||||
TaskQueueTypes: sg.TaskTypes,
|
||||
ProviderType: string(sg.Compute.ProviderType),
|
||||
}
|
||||
}
|
||||
return &computepb.ComputeConfigSummary{ScalingGroups: groups}
|
||||
}
|
||||
|
||||
func scalingGroupsToUpsertUpdates(scalingGroups map[string]*computepb.ComputeConfigScalingGroup) map[string]*computepb.ComputeConfigScalingGroupUpdate {
|
||||
updates := make(map[string]*computepb.ComputeConfigScalingGroupUpdate, len(scalingGroups))
|
||||
names := workflow.DeterministicKeys(scalingGroups)
|
||||
|
||||
6
service/worker/workerdeployment/replaytester/testdata/v2/run_1775685309/expected_counts.txt
vendored
Normal file
6
service/worker/workerdeployment/replaytester/testdata/v2/run_1775685309/expected_counts.txt
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
# Expected workflow counts for replay testing
|
||||
# Generated by generate_history.sh on Wed Apr 8 14:55:10 PDT 2026
|
||||
EXPECTED_DEPLOYMENT_WORKFLOWS=19
|
||||
EXPECTED_VERSION_WORKFLOWS=11
|
||||
ACTUAL_DEPLOYMENT_WORKFLOWS=19
|
||||
ACTUAL_VERSION_WORKFLOWS=11
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -8,6 +8,7 @@ import (
|
||||
"time"
|
||||
|
||||
commonpb "go.temporal.io/api/common/v1"
|
||||
computepb "go.temporal.io/api/compute/v1"
|
||||
deploymentpb "go.temporal.io/api/deployment/v1"
|
||||
enumspb "go.temporal.io/api/enums/v1"
|
||||
failurepb "go.temporal.io/api/failure/v1"
|
||||
@@ -440,11 +441,11 @@ func buildSearchAttributes() *commonpb.SearchAttributes {
|
||||
}
|
||||
|
||||
func makeNewVersionState(
|
||||
deploymentName,
|
||||
buildID string,
|
||||
deploymentName, buildID string,
|
||||
createTime time.Time,
|
||||
identity string,
|
||||
initialStatus enumspb.WorkerDeploymentVersionStatus,
|
||||
computeConfig *computepb.ComputeConfigSummary,
|
||||
syncBatchSize int32,
|
||||
) *deploymentspb.VersionLocalState {
|
||||
return &deploymentspb.VersionLocalState{
|
||||
@@ -462,5 +463,6 @@ func makeNewVersionState(
|
||||
Metadata: nil,
|
||||
SyncBatchSize: syncBatchSize,
|
||||
LastModifierIdentity: identity,
|
||||
ComputeConfig: computeConfig,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
computepb "go.temporal.io/api/compute/v1"
|
||||
deploymentpb "go.temporal.io/api/deployment/v1"
|
||||
enumspb "go.temporal.io/api/enums/v1"
|
||||
"go.temporal.io/api/serviceerror"
|
||||
@@ -198,16 +199,17 @@ func (a *VersionActivities) GetVersionDrainageStatus(ctx context.Context, versio
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (a *VersionActivities) UpdateWorkerControllerInstance(ctx context.Context, input *deploymentspb.UpdateWorkerControllerInstanceInput) error {
|
||||
func (a *VersionActivities) UpdateWorkerControllerInstance(ctx context.Context, input *deploymentspb.UpdateWorkerControllerInstanceInput) (*computepb.ComputeConfigSummary, error) {
|
||||
upserts := scalingGroupUpdatesToWCI(input.GetUpsertScalingGroups())
|
||||
if err := a.WorkerControllerInstanceClient.UpdateWorkerControllerInstance(ctx, a.namespace, input.GetVersion(), nil, input.GetIdentity(), upserts, input.GetRemoveScalingGroups()); err != nil {
|
||||
resp, err := a.WorkerControllerInstanceClient.UpdateWorkerControllerInstance(ctx, a.namespace, input.GetVersion(), nil, input.GetIdentity(), upserts, input.GetRemoveScalingGroups())
|
||||
if err != nil {
|
||||
var invalidArgs *serviceerror.InvalidArgument
|
||||
if errors.As(err, &invalidArgs) {
|
||||
return temporal.NewApplicationError(err.Error(), errInvalidComputeConfig)
|
||||
return nil, temporal.NewApplicationError(err.Error(), errInvalidComputeConfig)
|
||||
}
|
||||
return err
|
||||
return nil, err
|
||||
}
|
||||
return nil
|
||||
return wciSpecToComputeConfigSummary(resp.Spec), nil
|
||||
}
|
||||
|
||||
func (a *VersionActivities) DeleteWorkerControllerInstance(ctx context.Context, input *deploymentspb.DeleteWorkerControllerInstanceInput) error {
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
|
||||
"github.com/google/uuid"
|
||||
commonpb "go.temporal.io/api/common/v1"
|
||||
computepb "go.temporal.io/api/compute/v1"
|
||||
deploymentpb "go.temporal.io/api/deployment/v1"
|
||||
enumspb "go.temporal.io/api/enums/v1"
|
||||
"go.temporal.io/api/serviceerror"
|
||||
@@ -387,12 +388,13 @@ func (d *VersionWorkflowRunner) handleUpdateVersionComputeConfig(ctx workflow.Co
|
||||
BuildId: d.VersionState.Version.BuildId,
|
||||
}
|
||||
activityCtx := workflow.WithActivityOptions(ctx, defaultActivityOptions)
|
||||
var computeConfigSummary *computepb.ComputeConfigSummary
|
||||
err := workflow.ExecuteActivity(activityCtx, d.a.UpdateWorkerControllerInstance, &deploymentspb.UpdateWorkerControllerInstanceInput{
|
||||
Version: apiVersion,
|
||||
Identity: args.GetIdentity(),
|
||||
UpsertScalingGroups: args.GetUpsertScalingGroups(),
|
||||
RemoveScalingGroups: args.GetRemoveScalingGroups(),
|
||||
}).Get(ctx, nil)
|
||||
}).Get(ctx, &computeConfigSummary)
|
||||
if err != nil {
|
||||
var appErr *temporal.ApplicationError
|
||||
if errors.As(err, &appErr) && appErr.Type() == errInvalidComputeConfig {
|
||||
@@ -401,8 +403,10 @@ func (d *VersionWorkflowRunner) handleUpdateVersionComputeConfig(ctx workflow.Co
|
||||
return nil, serviceerror.NewInternalf("update worker controller instance: %v", err)
|
||||
}
|
||||
|
||||
d.VersionState.ComputeConfig = computeConfigSummary
|
||||
d.VersionState.LastModifierIdentity = args.GetIdentity()
|
||||
d.setStateChanged()
|
||||
d.syncSummary(ctx)
|
||||
|
||||
return &deploymentspb.UpdateComputeConfigResponse{}, nil
|
||||
}
|
||||
@@ -727,8 +731,13 @@ func (d *VersionWorkflowRunner) handleRegisterWorker(ctx workflow.Context, args
|
||||
|
||||
func (d *VersionWorkflowRunner) reviveDeleted(ctx workflow.Context) {
|
||||
// Resetting state to get rid of the info from the past life.
|
||||
state := makeNewVersionState(d.VersionState.Version.DeploymentName, d.VersionState.Version.BuildId, workflow.Now(ctx), "",
|
||||
enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE, d.VersionState.SyncBatchSize)
|
||||
state := makeNewVersionState(d.VersionState.Version.DeploymentName,
|
||||
d.VersionState.Version.BuildId,
|
||||
workflow.Now(ctx),
|
||||
"",
|
||||
enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE,
|
||||
nil,
|
||||
d.VersionState.SyncBatchSize)
|
||||
d.VersionState = state
|
||||
d.deleteVersion = false
|
||||
}
|
||||
@@ -1002,6 +1011,7 @@ func versionStateToSummary(s *deploymentspb.VersionLocalState) *deploymentspb.Wo
|
||||
LastCurrentTime: s.LastCurrentTime,
|
||||
LastDeactivationTime: s.LastDeactivationTime,
|
||||
Status: s.Status,
|
||||
ComputeConfig: s.ComputeConfig,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2271,7 +2271,10 @@ func (s *VersionWorkflowSuite) Test_UpdateComputeConfig_Success() {
|
||||
s.env.OnActivity(a.StartWorkerDeploymentWorkflow, mock.Anything, mock.Anything).Return(nil).Maybe()
|
||||
|
||||
s.env.RegisterActivity(a.UpdateWorkerControllerInstance)
|
||||
s.env.OnActivity(a.UpdateWorkerControllerInstance, mock.Anything, mock.Anything).Return(nil).Once()
|
||||
s.env.OnActivity(a.UpdateWorkerControllerInstance, mock.Anything, mock.Anything).Return((*computepb.ComputeConfigSummary)(nil), nil).Once()
|
||||
|
||||
// Mock external signal to deployment workflow
|
||||
s.env.OnSignalExternalWorkflow(mock.Anything, mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(nil).Maybe()
|
||||
|
||||
s.env.RegisterDelayedCallback(func() {
|
||||
args := &deploymentspb.UpdateComputeConfigArgs{
|
||||
@@ -2377,6 +2380,7 @@ func (s *VersionWorkflowSuite) Test_UpdateComputeConfig_UpdateInstanceFailure_Do
|
||||
|
||||
s.env.RegisterActivity(a.UpdateWorkerControllerInstance)
|
||||
s.env.OnActivity(a.UpdateWorkerControllerInstance, mock.Anything, mock.Anything).Return(
|
||||
(*computepb.ComputeConfigSummary)(nil),
|
||||
temporal.NewNonRetryableApplicationError("invalid config", errInvalidComputeConfig, nil),
|
||||
).Maybe()
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ import (
|
||||
"slices"
|
||||
|
||||
"github.com/google/uuid"
|
||||
computepb "go.temporal.io/api/compute/v1"
|
||||
deploymentpb "go.temporal.io/api/deployment/v1"
|
||||
enumspb "go.temporal.io/api/enums/v1"
|
||||
"go.temporal.io/api/serviceerror"
|
||||
@@ -118,7 +119,7 @@ func (d *WorkflowRunner) listenToSignals(ctx workflow.Context) {
|
||||
defer func() { d.signalHandler.processingSignals-- }()
|
||||
var summary *deploymentspb.WorkerDeploymentVersionSummary
|
||||
c.Receive(ctx, &summary)
|
||||
d.syncVersionSummaryFromVersionWorkflow(summary)
|
||||
d.syncVersionSummaryFromVersionWorkflow(ctx, summary)
|
||||
d.setStateChanged()
|
||||
})
|
||||
d.signalHandler.signalSelector.AddReceive(propagationCompleteChannel, func(c workflow.ReceiveChannel, more bool) {
|
||||
@@ -138,7 +139,7 @@ func (d *WorkflowRunner) listenToSignals(ctx workflow.Context) {
|
||||
|
||||
// syncVersionSummary ensures the version summary in the deployment workflow stays consistent
|
||||
// with the version workflow. This helps prevent discrepancies if they ever fall out of sync.
|
||||
func (d *WorkflowRunner) syncVersionSummaryFromVersionWorkflow(summary *deploymentspb.WorkerDeploymentVersionSummary) {
|
||||
func (d *WorkflowRunner) syncVersionSummaryFromVersionWorkflow(ctx workflow.Context, summary *deploymentspb.WorkerDeploymentVersionSummary) {
|
||||
existing, ok := d.State.Versions[summary.GetVersion()]
|
||||
if !ok {
|
||||
d.logger.Error("received summary for a non-existing version, ignoring it", "version", summary.GetVersion())
|
||||
@@ -148,6 +149,11 @@ func (d *WorkflowRunner) syncVersionSummaryFromVersionWorkflow(summary *deployme
|
||||
// Preserve create_request_id since the version workflow doesn't know about it.
|
||||
summary.CreateRequestId = existing.GetCreateRequestId()
|
||||
d.State.Versions[summary.GetVersion()] = summary
|
||||
if workflow.GetVersion(ctx, "update-memo-with-summary", workflow.DefaultVersion, 0) != workflow.DefaultVersion {
|
||||
if err := d.updateMemo(ctx); err != nil {
|
||||
d.logger.Error("failed to update memo", "error", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// handlePropagationComplete handles the propagation complete signal from version workflows
|
||||
@@ -555,13 +561,14 @@ func (d *WorkflowRunner) handleCreateWorkerDeploymentVersion(ctx workflow.Contex
|
||||
|
||||
// Create or update the Worker Controller Instance for this version.
|
||||
computeConfig := args.GetComputeConfig()
|
||||
var computeConfigSummary *computepb.ComputeConfigSummary
|
||||
if computeConfig != nil {
|
||||
updateCtx := workflow.WithActivityOptions(ctx, defaultActivityOptions)
|
||||
err = workflow.ExecuteActivity(updateCtx, d.a.UpdateWorkerControllerInstanceFromDeployment, &deploymentspb.UpdateWorkerControllerInstanceInput{
|
||||
Version: worker_versioning.ExternalWorkerDeploymentVersionFromVersion(versionObj),
|
||||
Identity: args.GetIdentity(),
|
||||
UpsertScalingGroups: scalingGroupsToUpsertUpdates(computeConfig.GetScalingGroups()),
|
||||
}).Get(ctx, nil)
|
||||
}).Get(ctx, &computeConfigSummary)
|
||||
if err != nil {
|
||||
var appErr *temporal.ApplicationError
|
||||
if errors.As(err, &appErr) && appErr.Type() == errInvalidComputeConfig {
|
||||
@@ -578,6 +585,7 @@ func (d *WorkflowRunner) handleCreateWorkerDeploymentVersion(ctx workflow.Contex
|
||||
BuildId: versionObj.BuildId,
|
||||
RequestId: args.GetRequestId(),
|
||||
Identity: args.GetIdentity(),
|
||||
ComputeConfig: computeConfigSummary,
|
||||
}).Get(ctx, nil)
|
||||
if err != nil {
|
||||
if computeConfig != nil {
|
||||
@@ -599,6 +607,7 @@ func (d *WorkflowRunner) handleCreateWorkerDeploymentVersion(ctx workflow.Contex
|
||||
CreateTime: timestamppb.New(workflow.Now(ctx)),
|
||||
Status: enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_CREATED,
|
||||
CreateRequestId: args.GetRequestId(),
|
||||
ComputeConfig: computeConfigSummary,
|
||||
}
|
||||
d.metrics.Counter(metrics.WorkerDeploymentVersionCreated.Name()).Inc(1)
|
||||
|
||||
@@ -1743,5 +1752,6 @@ func (d *WorkflowRunner) getWorkerDeploymentInfoVersionSummary(versionSummary *d
|
||||
FirstActivationTime: versionSummary.GetFirstActivationTime(),
|
||||
LastCurrentTime: versionSummary.GetLastCurrentTime(),
|
||||
LastDeactivationTime: versionSummary.GetLastDeactivationTime(),
|
||||
ComputeConfig: versionSummary.GetComputeConfig(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1434,7 +1434,7 @@ func (s *WorkerDeploymentSuite) Test_CreateWorkerDeploymentVersion_WithComputeCo
|
||||
|
||||
s.env.RegisterActivity(a.UpdateWorkerControllerInstanceFromDeployment)
|
||||
updateCalled := false
|
||||
s.env.OnActivity(a.UpdateWorkerControllerInstanceFromDeployment, mock.Anything, mock.Anything).Return(nil).Run(func(args mock.Arguments) {
|
||||
s.env.OnActivity(a.UpdateWorkerControllerInstanceFromDeployment, mock.Anything, mock.Anything).Return((*computepb.ComputeConfigSummary)(nil), nil).Run(func(args mock.Arguments) {
|
||||
updateCalled = true
|
||||
}).Once()
|
||||
|
||||
@@ -1539,6 +1539,7 @@ func (s *WorkerDeploymentSuite) Test_CreateWorkerDeploymentVersion_UpdateWorkerC
|
||||
var a *Activities
|
||||
s.env.RegisterActivity(a.UpdateWorkerControllerInstanceFromDeployment)
|
||||
s.env.OnActivity(a.UpdateWorkerControllerInstanceFromDeployment, mock.Anything, mock.Anything).Return(
|
||||
(*computepb.ComputeConfigSummary)(nil),
|
||||
temporal.NewNonRetryableApplicationError("controller update failed", errInvalidComputeConfig, nil),
|
||||
).Once()
|
||||
|
||||
|
||||
@@ -1326,6 +1326,63 @@ func (s *DeploymentVersionSuite) TestUpdateComputeConfig_Success() {
|
||||
},
|
||||
}, info.GetComputeConfig()))
|
||||
}, 10*time.Second, 500*time.Millisecond)
|
||||
|
||||
// Verify the compute config summary is reflected in DescribeWorkerDeployment version summaries.
|
||||
s.EventuallyWithT(func(t *assert.CollectT) {
|
||||
a := require.New(t)
|
||||
descDeployResp, err := s.FrontendClient().DescribeWorkerDeployment(ctx, &workflowservice.DescribeWorkerDeploymentRequest{
|
||||
Namespace: s.Namespace().String(),
|
||||
DeploymentName: tv.DeploymentSeries(),
|
||||
})
|
||||
a.NoError(err)
|
||||
var versionSummary *deploymentpb.WorkerDeploymentInfo_WorkerDeploymentVersionSummary
|
||||
for _, vs := range descDeployResp.GetWorkerDeploymentInfo().GetVersionSummaries() {
|
||||
if vs.GetVersion() == tv.DeploymentVersionString() { //nolint:staticcheck // SA1019: worker versioning v0.31
|
||||
versionSummary = vs
|
||||
break
|
||||
}
|
||||
}
|
||||
a.NotNil(versionSummary, "version %s not found in DescribeWorkerDeployment", tv.DeploymentVersionString())
|
||||
a.True(proto.Equal(&computepb.ComputeConfigSummary{
|
||||
ScalingGroups: map[string]*computepb.ComputeConfigScalingGroupSummary{
|
||||
"sg1": {
|
||||
ProviderType: validProvider.GetType(),
|
||||
},
|
||||
"sg2": {
|
||||
TaskQueueTypes: []enumspb.TaskQueueType{enumspb.TASK_QUEUE_TYPE_ACTIVITY},
|
||||
ProviderType: validProvider.GetType(),
|
||||
},
|
||||
},
|
||||
}, versionSummary.GetComputeConfig()))
|
||||
}, 10*time.Second, 500*time.Millisecond)
|
||||
|
||||
// Verify the compute config summary is reflected in ListWorkerDeployments latest version summary.
|
||||
s.EventuallyWithT(func(t *assert.CollectT) {
|
||||
a := require.New(t)
|
||||
listResp, err := s.FrontendClient().ListWorkerDeployments(ctx, &workflowservice.ListWorkerDeploymentsRequest{
|
||||
Namespace: s.Namespace().String(),
|
||||
})
|
||||
a.NoError(err)
|
||||
var found *workflowservice.ListWorkerDeploymentsResponse_WorkerDeploymentSummary
|
||||
for _, d := range listResp.GetWorkerDeployments() {
|
||||
if d.GetName() == tv.DeploymentSeries() {
|
||||
found = d
|
||||
break
|
||||
}
|
||||
}
|
||||
a.NotNil(found, "deployment %s not found in ListWorkerDeployments", tv.DeploymentSeries())
|
||||
a.True(proto.Equal(&computepb.ComputeConfigSummary{
|
||||
ScalingGroups: map[string]*computepb.ComputeConfigScalingGroupSummary{
|
||||
"sg1": {
|
||||
ProviderType: validProvider.GetType(),
|
||||
},
|
||||
"sg2": {
|
||||
TaskQueueTypes: []enumspb.TaskQueueType{enumspb.TASK_QUEUE_TYPE_ACTIVITY},
|
||||
ProviderType: validProvider.GetType(),
|
||||
},
|
||||
},
|
||||
}, found.GetLatestVersionSummary().GetComputeConfig()))
|
||||
}, 60*time.Second, 500*time.Millisecond)
|
||||
}
|
||||
|
||||
func (s *DeploymentVersionSuite) TestUpdateComputeConfig_UpdateExistingGroup() {
|
||||
@@ -1481,6 +1538,31 @@ func (s *DeploymentVersionSuite) TestUpdateComputeConfig_InvalidProvider() {
|
||||
var invalidArg *serviceerror.InvalidArgument
|
||||
s.ErrorAs(err, &invalidArg)
|
||||
s.Contains(invalidArg.Message, "invalid compute provider type")
|
||||
|
||||
// Verify compute config summary is unchanged — the failed update should not have added sg2.
|
||||
s.EventuallyWithT(func(t *assert.CollectT) {
|
||||
a := require.New(t)
|
||||
descDeployResp, err := s.FrontendClient().DescribeWorkerDeployment(ctx, &workflowservice.DescribeWorkerDeploymentRequest{
|
||||
Namespace: s.Namespace().String(),
|
||||
DeploymentName: tv.DeploymentSeries(),
|
||||
})
|
||||
a.NoError(err)
|
||||
var versionSummary *deploymentpb.WorkerDeploymentInfo_WorkerDeploymentVersionSummary
|
||||
for _, vs := range descDeployResp.GetWorkerDeploymentInfo().GetVersionSummaries() {
|
||||
if vs.GetVersion() == tv.DeploymentVersionString() { //nolint:staticcheck // SA1019: worker versioning v0.31
|
||||
versionSummary = vs
|
||||
break
|
||||
}
|
||||
}
|
||||
a.NotNil(versionSummary, "version %s not found in deployment summaries", tv.DeploymentVersionString())
|
||||
a.True(proto.Equal(&computepb.ComputeConfigSummary{
|
||||
ScalingGroups: map[string]*computepb.ComputeConfigScalingGroupSummary{
|
||||
"sg1": {
|
||||
ProviderType: computeprovider.TestInvokeComputeProviderValidComputeProvider().GetType(),
|
||||
},
|
||||
},
|
||||
}, versionSummary.GetComputeConfig()))
|
||||
}, 10*time.Second, 500*time.Millisecond)
|
||||
}
|
||||
|
||||
func (s *DeploymentVersionSuite) TestUpdateComputeConfig_DeletedVersion() {
|
||||
@@ -3867,7 +3949,7 @@ func (s *DeploymentVersionSuite) TestCreateWorkerDeploymentVersion_Success() {
|
||||
a.Equal(identity, descResp.GetWorkerDeploymentVersionInfo().GetLastModifierIdentity())
|
||||
}, 10*time.Second, 500*time.Millisecond)
|
||||
|
||||
// Verify the version shows up in deployment's version summaries with CREATED status
|
||||
// Verify the version shows up in deployment's version summaries with CREATED status and correct compute config summary.
|
||||
s.EventuallyWithT(func(t *assert.CollectT) {
|
||||
a := require.New(t)
|
||||
descDeployResp, err := s.FrontendClient().DescribeWorkerDeployment(ctx, &workflowservice.DescribeWorkerDeploymentRequest{
|
||||
@@ -3876,8 +3958,40 @@ func (s *DeploymentVersionSuite) TestCreateWorkerDeploymentVersion_Success() {
|
||||
})
|
||||
a.NoError(err)
|
||||
a.Len(descDeployResp.GetWorkerDeploymentInfo().GetVersionSummaries(), 1)
|
||||
a.Equal(tv.DeploymentVersionStringV32(), worker_versioning.ExternalWorkerDeploymentVersionToString(descDeployResp.GetWorkerDeploymentInfo().GetVersionSummaries()[0].GetDeploymentVersion()))
|
||||
a.Equal(enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_CREATED, descDeployResp.GetWorkerDeploymentInfo().GetVersionSummaries()[0].GetStatus())
|
||||
versionSummary := descDeployResp.GetWorkerDeploymentInfo().GetVersionSummaries()[0]
|
||||
a.Equal(tv.DeploymentVersionStringV32(), worker_versioning.ExternalWorkerDeploymentVersionToString(versionSummary.GetDeploymentVersion()))
|
||||
a.Equal(enumspb.WORKER_DEPLOYMENT_VERSION_STATUS_CREATED, versionSummary.GetStatus())
|
||||
a.True(proto.Equal(&computepb.ComputeConfigSummary{
|
||||
ScalingGroups: map[string]*computepb.ComputeConfigScalingGroupSummary{
|
||||
"sg1": {
|
||||
ProviderType: computeConfig.GetScalingGroups()["sg1"].GetProvider().GetType(),
|
||||
},
|
||||
},
|
||||
}, versionSummary.GetComputeConfig()))
|
||||
}, 10*time.Second, 500*time.Millisecond)
|
||||
|
||||
// Verify the compute config summary is reflected in ListWorkerDeployments latest version summary.
|
||||
s.EventuallyWithT(func(t *assert.CollectT) {
|
||||
a := require.New(t)
|
||||
listResp, err := s.FrontendClient().ListWorkerDeployments(ctx, &workflowservice.ListWorkerDeploymentsRequest{
|
||||
Namespace: s.Namespace().String(),
|
||||
})
|
||||
a.NoError(err)
|
||||
var found *workflowservice.ListWorkerDeploymentsResponse_WorkerDeploymentSummary
|
||||
for _, d := range listResp.GetWorkerDeployments() {
|
||||
if d.GetName() == deploymentName {
|
||||
found = d
|
||||
break
|
||||
}
|
||||
}
|
||||
a.NotNil(found, "deployment %s not found in ListWorkerDeployments", deploymentName)
|
||||
a.True(proto.Equal(&computepb.ComputeConfigSummary{
|
||||
ScalingGroups: map[string]*computepb.ComputeConfigScalingGroupSummary{
|
||||
"sg1": {
|
||||
ProviderType: computeConfig.GetScalingGroups()["sg1"].GetProvider().GetType(),
|
||||
},
|
||||
},
|
||||
}, found.GetLatestVersionSummary().GetComputeConfig()))
|
||||
}, 10*time.Second, 500*time.Millisecond)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user