Class OperatorController

java.lang.Object
io.debezium.testing.system.tools.OperatorController
Direct Known Subclasses:
ApicurioOperatorController, StrimziOperatorController

public class OperatorController extends Object
This class provides control over Strimzi Cluster Operator deployed in OpenShift
Author:
Jakub Cechacek
  • Field Details

    • LOGGER

      private static final org.slf4j.Logger LOGGER
    • ocp

      protected final io.fabric8.openshift.client.OpenShiftClient ocp
    • ocpUtils

      protected final OpenShiftUtils ocpUtils
    • podLabels

      protected final Map<String,String> podLabels
    • project

      protected String project
    • operator

      protected io.fabric8.kubernetes.api.model.apps.Deployment operator
    • name

      protected String name
    • pullSecret

      private io.fabric8.kubernetes.api.model.Secret pullSecret
  • Constructor Details

    • OperatorController

      public OperatorController(io.fabric8.kubernetes.api.model.apps.Deployment operator, Map<String,String> podLabels, io.fabric8.openshift.client.OpenShiftClient ocp)
  • Method Details

    • disable

      public void disable()
      Disables Strimzi cluster operator by scaling it to ZERO
    • enable

      public void enable() throws InterruptedException
      Enables Strimzi cluster operator by scaling it to ONE
      Throws:
      InterruptedException
    • setNumberOfReplicas

      public void setNumberOfReplicas(int replicas)
      Sets number of replicas
      Parameters:
      replicas - number of replicas
    • setSingleReplica

      public void setSingleReplica()
      Semantic shortcut for calling setNumberOfReplicas(int) with 1 as value
    • setImagePullSecret

      public void setImagePullSecret(String secret)
      Sets image pull secret for operator's Deployment resource
      Parameters:
      secret - name of the secret
    • setAlwaysPullPolicy

      public void setAlwaysPullPolicy()
      Sets pull policy of the operator to 'Always'
    • setEnvVar

      public void setEnvVar(String name, String val)
      Set environment variable on all containers of operator's deployment
      Parameters:
      name - variable's name
      val - variable's value
    • unsetEnvVar

      public void unsetEnvVar(String name)
    • updateOperator

      public io.fabric8.kubernetes.api.model.apps.Deployment updateOperator()
      Updates Operator's Deployment resource
      Returns:
      Deployment resource of the operator
    • deployPullSecret

      public io.fabric8.kubernetes.api.model.Secret deployPullSecret(String yamlPath)
      Deploys pull secret
      Parameters:
      yamlPath - path to Secret descriptor
      Returns:
      deployed pull secret
    • getPullSecret

      public Optional<io.fabric8.kubernetes.api.model.Secret> getPullSecret()
      Gets pull secret
      Returns:
      pull secret associated with this operator
    • getPullSecretName

      public Optional<String> getPullSecretName()
      Gets pull secret name
      Returns:
      name of the pull secret associated with this operator
    • waitForAvailable

      private io.fabric8.kubernetes.api.model.apps.Deployment waitForAvailable()