[Yahoo-eng-team] [Bug 1655710] [NEW] Query parameter validation using json schema - error messages

2017-01-11 Thread Diana Clarke
Public bug reported:

A mechanism to validate query parameters using json schema was added in
the following series:

https://review.openstack.org/#/q/topic:bp/consistent-query-
parameters-validation

The resulting error messages aren't very user friendly though. For
example, if you pass an invalid limit to os-keypairs list, you used to
get a custom message rather than the obscure message generated by json
schema.

Before:

webob.exc.HTTPBadRequest: Invalid input received: limit must be an
integer

After:

nova.exception.ValidationError: Invalid input for query parameters
0. Value: abc. u'abc' does not match '^[0-9]*$'

The exception raised also changed, which may be problematic for API
consumers.

We probably need another layer to transform these generated messages
into something more user friendly, and perhaps consider raising
HTTPBadRequest again with the nicer error message.

** Affects: nova
 Importance: Medium
 Status: Confirmed


** Tags: api

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

Title:
  Query parameter validation using json schema - error messages

Status in OpenStack Compute (nova):
  Confirmed

Bug description:
  A mechanism to validate query parameters using json schema was added
  in the following series:

  https://review.openstack.org/#/q/topic:bp/consistent-query-
  parameters-validation

  The resulting error messages aren't very user friendly though. For
  example, if you pass an invalid limit to os-keypairs list, you used to
  get a custom message rather than the obscure message generated by json
  schema.

  Before:

  webob.exc.HTTPBadRequest: Invalid input received: limit must be an
  integer

  After:

  nova.exception.ValidationError: Invalid input for query parameters
  0. Value: abc. u'abc' does not match '^[0-9]*$'

  The exception raised also changed, which may be problematic for API
  consumers.

  We probably need another layer to transform these generated messages
  into something more user friendly, and perhaps consider raising
  HTTPBadRequest again with the nicer error message.

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


[Yahoo-eng-team] [Bug 1635657] [NEW] 'nova volume-update' corrupts BDM connection_info when guest is stopped

2016-10-21 Thread Diana Clarke
Public bug reported:

When you attempt to 'nova volume-update' a stopped instance, the block
device mapping connection_info is corrupted (it points to the new volume
despite the failure).

  1. create an instance (instance-1)
  2. create two volumes (vol-1 & vol-2)
  3. attach volume: nova volume-attach instance-1 
  4. nova stop instance-1
  5. swap volume: nova volume-update instance-1  
  6. swap will fail, but the connection info points to vol-2 now

Example notes using stable/newton devstack:

   http://paste.openstack.org/show/586715/

A similar downstream bug report:

  Can't re-start a stopped instance after trying to volume-update on it 
  https://bugzilla.redhat.com/show_bug.cgi?id=1373318

** Affects: nova
 Importance: Undecided
 Assignee: Diana Clarke (diana-clarke)
 Status: New

** Changed in: nova
 Assignee: (unassigned) => Diana Clarke (diana-clarke)

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

Title:
  'nova volume-update' corrupts BDM connection_info when guest is
  stopped

Status in OpenStack Compute (nova):
  New

Bug description:
  When you attempt to 'nova volume-update' a stopped instance, the block
  device mapping connection_info is corrupted (it points to the new
  volume despite the failure).

1. create an instance (instance-1)
2. create two volumes (vol-1 & vol-2)
3. attach volume: nova volume-attach instance-1 
4. nova stop instance-1
5. swap volume: nova volume-update instance-1  
6. swap will fail, but the connection info points to vol-2 now

  Example notes using stable/newton devstack:

 http://paste.openstack.org/show/586715/

  A similar downstream bug report:

Can't re-start a stopped instance after trying to volume-update on it 
https://bugzilla.redhat.com/show_bug.cgi?id=1373318

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


[Yahoo-eng-team] [Bug 1621536] [NEW] Remove paramiko dependency

2016-09-08 Thread Diana Clarke
Public bug reported:

In Liberty, key pair creation (previously done via ssh-keygen) was
replaced with paramiko library calls. While paramiko was listed as a
dependency in Liberty, it wasn't actually used until that commit.

  Replace ssh exec calls with paramiko lib
  https://review.openstack.org/#/c/157931/

The above commit was unintentionally backwards incompatible.
Specifically, it changed the SSH key ASN.1 encoding from DER to BER.
Apparently golang doesn't support BER, meaning tools like Terraform no
longer work with OpenStack.

  ssh-keygen-to-Paramiko change breaks third-party tools
  https://bugs.launchpad.net/nova/+bug/1483132

This has since been fixed in paramiko 2.0, but that major version bump
doesn't make it into Nova until Newton, meaning these third-party tools
are unusable for Liberty & Mitaka in the mean time.

   stable/liberty: paramiko>=1.13.0
   upper-constraints: paramiko===1.16.0

   stable/mitaka: paramiko>=1.16.0
   upper-constraints: paramiko===1.16.0

   master (newton): paramiko>=2.0
   upper-constraints: paramiko===2.0.2

The bump to paramiko 2.0 was a big change, complete with a huge red
warning in the changelog (which I suspect makes a backport that bumps
the paramiko version to 2.0+ unrealistic for Liberty & Mitaka).

  http://www.paramiko.org/changelog.html
  http://bitprophet.org/blog/2016/04/23/paramiko-2.0-is-coming/

The switch to paramiko also introduced a number of Nova regressions
along the way.

  Tolerate installation of pycryptodome
  https://review.openstack.org/#/c/279909/

  crypto: Add support for Paramiko 2.x
  https://review.openstack.org/#/c/314592/

  Drop paramiko < 2 compat code
  https://review.openstack.org/#/c/314639/

All this, coupled with the known security implications of using the
older paramiko versions, makes me think that perhaps we should just go
back to using ssh-keygen.

Ideally, I'd like to backport this change all the way down to
stable/liberty.

** Affects: nova
 Importance: Undecided
 Assignee: Diana Clarke (diana-clarke)
 Status: In Progress

** Changed in: nova
 Assignee: (unassigned) => Diana Clarke (diana-clarke)

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

Title:
  Remove paramiko dependency

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  In Liberty, key pair creation (previously done via ssh-keygen) was
  replaced with paramiko library calls. While paramiko was listed as a
  dependency in Liberty, it wasn't actually used until that commit.

Replace ssh exec calls with paramiko lib
https://review.openstack.org/#/c/157931/

  The above commit was unintentionally backwards incompatible.
  Specifically, it changed the SSH key ASN.1 encoding from DER to BER.
  Apparently golang doesn't support BER, meaning tools like Terraform no
  longer work with OpenStack.

ssh-keygen-to-Paramiko change breaks third-party tools
https://bugs.launchpad.net/nova/+bug/1483132

  This has since been fixed in paramiko 2.0, but that major version bump
  doesn't make it into Nova until Newton, meaning these third-party
  tools are unusable for Liberty & Mitaka in the mean time.

 stable/liberty: paramiko>=1.13.0
 upper-constraints: paramiko===1.16.0

 stable/mitaka: paramiko>=1.16.0
 upper-constraints: paramiko===1.16.0

 master (newton): paramiko>=2.0
 upper-constraints: paramiko===2.0.2

  The bump to paramiko 2.0 was a big change, complete with a huge red
  warning in the changelog (which I suspect makes a backport that bumps
  the paramiko version to 2.0+ unrealistic for Liberty & Mitaka).

http://www.paramiko.org/changelog.html
http://bitprophet.org/blog/2016/04/23/paramiko-2.0-is-coming/

  The switch to paramiko also introduced a number of Nova regressions
  along the way.

Tolerate installation of pycryptodome
https://review.openstack.org/#/c/279909/

crypto: Add support for Paramiko 2.x
https://review.openstack.org/#/c/314592/

Drop paramiko < 2 compat code
https://review.openstack.org/#/c/314639/

  All this, coupled with the known security implications of using the
  older paramiko versions, makes me think that perhaps we should just go
  back to using ssh-keygen.

  Ideally, I'd like to backport this change all the way down to
  stable/liberty.

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


[Yahoo-eng-team] [Bug 1426806] Re: flavor created successfully when flavorid neither integer nor UUID

2016-04-18 Thread Diana Clarke
Closing this bug since the help message in python-novaclient was updated
to reflect the actual behaviour.

Before: "Unique ID (integer or UUID) for the new flavor. If specifying 
'auto', a UUID will be generated as ID."
After: "Unique ID of the new flavor. Specifying 'auto' will generated a 
UUID for the ID."

https://git.openstack.org/cgit/openstack/python-
novaclient/commit/?id=d10486f064630bb04d0e084df456514770e62160

** Changed in: nova
   Status: In Progress => 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/1426806

Title:
  flavor created successfully when flavorid neither integer nor UUID

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  version: 2014.1 icehouse-stable

  # nova help flavor-create
  ...
  Unique ID (integer or UUID) for the new flavor. If
  specifying 'auto', a UUID will be generated as id
  ...

  
  "id" should be integer or UUID.

  But when the "id" was set to non-integer or non-UUID, the flavor was
  also created successfully.

  # nova flavor-create flv-testdddfasdfsfdsfdsf jljdfsfojgnng  512 1 1
  
+---+--+---+--+---+--+---+-+---+
  | ID| Name | Memory_MB | Disk | 
Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
  
+---+--+---+--+---+--+---+-+---+
  | jljdfsfojgnng | flv-testdddfasdfsfdsfdsf | 512   | 1| 0 
|  | 1 | 1.0 | True  |
  
+---+--+---+--+---+--+---+-+---+

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


[Yahoo-eng-team] [Bug 1448564] Re: Rescue using cells fails with: unexpected keyword argument 'expected_task_state'

2016-04-18 Thread Diana Clarke
Marking this as invalid because I think it's already been fixed. Please
feel free to re-open this bug if you can still reproduce it.

** Changed in: nova
   Status: Confirmed => 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/1448564

Title:
  Rescue using cells fails with: unexpected keyword argument
  'expected_task_state'

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  Instance rescue gets stuck when using cells.

  nova version: 2014.2.2
  Using cells (parent - child setup)

  
  How to reproduce:

  nova rescue  
  -> the instance "task state" stays in "rescuing".
  -> nova cells log of the child shows:

  2015-04-26 01:26:09.475 20672 ERROR nova.cells.messaging 
[req-162b3318-70c3-4290-8e09-ffb9fbcef19d None] Error processing message 
locally: save() got an unexpected keyword argument 'expected_task_state'
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging Traceback (most 
recent call last):
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging   File 
"/usr/lib/python2.7/site-packages/nova/cells/messaging.py", line 199, in 
_process_locally
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging resp_value = 
self.msg_runner._process_message_locally(self)
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging   File 
"/usr/lib/python2.7/site-packages/nova/cells/messaging.py", line 1293, in 
_process_message_locally
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging return 
fn(message, **message.method_kwargs)
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging   File 
"/usr/lib/python2.7/site-packages/nova/cells/messaging.py", line 698, in 
run_compute_api_method
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging return 
fn(message.ctxt, *args, **method_info['method_kwargs'])
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging   File 
"/usr/lib/python2.7/site-packages/nova/compute/api.py", line 224, in wrapped
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging return 
func(self, context, target, *args, **kwargs)
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging   File 
"/usr/lib/python2.7/site-packages/nova/compute/api.py", line 214, in inner
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging return 
function(self, context, instance, *args, **kwargs)
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging   File 
"/usr/lib/python2.7/site-packages/nova/compute/api.py", line 195, in inner
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging return f(self, 
context, instance, *args, **kw)
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging   File 
"/usr/lib/python2.7/site-packages/nova/compute/api.py", line 2750, in rescue
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging 
instance.save(expected_task_state=[None])
  2015-04-26 01:26:09.475 20672 TRACE nova.cells.messaging TypeError: save() 
got an unexpected keyword argument 'expected_task_state'

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


[Yahoo-eng-team] [Bug 1569101] [NEW] Update Nova process docs to reflect the current release

2016-04-11 Thread Diana Clarke
Public bug reported:

The Nova process docs contain a number of references to Liberty & Mitaka
that should be updated to reflect the current release (Newton).

http://docs.openstack.org/developer/nova/process.html

** Affects: nova
 Importance: Undecided
 Status: Confirmed

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

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

Title:
  Update Nova process docs to reflect the current release

Status in OpenStack Compute (nova):
  Confirmed

Bug description:
  The Nova process docs contain a number of references to Liberty &
  Mitaka that should be updated to reflect the current release (Newton).

  http://docs.openstack.org/developer/nova/process.html

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


[Yahoo-eng-team] [Bug 1568414] [NEW] Database Poison Warnings

2016-04-09 Thread Diana Clarke
Public bug reported:

The following warning appears a number of times in the unit test logs.
Use this bug to track the patches that eliminate these warnings.

"UserWarning: This test uses methods that set internal oslo_db state,
but it does not claim to use the database. This will conflict with the
setup of tests that do use the database and cause failures later."

Note that this warning is only emitted once per unit test worker, so new
offenders will show up in the logs each time you fix a test until they
are all gone.

Once all of these warnings are removed, change the warning to an
exception so that we don't get more of these in the future.

** Affects: nova
 Importance: Undecided
 Assignee: Diana Clarke (diana-clarke)
 Status: Confirmed

** Changed in: nova
 Assignee: (unassigned) => Diana Clarke (diana-clarke)

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

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

Title:
  Database Poison Warnings

Status in OpenStack Compute (nova):
  Confirmed

Bug description:
  The following warning appears a number of times in the unit test logs.
  Use this bug to track the patches that eliminate these warnings.

  "UserWarning: This test uses methods that set internal oslo_db state,
  but it does not claim to use the database. This will conflict with the
  setup of tests that do use the database and cause failures later."

  Note that this warning is only emitted once per unit test worker, so
  new offenders will show up in the logs each time you fix a test until
  they are all gone.

  Once all of these warnings are removed, change the warning to an
  exception so that we don't get more of these in the future.

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


[Yahoo-eng-team] [Bug 1563547] [NEW] Unable to delete instance when cinder is down

2016-03-29 Thread Diana Clarke
Public bug reported:

When an instance is attached to a volume and cinder is down, you are
unable to delete the instance, and the instance ends up stuck in an
error state.

This bug is reproducible on master (currently mitaka) using devstack.
 
1. Create an instance
2. Create a volume
3. Attach volume to instance
4. Bring the cinder api down via screen
5. Attempt to delete the instance
6. Note that the instance is not deleted
7. Note that the instance state is ERROR

For example:

http://paste.openstack.org/show/492359/

** Affects: nova
 Importance: Undecided
 Assignee: Diana Clarke (diana-clarke)
 Status: Confirmed

** Changed in: nova
 Assignee: (unassigned) => Diana Clarke (diana-clarke)

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

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

Title:
  Unable to delete instance when cinder is down

Status in OpenStack Compute (nova):
  Confirmed

Bug description:
  When an instance is attached to a volume and cinder is down, you are
  unable to delete the instance, and the instance ends up stuck in an
  error state.

  This bug is reproducible on master (currently mitaka) using devstack.
   
  1. Create an instance
  2. Create a volume
  3. Attach volume to instance
  4. Bring the cinder api down via screen
  5. Attempt to delete the instance
  6. Note that the instance is not deleted
  7. Note that the instance state is ERROR

  For example:

  http://paste.openstack.org/show/492359/

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


[Yahoo-eng-team] [Bug 1557584] [NEW] Broken retry mechanism for 'nova image-list'

2016-03-15 Thread Diana Clarke
Public bug reported:

You can configure a list of glance API servers in nova.conf like so:

[glance]
api_servers=http://192.168.122.30:9292/v1,http://192.168.122.31:9292/v1
num_retries = 5

When a call to one of the glance api servers fails, nova typically
retries the call on one of the others. This is not the case for 'nova
image-list'.

The retry mechanism is here:

https://github.com/openstack/nova/blob/83261f3106a8bdde38d258a74da777add4956290/nova/image/glance.py#L249

In the case of 'nova image-list', glanceclient returns a python
generator rather than an actual list of images. Because a generator is
returned, an exception will never be raised there, so the retry
mechanism is never executed.

https://github.com/openstack/python-
glanceclient/blob/d59e341a4cd99a8488d5cf41052d9b218379ac87/glanceclient/v1/images.py#L268

This bug was originally reported downstream:
https://bugzilla.redhat.com/show_bug.cgi?id=1313254

** Affects: nova
 Importance: Undecided
 Assignee: Diana Clarke (diana-clarke)
 Status: New

** Changed in: nova
 Assignee: (unassigned) => Diana Clarke (diana-clarke)

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

Title:
  Broken retry mechanism for 'nova image-list'

Status in OpenStack Compute (nova):
  New

Bug description:
  You can configure a list of glance API servers in nova.conf like so:

  [glance]
  api_servers=http://192.168.122.30:9292/v1,http://192.168.122.31:9292/v1
  num_retries = 5

  When a call to one of the glance api servers fails, nova typically
  retries the call on one of the others. This is not the case for 'nova
  image-list'.

  The retry mechanism is here:

  
https://github.com/openstack/nova/blob/83261f3106a8bdde38d258a74da777add4956290/nova/image/glance.py#L249

  In the case of 'nova image-list', glanceclient returns a python
  generator rather than an actual list of images. Because a generator is
  returned, an exception will never be raised there, so the retry
  mechanism is never executed.

  https://github.com/openstack/python-
  
glanceclient/blob/d59e341a4cd99a8488d5cf41052d9b218379ac87/glanceclient/v1/images.py#L268

  This bug was originally reported downstream:
  https://bugzilla.redhat.com/show_bug.cgi?id=1313254

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


[Yahoo-eng-team] [Bug 1537450] [NEW] [gate] functional job fails with TypeError: an integer is required (eventlet)

2016-01-23 Thread Diana Clarke
Public bug reported:

For example:

http://logs.openstack.org/85/271685/4/check/gate-nova-tox-
functional/61aabd8/console.html#_2016-01-24_05_38_40_439

2016-01-24 01:35:46,325 ERROR [nova.api.openstack.wsgi] Exception handling 
resource: an integer is required
Traceback (most recent call last):
  File "nova/api/openstack/wsgi.py", line 801, in _process_stack
action_result = self.dispatch(meth, request, action_args)
  File "nova/api/openstack/wsgi.py", line 890, in dispatch
return method(req=request, **action_args)
  File "nova/api/openstack/compute/legacy_v2/contrib/cloudpipe.py", line 
136, in index
for x in self._get_all_cloudpipes(context)]
  File "nova/api/openstack/compute/legacy_v2/contrib/cloudpipe.py", line 
96, in _vpn_dict
if utils.vpn_ping(vpn_ip, vpn_port):
  File "nova/utils.py", line 232, in vpn_ping
sock.sendto(data, (address, port))
  File 
"/Users/diana/workspace/nova/.tox/functional/lib/python2.7/site-packages/eventlet/greenio/base.py",
 line 382, in sendto
return self._send_loop(self.fd.sendto, data, address, flags)
  File 
"/Users/diana/workspace/nova/.tox/functional/lib/python2.7/site-packages/eventlet/greenio/base.py",
 line 361, in _send_loop
total_sent += send_method(data[total_sent:], *args)
TypeError: an integer is required

This is caused by the recent eventlet release:

https://pypi.python.org/pypi/eventlet/0.18.0

In particular, this issue: "Handle blocking I/O errors in GreenSocket".

https://github.com/eventlet/eventlet/issues/274

https://github.com/eventlet/eventlet/commit/bc4d1b5d362e5baaeded35b1e339b9db08172dd2

To reproduce (assuming your dev env is using eventlet 0.18.0):

tox -e functional
nova.tests.functional.api_sample_tests.test_cloudpipe.CloudPipeSampleTest

** Affects: nova
 Importance: Undecided
 Status: New

** Summary changed:

- [gate] functional job fails with TypeError: an integer is required
+ [gate] functional job fails with TypeError: an integer is required (eventlet)

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

Title:
  [gate] functional job fails with TypeError: an integer is required
  (eventlet)

Status in OpenStack Compute (nova):
  New

Bug description:
  For example:

  http://logs.openstack.org/85/271685/4/check/gate-nova-tox-
  functional/61aabd8/console.html#_2016-01-24_05_38_40_439

  2016-01-24 01:35:46,325 ERROR [nova.api.openstack.wsgi] Exception 
handling resource: an integer is required
  Traceback (most recent call last):
File "nova/api/openstack/wsgi.py", line 801, in _process_stack
  action_result = self.dispatch(meth, request, action_args)
File "nova/api/openstack/wsgi.py", line 890, in dispatch
  return method(req=request, **action_args)
File "nova/api/openstack/compute/legacy_v2/contrib/cloudpipe.py", line 
136, in index
  for x in self._get_all_cloudpipes(context)]
File "nova/api/openstack/compute/legacy_v2/contrib/cloudpipe.py", line 
96, in _vpn_dict
  if utils.vpn_ping(vpn_ip, vpn_port):
File "nova/utils.py", line 232, in vpn_ping
  sock.sendto(data, (address, port))
File 
"/Users/diana/workspace/nova/.tox/functional/lib/python2.7/site-packages/eventlet/greenio/base.py",
 line 382, in sendto
  return self._send_loop(self.fd.sendto, data, address, flags)
File 
"/Users/diana/workspace/nova/.tox/functional/lib/python2.7/site-packages/eventlet/greenio/base.py",
 line 361, in _send_loop
  total_sent += send_method(data[total_sent:], *args)
  TypeError: an integer is required

  This is caused by the recent eventlet release:

  https://pypi.python.org/pypi/eventlet/0.18.0

  In particular, this issue: "Handle blocking I/O errors in
  GreenSocket".

  https://github.com/eventlet/eventlet/issues/274
  
https://github.com/eventlet/eventlet/commit/bc4d1b5d362e5baaeded35b1e339b9db08172dd2

  To reproduce (assuming your dev env is using eventlet 0.18.0):

  tox -e functional
  nova.tests.functional.api_sample_tests.test_cloudpipe.CloudPipeSampleTest

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


[Yahoo-eng-team] [Bug 1532340] [NEW] No such file or directory: '/proc/self/mounts'

2016-01-08 Thread Diana Clarke
Public bug reported:

I'm seeing unit test failures like the following on my mac since this
was merged:

https://github.com/openstack/nova/commit/b3879bd199036a9327a32d7c7cacdff3a9c9807d

https://github.com/openstack/nova/blob/b1588cea68d2037dfc2e792b25fbb56d76b7d439/nova/virt/libvirt/host.py#L1005

Traceback (most recent call last):
  File "nova/tests/unit/virt/test_virt_drivers.py", line 55, in wrapped_func
return f(self, *args, **kwargs)
  File "nova/tests/unit/virt/test_virt_drivers.py", line 380, in 
test_power_off
instance_ref, network_info = self._get_running_instance()
  File "nova/tests/unit/virt/test_virt_drivers.py", line 264, in 
_get_running_instance
[], 'herp', network_info=network_info)
  File "nova/virt/libvirt/driver.py", line 2506, in spawn
write_to_disk=True)
  File "nova/virt/libvirt/driver.py", line 4402, in _get_guest_xml
context)
  File "nova/virt/libvirt/driver.py", line 4223, in _get_guest_config
self._update_guest_cputune(guest, flavor, virt_type)
  File "nova/virt/libvirt/driver.py", line 3571, in _update_guest_cputune
is_able = self._host.is_cpu_control_policy_capable()
  File "nova/virt/libvirt/host.py", line 1005, in 
is_cpu_control_policy_capable
with open("/proc/self/mounts", "r") as fd:
IOError: [Errno 2] No such file or directory: '/proc/self/mounts'

** Affects: nova
 Importance: Undecided
 Status: New

** Description changed:

  I'm seeing unit test failures on my mac:
  
- Traceback (most recent call last):
-   File "nova/tests/unit/virt/test_virt_drivers.py", line 55, in 
wrapped_func
- return f(self, *args, **kwargs)
-   File "nova/tests/unit/virt/test_virt_drivers.py", line 380, in 
test_power_off
- instance_ref, network_info = self._get_running_instance()
-   File "nova/tests/unit/virt/test_virt_drivers.py", line 264, in 
_get_running_instance
- [], 'herp', network_info=network_info)
-   File "nova/virt/libvirt/driver.py", line 2506, in spawn
- write_to_disk=True)
-   File "nova/virt/libvirt/driver.py", line 4402, in _get_guest_xml
- context)
-   File "nova/virt/libvirt/driver.py", line 4223, in _get_guest_config
- self._update_guest_cputune(guest, flavor, virt_type)
-   File "nova/virt/libvirt/driver.py", line 3571, in _update_guest_cputune
- is_able = self._host.is_cpu_control_policy_capable()
-   File "nova/virt/libvirt/host.py", line 1005, in 
is_cpu_control_policy_capable
- with open("/proc/self/mounts", "r") as fd:
- IOError: [Errno 2] No such file or directory: '/proc/self/mounts'
+ Traceback (most recent call last):
+   File "nova/tests/unit/virt/test_virt_drivers.py", line 55, in 
wrapped_func
+ return f(self, *args, **kwargs)
+   File "nova/tests/unit/virt/test_virt_drivers.py", line 380, in 
test_power_off
+ instance_ref, network_info = self._get_running_instance()
+   File "nova/tests/unit/virt/test_virt_drivers.py", line 264, in 
_get_running_instance
+ [], 'herp', network_info=network_info)
+   File "nova/virt/libvirt/driver.py", line 2506, in spawn
+ write_to_disk=True)
+   File "nova/virt/libvirt/driver.py", line 4402, in _get_guest_xml
+ context)
+   File "nova/virt/libvirt/driver.py", line 4223, in _get_guest_config
+ self._update_guest_cputune(guest, flavor, virt_type)
+   File "nova/virt/libvirt/driver.py", line 3571, in _update_guest_cputune
+ is_able = self._host.is_cpu_control_policy_capable()
+   File "nova/virt/libvirt/host.py", line 1005, in 
is_cpu_control_policy_capable
+ with open("/proc/self/mounts", "r") as fd:
+ IOError: [Errno 2] No such file or directory: '/proc/self/mounts'
  
  since this was merged:
  
  
https://github.com/openstack/nova/commit/b3879bd199036a9327a32d7c7cacdff3a9c9807d
+ 
  
https://github.com/openstack/nova/blob/b1588cea68d2037dfc2e792b25fbb56d76b7d439/nova/virt/libvirt/host.py#L1005

** Description changed:

- I'm seeing unit test failures on my mac:
+ I'm seeing unit test failures like the following on my mac:
  
  Traceback (most recent call last):
    File "nova/tests/unit/virt/test_virt_drivers.py", line 55, in 
wrapped_func
  return f(self, *args, **kwargs)
    File "nova/tests/unit/virt/test_virt_drivers.py", line 380, in 
test_power_off
  instance_ref, network_info = self._get_running_instance()
    File "nova/tests/unit/virt/test_virt_drivers.py", line 264, in 
_get_running_instance
  [], 'herp', network_info=network_info)
    File "nova/virt/libvirt/driver.py", line 2506, in spawn
  write_to_disk=True)
    File "nova/virt/libvirt/driver.py", line 4402, in _get_guest_xml
  context)
    File "nova/virt/libvirt/driver.py", line 4223, in _get_guest_config
  self._update_guest_cputune(guest, flavor, virt_type)
    

[Yahoo-eng-team] [Bug 1408591] Re: AttributeError: "'Instance' object has no attribute 'get_flavor'" when call compute_api.update

2015-10-07 Thread Diana Clarke
Closing. Like Melanie said, the compute/api::update() method was removed
in this commit:

https://github.com/openstack/nova/commit/01d28bcadd3db9255dd46138caa4bd31837baaf1

** Changed in: nova
   Status: In Progress => 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/1408591

Title:
  AttributeError: "'Instance' object has no attribute 'get_flavor'" when
  call compute_api.update

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  In nova/notifications.py(370)info_from_instance():
  The AttributeError: "'Instance' object has no attribute 'get_flavor'" throws 
on:
  instance_type = instance.get_flavor()

  The stacktrace is:
  -> self.compute_api.update(context, local_instance, **base_options)
/usr/lib/python2.7/site-packages/nova/compute/api.py(235)wrapped()
  -> return func(self, context, target, *args, **kwargs)
/usr/lib/python2.7/site-packages/nova/compute/api.py(1501)update()
  -> refs = self._update(context, instance, **kwargs)
/usr/lib/python2.7/site-packages/nova/compute/api.py(1510)_update()
  -> instance_ref, service="api")
/usr/lib/python2.7/site-packages/nova/notifications.py(146)send_update()
  -> old_display_name=old_display_name)

/usr/lib/python2.7/site-packages/nova/notifications.py(226)_send_instance_update_notification()
  -> payload = info_from_instance(context, instance, None, None)
  > 
/usr/lib/python2.7/site-packages/nova/notifications.py(370)info_from_instance()
  -> instance_type = instance.get_flavor()

  I tried pass into the db instance and nova object instance, I believe
  this should be the defect. Please look into it.

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


[Yahoo-eng-team] [Bug 1447164] Re: require_admin_context() does not account for policy.json rulesets

2015-09-15 Thread Diana Clarke
Thanks for the additional context, Alex. I'll close this bug (mark it as
invalid).

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

** Changed in: nova
 Assignee: Diana Clarke (diana-clarke) => (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/1447164

Title:
  require_admin_context() does not account for policy.json rulesets

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  The API RBAC is done using a policy.json file which allows fine-grained 
control over each API endpoint by setting specific rules.
  Consequently, some defaulted admin-only endpoints can be opened by modifying 
their corresponding policy rules to be for anyone.

  Unfortunately, in many places (in the DB and at the API level
  following the blueprint api-policy-v3 ), there is a call to
  context.require_admin_context() which is just checking if the user is
  admin or no but doesn't match with the policy rules.

  As we all agreed with api-policy-v3 that RBAC should be done at the
  API level, there is no reason to keep that call to
  context.require_admin_context() and we should assume that policy.json
  is the single source of truth for knowing the access rights.

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