Skip to content
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

Comprehensive list of enhancements #91

Open
12 of 15 tasks
koolzz opened this issue Feb 6, 2019 · 7 comments
Open
12 of 15 tasks

Comprehensive list of enhancements #91

koolzz opened this issue Feb 6, 2019 · 7 comments

Comments

@koolzz
Copy link
Member

koolzz commented Feb 6, 2019

Possible new feature/updates for onvm, both WIP, Planned and Finished

Description:
This will serve as a pinned issue with tasks that need to be implemented. This is easier to edit than the projects board and provides a quick overview. We might utilize the Projects board for tasks that are actually assigned and under development.

When a task is WIP it will have a check-mark box next to it and an owner/Projects link after. When a task is finished the box will be checked moved to the DONE section.

Adding or Claiming tasks:
If anyone has other ideas for OpenNetVM add a comment with a description and I'll append them to the issue. Similarly, if you want to claim and start a task drop a comment and I'll assign it/move it to the project board.

Overall improvements, scripts, docs, other:

  • Any reason to maintain a wiki section in the main repo? Would updating docs be better? Does anyone care or want to do it? Discuss
  • Docker documentation & setup needs an update

NF related:

  • Add a shutdown callback similar to nf_setup but on shut down, this can be used to print out average stats and other useful info. NF prints summary of its activity on shutdown #179
  • Improved router NF, routes based on rules defined in the config but can now also accept different parameters(port/flags/seq) from the ip_hdr, udp_hdr, packet payload, etc. Could use lpm?
  • Based on the NF-to-NF messaging we can implement complex experiments that require multiple NFs that communicate with each other. Vscode debug #297

Scripting:

Web stats(currently all assigned to @kevindweb, link:

  • Fix the bug where you click on one panel but the other one is highlighted
  • Show all allocated cores (not just the ones used)

Cores/Scaling/Magic:

  • Automatic scaling for NFs, take f.e. speed tester, based on some data metrics in onvm_mgr decide when speed tester is overloaded (some queue data might be useful) -> scale more speed testers. Assigned to @ratnadeepb, link

Performance:

  • Overall performance tweaks and monitoring which parts of the code lead to slowdowns
  • Separating the NF startup msging processing from the stats, currently, it's all being done in one thread

Multi-Host ONVM

  • service chaining across hosts (VXLAN encapsulation)
  • See Phill's old code

CloudLab:

  • Update main profile
  • Provide complex templates, a 3 node setup with a client, onvm middlebox with a local server and a remote server is more fun that just bare onvm installation

mTCP:

  • Fix scaling, with the current version scaling probably won't work as the nf_info is stored in a global variable
  • Performance tests, optimizations & other things

mOS

Snort

  • Update Snort, an imaginary prize goes to whoever gets it up and running, currently, @ratnadeepb is trying to set it up

Cluster

  • Have a webpage that shows if the nodes are up, just pings all nodes

Other endpoint application:
We could explore other applications, such as the dpdk nginx module that can be used with onvm as examples of complex NFs. Before doing this we have to think about what benefits it would give us to port something.

Also, we should look at f-stack, it seems similar to our project.

DONE (As of Spring 2020):

DONE (Spring 2019):

  • Update the good old ./install.sh / setup_environment.sh scripts as they fail to deal with hugepages. Assigned to @koolzz
  • Ubuntu 18.04.01 update? Assigned to @dennisafa, link
  • Get a sysadmin sysadmins @kevindweb @dennisafa
  • Ensuring we only have one PR being tested at once for CI. @koolzz
  • Finish the Firewall NF Wireguard for OpenNetVM #225 Assigned to @dennisafa, pr link
  • Web stats improvements:
    • Add new events? The easy one is scaling
    • After the pthread pr we will have core info -> we need to put that onto the web page.
  • Reuse instance ids(basically reuse onvm_nf structs) doesn't make sense for us not to do this. Assigned to @koolzz, pr here
@ratnadeepb
Copy link
Contributor

@twood02 I would be interested in working on the auto-scaling problem. It would seem to me that having the onvm manager identify load conditions and finding opportunities to remedy that by automatically scaling a (subset | all) of the running NFs could be an interesting problem to work on.

@kevindweb
Copy link
Contributor

@twood02 @koolzz As noted yesterday, I would like to on the main website, additional stats and other improvements to the online platform. This can include the onvm_web functionality that was just merged, possibly including pthreads that we talked about in the meeting? I will keep in touch about my progress. In addition, @dennisafa and I are learning about the gwcloudlab and a start to systems administration with giving access to nodes which we can build upon in the future.

@koolzz
Copy link
Member Author

koolzz commented Feb 7, 2019

I'll make cards in the project board by the end of the week

@dennisafa
Copy link
Member

dennisafa commented Feb 7, 2019

I'll work on testing out ONVM on Ubuntu 18.04.1 LTS as well as sysadmin work and the firewall code.
I found a blank 18.04 profile on cloudlab that I'll initiate today.

@AaronCoplan
Copy link
Contributor

If people are looking for even more tasks and we want to expand CI further beyond #299, we can add the following:

  1. Dispatching different workloads to CI worker nodes
  2. Ensuring we only have one PR being tested at once

@koolzz koolzz pinned this issue Feb 14, 2019
@koolzz koolzz changed the title Fresh tasks for sale, grab them while they're hot Comprehensive lists of onvm enchancements both WIP and Planned Feb 14, 2019
@koolzz koolzz changed the title Comprehensive lists of onvm enchancements both WIP and Planned Comprehensive list of enchancements Feb 14, 2019
@koolzz koolzz transferred this issue from another repository Apr 1, 2019
@koolzz koolzz pinned this issue Apr 1, 2019
@dennisafa dennisafa unpinned this issue Aug 21, 2019
@dennisafa dennisafa pinned this issue Aug 21, 2019
@kevindweb
Copy link
Contributor

@koolzz I will work on the onvm_mgr launch script should check if any NFs are running before launching scripting task if you want to update this. #180 fixes this if you want to check that and update here.

@koolzz
Copy link
Member Author

koolzz commented Jan 6, 2020

@kevindweb

@koolzz I will work on the onvm_mgr launch script should check if any NFs are running before launching scripting task if you want to update this. #180 fixes this if you want to check that and update here.

You should have enough repo permissions to edit the issue, lmk if that's not the case

@kevindweb kevindweb changed the title Comprehensive list of enchancements Comprehensive list of enhancements Jan 6, 2020
@dennisafa dennisafa unpinned this issue Jun 16, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants