[Yahoo-eng-team] [Bug 1860021] [NEW] nova-live-migration fails 100% with "mysql: command not found" on subnode

2020-01-16 Thread Eric Fried
Public bug reported:

Since [1] nova-live-migration failures can be seen in devstack-subnodes-
early.txt.gz like

 + ./stack.sh:main:1158 :   is_glance_enabled
 + lib/glance:is_glance_enabled:90  :   [[ , =~ ,glance ]]
 + lib/glance:is_glance_enabled:91  :   [[ 
,c-bak,c-vol,dstat,g-api,n-cpu,peakmem_tracker,placement-client,q-agt =~ ,g- ]]
 + lib/glance:is_glance_enabled:91  :   return 0
 + ./stack.sh:main:1159 :   echo_summary 'Configuring 
Glance'
 + ./stack.sh:echo_summary:452  :   [[ -t 3 ]]
 + ./stack.sh:echo_summary:458  :   echo -e Configuring Glance
 + ./stack.sh:main:1160 :   init_glance
 + lib/glance:init_glance:276   :   rm -rf 
/opt/stack/data/glance/images
 + lib/glance:init_glance:277   :   mkdir -p 
/opt/stack/data/glance/images
 + lib/glance:init_glance:280   :   recreate_database glance
 + lib/database:recreate_database:110   :   local db=glance
 + lib/database:recreate_database:111   :   recreate_database_mysql glance
 + lib/databases/mysql:recreate_database_mysql:63 :   local db=glance
 + lib/databases/mysql:recreate_database_mysql:64 :   mysql -uroot 
-psecretmysql -h127.0.0.1 -e 'DROP DATABASE IF EXISTS glance;'
/opt/stack/new/devstack/lib/databases/mysql: line 64: mysql: command not found
 + lib/databases/mysql:recreate_database_mysql:1 :   exit_trap

[1] https://review.opendev.org/#/c/702707/

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  nova-live-migration fails 100% with "mysql: command not found" on
  subnode

Status in OpenStack Compute (nova):
  New

Bug description:
  Since [1] nova-live-migration failures can be seen in devstack-
  subnodes-early.txt.gz like

   + ./stack.sh:main:1158 :   is_glance_enabled
   + lib/glance:is_glance_enabled:90  :   [[ , =~ ,glance ]]
   + lib/glance:is_glance_enabled:91  :   [[ 
,c-bak,c-vol,dstat,g-api,n-cpu,peakmem_tracker,placement-client,q-agt =~ ,g- ]]
   + lib/glance:is_glance_enabled:91  :   return 0
   + ./stack.sh:main:1159 :   echo_summary 'Configuring 
Glance'
   + ./stack.sh:echo_summary:452  :   [[ -t 3 ]]
   + ./stack.sh:echo_summary:458  :   echo -e Configuring Glance
   + ./stack.sh:main:1160 :   init_glance
   + lib/glance:init_glance:276   :   rm -rf 
/opt/stack/data/glance/images
   + lib/glance:init_glance:277   :   mkdir -p 
/opt/stack/data/glance/images
   + lib/glance:init_glance:280   :   recreate_database glance
   + lib/database:recreate_database:110   :   local db=glance
   + lib/database:recreate_database:111   :   recreate_database_mysql glance
   + lib/databases/mysql:recreate_database_mysql:63 :   local db=glance
   + lib/databases/mysql:recreate_database_mysql:64 :   mysql -uroot 
-psecretmysql -h127.0.0.1 -e 'DROP DATABASE IF EXISTS glance;'
  /opt/stack/new/devstack/lib/databases/mysql: line 64: mysql: command not found
   + lib/databases/mysql:recreate_database_mysql:1 :   exit_trap

  [1] https://review.opendev.org/#/c/702707/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1860021/+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 1858877] Re: Silent wasted storage with multiple RBD backends

2020-01-14 Thread Eric Fried
** 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/1858877

Title:
  Silent wasted storage with multiple RBD backends

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  Nova does not currently support multiple rbd backends. However, Glance
  does and an operator may point Nova at a Glance with access to
  multiple RBD clusters. If this happens, Nova will silently download
  the image from Glance, flatten it, and upload it to the local RBD
  cluster named privately to the image. If another instance is booted
  from the same image, this will happen again, using more network
  resources and duplicating the image on ceph for the second and
  subsequent instances. When configuring Nova and Glance for shared RBD,
  the expectation is that instances are fast-cloned from Glance base
  images, so this silent behavior of using a lot of storage would be
  highly undesirable and unexpected. Since operators control the backend
  config, but users upload images (and currently only to one backend),
  it is the users that would trigger this additional consumption of
  storage.

  This isn't really a bug in Nova per se, since Nova does not claim to
  support multiple backends and is download/uploading the image in the
  same way it would if the image was located on any other not-the-same-
  as-my-RBD-cluster location. It is, however, unexpected and undesirable
  behavior.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1858877/+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 1839009] Re: os-server-external-events does not behave correctly for failed single events

2019-12-10 Thread Eric Fried
*** This bug is a duplicate of bug 1855752 ***
https://bugs.launchpad.net/bugs/1855752

Sorry, I didn't know about this bug when we opened 1855752. The issue
has been fixed under that bug.

** This bug has been marked a duplicate of bug 1855752
   Inappropriate HTTP error status from os-server-external-events

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

Title:
  os-server-external-events does not behave correctly for failed single
  events

Status in OpenStack Compute (nova):
  New

Bug description:
  The "os-server-external-events" API does not behave correctly when the
  request body contains a list of one event and if that event ends up in
  a non-200 state, i.e if the event ends up in either 400 or 404 or 422
  states, the function executes all the way to L147
  
(https://github.com/openstack/nova/blob/433b1662e48db57aaa42e11756fa4a6d8722b386/nova/api/openstack/compute/server_external_events.py#L147)
  and overall returns a 404 HTTP response without any body. This is
  wrong since as per the documentation it should return the respective
  codes (422/404/400) to the client.

  Infact correctly speaking, if out of the list of provided events, if
  at least one of them doesn't get into the "accepted_events" list, rest
  of them are discarded without returning the correct response against
  each event.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1839009/+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 1855015] Re: Intermittent fails in nova-next job with "Multiple possible networks found, use a Network ID to be more specific."

2019-12-04 Thread Eric Fried
*** This bug is a duplicate of bug 1844568 ***
https://bugs.launchpad.net/bugs/1844568

I clearly don't know how to make logstash links properly, but I had that
query open for the past 10 days and saw hits on many different jobs
across multiple projects, including sdk, cinder, and various
networking-*s. The largest proportion of hits were in nova & neutron
though (possibly simply due to volume of patches in those projects).

Anyway, I talked to -neutron and they've identified [1] as a probable
dup, so I'll mark this as such.

[1] https://launchpad.net/bugs/1844568

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

** This bug has been marked a duplicate of bug 1844568
   [compute] "create_test_server" if networks is undefined and more than one 
network is present

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

Title:
  Intermittent fails in nova-next job with "Multiple possible networks
  found, use a Network ID to be more specific."

Status in OpenStack Compute (nova):
  New

Bug description:
  There was something similar before [1] but it was 100% and in one job.
  This is intermittent and in multiple jobs across multiple projects.

  
http://logstash.openstack.org/#/dashboard/file/logstash.json?query=message:%5C%22Multiple%20possible%20networks%20found,%20use%20a%20Network%20ID%20to%20be%20more%20specific%5C%22

  [1] https://bugs.launchpad.net/nova/+bug/1822605

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1855015/+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 1855015] [NEW] Intermittent fails since 11/23 with "Multiple possible networks found, use a Network ID to be more specific."

2019-12-03 Thread Eric Fried
Public bug reported:

There was something similar before [1] but it was 100% and in one job.
This is intermittent and in multiple jobs across multiple projects.

http://logstash.openstack.org/#/dashboard/file/logstash.json?query=message:%5C%22Multiple%20possible%20networks%20found,%20use%20a%20Network%20ID%20to%20be%20more%20specific%5C%22

[1] https://bugs.launchpad.net/nova/+bug/1822605

** Affects: neutron
 Importance: Undecided
 Status: New

** Affects: nova
 Importance: Undecided
 Status: New

** Also affects: neutron
   Importance: Undecided
   Status: New

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

Title:
  Intermittent fails since 11/23 with "Multiple possible networks found,
  use a Network ID to be more specific."

Status in neutron:
  New
Status in OpenStack Compute (nova):
  New

Bug description:
  There was something similar before [1] but it was 100% and in one job.
  This is intermittent and in multiple jobs across multiple projects.

  
http://logstash.openstack.org/#/dashboard/file/logstash.json?query=message:%5C%22Multiple%20possible%20networks%20found,%20use%20a%20Network%20ID%20to%20be%20more%20specific%5C%22

  [1] https://bugs.launchpad.net/nova/+bug/1822605

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1855015/+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 1854993] [NEW] QoS bandwidth tempest test no longer running

2019-12-03 Thread Eric Fried
Public bug reported:

In [1] the tempest-slow-py3 job was dropped and non-redundant bits
folded into the nova-next job.

Except we forgot to move over some of the config necessary to make this
QoS bandwidth test [2] work, so it gets skipped:

setUpClass
(tempest.scenario.test_minbw_allocation_placement.MinBwAllocationPlacementTest)
... SKIPPED: Skipped as no physnet is available in config for placement
based QoS allocation.

We think we just need to get the nova-next job synced up with the config
like what was done for tempest-slow here [3].

[1] https://review.opendev.org/#/c/683988/
[2] 
https://github.com/openstack/tempest/blob/3eb3c29e979fd3f13c205d62119748952d63054a/tempest/scenario/test_minbw_allocation_placement.py#L142
[3] 
https://github.com/openstack/tempest/commit/c87a06b3c29427dc8f2513047c804e0410b4b99c

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  QoS bandwidth tempest test no longer running

Status in OpenStack Compute (nova):
  New

Bug description:
  In [1] the tempest-slow-py3 job was dropped and non-redundant bits
  folded into the nova-next job.

  Except we forgot to move over some of the config necessary to make
  this QoS bandwidth test [2] work, so it gets skipped:

  setUpClass
  
(tempest.scenario.test_minbw_allocation_placement.MinBwAllocationPlacementTest)
  ... SKIPPED: Skipped as no physnet is available in config for
  placement based QoS allocation.

  We think we just need to get the nova-next job synced up with the
  config like what was done for tempest-slow here [3].

  [1] https://review.opendev.org/#/c/683988/
  [2] 
https://github.com/openstack/tempest/blob/3eb3c29e979fd3f13c205d62119748952d63054a/tempest/scenario/test_minbw_allocation_placement.py#L142
  [3] 
https://github.com/openstack/tempest/commit/c87a06b3c29427dc8f2513047c804e0410b4b99c

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1854993/+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 1709118] Re: _ContextAuthPlugin needs a refresh

2019-10-07 Thread Eric Fried
> It's possible https://review.openstack.org/#/c/500956/ will help with
this.

It did.

I still think we could stand to figure out how to get rid of
_ContextAuthPlugin, but it's not breaking anything anymore, so closing
this bug out for the time being.

** 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/1709118

Title:
  _ContextAuthPlugin needs a refresh

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  nova.context._ContextAuthPlugin is (sometimes) being used as the basis
  for keystoneauth1 endpoint discovery.  With the advent of ksa 3.1.0,
  there are some new methods consumers are expecting to be able to run
  on an auth via a ksa Session or Adapter.  (Note that they were added
  to BaseIdentityPlugin without being added as abstract methods to
  BaseAuthPlugin -  this is probably a ksa bug.)  An example of such a
  method is get_endpoint_data().

  Now, it appears from the docstring that the only reason
  _ContextAuthPlugin exists is that the auths we get from keystone
  middleware are not serializable.  This may have changed since that
  docstring was written in 2014.

  So: we should either update _ContextAuthPlugin to provide the methods
  ksa expects (perhaps in response to a fixup in ksa's BaseAuthPlugin
  abc that mandates those methods be implemented); or (better) figure
  out a way to get rid of _ContextAuthPlugin entirely and just use what
  keystone provides.

  A manifestation of this problem can be seen in the work for bp use-
  service-catalog-for-endpoints.  This change [1] is in response to ksa
  Adapter.get_endpoint_data() raising AttributeError because
  Adapter.get_endpoint_data eventually filters down to
  Adapter.auth.get_endpoint_data; which breaks when the auth is a
  _ContextAuthPlugin.

  [1] https://review.openstack.org/#/c/490057/3..4/nova/image/glance.py

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1709118/+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 1845530] [NEW] Versioned discovery endpoint should not require authentication

2019-09-26 Thread Eric Fried
Public bug reported:

stack@nucle:/opt/stack/cyborg$ openstack endpoint list
+--+---+--++-+---+-+
| ID   | Region| Service Name | Service Type   
| Enabled | Interface | URL |
+--+---+--++-+---+-+

| 9d483c8a6162422282514191683751cb | RegionOne | nova | compute
| True| public| http://192.168.218.28/compute/v2.1  |

+--+---+--++-+---+-+
stack@nucle:/opt/stack/cyborg$ curl http://192.168.218.28/compute/v2.1 
{"error": {"message": "The request you have made requires authentication.", 
"code": 401, "title": "Unauthorized"}}

Discovery endpoints should not require authentication.

(I'm still looking for the doc that contains this edict; but ask mordred
or anyone on the api-sig.)

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  Versioned discovery endpoint should not require authentication

Status in OpenStack Compute (nova):
  New

Bug description:
  stack@nucle:/opt/stack/cyborg$ openstack endpoint list
  
+--+---+--++-+---+-+
  | ID   | Region| Service Name | Service Type  
 | Enabled | Interface | URL |
  
+--+---+--++-+---+-+
  
  | 9d483c8a6162422282514191683751cb | RegionOne | nova | compute   
 | True| public| http://192.168.218.28/compute/v2.1  |
  
  
+--+---+--++-+---+-+
  stack@nucle:/opt/stack/cyborg$ curl http://192.168.218.28/compute/v2.1 
  {"error": {"message": "The request you have made requires authentication.", 
"code": 401, "title": "Unauthorized"}}

  Discovery endpoints should not require authentication.

  (I'm still looking for the doc that contains this edict; but ask
  mordred or anyone on the api-sig.)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1845530/+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 1844174] [NEW] test_fail_set_az fails intermittently with "AssertionError: OpenStackApiException not raised by _set_az_aggregate"

2019-09-16 Thread Eric Fried
Public bug reported:

Since 20190910 we've hit this 10x: 8x in functional and 2x in
functional-py36

http://logstash.openstack.org/#dashboard/file/logstash.json?query=message%3A%5C%22OpenStackApiException%20not%20raised%20by%20_set_az_aggregate%5C%22

It looks to be a NoValidHosts caused by

2019-09-16 15:10:21,389 INFO [nova.filters] Filter AvailabilityZoneFilter 
returned 0 hosts
2019-09-16 15:10:21,390 INFO [nova.filters] Filtering removed all hosts for the 
request with instance ID 'e1ae6109-2bc2-4a40-9249-3dee7d5e80b5'. Filter 
results: ['AvailabilityZoneFilter: (start: 2, end: 0)']

Here's one example:
https://14cb8680ad7e2d5893c2-a0a2161f988b6356e48326da15450ffb.ssl.cf1.rackcdn.com/671800/36/check
/nova-tox-functional-py36/abc690a/testr_results.html.gz

or pasted here for when ^ expires:
http://paste.openstack.org/raw/776821/

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  test_fail_set_az fails intermittently with "AssertionError:
  OpenStackApiException not raised by _set_az_aggregate"

Status in OpenStack Compute (nova):
  New

Bug description:
  Since 20190910 we've hit this 10x: 8x in functional and 2x in
  functional-py36

  
http://logstash.openstack.org/#dashboard/file/logstash.json?query=message%3A%5C%22OpenStackApiException%20not%20raised%20by%20_set_az_aggregate%5C%22

  It looks to be a NoValidHosts caused by

  2019-09-16 15:10:21,389 INFO [nova.filters] Filter AvailabilityZoneFilter 
returned 0 hosts
  2019-09-16 15:10:21,390 INFO [nova.filters] Filtering removed all hosts for 
the request with instance ID 'e1ae6109-2bc2-4a40-9249-3dee7d5e80b5'. Filter 
results: ['AvailabilityZoneFilter: (start: 2, end: 0)']

  Here's one example:
  
https://14cb8680ad7e2d5893c2-a0a2161f988b6356e48326da15450ffb.ssl.cf1.rackcdn.com/671800/36/check
  /nova-tox-functional-py36/abc690a/testr_results.html.gz

  or pasted here for when ^ expires:
  http://paste.openstack.org/raw/776821/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1844174/+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 1843439] [NEW] doc: Rebuild vs. Evacuate (and other move-ish ops)

2019-09-10 Thread Eric Fried
Public bug reported:

Following discussion on IRC [1], it would be nice to have a contributor
document describing the differences among the various move-ish
operations -- for purposes of this bug, just rebuild and evacuate -- in
terms of what happens to their allocations, images, UUIDs (instance vs
migration), hosts (dest same/different from src), etc.

[1] http://eavesdrop.openstack.org/irclogs/%23openstack-nova
/%23openstack-nova.2019-09-10.log.html#t2019-09-10T13:31:17

** Affects: nova
 Importance: Low
 Assignee: Matt Riedemann (mriedem)
 Status: Confirmed


** Tags: doc evacuate rebuild

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

Title:
  doc: Rebuild vs. Evacuate (and other move-ish ops)

Status in OpenStack Compute (nova):
  Confirmed

Bug description:
  Following discussion on IRC [1], it would be nice to have a
  contributor document describing the differences among the various
  move-ish operations -- for purposes of this bug, just rebuild and
  evacuate -- in terms of what happens to their allocations, images,
  UUIDs (instance vs migration), hosts (dest same/different from src),
  etc.

  [1] http://eavesdrop.openstack.org/irclogs/%23openstack-nova
  /%23openstack-nova.2019-09-10.log.html#t2019-09-10T13:31:17

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1843439/+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 1840551] Re: Kombu 4.6.4 is breaking with python 3.7

2019-08-19 Thread Eric Fried
https://review.opendev.org/#/c/677070/ is merged to blacklist kombu 4.6.4
https://review.opendev.org/#/c/677071/ ought to prevent similar snafus in future

** Changed in: nova
   Status: In Progress => Fix Released

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

Title:
  Kombu 4.6.4 is breaking with python 3.7

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  Since [0], nova's openstack-tox-py37 job is failing this many:

  Status: Pass 97 Failure 17112 Skip 20

  with this error:

  TypeError: open: path should be string, bytes or os.PathLike, not
  _NormalAccessor

  See this ML thread [1] for root cause analysis.

  Proposed [2] against requirements to blacklist kombu 4.6.4.

  [0] https://review.opendev.org/#/c/675816/
  [1] 
http://lists.openstack.org/pipermail/openstack-discuss/2019-August/008553.html
  [2] https://review.opendev.org/#/c/677070/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1840551/+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 1840551] [NEW] Kombu 4.6.4 is breaking with python 3.7

2019-08-17 Thread Eric Fried
Public bug reported:

Since [0], nova's openstack-tox-py37 job is failing this many:

Status: Pass 97 Failure 17112 Skip 20

with this error:

TypeError: open: path should be string, bytes or os.PathLike, not
_NormalAccessor

See this ML thread [1] for root cause analysis.

Proposed [2] against requirements to blacklist kombu 4.6.4.

[0] https://review.opendev.org/#/c/675816/
[1] 
http://lists.openstack.org/pipermail/openstack-discuss/2019-August/008553.html
[2] https://review.opendev.org/#/c/677070/

** Affects: nova
 Importance: Critical
 Assignee: Eric Fried (efried)
 Status: In Progress

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

Title:
  Kombu 4.6.4 is breaking with python 3.7

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  Since [0], nova's openstack-tox-py37 job is failing this many:

  Status: Pass 97 Failure 17112 Skip 20

  with this error:

  TypeError: open: path should be string, bytes or os.PathLike, not
  _NormalAccessor

  See this ML thread [1] for root cause analysis.

  Proposed [2] against requirements to blacklist kombu 4.6.4.

  [0] https://review.opendev.org/#/c/675816/
  [1] 
http://lists.openstack.org/pipermail/openstack-discuss/2019-August/008553.html
  [2] https://review.opendev.org/#/c/677070/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1840551/+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 1836263] [NEW] doc: PUT /ports/{port_id} updates selectively

2019-07-11 Thread Eric Fried
Public bug reported:

Based on noted usage in Nova [1], it appears as though PUT
/v2/ports/{port_id} [2] with a payload like

 { "port":
   "foo": ...,
 }

will update only port.foo on the server, leaving all the other contents
of the port untouched.

That is, you can GET-extract-PUT rather than GET-modify-PUT.

I assume (but am not certain) this is restricted to the top-level keys
listed in the table in the API reference. So for example, if the port
previously looked like

 { "port":
   ...,
   "dns_assignment": {
   "hostname": "myport",
   "ip_address": "20.20.0.4",
   "fqdn": "myport.my-domain.org"
   },
   ...,
 }

and I PUT /v2/ports/{port_id} with

 { "port":
   "dns_assignment": {
   "ip_address": "10.10.0.4",
   },
 }

I will wind up with no "hostname" or "fqdn" in my port.dns_assignment.

I'm also not certain what happens if I send a `null`

 { "port":
   "binding:profile": null
 }

Do I wind up with port.binding:profile == {}, null, or absent?

===

This bug is to request that the API reference documentation be enhanced
to include this information for PUT /v2/ports/{port_id}.

(It's possible that similar principles apply to PUTting other resources
as well -- I didn't check -- in which case it may make sense to write a
section in the front matter explaining the principle and linking to it
from the various operations.)

[1] 
http://codesearch.openstack.org/?q=%5C.update_port%5C(=nope==openstack/nova
[2] 
https://developer.openstack.org/api-ref/network/v2/?expanded=update-port-detail#update-port

** Affects: neutron
 Importance: Undecided
 Status: New


** Tags: doc

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1836263

Title:
  doc: PUT /ports/{port_id} updates selectively

Status in neutron:
  New

Bug description:
  Based on noted usage in Nova [1], it appears as though PUT
  /v2/ports/{port_id} [2] with a payload like

   { "port":
 "foo": ...,
   }

  will update only port.foo on the server, leaving all the other
  contents of the port untouched.

  That is, you can GET-extract-PUT rather than GET-modify-PUT.

  I assume (but am not certain) this is restricted to the top-level keys
  listed in the table in the API reference. So for example, if the port
  previously looked like

   { "port":
 ...,
 "dns_assignment": {
 "hostname": "myport",
 "ip_address": "20.20.0.4",
 "fqdn": "myport.my-domain.org"
 },
 ...,
   }

  and I PUT /v2/ports/{port_id} with

   { "port":
 "dns_assignment": {
 "ip_address": "10.10.0.4",
 },
   }

  I will wind up with no "hostname" or "fqdn" in my port.dns_assignment.

  I'm also not certain what happens if I send a `null`

   { "port":
 "binding:profile": null
   }

  Do I wind up with port.binding:profile == {}, null, or absent?

  ===

  This bug is to request that the API reference documentation be
  enhanced to include this information for PUT /v2/ports/{port_id}.

  (It's possible that similar principles apply to PUTting other
  resources as well -- I didn't check -- in which case it may make sense
  to write a section in the front matter explaining the principle and
  linking to it from the various operations.)

  [1] 
http://codesearch.openstack.org/?q=%5C.update_port%5C(=nope==openstack/nova
  [2] 
https://developer.openstack.org/api-ref/network/v2/?expanded=update-port-detail#update-port

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1836263/+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 1822605] [NEW] nova-live-migration fails 100% with "Multiple possible networks found, use a Network ID to be more specific"

2019-04-01 Thread Eric Fried
Public bug reported:

Over the weekend (so since about 3/29) the nova-live-migration job has
been failing 100% with the message:

"Multiple possible networks found, use a Network ID to be more specific"

Example: http://logs.openstack.org/12/648912/1/check/nova-live-
migration/48932a5/job-output.txt.gz#_2019-04-01_08_27_07_901239

Matt identified this as a suspect:

https://review.openstack.org/#/c/601433/

...since it causes us now to create multiple networks. In tempest a
network is always explicitly given, but in the nova-live-migration job
it's not.

** Affects: nova
 Importance: Critical
 Status: Triaged


** Tags: gate-failure

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

Title:
  nova-live-migration fails 100% with "Multiple possible networks found,
  use a Network ID to be more specific"

Status in OpenStack Compute (nova):
  Triaged

Bug description:
  Over the weekend (so since about 3/29) the nova-live-migration job has
  been failing 100% with the message:

  "Multiple possible networks found, use a Network ID to be more
  specific"

  Example: http://logs.openstack.org/12/648912/1/check/nova-live-
  migration/48932a5/job-output.txt.gz#_2019-04-01_08_27_07_901239

  Matt identified this as a suspect:

  https://review.openstack.org/#/c/601433/

  ...since it causes us now to create multiple networks. In tempest a
  network is always explicitly given, but in the nova-live-migration job
  it's not.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1822605/+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 1811726] [NEW] Deleting compute service only deletes "first" ironic node from placement

2019-01-14 Thread Eric Fried
Public bug reported:

NB: This comes from code inspection, not observed behavior.

When the compute service is deleted, we attempt to delete from placement
the resource provider associated with the compute node associated with
the service [1].

But ironic deployments can have multiple compute nodes. In this case,
the compute node associated with the service is the "first" such node
[2].

What happens then is the compute node records are deleted, leaving the
remaining N-1 nodes' provider records orphaned. Those get cleaned up (I
think?) by update_available_resource when the service is recreated [3].

So we're deleting and recreating the ironic node resource providers, but
in a weird order. We should probably either fix the code at [1] to
delete all of them, or none of them (and let the orphan handling code do
all the work).

[1] 
https://github.com/openstack/nova/blob/da98f4ba4554139b3901103aa0d26876b11e1d9a/nova/api/openstack/compute/services.py#L244-L247
[2] 
https://github.com/openstack/nova/blob/da98f4ba4554139b3901103aa0d26876b11e1d9a/nova/objects/service.py#L308-L311
[3] 
https://github.com/openstack/nova/blob/da98f4ba4554139b3901103aa0d26876b11e1d9a/nova/compute/manager.py#L7757-L7771

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: api compute ironic placement

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

Title:
  Deleting compute service only deletes "first" ironic node from
  placement

Status in OpenStack Compute (nova):
  New

Bug description:
  NB: This comes from code inspection, not observed behavior.

  When the compute service is deleted, we attempt to delete from
  placement the resource provider associated with the compute node
  associated with the service [1].

  But ironic deployments can have multiple compute nodes. In this case,
  the compute node associated with the service is the "first" such node
  [2].

  What happens then is the compute node records are deleted, leaving the
  remaining N-1 nodes' provider records orphaned. Those get cleaned up
  (I think?) by update_available_resource when the service is recreated
  [3].

  So we're deleting and recreating the ironic node resource providers,
  but in a weird order. We should probably either fix the code at [1] to
  delete all of them, or none of them (and let the orphan handling code
  do all the work).

  [1] 
https://github.com/openstack/nova/blob/da98f4ba4554139b3901103aa0d26876b11e1d9a/nova/api/openstack/compute/services.py#L244-L247
  [2] 
https://github.com/openstack/nova/blob/da98f4ba4554139b3901103aa0d26876b11e1d9a/nova/objects/service.py#L308-L311
  [3] 
https://github.com/openstack/nova/blob/da98f4ba4554139b3901103aa0d26876b11e1d9a/nova/compute/manager.py#L7757-L7771

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1811726/+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 1789654] Re: placement allocation_ratio initialized with 0.0

2018-09-06 Thread Eric Fried
This was fixed by https://review.openstack.org/#/c/598365/

** Changed in: nova
   Status: In Progress => Fix Released

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

Title:
  placement allocation_ratio initialized with 0.0

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Compute (nova) rocky series:
  In Progress

Bug description:
  After I just finished packaging Rocky, I wanted to test it with
  puppet-openstack. Then I couldn't boot VMs after the puppet run,
  because allocation_ration in placement is set to 0.0 by default:

  # openstack resource provider list
  +--+---++
  | uuid | name  | generation |
  +--+---++
  | f9716941-356f-4a2e-b5ea-31c3c1630892 | poi.infomaniak.ch |  2 |
  +--+---++
  # openstack resource provider show f9716941-356f-4a2e-b5ea-31c3c1630892
  ++--+
  | Field  | Value|
  ++--+
  | uuid   | f9716941-356f-4a2e-b5ea-31c3c1630892 |
  | name   | poi.infomaniak.ch|
  | generation | 2|
  ++--+
  # openstack resource provider inventory list 
f9716941-356f-4a2e-b5ea-31c3c1630892
  
++--+---+--+---+--+--+
  | resource_class | reserved | step_size | allocation_ratio | total | min_unit 
| max_unit |
  
++--+---+--+---+--+--+
  | VCPU   |0 | 1 |  0.0 | 4 |1 
|4 |
  | DISK_GB|0 | 1 |  0.0 |19 |1 
|   19 |
  | MEMORY_MB  |  512 | 1 |  0.0 |  7987 |1 
| 7987 |
  
++--+---+--+---+--+--+

  Later on, setting-up correct allocation_ratio fixed the problem:
  # openstack resource provider inventory class set --allocation_ratio 16.0 
--total 4 f9716941-356f-4a2e-b5ea-31c3c1630892 VCPU
  +--++
  | Field| Value  |
  +--++
  | max_unit | 2147483647 |
  | min_unit | 1  |
  | step_size| 1  |
  | reserved | 0  |
  | allocation_ratio | 16.0   |
  | total| 4  |
  +--++
  # openstack resource provider inventory list 
f9716941-356f-4a2e-b5ea-31c3c1630892
  
++--+--++---+--+---+
  | resource_class | allocation_ratio | reserved |   max_unit | step_size | 
min_unit | total |
  
++--+--++---+--+---+
  | DISK_GB|  0.0 |0 | 19 | 1 | 
   1 |19 |
  | MEMORY_MB  |  0.0 |  512 |   7987 | 1 | 
   1 |  7987 |
  | VCPU   | 16.0 |0 | 2147483647 | 1 | 
   1 | 4 |
  
++--+--++---+--+---+

  so, after this, I could boot VMs normally. Though clearly,
  allocation_ratio should not be zero by default.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1789654/+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 1777491] Re: Avoid redundant compute node update

2018-08-27 Thread Eric Fried
*** This bug is a duplicate of bug 1729621 ***
https://bugs.launchpad.net/bugs/1729621

** This bug has been marked a duplicate of bug 1729621
   Inconsistent value for vcpu_used

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

Title:
  Avoid redundant compute node update

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  _update_available_resource() in nova/compute/resource_tracker.py invokes 
_init_compute_node() which internally calls _update() and once again _update() 
is invoked at the end of _update_available_resource().
  
https://github.com/openstack/nova/blob/master/nova/compute/resource_tracker.py#L762

  This triggers update_provider_tree() or get_inventory() on the virt
  driver, scanning all resources twice within same method.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1777491/+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 1737711] Re: nova boot failed when use the chinese metadata key and value

2018-07-30 Thread Eric Fried
More core team discussion [1] concluded that, if we're going to do this,
it's going to need a blueprint/spec and most likely a microversion. If
you wish to pursue it, you may register a blueprint here [2] and submit
a spec to the nova-specs repository. More information on this process
can be found at [3].

Thanks!

[1] 
http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-nova.2018-07-30.log.html#t2018-07-30T18:32:33
[2] https://blueprints.launchpad.net/nova/+addspec
[3] https://docs.openstack.org/nova/latest/contributor/blueprints.html

** Changed in: nova
   Importance: Undecided => Wishlist

** 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/1737711

Title:
  nova boot failed when use the chinese metadata key and value

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  I get the wrong msg like bellow:

  Invalid input for field/attribute metadata. Value:
  {u'\\u4e2d\\u6587\\u5143\\u6570\\u636e':
  u'\u963f\u65af\u987f\u53d1\u751f'}. Additional properties are not
  allowed (u'\\u4e2d\\u6587\\u5143\\u6570\\u636e' was unexpected) (HTTP
  400) (Request-ID: req-3e9ea1d0-8384-41e9-8b00-36e6740262e4)

  
  I think it't better to support the chinese key.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1737711/+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 1781439] [NEW] Test & document 1.28 (consumer gen) changes for /resource_providers/{u}/allocations

2018-07-12 Thread Eric Fried
Public bug reported:

I978fdea51f2d6c2572498ef80640c92ab38afe65 /
https://review.openstack.org/#/c/565604/ added placement microversion
1.28, which made various API operations consumer generation-aware. One
of the affected routes was /resource_providers/{u}/allocations - but
this route wasn't covered in the gabbi tests or the API reference
documentation.

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  Test & document 1.28 (consumer gen) changes for
  /resource_providers/{u}/allocations

Status in OpenStack Compute (nova):
  New

Bug description:
  I978fdea51f2d6c2572498ef80640c92ab38afe65 /
  https://review.openstack.org/#/c/565604/ added placement microversion
  1.28, which made various API operations consumer generation-aware. One
  of the affected routes was /resource_providers/{u}/allocations - but
  this route wasn't covered in the gabbi tests or the API reference
  documentation.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1781439/+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 1781008] [NEW] Possible race updating consumer's proj/user

2018-07-10 Thread Eric Fried
Public bug reported:

This is to track [1] so we don't lose sight of it. We first need to
figure out a way to test this scenario to see if this is an issue at
all.

[1]
https://review.openstack.org/#/c/581139/3/nova/api/openstack/placement/util.py@650

** Affects: nova
 Importance: Undecided
 Assignee: Jay Pipes (jaypipes)
 Status: New


** Tags: placement

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

Title:
  Possible race updating consumer's proj/user

Status in OpenStack Compute (nova):
  New

Bug description:
  This is to track [1] so we don't lose sight of it. We first need to
  figure out a way to test this scenario to see if this is an issue at
  all.

  [1]
  
https://review.openstack.org/#/c/581139/3/nova/api/openstack/placement/util.py@650

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1781008/+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 1778591] Re: GET /allocations/{uuid} on a consumer with no allocations provides no generation

2018-07-09 Thread Eric Fried
This bug is still relevant.  Excerpt from
https://review.openstack.org/#/c/579163/:

The current behavior

  status: 200
  {
  "allocations": {}
  }

is wrong because the response payload doesn't conform to the expected
format, which would contain a consumer_generation, project_id, and
user_id.  That those fields don't make sense in a context where there's
no consumer is another motivator for making this a 4xx failure.

** Changed in: nova
   Status: Won't Fix => Triaged

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

Title:
  GET /allocations/{uuid} on a consumer with no allocations provides no
  generation

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  If we write some allocations with PUT /allocations/{uuid} at modern
  microversions, a consumer record is created for {uuid} and a
  generation is created for that consumer. Each subsequent attempt to
  PUT /allocations/{uuid} must include a matching consumer generation.

  If the allocations for a consumer are cleared (either DELETE, or PUT
  /allocations/{uuid} with an empty dict of allocations) two things go
  awry:

  * the consumer record, with a generation, stays around
  * GET /allocations/{uuid} returns the following:

 {u'allocations': {}}

  That is, no generation is provided, and we have no way figure one out
  other than inspecting the details of the error response.

  Some options to address this:

  * Return the generation in that response
  * When the allocations for a consumer go empty, remove the consumer
  * Something else?

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1778591/+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 1778576] Re: making new allocations for one consumer against multiple resource providers fails with 409

2018-07-09 Thread Eric Fried
This is fixed as part of https://review.openstack.org/#/c/579921/

** Changed in: nova
   Status: In Progress => Fix Released

** Changed in: nova
 Assignee: Chris Dent (cdent) => Jay Pipes (jaypipes)

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

Title:
  making new allocations for one consumer against multiple resource
  providers fails with 409

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  If you PUT some allocations for a new consumer (thus no generation),
  and those allocations are against more than one resource provider, a
  409 failure will happen with:

  consumer generation conflict - expected 0 but got None

  This because in _new_allocations in handlers/allocation.py we always
  use the generation provided in the incoming data when we call
  util.ensure_consumer. This works for the first resource provider but
  then on the second one the consumer exists, so our generation has to
  be different now.

  One possible fix (already in progress) is to use the generation from
  new_allocations[0].consumer.generation in subsequent trips round the
  loop calling _new_allocations.

  I guess we must have missed some test cases. I'll make sure to add
  some when working on this. I found the problem with my placecat stuff.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1778576/+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 1779931] [NEW] Provider update race between host aggregate sync and resource tracker

2018-07-03 Thread Eric Fried
Public bug reported:

The resource tracker (in n-cpu) used to be the only place we were
pushing changes to placement, all funneled through a single mutex
(COMPUTE_RESOURCE_SEMAPHORE) to prevent conflicts.

When we started mirroring host aggregates as placement aggregates [1],
which happens in the n-api process, we introduced races with the
resource tracker e.g. as follows:

n-api: aggregate_add_host => _get_provider_by_name [2]
n-cpu: get_provider_tree_and_ensure_root [3]
n-api: set_aggregates_for_provider [4]
n-cpu: update_from_provider_tree [5] => set_aggregates_for_provider [6]

(similar for aggregate_remove_host)

Whoever gets to set_aggregates_for_provider first will push their view
of the aggregates to placement.  Until we start checking for generation
conflicts in set_aggregates_for_provider, whoever gets there second will
simply blow away the first one.  Therefore it won't cause failures and
we wouldn't notice.

Once we do start checking for generation conflicts in
set_aggregates_for_provider [7], we start seeing actual failures, like:

 
tempest.api.compute.admin.test_aggregates.AggregatesAdminTestJSON.test_aggregate_add_host_get_details[id-eeef473c-7c52-494d-9f09-2ed7fc8fc036]
 
--

 Captured traceback-1:
 ~
 Traceback (most recent call last):
   File "tempest/lib/common/utils/test_utils.py", line 84, in 
call_and_ignore_notfound_exc
 return func(*args, **kwargs)
   File "tempest/lib/services/compute/aggregates_client.py", line 70, in 
delete_aggregate
 resp, body = self.delete("os-aggregates/%s" % aggregate_id)
   File "tempest/lib/common/rest_client.py", line 310, in delete
 return self.request('DELETE', url, extra_headers, headers, body)
   File "tempest/lib/services/compute/base_compute_client.py", line 48, in 
request
 method, url, extra_headers, headers, body, chunked)
   File "tempest/lib/common/rest_client.py", line 668, in request
 self._error_checker(resp, resp_body)
   File "tempest/lib/common/rest_client.py", line 779, in _error_checker
 raise exceptions.BadRequest(resp_body, resp=resp)
 tempest.lib.exceptions.BadRequest: Bad request
 Details: {u'code': 400, u'message': u'Cannot remove host from aggregate 2. 
Reason: Host aggregate is not empty.'}

...

 Captured traceback:
 ~~~
 Traceback (most recent call last):
   File "tempest/api/compute/admin/test_aggregates.py", line 193, in 
test_aggregate_add_host_get_details
 self.client.add_host(aggregate['id'], host=self.host)
   File "tempest/lib/services/compute/aggregates_client.py", line 95, in 
add_host
 post_body)
   File "tempest/lib/common/rest_client.py", line 279, in post
 return self.request('POST', url, extra_headers, headers, body, chunked)
   File "tempest/lib/services/compute/base_compute_client.py", line 48, in 
request
 method, url, extra_headers, headers, body, chunked)
   File "tempest/lib/common/rest_client.py", line 668, in request
 self._error_checker(resp, resp_body)
   File "tempest/lib/common/rest_client.py", line 845, in _error_checker
 message=message)
 tempest.lib.exceptions.ServerFault: Got server fault
 Details: Unexpected API Error. Please report this at 
http://bugs.launchpad.net/nova/ and attach the Nova API log if possible.
 

[1] https://review.openstack.org/#/c/553597/
[2] 
https://github.com/openstack/nova/blob/df5c253b58f82dcca7f59ac34fc8b8b51e824ca4/nova/scheduler/client/report.py#L1935
[3] 
https://github.com/openstack/nova/blob/ee7c39e4416e215d5bf5fbf07c0a8a4301828248/nova/compute/resource_tracker.py#L883
[4] 
https://github.com/openstack/nova/blob/df5c253b58f82dcca7f59ac34fc8b8b51e824ca4/nova/scheduler/client/report.py#L1956
[5] 
https://github.com/openstack/nova/blob/ee7c39e4416e215d5bf5fbf07c0a8a4301828248/nova/compute/resource_tracker.py#L897
[6] 
https://github.com/openstack/nova/blob/df5c253b58f82dcca7f59ac34fc8b8b51e824ca4/nova/scheduler/client/report.py#L1454
[7] https://review.openstack.org/#/c/556669/

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  Provider update race between host aggregate sync and resource tracker

Status in OpenStack Compute (nova):
  New

Bug description:
  The resource tracker (in n-cpu) used to be the only place we were
  pushing changes to placement, all funneled through a single mutex
  (COMPUTE_RESOURCE_SEMAPHORE) to prevent conflicts.

  When we started mirroring host aggregates as placement aggregates [1],
  which happens in the n-api process, we introduced races with the
  resource tracker 

[Yahoo-eng-team] [Bug 1778498] Re: cannot launch instance

2018-06-29 Thread Eric Fried
This appears to be a user error:

'htpp://'

is misspelled, should be 'http://'.

This URL comes from nova.conf or the service catalog.

** 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/1778498

Title:
  cannot launch instance

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  i have problem while to launch the instance, i'm using ubuntu 18.04
  LTS and openstack Queen.

  And when i want to launch instance i got this error "Unexpected API Error. 
Please report this at http://bugs.launchpad.net/nova/ and attach the Nova API 
log if possible.
   (HTTP 
500) (Request-ID: req-7302d9ed-0485-4714-9e57-c15d21a66dbd"

  and this is the compute service (nova-api) log :

  "2018-06-25 10:53:01.724 2634 ERROR nova.api.openstack.wsgi return 
self.session.request(url, method, **kwargs)
  2018-06-25 10:53:01.724 2634 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python2.7/dist-packages/keystoneauth1/session.py", line 698, in 
request
  2018-06-25 10:53:01.724 2634 ERROR nova.api.openstack.wsgi resp = 
send(**kwargs)
  2018-06-25 10:53:01.724 2634 ERROR nova.api.openstack.wsgi   File 
"/usr/lib/python2.7/dist-packages/keystoneauth1/session.py", line 776, in 
_send_request
  2018-06-25 10:53:01.724 2634 ERROR nova.api.openstack.wsgi raise 
exceptions.UnknownConnectionError(msg, e)
  2018-06-25 10:53:01.724 2634 ERROR nova.api.openstack.wsgi 
UnknownConnectionError: Unexpected exception for 
htpp://controller:9696/v2.0/security-groups?fields=id=adf0b87b-28d0-4295-a6dd-222ed065ffc2:
 No connection adapters were found for 
'htpp://controller:9696/v2.0/security-groups?fields=id=adf0b87b-28d0-4295-a6dd-222ed065ffc2'
  2018-06-25 10:53:01.724 2634 ERROR nova.api.openstack.wsgi 
  2018-06-25 10:53:01.729 2634 INFO nova.api.openstack.wsgi 
[req-5bfdf750-70c1-470b-b849-895a60c4deb0 - - - - -] HTTP exception thrown: 
Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and 
attach the Nova API log if possible.
  
  2018-06-25 10:53:01.737 2634 INFO nova.osapi_compute.wsgi.server 
[req-5bfdf750-70c1-470b-b849-895a60c4deb0 - - - - -] 20.20.20.10 "POST 
/v2.1/servers HTTP/1.1" status: 500 len: 665 time: 0.8935342"

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1778498/+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 1778763] [NEW] Consumers never get deleted

2018-06-26 Thread Eric Fried
Public bug reported:

We don't have an API to delete a consumer.  It gets created implicitly
when allocations are created against it, but it doesn't get deleted when
the consumer's last allocation is removed.  In some uses of placement,
such as nova's, there is a high rate of turnover of consumers
(instances, in nova) so this leakage has the potential to be
problematic.

(Note that we have the same issue for aggregates, but don't currently
have a known use case with a lot of aggregate turnover, so it is less
likely to be a problem soon.)

Possible solutions:
- Delete a consumer record automatically when its last allocation goes away.  
This is nice and symmetrical, but a behavior change for the guy *recreating* a 
consumer (today he has to use the current generation; with this change he would 
have to use ``null``).
- Provide an operation for deleting consumers.  This is an extra step for 
callers (which is okay).  But do we also provide an explicit (redundant) 
operation for creating them, just for the sake of symmetry?
- Your idea here.

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  Consumers never get deleted

Status in OpenStack Compute (nova):
  New

Bug description:
  We don't have an API to delete a consumer.  It gets created implicitly
  when allocations are created against it, but it doesn't get deleted
  when the consumer's last allocation is removed.  In some uses of
  placement, such as nova's, there is a high rate of turnover of
  consumers (instances, in nova) so this leakage has the potential to be
  problematic.

  (Note that we have the same issue for aggregates, but don't currently
  have a known use case with a lot of aggregate turnover, so it is less
  likely to be a problem soon.)

  Possible solutions:
  - Delete a consumer record automatically when its last allocation goes away.  
This is nice and symmetrical, but a behavior change for the guy *recreating* a 
consumer (today he has to use the current generation; with this change he would 
have to use ``null``).
  - Provide an operation for deleting consumers.  This is an extra step for 
callers (which is okay).  But do we also provide an explicit (redundant) 
operation for creating them, just for the sake of symmetry?
  - Your idea here.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1778763/+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 1770549] Re: Set instance's description failed

2018-05-11 Thread Eric Fried
This is invalid for the reason you state in comment #1.  More
specifically: when you call the API with versions <2.19, you get the
name as the description; when you call with >=2.19, you get the user-
supplied description or None.  We can't change that behavior, per the
rules of API versioning.

So really the "problem" is that whereas novaclient negotiates the
highest mutually supported version with the server, openstackclient
defaults to the earliest.  But that version can be overridden via option
or env, and that's the correct "solution".

Now, if you're saying that openstack client doesn't yet have support for
user-settable descriptions... that's a bug against openstackclient which
would need to be solved there.

** 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/1770549

Title:
  Set instance's description failed

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  Create an instance, using novaclient and openstackclient will get different 
value for the description.
  novaclient: description is None.
  openstackclient: description is instance's name.

  Using novaclient the API request version is 2.53, but the openstackclient is 
2.1.
  If we wants to add description using openstackclient(not implement yet), the 
instance's description will get the instance's name forever.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1770549/+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 1769854] Re: Local disk without enough capacity appears in allocation candidates

2018-05-09 Thread Eric Fried
This was fixed incidentally via
9af073384cca305565e741c1dfbb359c1e562a4e

See related fix.

** Changed in: nova
   Status: Confirmed => Fix Released

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

Title:
  Local disk without enough capacity appears in allocation candidates

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  How to reproduce
  -

  In placement,
  1. Setup a compute node resource provider with inventories of 
  - 24 VCPU
  - 2048 MEMORY_MB
  - 1600 DISK_GB
  2. Setup a shared storage resource provider with "MISC_SHARES_VIA_AGGREGATE" 
tag with
  - 2000 DISK_GB inventory 
  3. Set them both in a same aggregate
  4. Get allocation candidates requesting
  - 1 VCPU
  - 64 MEMORY_MB
  - 1800 DISK_GB inventory.

  Expected
  -

  Get one allocation request where DISK inventory is provided by the
  shared storage

  Actual
  --

  Get two allocation request, in one of which DISK inventory is provided
  by the compute node

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1769854/+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 1766692] [NEW] instance.uuid no longer being a str breaks powervm scsi disconnect

2018-04-24 Thread Eric Fried
Public bug reported:

Long-standing code in pypowervm [1] used isinstance(..., str) to help
identify whether an input was a UUID or an integer short ID.  This is
used with to find SCSI mappings [2] with Instance.uuid [3] when
disconnecting a disk during destroy [4].

Then this change in oslo.versionedobjects happened [5], resulting in
instance.uuid no longer being a str.  So the check at [1] fails, and we
try to int() a UUID string, resulting in [6], pasted here in case that
link expires:

PowerVM error destroying instance.: ValueError: invalid literal for int() with 
base 10: '4E27E1E6-6A24-4F0A-8E7B-2BBE7B4A28BA'
 Traceback (most recent call last):
   File "/opt/stack/nova-powervm/nova_powervm/virt/powervm/driver.py", line 
672, in _destroy
 _setup_flow_and_run()
   File "/opt/stack/nova-powervm/nova_powervm/virt/powervm/driver.py", line 
668, in _setup_flow_and_run
 tf_base.run(flow, instance=instance)
   File "/opt/stack/nova-powervm/nova_powervm/virt/powervm/tasks/base.py", line 
40, in run
 return eng.run()
   File 
"/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py",
 line 247, in run
 for _state in self.run_iter(timeout=timeout):
   File 
"/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/engine.py",
 line 340, in run_iter
 failure.Failure.reraise_if_any(er_failures)
   File "/usr/local/lib/python2.7/dist-packages/taskflow/types/failure.py", 
line 336, in reraise_if_any
 failures[0].reraise()
   File "/usr/local/lib/python2.7/dist-packages/taskflow/types/failure.py", 
line 343, in reraise
 six.reraise(*self._exc_info)
   File 
"/usr/local/lib/python2.7/dist-packages/taskflow/engines/action_engine/executor.py",
 line 53, in _execute_task
 result = task.execute(**arguments)
   File "/opt/stack/nova-powervm/nova_powervm/virt/powervm/tasks/storage.py", 
line 452, in execute
 self.instance, stg_ftsk=self.stg_ftsk, disk_type=self.disk_type)
   File "/opt/stack/nova-powervm/nova_powervm/virt/powervm/disk/ssp.py", line 
174, in disconnect_disk
 match_func=match_func)
   File 
"/usr/local/lib/python2.7/dist-packages/pypowervm/tasks/scsi_mapper.py", line 
503, in find_maps
 is_uuid, client_id = uuid.id_or_uuid(client_lpar_id)
   File "/usr/local/lib/python2.7/dist-packages/pypowervm/utils/uuid.py", line 
55, in id_or_uuid
 ret_id = int(an_id)
 ValueError: invalid literal for int() with base 10: 
'4E27E1E6-6A24-4F0A-8E7B-2BBE7B4A28BA'

(Okay, our bad for using str at all - though to be fair, it's possible
that code predates the very existence of py3.)

The right fix is for [1] to use is_uuid_like from oslo.utils.  This
shall be done.  However, since [5] was backported to queens and pike,
unless we can get away with backporting requirements changes, we may
have to do something backportable in nova-powervm and nova as well.

[1] 
https://github.com/powervm/pypowervm/blob/release/1.1.14/pypowervm/utils/uuid.py#L50
[2] 
https://github.com/powervm/pypowervm/blob/release/1.1.14/pypowervm/tasks/scsi_mapper.py#L503
[3] 
https://github.com/openstack/nova/blob/1605391084d6a1f57384ef48bad8ca2185cf6fa7/nova/virt/powervm/disk/ssp.py#L128
[4] 
https://github.com/openstack/nova/blob/1605391084d6a1f57384ef48bad8ca2185cf6fa7/nova/virt/powervm/driver.py#L272
[5] https://review.openstack.org/#/q/Ic6b6308fb1960ec40407e6efde30137b64543e72
[6] 
http://184.172.12.213/58/557958/10/check/nova-out-of-tree-pvm/c1d7e99/logs/n-cpu.txt.gz?#_Apr_20_08_51_16_452651

** Affects: nova
 Importance: Undecided
 Status: New

** Affects: nova-powervm
 Importance: Undecided
 Status: New

** Affects: pypowervm
 Importance: Undecided
 Status: New

** Also affects: nova
   Importance: Undecided
   Status: New

** Also affects: pypowervm
   Importance: Undecided
   Status: New

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

Title:
  instance.uuid no longer being a str breaks powervm scsi disconnect

Status in OpenStack Compute (nova):
  New
Status in nova-powervm:
  New
Status in pypowervm:
  New

Bug description:
  Long-standing code in pypowervm [1] used isinstance(..., str) to help
  identify whether an input was a UUID or an integer short ID.  This is
  used with to find SCSI mappings [2] with Instance.uuid [3] when
  disconnecting a disk during destroy [4].

  Then this change in oslo.versionedobjects happened [5], resulting in
  instance.uuid no longer being a str.  So the check at [1] fails, and
  we try to int() a UUID string, resulting in [6], pasted here in case
  that link expires:

  PowerVM error destroying instance.: ValueError: invalid literal for int() 
with base 10: '4E27E1E6-6A24-4F0A-8E7B-2BBE7B4A28BA'
   Traceback (most recent call last):
 File "/opt/stack/nova-powervm/nova_powervm/virt/powervm/driver.py", line 
672, in _destroy
   

[Yahoo-eng-team] [Bug 1762789] [NEW] ResourceClass.normalize_name produces different results for py2 vs. py3

2018-04-10 Thread Eric Fried
Public bug reported:

Due to a py3 quirk (read: bug they decided not to fix) [1], .upper()
works differently in py2 vs. py3 for the sharp S ('ß').  In py2, it
stays the same (like all other characters not in the a-z range); in py3
it becomes the two-character string 'SS'.  This means that, as written,
ResourceClass.normalize_name('ß') will yield 'CUSTOM__' in py2, but
'CUSTOM_SS' in py3.

[1] https://bugs.python.org/issue4610

** Affects: nova
 Importance: Undecided
 Assignee: Eric Fried (efried)
 Status: In Progress


** Tags: placement

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

Title:
  ResourceClass.normalize_name produces different results for py2 vs.
  py3

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  Due to a py3 quirk (read: bug they decided not to fix) [1], .upper()
  works differently in py2 vs. py3 for the sharp S ('ß').  In py2, it
  stays the same (like all other characters not in the a-z range); in
  py3 it becomes the two-character string 'SS'.  This means that, as
  written, ResourceClass.normalize_name('ß') will yield 'CUSTOM__' in
  py2, but 'CUSTOM_SS' in py3.

  [1] https://bugs.python.org/issue4610

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1762789/+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 1760322] [NEW] Traits not synced if first retrieval fails

2018-03-31 Thread Eric Fried
Public bug reported:

If the first trait you try to retrieve from placement doesn't exist,
traits are not synced from os_traits into the database, so it winds up
empty.

try:
rp_obj.Trait.get_by_name(self.ctx, 'CUSTOM_GOLD')
except exception.TraitNotFound:
pass
rp_obj.Trait.get_by_name(self.ctx, os_traits.HW_CPU_X86_AVX2)  # <== 
raises TraitNotFound

I *think* what's happening is this:

1@staticmethod
2@db_api.api_context_manager.writer  # trait sync can cause a write
3def _get_by_name_from_db(context, name):
4_ensure_trait_sync(context)
5result = context.session.query(models.Trait).filter_by(
6name=name).first()
7if not result:
8raise exception.TraitNotFound(names=name)
9return result

Line 4 "succeeds" and sets _TRAITS_SYNCED = True.
But because line 8 raises, the transaction is rolled back.  Database stays 
empty.
Subsequent retrieval attempts see _TRAITS_SYNCED == True so don't try to resync.

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  Traits not synced if first retrieval fails

Status in OpenStack Compute (nova):
  New

Bug description:
  If the first trait you try to retrieve from placement doesn't exist,
  traits are not synced from os_traits into the database, so it winds up
  empty.

  try:
  rp_obj.Trait.get_by_name(self.ctx, 'CUSTOM_GOLD')
  except exception.TraitNotFound:
  pass
  rp_obj.Trait.get_by_name(self.ctx, os_traits.HW_CPU_X86_AVX2)  # <== 
raises TraitNotFound

  I *think* what's happening is this:

  1@staticmethod
  2@db_api.api_context_manager.writer  # trait sync can cause a write
  3def _get_by_name_from_db(context, name):
  4_ensure_trait_sync(context)
  5result = context.session.query(models.Trait).filter_by(
  6name=name).first()
  7if not result:
  8raise exception.TraitNotFound(names=name)
  9return result

  Line 4 "succeeds" and sets _TRAITS_SYNCED = True.
  But because line 8 raises, the transaction is rolled back.  Database stays 
empty.
  Subsequent retrieval attempts see _TRAITS_SYNCED == True so don't try to 
resync.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1760322/+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 1750084] [NEW] Report client associations include non-sharing providers

2018-02-16 Thread Eric Fried
Public bug reported:

It was discussed and decided [1] that we only want to be pulling down,
caching, and passing to update_provider_tree providers associated via
aggregate with the compute node's provider tree if they are sharing
providers.  Otherwise we'll get e.g. all the *other* compute nodes which
are also associated with a sharing provider.

[1] https://review.openstack.org/#/c/540111/4/specs/rocky/approved
/update-provider-tree.rst@48

** Affects: nova
 Importance: Undecided
 Assignee: Eric Fried (efried)
 Status: In Progress


** Tags: placement queens-rc-potential

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

Title:
  Report client associations include non-sharing providers

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  It was discussed and decided [1] that we only want to be pulling down,
  caching, and passing to update_provider_tree providers associated via
  aggregate with the compute node's provider tree if they are sharing
  providers.  Otherwise we'll get e.g. all the *other* compute nodes
  which are also associated with a sharing provider.

  [1] https://review.openstack.org/#/c/540111/4/specs/rocky/approved
  /update-provider-tree.rst@48

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1750084/+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 1747095] [NEW] doc: placement API ref for resource classes points to os-traits

2018-02-02 Thread Eric Fried
Public bug reported:

The placement API reference documentation for POST /resource_classes [1]
says:

The new class must be a custom resource class, prefixed with CUSTOM_ and
distinct from the _standard_ resource classes.

...where _standard_ is a link to os-traits documentation [2].  Since we
don't have os-resource-classes (yet), the linkitude should just be
removed.

[1] https://developer.openstack.org/api-ref/placement/#create-resource-class
[2] https://docs.openstack.org/os-traits/latest/

** Affects: nova
 Importance: Undecided
 Assignee: Eric Fried (efried)
 Status: In Progress


** Tags: placement

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

Title:
  doc: placement API ref for resource classes points to os-traits

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  The placement API reference documentation for POST /resource_classes
  [1] says:

  The new class must be a custom resource class, prefixed with CUSTOM_
  and distinct from the _standard_ resource classes.

  ...where _standard_ is a link to os-traits documentation [2].  Since
  we don't have os-resource-classes (yet), the linkitude should just be
  removed.

  [1] https://developer.openstack.org/api-ref/placement/#create-resource-class
  [2] https://docs.openstack.org/os-traits/latest/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1747095/+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 1746615] [NEW] Report client can try to ensure a standard resource class

2018-01-31 Thread Eric Fried
Public bug reported:

SchedulerReportClient.set_inventory_for_provider uses this logic [1] to
pre-create custom resource classes found in the input inventory.

list(map(self._ensure_resource_class,
 (rc_name for rc_name in inv_data
  if rc_name not in fields.ResourceClass.STANDARD)))

The problem is that this relies on the local system's notion of the set
of standard resource classes.  If the placement service is running newer
code, standard resource classes may have been added that the compute
service doesn't know about yet.  If a consumer attempts to use such a
resource class, the above block will attempt to _ensure_resource_class
on it, which attempts to create it in placement, which results in a 400
(because the schema requires it to begin with CUSTOM_), which results in
InvalidResourceClass exception, and the consumer can't use that resource
class.

We should never be relying on placement code directly on the compute
node.  (This includes introspecting os-traits.)  We should always be
asking the placement service.

[1]
https://github.com/openstack/nova/blob/894dd5b87674d396c7221f9d1bca3a9a983dfeb8/nova/scheduler/client/report.py#L983-L985

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  Report client can try to ensure a standard resource class

Status in OpenStack Compute (nova):
  New

Bug description:
  SchedulerReportClient.set_inventory_for_provider uses this logic [1]
  to pre-create custom resource classes found in the input inventory.

  list(map(self._ensure_resource_class,
   (rc_name for rc_name in inv_data
if rc_name not in fields.ResourceClass.STANDARD)))

  The problem is that this relies on the local system's notion of the
  set of standard resource classes.  If the placement service is running
  newer code, standard resource classes may have been added that the
  compute service doesn't know about yet.  If a consumer attempts to use
  such a resource class, the above block will attempt to
  _ensure_resource_class on it, which attempts to create it in
  placement, which results in a 400 (because the schema requires it to
  begin with CUSTOM_), which results in InvalidResourceClass exception,
  and the consumer can't use that resource class.

  We should never be relying on placement code directly on the compute
  node.  (This includes introspecting os-traits.)  We should always be
  asking the placement service.

  [1]
  
https://github.com/openstack/nova/blob/894dd5b87674d396c7221f9d1bca3a9a983dfeb8/nova/scheduler/client/report.py#L983-L985

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1746615/+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 1746373] [NEW] Placement APIs with missing conflict detection

2018-01-30 Thread Eric Fried
Public bug reported:

Placement has a few APIs which affect resource provider generation, but
which do not accept the current resource provider generation and
therefore cannot ensure consistency.  They are as follows:

DELETE /resource_providers/{u}/inventories
DELETE /resource_providers/{u}/traits

POST /allocations

PUT /allocations/{c}
DELETE /allocations/{c}

As an example of how this is broken:

- X wants to remove all of provider {u}'s inventory in resource class VGPU.  He 
GETs inventory at generation 1, which happens to contain *only* VGPU.
- Y wants to add some SRIOV_NET_VF inventory to {u}.  He GETs inventory at 
generation 1, adds the SRIOV_NET_VF inventory, and PUTs it back.  The server 
increments the generation to 2, and the provider now has both VGPU and 
SRIOV_NET_VF inventory.
- X, thinking the provider only has VGPU resource, invokes DELETE 
/resource_providers/{u}/inventories, which succeeds, thereby blowing away the 
SRIOV_NET_VF inventory.

Note that in the case of DELETE /resource_providers/{u}/inventories and
.../traits, there is an alternative, PUT , which *does* accept
the provider generation.

For the allocations APIs, there is no alternative.  Though it could be
argued that it should not be necessary to send generation with the
allocations APIs.

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  Placement APIs with missing conflict detection

Status in OpenStack Compute (nova):
  New

Bug description:
  Placement has a few APIs which affect resource provider generation,
  but which do not accept the current resource provider generation and
  therefore cannot ensure consistency.  They are as follows:

  DELETE /resource_providers/{u}/inventories
  DELETE /resource_providers/{u}/traits

  POST /allocations

  PUT /allocations/{c}
  DELETE /allocations/{c}

  As an example of how this is broken:

  - X wants to remove all of provider {u}'s inventory in resource class VGPU.  
He GETs inventory at generation 1, which happens to contain *only* VGPU.
  - Y wants to add some SRIOV_NET_VF inventory to {u}.  He GETs inventory at 
generation 1, adds the SRIOV_NET_VF inventory, and PUTs it back.  The server 
increments the generation to 2, and the provider now has both VGPU and 
SRIOV_NET_VF inventory.
  - X, thinking the provider only has VGPU resource, invokes DELETE 
/resource_providers/{u}/inventories, which succeeds, thereby blowing away the 
SRIOV_NET_VF inventory.

  Note that in the case of DELETE /resource_providers/{u}/inventories
  and .../traits, there is an alternative, PUT , which *does*
  accept the provider generation.

  For the allocations APIs, there is no alternative.  Though it could be
  argued that it should not be necessary to send generation with the
  allocations APIs.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1746373/+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 1746374] [NEW] Report client _delete_inventory violates generation consistency

2018-01-30 Thread Eric Fried
Public bug reported:

SchedulerReportClient._delete_inventory uses the DELETE
/resource_providers/{u}/inventories API, which does not provide a way to
send the generation down (see related bug [1]), and is therefore subject
to concurrency errors.

Until/unless an alternative becomes available, we should be using PUT
/resource_providers/{u}/inventories with an empty 'inventories' dict,
because that API *does* take the generation in the payload.  (If we do
this, we also make moot part of related bug [2].)

Related bugs:
[1] https://bugs.launchpad.net/nova/+bug/1746075
[2] https://bugs.launchpad.net/nova/+bug/1746373

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  Report client _delete_inventory violates generation consistency

Status in OpenStack Compute (nova):
  New

Bug description:
  SchedulerReportClient._delete_inventory uses the DELETE
  /resource_providers/{u}/inventories API, which does not provide a way
  to send the generation down (see related bug [1]), and is therefore
  subject to concurrency errors.

  Until/unless an alternative becomes available, we should be using PUT
  /resource_providers/{u}/inventories with an empty 'inventories' dict,
  because that API *does* take the generation in the payload.  (If we do
  this, we also make moot part of related bug [2].)

  Related bugs:
  [1] https://bugs.launchpad.net/nova/+bug/1746075
  [2] https://bugs.launchpad.net/nova/+bug/1746373

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1746374/+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 1746075] [NEW] Report client placement cache consistency is broken

2018-01-29 Thread Eric Fried
Public bug reported:

Today the report client makes assumptions about how resource provider
generation is calculated by the placement service.  Specifically, that
it starts at zero [1], and that it increases by 1 when the provider's
inventory is deleted [2].

While these assumptions happen to be true today [3], they are not a
documented part of the placement API.  Which either means we need to
document this behavior; or clients should not be relying on it.

[1] 
https://github.com/openstack/nova/blob/b214dfc41928d9e05199263301f8e5b23555c170/nova/scheduler/client/report.py#L552
[2] 
https://github.com/openstack/nova/blob/b214dfc41928d9e05199263301f8e5b23555c170/nova/scheduler/client/report.py#L927
[3] The latter more broadly stated as "increases by 1 when anything about the 
provider changes" - except we have a known hole for aggregates (see 
https://blueprints.launchpad.net/nova/+spec/placement-aggregate-generation)

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  Report client placement cache consistency is broken

Status in OpenStack Compute (nova):
  New

Bug description:
  Today the report client makes assumptions about how resource provider
  generation is calculated by the placement service.  Specifically, that
  it starts at zero [1], and that it increases by 1 when the provider's
  inventory is deleted [2].

  While these assumptions happen to be true today [3], they are not a
  documented part of the placement API.  Which either means we need to
  document this behavior; or clients should not be relying on it.

  [1] 
https://github.com/openstack/nova/blob/b214dfc41928d9e05199263301f8e5b23555c170/nova/scheduler/client/report.py#L552
  [2] 
https://github.com/openstack/nova/blob/b214dfc41928d9e05199263301f8e5b23555c170/nova/scheduler/client/report.py#L927
  [3] The latter more broadly stated as "increases by 1 when anything about the 
provider changes" - except we have a known hole for aggregates (see 
https://blueprints.launchpad.net/nova/+spec/placement-aggregate-generation)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1746075/+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 1744786] [NEW] SchedulerReportClient.put with empty (not None) payload errors 415

2018-01-22 Thread Eric Fried
Public bug reported:

https://github.com/openstack/nova/blob/f0d830d56d20c7f34372cd3c68d13a94bdf645a6/nova/scheduler/client/report.py#L295-L302

 295   def put(self, url, data, version=None):
 296   # NOTE(sdague): using json= instead of data= sets the
 297   # media type to application/json for us. Placement API is
 298   # more sensitive to this than other APIs in the OpenStack
 299   # ecosystem.
 300   kwargs = {'microversion': version}
 301   if data:
 302   kwargs['json'] = data

On line 301, if data is a False value other than None, we won't set the
json kwarg, so Session won't set the content type to application/json,
and we'll run afoul of:


 
  415 Unsupported Media Type
 
 
  415 Unsupported Media Type
  The request media type None is not supported by this server.

The media type None is not supported, use application/json
 


A normal "workaround" - which is being used for e.g. inventories - is
for the caller to check for "empty" and hit the DELETE API instead.

But we don't have a DELETE API for resource provider aggregates
(/resource_providers/{u}/aggregates).

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  SchedulerReportClient.put with empty (not None) payload errors 415

Status in OpenStack Compute (nova):
  New

Bug description:
  
https://github.com/openstack/nova/blob/f0d830d56d20c7f34372cd3c68d13a94bdf645a6/nova/scheduler/client/report.py#L295-L302

   295   def put(self, url, data, version=None):
   296   # NOTE(sdague): using json= instead of data= sets the
   297   # media type to application/json for us. Placement API is
   298   # more sensitive to this than other APIs in the OpenStack
   299   # ecosystem.
   300   kwargs = {'microversion': version}
   301   if data:
   302   kwargs['json'] = data

  On line 301, if data is a False value other than None, we won't set
  the json kwarg, so Session won't set the content type to
  application/json, and we'll run afoul of:

  
   
415 Unsupported Media Type
   
   
415 Unsupported Media Type
The request media type None is not supported by this server.
  
  The media type None is not supported, use application/json
   
  

  A normal "workaround" - which is being used for e.g. inventories - is
  for the caller to check for "empty" and hit the DELETE API instead.

  But we don't have a DELETE API for resource provider aggregates
  (/resource_providers/{u}/aggregates).

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1744786/+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 1742311] [NEW] AttributeError in report client error path

2018-01-09 Thread Eric Fried
Public bug reported:

This [1] is clearly wrong.

elif not result:
placement_req_id = get_placement_request_id(result)
LOG.warning('[%(placement_req_id)s] Failed to update inventory '
'for resource provider %(uuid)s: %(status)i %(text)s',
{'placement_req_id': placement_req_id,
 'uuid': rp_uuid,
 'status': result.status_code,
 'text': result.text})

It triggers if `result` evaluates to False, then tries to access
result.status_code and result.text.

[1]
https://github.com/openstack/nova/blob/90a92d33edaea2b7411a5fd528f3159a486e1fd0/nova/scheduler/client/report.py#L756-L763

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  AttributeError in report client error path

Status in OpenStack Compute (nova):
  New

Bug description:
  This [1] is clearly wrong.

  elif not result:
  placement_req_id = get_placement_request_id(result)
  LOG.warning('[%(placement_req_id)s] Failed to update inventory '
  'for resource provider %(uuid)s: %(status)i %(text)s',
  {'placement_req_id': placement_req_id,
   'uuid': rp_uuid,
   'status': result.status_code,
   'text': result.text})

  It triggers if `result` evaluates to False, then tries to access
  result.status_code and result.text.

  [1]
  
https://github.com/openstack/nova/blob/90a92d33edaea2b7411a5fd528f3159a486e1fd0/nova/scheduler/client/report.py#L756-L763

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1742311/+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 1735430] [NEW] Report client doesn't handle RP create conflict (409) properly

2017-11-30 Thread Eric Fried
Public bug reported:

POST /resource_providers can fail with conflict (HTTP status 409) for
(at least) two reasons: A provider with the specified UUID exists; *or*
a provider with the specified *name* already exists.

In SchedulerReportClient, _ensure_resource_provider uses helper method
_create_resource_provider, whose logic goes like this:

 POST /resource_provider { 'uuid': , 'name':  }
 if 201:
 cool, return the result
 if 409:
 LOG("Another thread created a provider with this *UUID*")
 GET /resource_provider/
 if 200:
 cool, return the result
 if 404 or any other error:
 return None
 if any other error:
 return None

PROBLEM: If a provider exists with the desired *name* (but a different
UUID), this code will always return None (via that 404 path).

PROBLEM: Nobody up the stack is checking the return for None.

What this effectively means is that _ensure_resource_provider...
doesn't.

IMO we should raise an exception in these error paths, forcing consuming
code to handle them explicitly.  But at the very least, any code
consumuing _ensure_resource_provider needs to validate that it succeeds.

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  Report client doesn't handle RP create conflict (409) properly

Status in OpenStack Compute (nova):
  New

Bug description:
  POST /resource_providers can fail with conflict (HTTP status 409) for
  (at least) two reasons: A provider with the specified UUID exists;
  *or* a provider with the specified *name* already exists.

  In SchedulerReportClient, _ensure_resource_provider uses helper method
  _create_resource_provider, whose logic goes like this:

   POST /resource_provider { 'uuid': , 'name':  }
   if 201:
   cool, return the result
   if 409:
   LOG("Another thread created a provider with this *UUID*")
   GET /resource_provider/
   if 200:
   cool, return the result
   if 404 or any other error:
   return None
   if any other error:
   return None

  PROBLEM: If a provider exists with the desired *name* (but a different
  UUID), this code will always return None (via that 404 path).

  PROBLEM: Nobody up the stack is checking the return for None.

  What this effectively means is that _ensure_resource_provider...
  doesn't.

  IMO we should raise an exception in these error paths, forcing
  consuming code to handle them explicitly.  But at the very least, any
  code consumuing _ensure_resource_provider needs to validate that it
  succeeds.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1735430/+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 1702420] Re: The AllocationCandidates.get_by_filters returned wrong combination of AllocationRequests

2017-11-28 Thread Eric Fried
This got fixed somewhere along the way in The Big Refactor series
(starting https://review.openstack.org/#/c/516778/)

** Changed in: nova
   Status: In Progress => Fix Released

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

Title:
  The AllocationCandidates.get_by_filters returned wrong combination of
  AllocationRequests

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  The case is:

  compute node1 associated with shared storage pool1
  compute node2 associated with shared storage pool2

  The expected AllocationRequests returned as the combinations:

  cn1 and ss1
  cn2 and ss2

  But the current implementation returned:

  cn1, ss1 and ss2
  cn2, ss1 and ss2

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1702420/+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 1733630] [NEW] placement: Version discovery URI should not require authentication

2017-11-21 Thread Eric Fried
Public bug reported:

The placement API GET / returns the version document:

 
 {
   "versions": [
 {
   "min_version": "1.0", 
   "max_version": "1.10", 
   "id": "v1.0"
 }
   ]
 }

However, it requires authentication:

# curl http://9.1.2.3/placement/
{"error": {"message": "The request you have made requires authentication.", 
"code": 401, "title": "Unauthorized"}}

It shouldn't.  Right now I can't find the doc that says so, but Monty
confirms:

http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-
nova.2017-11-21.log.html#t2017-11-21T15:35:08

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

** Tags removed: pla
** Tags added: placement

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

Title:
  placement: Version discovery URI should not require authentication

Status in OpenStack Compute (nova):
  New

Bug description:
  The placement API GET / returns the version document:

   
   {
 "versions": [
   {
 "min_version": "1.0", 
 "max_version": "1.10", 
 "id": "v1.0"
   }
 ]
   }

  However, it requires authentication:

  # curl http://9.1.2.3/placement/
  {"error": {"message": "The request you have made requires authentication.", 
"code": 401, "title": "Unauthorized"}}

  It shouldn't.  Right now I can't find the doc that says so, but Monty
  confirms:

  http://eavesdrop.openstack.org/irclogs/%23openstack-nova/%23openstack-
  nova.2017-11-21.log.html#t2017-11-21T15:35:08

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1733630/+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 1733030] [NEW] GET /resource_providers?member_of misdocumented for lists

2017-11-17 Thread Eric Fried
Public bug reported:

The documentation for the member_of query parameter for GET
/resource_providers [1] claims that it accepts a "comma-separated list
of strings representing aggregate uuids".  But attempting this with more
than one aggregate UUID results in a 400 error claiming:

Invalid uuid value: 1ceb128e-a714-4e4a-8eec-0d0a45c7039a,4a10858c-253e-
4df5-8ada-c5dbe5744462,7cb20f93-8789-434f-bbe4-76ea1d485c32

Turns out the code [2] is expecting a single UUID unless the prefix
'in:' is specified.

I see three possible solutions:

a) Remove the prefix check or make it accepted but ignored.  Don't tell
anyone.  After all, nobody could have been using it unless they had read
the source code.

b) Document the in: prefix.

c) Publish a new placement microversion X with the prefix check removed.
Document the in: prefix as being required up to microversion X-1 and
forbidden (or perhaps ignored?) at microversion X and beyond.

Personally, I think the prefix is superfluous and would rather see it
removed.  And the code change is trivial - one_uuid.split(',') will
happily return [one_uuid] if there's no commas in there.  Surely we
don't need a new microversion if we make it accepted but ignored??

[1] https://developer.openstack.org/api-ref/placement/#resource-providers
[2] 
https://github.com/openstack/nova/blob/57728836f25e9201ddec1e7790b552cfa840d572/nova/api/openstack/placement/handlers/resource_provider.py#L229-L233

** Affects: nova
 Importance: Undecided
 Assignee: Eric Fried (efried)
 Status: In Progress


** Tags: placement

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

Title:
  GET /resource_providers?member_of misdocumented for lists

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  The documentation for the member_of query parameter for GET
  /resource_providers [1] claims that it accepts a "comma-separated list
  of strings representing aggregate uuids".  But attempting this with
  more than one aggregate UUID results in a 400 error claiming:

  Invalid uuid value: 1ceb128e-a714-4e4a-8eec-0d0a45c7039a,4a10858c-
  253e-4df5-8ada-c5dbe5744462,7cb20f93-8789-434f-bbe4-76ea1d485c32

  Turns out the code [2] is expecting a single UUID unless the prefix
  'in:' is specified.

  I see three possible solutions:

  a) Remove the prefix check or make it accepted but ignored.  Don't
  tell anyone.  After all, nobody could have been using it unless they
  had read the source code.

  b) Document the in: prefix.

  c) Publish a new placement microversion X with the prefix check
  removed.  Document the in: prefix as being required up to microversion
  X-1 and forbidden (or perhaps ignored?) at microversion X and beyond.

  Personally, I think the prefix is superfluous and would rather see it
  removed.  And the code change is trivial - one_uuid.split(',') will
  happily return [one_uuid] if there's no commas in there.  Surely we
  don't need a new microversion if we make it accepted but ignored??

  [1] https://developer.openstack.org/api-ref/placement/#resource-providers
  [2] 
https://github.com/openstack/nova/blob/57728836f25e9201ddec1e7790b552cfa840d572/nova/api/openstack/placement/handlers/resource_provider.py#L229-L233

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1733030/+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 1724613] Re: AllocationCandidates.get_by_filters ignores shared RPs when the RC exists in both places

2017-11-09 Thread Eric Fried
Per hangout, we decided this bug is valid - that we would like to get
extra candidates involving shared RPs when those satisfy the request.

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

Title:
  AllocationCandidates.get_by_filters ignores shared RPs when the RC
  exists in both places

Status in OpenStack Compute (nova):
  Confirmed

Bug description:
  When both the compute node resource provider and the shared resource
  provider have inventory in the same resource class,
  AllocationCandidates.get_by_filters will not return an
  AllocationRequest including the shared resource provider.

  Example:

   cnrp { VCPU: 24,
  MEMORY_MB: 2048,
  DISK_GB: 16 }
   ssrp { DISK_GB: 32 }

   AllocationCandidates.get_by_filters(
   resources={ VCPU: 1,
   MEMORY_MB: 512,
   DISK_GB: 2 } )

  Expected:

   allocation_requests: [
   { cnrp: { VCPU: 1,
 MEMORY_MB: 512,
 DISK_GB: 2 } },
   { cnrp: { VCPU: 1,
 MEMORY_MB: 512 }
 ssrp: { DISK_GB: 2 } },
   ]

  Actual:

   allocation_requests: [
   { cnrp: { VCPU: 1,
 MEMORY_MB: 512,
 DISK_GB: 2 } }
   ]

  I will post a review shortly that demonstrates this.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1724613/+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 1731072] [NEW] AllocationCandidates.get_by_filters returns garbage with multiple aggregates

2017-11-08 Thread Eric Fried
Public bug reported:

I set up a test scenario with multiple providers (sharing and non),
across multiple aggregates.  Requesting allocation candidates gives some
candidates as expected, but some are garbled.  Bad behaviors include:

(1) When inventory in a given RC is provided both by a non-sharing and a 
sharing RP in an aggregate, the sharing RP is ignored in the results (this is 
tracked via https://bugs.launchpad.net/nova/+bug/1724613)
(2) When inventory in a given RC is provided solely by a sharing RP, I don't 
get the expected candidate where that sharing RP provides that inventory and 
the rest comes from the non-sharing RP.
(3) The above applies when there are multiple sharing RPs in the same aggregate 
providing that same shared resource.
(4) ...and also when the sharing RPs provide different resources.

And we get a couple of unexpected candidates that are really garbled:

(5) Where there are multiple sharing RPs with different resources, one 
candidate has the expected resources from the non-sharing RP and one of the 
sharing RPs, but is missing the third requested resource entirely.
(6) With that same setup, we get another candidate that has the expected 
resource from the non-sharing RP; but duplicated resources spread across 
multiple sharing RPs from *different* *aggregates*.  This one is also missing 
one of the requested resources entirely.

I will post a commit shortly that demonstrates this behavior.

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  AllocationCandidates.get_by_filters returns garbage with multiple
  aggregates

Status in OpenStack Compute (nova):
  New

Bug description:
  I set up a test scenario with multiple providers (sharing and non),
  across multiple aggregates.  Requesting allocation candidates gives
  some candidates as expected, but some are garbled.  Bad behaviors
  include:

  (1) When inventory in a given RC is provided both by a non-sharing and a 
sharing RP in an aggregate, the sharing RP is ignored in the results (this is 
tracked via https://bugs.launchpad.net/nova/+bug/1724613)
  (2) When inventory in a given RC is provided solely by a sharing RP, I don't 
get the expected candidate where that sharing RP provides that inventory and 
the rest comes from the non-sharing RP.
  (3) The above applies when there are multiple sharing RPs in the same 
aggregate providing that same shared resource.
  (4) ...and also when the sharing RPs provide different resources.

  And we get a couple of unexpected candidates that are really garbled:

  (5) Where there are multiple sharing RPs with different resources, one 
candidate has the expected resources from the non-sharing RP and one of the 
sharing RPs, but is missing the third requested resource entirely.
  (6) With that same setup, we get another candidate that has the expected 
resource from the non-sharing RP; but duplicated resources spread across 
multiple sharing RPs from *different* *aggregates*.  This one is also missing 
one of the requested resources entirely.

  I will post a commit shortly that demonstrates this behavior.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1731072/+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 1730730] [NEW] AllocationCandidates.get_by_filters returns garbage with only sharing providers

2017-11-07 Thread Eric Fried
Public bug reported:

If my placement database is set up with only sharing providers (no
"compute nodes"), the results are broken.

Steps to reproduce
==
Here's one example:

SS1 has inventory in IPV4_ADDRESS, SRIOV_NET_VF, and DISK_GB.
SS2 has inventory in just DISK_GB.

Both are associated with the same aggregate; both have the
MISC_SHARES_VIA_AGGREGATE trait.

I make a request for resources in all three classes (in amounts that can
be satisfied by those inventories).

Expected result
===
It is unclear what the expected result is.  There is a school of thought that 
we are only dealing with compute hosts right now, so we should never get back a 
candidate that doesn't include a compute host.  In that case, this scenario 
should yield *zero* candidates.

On the other hand, in the long-term vision of placement, there should be
no reason not to support scenarios where allocations are made *only*
against sharing providers (as long as they're in the same aggregate for
a given candidate).  In that case, this scenario should yield two
candidates:

One that gets all its resources from SS1;
One that gets DISK_GB from SS2, and IPV4_ADDRESS and SRIOV_NET_VF from SS1.

Actual result
=
The actual result is three candidates:

One that gets all its resources from SS1 (cool);
One that gets DISK_GB from SS2 and IPV4_ADDRESS from SS1 (not cool - 
SRIOV_NET_VF isn't in here!)
One that gets DISK_GB from SS2 and SRIOV_NET_VF from SS1 (not cool - 
IPV4_ADDRESS isn't in here!)

I will post a functional test to demonstrate this.

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  AllocationCandidates.get_by_filters returns garbage with only sharing
  providers

Status in OpenStack Compute (nova):
  New

Bug description:
  If my placement database is set up with only sharing providers (no
  "compute nodes"), the results are broken.

  Steps to reproduce
  ==
  Here's one example:

  SS1 has inventory in IPV4_ADDRESS, SRIOV_NET_VF, and DISK_GB.
  SS2 has inventory in just DISK_GB.

  Both are associated with the same aggregate; both have the
  MISC_SHARES_VIA_AGGREGATE trait.

  I make a request for resources in all three classes (in amounts that
  can be satisfied by those inventories).

  Expected result
  ===
  It is unclear what the expected result is.  There is a school of thought that 
we are only dealing with compute hosts right now, so we should never get back a 
candidate that doesn't include a compute host.  In that case, this scenario 
should yield *zero* candidates.

  On the other hand, in the long-term vision of placement, there should
  be no reason not to support scenarios where allocations are made
  *only* against sharing providers (as long as they're in the same
  aggregate for a given candidate).  In that case, this scenario should
  yield two candidates:

  One that gets all its resources from SS1;
  One that gets DISK_GB from SS2, and IPV4_ADDRESS and SRIOV_NET_VF from SS1.

  Actual result
  =
  The actual result is three candidates:

  One that gets all its resources from SS1 (cool);
  One that gets DISK_GB from SS2 and IPV4_ADDRESS from SS1 (not cool - 
SRIOV_NET_VF isn't in here!)
  One that gets DISK_GB from SS2 and SRIOV_NET_VF from SS1 (not cool - 
IPV4_ADDRESS isn't in here!)

  I will post a functional test to demonstrate this.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1730730/+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 1724689] [NEW] Usability: Service user token requested with no auth raises cryptic exception

2017-10-18 Thread Eric Fried
Public bug reported:

If [service_user]send_service_user_token is requested, but no auth
information is provided in the [service_user] section, the resulting
error is cryptic [1] and doesn't help the user understand what went
wrong.

Note that today this only happens if the conf section is missing the
auth_type option.  But this is a pretty good first indicator that the
admin forgot to populate auth options in general.

[1] http://paste.openstack.org/show/623721/

** Affects: nova
 Importance: Undecided
 Assignee: Eric Fried (efried)
 Status: In Progress

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

Title:
  Usability: Service user token requested with no auth raises cryptic
  exception

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  If [service_user]send_service_user_token is requested, but no auth
  information is provided in the [service_user] section, the resulting
  error is cryptic [1] and doesn't help the user understand what went
  wrong.

  Note that today this only happens if the conf section is missing the
  auth_type option.  But this is a pretty good first indicator that the
  admin forgot to populate auth options in general.

  [1] http://paste.openstack.org/show/623721/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1724689/+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 1724633] [NEW] AllocationCandidates.get_by_filters hits incorrectly when traits are split across the main RP and aggregates

2017-10-18 Thread Eric Fried
Public bug reported:

When requesting multiple resources with multiple traits, placement
doesn't know that a particular trait needs to be associated with a
particular resource.  As currently conceived, it will return allocation
candidates from the main RP plus shared RPs such that all traits are
satisfied  This is bad, particularly when the main RP and shared RPs
provide inventory from the same resource class.

For example, consider a compute node that has local SSD storage, which
is associated with a shared storage RP with a RAID5 array:

 cnrp { VCPU: 24,
MEMORY_MB: 2048,
DISK_GB: 16,
traits: [HW_CPU_X86_SSE,
 STORAGE_DISK_SSD] }
 ssrp { DISK_GB: 32,
traits: [STORAGE_DISK_RAID5] }

A request for SSD + RAID5 disk should *not* return any results from the
above setup, because there's not actually any disk with both of those
characteristics.

 AllocationCandidates.get_by_filters(
 resources={ VCPU: 1,
 MEMORY_MB: 512,
 DISK_GB: 2 },
 traits= [HW_CPU_X86_SSE,
  STORAGE_DISK_SSD,
  STORAGE_DISK_RAID5])

Expected:

 allocation_requests: []

Actual:

 allocation_requests: [
 { cnrp: { VCPU: 1,
   MEMORY_MB: 512 }
   ssrp: { DISK_GB: 2 } },
 ]

I will post a review shortly with a test case that demonstrates this.
Note, however, that the test will spuriously pass until
https://bugs.launchpad.net/nova/+bug/1724613 is fixed.

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  AllocationCandidates.get_by_filters hits incorrectly when traits are
  split across the main RP and aggregates

Status in OpenStack Compute (nova):
  New

Bug description:
  When requesting multiple resources with multiple traits, placement
  doesn't know that a particular trait needs to be associated with a
  particular resource.  As currently conceived, it will return
  allocation candidates from the main RP plus shared RPs such that all
  traits are satisfied  This is bad, particularly when the main RP and
  shared RPs provide inventory from the same resource class.

  For example, consider a compute node that has local SSD storage, which
  is associated with a shared storage RP with a RAID5 array:

   cnrp { VCPU: 24,
  MEMORY_MB: 2048,
  DISK_GB: 16,
  traits: [HW_CPU_X86_SSE,
   STORAGE_DISK_SSD] }
   ssrp { DISK_GB: 32,
  traits: [STORAGE_DISK_RAID5] }

  A request for SSD + RAID5 disk should *not* return any results from
  the above setup, because there's not actually any disk with both of
  those characteristics.

   AllocationCandidates.get_by_filters(
   resources={ VCPU: 1,
   MEMORY_MB: 512,
   DISK_GB: 2 },
   traits= [HW_CPU_X86_SSE,
STORAGE_DISK_SSD,
STORAGE_DISK_RAID5])

  Expected:

   allocation_requests: []

  Actual:

   allocation_requests: [
   { cnrp: { VCPU: 1,
 MEMORY_MB: 512 }
 ssrp: { DISK_GB: 2 } },
   ]

  I will post a review shortly with a test case that demonstrates this.
  Note, however, that the test will spuriously pass until
  https://bugs.launchpad.net/nova/+bug/1724613 is fixed.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1724633/+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 1724613] [NEW] AllocationCandidates.get_by_filters ignores shared RPs when the RC exists in both places

2017-10-18 Thread Eric Fried
Public bug reported:

When both the compute node resource provider and the shared resource
provider have inventory in the same resource class,
AllocationCandidates.get_by_filters will not return an AllocationRequest
including the shared resource provider.

Example:

 cnrp { VCPU: 24,
MEMORY_MB: 2048,
DISK_GB: 16 }
 ssrp { DISK_GB: 32 }

 AllocationCandidates.get_by_filters(
 resources={ VCPU: 1,
 MEMORY_MB: 512,
 DISK_GB: 2 } )

Expected:

 allocation_requests: [
 { cnrp: { VCPU: 1,
   MEMORY_MB: 512,
   DISK_GB: 2 } },
 { cnrp: { VCPU: 1,
   MEMORY_MB: 512 }
   ssrp: { DISK_GB: 2 } },
 ]

Actual:

 allocation_requests: [
 { cnrp: { VCPU: 1,
   MEMORY_MB: 512,
   DISK_GB: 2 } }
 ]

I will post a review shortly that demonstrates this.

** Affects: nova
 Importance: Undecided
 Status: New


** Tags: placement

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

Title:
  AllocationCandidates.get_by_filters ignores shared RPs when the RC
  exists in both places

Status in OpenStack Compute (nova):
  New

Bug description:
  When both the compute node resource provider and the shared resource
  provider have inventory in the same resource class,
  AllocationCandidates.get_by_filters will not return an
  AllocationRequest including the shared resource provider.

  Example:

   cnrp { VCPU: 24,
  MEMORY_MB: 2048,
  DISK_GB: 16 }
   ssrp { DISK_GB: 32 }

   AllocationCandidates.get_by_filters(
   resources={ VCPU: 1,
   MEMORY_MB: 512,
   DISK_GB: 2 } )

  Expected:

   allocation_requests: [
   { cnrp: { VCPU: 1,
 MEMORY_MB: 512,
 DISK_GB: 2 } },
   { cnrp: { VCPU: 1,
 MEMORY_MB: 512 }
 ssrp: { DISK_GB: 2 } },
   ]

  Actual:

   allocation_requests: [
   { cnrp: { VCPU: 1,
 MEMORY_MB: 512,
 DISK_GB: 2 } }
   ]

  I will post a review shortly that demonstrates this.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1724613/+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 1718545] Re: [vnc]vncserver_proxyclient_address and [vnc]vncserver_listen removed without deprecation

2017-09-22 Thread Eric Fried
** Changed in: nova-powervm
   Importance: Undecided => High

** Changed in: nova-powervm
   Status: New => Fix Released

** Changed in: nova-powervm
 Assignee: (unassigned) => Eric Fried (efried)

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

Title:
  [vnc]vncserver_proxyclient_address and [vnc]vncserver_listen removed
  without deprecation

Status in OpenStack Compute (nova):
  Fix Released
Status in nova-powervm:
  Fix Released

Bug description:
  [0] removed options [vnc]vncserver_proxyclient_address and
  [vnc]vncserver_listen without a deprecation period.  Lemme splain:

  Take for example vncserver_proxyclient_address.  It was originally
  [DEFAULT]vncserver_proxyclient_address.  That was moved to
  [vnc]vncserver_proxyclient_address via [1].  We've had a nice long
  deprecation period (~18mo) during which either of those would work.
  So it would be reasonable at this time to remove support for
  [DEFAULT]vncserver_proxyclient_address.  But by renaming the option
  without changing its deprecated_group to `vnc`, we've instead *left*
  support for [DEFAULT]vncserver_proxyclient_address while *removing*
  support for the newer [vnc]vncserver_proxyclient_address without a
  deprecation period.

  I noticed this when running tox against nova-powervm with the latest
  nova.  nova-powervm paid attention to the deprecation and switched
  over to [vnc]vncserver_proxyclient_address.  Now it fails a test with:

  Captured traceback:
  ~~~
  Traceback (most recent call last):
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py",
 line 1305, in patched
  return func(*args, **keywargs)
File "nova_powervm/tests/virt/powervm/test_driver.py", line 1666, in 
test_get_vnc_console
  resp = self.drv.get_vnc_console(mock.ANY, self.inst)
File "nova_powervm/virt/powervm/driver.py", line 1727, in 
get_vnc_console
  host = CONF.vnc.vncserver_proxyclient_address
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 3363, in __getattr__
  return self._conf._get(name, self._group)
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 2925, in _get
  value = self._do_get(name, group, namespace)
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 2942, in _do_get
  info = self._get_opt_info(name, group)
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 3099, in _get_opt_info
  raise NoSuchOptError(opt_name, group)
  oslo_config.cfg.NoSuchOptError: no such option 
vncserver_proxyclient_address in group [vnc]

  But anyone should be able to repro by spinning up compute with
  [vnc]vncserver_proxyclient_address and trying to open a console.

  [0] https://review.openstack.org/#/c/498387/
  [1] https://review.openstack.org/#/c/263763/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1718545/+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 1718545] Re: [vnc]vncserver_proxyclient_address and [vnc]vncserver_listen removed without deprecation

2017-09-20 Thread Eric Fried
** Also affects: nova-powervm
   Importance: Undecided
   Status: New

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

Title:
  [vnc]vncserver_proxyclient_address and [vnc]vncserver_listen removed
  without deprecation

Status in OpenStack Compute (nova):
  In Progress
Status in nova-powervm:
  New

Bug description:
  [0] removed options [vnc]vncserver_proxyclient_address and
  [vnc]vncserver_listen without a deprecation period.  Lemme splain:

  Take for example vncserver_proxyclient_address.  It was originally
  [DEFAULT]vncserver_proxyclient_address.  That was moved to
  [vnc]vncserver_proxyclient_address via [1].  We've had a nice long
  deprecation period (~18mo) during which either of those would work.
  So it would be reasonable at this time to remove support for
  [DEFAULT]vncserver_proxyclient_address.  But by renaming the option
  without changing its deprecated_group to `vnc`, we've instead *left*
  support for [DEFAULT]vncserver_proxyclient_address while *removing*
  support for the newer [vnc]vncserver_proxyclient_address without a
  deprecation period.

  I noticed this when running tox against nova-powervm with the latest
  nova.  nova-powervm paid attention to the deprecation and switched
  over to [vnc]vncserver_proxyclient_address.  Now it fails a test with:

  Captured traceback:
  ~~~
  Traceback (most recent call last):
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py",
 line 1305, in patched
  return func(*args, **keywargs)
File "nova_powervm/tests/virt/powervm/test_driver.py", line 1666, in 
test_get_vnc_console
  resp = self.drv.get_vnc_console(mock.ANY, self.inst)
File "nova_powervm/virt/powervm/driver.py", line 1727, in 
get_vnc_console
  host = CONF.vnc.vncserver_proxyclient_address
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 3363, in __getattr__
  return self._conf._get(name, self._group)
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 2925, in _get
  value = self._do_get(name, group, namespace)
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 2942, in _do_get
  info = self._get_opt_info(name, group)
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 3099, in _get_opt_info
  raise NoSuchOptError(opt_name, group)
  oslo_config.cfg.NoSuchOptError: no such option 
vncserver_proxyclient_address in group [vnc]

  But anyone should be able to repro by spinning up compute with
  [vnc]vncserver_proxyclient_address and trying to open a console.

  [0] https://review.openstack.org/#/c/498387/
  [1] https://review.openstack.org/#/c/263763/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1718545/+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 1718545] [NEW] [vnc]vncserver_proxyclient_address and [vnc]vncserver_listen removed without deprecation

2017-09-20 Thread Eric Fried
Public bug reported:

[0] removed options [vnc]vncserver_proxyclient_address and
[vnc]vncserver_listen without a deprecation period.  Lemme splain:

Take for example vncserver_proxyclient_address.  It was originally
[DEFAULT]vncserver_proxyclient_address.  That was moved to
[vnc]vncserver_proxyclient_address via [1].  We've had a nice long
deprecation period (~18mo) during which either of those would work.  So
it would be reasonable at this time to remove support for
[DEFAULT]vncserver_proxyclient_address.  But by renaming the option
without changing its deprecated_group to `vnc`, we've instead *left*
support for [DEFAULT]vncserver_proxyclient_address while *removing*
support for the newer [vnc]vncserver_proxyclient_address without a
deprecation period.

I noticed this when running tox against nova-powervm with the latest
nova.  nova-powervm paid attention to the deprecation and switched over
to [vnc]vncserver_proxyclient_address.  Now it fails a test with:

Captured traceback:
~~~
Traceback (most recent call last):
  File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py",
 line 1305, in patched
return func(*args, **keywargs)
  File "nova_powervm/tests/virt/powervm/test_driver.py", line 1666, in 
test_get_vnc_console
resp = self.drv.get_vnc_console(mock.ANY, self.inst)
  File "nova_powervm/virt/powervm/driver.py", line 1727, in get_vnc_console
host = CONF.vnc.vncserver_proxyclient_address
  File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 3363, in __getattr__
return self._conf._get(name, self._group)
  File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 2925, in _get
value = self._do_get(name, group, namespace)
  File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 2942, in _do_get
info = self._get_opt_info(name, group)
  File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 3099, in _get_opt_info
raise NoSuchOptError(opt_name, group)
oslo_config.cfg.NoSuchOptError: no such option 
vncserver_proxyclient_address in group [vnc]

But anyone should be able to repro by spinning up compute with
[vnc]vncserver_proxyclient_address and trying to open a console.

[0] https://review.openstack.org/#/c/498387/
[1] https://review.openstack.org/#/c/263763/

** Affects: nova
 Importance: High
 Status: Triaged


** Tags: config

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

Title:
  [vnc]vncserver_proxyclient_address and [vnc]vncserver_listen removed
  without deprecation

Status in OpenStack Compute (nova):
  Triaged

Bug description:
  [0] removed options [vnc]vncserver_proxyclient_address and
  [vnc]vncserver_listen without a deprecation period.  Lemme splain:

  Take for example vncserver_proxyclient_address.  It was originally
  [DEFAULT]vncserver_proxyclient_address.  That was moved to
  [vnc]vncserver_proxyclient_address via [1].  We've had a nice long
  deprecation period (~18mo) during which either of those would work.
  So it would be reasonable at this time to remove support for
  [DEFAULT]vncserver_proxyclient_address.  But by renaming the option
  without changing its deprecated_group to `vnc`, we've instead *left*
  support for [DEFAULT]vncserver_proxyclient_address while *removing*
  support for the newer [vnc]vncserver_proxyclient_address without a
  deprecation period.

  I noticed this when running tox against nova-powervm with the latest
  nova.  nova-powervm paid attention to the deprecation and switched
  over to [vnc]vncserver_proxyclient_address.  Now it fails a test with:

  Captured traceback:
  ~~~
  Traceback (most recent call last):
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/mock/mock.py",
 line 1305, in patched
  return func(*args, **keywargs)
File "nova_powervm/tests/virt/powervm/test_driver.py", line 1666, in 
test_get_vnc_console
  resp = self.drv.get_vnc_console(mock.ANY, self.inst)
File "nova_powervm/virt/powervm/driver.py", line 1727, in 
get_vnc_console
  host = CONF.vnc.vncserver_proxyclient_address
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 3363, in __getattr__
  return self._conf._get(name, self._group)
File 
"/home/efried/Neo/nova-powervm/.tox/py27/local/lib/python2.7/site-packages/oslo_config/cfg.py",
 line 2925, in _get
  value = self._do_get(name, group, namespace)
File 

[Yahoo-eng-team] [Bug 1714284] Re: Placement user doc: add link to API reference

2017-09-15 Thread Eric Fried
** Changed in: nova
   Status: In Progress => Fix Released

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

Title:
  Placement user doc: add link to API reference

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  The Placement API user doc [1] says:

API Reference
A full API reference is forthcoming, but until then ...

  That reference has since been published [2].

  [1] https://docs.openstack.org/nova/pike/user/placement.html#api-reference
  [2] https://developer.openstack.org/api-ref/placement/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1714284/+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 1714283] Re: Placement API reference: GET /traits query parameter starts_with should be startswith

2017-08-31 Thread Eric Fried
Meh, since I opened it, might as well use it.

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

** Changed in: nova
 Assignee: (unassigned) => Eric Fried (efried)

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

Title:
  Placement API reference: GET /traits query parameter starts_with
  should be startswith

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  In the Placement API reference, the GET /traits [1] query parameter
  'name' says it accepts a key called 'starts_with'.  The actual API
  accepts 'startswith' (no underscore).

  [1] https://developer.openstack.org/api-ref/placement/#list-traits

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1714283/+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 1714283] Re: Placement API reference: GET /traits query parameter starts_with should be startswith

2017-08-31 Thread Eric Fried
Sorry, opened the wrong bug.

** 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/1714283

Title:
  Placement API reference: GET /traits query parameter starts_with
  should be startswith

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  In the Placement API reference, the GET /traits [1] query parameter
  'name' says it accepts a key called 'starts_with'.  The actual API
  accepts 'startswith' (no underscore).

  [1] https://developer.openstack.org/api-ref/placement/#list-traits

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1714283/+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 1714283] [NEW] Placement API reference: GET /traits query parameter starts_with should be startswith

2017-08-31 Thread Eric Fried
Public bug reported:

In the Placement API reference, the GET /traits [1] query parameter
'name' says it accepts a key called 'starts_with'.  The actual API
accepts 'startswith' (no underscore).

[1] https://developer.openstack.org/api-ref/placement/#list-traits

** Affects: nova
 Importance: Undecided
 Assignee: Eric Fried (efried)
 Status: In Progress

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

Title:
  Placement API reference: GET /traits query parameter starts_with
  should be startswith

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  In the Placement API reference, the GET /traits [1] query parameter
  'name' says it accepts a key called 'starts_with'.  The actual API
  accepts 'startswith' (no underscore).

  [1] https://developer.openstack.org/api-ref/placement/#list-traits

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1714283/+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 1714284] [NEW] Placement user doc: add link to API reference

2017-08-31 Thread Eric Fried
Public bug reported:

The Placement API user doc [1] says:

  API Reference
  A full API reference is forthcoming, but until then ...

That reference has since been published [2].

[1] https://docs.openstack.org/nova/pike/user/placement.html#api-reference
[2] https://developer.openstack.org/api-ref/placement/

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  Placement user doc: add link to API reference

Status in OpenStack Compute (nova):
  New

Bug description:
  The Placement API user doc [1] says:

API Reference
A full API reference is forthcoming, but until then ...

  That reference has since been published [2].

  [1] https://docs.openstack.org/nova/pike/user/placement.html#api-reference
  [2] https://developer.openstack.org/api-ref/placement/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1714284/+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 1714275] [NEW] GET /resource_providers: "links" doesn't include "allocations"

2017-08-31 Thread Eric Fried
Public bug reported:

GET /resource_providers returns:
{
  "resource_providers": [
{
  "generation": 39, 
  "uuid": "213fd7f8-1e9f-466b-87bf-0902b0b3bc13", 
  "links": [
{
  "href": 
"/placement/resource_providers/213fd7f8-1e9f-466b-87bf-0902b0b3bc13", 
  "rel": "self"
}, 
{
  "href": 
"/placement/resource_providers/213fd7f8-1e9f-466b-87bf-0902b0b3bc13/inventories",
 
  "rel": "inventories"
}, 
{
  "href": 
"/placement/resource_providers/213fd7f8-1e9f-466b-87bf-0902b0b3bc13/usages", 
  "rel": "usages"
}, 
{
  "href": 
"/placement/resource_providers/213fd7f8-1e9f-466b-87bf-0902b0b3bc13/aggregates",
 
  "rel": "aggregates"
}, 
{
  "href": 
"/placement/resource_providers/213fd7f8-1e9f-466b-87bf-0902b0b3bc13/traits", 
  "rel": "traits"
}
  ], 
  "name": "p8-100-neo"
}
  ]
}

The link for "/resource_providers/213fd7f8-1e9f-466b-87bf-
0902b0b3bc13/allocations" is missing.

For reference: https://review.openstack.org/#/c/366789/ added the
/resource_providers//allocations target; and
https://review.openstack.org/#/c/468923/ did the per-microversion
splitup of which links were reported.  They were dropped in that order,
by the same author (cdent), so maybe there's a reason for this...

Placement microversion 1.10

Devstack on PowerVM

Nova master branch at commit 4579d2e5573ae1bbabb51ee46ef26598d9410b15
(Aug 11)

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  GET /resource_providers: "links" doesn't include "allocations"

Status in OpenStack Compute (nova):
  New

Bug description:
  GET /resource_providers returns:
  {
"resource_providers": [
  {
"generation": 39, 
"uuid": "213fd7f8-1e9f-466b-87bf-0902b0b3bc13", 
"links": [
  {
"href": 
"/placement/resource_providers/213fd7f8-1e9f-466b-87bf-0902b0b3bc13", 
"rel": "self"
  }, 
  {
"href": 
"/placement/resource_providers/213fd7f8-1e9f-466b-87bf-0902b0b3bc13/inventories",
 
"rel": "inventories"
  }, 
  {
"href": 
"/placement/resource_providers/213fd7f8-1e9f-466b-87bf-0902b0b3bc13/usages", 
"rel": "usages"
  }, 
  {
"href": 
"/placement/resource_providers/213fd7f8-1e9f-466b-87bf-0902b0b3bc13/aggregates",
 
"rel": "aggregates"
  }, 
  {
"href": 
"/placement/resource_providers/213fd7f8-1e9f-466b-87bf-0902b0b3bc13/traits", 
"rel": "traits"
  }
], 
"name": "p8-100-neo"
  }
]
  }

  The link for "/resource_providers/213fd7f8-1e9f-466b-87bf-
  0902b0b3bc13/allocations" is missing.

  For reference: https://review.openstack.org/#/c/366789/ added the
  /resource_providers//allocations target; and
  https://review.openstack.org/#/c/468923/ did the per-microversion
  splitup of which links were reported.  They were dropped in that
  order, by the same author (cdent), so maybe there's a reason for
  this...

  Placement microversion 1.10

  Devstack on PowerVM

  Nova master branch at commit 4579d2e5573ae1bbabb51ee46ef26598d9410b15
  (Aug 11)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1714275/+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 1713502] Re: PCI passthrough documentation needs updating since options moved to [pci] section

2017-08-30 Thread Eric Fried
https://review.openstack.org/#/c/498461 (master branch fix) merged on
8/28.  Bot didn't auto-update the status, so I did it.

** Changed in: nova
   Status: In Progress => Fix Released

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

Title:
  PCI passthrough documentation needs updating since options moved to
  [pci] section

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  The ``pci_passthrough_whitelist`` and ``pci_alias`` options in the
  ``[DEFAULT]`` section were deprecated and replaced by
  ``passthrough_whitelist`` and ``alias`` in the ``[pci]`` section,
  respectively, in ocata via [1].  However, the PCI passthrough
  documentation [2] was missed.

  [1] https://review.openstack.org/#/c/356604/
  [2] https://docs.openstack.org/nova/pike/admin/pci-passthrough.html

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1713502/+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 1713502] [NEW] PCI passthrough documentation needs updating since options moved to [pci] section

2017-08-28 Thread Eric Fried
Public bug reported:

The ``pci_passthrough_whitelist`` and ``pci_alias`` options in the
``[DEFAULT]`` section were deprecated and replaced by
``passthrough_whitelist`` and ``alias`` in the ``[pci]`` section,
respectively, in ocata via [1].  However, the PCI passthrough
documentation [2] was missed.

[1] https://review.openstack.org/#/c/356604/
[2] https://docs.openstack.org/nova/pike/admin/pci-passthrough.html

** Affects: nova
 Importance: Undecided
 Assignee: Eric Fried (efried)
 Status: In Progress

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

Title:
  PCI passthrough documentation needs updating since options moved to
  [pci] section

Status in OpenStack Compute (nova):
  In Progress

Bug description:
  The ``pci_passthrough_whitelist`` and ``pci_alias`` options in the
  ``[DEFAULT]`` section were deprecated and replaced by
  ``passthrough_whitelist`` and ``alias`` in the ``[pci]`` section,
  respectively, in ocata via [1].  However, the PCI passthrough
  documentation [2] was missed.

  [1] https://review.openstack.org/#/c/356604/
  [2] https://docs.openstack.org/nova/pike/admin/pci-passthrough.html

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1713502/+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 1709118] [NEW] _ContextAuthPlugin needs a refresh

2017-08-07 Thread Eric Fried
Public bug reported:

nova.context._ContextAuthPlugin is (sometimes) being used as the basis
for keystoneauth1 endpoint discovery.  With the advent of ksa 3.1.0,
there are some new methods consumers are expecting to be able to run on
an auth via a ksa Session or Adapter.  (Note that they were added to
BaseIdentityPlugin without being added as abstract methods to
BaseAuthPlugin -  this is probably a ksa bug.)  An example of such a
method is get_endpoint_data().

Now, it appears from the docstring that the only reason
_ContextAuthPlugin exists is that the auths we get from keystone
middleware are not serializable.  This may have changed since that
docstring was written in 2014.

So: we should either update _ContextAuthPlugin to provide the methods
ksa expects (perhaps in response to a fixup in ksa's BaseAuthPlugin abc
that mandates those methods be implemented); or (better) figure out a
way to get rid of _ContextAuthPlugin entirely and just use what keystone
provides.

A manifestation of this problem can be seen in the work for bp use-
service-catalog-for-endpoints.  This change [1] is in response to ksa
Adapter.get_endpoint_data() raising AttributeError because
Adapter.get_endpoint_data eventually filters down to
Adapter.auth.get_endpoint_data; which breaks when the auth is a
_ContextAuthPlugin.

[1] https://review.openstack.org/#/c/490057/3..4/nova/image/glance.py

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  _ContextAuthPlugin needs a refresh

Status in OpenStack Compute (nova):
  New

Bug description:
  nova.context._ContextAuthPlugin is (sometimes) being used as the basis
  for keystoneauth1 endpoint discovery.  With the advent of ksa 3.1.0,
  there are some new methods consumers are expecting to be able to run
  on an auth via a ksa Session or Adapter.  (Note that they were added
  to BaseIdentityPlugin without being added as abstract methods to
  BaseAuthPlugin -  this is probably a ksa bug.)  An example of such a
  method is get_endpoint_data().

  Now, it appears from the docstring that the only reason
  _ContextAuthPlugin exists is that the auths we get from keystone
  middleware are not serializable.  This may have changed since that
  docstring was written in 2014.

  So: we should either update _ContextAuthPlugin to provide the methods
  ksa expects (perhaps in response to a fixup in ksa's BaseAuthPlugin
  abc that mandates those methods be implemented); or (better) figure
  out a way to get rid of _ContextAuthPlugin entirely and just use what
  keystone provides.

  A manifestation of this problem can be seen in the work for bp use-
  service-catalog-for-endpoints.  This change [1] is in response to ksa
  Adapter.get_endpoint_data() raising AttributeError because
  Adapter.get_endpoint_data eventually filters down to
  Adapter.auth.get_endpoint_data; which breaks when the auth is a
  _ContextAuthPlugin.

  [1] https://review.openstack.org/#/c/490057/3..4/nova/image/glance.py

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

2017-04-14 Thread Eric Fried
Likely same root cause as https://bugs.launchpad.net/nova/+bug/1682195

This is more of a support request than a bug.  Please ask for help on
IRC in #openstack.

** This bug is no longer a duplicate of bug 1678493
   oslo_messaging.exceptions.MessagingTimeout

** 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/1682087

Title:
  

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  I installed openstack Newton in Ubuntu 16.04.

  When I try to launch an instance I get an error Unexpected API Error.
  Please report this at http://bugs.launchpad.net/nova/ and attach the
  Nova API log if possible.  (HTTP 500) (Request-ID:
  req-ff1f37e8-a875-4375-b036-de514a908e07)

  I checked the log files and I found errors 
  the /var/log/nova/nova-api.log  :

  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions result 
= self._waiter.wait(msg_id, timeout)
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions   File 
"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 
336, in wait
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions message 
= self.waiters.get(msg_id, timeout=timeout)
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions   File 
"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 
238, in get
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions 'to 
message ID %s' % msg_id)
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions 
MessagingTimeout: Timed out waiting for a reply to message ID 
8538246dba7348d3b52eb0fbd0a60a03
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions 
  2017-04-12 12:41:34.609 28635 INFO nova.api.openstack.wsgi 
[req-ff1f37e8-a875-4375-b036-de514a908e07 1fdf459e4f694fde85818b178e1e9199 
da7d418c8b414fc3b236800183794125 - default default] HTTP exception thrown: 
Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and 
attach the Nova API log if possible.
  
  2017-04-12 12:41:34.610 28635 INFO nova.osapi_compute.wsgi.server 
[req-ff1f37e8-a875-4375-b036-de514a908e07 1fdf459e4f694fde85818b178e1e9199 
da7d418c8b414fc3b236800183794125 - default default] 127.0.0.1 "POST 
/v2.1/da7d418c8b414fc3b236800183794125/servers HTTP/1.1" status: 500 len: 583 
time: 60.7773261


  the /var/log/neutron/neutron-server.log :

  
  2017-04-12 12:43:10.527 27006 ERROR neutron.plugins.ml2.managers 
[req-2ee46e05-f015-4fe2-beca-7cbe3e01e48e - - - - -] Failed to bind port 
bfa09754-f961-4c81-8b52-256e2028f1e1 on host controller-HP-Z210-Workstation for 
vnic_type normal using segments [{'segmentation_id': 20, 'physical_network': 
None, 'id': u'3aa7bf2f-9223-4e94-801b-aee4b4975951', 'network_type': u'vxlan'}]
  2017-04-12 12:43:10.539 27006 WARNING neutron.plugins.ml2.drivers.mech_agent 
[req-b86fae66-1171-41c9-ba6a-ebdd24c656ed - - - - -] Refusing to bind port 
115144de-8215-4e9c-b6d3-d44c40b9a191 to dead agent: {'binary': 
u'neutron-linuxbridge-agent', 'description': None, 'admin_state_up': True, 
'heartbeat_timestamp': datetime.datetime(2017, 4, 11, 8, 5), 
'availability_zone': None, 'alive': False, 'topic': u'N/A', 'host': 
u'controller-HP-Z210-Workstation', 'agent_type': u'Linux bridge agent', 
'resource_versions': {u'SubPort': u'1.0', u'QosPolicy': u'1.3', u'Trunk': 
u'1.0'}, 'created_at': datetime.datetime(2017, 4, 7, 13, 55, 26), 'started_at': 
datetime.datetime(2017, 4, 10, 14, 26, 58), 'id': 
u'65694cc5-f8bf-473f-95d2-550438f52885', 'configurations': {u'tunneling_ip': 
u'192.168.3.202', u'devices': 3, u'interface_mappings': {u'provider': u'eno1'}, 
u'extensions': [], u'l2_population': True, u'tunnel_types': [u'vxlan'], 
u'bridge_mappings': {}}}
  2017-04-12 12:43:10.540 27006 ERROR neutron.plugins.ml2.managers 
[req-b86fae66-1171-41c9-ba6a-ebdd24c656ed - - - - -] Failed to bind port 
115144de-8215-4e9c-b6d3-d44c40b9a191 on host controller-HP-Z210-Workstation for 
vnic_type normal using segments [{'segmentation_id': 65, 'physical_network': 
None, 'id': u'7cdbfc98-0f8e-4104-987b-3be70a8a36fa', 'network_type': u'vxlan'}]

  I didn't find a solution to this problem 
  Please help.

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

2017-04-14 Thread Eric Fried
Likely same root cause as https://bugs.launchpad.net/nova/+bug/1682195

This is more of a support request than a bug.  Please ask for help on
IRC in #openstack.

** This bug is no longer a duplicate of bug 1678493
   oslo_messaging.exceptions.MessagingTimeout

** 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/1682088

Title:
  

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  I installed openstack Newton in Ubuntu 16.04.

  When I try to launch an instance I get an error Unexpected API Error.
  Please report this at http://bugs.launchpad.net/nova/ and attach the
  Nova API log if possible.  (HTTP 500) (Request-ID:
  req-ff1f37e8-a875-4375-b036-de514a908e07)

  I checked the log files and I found errors 
  the /var/log/nova/nova-api.log  :

  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions result 
= self._waiter.wait(msg_id, timeout)
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions   File 
"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 
336, in wait
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions message 
= self.waiters.get(msg_id, timeout=timeout)
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions   File 
"/usr/lib/python2.7/dist-packages/oslo_messaging/_drivers/amqpdriver.py", line 
238, in get
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions 'to 
message ID %s' % msg_id)
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions 
MessagingTimeout: Timed out waiting for a reply to message ID 
8538246dba7348d3b52eb0fbd0a60a03
  2017-04-12 12:41:34.607 28635 ERROR nova.api.openstack.extensions 
  2017-04-12 12:41:34.609 28635 INFO nova.api.openstack.wsgi 
[req-ff1f37e8-a875-4375-b036-de514a908e07 1fdf459e4f694fde85818b178e1e9199 
da7d418c8b414fc3b236800183794125 - default default] HTTP exception thrown: 
Unexpected API Error. Please report this at http://bugs.launchpad.net/nova/ and 
attach the Nova API log if possible.
  
  2017-04-12 12:41:34.610 28635 INFO nova.osapi_compute.wsgi.server 
[req-ff1f37e8-a875-4375-b036-de514a908e07 1fdf459e4f694fde85818b178e1e9199 
da7d418c8b414fc3b236800183794125 - default default] 127.0.0.1 "POST 
/v2.1/da7d418c8b414fc3b236800183794125/servers HTTP/1.1" status: 500 len: 583 
time: 60.7773261


  the /var/log/neutron/neutron-server.log :

  
  2017-04-12 12:43:10.527 27006 ERROR neutron.plugins.ml2.managers 
[req-2ee46e05-f015-4fe2-beca-7cbe3e01e48e - - - - -] Failed to bind port 
bfa09754-f961-4c81-8b52-256e2028f1e1 on host controller-HP-Z210-Workstation for 
vnic_type normal using segments [{'segmentation_id': 20, 'physical_network': 
None, 'id': u'3aa7bf2f-9223-4e94-801b-aee4b4975951', 'network_type': u'vxlan'}]
  2017-04-12 12:43:10.539 27006 WARNING neutron.plugins.ml2.drivers.mech_agent 
[req-b86fae66-1171-41c9-ba6a-ebdd24c656ed - - - - -] Refusing to bind port 
115144de-8215-4e9c-b6d3-d44c40b9a191 to dead agent: {'binary': 
u'neutron-linuxbridge-agent', 'description': None, 'admin_state_up': True, 
'heartbeat_timestamp': datetime.datetime(2017, 4, 11, 8, 5), 
'availability_zone': None, 'alive': False, 'topic': u'N/A', 'host': 
u'controller-HP-Z210-Workstation', 'agent_type': u'Linux bridge agent', 
'resource_versions': {u'SubPort': u'1.0', u'QosPolicy': u'1.3', u'Trunk': 
u'1.0'}, 'created_at': datetime.datetime(2017, 4, 7, 13, 55, 26), 'started_at': 
datetime.datetime(2017, 4, 10, 14, 26, 58), 'id': 
u'65694cc5-f8bf-473f-95d2-550438f52885', 'configurations': {u'tunneling_ip': 
u'192.168.3.202', u'devices': 3, u'interface_mappings': {u'provider': u'eno1'}, 
u'extensions': [], u'l2_population': True, u'tunnel_types': [u'vxlan'], 
u'bridge_mappings': {}}}
  2017-04-12 12:43:10.540 27006 ERROR neutron.plugins.ml2.managers 
[req-b86fae66-1171-41c9-ba6a-ebdd24c656ed - - - - -] Failed to bind port 
115144de-8215-4e9c-b6d3-d44c40b9a191 on host controller-HP-Z210-Workstation for 
vnic_type normal using segments [{'segmentation_id': 65, 'physical_network': 
None, 'id': u'7cdbfc98-0f8e-4104-987b-3be70a8a36fa', 'network_type': u'vxlan'}]

  I didn't find a solution to this problem 
  Please help.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1682088/+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 1677047] [NEW] glance download fsync raises EINVAL for FIFOs

2017-03-28 Thread Eric Fried
Public bug reported:

Description
===
The nova.image.glance.GlanceImageServiceV2.download method recently added fsync 
[1][2] before closing the download file.

Some hypervisors don't use regular files for download.  For example,
PowerVM uses a FIFO pipe, the other end of which is read by a service
that offloads the image data to a remote node.

fsync on a pipe, FIFO, or socket errors with EINVAL [3].

[1] https://review.openstack.org/#/c/441246/
[2] https://review.openstack.org/#/c/443583/
[3] http://man7.org/linux/man-pages/man2/fsync.2.html#ERRORS

Steps to reproduce
==
Invoke nova.image.glance.GlanceImageServiceV2.download with data=None, 
dst_path=path where path represents a FIFO or socket.

Expected result
===
Successful transfer of data through the FIFO/socket.

Actual result
=
An exception similar to the following:

  File 
"/usr/local/lib/python2.7/dist-packages/pypowervm/internal_utils/thread_utils.py",
 line 34, in future_func
return func(*args, **kwargs)
  File "/opt/stack/nova/nova/virt/powervm/disk/ssp.py", line 161, in upload
IMAGE_API.download(context, image_meta.id, dest_path=path)
  File "/opt/stack/nova/nova/image/api.py", line 184, in download
dst_path=dest_path)
  File "/opt/stack/nova/nova/image/glance.py", line 387, in download
os.fsync(data.fileno())
OSError: [Errno 22] Invalid argument

Immutable reference to the offending fsync call:
https://github.com/openstack/nova/blob/640b152004fe3d9c43c26538809c3ac796f20eba/nova/image/glance.py#L375

Environment
===
devstack, pike, with the nova tree at this in-flight patch set: 
https://review.openstack.org/#/c/443189/15

Ubuntu 16.04.1 LTS running on PowerVM NovaLink, using Shared Storage
Pools through a single VIOS.

No networking.

Logs & Configs
==
Available on request if needed.  This is a snap to reproduce.

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  glance download fsync raises EINVAL for FIFOs

Status in OpenStack Compute (nova):
  New

Bug description:
  Description
  ===
  The nova.image.glance.GlanceImageServiceV2.download method recently added 
fsync [1][2] before closing the download file.

  Some hypervisors don't use regular files for download.  For example,
  PowerVM uses a FIFO pipe, the other end of which is read by a service
  that offloads the image data to a remote node.

  fsync on a pipe, FIFO, or socket errors with EINVAL [3].

  [1] https://review.openstack.org/#/c/441246/
  [2] https://review.openstack.org/#/c/443583/
  [3] http://man7.org/linux/man-pages/man2/fsync.2.html#ERRORS

  Steps to reproduce
  ==
  Invoke nova.image.glance.GlanceImageServiceV2.download with data=None, 
dst_path=path where path represents a FIFO or socket.

  Expected result
  ===
  Successful transfer of data through the FIFO/socket.

  Actual result
  =
  An exception similar to the following:

File 
"/usr/local/lib/python2.7/dist-packages/pypowervm/internal_utils/thread_utils.py",
 line 34, in future_func
  return func(*args, **kwargs)
File "/opt/stack/nova/nova/virt/powervm/disk/ssp.py", line 161, in upload
  IMAGE_API.download(context, image_meta.id, dest_path=path)
File "/opt/stack/nova/nova/image/api.py", line 184, in download
  dst_path=dest_path)
File "/opt/stack/nova/nova/image/glance.py", line 387, in download
  os.fsync(data.fileno())
  OSError: [Errno 22] Invalid argument

  Immutable reference to the offending fsync call:
  
https://github.com/openstack/nova/blob/640b152004fe3d9c43c26538809c3ac796f20eba/nova/image/glance.py#L375

  Environment
  ===
  devstack, pike, with the nova tree at this in-flight patch set: 
https://review.openstack.org/#/c/443189/15

  Ubuntu 16.04.1 LTS running on PowerVM NovaLink, using Shared Storage
  Pools through a single VIOS.

  No networking.

  Logs & Configs
  ==
  Available on request if needed.  This is a snap to reproduce.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1677047/+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 1673305] Re: No host-to-cell mapping found for selected host packstack. Setup is incomplete.

2017-03-17 Thread Eric Fried
Not sure if adding "affects nova" is entirely appropriate, but we
encountered this when testing this patch with the PowerVM driver:
https://review.openstack.org/443189 which is currently based on commit
80af8a9dacf6fbd853b5b0e07ffb8bffac3aa8fa of the nova tree.

After I ran the nova-manage command suggested by amoralej in comment #2,
I was able to proceed.

** Also affects: nova
   Importance: Undecided
   Status: New

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

Title:
  No host-to-cell mapping found for selected host packstack. Setup is
  incomplete.

Status in OpenStack Compute (nova):
  New
Status in Packstack:
  New

Bug description:
  CentOS Packstack installation.

  nova-conductor.log

  2017-03-15 21:27:59.521 4664 WARNING oslo_reports.guru_meditation_report [-] 
Guru meditation now registers SIGUSR1 and SIGUSR2 by default for backward 
compatibility. SIGUSR1 will no longer be registered in a future release, so 
please use SIGUSR2 to generate reports.
  2017-03-15 21:27:59.532 4664 WARNING oslo_config.cfg 
[req-50f24c2c-b031-4a5b-8a64-c057b2dbb56e - - - - -] Option "use_neutron" from 
group "DEFAULT" is deprecated for removal.  Its value may be silently ignored 
in the future.
  2017-03-15 21:27:59.545 4664 INFO oslo_service.service 
[req-50f24c2c-b031-4a5b-8a64-c057b2dbb56e - - - - -] Starting 4 workers
  2017-03-15 21:27:59.561 4683 INFO nova.service [-] Starting conductor node 
(version 15.0.0-1.el7)
  2017-03-15 21:27:59.566 4684 INFO nova.service [-] Starting conductor node 
(version 15.0.0-1.el7)
  2017-03-15 21:27:59.581 4686 INFO nova.service [-] Starting conductor node 
(version 15.0.0-1.el7)
  2017-03-15 21:27:59.588 4664 WARNING oslo_config.cfg 
[req-50f24c2c-b031-4a5b-8a64-c057b2dbb56e - - - - -] Option "dhcp_domain" from 
group "DEFAULT" is deprecated for removal.  Its value may be silently ignored 
in the future.
  2017-03-15 21:27:59.590 4664 WARNING oslo_config.cfg 
[req-50f24c2c-b031-4a5b-8a64-c057b2dbb56e - - - - -] Option 
"force_dhcp_release" from group "DEFAULT" is deprecated for removal.  Its value 
may be silently ignored in the future.
  2017-03-15 21:27:59.593 4664 WARNING oslo_config.cfg 
[req-50f24c2c-b031-4a5b-8a64-c057b2dbb56e - - - - -] Option "rpc_backend" from 
group "DEFAULT" is deprecated for removal.  Its value may be silently ignored 
in the future.
  2017-03-15 21:27:59.576 4685 INFO nova.service [-] Starting conductor node 
(version 15.0.0-1.el7)
  2017-03-15 21:55:14.655 4686 ERROR nova.conductor.manager 
[req-1b40d2a2-e633-469c-93da-dd4912101ce2 - - - - -] No host-to-cell mapping 
found for selected host packstack. Setup is incomplete.
  2017-03-15 21:55:15.018 4686 WARNING nova.scheduler.utils 
[req-1b40d2a2-e633-469c-93da-dd4912101ce2 - - - - -] Failed to 
compute_task_build_instances: Host 'packstack' is not mapped to any cell
  2017-03-15 21:55:15.019 4686 WARNING nova.scheduler.utils 
[req-1b40d2a2-e633-469c-93da-dd4912101ce2 - - - - -] [instance: 
a23d692f-0280-4c15-948a-e4b17686fd2b] Setting instance to 
  ERROR state.sudo yum install -y centos-release-openstack-ocata

  Everything is working fine. I can access dashboard i can create
  networks and routers but i cant start an instance. Every time in error
  state with this error. Tried to install with sudo yum install -y
  centos-release-openstack-ocata version and then clean installed againt
  with newton and it is the same problem. answers.txt is in the
  attachment

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1673305/+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 1638339] [NEW] mitaka docs build breaks on vine.five

2016-11-01 Thread Eric Fried
Public bug reported:

In attempting to track down build failures in an out-of-tree project, I
submitted a change set to try out the nova gate in mitaka.  It failed
the docs build on the vine.five switch in kombu.

The change set is here:
https://review.openstack.org/#/c/392200/

The failure log is here:
http://logs.openstack.org/00/392200/1/check/gate-nova-docs-ubuntu-trusty/55fb272/console.html#_2016-11-01_15_22_32_787002

(Does the docs build not honor the upper constraints set in the generic
[testenv]?)

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  mitaka docs build breaks on vine.five

Status in OpenStack Compute (nova):
  New

Bug description:
  In attempting to track down build failures in an out-of-tree project,
  I submitted a change set to try out the nova gate in mitaka.  It
  failed the docs build on the vine.five switch in kombu.

  The change set is here:
  https://review.openstack.org/#/c/392200/

  The failure log is here:
  
http://logs.openstack.org/00/392200/1/check/gate-nova-docs-ubuntu-trusty/55fb272/console.html#_2016-11-01_15_22_32_787002

  (Does the docs build not honor the upper constraints set in the
  generic [testenv]?)

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1638339/+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 1615128] [NEW] Custom binding:profile values not coming through

2016-08-19 Thread Eric Fried
Public bug reported:

1) Create a port with custom binding:profile values, e.g.:

$ neutron port-create --vnic-type direct  ab85306c-0861-4ef0-b127-1bedc8fc94f3 
-- --binding:profile type=dict vnic_required_vfs=3,capacity=0.06
Created a new port:
+---++
| Field | Value 
 |
+---++
| admin_state_up| True  
 |
| allowed_address_pairs |   
 |
| binding:host_id   |   
 |
| binding:profile   | {"vnic_required_vfs": "3", "capacity": "0.06"}
 |
| binding:vif_details   | {}
 |
| binding:vif_type  | unbound   
 |
| binding:vnic_type | direct
 |
| created_at| 2016-08-19T17:04:01   
 |
| description   |   
 |
| device_id |   
 |
| device_owner  |   
 |
| extra_dhcp_opts   |   
 |
| fixed_ips | {"subnet_id": "47171599-7a0d-480a-82c7-adf8f58ecf52", 
"ip_address": "172.24.4.12"} |
|   | {"subnet_id": "ddc562b9-65c3-48fe-8b3e-20ac98630375", 
"ip_address": "2001:db8::d"} |
| id| ff17dcab-bbf7-44f4-8f65-0e7dc32b611b  
 |
| mac_address   | fa:16:3e:4f:4b:d0 
 |
| name  |   
 |
| network_id| ab85306c-0861-4ef0-b127-1bedc8fc94f3  
 |
| port_security_enabled | True  
 |
| revision  | 5 
 |
| security_groups   | 98413527-6c85-4c16-8fe9-da0f3fdcaa97  
 |
| status| DOWN  
 |
| tenant_id | aac7c974992c44b7aaf4ecf6049c2165  
 |
| updated_at| 2016-08-19T17:06:17   
 |
+---++

2) Boot an instance with that port, e.g.

$ nova boot --flavor 1 --image  58bc4e42-0189-4f4b-bdff-dfe7fcabf414
efried1 --nic port-id=ff17dcab-bbf7-44f4-8f65-0e7dc32b611b

3) The mechanism driver, accessing the binding:profile via:

profile = context.current.get(portbindings.PROFILE, {})

...cannot see the custom values.

==

I believe the reason lies here:
https://github.com/openstack/neutron/blob/master/neutron/plugins/ml2/plugin.py#L310-L319

310if attrs and portbindings.PROFILE in attrs:
311profile = attrs.get(portbindings.PROFILE) or {}
312
313if profile not in (None, const.ATTR_NOT_SPECIFIED,
314   self._get_profile(binding)):
315binding.profile = jsonutils.dumps(profile)
316if len(binding.profile) > models.BINDING_PROFILE_LEN:
317msg = _("binding:profile value too large")
318raise exc.InvalidInput(error_message=msg)
319changes = True

Stepping through the mech driver, binding.profile contains the custom
values:

(Pdb) pp binding.profile
u'{"vnic_required_vfs": "3", "capacity": "0.06"}'

But attrs does not:

(Pdb) pp attrs['binding:profile']
{u'pci_slot': u'*:*:*.*',
 u'pci_vendor_info': u'*:*',
 u'physical_network': u'default'}

At this point, the condition on lines 313-4 succeds, and binding.profile
is overwritten with the contents of attrs['binding:profile']

=

Proposal is to *combine* the two dicts in this scenario, so the
resulting binding.profile will in fact contain:

{u'pci_slot': u'*:*:*.*',
 

[Yahoo-eng-team] [Bug 1609848] Re: Un-ignore PEP8 rules in tox

2016-08-04 Thread Eric Fried
Seems that all of the rules are being ignored for good (or at least
agreed-upon) reasons.

See https://review.openstack.org/#/c/351253/

** 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/1609848

Title:
  Un-ignore PEP8 rules in tox

Status in OpenStack Compute (nova):
  Invalid

Bug description:
  tox.ini contains a number of entries in the 'ignore' list for flake8,
  allowing developers to kick certain minor infractions down the road,
  resulting in creeping technical debt.

  Wherever feasible, these ignore entries should be weeded out and their
  respective issues resolved in the codebase.

  To work this bug:
  0) Pull the latest code.  This will minimize painful rebasing.
  1) Edit tox.ini.  Remove one or more tokens from the 'ignore' definition 
under the [flake8] section.
  2) Run tox -e pep8
  3) Resolve all of the errors
  4) Propose up your change, referencing this bug report's ID with the 
Partial-Bug tag.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1609848/+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 1609848] [NEW] Un-ignore PEP8 rules in tox

2016-08-04 Thread Eric Fried
Public bug reported:

tox.ini contains a number of entries in the 'ignore' list for flake8,
allowing developers to kick certain minor infractions down the road,
resulting in creeping technical debt.

Wherever feasible, these ignore entries should be weeded out and their
respective issues resolved in the codebase.

To work this bug:
0) Pull the latest code.  This will minimize painful rebasing.
1) Edit tox.ini.  Remove one or more tokens from the 'ignore' definition under 
the [flake8] section.
2) Run tox -e pep8
3) Resolve all of the errors
4) Propose up your change, referencing this bug report's ID with the 
Partial-Bug tag.

** Affects: nova
 Importance: Undecided
 Status: New

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

Title:
  Un-ignore PEP8 rules in tox

Status in OpenStack Compute (nova):
  New

Bug description:
  tox.ini contains a number of entries in the 'ignore' list for flake8,
  allowing developers to kick certain minor infractions down the road,
  resulting in creeping technical debt.

  Wherever feasible, these ignore entries should be weeded out and their
  respective issues resolved in the codebase.

  To work this bug:
  0) Pull the latest code.  This will minimize painful rebasing.
  1) Edit tox.ini.  Remove one or more tokens from the 'ignore' definition 
under the [flake8] section.
  2) Run tox -e pep8
  3) Resolve all of the errors
  4) Propose up your change, referencing this bug report's ID with the 
Partial-Bug tag.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1609848/+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 1570748] Re: Bug: resize instance after edit flavor with horizon

2016-05-02 Thread Eric Fried
** Changed in: nova-powervm
   Status: Fix Released => Fix Committed

** Changed in: nova-powervm
 Assignee: (unassigned) => Drew Thorstensen (thorst)

** Changed in: nova-powervm
   Importance: Undecided => Medium

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

Title:
  Bug: resize instance after edit flavor with horizon

Status in OpenStack Compute (nova):
  Fix Released
Status in OpenStack Compute (nova) kilo series:
  Fix Committed
Status in OpenStack Compute (nova) liberty series:
  Fix Committed
Status in OpenStack Compute (nova) mitaka series:
  Fix Committed
Status in nova-powervm:
  Fix Committed
Status in tempest:
  Fix Released

Bug description:
  Error occured when resize instance after edit flavor with horizon (and
  also delete flavor used by instance)

  Reproduce step :

  1. create flavor A
  2. boot instance using flavor A
  3. edit flavor with horizon (or delete flavor A)
  -> the result is same to edit or to delelet flavor because edit flavor 
means delete/recreate flavor)
  4. resize or migrate instance
  5. Error occured

  Log : 
  nova-compute.log
 File "/opt/openstack/src/nova/nova/conductor/manager.py", line 422, in 
_object_dispatch
   return getattr(target, method)(*args, **kwargs)

 File "/opt/openstack/src/nova/nova/objects/base.py", line 163, in wrapper
   result = fn(cls, context, *args, **kwargs)

 File "/opt/openstack/src/nova/nova/objects/flavor.py", line 132, in 
get_by_id
   db_flavor = db.flavor_get(context, id)

 File "/opt/openstack/src/nova/nova/db/api.py", line 1479, in flavor_get
   return IMPL.flavor_get(context, id)

 File "/opt/openstack/src/nova/nova/db/sqlalchemy/api.py", line 233, in 
wrapper
   return f(*args, **kwargs)

 File "/opt/openstack/src/nova/nova/db/sqlalchemy/api.py", line 4732, in 
flavor_get
   raise exception.FlavorNotFound(flavor_id=id)

   FlavorNotFound: Flavor 7 could not be found.

  
  This Error is occured because of below code:
  /opt/openstack/src/nova/nova/compute/manager.py

  def resize_instance(self, context, instance, image,
  reservations, migration, instance_type,
  clean_shutdown=True):
  
  if (not instance_type or
  not isinstance(instance_type, objects.Flavor)):
  instance_type = objects.Flavor.get_by_id(
  context, migration['new_instance_type_id'])
  

  I think that deleted flavor should be taken when resize instance. 
  I tested this in stable/kilo, but I think stable/liberty and stable/mitaka 
has same bug because source code is not changed.

  thanks.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1570748/+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 1575335] Re: nova-powervm no longer loading from out of tree

2016-04-27 Thread Eric Fried
** Also affects: nova
   Importance: Undecided
   Status: New

** Summary changed:

- nova-powervm no longer loading from out of tree
+ Out-of-tree compute drivers no longer loading

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

Title:
  Out-of-tree compute drivers no longer loading

Status in OpenStack Compute (nova):
  New
Status in nova-powervm:
  New

Bug description:
  Commit
  
https://github.com/openstack/nova/commit/8eb03de1eb83a6cd2d4d41804e1b8253f94e5400
  removed the mechanism by which nova-powervm was loading its Compute
  driver from out of tree, resulting in the following failure to start
  up n-cpu:

  2016-04-25 23:53:46.581 32459 INFO nova.virt.driver [-] Loading compute 
driver 'nova_powervm.virt.powervm.driver.PowerVMDriver'
  2016-04-25 23:53:46.582 32459 ERROR nova.virt.driver [-] Unable to load the 
virtualization driver
  2016-04-25 23:53:46.582 32459 ERROR nova.virt.driver Traceback (most recent 
call last):
  2016-04-25 23:53:46.582 32459 ERROR nova.virt.driver   File 
"/opt/stack/nova/nova/virt/driver.py", line 1623, in load_compute_driver
  2016-04-25 23:53:46.582 32459 ERROR nova.virt.driver virtapi)
  2016-04-25 23:53:46.582 32459 ERROR nova.virt.driver   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/importutils.py", line 44, in 
import_object
  2016-04-25 23:53:46.582 32459 ERROR nova.virt.driver return 
import_class(import_str)(*args, **kwargs)
  2016-04-25 23:53:46.582 32459 ERROR nova.virt.driver   File 
"/usr/local/lib/python2.7/dist-packages/oslo_utils/importutils.py", line 30, in 
import_class
  2016-04-25 23:53:46.582 32459 ERROR nova.virt.driver __import__(mod_str)
  2016-04-25 23:53:46.582 32459 ERROR nova.virt.driver ImportError: No module 
named nova_powervm.virt.powervm.driver
  2016-04-25 23:53:46.582 32459 ERROR nova.virt.driver 
  n-cpu failed to start

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