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

Unable to re-launch NF with same instance ID #233

Closed
catherinemeadows opened this issue Jun 16, 2020 · 3 comments
Closed

Unable to re-launch NF with same instance ID #233

catherinemeadows opened this issue Jun 16, 2020 · 3 comments
Labels

Comments

@catherinemeadows
Copy link
Contributor

Bug Report

Current Behavior
When re-launching an NF with the same instance ID (from either command line or from a JSON config file), the manager exits with the errors:

RING: Cannot reserve memory 
RING: Cannot reserve memory
RING: Cannot reserve memory
EAL: Error - exiting with code: 1
Cause: Cannot create rx ring queue for NF 1

and the NF hangs on

APP: Waiting for manager to assign an ID...

This bug occurs when re-launching an NF with the same instance ID (even if the service ID is changed).

Expected behavior/code
NFs should successfully re-launch if assigned the same instance ID as a prior launch.

Steps to reproduce
Launch NF with specified instance ID (either command line or from a JSON config file), terminal with Ctrl+C, and re-launch with the same instance ID.

Command line instructions for running speed_tester:

$ ./go.sh -- -n 1 -r 1 -- -d 2

Terminate with Ctrl + C and relaunch:

$ ./go.sh -- -n 1 -r 1 -- -d 2

Screen Shot 2020-06-16 at 11 29 22 AM

The same error occurs when re-launching an NF with the same instance ID but a different service ID:

$ ./go.sh -- -n 1 -r 1 -- -d 2

Terminate with Ctrl + C and relaunch:

$ ./go.sh -- -n 1 -r 2 -- -d 2

Environment

  • OS: Ubuntu 18.04
  • onvm version: 20.05

Possible Solution

Make sure rings are being freed on NF shutdown

Additional context/Screenshots

The screenshot shows the result of trying to re-launch speed_tester from a JSON config file with the same instance ID as the first successful launch:

$ ./go.sh -F ../example_config.json -- -- -d 1
$ Ctrl + C
$ ./go.sh -F ../example_config.json -- -- -d 1

rx_ring_bug

@catherinemeadows catherinemeadows changed the title Manager cannot create rx ring queue for NF re-launch Unable to re-launch NF with same instance ID Jun 16, 2020
@catherinemeadows
Copy link
Contributor Author

@bdevierno1 this might be a fix that can be included in your PR

@dennisafa
Copy link
Member

Yea this ones on me - when I moved the NF ring allocation from the manager to the NF, I didn't account for the fact thats rings need to be allocated from a secondary process. In my latest PR (NF pool) i wrote a function that allocates a single ring from the manager using a NF -> manager communication mechanism. When we merge that we should fix this issue by having the NF use that function whenever allocating the ring.

@kevindweb
Copy link
Contributor

Fixed from merge in #272

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants