Git Product home page Git Product logo

juju-gui's Introduction

Juju GUI

The Juju GUI is a web-based GUI for Juju. Juju allows you to deploy, configure, manage, maintain, and scale cloud applications quickly and efficiently on public clouds, as well as on physical servers, OpenStack, and containers.

The Juju GUI is open source and the code is available on GitHub.

Accessing the GUI

The latest release of the Juju GUI is made available to all users of Juju automatically and can be launched by running juju gui in your terminal. For those using JAAS, you can use the GUI by logging into your account or creating a new model.

Issues & Feature Requests

Issues and feature requests are tracked on GitHub Issues.

Upgrading the GUI

JAAS users will have their GUI automatically upgraded whenever there is a new release. For those with their own controllers you can simply run juju upgrade-gui.

Developing the GUI

Documentation outlining how to develop with the GUI can be found in the docs/hacking.md document

juju-gui's People

Contributors

anthonydillon avatar barrymcgee avatar bcsaller avatar benji-york avatar fabricematrat avatar frankban avatar garyposter avatar hatched avatar huwshimi avatar jcsackett avatar johnweldon avatar jujugui avatar kadams54 avatar luke-0 avatar lukewh avatar makyo avatar mattyw avatar mitechie avatar nottrobin avatar rogpeppe avatar tbille avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

juju-gui's Issues

MV2 add unit doesn't work

Adding units to a service from inspector works, adding units in MV2 opens up a list of services, one can write the number of units there but "add units" button below the list of services in MV2 does nothing.

Relation logic doesn't allow multiple relations between two services sharing an endpoint

The GUI currently allows the user to create multiple relations between the same two services as long as they differ by at least one endpoint and that the services have not yet been committed to the environment. However once the services have been deployed you are no longer able to add multiple relations between two services where an interface on one service is already being used.

This is because the logic that was originally written back in 2012 did not allow multiple relations on the same endpoint.

This only works by chance with the ghost services because the relations do not have an interface defined and as such the comparison function simply returns when checking if they match ('http' !== undefined). A complete fix here would be to make sure that ghost relations are provided with the appropriate relation interface data and then update the logic in the comparison function to allow many to one style relations.

Unable to create multiple relations between the same services

When creating relations between two services which allow multiple relations (wordpress, apache2) you are only able to create multiple relations if they are in the ghost state. Once they are deployed you're no longer able to create multiple relations.

The issue appears to be related to the logic in: https://github.com/juju/juju-gui/blob/develop/jujugui/static/gui/src/app/models/endpoints.js#L98 as it returns that there are no available endpoints for relation.

You shouldn't be able to scale subordinates in MV2

When you have a subordinate in the canvas and then switch to the new machine view and 'add services' you can add subordinate units. This isn't actually possible so should not be presented to the user.

Model switcher error for non JES enabled models

If you load the new GUI into a non JES enabled model you will see that the model switcher is still shown and there is an error in the console that it's not supported. We should not show the switcher if it's not supported to prevent this error.

Long delay between deploying a bundle to the canvas and it actually appearing.

When you "add to canvas" a bundle it takes a considerable amount of time to actually show up on the canvas. This is because we will get a few wss errors about invalid frame headers before it eventually succeeds:

WebSocket connection to 'wss://demo.jujucharms.com/ws' failed: Invalid frame header

We should show a notification when this action is performed in the event of a delay but the above issue should be fixed as well.

Units in MV2 can't be moved once assigned to machine/container

If with DnD a mistake is made and a unit is placed wrongly, one has to destroy that unit, create a new one and place it again.

It would be best if it could go the other way around as well, once a unit is in machine and is not committed, it can be moved around freely.

GUI 2.0 needs to ignore multi-series charms on api v4

Most of the GUI requires that series be provided in the id of the charm. Multi-series charms do not provide this information causing everything from search results, charm details, to deploys to fail. Api v4 is being updated to not return multi-series charms but in the in term the GUI will need to ignore these charms.

Reproduce:

  • Visit <host>/?search=meteor-test
  • Visit <host>/?store=~tvansteenburgh/meteor-test-0

Tasks:

  • Update the regex to accept charm id's without series.
  • Disable and show a message for multi-series charms in the charm details.

Search for 'mysql' results in fatal JS error

When processing "cs:~uros-jovanovic/wordpress-multi-0" there is a JS error as the computed id is nil which causes parts to be undefined, which throws an uncaught exception in app/models/charm.js:162

Destroying a service does nothing if a unit is in error

To reproduce this one deploy ceph into a real environment without modifying any of its configs - it will deploy and fail in config-changed.

Now try and delete the service. Because the unit is in error it will not destroy the service so it does nothing.

Surface machine placement errors

When placing a precise unit on a trusty machine it silently fails because juju-core returns an error ""unable to place a precise unit on the trusty machine 2/lxc/0"" which we do not surface.

  1. We need to surface these errors emitted from the ECS (placeUnit fn)
  2. Should we allow the user to place this and we --force?

Fresh deploy doesn't center canvas on GUI

With a fresh deploy of the GUI into a fresh JES enabled env (JES may not be required) the screen appears to load a blank canvas. You have to pan/zoom to see the GUI icon.

Add list of other series to charm details

The charm details pages need a list of other available series for that charm which link to the details for that series.

I think this will require a new API endpoint to provide us with the details or those other series.

Failure to update in different browser during concurrent usage

From Uros: I had two browsers open on the same model. The first one had uncommitted state. The second one was empty. Once i committed the changes, the environment switcher in the second one failed to respond or switch between models until i reloaded the gui in the browser.

From Frankban: I wonder if that's related to the fact that we never close the mega-watcher, and so there is a race between switching connections and incoming data from the mega-watcher (as a result of a change in the state, like committing a bundle). By closing the mega-watcher I mean sending a request like {Type: 'AllWatcher', Request: 'Stop', Id: ...}. Anyway, this is just an idea, might be totally unrelated.

Machine details shown as NaN

When creating a machine in a real environment, after the machine details has switched from "Machine details aren't available to showing the machine details they are first shown as Nan" After a few moments it then updates to the real values.

screen shot 2015-12-21 at 10 52 15 am

screen shot 2015-12-21 at 10 51 20 am

Export bundle?

We've lost functionality to export bundles in new GUI.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.