def METHOD_NAME():
    if os.getenv("KUBERNETES_SERVICE_HOST") is None:
        config.load_kube_config()
    else:
        config.load_incluster_config()
    name = "hbase-mount"
    namespace = "default"
    mount = fluidapi.Mount()
    mount.set_mount_info("hadoop", "https://mirrors.bit.edu.cn/apache/hadoop/common/stable/")
    dataset = fluidapi.assemble_dataset("alluxio-webufs") \
        .set_namespaced_name(namespace, name) \
        .add_mount(mount.dump())
    runtime = fluidapi.assemble_runtime("alluxio-webufs") \
        .set_namespaced_name(namespace, name)
    flow = TestFlow("Alluxio - Test Dynamically Change Mountpoints")
    flow.append_step(
        SimpleStep(
            step_name="create dataset",
            forth_fn=funcs.create_dataset_fn(dataset.dump()),
            back_fn=funcs.delete_dataset_and_runtime_fn(runtime.dump(), name, namespace)
        )
    )
    flow.append_step(
        SimpleStep(
            step_name="create runtime",
            forth_fn=funcs.create_runtime_fn(runtime.dump()),
            back_fn=dummy_back
        )
    )
    flow.append_step(
        StatusCheckStep(
            step_name="check if dataset is bound",
            forth_fn=funcs.check_dataset_bound_fn(name, namespace)
        )
    )
    flow.append_step(
        StatusCheckStep(
            step_name="check if PV & PVC is ready",
            forth_fn=funcs.check_volume_resource_ready_fn(name, namespace)
        )
    )
    flow.append_step(
        StatusCheckStep(
            step_name="check alluxio runtime mount point",
            forth_fn=currying_fn(checkAlluxioruntimeMountpoint, dataset_name=name, namespace=namespace, mp1="zookeeper", mp2="hadoop"),
            timeout=10
        )
    )
    new_mount = fluidapi.Mount()
    new_mount.set_mount_info("hbase", "https://mirrors.bit.edu.cn/apache/hbase/stable/")
    new_dataset = fluidapi.assemble_dataset("alluxio-webufs") \
        .set_namespaced_name(namespace, name) \
        .add_mount(new_mount.dump())
    flow.append_step(
        SimpleStep(
            step_name="patch new mount point to dataset",
            forth_fn=currying_fn(change_dataset_mount_point, new_dataset=new_dataset.dump(), name=name, namespace=namespace),
            back_fn=dummy_back
        )
    )
    flow.append_step(
        StatusCheckStep(
            step_name="check if mount point changed",
            forth_fn=currying_fn(check_dataset_mount_change, name=name, namespace=namespace)
        )
    )
    try:
        flow.run()
    except Exception as e:
        print(e)
        exit(1)
    # createDatasetAndRuntime()
    # checkDatasetBound()
    # checkVolumeResourcesReady()
    # res_check_mountpoint0 = checkAlluxioruntimeMountpoint("hbase", "hadoop")
    # changeDatasetMountpoint()
    # res_check_mountpoint1 = checkAlluxioruntimeMountpoint("hbase", "zookeeper")
    # checkRecoverAfterCrash()
    # cleanUp()
    # if res_check_mountpoint0 == 1 or res_check_mountpoint1 == 1:
    #     exit(-1)