RequiredOptError: value required for option: lock_path

Bug #1394963 reported by Derek Higgins
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Cinder
Invalid
Undecided
Unassigned
tripleo
Fix Released
Critical
Derek Higgins

Bug Description

Error(pasted below) in cinder-api logs (seen locally today but I suspect we'll also see it in CI once bug 1394956 is fixed)

Looks like this commit may have caused it
https://review.openstack.org/#/c/133478/10

TRACE cinder.api.middleware.fault File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/messaging/transport.py", line 90, in _send
 TRACE cinder.api.middleware.fault timeout=timeout, retry=retry)
 TRACE cinder.api.middleware.fault File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/messaging/_drivers/amqpdriver.py", line 408, in send
 TRACE cinder.api.middleware.fault retry=retry)
 TRACE cinder.api.middleware.fault File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/messaging/_drivers/amqpdriver.py", line 399, in _send
 TRACE cinder.api.middleware.fault raise result
 TRACE cinder.api.middleware.fault RemoteError: Remote error: RequiredOptError value required for option: lock_path
 TRACE cinder.api.middleware.fault [u'Traceback (most recent call last):\n', u' File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 134, in _dispatch_and_reply\n incoming.message))\n', u' File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 177, in _dispatch\n return self._do_dispatch(endpoint, method, ctxt, args)\n', u' File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/messaging/rpc/dispatcher.py", line 123, in _do_dispatch\n result = getattr(endpoint, method)(ctxt, **new_args)\n', u' File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/osprofiler/profiler.py", line 105, in wrapper\n return f(*args, **kwargs)\n', u' File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/cinder/volume/manager.py", line 735, in attach_volume\n return do_attach()\n', u' File "/opt/stack/venvs/openstack/local/lib/python2.7/si
Nov 21 11:50:40 overcloud-controller0-eoouodedhvl2 cinder-api: te-packages/oslo/concurrency/lockutils.py", line 305, in inner\n do_log=False):\n', u' File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__\n return self.gen.next()\n', u' File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/concurrency/lockutils.py", line 264, in lock\n ext_lock = external_lock(name, lock_file_prefix, lock_path)\n', u' File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/concurrency/lockutils.py", line 204, in external_lock\n lock_file_path = _get_lock_path(name, lock_file_prefix, lock_path)\n', u' File "/opt/stack/venvs/openstack/local/lib/python2.7/site-packages/oslo/concurrency/lockutils.py", line 198, in _get_lock_path\n raise cfg.RequiredOptError(\'lock_path\')\n', u'RequiredOptError: value required for option: lock_path\n'].
 TRACE cinder.api.middleware.fault

Tags: ci
Derek Higgins (derekh)
tags: added: ci
Changed in tripleo:
status: New → Triaged
importance: Undecided → Critical
Rushi Agrawal (rushiagr)
Changed in cinder:
status: New → Confirmed
importance: Undecided → High
Rushi Agrawal (rushiagr)
Changed in cinder:
status: Confirmed → New
importance: High → Undecided
Revision history for this message
Derek Higgins (derekh) wrote :

I've submitted a revert to cinder
https://review.openstack.org/#/c/136322/

As this config options without deprecating them.

Revision history for this message
Ben Nemec (bnemec) wrote :

So what happened here isn't that the option got removed in the migration, it was that the lockutils module in Cinder was very old and had a serious bug where it would allow an unset lock_path, but didn't behave properly in that case (every lock created a new lock path, which meant no actual locking happened because they were all using different files). The lib no longer allows that, so now it is just necessary to set a lock_path in the Cinder conf.

So this has to be fixed at deployment time, and there's not really anything Cinder can do about it.

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-image-elements (master)

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

Changed in tripleo:
assignee: nobody → Ben Nemec (bnemec)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on cinder (master)

Change abandoned by Derek Higgins (<email address hidden>) on branch: master
Review: https://review.openstack.org/136322
Reason: Agree with fixing in tripleo

Changed in tripleo:
assignee: Ben Nemec (bnemec) → Derek Higgins (derekh)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-image-elements (master)

Reviewed: https://review.openstack.org/136472
Committed: https://git.openstack.org/cgit/openstack/tripleo-image-elements/commit/?id=accd4ac96df9abfda20426a662595ad168ae6ceb
Submitter: Jenkins
Branch: master

commit accd4ac96df9abfda20426a662595ad168ae6ceb
Author: Ben Nemec <email address hidden>
Date: Fri Nov 21 13:36:57 2014 -0600

    Set lock_path in cinder.conf

    Without this set, interprocess locking does not work properly.

    We also need to ensure the cinder state directory is writable
    by cinder, up to now it was not.
    Change-Id: Idcabf808d5f7255d0cc382b7857a4c13b9b7a2dc
    Closes-Bug: 1394963

Changed in tripleo:
status: In Progress → Fix Committed
Derek Higgins (derekh)
Changed in tripleo:
status: Fix Committed → Fix Released
Changed in cinder:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.