Uploaded image for project: 'Couchbase Python Client Library'
  1. Couchbase Python Client Library
  2. PYCBC-1225

Couchbase cluster sdk failing with ssl on when running against 7.1.0 on centos

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • Major
    • None
    • 3.2.3, 3.2.4, 3.2.5
    • library
    • None
    • 1

    Description

      SDK version: 3.2.3, 3.2.4,3.2.5
      Couchbase server version : 7.1.0-7129
      Steps to Reproduce:
      1. Setup couchbase server 7.1.0-7129 on Centos VM
      2. enable ssl, use_views on the server
      3. setup couchbase python sdk with any of the above version mention on Centos machine(pip install couchbase==3.2.3)
      4. Have a python code below

      import logging
      import couchbase
      logging.basicConfig(stream=sys.stderr, level=logging.DEBUG)
      couchbase.enable_logging()
      url = "couchbases://{}?ssl=no_verify".format("172.23.106.102")
      timeout_options = ClusterTimeoutOptions(kv_timeout=timedelta(seconds=30), query_timeout=timedelta(seconds=300))
      options = ClusterOptions(PasswordAuthenticator("Administrator", "password"), timeout_options=timeout_options)
      cluster = Cluster(url, options)
      

      5. Got this following error

      *Test result: *

       cluster = Cluster(url, options)
      venv/lib/python3.7/site-packages/couchbase/cluster.py:573: in __init__
          **self._clusteropts
      venv/lib/python3.7/site-packages/couchbase_core/client.py:160: in __init__
          self._do_ctor_connect()
      venv/lib/python3.7/site-packages/couchbase/cluster.py:597: in _do_ctor_connect
          super(Cluster, self)._do_ctor_connect(*args, **kwargs)
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
       
      self = <couchbase_core.client.Cluster bucket=, nodes=['172.23.106.102:18091', '172.23.120.27:18091', '172.23.121.235:18091'] at 0x7f66700834f8>, args = (), kwargs = {}
       
          def _do_ctor_connect(self, *args, **kwargs):
              """This should be overidden by subclasses which want to use a
              different sort of connection behavior
              """
      >       self._connect()
      E       SystemError: <method '_connect' of 'Client' objects> returned a result with an error set
      venv/lib/python3.7/site-packages/couchbase_core/client.py:169: SystemError
      

      Expected : It should pass through and should able to sdk call
      Logs:
      SDK logs after I enabled in the code :

      ERROR    couchbase.SSL:_logutil.py:33 [-5579382794228009315] error:1407742F:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert insufficient security (L:162)
      ERROR    couchbase.http-io:_logutil.py:33 [-5579382794228009315] <172.23.106.102:18091> (CTX=0x1d7edf0,mgmt/capi) Got error while performing I/O on HTTP stream <172.23.106.102:18091> (mgmt). Err=LCB_ERR_SSL_ERROR (1002) (L:226)
      WARNING  couchbase.http-io:_logutil.py:33 [-5579382794228009315] <172.23.106.102:18091> Not retrying non-data-api request (L:221)
      

      couchbase server logs : cbcollect logs cbcollect_sdk_sslon_fails.zip

      *Note : *This same test works fine with server ssl off and sdk call with 'couchbase' in place of 'couchbases'
      This test works fine with server ssl on on 7.0.0
      This test works fine if couchbase sdk is mac package
      This fails only if server ssl on and only on 7.1.0 and on centos7

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            jared.casey Jared Casey
            sridevi.saragadam Sridevi Saragadam (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty