Beispiel #1
0
 def get_env(cls, name=None, user=None, password=None):
     # A hook env will have this set
     api_addresses = os.environ.get('JUJU_API_ADDRESSES')
     if not api_addresses:
         # use the local option/connect which
         # parses local jenv info
         env = Environment.connect(name)
     else:
         env = Environment(api_addresses.split()[0])
         env.login(user=user, password=password)
     return env
Beispiel #2
0
    def connect_state_server(self):
        while True:
            try:
                log.debug('Connecting to state server for environment: %s', self.config.environment)
                return Environment.connect(self.config.environment)
            except KeyboardInterrupt:
                return
            except:
                log.exception('Could not connect to state server')

            log.debug('Retrying connection in 30 seconds')
            time.sleep(30)
Beispiel #3
0
    def run(self):
        Gdk.threads_enter()
        try:
            env = Environment.connect(self.environment)

            status = env.status()
            machines = status.get('Machines', None).values()
            results = []
            for machine in machines:
                results.append(Machine(machine))

            self.emit('on_status', self.environment, results)

        except Exception as ex:
            self.emit('on_status_error', ex)
        finally:
            Gdk.threads_leave()
Beispiel #4
0
    def run(self):
        Gdk.threads_enter()
        try:
            env = Environment.connect(self.environment)
            r = env.add_machine(series=self.series,
                                constraints=self.constraints)

            machine_id = r.get('Machine')
            logger.debug(
                "Threaded watcher for id:%s on %s" % (machine_id, __name__))

            threading.Thread(target=env.wait_for_machines,
                             args=(machine_id, ),
                             kwargs={
                                 'callbacks': {
                                     'on_complete': self.on_machine_complete,
                                     'on_process': self.on_machine_process,
                                 }
                             }).start()

        except Exception as ex:
            self.emit('on_machine_error', ex)
        finally:
            Gdk.threads_leave()
Beispiel #5
0
 def setUp(self):
     self.env = Environment.connect(ENV_NAME)
     self.bm = Backups(self.env)
Beispiel #6
0
 def setUp(self):
     self.env = Environment.connect(ENV_NAME)
     self.keys = KeyManager(self.env)
Beispiel #7
0
 def setUp(self):
     self.env = Environment.connect(ENV_NAME)
Beispiel #8
0
 def setUp(self):
     self.env = Environment.connect(ENV_NAME)
     self.charms = Annotations(self.env)
Beispiel #9
0
 def setUp(self):
     self.env = Environment.connect(ENV_NAME)
     self.charms = Charms(self.env)
Beispiel #10
0
 def setUp(self):
     self.env = Environment.connect(ENV_NAME)
     self.actions = Actions(self.env)
     self.setupCharm()
Beispiel #11
0
 def setUp(self):
     self.env = Environment.connect(ENV_NAME)
     self.um = UserManager(self.env)
Beispiel #12
0
import json

from types import *
from jujuclient import Environment

env = Environment.connect('local')

#############################################################
#           General   Environment Functions
#			Assuming: env = Environment.connect('local')
#############################################################

def env_facades():
	print('********************  Facades\n')
	obj=env.facades
	assert type(obj) is DictType, "obj is not a dictionary" 
	print(obj)
	return


def env_users():
	print('\n\n********************  Users\n')
	obj=env.users.list()
	assert type(obj) is DictType, "obj is not a dictionary" 
	print(obj)
	return
  
def env_charms():
	print('\n\n********************  Charms\n')
	obj=env.charms.list()
	assert type(obj) is DictType, "obj is not a dictionary"
 def connect(self):
     # TODO TLS Conn Cache, underlying socket supports async, but client lib
     # we're using is synchronous based.
     return Client.connect(self.config.get_env_name())