netgroup-polito / frog4-gui Goto Github PK
View Code? Open in Web Editor NEWGraphical User Interface for the FROG4 orchestration framework
Graphical User Interface for the FROG4 orchestration framework
When editing a rule (e.g., adding a description) and closing the window, the new rule data is not shown in the left-side window.
You have to select again the link in the bigswitch, which triggers an update of the left-window. At this point, the changes you made in the link properties are shown.
So, it looks like when the object properties are modified, pressing the ok button does not trigger any change in the left-side window.
Currently no tooltip is shown when the mouse is over a VNF port. It should show the name of the port on the VNF (i.e., the same text that is shown on the port of the bigswitch).
The tooltip shown on the corresponding port of the bigswitch is absolutely fine.
Document how to create users in the userDB, and how that data is stored in the db (table format).
Create the proper abstractions in the code, e.g., to open a window, to show something in the left sidebar, etc, so that we can easily extend the GUI by adding new objects.
This window, shown on the left side of the screen, looks useless, as it results exactly the same of the tooltips that appear in the menu bar. Given this, we can delete this and stay with a cleaner screen.
The "help" button can simply be deleted or transformed in the "info" button, which prints the info (authors, etc).
If we try to login in the GUI when the orchestrator is not running, the GUI crashes.
It should instead return an error.
What is this "default1: graph?
Why do we have this get?
When fileds are left empty in the graphical configuration, those fields should not be present in the json. This is surely a legibilty problem and could create problems during the parsing phase.
The graph origin is misleading:
code
We should replace "UN" with "domain orchestrator":
DOMAIN_ORCH: 'do',
Currently the system needs to be configured with user father/bigboss. Please remove that limitation in the code.
The organization of the code is not clear and should be improved.
For example, VNF templates are present in two folders:
and, btw, those should be read from the external VNF repository, so they should even not be part of the code.
We should replace all the address/port/protocol in the config.ini with something simpler, such as:
xx_endpoint= http://serveraddress:port/starting_url
Add a delete
button that deletes the graph currently shown.
Links between VNF and the bigswitch should not show any tooltip.
Instead, links in the big switch should show a tooltip that has the flowrules in both directions (maybe on two different lines, if possible; e.g. "description_direct_rule\ndescription_reverse_rule"). Currently only one direction is shown.
Delete the message box
"Message Info
Download Riuscito"
when successfully opening a JSON. Message box are usually needed in case of errors, but if everything is fine, let's just show what the user expect to see.
If the "description" of the flow rule is not null, show the description in the title (within round parenthesis), on the box in the left side of the screen.
If the description is null, show (vnfport1 --> vnfport2) (currently only "vnfport1" is shown). The title is a a little bit long, but it's more clear.
In case a YANG list has only leafs, it should be better to print it as a table (e.g., the NAT table). This would improve the readability.
Project info (available for example at http://130.192.225.236:9999/info/) only shows the authors of the GUI interface. I think it should be modified to show also the authors of the back-end or a least clarify it.
The GUI should not have any database.
What is this file https://github.com/netgroup-polito/fg-gui/blob/master/nfg/models.py ?
Can be removed?
Modify the backend in order to interface with the UN.
Step 1: use directly the sqlite DB in the UN
Step 2: modify the backend adapter of the dashboard in order to read/write data through the REST interface of the UN.
Currently the window that allow to insert a new rule has a list of supported fields embedded in the code.
This should be improved by reading an external file (e.g., a JSON schema) a creating the window dynamically based on the objects supported in the JSON.
When creating a link:
Do not include the code of the external libraries (i.e., vnf template and nffg library); include them in your project as submodules in order to avoid code duplication.
Some graphs that should be shown with the "simplified view" are instead shown only in the bigswitch mode.
An example is the graph named "graph-json", stored on the server. This graph has only direct links, no splittings; however, we are unable to switch to the simple view.
Each forwarding graph includes a graph ID, a name and a description.
Show the "name (id: xxx)" on the right side of the screen (currently it shows only "id"), unless the name is void; in this case show only ID.
When clicking on that link, open a window that allow to customize both ID, name, and description with three strings.
A leafref should be represented with a tag, whose options are limited to the values of the leaves pointed by the leafref
Right now, there are a lot of files to move from the config folder to the proper folders to set up the gui. This is error prone and makes the configuration of the gui hard to be authomized.
Proposal: let the contrib folder as it is, but also copy the required files in the proper folders of the gui. In that folders, please add a README says that "file xy is actually part of the library AB available at URL .."
Change from
Warning: It's possible only Coplex View, because there is a split
to
This graph can only be shown in the Big Switch view because at least a splitting exists in the flowrules.
In addition; change the tooltip of the big switch button from "Big Switch" to "Toggle Simple/Big Switch view".
The API towards orchestrator has to distinguish, using PUT and POST, the creation and the update of a graph.
In case of creation, it does not specify the graph ID, which is received by the orchestrator as a result of the creation.
The actions section of the schema has been changed (https://github.com/netgroup-polito/nffg-library/blob/master/schema.json).
In particular, "output" has been renamed to "output_to_port" (string) while "output_to_controller" (boolean), "drop" (boolean) and "push_vlan" (string) have been added.
I ask you, if it's possibile, to modify the json renaming "output".
"drop", "output_to_controller" and "push_vlan" should be added to the graphical creation of flowrules considering their type (string or boolean). Also "pop_vlan" thas is present, should be changed to a boolean value. Referring to #11, default value of boolean fields is false and they should be present in the json only if true.
Is it possible to dynamically read fileds and types from the schema, avoiding to modify the code every time there is a change?
Thank you and sorry for all these requests ๐
In the summary view, show only the rule name and, if available input/output port.
A new option should be available to show the list of flow rules (with the most significant fields) as a table. Aside each rule, a dedicated button should be used to show the complete rule, hence also the fields that are not shown in the table.
This mimics what OpenDayLight Hydrogen does:
https://wiki.opendaylight.org/view/File:FlowStatitistics.jpg
Important: the list of fields shown in the table should be easily customizable, e.g., through a simple (text) list.
Step to reproduce the bug:
A warning window appears saying "Errore di validazioneu'1' is not of type u'integer' ".
Document the structure of the 'users_graphs' table.
In particular, document how visualization data is stored in the database (I presume in the 'fgpos' field), so that we know how the position of the different objects is saved.
In the NF's configuration showed, the ipv4-configuration container is not shown.
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.