def enqueue_deployed_charms(self): """Send all deployed charms to CharmQueue for relation setting and post-proc. """ log.debug("Starting CharmQueue for relation setting and" " post-processing enqueueing {}".format( [c.charm_name for c in self.deployed_charm_classes])) charm_q = CharmQueue(ui=self.ui) for charm_class in self.deployed_charm_classes: charm = charm_class(juju=self.juju, juju_state=self.juju_state, ui=self.ui) charm_q.add_relation(charm) charm_q.add_post_proc(charm) charm_q.watch_relations() charm_q.watch_post_proc() charm_q.is_running = True self.info_message( "Services deployed, relationships may still be" " pending. Please wait for all services to be checked before" " deploying compute nodes") self.render_nodes(self.nodes, self.juju_state, self.maas_state)
def enqueue_deployed_charms(self): """Send all deployed charms to CharmQueue for relation setting and post-proc. """ log.debug("Starting CharmQueue for relation setting and" " post-processing enqueueing {}".format( [c.charm_name for c in self.deployed_charm_classes])) charm_q = CharmQueue(ui=self.ui) for charm_class in self.deployed_charm_classes: charm = charm_class(juju=self.juju, juju_state=self.juju_state, ui=self.ui) charm_q.add_relation(charm) charm_q.add_post_proc(charm) charm_q.watch_relations() charm_q.watch_post_proc() charm_q.is_running = True self.info_message( "Services deployed, relationships may still be" " pending. Please wait for all services to be checked before" " deploying compute nodes.") self.render_nodes(self.nodes, self.juju_state, self.maas_state)
def add_charm(self, count=0, charm=None): if not charm: self.ui.hide_add_charm_info() return svc = self.juju_state.service(charm) if svc.service: self.info_message("Adding {n} units of {charm}".format( n=count, charm=charm)) self.juju.add_unit(charm, num_units=int(count)) else: charm_q = CharmQueue(ui=self.ui) charm_sel = get_charm(charm, self.juju, self.juju_state, self.ui) log.debug("Add charm: {}".format(charm_sel)) if not charm_sel.isolate: charm_sel.machine_id = 'lxc:{mid}'.format(mid="1") self.info_message("Adding {} to environment".format( charm_sel)) charm_q.add_deploy(charm_sel) charm_q.add_relation(charm_sel) charm_q.add_post_proc(charm_sel) # Add charm dependencies if len(charm_sel.related) > 0: for c in charm_sel.related: svc = self.juju_state.service(charm_sel) if not svc.service: self.info_message("Adding dependent " "charm {c}".format(c=c)) charm_dep = get_charm(c, self.juju, self.juju_state, self.ui) if not charm_dep.isolate: charm_dep.machine_id = 'lxc:{mid}'.format(mid="1") charm_q.add_deploy(charm_dep) charm_q.add_relation(charm_dep) charm_q.add_post_proc(charm_dep) if not charm_q.is_running: charm_q.watch_deploy() charm_q.watch_relations() charm_q.watch_post_proc() charm_q.is_running = True self.ui.hide_add_charm_info() return
def add_charm(self, count=0, charm=None): if not charm: self.ui.hide_add_charm_info() return svc = self.juju_state.service(charm) if svc.service: self.info_message("Adding {n} units of {charm}".format( n=count, charm=charm)) self.juju.add_unit(charm, num_units=int(count)) else: charm_q = CharmQueue(ui=self.ui) charm_sel = get_charm(charm, self.juju, self.juju_state, self.ui) log.debug("Add charm: {}".format(charm_sel)) if not charm_sel.isolate: charm_sel.machine_id = 'lxc:{mid}'.format(mid="1") self.info_message("Adding {} to environment".format(charm_sel)) charm_q.add_setup(charm_sel) charm_q.add_relation(charm_sel) charm_q.add_post_proc(charm_sel) # Add charm dependencies if len(charm_sel.related) > 0: for c in charm_sel.related: svc = self.juju_state.service(charm_sel) if not svc.service: self.info_message("Adding dependent " "charm {c}".format(c=c)) charm_dep = get_charm(c, self.juju, self.juju_state, self.ui) if not charm_dep.isolate: charm_dep.machine_id = 'lxc:{mid}'.format(mid="1") charm_q.add_setup(charm_dep) charm_q.add_relation(charm_dep) charm_q.add_post_proc(charm_dep) if not charm_q.is_running: charm_q.watch_setup() charm_q.watch_relations() charm_q.watch_post_proc() charm_q.is_running = True self.ui.hide_add_charm_info() return