Ejemplo n.º 1
0
    def test_configmap_apis(self, k8s: client.CoreV1Api):
        name = 'test-' + str(uuid.uuid4())
        test_configmap = {
            "kind": "ConfigMap",
            "apiVersion": "v1",
            "metadata": {
                "name": name,
            },
            "data": {
                "config.json": "{\"command\":\"/usr/bin/mysqld_safe\"}",
                "frontend.cnf": "[mysqld]\nbind-address = 10.0.0.3\nport = 3306\n"
            }
        }

        resp = k8s.create_namespaced_config_map(
            body=test_configmap, namespace='default'
        )
        assert name == resp.metadata.name

        resp = k8s.read_namespaced_config_map(
            name=name, namespace='default')
        assert name == resp.metadata.name

        # test_configmap['data']['config.json'] = "{}"
        # resp = k8s.patch_namespaced_config_map(
        #     name=name, namespace='default', body=test_configmap)

        resp = k8s.delete_namespaced_config_map(
            name=name, body={}, namespace='default')
Ejemplo n.º 2
0
def set_config_map(config_map_name, multiaddress_data,
                   kubernetes_api: client.CoreV1Api):
    try:
        config_map = kubernetes_api.read_namespaced_config_map(
            name=config_map_name, namespace="default")
        patch = {"data": multiaddress_data}
        kubernetes_api.patch_namespaced_config_map(name=config_map_name,
                                                   namespace="default",
                                                   body=patch)
    except client.rest.ApiException as api_exception:
        if api_exception.status != 404:
            raise
        config_map = {
            "apiVersion": "v1",
            "kind": "ConfigMap",
            "metadata": {
                "name": config_map_name
            },
            "data": multiaddress_data
        }
        kubernetes_api.create_namespaced_config_map("default", config_map)
Ejemplo n.º 3
0
def set_args(command_arg_file_path,
             config_map_lookup,
             arg_name,
             kubernetes_api: client.CoreV1Api,
             key=None):
    try:
        config_map = kubernetes_api.read_namespaced_config_map(
            name=config_map_lookup, namespace="default")
        multiaddress_data = config_map.data
        if key:
            multiaddresses = [multiaddress_data[key]]
        else:
            multiaddresses = multiaddress_data.values()
        if multiaddresses:
            command_line_args_list = [
                f"--{arg_name}={x}".rstrip() for x in multiaddresses
            ]
            command_line_args = " " + " ".join(command_line_args_list)
            with open(command_arg_file_path, 'a') as command_arg_file:
                command_arg_file.write(command_line_args)
    except client.rest.ApiException as api_exception:
        if api_exception.status != 404:
            raise