示例#1
0
def config_put(conninfo,
               credentials,
               install_path,
               target,
               override_version=False):
    '''
    Set upgrade config.

    Warning: override_version allows an unsafe upgrade, which can result in
    corruption if used improperly. It should never be used on a production
    system.  It is useful when upgrading from a non-release build.
    '''
    req = {
        'install_path': str(install_path),
        'target': str(target),
    }
    method = "PUT"
    uri = UriBuilder(path="/v1/upgrade/settings")
    if override_version:
        uri.add_query_param('override_compatibility_check', 'True')

    return request.rest_request(conninfo,
                                credentials,
                                method,
                                str(uri),
                                body=req)
示例#2
0
def iops_get(conninfo, credentials, specific_type=None):
    method = "GET"
    uri = UriBuilder(path="/v1/stats/iops")
    if specific_type:
        uri.add_query_param('type', specific_type)

    return request.rest_request(conninfo, credentials, method, str(uri))
示例#3
0
def node_specific_quorum(conninfo, credentials, expected_nodes):
    method = "GET"
    uri = UriBuilder(path="/v1/node/quorum/specific")

    uri.add_query_param('nodes', ','.join(expected_nodes))

    return request.rest_request(conninfo, credentials, method, str(uri))
示例#4
0
def current_activity_get(conninfo, credentials, specific_type=None):
    method = "GET"
    uri = UriBuilder(path="/v1/analytics/activity/current")
    if specific_type:
        uri.add_query_param('type', specific_type)

    return request.rest_request(conninfo, credentials, method, str(uri))
示例#5
0
def iops_get(conninfo, credentials, specific_type=None):
    method = 'GET'
    uri = UriBuilder(path='/v1/analytics/iops')
    if specific_type:
        uri.add_query_param('type', specific_type)

    return request.rest_request(conninfo, credentials, method, str(uri))
示例#6
0
def current_activity_get(conninfo, credentials, specific_type=None):
    method = "GET"
    uri = UriBuilder(path="/v1/analytics/activity/current")
    if specific_type:
        uri.add_query_param('type', specific_type)

    return request.rest_request(conninfo, credentials, method, str(uri))
示例#7
0
def iops_get(conninfo, credentials, specific_type=None):
    method = 'GET'
    uri = UriBuilder(path='/v1/analytics/iops')
    if specific_type:
        uri.add_query_param('type', specific_type)

    return request.rest_request(conninfo, credentials, method, str(uri))
示例#8
0
def config(conninfo, credentials, use_hex):
    method = "GET"
    uri = UriBuilder(path="/v1/debug/inspect/config")

    if use_hex:
        uri.add_query_param('hex')

    return request.rest_request(conninfo, credentials, method, str(uri))
示例#9
0
def superblock(conninfo, credentials, use_hex=False):
    method = "GET"
    uri = UriBuilder(path="/v1/debug/inspect/superblock")

    if use_hex:
        uri.add_query_param('hex')

    return request.rest_request(conninfo, credentials, method, str(uri))
示例#10
0
def btree(conninfo, credentials, btree_name, verbose):
    method = "GET"
    uri = UriBuilder(path="/v1/debug/inspect/btree")
    uri.add_path_component(btree_name)
    if verbose:
        uri.add_query_param("verbose")

    return request.rest_request(conninfo, credentials, method, str(uri))
示例#11
0
def metatree(conninfo, credentials, inode_num, begin_off=None, end_off=None):
    method = "GET"
    uri = UriBuilder(path="/v1/debug/inspect/metatree")

    uri.add_path_component(inode_num)

    if begin_off != None:
        uri.add_query_param('begin', str(begin_off))

    if end_off != None:
        uri.add_query_param('end', str(end_off))

    return request.rest_request(conninfo, credentials, method, str(uri))
示例#12
0
def authorize(conninfo,
              credentials,
              relationship_id,
              allow_non_empty_directory=None,
              allow_fs_path_create=None):
    method = "POST"

    uri = UriBuilder(path="/v1/replication/target-relationships/{}/authorize".
                     format(relationship_id))

    if allow_non_empty_directory is not None:
        uri.add_query_param("allow-non-empty-directory",
                            "true" if allow_non_empty_directory else "false")
    if allow_fs_path_create is not None:
        uri.add_query_param("allow-fs-path-create",
                            "true" if allow_fs_path_create else "false")

    return request.rest_request(conninfo, credentials, method, unicode(uri))
示例#13
0
def config_put(
    conninfo, credentials, install_path, target, override_version=False):
    '''
    Set upgrade config.

    Warning: override_version allows an unsafe upgrade, which can result in
    corruption if used improperly. It should never be used on a production
    system.  It is useful when upgrading from a non-release build.
    '''
    req = {
        'install_path': str(install_path),
        'target': str(target),
    }
    method = "PUT"
    uri = UriBuilder(path="/v1/upgrade/settings")
    if override_version:
        uri.add_query_param('override_compatibility_check', 'True')

    return request.rest_request(
        conninfo, credentials, method, str(uri), body=req)
示例#14
0
class PagingIterator(object):
    def __init__(self, initial_url, fn, page_size=None):
        self.initial_url = initial_url
        self.rest_request = fn
        self.page_size = page_size

        self.uri = UriBuilder(path=initial_url, rstrip_slash=False)
        if page_size is not None:
            self.uri.add_query_param("limit", page_size)

    def __iter__(self):
        return self

    def __next__(self):
        if self.uri == '' or self.uri == None:
            raise StopIteration
        result = self.rest_request(self.uri)
        self.uri = result.data['paging']['next']

        return result

    next = __next__  # python2
示例#15
0
def inode(conninfo,
          credentials,
          use_hex=False,
          verbose=False,
          begin_inode=None,
          end_inode=None):

    method = "GET"
    uri = UriBuilder(path="/v1/debug/inspect/inode")

    if use_hex:
        uri.add_query_param('hex')

    if verbose:
        uri.add_query_param('verbose')

    if begin_inode != None:
        uri.add_query_param('begin', str(begin_inode))

    if end_inode != None:
        uri.add_query_param('end', str(end_inode))

    return request.rest_request(conninfo, credentials, method, str(uri))