File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -63,7 +63,7 @@ dependencies = [
6363 " timeout-sampler>=1.0.6" ,
6464 " shortuuid>=1.0.13" ,
6565 " jira>=3.8.0" ,
66- " openshift-python-wrapper>=11.0.38 " ,
66+ " openshift-python-wrapper>=11.0.50 " ,
6767 " semver>=3.0.4" ,
6868 " pytest-order>=1.3.0" ,
6969 " marshmallow==3.26.1,<4" , # this version is needed for pytest-jira
Original file line number Diff line number Diff line change @@ -83,6 +83,7 @@ def default_notebook(
8383
8484 # Set the correct username
8585 username = get_username (dyn_client = admin_client )
86+ assert username , "Failed to determine username from the cluster"
8687
8788 # Set the image path based on internal image registry status
8889 minimal_image_path = (
Original file line number Diff line number Diff line change 1- from kubernetes .dynamic import DynamicClient , Resource , ResourceInstance
1+ from kubernetes .dynamic import DynamicClient
2+ from ocp_resources .self_subject_review import SelfSubjectReview
3+ from ocp_resources .user import User
4+ from simple_logger .logger import get_logger
25
6+ LOGGER = get_logger (name = __name__ )
37
4- def get_username (dyn_client : DynamicClient ) -> str :
8+
9+ def get_username (dyn_client : DynamicClient ) -> str | None :
510 """Gets the username for the client (see kubectl -v8 auth whoami)"""
6- self_subject_review_resource : Resource = dyn_client .resources .get (
7- api_version = "authentication.k8s.io/v1" , kind = "SelfSubjectReview"
8- )
9- self_subject_review : ResourceInstance = dyn_client .create (self_subject_review_resource )
10- username : str = self_subject_review .status .userInfo .username
11+ username : str | None
12+ try :
13+ self_subject_review = SelfSubjectReview (client = dyn_client , name = "selfSubjectReview" ).create ()
14+ assert self_subject_review
15+ username = self_subject_review .status .userInfo .username
16+ except NotImplementedError :
17+ LOGGER .info (
18+ "SelfSubjectReview not found. Falling back to user.openshift.io/v1/users/~ for OpenShift versions <=4.14"
19+ )
20+ user = User (client = dyn_client , name = "~" ).instance
21+ username = user .get ("metadata" , {}).get ("name" , None )
22+
1123 return username
You can’t perform that action at this time.
0 commit comments