nova-conductor starts before database tables are created

Bug #1356115 reported by Ryan Moe
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Fuel for OpenStack
Invalid
Medium
Fuel Library (Deprecated)
5.0.x
Won't Fix
Medium
Fuel Library (Deprecated)
5.1.x
Invalid
Medium
Fuel Library (Deprecated)
6.0.x
Invalid
Medium
Fuel Library (Deprecated)

Bug Description

mirantis: "yes"
  production: "docker"
  release: "5.0.1"
  api: "1.0"
  build_number: "169"
  build_id: "2014-08-11_12-45-06"
  astute_sha: "6db5f5031b74e67b92fcac1f7998eaa296d68025"
  fuellib_sha: "a31dbac8fff9cf6bc4cd0d23459670e34b27a9ab"
  ostf_sha: "09b6bccf7d476771ac859bb3c76c9ebec9da9e1f"
  nailgun_sha: "04ada3cd7ef14f6741a05fd5d6690260f9198095"
  fuelmain_sha: "43374c706b4fdce28aeb4ef11e69a53f41646740"

nova-conductor started 24 minutes prior to nova's database tables being created. This caused the conductor service to fail to start and constantly spawn new children. During the deployment nova-conductor CPU usage was between 20% and 80%.

The log is full of errors like this:

2014-08-13 00:03:14.850 28556 TRACE nova.openstack.common.threadgroup ProgrammingError: (ProgrammingError) (1146, "Table 'nova.services' doesn't exist") 'SELECT services.cre
ated_at AS services_created_at, services.updated_at AS services_updated_at, services.deleted_at AS services_deleted_at, services.deleted AS services_deleted, services.id AS
services_id, services.host AS services_host, services.`binary` AS services_binary, services.topic AS services_topic, services.report_count AS services_report_count, services
.disabled AS services_disabled, services.disabled_reason AS services_disabled_reason \nFROM services \nWHERE services.deleted = %s AND services.host = %s AND services.`binar
y` = %s \n LIMIT %s' (0, 'node-6', 'nova-conductor', 1)
2014-08-13 00:03:14.850 28556 TRACE nova.openstack.common.threadgroup
2014-08-13 00:03:14.936 7741 INFO nova.openstack.common.service [-] Child 28556 exited with status 0
2014-08-13 00:03:14.940 7741 INFO nova.openstack.common.service [-] Started child 28880

These messages started at 23:39 and the database tables weren't created until 00:03.

Revision history for this message
Ryan Moe (rmoe) wrote :

I've confirmed this on 5.0.1 and it might still be an issue with 5.1. That still needs to be tested.

description: updated
Changed in fuel:
importance: Undecided → Medium
assignee: nobody → Fuel Library Team (fuel-library)
Changed in fuel:
assignee: Fuel Library Team (fuel-library) → Sergii Golovatiuk (sgolovatiuk)
tags: added: nova
Changed in mos:
milestone: none → 5.1
assignee: nobody → MOS Nova (mos-nova)
status: New → Triaged
importance: Undecided → High
Revision history for this message
Dmitry Mescheryakov (dmitrymex) wrote :

At first sight, this seems to be purely problem of puppet manifests, hence removing MOS from affected projects. Talked with Sergey Golovatiuk about it. He will contact MOS Components team if our assistance is required.

no longer affects: mos
Revision history for this message
Mike Scherbakov (mihgen) wrote :

Sergii, are you working on this bug? Or we could reassign it back to the team, so someone else can take it?

Revision history for this message
Mike Scherbakov (mihgen) wrote :

Also, is it a Medium priority truly? If it is not reproduced often and env stabilizes in 20 min (nova-conductor works fine after 20min), I think it can be moved to 6.0.

Revision history for this message
Sergii Golovatiuk (sgolovatiuk) wrote :

It's medium priority as it causes High load without "Service disruption". It can be moved to 6.0 but patches should be backported to all supported versions.

Mike Scherbakov (mihgen)
tags: added: release-notes
Changed in fuel:
milestone: 5.1 → 5.1.1
Dmitry Pyzhov (dpyzhov)
no longer affects: fuel/5.1.x
Revision history for this message
Dmitry Borodaenko (angdraug) wrote :

Won't Fix for 5.1.x: priority is not High or Critical.

Revision history for this message
Stanislav Makar (smakar) wrote :

I haven't come across such error on my env (Fuel 6.0, Juno on Centos 6.5, HA VLAN, ISO: fuel-6.0-79-2014-11-05_21-28-15.iso )

Revision history for this message
Aleksandr Didenko (adidenko) wrote :

It looks like it's not a problem anymore after "nova" module upgrade:

Fri Nov 07 11:30:16 +0000 2014 Puppet (debug): Adding relationship from Exec[nova-db-sync] to Service[nova-conductor] with 'notify'
Fri Nov 07 11:30:26 +0000 2014 /Stage[main]/Nova::Api/Exec[nova-db-sync]/notify (debug): subscribes to Service[nova-conductor]
Fri Nov 07 11:42:13 +0000 2014 /Stage[main]/Nova::Api/Exec[nova-db-sync] (info): Scheduling refresh of Service[nova-conductor]

As you can see, Exec[nova-db-sync] notifies Service[nova-conductor], which means db-sync will be evaluated before Service[nova-conductor]

Revision history for this message
Aleksandr Didenko (adidenko) wrote :

5.1 should not be affected as well, since we've upgraded "nova" module in 5.1.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.