-
Notifications
You must be signed in to change notification settings - Fork 32
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
Example 1 does not work: JSON parsing error #223
Comments
@stevenvanrossem can you help here? Seems to be a problem with the networking API. |
There is indeed a bug in the son-emu-cli network command, it is not using the latest REST API syntax for the networking. I will update it. |
I pushed a fix: #224 and #225 |
Thanks @stevenvanrossem for quickly looking into this issue. However, now it is failing with different error Terminal 2
Terminal 1
|
Hi @knodir, |
Thanks @stevenvanrossem, To reduce the scope, I skipped snort vnf from the setup and just tried to connect client vnf to the server vnf. This one is also failing with Here are commands and their respective output. It is a bit verbose (and long), but I hope this will give you richer debugging information. Thanks for taking time to look at this! Terminal 1
Terminal 2 (add client vnf)
Relevant debugging output from terminal 1
Terminal 2 (add server vnf)
Relevant debugging output from terminal 1
Terminal 2
Terminal 2 (add network link from client to server)
Relevant debugging output from terminal 1
Terminal 1
Terminal 1 (ping server from client)
|
I got this working, but want to double check if my understanding of the problem is correct. I think vnf placement was the problem. Wiki places all Here are my changes:
I am suspicious about VLAN tagging/untagging when I do The reverse
Similar tagging and untagging happens between However, for non-working case (all nodes on dc2) I see VLAN mentioned only for one port, which I am assuming to be for tagging only. The path for
Two other relevant questions.
This would be very helpful if one wants to use external tools for VNF placement. Thanks! |
If you do NOT execute the son-emu-cli network add command, the ping should work. After executing the The priority was not set high enough, the chaining flowrules are not matched and traffic gets indeed blocked by the different VLAN tagging. (The VLAN tagging is needed to isolate emulated LAN segments, which is a feature currently only accessible by deploying VNFs via a SONATA service package, not yet via the cli/rest API ). If the chaining flowrules get a higher prioirity, they override the VLAN tagging. I will add default higher values for the priority setting when adding new flowrules. regarding the other question about VNF placement: it is possible to specify the datacenter where the VNF will be placed, I expanded a bit on this topic here: #227 |
as Steven explained in #227 manual placement is only possible through CLI/REST API. To modify the placement of the dummy gatekeeper (SONATA service package instantiation) you need to replace the default RoundRobin placement algorithm, e.g., by a algorithm that always places in the first DC in the list: class FirstDcPlacement(object):
"""
Placement: Always use one and the same data center from the GK.dcs dict.
"""
def place(self, nsd, vnfds, saps, dcs):
for id, vnfd in vnfds.iteritems():
vnfd["dc"] = list(dcs.itervalues())[0] (this example algorithm is also already in the code can can be used) Unfortunately we don't have a nice configuration option for this yet and you have to activate your algorithm in this line: https://github.com/sonata-nfv/son-emu/blob/master/src/emuvim/api/sonata/dummygatekeeper.py#L200 self._calculate_placement(FirstDcPlacement) |
Thanks @stevenvanrossem and @mpeuster for working on these issues! Commit #228 resolved the ping issue when all 3 nodes are placed on the dc2. I can also see the default priority 1000 applied to flow rules. Following verbose is very useful (thanks @stevenvanrossem)
|
I installed using vagrant image and the basic example did work. However, I get
simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
error when I try to chain "client" interface with "server" interface (see below).The text was updated successfully, but these errors were encountered: