Ask Your Question
0

TypeError: create_volume() got an unexpected keyword argument 'source_replicaid'

asked 2014-11-07 14:16:06 -0500

rasoto gravatar image

updated 2014-11-10 10:40:12 -0500

When I try to create a storage volume from cinder controller node to cinder storage node with command

> cinder create --display-name test2 1

I get the following error

2014-11-07 12:32:28.576 13905 ERROR oslo.messaging._drivers.common [req-63e25d36-7ee4-46b5-94de-58f5acfff7e2 fd3fde26b78a4aa1a39f6e6cff5cd3ea bbf08bbe9bb646aa8787fc62a05fbac1 - - -] Returning exception create_volume() got an unexpected keyword argument 'source_replicaid' to caller
2014-11-07 12:32:28.576 13905 ERROR oslo.messaging._drivers.common [req-63e25d36-7ee4-46b5-94de-58f5acfff7e2 fd3fde26b78a4aa1a39f6e6cff5cd3ea bbf08bbe9bb646aa8787fc62a05fbac1 - - -] ['Traceback (most recent call last):\n', '  File "/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 133, in _dispatch_and_reply\n    incoming.message))\n', '  File "/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 176, in _dispatch\n    return self._do_dispatch(endpoint, method, ctxt, args)\n', '  File "/usr/lib/python2.7/dist-packages/oslo/messaging/rpc/dispatcher.py", line 122, in _do_dispatch\n    result = getattr(endpoint, method)(ctxt, **new_args)\n', "TypeError: create_volume() got an unexpected keyword argument 'source_replicaid'\n"]

Has anybody seen this error and know a solution for it?

edit retag flag offensive close merge delete

5 answers

Sort by ยป oldest newest most voted
0

answered 2014-11-13 07:56:05 -0500

check the versions of cinder of controller & block device host, they must be identical

edit flag offensive delete link more

Comments

Thanks a lot. I have been fixing this bug for more than 3 weeks. I forgot to set the repository when I installed the storage node.

darksteam gravatar imagedarksteam ( 2015-03-11 03:15:13 -0500 )edit

When looking at the installation instructions for Juno, it doesn't actually ask us to install cinder on the storage device, only requires cinder-volume. So "cinder --version" tells me it's not even installed... Are the instructions incorrect? Should I install cinder on the block device too?

ethode gravatar imageethode ( 2015-03-30 10:21:05 -0500 )edit
0

answered 2015-04-04 22:28:35 -0500

ethode gravatar image

Cinder version is not correct. More than likely because on your controller or storage node you didn't add the cloud packages repo and update your OS on one or more machines. This process MUST be done on ALL machines in the cluster.

# apt-get install ubuntu-cloud-keyring

# echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" \
  "trusty-updates/juno main" > /etc/apt/sources.list.d/cloudarchive-juno.list

# apt-get update && apt-get dist-upgrade
edit flag offensive delete link more
0

answered 2014-12-09 09:03:37 -0500

johnwinter gravatar image

Sorry for my bad question. I have the same problem and found this post. How do I check the versions?

edit flag offensive delete link more

Comments

Or other asked: I have followed the instructions in the Ubuntu 14.04 installation manual. I had to install cinder-api cinder-scheduler python-cinderclient on the controller-node and cinder-volume python-mysqldb on the storage node. So I don't understand, where the different versions should com from

johnwinter gravatar imagejohnwinter ( 2014-12-09 09:28:26 -0500 )edit

The guide mentioned above is for juno ;-)

johnwinter gravatar imagejohnwinter ( 2014-12-09 10:37:57 -0500 )edit
0

answered 2015-03-09 02:26:06 -0500

Kamil Babayev gravatar image

Thank you very much Dlardo. problem was exatly same and solution was same. when you create volume if it stucks as "Creating" then on block node do tail -f /var/log/cinder/cinder-volume.log if you see error ERROR oslo.messaging._drivers.common Exception during message handling: create_volume() got an unexpected keyword argument 'source_replicaid' or errors somelike problem related with cinder versions. in controller it is 2.1 and in block it is 1.3

because it is documentation problem. because when we start adding openstack packages on controller node we add repo like : apt-get install ubuntu-cloud-keyring echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu%22 (http://ubuntu-cloud.archive.canonical...) "trusty-updates/juno main" > /etc/apt/sources.list.d/cloudarchive-juno.list

but we dont it on block node so it installs old version of cinder. that is why we get python errors. So adding repo and resintalling cinder volume on block node solves problem.

Hope it will be helpful. Thanks for Dlardo...

edit flag offensive delete link more
0

answered 2015-01-13 20:09:04 -0500

dlardo gravatar image

I had the same issue. To fix it, I used apt-show-versions to discover the version differences in cinder-api (on my controller) and cinder-volume (on my block node). My controller was running cinder-api v2.1 but the cinder-volume was running v1.3. Turns out my block node was missing the ubuntu cloud archive repository, and was pulling older versions. I added the cloud archive in with 'sudo add-apt-repository cloud-archive:juno' and ran apt-get update on everything required by the install to get cinder-volume to v2.1. Restart your services and you're golden.

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Get to know Ask OpenStack

Resources for moderators

Question Tools

3 followers

Stats

Asked: 2014-11-07 14:14:50 -0500

Seen: 2,100 times

Last updated: Apr 04 '15