async def run_steps(self, view): steps = app.steps + AddonModel.selected_addons_steps() for step in steps: view.mark_step_running(step) step.result = await step.run(app.ui.set_footer) view.mark_step_complete(step) common.save_step_results() events.PostDeployComplete.set() view.mark_complete()
async def show_steps(self): steps = app.steps + AddonModel.selected_addons_steps() for step in filter(attrgetter('viewable'), steps): if not (step.additional_input or step.needs_sudo): continue if step.cloud_whitelist and app.provider.cloud_type \ not in step.cloud_whitelist: continue await self.show_step(step) return self.finish()
async def run_steps(self): utils.info("Running post-deployment steps") # technically, you can't currently select addons in headless, # but let's go ahead and be future-proof steps = app.steps + AddonModel.selected_addons_steps() for step in steps: step.result = await step.run(utils.info) common.save_step_results() self.show_summary() utils.info("Installation of your big software is now complete.") events.PostDeployComplete.set() events.Shutdown.set(0)
def build_widget(self): self.widgets = {} rows = [ Columns([('fixed', 3, Text('')), ('weight', 0.1, Text('Application')), ('weight', 0.4, Text('Result'))], dividechars=5), HR(), ] steps = app.steps + AddonModel.selected_addons_steps() for step in steps: widget = StepResult(step) self.widgets[step.name] = widget rows.extend([ widget, HR(), ]) self.pile = Pile(rows) return self.pile
def finish(self): steps = app.steps + AddonModel.selected_addons_steps() updates = any(step.bundle_add or step.bundle_remove for step in steps) if updates: utils.setup_metadata_controller() return controllers.use('configapps').render()
def all_steps(self): """ All steps, including those from selected addons. """ from conjureup.models.addon import AddonModel return app.steps + AddonModel.selected_addons_steps()