def init(self): self.oc_artifacts = {} logger.debug("Given config: %s", self.config) if self.config.get("namespace"): self.namespace = self.config.get("namespace") logger.info("Using namespace %s", self.namespace) self._process_artifacts() if self.dryrun: return ''' Config_file: If a config_file has been provided, use the configuration from the file and load the associated generated file. If a config_file exists (--provider-config) use that. Params: If any provider specific parameters have been provided, load the configuration through the answers.conf file .kube/config: If no config file or params are provided by user then try to find and use a config file at the default location. no config at all: If no .kube/config file can be found then try to connect to the default unauthenticated http://localhost:8080/api end-point. ''' default_config_loc = os.path.join(Utils.getRoot(), Utils.getUserHome().strip('/'), '.kube/config') if self.config_file: logger.debug("Provider configuration provided") self.api = Client(KubeConfig.from_file(self.config_file), "openshift") elif self._check_required_params(): logger.debug("Generating .kube/config from given parameters") self.api = Client(self._from_required_params(), "openshift") elif os.path.isfile(default_config_loc): logger.debug( ".kube/config exists, using default configuration file") self.api = Client(KubeConfig.from_file(default_config_loc), "openshift") else: self.config["provider-api"] = OC_DEFAULT_API self.api = Client(self._from_required_params(), "openshift") self._check_namespaces()
def test_client_load_failure(): with pytest.raises(KubeClientError): Client(config, "foobar")
def test_client_openshift(FakeClient): Client(config, "openshift")
def test_client_kubernetes(FakeClient): Client(config, "kubernetes")