Efficiently mark packets related to metadata agent

Bug #1477553 reported by Bertrand Lallau
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
neutron
Fix Released
Undecided
Bertrand Lallau

Bug Description

Actually when metadata is enabled on L3 agent, the following is generated by L3 agent (only rules related to metadata are displayed in the following) :

sudo ip netns exec qrouter-cad6171a-aa76-4e24-bf6d-dbbfb276c47a iptables -S -t mangle
...
-A neutron-l3-agent-PREROUTING -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -j MARK --set-xmark 0x1/0xffffffff
...

sudo ip netns exec qrouter-cad6171a-aa76-4e24-bf6d-dbbfb276c47a iptables -S -t nat
...
-A neutron-l3-agent-PREROUTING -d 169.254.169.254/32 -i qr-+ -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 9697
...

sudo ip netns exec qrouter-cad6171a-aa76-4e24-bf6d-dbbfb276c47a iptables -S -t filter
...
-A neutron-l3-agent-INPUT -m mark --mark 0x1 -j ACCEPT
-A neutron-l3-agent-INPUT -p tcp -m tcp --dport 9697 -j DROP
...

The mark 0x1 set in MANGLE table could be more restrictive to avoid marking packets from external interfaces.

Changed in neutron:
assignee: nobody → Bertrand Lallau (bertrand-lallau)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (master)

Fix proposed to branch: master
Review: https://review.openstack.org/205064

Changed in neutron:
status: New → In Progress
Revision history for this message
Carl Baldwin (carl-baldwin) wrote :

As stated, this isn't a bug; it is just a nit pick at the implementation. What is the bug? Are you hinting that this causes some undesirable behavior in the system (like allowing access to the metadata server through the external gateway port?) If so, state the undesirable behavior as a bug.

Changed in neutron:
status: In Progress → Incomplete
Revision history for this message
Bertrand Lallau (bertrand-lallau) wrote :

Hi Carl,
There is no undesirable behavior in the system, packets could be marked more efficiently, thats's all.
Hence there is no bug, but implementation could be better.
regards,

Changed in neutron:
status: Incomplete → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (master)

Reviewed: https://review.openstack.org/205064
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=f23eb3290a1943c12e0ffbfd812ff5443f57af3c
Submitter: Jenkins
Branch: master

commit f23eb3290a1943c12e0ffbfd812ff5443f57af3c
Author: Bertrand Lallau <email address hidden>
Date: Thu Jul 23 11:31:49 2015 +0200

    Only mark metadata packets on internal interfaces

    Currently iptables rules set on L3 agent with metadata_proxy enabled
    mark all packets coming from all interfaces including external interfaces.

    This change updates PREROUTING rules from MANGLE table to mark packets
    only from internal interfaces.

    Change-Id: I01549df7b99be84cd46b6f97a5fd62aec1f43275
    Closes-Bug: #1477553

Changed in neutron:
status: In Progress → Fix Committed
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to neutron (feature/pecan)

Fix proposed to branch: feature/pecan
Review: https://review.openstack.org/219887

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to neutron (feature/pecan)
Download full text (12.9 KiB)

Reviewed: https://review.openstack.org/219887
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=6f2849c91691a551447c2977ff0a1bead5d5d744
Submitter: Jenkins
Branch: feature/pecan

commit afd1983680aea739ef0e4b0ff2c07ab09c4a86fb
Author: armando-migliaccio <email address hidden>
Date: Tue Sep 1 15:45:50 2015 -0700

    Catch errors on 'port not found' while deleting subnet

    In some circumstances (like the one triggered by the test_dhcp_ipv6 testcase)
    calls to deleting a port and calls to deleting subnets can happen in straight
    sequence.

    If this happens the execution of the operations can interleave leading
    to the subnet deletion to fail because the port has already gone. This patch
    ensures a missing port is handled correctly.

    The method delete_subnet is ginormous and hence impossible to test at a unit
    level without proper refactoring. That can happen with a follow-up patch.

    Closes-bug: #1490832

    Change-Id: I80c3733c93b2b66c2a1c4bc3bc24272afdd88b1f

commit e27299c124d89145bf1bc23f057e1b124204235e
Author: Ihar Hrachyshka <email address hidden>
Date: Tue Sep 1 11:22:39 2015 +0200

    [rpc] pull: removed a hack to avoid object backport triggered

    Since oslo.versionedobjects 0.8.0, the object is not backported if the
    requested version is the same as the latest known.

    Change-Id: Ia1e9aa77b75261e4b2d2b24f31250ce2a2f028a7

commit 7ea38a14bd32a3697b2cd72be4c947aa19378185
Author: Pavel Bondar <email address hidden>
Date: Fri Jul 24 11:50:26 2015 +0300

    Enable py34 tests for pluggable ipam backend

    Enable neutron.tests.unit.db.test_ipam_pluggable_backend.
    It was disabled after extending ipam tests to run db_base_plugin tests,
    which are not py34 compatible yet.

    Change-Id: I3ae491fa79d4c3311a86e98db3fb2f7d5926a0ba

commit a9b72392a14a114a364785cd268f0f50615f43b0
Author: OpenStack Proposal Bot <email address hidden>
Date: Tue Sep 1 04:25:00 2015 +0000

    Updated from global requirements

    Change-Id: Ie5ad70b0afbeb5502cc41f585f6a3f2942203369

commit 28e54ef089e8b3eca8e86992340530948aec12b7
Author: sridhargaddam <email address hidden>
Date: Thu Aug 27 09:49:28 2015 +0000

    Fix import path in neutron-sanity-check for ml2_sriov opts

    neutron-sanity-check fails while importing ml2_sriov
    configuration. This patch fixes the import path and
    also includes a unit test to avoid such issues.

    Closes-Bug: #1489374
    Change-Id: I4265ee78be9e7f83e35c94187d4577b32005bef9

commit 61121c5f2af27e31092db7ac6947f796198410a8
Author: armando-migliaccio <email address hidden>
Date: Wed Jul 8 13:48:11 2015 -0700

    Decentralize the managemement of service providers

    After the service split, some of the configuration, parsing and
    validation was kept in the neutron core; ultimately this needs to
    get closer to the services where it belongs.

    This patch starts from ProviderConfiguration and ServiceTypeManager
    classes, and aims at removing the hard-coded elements, like the list
    of known advanced services, so that in the long run we can make
    Neutron ea...

tags: added: in-feature-pecan
Thierry Carrez (ttx)
Changed in neutron:
milestone: none → liberty-3
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in neutron:
milestone: liberty-3 → 7.0.0
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.