Enable TLS encryption between API server and Cassandra
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | Status tracked in Trunk | |||||
R3.2 |
Fix Committed
|
High
|
Piyush Srivastava | |||
R4.0 |
Fix Committed
|
Undecided
|
Sahil Sabharwal | |||
R4.1 |
Fix Committed
|
Undecided
|
Sahil Sabharwal | |||
Trunk |
Fix Committed
|
Undecided
|
Sahil Sabharwal | |||
OpenContrail |
Fix Committed
|
Undecided
|
Sahil Sabharwal |
Bug Description
Release 3.2.x
We are presently deploying Contrail API and Cassandra on different nodes. There is a security requirement in our data centers to have API -> Cassandra communication and Cassandra -> Cassandra communication encrypted.
It seems like there is no TLS support for Contrail API -> Cassandra communication. Contrail uses pycassa for interfacing with Cassandra.
It is possible to estabilsh ssl connection to Cassandra using pycassa
by providing it a SSL socket factory. Pycassa already has a helper function that can be used to create a ssl socket factory.
Here's the code snippet I used to get pycassa connect securely to a SSL
enabled Cassandra.
```
import pycassa
"""
Create a SSL socket factory. This returns a factory
function that can be used by pycassa to create ssl sockets
"""
# Create a connection pool to a system_auth keyspace
pool = pycassa.
```
Inter node encryption between Cassandra nodes in a cluster works.
description: | updated |
tags: | added: wpc |
tags: | added: analytics |
Changed in opencontrail: | |
assignee: | nobody → Piyush Srivastava (piyush0101) |
Changed in opencontrail: | |
status: | New → In Progress |
Changed in opencontrail: | |
assignee: | Piyush Srivastava (piyush0101) → Sachin Bansal (sbansal) |
Changed in opencontrail: | |
assignee: | Sachin Bansal (sbansal) → Sahil Sabharwal (ssabharwal) |
Changed in opencontrail: | |
status: | In Progress → Fix Committed |
Review in progress for https:/ /review. opencontrail. org/38530
Submitter: Piyush Srivastava (<email address hidden>)