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

DPDK 20.05, Pktgen 20.03 updates for Ubuntu 20.04 #249

Merged
merged 11 commits into from
Aug 2, 2020

Conversation

sreyanalla
Copy link
Contributor

@sreyanalla sreyanalla commented Jul 23, 2020

This PR builds on @Vivek-anand-jain 's DPDK version update PR (#231 ). Adds to the resolution for issue #226 .

Specifically:

A CloudLab profile has been created using this branch: ONVM20-U20

Note that you may run into the following errors/warnings:

  • When syncing/updating dpdk submodules
dpkg: unrecoverable fatal error, aborting
syntax error: unknown group "mlocate" in statoverride file,
  E: sub-process /usr/bin/dpkg returned an error code (2)

Solution: run sudo sed -i '/mlocate/d ' /var/lib/dpkg/statoverride

  • When running the install script:
/usr/bin/env: python : No such file or directory 

Solution: run sudo ln -s /usr/bin/python3 /usr/bin/python

If the above issues seem to persist/appear to occur every time, please let me know in the comments and I can make changes to scripts where necessary in order to prevent them beforehand.

Usage:
Follows same general usage protocol for ONVM

This PR includes
Resolves issues #226
Breaking API changes
Internal API changes
Usability improvements
Bug fixes
New functionality
New NF/onvm_mgr args
Changes to starting NFs
Dependency updates updates Pktgen version, uses newer version of Ubuntu 20.04
Web stats updates

Merging notes:

TODO before merging :

  • PR is ready for review

Test Plan:

  • Run manager, NFs as usual
  • Test using pktgen (ensure that pktgen is able to build and run smoothly)

Review:

@catherinemeadows @EthanBaron14

Vivek-anand-jain and others added 6 commits June 25, 2020 16:56
* Update the onvm manager, nflib and examples to use the
updated DPDK APIs.

* Update install.sh to enable the igb_uio module build
  (CONFIG_RTE_EAL_IGB_UIO is disabled by default since v20.02)
strncpy raises (precautionary) werrors during onvm compilation with ubuntu 20 compiler (gcc 9); gnu/gcc recommends use of memcpy to avoid warning
@catherinemeadows
Copy link
Contributor

catherinemeadows commented Jul 29, 2020

Instantiated the 1 node setup and didn't run into any of the errors that you mentioned. I was able to successfully run various NFs as well as start up chains of NFs. Ethan and I have had some issues with resource availability for getting a 3-node setup but will keep trying. Our 3-node setup with the c220g5 node failed because there weren't enough hardware devices. Not sure if this is the specific type of node we tried, but we can try with other types once they become available.

On a 2-node setup, for only one of the nodes, I had to go through the install doc and setup the environment variables and run the install script again. Not sure if this is expected or not.

For the 2-node setup, I also ran into this error that you mentioned:

dpkg: unrecoverable fatal error, aborting
syntax error: unknown group "mlocate" in statoverride file,
  E: sub-process /usr/bin/dpkg returned an error code (2)

while trying to install pktgen. Your solution seemed to fix it but I got another error when trying to run

sudo make install

in the Lua directory. Maybe the PktGen documentation just needs to be updated but I had to run some other commands to get it to work.

@EthanBaron14
Copy link
Contributor

Exactly what Cat said. I created a reservation on c220g5 earlier today to start at 10. Since then, it says that there's only one node being "Used" out of the three I requested. When I tried to instantiate the new ONVM profile that supports multiple nodes, CloudLab failed after the "Provisioning" step. It said there weren't enough hardware devices on node2 to accommodate the request. The number available was 1 and the number required was 2. This leads me to believe that the c220g5 nodes don't have enough NICs to run the three-node topology.

Accordingly, I updated my reservation to request three c220g1 nodes that should be available later tonight. I'll try to instantiate the profile again in the morning.

@twood02 twood02 added this to the ONVM 20.07 milestone Jul 29, 2020
lua pktgen.set_mac() now takes three args: port, src|dst, mac addr
blacklists outdated as of pktgen v2.7.0
@EthanBaron14
Copy link
Contributor

Tested all of this using one node on the c220g1 cluster. Following the installation instructions outlined in the CloudLab profile enabled me to build and run the manager and NFs without any issues. I was able to build and run ONVM and NFs after running those three commands in the profile instructions and binding the gigabit NICs to DPDK. However, it's worth noting is that running the install script (scripts/install.sh) is not required and actually makes it so ONVM does NOT run without manual configuration or running those three setup commands again.

I still want to test this with the three-node configuration, which might be possible when some nodes free up on the c220g1 cluster just after midnight. I'll try to reserve three nodes for testing at that time but likely won't be able to test until the morning after our meeting.

@twood02 twood02 added the ready-for-gatekeeper 🚪 PRs that have been approved and are ready for a final review/merge label Jul 31, 2020
@dennisafa
Copy link
Member

I feel like we should just do the DPDK checkout within the install script, and add the one-line solutions in there as well. Less stress on the user.

@twood02 twood02 mentioned this pull request Jul 31, 2020
1 task
@dennisafa dennisafa merged commit 1c6e171 into sdnfv:develop Aug 2, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-for-gatekeeper 🚪 PRs that have been approved and are ready for a final review/merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants