upc / ravada Goto Github PK
View Code? Open in Web Editor NEWRemote Virtual Desktops Manager
Home Page: https://ravada.upc.edu/
License: GNU Affero General Public License v3.0
Remote Virtual Desktops Manager
Home Page: https://ravada.upc.edu/
License: GNU Affero General Public License v3.0
Allow different NIC configurations:
The New Machine button from the /machines/ page does nothing when clicked.
Actually they are created as any domain, only the owner is created as a temporary flagged issue. Try to create the domain as transient
Allow anonymous users run some domains. Restrict from the network they come from.
Add a networks management feature. Allow the admin add new networks and grant permission to the clients in that network to run virtual machines.
At /machines
The frontend tries to connect to libvirt for every domain and crashes the server with too many open files
When creating a new machine, it fails if the name of the new domain already exists. Add a check to the new_machine.html template.
Allow a domain to clone itself. It will call create_domain.
Solve problems
After fixing the search of users in LDAP with the same uid in many branches. Adding LDAP user fails.
Add a new feature to remove a base. Delete the base files and don't allow more clones from this machine.
If the clone takes long, it shows a blank page with a brief message. Reloading shows the clone started. It is probably that clone was in process.
Add a free memory check before starting a domain.
The shutdown button may be called in some places : the main page and the machines list page. As now it always redirects to the machine list.
Make the shutdown button only do a get of a URL and don't make the client request a new page.
Some other buttons could benefit from this too:
Create a new way to get information from the Domain via SNMP
Fetch:
In /machines there was a "screenshot" button and now it is missing.
Some requests fetch all the machines when it only needs the bases. So it tries to get missing screenshots.
There is already a systemd script for rvd_front. Create one like this for rvd_back.
etc/systemd/rvd_back.service
We should have only our javascript code in repository.
Add a field in the users table for temporary users and set it true when created.
When creating a new virtual machine, the user must be able to specify:
When a new domain successfully is created, in the message to the user send a link to view the machine. <a href="/machine/view/$id.html">Start</a>
Allow the admin users a method to rename the domain.
Review the frontend, we found those things to improve so far.
The disk filenames for the KVM clones are a little bit odd. The qcow files for the base are called "name.ro.qcow2" , and the incremental disk files for the clones are "name.ro.qcow2.qcow2". They should be called something like "basename.newname.qcow2"
When creating a new machine, if there is only one VM type, don't put a select or at least, show it already selected.
Add parameters to the new machine:
If all the content of the message is in the subject, there is no point in viewing or marking the message as read. The listing should mark it read after it is displayed.
Add an entry at the config file to define the display ip. It will be used to define the IP for the remote display.
Add a method to the domain to get the info:
More information about this option
At the main user page "Available Machines" , it is listed each base with some buttons: Start , shutdown , pause. The start button calls /machine/clone/id.html . That is correct because we want to clone the id base. But the other buttons: shutdown, pause , should call the the cloned id, not to the base id.
So we should check , if that machine has clones for that user and make those buttons call that clone. Hide the buttons if there are not clones.
amd64 is not a known architecture for virsh
If the process of creating the domain fails, it lefts an unassigned volume in the storage. Remove it.
Configuration by default unless there are config parameters in /etc/ravada.conf
e.g. corporative logo, background image, footer message, ...
Check the backend if it is alive. It can be done with the API: $RAVADA->ping_backend. It returns 1 if success, 0 otherwise. Add a warning in the frontend if the backend is not available.
Add a new button FullScreen that launches a domain with the maximum width and height.
Always link to /img/screenshots/6.png
If the LDAP has no requests in a while, it may timeout and disconnect. Check in the LDAP Auth module for this, and reconnect.
Many JSON routes from rvd_front.pl have no access check. Everybody can get that information. Make them available only to logged users. In case of sensitive information, make sure it is an admin user.
Check if the domain has been idle for more than X minutes and suspend it,
When a domain is locked, all the buttons should be disabled.
Call virsh screenshot feature for KVM domains.
Remove all the clones of a domain.
New Help menu:
Requirements something like:
Linux: virt-viewer
Windows: Spice plugin for Firefox http://bfy.tw/5Nur
Some jobs require a lot of disk space. Add a disk space check for the storage before:
When creating a KVM domain, add remote USB support.
Change the line size of the table and change the color of the collapsable messages content.
When provisioning a new domain , it searches if it exists by name. The name of a domain may change, so search by id_base and id_user.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.