Example #1
0
def setup_maas():
    try:
        maascreds = juju.get_credentials()['maas'][app.current_controller]
    except KeyError:
        raise Exception("Could not get credentials for "
                        "maas controller {}".format(app.current_controller))

    bc = juju.get_bootstrap_config(app.current_controller)
    endpoint = bc.get('endpoint', None)
    if endpoint is None:
        raise Exception("Couldn't find endpoint for controller".format(
            app.current_controller))

    api_key = maascreds['maas-oauth']
    try:
        consumer_key, token_key, token_secret = api_key.split(':')
    except:
        raise Exception("Could not parse MAAS API Key '{}'".format(api_key))

    app.maas.endpoint = endpoint
    app.maas.api_key = api_key
    app.maas.client = MaasClient(server_address=endpoint,
                                 consumer_key=consumer_key,
                                 token_key=token_key,
                                 token_secret=token_secret)
Example #2
0
    def __init__(self):
        creds = juju.get_credentials().get(app.current_cloud, {})
        creds.pop('default-region', None)

        self.default_credential = creds.pop('default-credential', None)
        self.credentials = sorted(creds.keys())

        if len(self.credentials) == 1:
            self.default_credential = self.credentials[0]

        self.was_picker = False
Example #3
0
    def load_credentials(self):
        creds = juju.get_credentials().get(app.provider.cloud, {})
        creds.pop('default-region', None)

        default_credential = creds.pop('default-credential', None)
        self.credentials = sorted(creds.keys())

        if len(self.credentials) == 1:
            default_credential = self.credentials[0]

        if not app.provider.credential:
            app.provider.credential = default_credential

        self.was_picker = False
Example #4
0
 def default_region(self):
     if app.provider.cloud not in self._default_regions:
         app.provider.region = None
         if len(app.provider.regions) == 1:
             app.provider.region = list(app.provider.regions)[0]
         if not app.provider.region:
             creds = juju.get_credentials().get(app.provider.cloud, {})
             app.provider.region = creds.get('default-region', None)
         if not app.provider.region:
             try:
                 schema = load_schema(app.provider.cloud)
                 app.provider.region = schema.default_region
             except Exception:
                 # if we can't find a schema for this cloud,
                 # just assume no default
                 pass
         self._default_regions[app.provider.cloud] = app.provider.region
     return self._default_regions[app.provider.cloud]
Example #5
0
def setup_maas():
    try:
        maascreds = juju.get_credentials()['maas'][app.current_controller]
    except KeyError:
        raise Exception("Could not get credentials for "
                        "maas controller {}".format(app.current_controller))

    bc = juju.get_bootstrap_config(app.current_controller)
    endpoint = bc.get('endpoint', None)
    if endpoint is None:
        raise Exception("Couldn't find endpoint for controller".format(
            app.current_controller))

    api_key = maascreds['maas-oauth']
    try:
        consumer_key, token_key, token_secret = api_key.split(':')
    except:
        raise Exception("Could not parse MAAS API Key '{}'".format(api_key))

    app.maas.client = MaasClient(server_address=endpoint,
                                 consumer_key=consumer_key,
                                 token_key=token_key,
                                 token_secret=token_secret)