@javeme (javaloveme): Thanks for reporting this issue. There is a blueprint which intents to implement that [1]. To avoid redundant work on the same task I'll close this issue. Feel free to offer the assignee of the blueprint your assistance.
[1] https://blueprints.launchpad.net/nova/+spec/libvirt-set-admin- password ** Changed in: nova Status: In Progress => Invalid ** Changed in: nova Assignee: javeme (javaloveme) => (unassigned) -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to OpenStack Compute (nova). https://bugs.launchpad.net/bugs/1462239 Title: libvirt: thrown NotImplementedError when running "nova root-password" Status in OpenStack Compute (Nova): Invalid Bug description: libvirt: thrown NotImplementedError when running "nova root-password" As we all know, the command “nova root-password” is used to change the root password for a server, but libvirt driver does not support this feature at present. The following is the description of the error: 1. run "nova root-password" on controler. 2. returning 501 error. nova-api log: 2015-06-05 14:34:11.588 3993 INFO nova.api.openstack.wsgi [req-0dc1e6b2-e700-4dfb-a388-c3ddbc0db7e3 None] HTTP exception thrown: Unable to set password on instance 2015-06-05 14:34:11.589 3993 DEBUG nova.api.openstack.wsgi [req-0dc1e6b2-e700-4dfb-a388-c3ddbc0db7e3 None] Returning 501 to user: Unable to set password on instance _call_ /usr/lib/python2.6/site-packages/nova/api/openstack/wsgi.py:1217 2015-06-05 14:34:11.591 3993 INFO nova.osapi_compute.wsgi.server [req-0dc1e6b2-e700-4dfb-a388-c3ddbc0db7e3 None] 172.40.0.2 "POST /v 2/8e3d0869585d486daf23865ebc85449b/servers/12d57f28-8d00-47d3-876c-ebdba7145ddf/action HTTP/1.1" status: 501 len: 282 time: 3.0169549 3. thrown NotImplementedError. nova-compute log: 2015-06-05 14:34:10.654 13446 WARNING nova.compute.manager [req-0dc1e6b2-e700-4dfb-a388-c3ddbc0db7e3 None] [instance: 12d57f28-8d00- 47d3-876c-ebdba7145ddf] set_admin_password is not implemented by this driver or guest instance. 2015-06-05 14:34:11.532 13446 ERROR oslo.messaging.rpc.dispatcher [req-0dc1e6b2-e700-4dfb-a388-c3ddbc0db7e3 ] Exception during messa ge handling: set_admin_password is not implemented by this driver or guest instance. 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher Traceback (most recent call last): 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/oslo/messaging/rpc/dispat cher.py", line 133, in _dispatch_and_reply 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher incoming.message)) 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/oslo/messaging/rpc/dispat cher.py", line 176, in _dispatch 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher return self._do_dispatch(endpoint, method, ctxt, args) 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/oslo/messaging/rpc/dispat cher.py", line 122, in _do_dispatch 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher result = getattr(endpoint, method)(ctxt, **new_args) 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 403, in decorated_function 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/exception.py", line 88, in wrapped 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher payload) 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/openstack/common/exc utils.py", line 68, in _exit_ 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb) 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/exception.py", line 71, in wrapped 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher return f(self, context, *args, **kw) 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 284, in decorated_function 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/openstack/common/exc utils.py", line 68, in _exit_ 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb) 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 270, in decorated_function 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 337, in decorated_function 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 313, in decorated_function 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/openstack/common/exc utils.py", line 68, in _exit_ 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher six.reraise(self.type_, self.value, self.tb) 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 300, in decorated_function 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 2919, in set_admin_password 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher NotImplementedError: set_admin_password is not implemented by this driver or guest instance. 2015-06-05 14:34:11.532 13446 TRACE oslo.messaging.rpc.dispatcher 2015-06-05 14:34:11.579 13446 ERROR oslo.messaging._drivers.common [req-0dc1e6b2-e700-4dfb-a388-c3ddbc0db7e3 ] Returning exception s et_admin_password is not implemented by this driver or guest instance. to caller 2015-06-05 14:34:11.579 13446 ERROR oslo.messaging._drivers.common [req-0dc1e6b2-e700-4dfb-a388-c3ddbc0db7e3 ] ['Traceback (most rec ent call last):\n', ' File "/usr/lib/python2.6/site-packages/oslo/messaging/rpc/dispatcher.py", line 133, in _dispatch_and_reply\n incoming.message))\n', ' File "/usr/lib/python2.6/site-packages/oslo/messaging/rpc/dispatcher.py", line 176, in _dispatch\n r eturn self._do_dispatch(endpoint, method, ctxt, args)\n', ' File "/usr/lib/python2.6/site-packages/oslo/messaging/rpc/dispatcher.py ", line 122, in _do_dispatch\n result = getattr(endpoint, method)(ctxt, **new_args)\n', ' File "/usr/lib/python2.6/site-packages /nova/compute/manager.py", line 403, in decorated_function\n', ' File "/usr/lib/python2.6/site-packages/nova/exception.py", line 88 , in wrapped\n payload)\n', ' File "/usr/lib/python2.6/site-packages/nova/openstack/common/excutils.py", line 68, in _exit_\n six.reraise(self.type_, self.value, self.tb)\n', ' File "/usr/lib/python2.6/site-packages/nova/exception.py", line 71, in wrappe d\n return f(self, context, *args, **kw)\n', ' File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 284, in dec orated_function\n', ' File "/usr/lib/python2.6/site-packages/nova/openstack/common/excutils.py", line 68, in _exit_\n six.rera ise(self.type_, self.value, self.tb)\n', ' File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 270, in decorated_ function\n', ' File "/usr/lib/python2.6/site-packages/nova/compute/manager.py", line 337, in decorated_function\n', ' File "/usr/l ib/python2.6/site-packages/nova/compute/manager.py", line 313, in decorated_function\n', ' File "/usr/lib/python2.6/site-packages/n ova/openstack/common/excutils.py", line 68, in _exit\n six.reraise(self.type, self.value, self.tb)\n', ' File "/usr/lib/pyth on2.6/site-packages/nova/compute/manager.py", line 300, in decorated_function\n', ' File "/usr/lib/python2.6/site-packages/nova/com pute/manager.py", line 2919, in set_admin_password\n', 'NotImplementedError: set_admin_password is not implemented by this driver or guest instance.\n'] 4.Here is the code. nova/compute/manager.py ComputeManager.set_admin_password() def set_admin_password(self, context, instance, new_pass): """Set the root/admin password for an instance on this host. This is generally only called by API password resets after an image has been built. @param context: Nova auth context. @param instance: Nova instance object. @param new_pass: The admin password for the instance. """ context = context.elevated() if new_pass is None: # Generate a random password new_pass = utils.generate_password() current_power_state = self._get_power_state(context, instance) expected_state = power_state.RUNNING if current_power_state != expected_state: instance.task_state = None instance.save(expected_task_state=task_states.UPDATING_PASSWORD) _msg = _('instance %s is not running') % instance.uuid raise exception.InstancePasswordSetFailed( instance=instance.uuid, reason=_msg) try: self.driver.set_admin_password(instance, new_pass) LOG.info(_LI("Root password set"), instance=instance) instance.task_state = None instance.save( expected_task_state=task_states.UPDATING_PASSWORD) except NotImplementedError: LOG.warning(_LW('set_admin_password is not implemented ' 'by this driver or guest instance.'), instance=instance) instance.task_state = None instance.save( expected_task_state=task_states.UPDATING_PASSWORD) raise NotImplementedError(_('set_admin_password is not ' 'implemented by this driver or guest ' 'instance.')) except exception.UnexpectedTaskStateError: # interrupted by another (most likely delete) task # do not retry raise except Exception: # Catch all here because this could be anything. LOG.exception(_LE('set_admin_password failed'), instance=instance) self._set_instance_obj_error_state(context, instance) # We create a new exception here so that we won't # potentially reveal password information to the # API caller. The real exception is logged above _msg = _('error setting admin password') raise exception.InstancePasswordSetFailed( instance=instance.uuid, reason=_msg) To manage notifications about this bug go to: https://bugs.launchpad.net/nova/+bug/1462239/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp