[Yahoo-eng-team] [Bug 1852993] Re: Don't delete compute node when deleting service other than nova-compute

2019-11-20 Thread OpenStack Infra
Reviewed:  https://review.opendev.org/694756
Committed: 
https://git.openstack.org/cgit/openstack/nova/commit/?id=cff9ecb20870daa56b1cfd6fbb9f5817d1306fda
Submitter: Zuul
Branch:master

commit cff9ecb20870daa56b1cfd6fbb9f5817d1306fda
Author: Pavel Glushchak 
Date:   Mon Nov 18 14:53:42 2019 +0300

Don't delete compute node, when deleting service other than nova-compute

We should not try to delete compute node from compute_nodes table,
when destroying service other than nova-compute.

Change-Id: If5b5945e699ec2e2da51d5fa90616431274849b0
Closes-Bug: #1852993
Signed-off-by: Pavel Glushchak 


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

Title:
  Don't delete compute node when deleting service other than nova-
  compute

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

Bug description:
  When upgrading to Stein, nova-consoleauth service is deprecated and
  should be removed. However if nova-consoleauth service is located on
  the same host with nova-compute, matching row in compute_nodes table
  is soft-deleted as well, making nova-compute service report in log,
  that stale resource provider exists in placement:

  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
[req-f0255008-c398-406c-bca0-12cdc34fc0b4 - - - - -] Error updating resources 
for node vzstor1.vstoragedomain.: ResourceProviderCreationFailed: Failed to 
create resource provider vzstor1.vstoragedomain
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager Traceback (most recent 
call last):
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 7399, in 
update_available_resource_for_node
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
rt.update_available_resource(context, nodename)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 689, 
in update_available_resource
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
self._update_available_resource(context, resources)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 274, in 
inner
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager return f(*args, 
**kwargs)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 713, 
in _update_available_resource
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
self._init_compute_node(context, resources)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 562, 
in _init_compute_node
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
self._update(context, cn)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 887, 
in _update
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager inv_data,
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 68, 
in set_inventory_for_provider
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
parent_provider_uuid=parent_provider_uuid,
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 37, 
in __run_method
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager return 
getattr(self.instance, __name)(*args, **kwargs)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/scheduler/client/report.py", line 1106, 
in set_inventory_for_provider
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
parent_provider_uuid=parent_provider_uuid)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/scheduler/client/report.py", line 667, 
in _ensure_resource_provider
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
parent_provider_uuid=parent_provider_uuid)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/scheduler/client/report.py", line 66, in 
wrapper
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager return f(self, *a, 
**k)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/scheduler/client/report.py", line 614, 
in _create_resource_provider
  2019-11-18 16:03:20.069 7 ERROR 

[Yahoo-eng-team] [Bug 1852993] Re: Don't delete compute node when deleting service other than nova-compute

2019-11-19 Thread Matt Riedemann
Deleting a nova-consoleauth service shouldn't have anything to do with
deleting compute_nodes records, only deleting nova-compute services, but
I guess this doesn't filter on the service binary being nova-compute:

https://github.com/openstack/nova/blob/a054d03adef692db22e2466084e50cbf50112bb0/nova/db/sqlalchemy/api.py#L415

However, a nova-consoleauth service id shouldn't be mapped to a compute
node record, but that's probably where the OR is breaking things - the
service_id is likely NULL and the host is the same.

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

** Tags added: db

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

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

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

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

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

** Changed in: nova/stein
   Importance: Undecided => Medium

** Changed in: nova/train
   Importance: Undecided => Medium

** Changed in: nova/rocky
   Importance: Undecided => Medium

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

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1852993

Title:
  Don't delete compute node when deleting service other than nova-
  compute

Status in OpenStack Compute (nova):
  In Progress
Status in OpenStack Compute (nova) rocky series:
  Confirmed
Status in OpenStack Compute (nova) stein series:
  Confirmed
Status in OpenStack Compute (nova) train series:
  Confirmed

Bug description:
  When upgrading to Stein, nova-consoleauth service is deprecated and
  should be removed. However if nova-consoleauth service is located on
  the same host with nova-compute, matching row in compute_nodes table
  is soft-deleted as well, making nova-compute service report in log,
  that stale resource provider exists in placement:

  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
[req-f0255008-c398-406c-bca0-12cdc34fc0b4 - - - - -] Error updating resources 
for node vzstor1.vstoragedomain.: ResourceProviderCreationFailed: Failed to 
create resource provider vzstor1.vstoragedomain
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager Traceback (most recent 
call last):
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/compute/manager.py", line 7399, in 
update_available_resource_for_node
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
rt.update_available_resource(context, nodename)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 689, 
in update_available_resource
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
self._update_available_resource(context, resources)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/oslo_concurrency/lockutils.py", line 274, in 
inner
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager return f(*args, 
**kwargs)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 713, 
in _update_available_resource
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
self._init_compute_node(context, resources)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 562, 
in _init_compute_node
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
self._update(context, cn)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/compute/resource_tracker.py", line 887, 
in _update
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager inv_data,
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 68, 
in set_inventory_for_provider
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
parent_provider_uuid=parent_provider_uuid,
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/scheduler/client/__init__.py", line 37, 
in __run_method
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager return 
getattr(self.instance, __name)(*args, **kwargs)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/scheduler/client/report.py", line 1106, 
in set_inventory_for_provider
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager 
parent_provider_uuid=parent_provider_uuid)
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager   File 
"/usr/lib/python2.7/site-packages/nova/scheduler/client/report.py", line 667, 
in _ensure_resource_provider
  2019-11-18 16:03:20.069 7 ERROR nova.compute.manager