def get_e2e_configuration(): config = Configuration() config.host = None if os.path.exists( os.path.expanduser(kube_config.KUBE_CONFIG_DEFAULT_LOCATION)): kube_config.load_kube_config(client_configuration=config) else: print('Unable to load config from %s' % kube_config.KUBE_CONFIG_DEFAULT_LOCATION) for url in [ 'https://%s:8443' % DEFAULT_E2E_HOST, 'http://%s:8080' % DEFAULT_E2E_HOST ]: try: urllib3.PoolManager().request('GET', url) config.host = url config.verify_ssl = False urllib3.disable_warnings() break except urllib3.exceptions.HTTPError: pass if config.host is None: raise unittest.SkipTest('Unable to find a running Kubernetes instance') print('Running test against : %s' % config.host) config.assert_hostname = False return config
def build(self, url=None): config = Configuration() config.host = None if os.path.exists( os.path.expanduser(kube_config.KUBE_CONFIG_DEFAULT_LOCATION)): kube_config.load_kube_config(client_configuration=config) else: print('Unable to load config from %s' % kube_config.KUBE_CONFIG_DEFAULT_LOCATION) if url is None: url = 'http://%s:8085' % Config.DEFAULT_HOST try: urllib3.PoolManager().request('GET', url) config.host = url config.verify_ssl = False urllib3.disable_warnings() except urllib3.exceptions.HTTPError: raise urllib3.exceptions.HTTPError( 'Unable to find a running Kubernetes instance') self.config = config #Resetting old Client & Related API's self.clnt = None # api_manager.reset() print('Running test against : %s' % config.host) return config
def create(context, conf, **kwargs): register_opts(conf) client_config = conf.k8s_client LOG.info('Creating the kubernetes client with url %s.', client_config.k8s_host) config = Configuration() config.host = client_config.k8s_host config.ssl_ca_cert = client_config.k8s_ssl_ca_cert config.cert_file = client_config.k8s_cert_file config.key_file = client_config.k8s_key_file k8s_api_client = api_client.ApiClient(config) k8s_core_v1_api = client.CoreV1Api(k8s_api_client) return k8s_core_v1_api
def get_e2e_configuration(): config = Configuration() config.host = None if os.path.exists( os.path.expanduser(kube_config.KUBE_CONFIG_DEFAULT_LOCATION)): kube_config.load_kube_config(client_configuration=config) else: print('Unable to load config from %s' % kube_config.KUBE_CONFIG_DEFAULT_LOCATION) for url in ['https://%s:8443' % DEFAULT_E2E_HOST, 'http://%s:8080' % DEFAULT_E2E_HOST]: try: urllib3.PoolManager().request('GET', url) config.host = url config.verify_ssl = False urllib3.disable_warnings() break except urllib3.exceptions.HTTPError: pass if config.host is None: raise unittest.SkipTest('Unable to find a running Kubernetes instance') print('Running test against : %s' % config.host) config.assert_hostname = False return config
def get_cli(cluster_name): global _client_cache if cluster_name in _client_cache: return _client_cache.get(cluster_name, None) cluster = Cluster.query.filter_by(name=cluster_name).first() if cluster is None: return None cfg = Configuration() # cfg.debug = True cfg.host = cluster.addr cfg.ssl_ca_cert = _create_temp_file_with_content( base64.b64decode(cluster.cert)) cfg.api_key['authorization'] = "Bearer {}".format(cluster.access_token) api = ApiClient(cfg) _client_cache[cluster_name] = api return api
def setup_k8s_responses(self, mock_config, mock_client, pod_name): os.environ['KUBERNETES_SERVICE_HOST'] = '127.0.0.1' os.environ['KUBERNETES_SERVICE_PORT'] = '9988' os.environ['POD_NAME'] = pod_name configuration = Configuration() configuration.host = 'http://127.0.0.1:9988' configuration.api_key = {'authorization': 'bearer T0ken'} Configuration.set_default(configuration) mock_config.return_value = None pod1 = mock.MagicMock() pod1.metadata.name = 'api-123' pod1.status.phase = 'Running' pod2 = mock.MagicMock() pod2.metadata.name = 'api-234' pod2.status.phase = 'Running' pod3 = mock.MagicMock() pod3.metadata.name = 'api-345' pod3.status.phase = 'Terminating' mock_client.CoreV1Api().list_namespaced_pod().items = [ pod1, pod2, pod3 ]