コード例 #1
0
def main():

    parser = argparse.ArgumentParser(prog='change-deployment-password.py')

    parser.add_argument('--admin-username', default='admin',
                        help='Name of a user with administrative access to Cloudera Director (defaults to %(default)s)')
    parser.add_argument('--admin-password', default='admin',
                        help='Password for the administrative user (defaults to %(default)s)')
    parser.add_argument('--server', default='http://localhost:7189',
                        help="Cloudera Director server URL (defaults to %(default)s)")

    parser.add_argument('--debug', default=False, action='store_true',
                        help="Whether to provide additional debugging output (defaults to %(default)s)")

    parser.add_argument('--environment', help='Environment name', required=True)
    parser.add_argument('--deployment', help='Deployment name (Cloudera Manager instance)', required=True)
    parser.add_argument('--deployment-username', help='Cloudera Manager new username', default=None)
    parser.add_argument('--deployment-password', help='Cloudera Manager new password', default=None)

    args = parser.parse_args()

    if args.debug:
        # Enable HTTP request logging to help with debugging
        h = urllib2.HTTPHandler(debuglevel=1)
        opener = urllib2.build_opener(h)
        urllib2.install_opener(opener)

    client = get_authenticated_client(args)

    api = DeploymentsApi(client)
    template = api.getTemplateRedacted(args.environment, args.deployment)

    if template.port == 0:
        template.port = None

    if args.deployment_username:
        print "Changing username from: '%s' to: '%s'" % (template.username, args.deployment_username)
        template.username = args.deployment_username
    else:
        print "The deployment username is not changing: '%s'" % template.username

    if args.deployment_password:
        print "Changing password to: '%s'" % (args.deployment_password)
        template.password = args.deployment_password
    else:
        print "Deployment password is not changing"

    if args.deployment_username or args.deployment_password:
        api.update(args.environment, args.deployment, template)
        print 'Done'

    else:
        print 'Nothing to do'

    return 0
コード例 #2
0
def get_deployment_template(client, env_name, dep_name):
    """
    Get a deployment template.

    @param client: Director API client
    @param env_name: environment name
    @param dep_name: deployment name
    @rtype: DeploymentTemplate
    @return: deployment template
    """
    api = DeploymentsApi(client)
    try:
        return api.getTemplateRedacted(env_name, dep_name)
    except HTTPError as error:
        if error.code == 404:
            print 'Error: the deployment %s does not exist in the environment %s' % (
                env_name, dep_name)
        else:
            raise error
コード例 #3
0
def main():

    parser = argparse.ArgumentParser(prog='change-deployment-password.py')

    parser.add_argument(
        '--admin-username',
        default='admin',
        help=
        'Name of a user with administrative access to Cloudera Altus Director (defaults to %(default)s)'
    )
    parser.add_argument(
        '--admin-password',
        default='admin',
        help='Password for the administrative user (defaults to %(default)s)')
    parser.add_argument(
        '--server',
        default='http://localhost:7189',
        help="Cloudera Altus Director server URL (defaults to %(default)s)")

    parser.add_argument(
        '--debug',
        default=False,
        action='store_true',
        help=
        "Whether to provide additional debugging output (defaults to %(default)s)"
    )

    parser.add_argument('--environment',
                        help='Environment name',
                        required=True)
    parser.add_argument('--deployment',
                        help='Deployment name (Cloudera Manager instance)',
                        required=True)
    parser.add_argument('--deployment-username',
                        help='Cloudera Manager new username',
                        default=None)
    parser.add_argument('--deployment-password',
                        help='Cloudera Manager new password',
                        default=None)

    args = parser.parse_args()

    if args.debug:
        # Enable HTTP request logging to help with debugging
        h = urllib2.HTTPHandler(debuglevel=1)
        opener = urllib2.build_opener(h)
        urllib2.install_opener(opener)

    client = get_authenticated_client(args)

    api = DeploymentsApi(client)
    template = api.getTemplateRedacted(args.environment, args.deployment)

    if template.port == 0:
        template.port = None

    if args.deployment_username:
        print "Changing username from: '%s' to: '%s'" % (
            template.username, args.deployment_username)
        template.username = args.deployment_username
    else:
        print "The deployment username is not changing: '%s'" % template.username

    if args.deployment_password:
        print "Changing password to: '%s'" % (args.deployment_password)
        template.password = args.deployment_password
    else:
        print "Deployment password is not changing"

    if args.deployment_username or args.deployment_password:
        api.update(args.environment, args.deployment, template)
        print 'Done'

    else:
        print 'Nothing to do'

    return 0