Paramiko 2.0 got released 26 days ago with [1]. Nova put a workaround in place 
to work with paramiko 2.x 21 days ago [2]. After that, we bumped the version in 
the global requirements to 2.0 [3]. I tested it locally with commit 9d99081 
(Newton master) and it works for me. I also didn't find the error message in 
logstash. I could reproduce this issue when I used stable/Mitaka and upgraded 
from the pinned version paramiko 1.16 to paramiko 2.0 manually.
All of this makes me believe that your setup could be in a weird state. I'm 
closing this for now. If you can reproduce it, feel free to reopen.

References:
[1] 
https://github.com/paramiko/paramiko/commit/258cc64ab36b58c681aa974151288fc7ddc1bb31
[2] 
https://github.com/openstack/nova/commit/c05b338f163e0bafbe564c6c7c593b819f2f2eac
[3] 
https://github.com/openstack/requirements/commit/e379813e9ccd41138af969f4c8e57abd062af527

** Changed in: nova
       Status: New => Invalid

-- 
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/1585515

Title:
  Paramiko doesn't work with Nova

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  It looks like Paramiko 2.0.0 again breaks nova which currently has a
  requirement for 'paramiko>=1.16.0 # LGPL'.

  
nova.tests.unit.api.openstack.compute.test_keypairs.KeypairsTestV210.test_keypair_create_duplicate
  
--------------------------------------------------------------------------------------------------

  Captured traceback:
  ~~~~~~~~~~~~~~~~~~~
      Traceback (most recent call last):
        File "nova/tests/unit/api/openstack/compute/test_keypairs.py", line 
237, in test_keypair_create_duplicate
          self.controller.create, self.req, body=body)
        File 
"/root/upstream/nova/.tox/py27/local/lib/python2.7/site-packages/testtools/testcase.py",
 line 485, in assertRaises
          self.assertThat(our_callable, matcher)
        File 
"/root/upstream/nova/.tox/py27/local/lib/python2.7/site-packages/testtools/testcase.py",
 line 496, in assertThat
          mismatch_error = self._matchHelper(matchee, matcher, message, verbose)
        File 
"/root/upstream/nova/.tox/py27/local/lib/python2.7/site-packages/testtools/testcase.py",
 line 547, in _matchHelper
          mismatch = matcher.match(matchee)
        File 
"/root/upstream/nova/.tox/py27/local/lib/python2.7/site-packages/testtools/matchers/_exception.py",
 line 108, in match
          mismatch = self.exception_matcher.match(exc_info)
        File 
"/root/upstream/nova/.tox/py27/local/lib/python2.7/site-packages/testtools/matchers/_higherorder.py",
 line 62, in match
          mismatch = matcher.match(matchee)
        File 
"/root/upstream/nova/.tox/py27/local/lib/python2.7/site-packages/testtools/testcase.py",
 line 475, in match
          reraise(*matchee)
        File 
"/root/upstream/nova/.tox/py27/local/lib/python2.7/site-packages/testtools/matchers/_exception.py",
 line 101, in match
          result = matchee()
        File 
"/root/upstream/nova/.tox/py27/local/lib/python2.7/site-packages/testtools/testcase.py",
 line 1049, in __call__
          return self._callable_object(*self._args, **self._kwargs)
        File "nova/api/openstack/wsgi.py", line 961, in version_select
          return func.func(self, *args, **kwargs)
        File "nova/api/openstack/extensions.py", line 504, in wrapped
          raise webob.exc.HTTPInternalServerError(explanation=msg)
      webob.exc.HTTPInternalServerError: Unexpected API Error. Please report 
this at http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
      <type 'exceptions.TypeError'>
      

  Captured pythonlogging:
  ~~~~~~~~~~~~~~~~~~~~~~~
      2016-05-25 09:55:14,571 INFO [nova.api.openstack] Loaded extensions: 
['os-keypairs', 'servers']
      2016-05-25 09:55:16,314 ERROR [nova.api.openstack.extensions] Unexpected 
exception in API method
      Traceback (most recent call last):
        File "nova/api/openstack/extensions.py", line 478, in wrapped
          return f(*args, **kwargs)
        File "nova/api/validation/__init__.py", line 73, in wrapper
          return func(*args, **kwargs)
        File "nova/api/openstack/compute/keypairs.py", line 72, in create
          return self._create(req, body, type=True, user_id=user_id)
        File "nova/api/openstack/compute/keypairs.py", line 132, in _create
          context, user_id, name, key_type)
        File "nova/exception.py", line 110, in wrapped
          payload)
        File 
"/root/upstream/nova/.tox/py27/local/lib/python2.7/site-packages/oslo_utils/excutils.py",
 line 221, in __exit__
          self.force_reraise()
        File 
"/root/upstream/nova/.tox/py27/local/lib/python2.7/site-packages/oslo_utils/excutils.py",
 line 197, in force_reraise
          six.reraise(self.type_, self.value, self.tb)
        File "nova/exception.py", line 89, in wrapped
          return f(self, context, *args, **kw)
        File "nova/compute/api.py", line 4040, in create_key_pair
          user_id, key_type)
        File "nova/compute/api.py", line 4062, in _generate_key_pair
          return crypto.generate_key_pair()
        File "nova/crypto.py", line 152, in generate_key_pair
          key = generate_key(bits)
        File "nova/crypto.py", line 144, in generate_key
          key = paramiko.RSAKey(vals=(rsa.e, rsa.n))
      TypeError: __init__() got an unexpected keyword argument 'vals'

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1585515/+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

Reply via email to