Bug 1472431 - Support for configuring the SNAT mode in Opendaylight
Support for configuring the SNAT mode in Opendaylight
Status: VERIFIED
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-tripleo-heat-templates (Show other bugs)
12.0 (Pike)
Unspecified Unspecified
high Severity high
: beta
: 12.0 (Pike)
Assigned To: Janki
Itzik Brown
: Triaged
Depends On:
Blocks: 1414431
  Show dependency treegraph
 
Reported: 2017-07-18 13:22 EDT by Sridhar Gaddam
Modified: 2017-10-16 10:09 EDT (History)
4 users (show)

See Also:
Fixed In Version: openstack-tripleo-heat-templates-7.0.0-0.20170913050522.0d7373c.el7.centos
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Launchpad 1710614 None None None 2017-08-14 08:31 EDT
OpenStack gerrit 493861 None None None 2017-08-15 08:51 EDT
Opendaylight bug 8985 None None None 2017-08-14 08:25 EDT
OpenDaylight gerrit 61607 None None None 2017-08-14 08:27 EDT

  None (edit)
Description Sridhar Gaddam 2017-07-18 13:22:05 EDT
Description of problem:

OpenDaylight Carbon includes support for SNAT via Conntrack along with the existing mechanism which is Controller based.
However, SNAT conntrack is not enabled by default. 

Inorder to use SNAT Conntrack mode, one has to explicitly set "conntrack" (PSB) in "etc/opendaylight/datastore/initial/config/netvirt-natservice-config.xml" before starting karaf.

<natservice-config xmlns="urn:opendaylight:netvirt:natservice:config">
  <nat-mode>conntrack</nat-mode>                                                                                                                                                              
</natservice-config>

We have to expose this configuration in puppet-opendaylight and tripleo.
Comment 1 Nir Yechiel 2017-07-27 02:07:25 EDT
The plan for Pike is to expose both SNAT options (controller-based and conntrack-based) in TripleO, and set the conntrack-based as default. 

If further testing will reveal major issues with conntrack, we will reconsider this - but the current assumption is that the conntrack based solution should be our focus from now on and that the feature is stable enough.
Comment 3 Nir Yechiel 2017-08-02 19:29:33 EDT
This topic was discussed again today, and the consensus was that we should take advantage of the fact the we have different environment files for OVS and OVS-DPDK, and have separate default for each. 

OVS should default to conntrack and OVS-DPDK to controller-based. Reason for this is that the required conntrack support is not available in OVS 2.7, which is the version we are targeting for Pike/RHOSP 12.
Comment 4 Janki 2017-09-07 02:15:34 EDT
Stand-alone ODL will use controller to be default for both the cases. T-H-T will set default mechanism to conntrack for OVS and controller for OVS-DPDK.

Cherry pick to Pike: https://review.openstack.org/#/c/501228/
Cherry pick to Carbon: https://git.opendaylight.org/gerrit/#/c/61778/
Comment 5 Janki 2017-09-18 11:33:04 EDT
Fixed in version: puppet-opendaylight-4.2.0-0.20170905090706.7b618b1.el7.centos
Comment 7 Itzik Brown 2017-10-16 10:09:02 EDT
Checked with openstack-tripleo-heat-templates-7.0.1-0.20170927205938.el7ost.noarch

Default:
cat /opt/opendaylight/etc/opendaylight/datastore/initial/config/netvirt-natservice-config.xml                                                                                             
<natservice-config xmlns="urn:opendaylight:netvirt:natservice:config">
  <nat-mode>conntrack</nat-mode>

Adding OpenDaylightSNATMechanism: 'controller':

cat /opt/opendaylight/etc/opendaylight/datastore/initial/config/netvirt-natservice-config.xml             
<natservice-config xmlns="urn:opendaylight:netvirt:natservice:config">
  <nat-mode>controller</nat-mode>

Note You need to log in before you can comment on or make changes to this bug.