Skip to main content

Your submission was sent successfully! Close

Thank you for signing up for our newsletter!
In these regular emails you will find the latest updates from Canonical and upcoming events where you can meet our team.Close

Thank you for contacting us. A member of our team will be in touch shortly. Close

An error occurred while submitting your form. Please try again or file a bug report. Close

  1. Blog
  2. Article

Adam Stokes
on 27 July 2017

Conjure-up dev summary highlights: screen ordering and improved deploy


Screen Ordering

Previously, you would go through the install journey by picking your spell, selecting a cloud, modifying charm options, and then waiting for bootstrap/applications to be completely deployed prior to performing the post processing steps. In this latest update we’ve moved all steps to be completed prior to any of those longer blocking tasks.

This allows you to see the complete picture and giving you the ability to go back and make updates to your configuration items prior to running the longer tasks of the deployment.

Deployment resilience

We use a mechanism for determining when a deployment has “finished”, meaning, all hooks have been fired and each application is in a ready state to handle the next set of instructions from the installer. In some cases an application may get into a state of error but quickly resolve itself.

This was causing us some issues as we were taking a very strict approach that if there is an error in the application then the deployment should fail. Even though this is the proper thing to do we’ve made a decision that if the application is able to fix itself then we shouldn’t pass on that failed experience to the user since technically the deployment is able to finish and function as intended.

To combat this we’ve made our deployment checker a little more lenient and performing retries (up to 5 times) to validate if an application does fix itself. However, since an error was seen in the application it should not go unnoticed and needs to be fixed in the charm itself. In our integration tests we have an environment variable CONJURE_UP_MODE that can be set to test and gives us the ability to fail on charm failures and get those bugs reported upstream and resolved.

Spell authors can make use of this feature in their own spells by updating the 00_deploy-done script with the following bits:

#!/bin/bash
set -eux
. "$CONJURE_UP_SPELLSDIR/sdk/common.sh"
retry_arg="-r5"
if [[ "${CONJURE_UP_MODE-}" == "test" ]]; then
 retry_arg=""
fi
if ! juju wait $retry_arg -vwm "$JUJU_CONTROLLER:$JUJU_MODEL"; then
 setResult "Applications did not start successfully"
 exit 1
fi
setResult "Applications Ready"
exit 0

Getting these changes

Installing the snap from the edge channel will give you the latest work outlined in these developer summaries:

sudo snap install conjure-up --classic --edge

 



      

Related posts


Ishani Ghoshal
8 July 2025

What our users make with Ubuntu Pro – Episode 1

Ubuntu Article

Secure homelabs – and more – for the entire family Ubuntu Pro isn’t just for enterprises – it’s for the passionate community that powers and supports open source every day. From secure remote access to homelab hardening, Ubuntu Pro helps users get more from their systems, whether at work or at home. In this series, ...


Edoardo Barbieri
7 July 2025

The State of Silicon and Devices – Q2 2025 roundup

Internet of Things Article

Welcome to the Q2 2025 edition of the State of Silicon and Devices by Canonical. In this quarter, we have seen momentum accelerate in edge computing, as well as growing interest in hardware platforms designed for AI, automation, and long-term maintainability. From Ubuntu Desktop arriving on Qualcomm’s Dragonwing processors, to demonstrati ...


Gabriel Aguiar Noury
3 July 2025

JetPack 4 EOL – how to keep your userspace secure during migration

Ubuntu Article

NVIDIA JetPack 4 reached its end-of-life (EOL) in November 2024, marking the end of security updates for this widely deployed stack. JetPack 4 has driven innovation in countless devices powered by NVIDIA Jetson, serving as the foundation of edge AI production deployments across multiple sectors. But now, the absence of security maintenanc ...