Esempio n. 1
0
def appendRemoteRepo():
    new_parcel_repo_urls = parcelsuri

    cm_api_instance = cm_client.ClouderaManagerResourceApi(api_client)
    cm_configs = cm_api_instance.get_config(view='full')
    old_parcel_repo_urls = None
    for cm_config in cm_configs.items:
        if cm_config.name == 'REMOTE_PARCEL_REPO_URLS':
            old_parcel_repo_urls = cm_config.value

    new_parcel_repo_urls = old_parcel_repo_urls + ',' + parcelsuri
    cm_api_instance = cm_client.ClouderaManagerResourceApi(api_client)
    cm_configs = cm_api_instance.get_config(view='full')

    new_cm_config = cm_client.ApiConfig(name='REMOTE_PARCEL_REPO_URLS',
                                        value=new_parcel_repo_urls)
    new_cm_configs = cm_client.ApiConfigList([new_cm_config])
    updated_cm_configs = cm_api_instance.update_config(body=new_cm_configs)
Esempio n. 2
0
def acceptTrial():
    api_instance = cm_client.ClouderaManagerResourceApi(api_client)

    try:
        api_instance.begin_trial()
    except ApiException as e:
        print(
            "Exception when calling ClouderaManagerResourceApi->begin_trial: %s\n"
            % e)
Esempio n. 3
0
def loadLocalRepo():
    new_parcel_repo_urls = parcelsuri

    cm_api_instance = cm_client.ClouderaManagerResourceApi(api_client)
    cm_configs = cm_api_instance.get_config(view='full')

    new_cm_config = cm_client.ApiConfig(name='REMOTE_PARCEL_REPO_URLS',
                                        value=new_parcel_repo_urls)
    new_cm_configs = cm_client.ApiConfigList([new_cm_config])
    updated_cm_configs = cm_api_instance.update_config(body=new_cm_configs)
Esempio n. 4
0
def loadTemplateThenInstall():
    # Load the updated cluster template
    with open('/tmp/cluster_template.json') as in_file:
        json_str = in_file.read()
    # Following step is used to deserialize from json to python API model object
    Response = namedtuple("Response", "data")
    dst_cluster_template = api_client.deserialize(
        response=Response(json_str),
        response_type=cm_client.ApiClusterTemplate)

    cm_api_instance = cm_client.ClouderaManagerResourceApi(api_client)
    command = cm_api_instance.import_cluster_template(
        body=dst_cluster_template)
Esempio n. 5
0
def main():
    cm_client.configuration.username = ADMIN_USER
    cm_client.configuration.password = ADMIN_PASS
    # Create an instance of the API class
    api_url = "http://{}:{}/api/{}".format(CM_HOST, CM_PORT, API_VERSION)
    api_client = cm_client.ApiClient(api_url)
    api_instance = cm_client.ClouderaManagerResourceApi(api_client)
    try:
        setup_logger.info("Activating Trial License...")
        api_instance.begin_trial()
        setup_logger.info("License Activated...")
    except:
        setup_logger.error("Failed to Activate License...")
Esempio n. 6
0
                    return cmd
                else:
                    time.sleep(min(SLEEP_SECS, deadline - now))
            else:
                time.sleep(SLEEP_SECS)
    except ApiException as e:
        print(
            "Exception when calling ClouderaManagerResourceApi->import_cluster_template: %s\n"
            % e)


cm_client.configuration.username = '******'
cm_client.configuration.password = '******'
api_client = cm_client.ApiClient("http://localhost:7180/api/v32")

cm_api = cm_client.ClouderaManagerResourceApi(api_client)

# accept trial licence
cm_api.begin_trial()

# Install CM Agent on host
with open("/root/myRSAkey", "r") as f:
    key = f.read()

instargs = cm_client.ApiHostInstallArguments(
    host_names=['YourHostname'],
    user_name='root',
    private_key=key,
    cm_repo_url='https://archive.cloudera.com/cm6/6.3.0',
    java_install_strategy='NONE',
    ssh_port=22,
Esempio n. 7
0
 def cm_api(self):
     if self._cm_api is None:
         self._cm_api = cm_client.ClouderaManagerResourceApi(
             self.api_client)
     return self._cm_api
Esempio n. 8
0
import cm_client
from cm_client.rest import ApiException
from collections import namedtuple
from pprint import pprint
import json

# Configure HTTP basic authorization for destination CM
cm_client.configuration.username = '******'
cm_client.configuration.password = '******'

api_url = "http://10.209.239.13:7180/api/v17"
api_client = cm_client.ApiClient(api_url)

# Load the updated cluster template
with open('/home/tpc/hs/tpcxBB-pipeline/12-aug-2019-cluster_template.json'
          ) as in_file:
    json_str = in_file.read()
# Following step is used to deserialize from json to python API model object
Response = namedtuple("Response", "data")
dst_cluster_template = api_client.deserialize(
    response=Response(json_str), response_type=cm_client.ApiClusterTemplate)

cm_api_instance = cm_client.ClouderaManagerResourceApi(api_client)
command = cm_api_instance.import_cluster_template(body=dst_cluster_template)
Esempio n. 9
0
 def __init__(self, name, api_client):
     self.name = name
     self.cm_resource_api_client = cm_client.ClouderaManagerResourceApi(
         api_client)
     self.config = self._get_config()
     self.changed = False