Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
framework.test_app.base_runner.KubernetesBaseRunner Class Reference
Inheritance diagram for framework.test_app.base_runner.KubernetesBaseRunner:
Inheritance graph
[legend]

Public Member Functions

def __init__ (self, k8s_namespace, namespace_template=None, reuse_namespace=False)
 
def cleanup (self, *force=False)
 
def delete_namespace (self, wait_for_deletion=True)
 
def run (self, **kwargs)
 

Public Attributes

 namespace
 
 namespace_template
 
 reuse_namespace
 

Static Public Attributes

string ROLE_WORKLOAD_IDENTITY_USER = 'roles/iam.workloadIdentityUser'
 
string TEMPLATE_DIR_NAME = 'kubernetes-manifests'
 
string TEMPLATE_DIR_RELATIVE_PATH = f'../../{TEMPLATE_DIR_NAME}'
 

Private Member Functions

k8s.V1Deployment _create_deployment (self, template, **kwargs)
 
def _create_from_template (self, template_name, **kwargs)
 
k8s.V1Namespace _create_namespace (self, template, **kwargs)
 
k8s.V1Service _create_service (self, template, **kwargs)
 
k8s.V1ServiceAccount _create_service_account (self, template, **kwargs)
 
def _delete_deployment (self, name, wait_for_deletion=True)
 
def _delete_service (self, name, wait_for_deletion=True)
 
def _delete_service_account (self, name, wait_for_deletion=True)
 
def _grant_workload_identity_user (self, *gcp_iam, gcp_service_account, service_account_name)
 
k8s.V1Deployment _reuse_deployment (self, deployment_name)
 
k8s.V1Namespace _reuse_namespace (self)
 
k8s.V1Service _reuse_service (self, service_name)
 
def _revoke_workload_identity_user (self, *gcp_iam, gcp_service_account, service_account_name)
 
def _template_file_from_name (cls, template_name)
 
def _wait_deployment_with_available_replicas (self, name, count=1, **kwargs)
 
def _wait_pod_started (self, name, **kwargs)
 
def _wait_service_neg (self, name, service_port, **kwargs)
 

Static Private Member Functions

def _get_workload_identity_member_name (project, namespace_name, service_account_name)
 
None _logs_explorer_link (*str deployment_name, str namespace_name, str gcp_project, str gcp_ui_url, Optional[timedelta] end_delta=None)
 
str _make_namespace_name (str resource_prefix, str resource_suffix, str name)
 
def _manifests_from_str (document)
 
def _manifests_from_yaml_file (yaml_file)
 
def _render_template (template_file, **kwargs)
 

Private Attributes

 _highlighter
 

Detailed Description

Definition at line 53 of file base_runner.py.

Constructor & Destructor Documentation

◆ __init__()

def framework.test_app.base_runner.KubernetesBaseRunner.__init__ (   self,
  k8s_namespace,
  namespace_template = None,
  reuse_namespace = False 
)

Definition at line 58 of file base_runner.py.

Member Function Documentation

◆ _create_deployment()

k8s.V1Deployment framework.test_app.base_runner.KubernetesBaseRunner._create_deployment (   self,
  template,
**  kwargs 
)
private

Definition at line 212 of file base_runner.py.

◆ _create_from_template()

def framework.test_app.base_runner.KubernetesBaseRunner._create_from_template (   self,
  template_name,
**  kwargs 
)
private

Definition at line 109 of file base_runner.py.

◆ _create_namespace()

k8s.V1Namespace framework.test_app.base_runner.KubernetesBaseRunner._create_namespace (   self,
  template,
**  kwargs 
)
private

Definition at line 145 of file base_runner.py.

◆ _create_service()

k8s.V1Service framework.test_app.base_runner.KubernetesBaseRunner._create_service (   self,
  template,
**  kwargs 
)
private

Definition at line 225 of file base_runner.py.

◆ _create_service_account()

k8s.V1ServiceAccount framework.test_app.base_runner.KubernetesBaseRunner._create_service_account (   self,
  template,
**  kwargs 
)
private

Definition at line 198 of file base_runner.py.

◆ _delete_deployment()

def framework.test_app.base_runner.KubernetesBaseRunner._delete_deployment (   self,
  name,
  wait_for_deletion = True 
)
private

Definition at line 237 of file base_runner.py.

◆ _delete_service()

def framework.test_app.base_runner.KubernetesBaseRunner._delete_service (   self,
  name,
  wait_for_deletion = True 
)
private

Definition at line 250 of file base_runner.py.

◆ _delete_service_account()

def framework.test_app.base_runner.KubernetesBaseRunner._delete_service_account (   self,
  name,
  wait_for_deletion = True 
)
private

Definition at line 263 of file base_runner.py.

◆ _get_workload_identity_member_name()

def framework.test_app.base_runner.KubernetesBaseRunner._get_workload_identity_member_name (   project,
  namespace_name,
  service_account_name 
)
staticprivate
Returns workload identity member name used to authenticate Kubernetes
service accounts.

https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity

Definition at line 159 of file base_runner.py.

◆ _grant_workload_identity_user()

def framework.test_app.base_runner.KubernetesBaseRunner._grant_workload_identity_user (   self,
gcp_iam,
  gcp_service_account,
  service_account_name 
)
private

Definition at line 170 of file base_runner.py.

◆ _logs_explorer_link()

None framework.test_app.base_runner.KubernetesBaseRunner._logs_explorer_link ( *str  deployment_name,
str  namespace_name,
str  gcp_project,
str  gcp_ui_url,
Optional[timedelta]   end_delta = None 
)
staticprivate
Output the link to test server/client logs in GCP Logs Explorer.

Definition at line 315 of file base_runner.py.

◆ _make_namespace_name()

str framework.test_app.base_runner.KubernetesBaseRunner._make_namespace_name ( str  resource_prefix,
str  resource_suffix,
str  name 
)
staticprivate
A helper to make consistent test app kubernetes namespace name
for given resource prefix and suffix.

Definition at line 343 of file base_runner.py.

◆ _manifests_from_str()

def framework.test_app.base_runner.KubernetesBaseRunner._manifests_from_str (   document)
staticprivate

Definition at line 98 of file base_runner.py.

◆ _manifests_from_yaml_file()

def framework.test_app.base_runner.KubernetesBaseRunner._manifests_from_yaml_file (   yaml_file)
staticprivate

Definition at line 91 of file base_runner.py.

◆ _render_template()

def framework.test_app.base_runner.KubernetesBaseRunner._render_template (   template_file,
**  kwargs 
)
staticprivate

Definition at line 86 of file base_runner.py.

◆ _reuse_deployment()

k8s.V1Deployment framework.test_app.base_runner.KubernetesBaseRunner._reuse_deployment (   self,
  deployment_name 
)
private

Definition at line 132 of file base_runner.py.

◆ _reuse_namespace()

k8s.V1Namespace framework.test_app.base_runner.KubernetesBaseRunner._reuse_namespace (   self)
private

Definition at line 142 of file base_runner.py.

◆ _reuse_service()

k8s.V1Service framework.test_app.base_runner.KubernetesBaseRunner._reuse_service (   self,
  service_name 
)
private

Definition at line 137 of file base_runner.py.

◆ _revoke_workload_identity_user()

def framework.test_app.base_runner.KubernetesBaseRunner._revoke_workload_identity_user (   self,
gcp_iam,
  gcp_service_account,
  service_account_name 
)
private

Definition at line 182 of file base_runner.py.

◆ _template_file_from_name()

def framework.test_app.base_runner.KubernetesBaseRunner._template_file_from_name (   cls,
  template_name 
)
private

Definition at line 104 of file base_runner.py.

◆ _wait_deployment_with_available_replicas()

def framework.test_app.base_runner.KubernetesBaseRunner._wait_deployment_with_available_replicas (   self,
  name,
  count = 1,
**  kwargs 
)
private

Definition at line 289 of file base_runner.py.

◆ _wait_pod_started()

def framework.test_app.base_runner.KubernetesBaseRunner._wait_pod_started (   self,
  name,
**  kwargs 
)
private

Definition at line 299 of file base_runner.py.

◆ _wait_service_neg()

def framework.test_app.base_runner.KubernetesBaseRunner._wait_service_neg (   self,
  name,
  service_port,
**  kwargs 
)
private

Definition at line 306 of file base_runner.py.

◆ cleanup()

def framework.test_app.base_runner.KubernetesBaseRunner.cleanup (   self,
force = False 
)

Definition at line 80 of file base_runner.py.

◆ delete_namespace()

def framework.test_app.base_runner.KubernetesBaseRunner.delete_namespace (   self,
  wait_for_deletion = True 
)

Definition at line 276 of file base_runner.py.

◆ run()

def framework.test_app.base_runner.KubernetesBaseRunner.run (   self,
**  kwargs 
)

Definition at line 72 of file base_runner.py.

Member Data Documentation

◆ _highlighter

framework.test_app.base_runner.KubernetesBaseRunner._highlighter
private

Definition at line 59 of file base_runner.py.

◆ namespace

framework.test_app.base_runner.KubernetesBaseRunner.namespace

Definition at line 75 of file base_runner.py.

◆ namespace_template

framework.test_app.base_runner.KubernetesBaseRunner.namespace_template

Definition at line 64 of file base_runner.py.

◆ reuse_namespace

framework.test_app.base_runner.KubernetesBaseRunner.reuse_namespace

Definition at line 63 of file base_runner.py.

◆ ROLE_WORKLOAD_IDENTITY_USER

string framework.test_app.base_runner.KubernetesBaseRunner.ROLE_WORKLOAD_IDENTITY_USER = 'roles/iam.workloadIdentityUser'
static

Definition at line 56 of file base_runner.py.

◆ TEMPLATE_DIR_NAME

string framework.test_app.base_runner.KubernetesBaseRunner.TEMPLATE_DIR_NAME = 'kubernetes-manifests'
static

Definition at line 54 of file base_runner.py.

◆ TEMPLATE_DIR_RELATIVE_PATH

string framework.test_app.base_runner.KubernetesBaseRunner.TEMPLATE_DIR_RELATIVE_PATH = f'../../{TEMPLATE_DIR_NAME}'
static

Definition at line 55 of file base_runner.py.


The documentation for this class was generated from the following file:


grpc
Author(s):
autogenerated on Fri May 16 2025 03:03:10