Recent Updates Toggle Comment Threads | Keyboard Shortcuts

  • bradcrittenden 9:56 am on April 15, 2016 Permalink | Reply  

    Juju 2.0 beta 4 — Now with embedded GUI 

    The newest version of Juju has been released, Juju 2.0 beta 4. One of the exciting new features is built-in support for the Juju GUI. Prior to this release one had to bootstrap Juju and then deploy the juju-gui charm or use a tool like juju-quickstart.

    With the new release it has all been greatly simplified.  Bootstrap an environment and you get a GUI running on the controller with no extra effort!

    Once you’ve bootstrapped a controller use this command to see the GUI:

    juju gui –show-credentials

    With that command the GUI will connect to your current model and open a browser to it.  You’ll need to login using the username and password printed in your terminal.

    If you have a controller that has been running for a while and want to get the latest GUI changes, all you need to do is:

    juju upgrade-gui

    That command will download the latest GUI version and replace the one currently running on your controller.

    If you want to see which versions are available run:

    juju upgrade-gui –list

    You can then upgrade or downgrade to one of the available versions by providing it to the upgrade-gui command, e.g.

    juju upgrade-gui 2.1.2

    You can even try a version of the GUI that has not yet been published in the streams by providing the path to a tarball on your local computer, e.g.

    juju upgrade-gui /path/to/release.tar.bz2

    In order to upgrade the GUI, you’ll have to have access rights to the controller. When an administrator upgrades the GUI, users will have to reload the open sessions in their browsers to see the changes.

    If for some reason you don’t want to install the GUI into the controller, simply bootstrap your controller with the –no-gui flag:

    juju bootstrap –no-gui

    We think having the GUI built into controllers automatically will be very beneficial for most users. We’ve worked hard to provide an efficient user experience and hope the interface adds a visual dimension as you model and deploy your services.

    If you find any issues or have any feedback for the Juju GUI, please let us know via our GitHub issue tracker.  You can also contact us in our IRC channel #juju-gui on freenode.

     
  • jeffpihach 5:33 pm on April 13, 2016 Permalink | Reply  

    Juju GUI 2.1.2 released 

    2.1.2gui

    Quickly following our 2.1.0 release, which added support for Juju 2.0, we now have another patch release which brings with it a number of tweaks and fixes to make your Juju experience even better. Notable updates are:

    • Dramatically sped up the time it takes to fetch charm data in the Charm browser.
    • Dramatically sped up the time it takes to deploy bundles from the Charm browser.
    • Refreshed UI for Inspector, Machine View, and Charm browser.
    • Fixed some UI issues in Firefox.
    • Fixed asset paths for Juju 2.

    To upgrade an existing deployment:

    juju upgrade-charm juju-gui

    To deploy this release into your model:

    juju deploy juju-gui

    If you find any issues or have any feedback for the Juju GUI we’d love to hear it. Please let us know in our github repository https://github.com/juju/juju-gui/issues and we’ll be sure to get back to you.

     
  • jeffpihach 6:51 am on March 19, 2016 Permalink | Reply
    Tags: , ,   

    Juju GUI 2.1.1 released 

    2.1.1

    As a quick follow up to the Juju GUI 2.1.0 release we’ve got a patch release for the Juju GUI making sure that we keep the Juju GUI interactions transparent when working with either Juju or the Juju 2 beta. Along with this release we’ve added a few additional bug and usability fixes:

    • If you have uncommitted changes we now warn you when switching models so you don’t lose your changes accidentally. We will be working towards persisting this data in the future.
    • Disable container and machine creation buttons until we’ve collected enough information to successfully create the machine.
    • Added language and content direction flags so that the input fields work better for users using rtl languages.

    To upgrade an existing deployment:

    juju upgrade-charm juju-gui

    To deploy this release into your model:

    juju deploy juju-gui

    If you find any issues or have any feedback for the Juju GUI we’d love to hear it. Please let us know in our github repository https://github.com/juju/juju-gui/issues and we’ll be sure to get back to you.

     
  • jeffpihach 6:49 pm on March 10, 2016 Permalink | Reply  

    Juju GUI 2.1.0 released – Now with Juju 2.0 support 

    2.1.0 juju screen
    We are excited to announce a new major release of the Juju GUI with support for Juju 2.0 (currently in beta). Juju 2.0 brings with it a ton of improvements, but one we’d like to highlight is the ability to create new models without needing to bootstrap them one by one. Interested? We explain all of the new updates to the GUI in the video below.

    Details about the release:

    • Added Juju 2.0-beta support.
    • Updated all API calls to support Juju 1.x and 2.x-beta facades.
    • Added the ability to create and switch between models in Juju 2.0.
    • Created user profile view which shows your models, bundles and charms after logging into the charmstore.
    • Added support for syntax highlighting in the charm details pages in the charmbrowser when the charm author provides a GitHub Flavored Markdown README file.
    • Added the ability to drag uncommitted units between machines in the machine view.
    • Unit statuses are now also shown in the machine view.
    • Fixed – when subordinates are deployed extra empty machines are no longer created.
    • Fixed – websockets are now closed properly when switching models.
    • Fixed – On logging out all cookies are now deleted.

    To upgrade an existing deployment:

    juju upgrade-charm juju-gui

    To deploy this release in your model:

    juju deploy juju-gui

    If you find any issues or have any feedback for the Juju GUI we’d love to hear it. Please let us know in our github repository https://github.com/juju/juju-gui/issues and we’ll be sure to get back to you.

     
  • bradcrittenden 1:49 pm on March 3, 2016 Permalink | Reply  

    Update to jujucharms.com 

    Update details

    Yesterday the Juju UI Engineering team updated jujucharms.com with some improvements we hope you find interesting and useful.  The highlights are:

    Improved getting started page

    The Juju installation instructions have been re-written to be more straightforward and the page is more welcoming.

    Community cards

    In order to allow charm and bundle authors an engaging way to promote their work, we’ve introduced cards, a slug of Javascript and HTML that can be embedded into a web site which will then serve a visual representation of the charm or bundle. The details are fetched from our servers so the data will always be up-to-date.  Change your bundle and the representation of it on your blog will be updated for future visitors.

    Madison has written a blog post demonstrating their use.

    Note that this first implementation is Javascript-based and therefore will not work in every environment, specifically platforms that block the use of embedded Javascript.

    Improved topic pages (e.g. big data)

    A cleaner design utilizing the cards for each bundle presented.

    Charm labeling on bundle visualisations.

    Previously the rendered image for a bundle only showed the service icons which could be confusing as there was no way to intuit the role each service played. Now we are labeling each service with the custom name so you can easily identify master/slave relationships, for example.

    Feedback

    If you have questions or comments on these changes, you can find us in #juju-gui on Freenode or respond here.

    If you find a bug please file it at https://github.com/CanonicalLtd/jujucharms.com/issues

     
  • jeffpihach 7:30 pm on February 17, 2016 Permalink | Reply  

    Juju GUI 2.0.3 released 

    The latest release of the Juju GUI has just been packaged up and brings with it a number of small but important bug fixes:

    • Fixed an issue where deploying the same charm multiple times would generate invalid charm names.
    • Fixed an issue where it would require two clicks to click between services on the canvas.
    • Fixed the removal of the option to serve the GUI over an insecure connection. This functionality has been re-enabled for now however in the near future we will be disabling this functionality for good forcing the GUI and its websockets over a secure connection.
    • Fixed the service inspector duplicating units when scaling up.
    • Removed and optimised the source code reducing the final size that needs to be sent over the wire.
    • When clicking stacked charm icons the active one now gets moved to the top.

    To deploy this release in your model:

    juju deploy juju-gui

    If you find any issues or have any feedback for the Juju GUI we’d love to hear it. Please let us know in our github repository https://github.com/juju/juju-gui/issues and we’ll be sure to get back to you.

     
  • bradcrittenden 10:29 am on February 12, 2016 Permalink | Reply  

    Using Safari with the Juju GUI 

    The Juju GUI uses secure web sockets to communicate with the Juju controller. To secure that channel we use a self-signed certificate. Most browsers allow the user to easily accept the certificate and all is well.

    With Safari it is possible but a little more involved. The certificate must be accepted and placed into the Keychain. The steps to follow are below:

    1. Access the Juju GUI site.
    2. The site will start to load but then Safari will display the following alert: Screen Shot 2016-02-12 at 10.53.49.png
    3. If you simply press Continue you’ll proceed to the GUI but the web socket will not work. Press Show Certificate instead.
    4. A certificate dialog box will be shown. Open the Trust section.Screen Shot 2016-02-12 at 10.55.36.png
    5. Change the first drop down to Always Trust which will be cascaded down to the other drop downs.Screen Shot 2016-02-12 at 10.55.45.png
    6. Pressing Continue will lead to a dialog box asking for your OS X password. After entering it, the certificate will be permanently added to the Certificates section shown by the Keychain Access utility.  It’ll have a name like your-jujugui-1455269898.local which you can later delete if you wish.

    Note that the self-signed certificates are created for each instance of the Juju GUI. Unfortunately this means you’ll need to repeat this process for each instance of the GUI you wish to use.

    If at step 2 you press Continue, Safari will not be able to connect to the secure web socket and it will not present you with the certificate dialog again. To recover you must do the following:

    1. Open Preferences in Safari and go to the Privacy tab.
    2. Click the Details button and search for the site address.
    3. Select the entry and click Remove.
    4. Quit and restart Safari.
    5. Revisit the Juju GUI site.

    Credits

    Massimiliano Marcon’s post at his blog.

     
  • bradcrittenden 7:02 pm on December 23, 2015 Permalink | Reply
    Tags: ,   

    Juju GUI 2.0 Beta released 

    We are really happy to announce availability of the new and shiny beta version of Juju GUI 2.0 with completely redesigned and rewritten user interface and improved user experience. The new GUI introduces:

    • redesigned canvas, relation management and charm handling with the new inspector,
    • improved integration with the charm store, unifying the web experience at jujucharms.com,
    • new machine view with drag’n’drop functionality – allocating units has never been easier,
    • creation and switching between models within a controller, and
    • new bundle deploys.

    Not much has stayed the same, so it’s best if you give the new GUI a try yourself.

    We’re aware of the small details that need polish before we close the beta, but we’d like to make the 2.0 release rock solid and therefore would appreciate as much feedback from you as possible. Should you discover a bug, use the GitHub issue tracker to file a report. Please provide as much information as possible, e.g. the cloud provider, the output of ‘juju version’, steps made, errors from the browser console, etc.

    Machine view Model Empty canvas Store

    The major changes for this release are:

    GUI with controllers and models

    If you would like to test the GUI against a Juju controller, the JES feature flag needs to be enabled before bootstrapping. This will enable you to create, list and manage models directly from the GUI.

    export JUJU_DEV_FEATURE_FLAGS=jes
    juju bootstrap

    Deploying the Juju GUI 2.0 beta

    Juju 1.25 or older

    The charm is available via the charmstore URL cs:~yellow/trusty/juju-gui and at https://jujucharms.com/u/yellow/juju-gui on the web. Just do the usual:

    juju deploy cs:~yellow/juju-gui

    Juju master (1.26 alphas)

    Recent Juju builds support a new publishing mechanism and can properly parse URLs with the development channel. If you’re using recent Juju builds, bootstrap a controller on a cloud of your choice and use the development version of the promulgated Juju GUI charm located at cs:development/juju-gui or https://jujucharms.com/development/juju-gui on the web. You can deploy the development version of the charm with:

    juju deploy cs:development/juju-gui

    You should see a response similar to:

    Added charm “cs:development/trusty/juju-gui-42” to the environment.
    Deploying charm “cs:development/trusty/juju-gui-42” with the charm series “trusty”.

     

    We hope you find the new GUI easier to use and find the layout to be more intuitive. Enjoy using it and let us know what you think!

     
  • Madison Scott-Clary (Makyo) 5:11 pm on August 13, 2015 Permalink | Reply  

    Bundles Bundles Bundles! 

    You’ve gone through the process of sorting through various service orchestration solutions, and settled on Juju, since it will work with your existing frameworks and solutions, such as chef, puppet, and ansible. You’ve gone ahead and charmed up a few of your microservices so that you can get them deployed to your Juju environment. You’ve searched through the charmstore to find the databases, load balancers, and additional charms that you need to really make your project shine.

    Whew! That’s gonna be a lot of docs to write for new hires, right?

    Not necessarily! Here’s where bundles come into play!

    Bundles allow you to pull all of your services, unit placements, and relations together into one YAML file. A bundle is basically an export of a Juju environment. In fact, if you use the Juju GUI, it literally is that: the GUI will export all of your services with all of their config values, all of the relations linking them together, and the way your units are placed on machines.

    Bundles – V3 vs V4

    First, a bit of an important note. Bundles have been around for a little while. Recent work, however, has meant that there are some changes in how bundles are structured. The older format, known as the V3 format (for the third version of the API), pulled multiple bundles together into a basket – this is no longer the case with the V4 API.

    For instance, you might have a few wordpress bundles pulled together into a basket like so:

    wordpress-single:
      services: ...
      relations: ...
      series: trusty
    
    wordpress-scalable:
      services: ...
      relations: ...
      series: trusty

    Since baskets are deprecated, trying to upload a basket to the charmstore now will result in that V3 series of bundles being migrated to individual V4 bundles.

    The second difference between the two bundles formats is that the V4 format allows a machine specification. This means that you can have a top-level machines entry in your bundle.yaml file. This will contain a list of machine objects, which can have constraints, series, and annotationsobjects, which allow you finer-grained control over your machines:

    machines:
      - "0":
        constraints: {mem: 4096, cpu-cores: 2}
      - "1":
        annotations: {foo: bar}
        series: trusty
      - "2": {}

    Finally, the unit placement directives are different between the two formats. Previously, if you wanted to collocate two units, you would use a format unique to bundles, which used an equals sign to separate the name of the service from the unit number. With V4 bundles, however, you can simply use the unit syntax that you’re familiar with from working with juju.

    service-1:
      charm: ...
      num-units: 2
    service-2:
      charm: ...
      num-units: 2
      to:
        // collocate directly onto the machine that the first unit of service-1 is
        // on
        - service-1/0
        // collocate into an LXC container installed on the machine that the second
        // unit of service-1 is on
        - lxc:service-1/1

    It’s also worth noting that placement directives can specify machines in the machine specification. That way, you can deploy units of a service to a given machine, either directly to the machine itself or to an lxc or kvm container (if supported).

    This exposes one more difference between V3 and V4 bundles: in V3 bundles, the only machine you’re allowed to refer to is machine 0 (the bootstrap node), which allows you to place a service on the only machine guaranteed to be in your environment. You can do this in V4 bundles as well, but note that it is only possible if you do not have a machine spec in the bundle. This is because the system can’t be sure whether you mean the bootstrap node or the machine named “0” in the spec, so it defaults to placing it on the named machine (or erroring if there is no machine named “0”).

    For more information on the bundle format specifications and the difference between V3 and V4 bundles, please be sure to check out the bundle doc in the charmstore! This should be kept up to date, as the Juju charmstore matures.

    Creating bundles

    The easiest way to create a bundle is through the Juju GUI. This even works in sandbox mode, so you can use demo.jujucharms.com to create your ideal environment without having to spin up any machines. Simply deploy and configure your services, add relations, place your units, and commit your changes to the sandbox, then you can export the environment as a bundle YAML file.

    Bundle validation

    You can easily validate a bundle.yaml file by dragging it onto the Juju GUI canvas and ensuring that all of the services, units, relations, and machines are created just how you specified. As with services, bundles dragged onto the canvas are in an uncommitted state until you hit the commit button. This means you can test in both sandbox and live environment modes without spinning up machines.

    This works through a bit of magic called Juju bundlelib, which decomposes a bundle into a set of steps that will need to be undertaken to deploy all aspects of the bundle. Since this is a python utility that lives separate from the GUI, you can validate a bundle on the command line by running pip install jujubundlelib (in a virtualenv, if you wish), and then passing your bundle.yaml file as an argument to the command that it installs, getchangeset. If you have any errors in your bundle, the getchangeset command will enumerate the items that will need to be fixed; otherwise, it will output a JSON list of changes (the changeset) that your bundle produces.

    Deploying bundles

    There are a few ways to deploy bundles of charms. If you have the YAML file on your computer, you can drag that to the Juju GUI and the GUI will attempt to deploy the bundle for you by fetching the change set. This will leave all of the services, units, machines, and relations in an uncommitted state so that you can change anything you need to. Once you’re done, you can commit your changes to your environment.

    Another way to deploy your bundle is using Juju Quickstart. This will spin up an environment for you (if you haven’t already), deploy the specified bundle along with the GUI, and get everything up and running for you. By default, Quickstart uses the Juju Deployer, but if you pass the -u option, your changes will be uncommitted and shown to you in the GUI.

    You can also use the Juju Deployer on its own. It’s available on PyPI as well.

    Once you publish your bundle to Launchpad, you will be able to navigate to view it onjujucharms.com and deploy it from the charmstore as well.

    More information

    Make sure to check out the full documentation for bundles to see all that can be done with them!

     
  • Madison Scott-Clary (Makyo) 4:36 pm on July 6, 2015 Permalink | Reply  

    Juju GUI 1.4.1 – Now even less committal! 

    Just kidding.  We’re pretty committed to providing a really neat and useful visual front end to your juju environment.  This latest release mostly includes some fixes to the ways in which uncommitted bundles work.

    • Config values specified within bundles now behave as expected in the ghost inspector.
    • Still have some older, V3 bundles laying around?  Legacy support is now included for uncommitted bundles, so you can use the GUI as well as the deployer to send them to your environment.
    • While we’re on the note of the deployer, if you deploy a bundle through the deployer using juju-quickstart, you will once again receive notifications about the status of the deployment inside the GUI.
    • Plus: tons of code removed, just to help slim things down (bye-bye, pyjuju support); switching from LESS to SCSS for styling; and wrapping external modules in YUI wrappers so that we can combo-load them more easily.

    To upgrade an existing deployment:

    juju upgrade-charm juju-gui
    juju set juju-gui "juju-gui-source=1.4.1"

    To deploy fresh:

    juju deploy juju-gui

    If you would like to request other features, have any questions, or run into any bugs, you can find us…

    IRC: freenode.net #juju and #juju-gui
    Twitter: @jujuui
    Email: juju@lists.ubuntu.com
    Bugs: https://bugs.launchpad.net/juju-gui

     
c
Compose new post
j
Next post/Next comment
k
Previous post/Previous comment
r
Reply
e
Edit
o
Show/Hide comments
t
Go to top
l
Go to login
h
Show/Hide help
shift + esc
Cancel
Follow

Get every new post delivered to your Inbox.

Join 74 other followers