def METHOD_NAME(name):
    oci_cred_body = {
        "tenancyOCID": OCI_TENANCY_OCID,
        "userOCID": OCI_USER_OCID,
        "region": OCI_REGION,
        "fingerprint": OCI_FINGERPRINT,
        "privateKey": get_ssh_key_contents(OCI_PRIVATE_KEY_PATH)
    }
    client = get_user_client()
    print("Cluster creation")
    # Get the region
    if OCI_REGION is None:
        region = "us-phoenix-1"
    else:
        region = OCI_REGION
    # Get the node shape
    if OKE_NODE_SHAPE is None:
        response = get_oci_meta_response("/meta/oci/nodeShapes", oci_cred_body)
        print(response.content)
        assert response.status_code == 200
        assert response.content is not None
        json_response = json.loads(response.content)
        print(json_response)
        shape = json_response[-1]
    else:
        shape = OKE_NODE_SHAPE
    # Get the node image
    if OKE_NODE_IMAGE is None:
        response = get_oci_meta_response("/meta/oci/nodeOkeImages", oci_cred_body)
        assert response.status_code == 200
        assert response.content is not None
        json_response = json.loads(response.content)
        print(json_response)
        latest_oke_image = json_response[-1]
    else:
        latest_oke_image = OKE_NODE_IMAGE
    # Get the OKE version
    if OKE_VERSION is None:
        response = get_oci_meta_response("/meta/oci/okeVersions", oci_cred_body)
        assert response.status_code == 200
        assert response.content is not None
        json_response = json.loads(response.content)
        print(json_response)
        latest_oke_version = json_response[-1]
    else:
        latest_oke_version = OKE_VERSION
    cluster = client.create_cluster(
        name=name,
        okeEngineConfig={
            "availabilityDomain": "",
            "compartmentId": OCI_COMPARTMENT_OCID,
            "displayName": name,
            "driverName": "oraclecontainerengine",
            "enableKubernetesDashboard": False,
            "enablePrivateNodes": False,
            "enableTiller": False,
            "fingerprint": OCI_FINGERPRINT,
            "kubernetesVersion": latest_oke_version,
            "loadBalancerSubnetName1": "",
            "loadBalancerSubnetName2": "",
            "name": name,
            "nodeImage": latest_oke_image,
            "nodePoolDnsDomainName": "nodedns",
            "nodePoolSecurityListName": "Node Security List",
            "nodePoolSubnetName": "nodedns",
            "nodePublicKeyContents": "",
            "nodePublicKeyPath": "",
            "nodeShape": shape,
            "privateKeyContents": get_ssh_key_contents(OCI_PRIVATE_KEY_PATH),
            "privateKeyPassphrase": OCI_PRIVATE_KEY_PASSPHRASE,
            "privateKeyPath": "",
            "quantityOfNodeSubnets": 1,
            "quantityPerSubnet": 1,
            "region": region,
            "serviceDnsDomainName": "svcdns",
            "serviceSecurityListName": "Service Security List",
            "skipVcnDelete": False,
            "tenancyId": OCI_TENANCY_OCID,
            "tenancyName": "",
            "type": "okeEngineConfig",
            "userOcid": OCI_USER_OCID,
            "vcnName": "",
            "waitNodesActive": 0,
            "workerNodeIngressCidr": ""
        })
    print(cluster)
    cluster = validate_cluster(client, cluster, check_intermediate_state=True,
                               skipIngresscheck=True)
    return client, cluster