Example #1
0
def delete_file(client, service_instance, description, datacenter_name,
                datastore_path):
    """Delete a file from specific datacenter"""
    (datastore_name, path) = parse_datastore_path(datastore_path)
    datastore_mo = get_datastore_mo(client, service_instance._stub,
                                    datacenter_name, datastore_name)
    if not datastore_mo:
        return

    dsfile = datastore_file.File(datastore_mo)
    if dsfile.exists(datastore_path):
        print("Deleting {} file '{}'.".format(description, datastore_path))
        dsfile.delete(path)
Example #2
0
def detect_vmdk(client, soap_stub, datacenter_name, datastore_name,
                datastore_path):
    """Find vmdk in specific datastore"""
    datastore_mo = get_datastore_mo(client, soap_stub, datacenter_name,
                                    datastore_name)
    if not datastore_mo:
        return False

    dsfile = datastore_file.File(datastore_mo)
    if dsfile.exists(datastore_path):
        return True
    else:
        return False
Example #3
0
def delete_directory(context, description, datacenter_name, datastore_path):
    """Delete directory from specific datacenter"""
    (datastore_name, path) = parse_datastore_path(datastore_path)
    datastore_mo = get_datastore_mo(context.stub_config,
                                    context.service_instance._stub,
                                    datacenter_name, datastore_name)
    if not datastore_mo:
        return

    dsfile = datastore_file.File(datastore_mo)
    if dsfile.exists(datastore_path):
        print("Deleting {} directory '{}'.".format(description,
                                                   datastore_path))
        dsfile.delete2(path)
Example #4
0
def create_directory(context, description, datacenter_name, datastore_path):
    """Create directory in specific datacenter"""
    (datastore_name, path) = parse_datastore_path(datastore_path)
    datastore_mo = get_datastore_mo(context.client,
                                    context.service_instance._stub,
                                    datacenter_name, datastore_name)
    if not datastore_mo:
        raise Exception("Could not find datastore '{}'".format(datastore_name))

    dsfile = datastore_file.File(datastore_mo)
    if not dsfile.exists(datastore_path):
        print("Creating {} directory '{}'".format(description, datastore_path))
        dsfile.mkdir(path, parent=True)
    else:
        # TODO Need to check that this is actually a directory.
        print("{} directory '{}' exists.".format(description, datastore_path))
def setup_iso_image(context):
    """Copy iso image used to run vcenter samples"""
    iso_src_url = context.testbed.config['ISO_SRC_URL']
    datacenter_name = context.testbed.config['ISO_DATACENTER_NAME']
    datastore_path = context.testbed.config['ISO_DATASTORE_PATH']
    (datastore_name, path) = parse_datastore_path(datastore_path)
    datastore_mo = get_datastore_mo(context.client,
                                    context.service_instance._stub,
                                    datacenter_name, datastore_name)
    if not datastore_mo:
        raise Exception("Could not find datastore '{}'".format(datastore_name))

    # See if the ISO image exists. Copy it into the system if it does not exist
    dsfile = datastore_file.File(datastore_mo)
    if not dsfile.exists(datastore_path):
        print("Putting ISO image file from '{}' at '{}'".format(
            iso_src_url, datastore_path))
        dsfile.put(path=path, src_url=iso_src_url)
Example #6
0
def detect_file(context, description, datacenter_name, datastore_path):
    """Find specific file in specific datacenter"""
    (datastore_name, path) = parse_datastore_path(datastore_path)
    datastore_mo = get_datastore_mo(context.client,
                                    context.service_instance._stub,
                                    datacenter_name, datastore_name)
    if not datastore_mo:
        raise Exception("Could not find datastore '{}'".format(datastore_name))

    dsfile = datastore_file.File(datastore_mo)
    f = dsfile.list(datastore_path)
    if len(f) == 0:
        print("Failed to detect {} file '{}'".format(description,
                                                     datastore_path))
        return False
    if f.type != datastore_file.FILE:
        print("Path '{}' is not a file".format(datastore_path))
        return False
    return True
Example #7
0
def detect_directory(context, description, datacenter_name, datastore_path):
    """Find directory based on specific datacenter and datastore path"""
    (datastore_name, path) = parse_datastore_path(datastore_path)
    datastore_mo = get_datastore_mo(context.stub_config,
                                    context.service_instance._stub,
                                    datacenter_name, datastore_name)
    if not datastore_mo:
        raise Exception("Could not find datastore '{}'".format(datastore_name))

    dsfile = datastore_file.File(datastore_mo)
    f = dsfile.list(datastore_path)
    if len(f) == 0:
        print("Failed to detect {} directory '{}'".format(
            description, datastore_path))
        return False
    if f.type != datastore_file.FOLDER:
        print("Path '{}' is not a directory".format(datastore_path))
        return False
    return True