Skip to content

Commit 2f49d44

Browse files
Google APIscopybara-github
authored andcommitted
feat: Add ProvisioningModelMix to support mixing of spot and standard instances for secondary workers
feat: Add support for configuration of bootdisk IOPS and throughput when bootdisk is a hyperdisk PiperOrigin-RevId: 686008645
1 parent f78cd2f commit 2f49d44

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

google/cloud/dataproc/v1/clusters.proto

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -794,6 +794,30 @@ message ManagedGroupConfig {
794794
// Instance flexibility Policy allowing a mixture of VM shapes and provisioning
795795
// models.
796796
message InstanceFlexibilityPolicy {
797+
// Defines how Dataproc should create VMs with a mixture of provisioning
798+
// models.
799+
message ProvisioningModelMix {
800+
// Optional. The base capacity that will always use Standard VMs to avoid
801+
// risk of more preemption than the minimum capacity you need. Dataproc will
802+
// create only standard VMs until it reaches standard_capacity_base, then it
803+
// will start using standard_capacity_percent_above_base to mix Spot with
804+
// Standard VMs. eg. If 15 instances are requested and
805+
// standard_capacity_base is 5, Dataproc will create 5 standard VMs and then
806+
// start mixing spot and standard VMs for remaining 10 instances.
807+
optional int32 standard_capacity_base = 1
808+
[(google.api.field_behavior) = OPTIONAL];
809+
810+
// Optional. The percentage of target capacity that should use Standard VM.
811+
// The remaining percentage will use Spot VMs. The percentage applies only
812+
// to the capacity above standard_capacity_base. eg. If 15 instances are
813+
// requested and standard_capacity_base is 5 and
814+
// standard_capacity_percent_above_base is 30, Dataproc will create 5
815+
// standard VMs and then start mixing spot and standard VMs for remaining 10
816+
// instances. The mix will be 30% standard and 70% spot.
817+
optional int32 standard_capacity_percent_above_base = 2
818+
[(google.api.field_behavior) = OPTIONAL];
819+
}
820+
797821
// Defines machines types and a rank to which the machines types belong.
798822
message InstanceSelection {
799823
// Optional. Full machine-type names, e.g. "n1-standard-16".
@@ -818,6 +842,11 @@ message InstanceFlexibilityPolicy {
818842
optional int32 vm_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
819843
}
820844

845+
// Optional. Defines how the Group selects the provisioning model to ensure
846+
// required reliability.
847+
ProvisioningModelMix provisioning_model_mix = 1
848+
[(google.api.field_behavior) = OPTIONAL];
849+
821850
// Optional. List of instance selection options that the group will use when
822851
// creating new VMs.
823852
repeated InstanceSelection instance_selection_list = 2
@@ -883,6 +912,19 @@ message DiskConfig {
883912
// See [local SSD
884913
// performance](https://cloud.google.com/compute/docs/disks/local-ssd#performance).
885914
string local_ssd_interface = 4 [(google.api.field_behavior) = OPTIONAL];
915+
916+
// Optional. Indicates how many IOPS to provision for the disk. This sets the
917+
// number of I/O operations per second that the disk can handle. Note: This
918+
// field is only supported if boot_disk_type is hyperdisk-balanced.
919+
optional int64 boot_disk_provisioned_iops = 5
920+
[(google.api.field_behavior) = OPTIONAL];
921+
922+
// Optional. Indicates how much throughput to provision for the disk. This
923+
// sets the number of throughput mb per second that the disk can handle.
924+
// Values must be greater than or equal to 1. Note: This field is only
925+
// supported if boot_disk_type is hyperdisk-balanced.
926+
optional int64 boot_disk_provisioned_throughput = 6
927+
[(google.api.field_behavior) = OPTIONAL];
886928
}
887929

888930
// Node group identification and configuration information.

0 commit comments

Comments
 (0)