Skip to content

Commit 52d4558

Browse files
feat: support required_registration_fraction for secondary workers (#11970)
- [ ] Regenerate this pull request now. PiperOrigin-RevId: 578743167 Source-Link: googleapis/googleapis@a70dd17 Source-Link: googleapis/googleapis-gen@501cba3 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLWRhdGFwcm9jLy5Pd2xCb3QueWFtbCIsImgiOiI1MDFjYmEzMzM4NjI3YTgyMzU5ZDJmMzA2OWQ3ZTVhZjExYjdiM2RkIn0= --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent a27b282 commit 52d4558

File tree

8 files changed

+53
-0
lines changed

8 files changed

+53
-0
lines changed

packages/google-cloud-dataproc/google/cloud/dataproc/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@
114114
ShieldedInstanceConfig,
115115
SoftwareConfig,
116116
StartClusterRequest,
117+
StartupConfig,
117118
StopClusterRequest,
118119
UpdateClusterRequest,
119120
VirtualClusterConfig,
@@ -268,6 +269,7 @@
268269
"ShieldedInstanceConfig",
269270
"SoftwareConfig",
270271
"StartClusterRequest",
272+
"StartupConfig",
271273
"StopClusterRequest",
272274
"UpdateClusterRequest",
273275
"VirtualClusterConfig",

packages/google-cloud-dataproc/google/cloud/dataproc_v1/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
ShieldedInstanceConfig,
9999
SoftwareConfig,
100100
StartClusterRequest,
101+
StartupConfig,
101102
StopClusterRequest,
102103
UpdateClusterRequest,
103104
VirtualClusterConfig,
@@ -305,6 +306,7 @@
305306
"SparkSqlBatch",
306307
"SparkSqlJob",
307308
"StartClusterRequest",
309+
"StartupConfig",
308310
"StopClusterRequest",
309311
"SubmitJobRequest",
310312
"TemplateParameter",

packages/google-cloud-dataproc/google/cloud/dataproc_v1/types/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
ShieldedInstanceConfig,
7676
SoftwareConfig,
7777
StartClusterRequest,
78+
StartupConfig,
7879
StopClusterRequest,
7980
UpdateClusterRequest,
8081
VirtualClusterConfig,
@@ -217,6 +218,7 @@
217218
"ShieldedInstanceConfig",
218219
"SoftwareConfig",
219220
"StartClusterRequest",
221+
"StartupConfig",
220222
"StopClusterRequest",
221223
"UpdateClusterRequest",
222224
"VirtualClusterConfig",

packages/google-cloud-dataproc/google/cloud/dataproc_v1/types/clusters.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
"ShieldedInstanceConfig",
4141
"ConfidentialInstanceConfig",
4242
"InstanceGroupConfig",
43+
"StartupConfig",
4344
"InstanceReference",
4445
"ManagedGroupConfig",
4546
"InstanceFlexibilityPolicy",
@@ -856,6 +857,10 @@ class InstanceGroupConfig(proto.Message):
856857
Optional. Instance flexibility Policy
857858
allowing a mixture of VM shapes and provisioning
858859
models.
860+
startup_config (google.cloud.dataproc_v1.types.StartupConfig):
861+
Optional. Configuration to handle the startup
862+
of instances during cluster create and update
863+
process.
859864
"""
860865

861866
class Preemptibility(proto.Enum):
@@ -952,6 +957,39 @@ class Preemptibility(proto.Enum):
952957
number=13,
953958
message="InstanceFlexibilityPolicy",
954959
)
960+
startup_config: "StartupConfig" = proto.Field(
961+
proto.MESSAGE,
962+
number=14,
963+
message="StartupConfig",
964+
)
965+
966+
967+
class StartupConfig(proto.Message):
968+
r"""Configuration to handle the startup of instances during
969+
cluster create and update process.
970+
971+
972+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
973+
974+
Attributes:
975+
required_registration_fraction (float):
976+
Optional. The config setting to enable cluster creation/
977+
updation to be successful only after
978+
required_registration_fraction of instances are up and
979+
running. This configuration is applicable to only secondary
980+
workers for now. The cluster will fail if
981+
required_registration_fraction of instances are not
982+
available. This will include instance creation, agent
983+
registration, and service registration (if enabled).
984+
985+
This field is a member of `oneof`_ ``_required_registration_fraction``.
986+
"""
987+
988+
required_registration_fraction: float = proto.Field(
989+
proto.DOUBLE,
990+
number=1,
991+
optional=True,
992+
)
955993

956994

957995
class InstanceReference(proto.Message):

packages/google-cloud-dataproc/noxfile.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@
2929

3030
BLACK_VERSION = "black[jupyter]==23.7.0"
3131
ISORT_VERSION = "isort==5.11.0"
32+
3233
LINT_PATHS = ["docs", "google", "tests", "noxfile.py", "setup.py"]
3334

35+
3436
DEFAULT_PYTHON_VERSION = "3.9"
3537

3638
UNIT_TEST_PYTHON_VERSIONS: List[str] = ["3.7", "3.8", "3.9", "3.10", "3.11"]
@@ -89,6 +91,7 @@ def lint(session):
8991
"--check",
9092
*LINT_PATHS,
9193
)
94+
9295
session.run("flake8", "google", "tests")
9396

9497

packages/google-cloud-dataproc/tests/unit/gapic/dataproc_v1/test_cluster_controller.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2868,6 +2868,7 @@ def test_create_cluster_rest(request_type):
28682868
{"machine_type": "machine_type_value", "vm_count": 875}
28692869
],
28702870
},
2871+
"startup_config": {"required_registration_fraction": 0.3216},
28712872
},
28722873
"worker_config": {},
28732874
"secondary_worker_config": {},
@@ -3437,6 +3438,7 @@ def test_update_cluster_rest(request_type):
34373438
{"machine_type": "machine_type_value", "vm_count": 875}
34383439
],
34393440
},
3441+
"startup_config": {"required_registration_fraction": 0.3216},
34403442
},
34413443
"worker_config": {},
34423444
"secondary_worker_config": {},

packages/google-cloud-dataproc/tests/unit/gapic/dataproc_v1/test_node_group_controller.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1569,6 +1569,7 @@ def test_create_node_group_rest(request_type):
15691569
{"machine_type": "machine_type_value", "vm_count": 875}
15701570
],
15711571
},
1572+
"startup_config": {"required_registration_fraction": 0.3216},
15721573
},
15731574
"labels": {},
15741575
}

packages/google-cloud-dataproc/tests/unit/gapic/dataproc_v1/test_workflow_template_service.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2834,6 +2834,7 @@ def test_create_workflow_template_rest(request_type):
28342834
{"machine_type": "machine_type_value", "vm_count": 875}
28352835
],
28362836
},
2837+
"startup_config": {"required_registration_fraction": 0.3216},
28372838
},
28382839
"worker_config": {},
28392840
"secondary_worker_config": {},
@@ -4026,6 +4027,7 @@ def test_instantiate_inline_workflow_template_rest(request_type):
40264027
{"machine_type": "machine_type_value", "vm_count": 875}
40274028
],
40284029
},
4030+
"startup_config": {"required_registration_fraction": 0.3216},
40294031
},
40304032
"worker_config": {},
40314033
"secondary_worker_config": {},
@@ -4658,6 +4660,7 @@ def test_update_workflow_template_rest(request_type):
46584660
{"machine_type": "machine_type_value", "vm_count": 875}
46594661
],
46604662
},
4663+
"startup_config": {"required_registration_fraction": 0.3216},
46614664
},
46624665
"worker_config": {},
46634666
"secondary_worker_config": {},

0 commit comments

Comments
 (0)