8000 feat: [google-cloud-run] support GPU zonal redundancy setting in Clou… · googleapis/google-cloud-python@2f33995 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2f33995

Browse files
feat: [google-cloud-run] support GPU zonal redundancy setting in Cloud Run services (#13899)
BEGIN_COMMIT_OVERRIDE feat: support GPU zonal redundancy setting in Cloud Run services feat: support node selector in Cloud Run jobs for GPU setting END_COMMIT_OVERRIDE - [ ] Regenerate this pull request now. PiperOrigin-RevId: 758382964 Source-Link: googleapis/googleapis@295a170 Source-Link: googleapis/googleapis-gen@8308b10 Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXJ1bi8uT3dsQm90LnlhbWwiLCJoIjoiODMwOGIxMDg5ZjVmODQ5MGE1ZGUyZGMyZWY2YTJhYjBmZDI3ZmI4MiJ9 BEGIN_NESTED_COMMIT feat: [google-cloud-run] support node selector in Cloud Run jobs for GPU setting PiperOrigin-RevId: 758305326 Source-Link: googleapis/googleapis@b4fd697 Source-Link: googleapis/googleapis-gen@8ac2c3b Copy-Tag: eyJwIjoicGFja2FnZXMvZ29vZ2xlLWNsb3VkLXJ1bi8uT3dsQm90LnlhbWwiLCJoIjoiOGFjMmMzYjBkODhhNzA0NTlhN2M3NDRiMDliNjZkODQ4OTM4Nzk4OSJ9 END_NESTED_COMMIT --------- Co-authored-by: Owl Bot <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent 5d7b972 commit 2f33995

File tree

10 files changed

+80
-8
lines changed

10 files changed

+80
-8
lines changed

packages/google-cloud-run/google/cloud/run_v2/types/condition.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ class CommonReason(proto.Enum):
157157
INTERNAL (16):
158158
An internal error occurred. Further
159159
information may be in the message.
160+
VPC_NETWORK_NOT_FOUND (17):
161+
User-provided VPC network was not found.
160162
"""
161163
COMMON_REASON_UNDEFINED = 0
162164
UNKNOWN = 1
@@ -173,6 +175,7 @@ class CommonReason(proto.Enum):
173175
IMMEDIATE_RETRY = 14
174176
POSTPONED_RETRY = 15
175177
INTERNAL = 16
178+
VPC_NETWORK_NOT_FOUND = 17
176179

177180
class RevisionReason(proto.Enum):
178181
r"""Reasons specific to Revision resource.

packages/google-cloud-run/google/cloud/run_v2/types/execution_template.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,15 @@ class ExecutionTemplate(proto.Message):
6666
<p>This field follows Kubernetes annotations' namespacing, limits, and
6767
rules.
6868
parallelism (int):
69-
Specifies the maximum desired number of tasks the execution
70-
should run at given time. Must be <= task_count. When the
71-
job is run, if this field is 0 or unset, the maximum
72-
possible value will be used for that execution. The actual
73-
number of tasks running in steady state will be less than
74-
this number when there are fewer tasks waiting to be
75-
completed remaining, i.e. when the work left to do is less
76-
than max parallelism.
69+
Optional. Specifies the maximum desired
70+
number of tasks the execution should run at
71+
given time. When the job is run, if this field
72+
is 0 or unset, the maximum possible value will
73+
be used for that execution. The actual number of
74+
tasks running in steady state will be less than
75+
this number when there are fewer tasks waiting
76+
to be completed remaining, i.e. when the work
77+
left to do is less than max parallelism.
7778
task_count (int):
7879
Specifies the desired number of tasks the
7980
execution should run. Setting to 1 means that

packages/google-cloud-run/google/cloud/run_v2/types/revision.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,9 @@ class Revision(proto.Message):
160160
configuration. A Revision references a container image.
161161
Revisions are only created by updates to its parent Service.
162162
163+
164+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
165+
163166
Attributes:
164167
name (str):
165168
Output only. The unique name of this
@@ -282,6 +285,14 @@ class Revision(proto.Message):
282285
settings for the revision.
283286
node_selector (google.cloud.run_v2.types.NodeSelector):
284287
The node selector for the revision.
288+
gpu_zonal_redundancy_disabled (bool):
289+
Optional. Output only. True if GPU zonal
290+
redundancy is disabled on this revision.
291+
292+
This field is a member of `oneof`_ ``_gpu_zonal_redundancy_disabled``.
293+
creator (str):
294+
Output only. Email address of the
295+
authenticated creator.
285296
etag (str):
286297
Output only. A system-generated fingerprint
287298
for this version of the resource. May be used to
@@ -433,6 +444,15 @@ class Revision(proto.Message):
433444
number=40,
434445
message=vendor_settings.NodeSelector,
435446
)
447+
gpu_zonal_redundancy_disabled: bool = proto.Field(
448+
proto.BOOL,
449+
number=48,
450+
optional=True,
451+
)
452+
creator: str = proto.Field(
453+
proto.STRING,
454+
number=49,
455+
)
436456
etag: str = proto.Field(
437457
proto.STRING,
438458
number=99,

packages/google-cloud-run/google/cloud/run_v2/types/revision_template.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ class RevisionTemplate(proto.Message):
3434
r"""RevisionTemplate describes the data a revision should have
3535
when created from a template.
3636
37+
38+
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
39+
3740
Attributes:
3841
revision (str):
3942
Optional. The unique name for the revision.
@@ -124,6 +127,11 @@ class RevisionTemplate(proto.Message):
124127
node_selector (google.cloud.run_v2.types.NodeSelector):
125128
Optional. The node selector for the revision
126129
template.
130+
gpu_zonal_redundancy_disabled (bool):
131+
Optional. True if GPU zonal redundancy is
132+
disabled on this revision.
133+
134+
This field is a member of `oneof`_ ``_gpu_zonal_redundancy_disabled``.
127135
"""
128136

129137
revision: str = proto.Field(
@@ -212,6 +220,11 @@ class RevisionTemplate(proto.Message):
212220
number=21,
213221
message=vendor_settings.NodeSelector,
214222
)
223+
gpu_zonal_redundancy_disabled: bool = proto.Field(
224+
proto.BOOL,
225+
number=24,
226+
optional=True,
227+
)
215228

216229

217230
__all__ = tuple(sorted(__protobuf__.manifest))

packages/google-cloud-run/google/cloud/run_v2/types/task.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,8 @@ class Task(proto.Message):
250250
execution can be found in Cloud Console.
251251
satisfies_pzs (bool):
252252
Output only. Reserved for future use.
253+
node_selector (google.cloud.run_v2.types.NodeSelector):
254+
Output only. The node selector for the task.
253255
etag (str):
254256
Output only. A system-generated fingerprint
255257
for this version of the resource. May be used to
@@ -392,6 +394,11 @@ class Task(proto.Message):
392394
proto.BOOL,
393395
number=33,
394396
)
397+
node_selector: vendor_settings.NodeSelector = proto.Field(
398+
proto.MESSAGE,
399+
number=36,
400+
message=vendor_settings.NodeSelector,
401+
)
395402
etag: str = proto.Field(
396403
proto.STRING,
397404
number=99,

packages/google-cloud-run/google/cloud/run_v2/types/task_template.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ class TaskTemplate(proto.Message):
7575
Optional. VPC Access configuration to use for
7676
this Task. For more information, visit
7777
https://cloud.google.com/run/docs/configuring/connecting-vpc.
78+
node_selector (google.cloud.run_v2.types.NodeSelector):
79+
Optional. The node selector for the task
80+
template.
7881
"""
7982

8083
containers: MutableSequence[k8s_min.Container] = proto.RepeatedField(
@@ -115,6 +118,11 @@ class TaskTemplate(proto.Message):
115118
number=8,
116119
message=vendor_settings.VpcAccess,
117120
)
121+
node_selector: vendor_settings.NodeSelector = proto.Field(
122+
proto.MESSAGE,
123+
number=11,
124+
message=vendor_settings.NodeSelector,
125+
)
118126

119127

120128
__all__ = tuple(sorted(__protobuf__.manifest))
112 KB
Binary file not shown.

packages/google-cloud-run/tests/unit/gapic/run_v2/test_jobs.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6352,6 +6352,7 @@ def test_create_job_rest_call_success(request_type):
63526352
}
63536353
],
63546354
},
6355+
"node_selector": {"accelerator": "accelerator_value"},
63556356
},
63566357
},
63576358
"observed_generation": 2021,
@@ -6958,6 +6959,7 @@ def test_update_job_rest_call_success(request_type):
69586959
}
69596960
],
69606961
},
6962+
"node_selector": {"accelerator": "accelerator_value"},
69616963
},
69626964
},
69636965
"observed_generation": 2021,

packages/google-cloud-run/tests/unit/gapic/run_v2/test_revisions.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1121,6 +1121,8 @@ def test_get_revision(request_type, transport: str = "grpc"):
11211121
log_uri="log_uri_value",
11221122
satisfies_pzs=True,
11231123
session_affinity=True,
1124+
gpu_zonal_redundancy_disabled=True,
1125+
creator="creator_value",
11241126
etag="etag_value",
11251127
)
11261128
response = client.get_revision(request)
@@ -1154,6 +1156,8 @@ def test_get_revision(request_type, transport: str = "grpc"):
11541156
assert response.log_uri == "log_uri_value"
11551157
assert response.satisfies_pzs is True
11561158
assert response.session_affinity is True
1159+
assert response.gpu_zonal_redundancy_disabled is True
1160+
assert response.creator == "creator_value"
11571161
assert response.etag == "etag_value"
11581162

11591163

@@ -1295,6 +1299,8 @@ async def test_get_revision_async(
12951299
log_uri="log_uri_value",
12961300
satisfies_pzs=True,
12971301
session_affinity=True,
1302+
gpu_zonal_redundancy_disabled=True,
1303+
creator="creator_value",
12981304
etag="etag_value",
12991305
)
13001306
)
@@ -1329,6 +1335,8 @@ async def test_get_revision_async(
13291335
assert response.log_uri == "log_uri_value"
13301336
assert response.satisfies_pzs is True
13311337
assert response.session_affinity is True
1338+
assert response.gpu_zonal_redundancy_disabled is True
1339+
assert response.creator == "creator_value"
13321340
assert response.etag == "etag_value"
13331341

13341342

@@ -3068,6 +3076,8 @@ async def test_get_revision_empty_call_grpc_asyncio():
30683076
log_uri="log_uri_value",
30693077
satisfies_pzs=True,
30703078
session_affinity=True,
3079+
gpu_zonal_redundancy_disabled=True,
3080+
creator="creator_value",
30713081
etag="etag_value",
30723082
)
30733083
)
@@ -3160,6 +3170,8 @@ async def test_get_revision_routing_parameters_request_1_grpc_asyncio():
31603170
log_uri="log_uri_value",
31613171
satisfies_pzs=True,
31623172
session_affinity=True,
3173+
gpu_zonal_redundancy_disabled=True,
3174+
creator="creator_value",
31633175
etag="etag_value",
31643176
)
31653177
)
@@ -3317,6 +3329,8 @@ def test_get_revision_rest_call_success(request_type):
33173329
log_uri="log_uri_value",
33183330
satisfies_pzs=True,
33193331
session_affinity=True,
3332+
gpu_zonal_redundancy_disabled=True,
3333+
creator="creator_value",
33203334
etag="etag_value",
33213335
)
33223336

@@ -3355,6 +3369,8 @@ def test_get_revision_rest_call_success(request_type):
33553369
assert response.log_uri == "log_uri_value"
33563370
assert response.satisfies_pzs is True
33573371
assert response.session_affinity is True
3372+
assert response.gpu_zonal_redundancy_disabled is True
3373+
assert response.creator == "creator_value"
33583374
assert response.etag == "etag_value"
33593375

33603376

packages/google-cloud-run/tests/unit/gapic/run_v2/test_services.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5925,6 +5925,7 @@ def test_create_service_rest_call_success(request_type):
59255925
"session_affinity": True,
59265926
"health_check_disabled": True,
59275927
"node_selector": {"accelerator": "accelerator_value"},
5928+
"gpu_zonal_redundancy_disabled": True,
59285929
},
59295930
"traffic": [
59305931
{
@@ -6590,6 +6591,7 @@ def test_update_service_rest_call_success(request_type):
65906591
"session_affinity": True,
65916592
"health_check_disabled": True,
65926593
"node_selector": {"accelerator": "accelerator_value"},
6594+
"gpu_zonal_redundancy_disabled": True,
65936595
},
65946596
"traffic": [
65956597
{

0 commit comments

Comments
 (0)
0