conjure-up dev summary for week 19

conjure-up conjure-up docs GitHub

This week contains a significant change for how we do Localhost deployments and a lot more polishing around the cloud selection experience.

Localhost Deployments

Over the last couple of months we've been monitoring our issues, statistics, message boards and came to the conclusion that it may be time to take further control over the technologies conjure-up requires to work.

Currently, we bundle Juju into our snap and that gives us the ability to validate, test, and lock in to a version we are comfortable with shipping to the masses. However, with LXD we took the approach of using what was already installed on the user's system or making sure to upgrade to the latest LXD that is known to work with conjure-up at the time of release. The problem with doing it this way is there may be times where the LXD version gets upgraded before we push out a new release which then leaves the big question of will conjure-up continue to work as expected? Most cases, the answer is yes, however, there have been times when some form of API change is introduced that may cause breakage. Fortunately for us, we haven't seen this problem come up in a long time, however, the potential for future problems is still there.

So how do we solve this issue? We sent out a proposal outlining why we wanted to go with a particular solution and made sure to solicit input from the community to either get approval or see if there were any other solutions. Read about that proposal and responses for more details into that process and the pros and cons. The conclusion was to go with our proposal and bundle LXD into conjure-up snap in the same way we do Juju.

This work has been completed and should make it's way into conjure-up 2.2. Prior to that though we need to make sure to socialize this change as it will cause users existing Localhost deployment to not be easily reachable and also documenting how users can reach their newly deployed containers.

Polishes

There has been significant work put in to improve the user experience and to gently warn them when their inputs are incorrect. We modeled the validation framework similar to what you see in a normal webpage submission form and also extending on that idea to make a best effort to automatically fix their inputs on the fly.

For example, with MAAS deployments conjure-up requires a server address and api key. If the user inputs just the IP address (ie 172.16.0.1) we will automatically format that to the correct API endpoint (ie http://172.16.0.1:5240/MAAS).

Before:

After Validation:

That's all for now, remember to check back next week for more conjure-up goodness!