Ejemplo n.º 1
0
def create_cluster(resource_root, name, version):
  """
  Create a cluster
  @param resource_root: The root Resource object.
  @param name: Cluster name
  @param version: Cluster CDH version
  @return: An ApiCluster object
  """
  apicluster = ApiCluster(resource_root, name, version)
  apicluster_list = ApiList([apicluster])
  body = json.dumps(apicluster_list.to_json_dict())
  resp = resource_root.post(CLUSTERS_PATH, data=body)
  # The server returns a list of created clusters (with size 1)
  return ApiList.from_json_dict(ApiCluster, resp, resource_root)[0]
Ejemplo n.º 2
0
def create_service(resource_root, name, service_type, cluster_name="default"):
    """
  Create a service
  @param resource_root: The root Resource object.
  @param name: Service name
  @param service_type: Service type
  @param cluster_name: Cluster name
  @return: An ApiService object
  """
    apiservice = ApiService(resource_root, name, service_type)
    apiservice_list = ApiList([apiservice])
    body = json.dumps(apiservice_list.to_json_dict())
    resp = resource_root.post(SERVICES_PATH % (cluster_name, ), data=body)
    # The server returns a list of created services (with size 1)
    return ApiList.from_json_dict(ApiService, resp, resource_root)[0]
Ejemplo n.º 3
0
def create_host(resource_root, host_id, name, ipaddr, rack_id=None):
    """
  Create a host
  @param resource_root: The root Resource object.
  @param host_id: Host id
  @param name: Host name
  @param ipaddr: IP address
  @param rack_id: Rack id. Default None
  @return: An ApiHost object
  """
    apihost = ApiHost(resource_root, host_id, name, ipaddr, rack_id)
    apihost_list = ApiList([apihost])
    body = json.dumps(apihost_list.to_json_dict())
    resp = resource_root.post(HOSTS_PATH, data=body)
    # The server returns a list of created hosts (with size 1)
    return ApiList.from_json_dict(ApiHost, resp, resource_root)[0]
Ejemplo n.º 4
0
def create_user(resource_root, username, password, roles):
    """
  Create a user.

  @param resource_root: The root Resource object
  @param username: Username
  @param password: Password
  @param roles: List of roles for the user. This should be [] for a
                regular user, or ['ROLE_ADMIN'] for an admin.
  @return: An ApiUser object
  """
    apiuser = ApiUser(resource_root, username, password=password, roles=roles)
    apiuser_list = ApiList([apiuser])
    body = json.dumps(apiuser_list.to_json_dict())
    resp = resource_root.post(USERS_PATH, data=body)
    return ApiList.from_json_dict(ApiUser, resp, resource_root)[0]
Ejemplo n.º 5
0
def create_role(resource_root,
                service_name,
                role_type,
                role_name,
                host_id,
                cluster_name="default"):
  """
  Create a role
  @param resource_root: The root Resource object.
  @param service_name: Service name
  @param role_type: Role type
  @param role_name: Role name
  @param cluster_name: Cluster name
  @return: An ApiRole object
  """
  apirole = ApiRole(resource_root, role_name, role_type,
                    ApiHostRef(resource_root, host_id))
  apirole_list = ApiList([apirole])
  body = json.dumps(apirole_list.to_json_dict())
  resp = resource_root.post(_get_roles_path(cluster_name, service_name),
      data=body)
  # The server returns a list of created roles (with size 1)
  return ApiList.from_json_dict(ApiRole, resp, resource_root)[0]