-
Notifications
You must be signed in to change notification settings - Fork 425
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Redesign Appliance handling #2490
Comments
Furthermore, as far as I know, the list is fixed in each version. Hence one still has to import new appliances manually. If you load the GitHub files in the import window, this can become dynamic. |
I agree with your comments, I am not satisfied with the current design as well. |
Loading appliances from the internet: I have no information how to get the information from the appliance section of gns3.com. But the GNS3 devs should be able to get these infos. Github API request to get list of appliances (actually a list of files in the appliances directory): Github API request to get the contents of an appliance (base64 encoded): |
The other issue I found is that even if I go to the appliance file that is installed in the program directory and edit that file, when I close and re-open GNS3 the updated appliance is not loaded. When I search my machine for appliance files, I find some in the temp directory too. Even if we didn't pull the list from something like GitHub, which I agree is a good idea, GNS3 should scan the appliance directory at some regular interval. Whether that's on startup, shutdown, etc. I'm not sure. The only way I could make my custom appliances work was to directly import them. Just as we have an option to have GNS3 search other custom locations for images, I feel like we should be able to add a custom location for appliances as well, and perhaps identify them as available, installed, and custom/local? |
Also, what about a REST API type service that would be off by default, but could be turned on to automatically upload an appliance file for custom objects we've made? Perhaps we used a different image with a new checksum? If that automatically goes up to the appliances repository, or at least to a holding repository that can be published by an admin? Maybe it's over kill but would be an idea for creating and sharing appliances easily. |
@Ehlers I've started to work on this issue, do you think it is useful to keep the filter text box? |
I'm a bit undecided. It's handy in 2.1, because the list of available appliances is quite big. With the redesign only installed appliances are shown, so it will have no big importance. Personally I would remove it. |
- Removed appliance templates from device dock - Use new controller notification stream - Fixed device update and remove from device dock
@Ehlers I have decided to keep it for now and will see later if we want to remove it. |
Here is what I have changed so far and there is most likely a few things to improve. There are 3 ways to add a new device/appliance after clicking on the "New appliance" button:
Maybe I should add a 4th option to download the appliance templates from GitHub directly to the client however retrieving the list (including the template information) can take some time and that list doesn't need to be refreshed too many times? One solution could be to only download the files if the registry repository has been updated. Also, how do we manage custom appliance templates? should these to be uploaded to the controller and stored in the ~/GNS3/appliances directory? |
Honestly I'm not sure I understand appliances. My understanding: I have device templates. Originally they were added/modified in the preferences. In v1.4 appliances give the possibility for a simpler installation of device templates. After the installation these appliances are no longer used. The drawback with that implementation was, that the appliances had to be downloaded, what was too difficult for too many people. So with 2.1 the current set of appliances were included. For me that cluttered the user interface and has some other drawbacks. The new implementation of appliances looks impressive, but I don't understand, why you want to store them locally (on the GUI or the server). I see no need for any local storage of appliances. What I had in mind was, that "import appliance" was able to install a local stored appliance (just like in v2.0) or loads the one selected appliance from github and then installs it. |
Sounds like we need to do a better job about naming things, what is the different between a device, a device template, an appliance and an appliance template? Sometimes these are interchangeable but sometimes not. What do you think of the current redesign state to install an appliance? |
I've updated my previous comment to clarify my confusion just some seconds before your post. So please have a look at that. As I wrote there, I see no reason for storing appliances. |
How difficult would it be to allow multiple versions of an appliance to be installed in one operation? Instead of highlighting an appliance version, going through the install process, and then having to load the template again and install another, can we have either CTL left click to select multiple or check boxes to install multiple appliance versions? |
We only intend to store the files on the server side. I see two advantages to do this, one is that it allows users who do not have Internet access (because of proxy or restricted access) to still use the templates, second reason is we want to return the information contained in these files to allow users to better pick which appliance they want to install. Storing the files allows us to send all that information to the clients without having to retrieve the files from the GitHub repository everytime, it is just caching if you prefer. |
So we will continue to have a local directory to scan periodically? It would be nice to have newly downloaded templates available once they're in the folder, but I know how difficult it can be to have a program monitor a folder periodically for changes. For those of us with internet access will new templates/appliances that are on the marketplace still show up in the list as available when published? |
…wnloading when the repository has been updated. Ref GNS3/gns3-gui#2490
Now we allow users to select multiple appliances using CTRL. I hope we get feedback about it once we release 2.2 alpha.
Actually, I don't think we need to scan a local directory periodically. With the new design, we refresh the appliance templates every time a client need the list of all templates.
Yes, new templates will show up in the list after clicking on "Update from online registry". |
I think the redesign is done. I hope to get feedback to improve it once we release the first 2.2 alpha version. |
I hate the appliances showing in the device tab, introduced with v2.1. It mixes appliances with installed devices. Several posts in the GNS3 community shows, that other people are confused about this as well. Furthermore I assume that few people will check the repository, when they have the appliances locally. So bugfixes or new appliances will get to the users only when they update.
My suggestion is to go back to the v2.0 implementation, the left device tab shows only the installed devices. But to make installation of appliances easier, the "Import appliance" function should support two sources. One is the local file system, the second one is loading it from the internet. Perhaps the appliances come directly from github or maybe from the appliance section of gns3.com. The user should be able to select the appliance similar to a local appliance file.
That way GNS3 keeps a simple and easily understandable UI, and still the user can easily import appliances.
The text was updated successfully, but these errors were encountered: