Hi Jan,

The dev mailing list is for the development of Cassandra only.  The most
appropriate place for a question about OpsCenter is probably a
StackOverflow post tagged with "datastax-opscenter".

On Tue, May 26, 2015 at 5:59 AM, Jan Kesten <j...@dg6obo.de> wrote:

> Hi all,
>
> I am trying to setup internode and client encryption on cassandra. I set
> up a small ca, generated the certificates, distributed them and configured
> the nodes to use them.
>
> Internode encryption worked straight forward, cqlsh after I added "--ssl".
>
> But I am not able to setup OpsCenter (running 5.1.1). Two issues:
>
> 1. I added the ca file path, for me /etc/opscenter/cassandra_ca.pem, as
> asked. I cant save the cluster until I add a keystore even if I did not set
> a mark for client verification - also I cant find any documentation which
> keystore is meant here. Since OpsCenter is python these are obviously not
> the jks keystores from cassandra.
>
> I guess that it is meant in that way, the individual nodes present thier
> certificate to opscenter which would verify it against the ca-store.
>
> 2. Trying to connect gives me an error in opscenterd.log:
>
> 2015-05-26 10:34:27+0000 []  INFO: Using SSL when checking thrift
> connection: /etc/opscenter/cassandra_ca.pem, client_pem=None,
> client_key=None,
> validate=True
> 2015-05-26 10:34:27+0000 []  INFO: Starting factory
> <opscenterd.ThriftService.NoReconnectCassandraClientFactory instance at
> 0x7fa490ff97a0>
> 2015-05-26 10:34:27+0000 [] Unhandled Error
>         Traceback (most recent call last):
>           File
> "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/python/log.py", line
> 84, in callWithLogger
>             return callWithContext({"system": lp}, func, *args, **kw)
>           File
> "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/python/log.py", line
> 69, in callWithContext
>             return context.call({ILogContext: newCtx}, func, *args, **kw)
>           File
> "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/python/context.py",
> line 59, in callWithContext
>             return self.currentContext().callWithContext(ctx, func, *args,
> **kw)
>           File
> "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/python/context.py",
> line 37, in callWithContext
>             return func(*args,**kw)
>         --- <exception caught here> ---
>           File
> "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/epollreactor.py",
> line 220, in _doReadOrWrite
>             why = selectable.doWrite()
>           File
> "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/tcp.py",
> line 664, in doConnect
>             self._connectDone()
>           File
> "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/ssl.py",
> line 160, in _connectDone
>             self.startTLS(self.ctxFactory)
>           File
> "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/tcp.py",
> line 561, in startTLS
>             if Connection.startTLS(self, ctx, client):
>           File
> "/usr/share/opscenter/lib/py-debian/2.7/amd64/twisted/internet/tcp.py",
> line 402, in startTLS
>             self.socket = SSL.Connection(ctx.getContext(), self.socket)
>           File "/usr/lib/python2.7/dist-packages/opscenterd/SslUtils.py",
> line 54, in getContext
>
>           File "/usr/lib/python2.7/dist-packages/OpenSSL/SSL.py", line
> 303, in load_verify_locations
>             raise TypeError("cafile must be None or a byte string")
>         exceptions.TypeError: cafile must be None or a byte string
>
> 2015-05-26 10:34:27+0000 []  INFO: <twisted.internet.ssl.Connector
> instance at 0x7fa490ff9a70> will retry in 2 seconds
> 2015-05-26 10:34:27+0000 []  INFO: Unhandled error in Deferred:
> 2015-05-26 10:34:27+0000 [] Unhandled Error
>         Traceback (most recent call last):
>         Failure: twisted.internet.error.ConnectError: An error occurred
> while connecting: [Failure instance: Traceback (failure with no frames):
> <type 'exceptions.TypeError'>: cafile must be None or a byte string
>         ].
>
> Any hints about this?
>
> Thanks in advance,
> Jan
>



-- 
Tyler Hobbs
DataStax <http://datastax.com/>

Reply via email to