Skip to content

Commit 3809e9a

Browse files
authored
Batch dependabot PRs into single PR + bump python kubernetes dependency (#157)
# Summary Based on [GitHub Dependabot documentation](https://docs.github.com/en/code-security/dependabot/working-with-dependabot/dependabot-options-reference#groups--) we can define groups under each `package-ecosystem`. This allows to bundle multiple version updated to single PR. This will reduce the noise generated by dependabot. Additionally bumped python `kubernetes` version to match what we use in `Go` and that is `v1.30.x`. Same as for kube client dependencies in Go added ignore rule for python `kubernetes` dependency so we have to manually update it. ## Proof of Work There is no way to check `dependabot.yml` configuration other than simple validation [check](https://github.com/mongodb/mongodb-kubernetes/pull/157/checks?check_run_id=42781220754). ## Checklist - [ ] Have you linked a jira ticket and/or is the ticket in the title? - [ ] Have you checked whether your jira ticket required DOCSP changes? - [ ] Have you checked for release_note changes? ## Reminder (Please remove this when merging) - Please try to Approve or Reject Changes the PR, keep PRs in review as short as possible - Our Short Guide for PRs: [Link](https://docs.google.com/document/d/1T93KUtdvONq43vfTfUt8l92uo4e4SEEvFbIEKOxGr44/edit?tab=t.0) - Remember the following Communication Standards - use comment prefixes for clarity: * **blocking**: Must be addressed before approval. * **follow-up**: Can be addressed in a later PR or ticket. * **q**: Clarifying question. * **nit**: Non-blocking suggestions. * **note**: Side-note, non-actionable. Example: Praise * --> no prefix is considered a question
1 parent 8e5b30c commit 3809e9a

File tree

7 files changed

+51
-13
lines changed

7 files changed

+51
-13
lines changed

.github/dependabot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,27 @@ updates:
55
schedule:
66
interval: weekly
77
day: monday
8+
groups:
9+
go-deps:
10+
applies-to: "version-updates"
11+
patterns:
12+
- "*"
813
ignore:
914
- dependency-name: k8s.io/api
1015
- dependency-name: k8s.io/apimachinery
1116
- dependency-name: k8s.io/client-go
1217
- dependency-name: k8s.io/code-generator
1318
- dependency-name: sigs.k8s.io/controller-runtime
19+
1420
- package-ecosystem: pip
1521
directory: "/"
1622
schedule:
1723
interval: weekly
1824
day: monday
25+
groups:
26+
pip-deps:
27+
applies-to: "version-updates"
28+
patterns:
29+
- "*"
30+
ignore:
31+
- dependency-name: kubernetes

docker/mongodb-kubernetes-tests/kubetester/certs.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -804,16 +804,16 @@ def create_x509_agent_tls_certs(issuer: str, namespace: str, name: str, secret_b
804804

805805
def approve_certificate(name: str) -> None:
806806
"""Approves the CertificateSigningRequest with the provided name"""
807-
body = client.CertificatesV1beta1Api().read_certificate_signing_request_status(name)
808-
conditions = client.V1beta1CertificateSigningRequestCondition(
807+
body = client.CertificatesV1Api().read_certificate_signing_request_status(name)
808+
conditions = client.V1CertificateSigningRequestCondition(
809809
last_update_time=datetime.now(timezone.utc).astimezone(),
810810
message="This certificate was approved by E2E testing framework",
811811
reason="E2ETestingFramework",
812812
type="Approved",
813813
)
814814

815815
body.status.conditions = [conditions]
816-
client.CertificatesV1beta1Api().replace_certificate_signing_request_approval(name, body)
816+
client.CertificatesV1Api().replace_certificate_signing_request_approval(name, body)
817817

818818

819819
def create_x509_user_cert(issuer: str, namespace: str, path: str):
@@ -876,7 +876,7 @@ def yield_existing_csrs(csr_names: List[str], timeout: int = 300) -> Generator[s
876876
while len(csr_names) > 0 and time.time() < stop_time:
877877
csr = random.choice(csr_names)
878878
try:
879-
client.CertificatesV1beta1Api().read_certificate_signing_request_status(csr)
879+
client.CertificatesV1Api().read_certificate_signing_request_status(csr)
880880
except ApiException:
881881
time.sleep(3)
882882
continue

docker/mongodb-kubernetes-tests/kubetester/crypto.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ def generate_csr(namespace: str, host: str, servicename: str):
5050

5151

5252
def get_pem_certificate(name: str) -> Optional[str]:
53-
body = client.CertificatesV1beta1Api().read_certificate_signing_request_status(name)
53+
body = client.CertificatesV1Api().read_certificate_signing_request_status(name)
5454
if body.status.certificate is None:
5555
return None
5656
return base64.b64decode(body.status.certificate)

docker/mongodb-kubernetes-tests/kubetester/kubetester.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ def clients(name, api_client: Optional[client.ApiClient] = None):
325325
"appsv1": client.AppsV1Api(api_client=api_client),
326326
"storagev1": client.StorageV1Api(api_client=api_client),
327327
"customv1": client.CustomObjectsApi(api_client=api_client),
328-
"certificates": client.CertificatesV1beta1Api(api_client=api_client),
328+
"certificates": client.CertificatesV1Api(api_client=api_client),
329329
"namespace": KubernetesTester.get_namespace(),
330330
}[name]
331331

@@ -807,7 +807,7 @@ def setup_method(self):
807807
self.client = client
808808
self.corev1 = client.CoreV1Api()
809809
self.appsv1 = client.AppsV1Api()
810-
self.certificates = client.CertificatesV1beta1Api()
810+
self.certificates = client.CertificatesV1Api()
811811
self.customv1 = client.CustomObjectsApi()
812812
self.namespace = KubernetesTester.get_namespace()
813813
self.name = None
@@ -1224,19 +1224,19 @@ def generate_certfile(
12241224
if namespace is None:
12251225
namespace = self.namespace
12261226

1227-
csr_body = client.V1beta1CertificateSigningRequest(
1227+
csr_body = client.V1CertificateSigningRequest(
12281228
metadata=client.V1ObjectMeta(name=csr_name, namespace=namespace),
1229-
spec=client.V1beta1CertificateSigningRequestSpec(
1229+
spec=client.V1CertificateSigningRequestSpec(
12301230
groups=["system:authenticated"],
12311231
usages=["digital signature", "key encipherment", "client auth"],
12321232
request=encoded_request,
12331233
),
12341234
)
12351235

1236-
client.CertificatesV1beta1Api().create_certificate_signing_request(csr_body)
1236+
client.CertificatesV1Api().create_certificate_signing_request(csr_body)
12371237
self.approve_certificate(csr_name)
12381238
wait_for_certs_to_be_issued([csr_name])
1239-
csr = client.CertificatesV1beta1Api().read_certificate_signing_request(csr_name)
1239+
csr = client.CertificatesV1Api().read_certificate_signing_request(csr_name)
12401240
certificate = b64decode(csr.status.certificate)
12411241

12421242
tmp = tempfile.NamedTemporaryFile()
@@ -1383,7 +1383,7 @@ def get_csr_sans(csr_name: str) -> List[str]:
13831383
Return all of the subject alternative names for a given Kubernetes
13841384
certificate signing request.
13851385
"""
1386-
csr = client.CertificatesV1beta1Api().read_certificate_signing_request_status(csr_name)
1386+
csr = client.CertificatesV1Api().read_certificate_signing_request_status(csr_name)
13871387
base64_csr_request = csr.spec.request
13881388
csr_pem_string = b64decode(base64_csr_request)
13891389
csr = x509.load_pem_x509_csr(csr_pem_string, default_backend())

docker/mongodb-kubernetes-tests/tests/opsmanager/withMonitoredAppDB/om_ops_manager_pod_spec.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,9 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
145145
"port": 8080,
146146
"scheme": "HTTP",
147147
},
148+
"grpc": None,
148149
"failure_threshold": 20,
150+
"termination_grace_period_seconds": None,
149151
"timeout_seconds": 5,
150152
"period_seconds": 5,
151153
"success_threshold": 1,
@@ -161,7 +163,9 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
161163
"port": 8080,
162164
"scheme": "HTTP",
163165
},
166+
"grpc": None,
164167
"failure_threshold": 30,
168+
"termination_grace_period_seconds": None,
165169
"timeout_seconds": 10,
166170
"period_seconds": 25,
167171
"success_threshold": 1,
@@ -177,6 +181,7 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
177181
"sub_path_expr": None,
178182
"mount_propagation": None,
179183
"read_only": True,
184+
"recursive_read_only": None,
180185
},
181186
{
182187
"name": "mongodb-uri",
@@ -185,6 +190,7 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
185190
"sub_path_expr": None,
186191
"mount_propagation": None,
187192
"read_only": True,
193+
"recursive_read_only": None,
188194
},
189195
{
190196
"name": "test-volume",
@@ -193,6 +199,7 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
193199
"sub_path_expr": None,
194200
"mount_propagation": None,
195201
"read_only": None,
202+
"recursive_read_only": None,
196203
},
197204
{
198205
"name": "data",
@@ -201,6 +208,7 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
201208
"sub_path_expr": None,
202209
"mount_propagation": None,
203210
"read_only": None,
211+
"recursive_read_only": None,
204212
},
205213
{
206214
"name": "data",
@@ -209,6 +217,7 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
209217
"sub_path_expr": None,
210218
"mount_propagation": None,
211219
"read_only": None,
220+
"recursive_read_only": None,
212221
},
213222
{
214223
"name": "data",
@@ -217,6 +226,7 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
217226
"sub_path_expr": None,
218227
"mount_propagation": None,
219228
"read_only": None,
229+
"recursive_read_only": None,
220230
},
221231
{
222232
"name": "data",
@@ -225,6 +235,7 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
225235
"sub_path_expr": None,
226236
"mount_propagation": None,
227237
"read_only": None,
238+
"recursive_read_only": None,
228239
},
229240
{
230241
"name": "data",
@@ -233,6 +244,7 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
233244
"sub_path_expr": None,
234245
"mount_propagation": None,
235246
"read_only": None,
247+
"recursive_read_only": None,
236248
},
237249
{
238250
"name": "data",
@@ -241,6 +253,7 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
241253
"sub_path_expr": None,
242254
"mount_propagation": None,
243255
"read_only": None,
256+
"recursive_read_only": None,
244257
},
245258
],
246259
}
@@ -259,6 +272,7 @@ def test_om_container_override(self, ops_manager: MongoDBOpsManager):
259272
"sub_path_expr": None,
260273
"mount_propagation": None,
261274
"read_only": True,
275+
"recursive_read_only": None,
262276
},
263277
)
264278

docker/mongodb-kubernetes-tests/tests/replicaset/replica_set_custom_podspec.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
3131
{
3232
"name": "mongodb-enterprise-database",
3333
"resources": {
34+
"claims": None,
3435
"limits": {
3536
"cpu": "2",
3637
},
@@ -46,6 +47,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
4647
"sub_path_expr": None,
4748
"mount_propagation": None,
4849
"read_only": True,
50+
"recursive_read_only": None,
4951
},
5052
{
5153
"name": "test-volume",
@@ -54,6 +56,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
5456
"sub_path_expr": None,
5557
"mount_propagation": None,
5658
"read_only": None,
59+
"recursive_read_only": None,
5760
},
5861
{
5962
"name": "agent-api-key",
@@ -62,6 +65,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
6265
"sub_path_expr": None,
6366
"mount_propagation": None,
6467
"read_only": None,
68+
"recursive_read_only": None,
6569
},
6670
{
6771
"name": "data",
@@ -70,6 +74,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
7074
"sub_path_expr": None,
7175
"mount_propagation": None,
7276
"read_only": None,
77+
"recursive_read_only": None,
7378
},
7479
{
7580
"name": "data",
@@ -78,6 +83,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
7883
"sub_path_expr": None,
7984
"mount_propagation": None,
8085
"read_only": None,
86+
"recursive_read_only": None,
8187
},
8288
{
8389
"name": "data",
@@ -86,6 +92,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
8692
"sub_path_expr": None,
8793
"mount_propagation": None,
8894
"read_only": None,
95+
"recursive_read_only": None,
8996
},
9097
{
9198
"name": "agent",
@@ -94,6 +101,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
94101
"sub_path_expr": None,
95102
"mount_propagation": None,
96103
"read_only": None,
104+
"recursive_read_only": None,
97105
},
98106
{
99107
"name": "agent",
@@ -102,6 +110,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
102110
"sub_path_expr": None,
103111
"mount_propagation": None,
104112
"read_only": None,
113+
"recursive_read_only": None,
105114
},
106115
{
107116
"name": "agent",
@@ -110,6 +119,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
110119
"sub_path_expr": None,
111120
"mount_propagation": None,
112121
"read_only": None,
122+
"recursive_read_only": None,
113123
},
114124
],
115125
},
@@ -124,6 +134,7 @@ def test_stateful_set_spec_updated(replica_set, namespace):
124134
"sub_path_expr": None,
125135
"mount_propagation": None,
126136
"read_only": None,
137+
"recursive_read_only": None,
127138
}
128139
],
129140
"command": ["/bin/sh"],

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ MarkupSafe==2.0.1
88
semver==2.13.0
99
chardet==3.0.4
1010
jsonpatch==1.33
11-
kubernetes==17.17.0
11+
kubernetes==30.1.0
1212
pymongo==4.6.3
1313
pytest==8.3.5
1414
pytest-asyncio==0.26.0

0 commit comments

Comments
 (0)