Volume backup swift driver missing ca cert option

Bug #1413945 reported by francis moorehead
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Fix Released
Undecided
Duncan Thomas

Bug Description

Swift client has an option to provide a path to a cert file.

The volume backup swift driver is missing an option to specify a cert file

Volume backup requets fail when the requests library tries to verify the cert, the backup then goes into the error state

2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher Traceback (most recent call last):
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 137, in _dispatch_and_reply
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher incoming.message))
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 180, in _dispatch
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher return self._do_dispatch(endpoint, method, ctxt, args)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 126, in _do_dispatch
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher result = getattr(endpoint, method)(ctxt, **new_args)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/osprofiler/profiler.py", line 105, in wrapper
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher return f(*args, **kwargs)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/cinder/backup/manager.py", line 288, in create_backup
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher 'fail_reason': unicode(err)})
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/cinder/openstack/common/excutils.py", line 82, in __exit__
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/cinder/backup/manager.py", line 281, in create_backup
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher backup_service)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/osprofiler/profiler.py", line 105, in wrapper
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher return f(*args, **kwargs)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/cinder/volume/drivers/lvm.py", line 324, in backup_volume
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher backup_service.backup(backup, volume_file)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/cinder/backup/drivers/swift.py", line 387, in backup
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher object_meta, container = self._prepare_backup(backup)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/cinder/backup/drivers/swift.py", line 274, in _prepare_backup
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher container = self._create_container(self.context, backup)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/cinder/backup/drivers/swift.py", line 198, in _create_container
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher self.conn.put_container(container)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/swiftclient/client.py", line 1319, in put_container
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher response_dict=response_dict)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/swiftclient/client.py", line 1243, in _retry
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher rv = func(self.url, self.token, *args, **kwargs)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/swiftclient/client.py", line 718, in put_container
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher conn.request(method, path, '', headers)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/swiftclient/client.py", line 217, in request
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher files=files, **self.requests_args)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/swiftclient/client.py", line 185, in _request
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher return self.request_session.request(*arg, **kwarg)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/requests/sessions.py", line 461, in request
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher resp = self.send(prep, **send_kwargs)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/requests/sessions.py", line 573, in send
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher r = adapter.send(request, **kwargs)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/requests/adapters.py", line 431, in send
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher raise SSLError(e, request=request)
2015-01-20 15:09:47.682 25976 TRACE oslo.messaging.rpc.dispatcher SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:581)

Changed in cinder:
assignee: nobody → francis moorehead (francis-moorehead)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to cinder (master)

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

Changed in cinder:
status: New → In Progress
Changed in cinder:
assignee: francis moorehead (francis-moorehead) → Duncan Thomas (duncan-thomas)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to cinder (master)

Reviewed: https://review.openstack.org/149618
Committed: https://git.openstack.org/cgit/openstack/cinder/commit/?id=94dd55440c3c5fc47840d693a7f1936ceb2eecd4
Submitter: Jenkins
Branch: master

commit 94dd55440c3c5fc47840d693a7f1936ceb2eecd4
Author: Francis Moorehead <email address hidden>
Date: Fri Jan 23 13:13:38 2015 +0000

    Add CA cert option to backups swift driver

    Add the option in volume backups swift driver
    to specify a CA certificate file

    DocImpact: Add the option in volume backups swift driver to
    specify a CA certificate file

    Closes-Bug: 1413945

    Change-Id: Ibcfe220d35cbb5369679a1ff51fffd41f16c9909

Changed in cinder:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in cinder:
milestone: none → liberty-1
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in cinder:
milestone: liberty-1 → 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.