← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1577311] [NEW] OperationalError: (pymysql.err.OperationalError)

 

Public bug reported:

This error happens in Mitaka on ubuntu 14.04
I have configured nova on separate nodes
1) 192.168.1.177 (Glance)
2)192.168.1.176(Keystone, and  mysql  for both glance, keystone, nova).
3)192.168.1.181(nova controller and nova compute).

Am using a python script nova to connect and everything works fine, I can list flavors, i can list images, but when i try to create
a server with nova.servers.create(name="TestServer", image=images_returned[0], flavors=flavors_avail[0])

It looks like the api does not connect to the database server, rather
than connect to the database server "192.168.1.176" it connects to
itself that is 192.168.1.181, I  have not configured the mysql to run on
the nova controler rather the mysql database server is running on  a
different node as described on the onset.

Worse yet it that it connects to the real database when I list images and other flavors, but when i try to create the server it brings these areas 
 ERROR nova.api.openstack.extensions OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'192.168.1.181' (using password: YES)")

And that is not the database i configured it to use i configured it to
use a different database 192.168.1.176

Here are my configs.


[DEFAULT]
dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
log-dir=/var/log/nova
state_path=/var/lib/nova
lock_path=/var/lock/nova
force_dhcp_release=True
libvirt_use_virtio_for_bridges=True
verbose=True
ec2_private_dns_show_ip=True
api_paste_config=/etc/nova/api-paste.ini
enabled_apis=ec2,osapi_compute,metadata

# Libvirt and Virtualization
connection_type=libvirt
libvirt_type=qemu


# Database
#connection = mysql://nova:nova/@192.168.1.176/nova

# Messaging
rabbit_host=192.168.1.181

# EC2 API Flags
ec2_host=192.168.1.181
ec2_dmz_host=192.168.1.181
ec2_private_dns_show_ip=True


# Networking
public_interface=eth0
auto_assign_floating_ip=True

# Image
image_service=nova.image.Glance.GlanceIageService
glance_api_servers=192.168.1.177:9292

# Scheduler
scheduler_default_filters=AllHostsFilter

# Object storage
iscsi_helper=tgtadm

# Auth
keystone_ec2_url=http://192.168.1.176:6000/v3/ec2tokens
auth_stragety=keystone


[glance]
api_servers=192.168.1.177:9292
host=192.168.1.177
port=9292
protocol=http

[libvirt]
virt_type=qemu


[api_database]

#
# From nova
#
# The SQLAlchemy connection string to use to connect to the Nova API database.
# (string value)
connection = mysql://nova:nova/@192.168.1.176/nova

# If True, SQLite uses synchronous mode. (boolean value)
#sqlite_synchronous = true

# The SQLAlchemy connection string to use to connect to the slave database.
# (string value)
#slave_connection = <None>

# The SQL mode to be used for MySQL sessions. This option, including the
# default, overrides any server-set SQL mode. To use whatever SQL mode is set
# by the server configuration, set this to no value. Example: mysql_sql_mode=
# (string value)
mysql_sql_mode = TRADITIONAL

# Timeout before idle SQL connections are reaped. (integer value)
#idle_timeout = 3600

# Maximum number of SQL connections to keep open in a pool. (integer value)
#max_pool_size = <None>

# Maximum number of database connection retries during startup. Set to -1 to
# specify an infinite retry count. (integer value)
#max_retries = 10

# Interval between retries of opening a SQL connection. (integer value)
#retry_interval = 10

# If set, use this value for max_overflow with SQLAlchemy. (integer
value)

# Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
# value)
connection_debug = 100

# Add Python stack traces to SQL as comment strings. (boolean value)
connection_trace = true

# If set, use this value for pool_timeout with SQLAlchemy. (integer value)
#pool_timeout = <None>

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

Title:
  OperationalError: (pymysql.err.OperationalError)

Status in OpenStack Compute (nova):
  New

Bug description:
  This error happens in Mitaka on ubuntu 14.04
  I have configured nova on separate nodes
  1) 192.168.1.177 (Glance)
  2)192.168.1.176(Keystone, and  mysql  for both glance, keystone, nova).
  3)192.168.1.181(nova controller and nova compute).

  Am using a python script nova to connect and everything works fine, I can list flavors, i can list images, but when i try to create
  a server with nova.servers.create(name="TestServer", image=images_returned[0], flavors=flavors_avail[0])

  It looks like the api does not connect to the database server, rather
  than connect to the database server "192.168.1.176" it connects to
  itself that is 192.168.1.181, I  have not configured the mysql to run
  on the nova controler rather the mysql database server is running on
  a different node as described on the onset.

  Worse yet it that it connects to the real database when I list images and other flavors, but when i try to create the server it brings these areas 
   ERROR nova.api.openstack.extensions OperationalError: (pymysql.err.OperationalError) (1045, u"Access denied for user 'nova'@'192.168.1.181' (using password: YES)")

  And that is not the database i configured it to use i configured it to
  use a different database 192.168.1.176

  Here are my configs.

  
  [DEFAULT]
  dhcpbridge_flagfile=/etc/nova/nova.conf
  dhcpbridge=/usr/bin/nova-dhcpbridge
  log-dir=/var/log/nova
  state_path=/var/lib/nova
  lock_path=/var/lock/nova
  force_dhcp_release=True
  libvirt_use_virtio_for_bridges=True
  verbose=True
  ec2_private_dns_show_ip=True
  api_paste_config=/etc/nova/api-paste.ini
  enabled_apis=ec2,osapi_compute,metadata

  # Libvirt and Virtualization
  connection_type=libvirt
  libvirt_type=qemu

  
  # Database
  #connection = mysql://nova:nova/@192.168.1.176/nova

  # Messaging
  rabbit_host=192.168.1.181

  # EC2 API Flags
  ec2_host=192.168.1.181
  ec2_dmz_host=192.168.1.181
  ec2_private_dns_show_ip=True

  
  # Networking
  public_interface=eth0
  auto_assign_floating_ip=True

  # Image
  image_service=nova.image.Glance.GlanceIageService
  glance_api_servers=192.168.1.177:9292

  # Scheduler
  scheduler_default_filters=AllHostsFilter

  # Object storage
  iscsi_helper=tgtadm

  # Auth
  keystone_ec2_url=http://192.168.1.176:6000/v3/ec2tokens
  auth_stragety=keystone

  
  [glance]
  api_servers=192.168.1.177:9292
  host=192.168.1.177
  port=9292
  protocol=http

  [libvirt]
  virt_type=qemu

  
  [api_database]

  #
  # From nova
  #
  # The SQLAlchemy connection string to use to connect to the Nova API database.
  # (string value)
  connection = mysql://nova:nova/@192.168.1.176/nova

  # If True, SQLite uses synchronous mode. (boolean value)
  #sqlite_synchronous = true

  # The SQLAlchemy connection string to use to connect to the slave database.
  # (string value)
  #slave_connection = <None>

  # The SQL mode to be used for MySQL sessions. This option, including the
  # default, overrides any server-set SQL mode. To use whatever SQL mode is set
  # by the server configuration, set this to no value. Example: mysql_sql_mode=
  # (string value)
  mysql_sql_mode = TRADITIONAL

  # Timeout before idle SQL connections are reaped. (integer value)
  #idle_timeout = 3600

  # Maximum number of SQL connections to keep open in a pool. (integer value)
  #max_pool_size = <None>

  # Maximum number of database connection retries during startup. Set to -1 to
  # specify an infinite retry count. (integer value)
  #max_retries = 10

  # Interval between retries of opening a SQL connection. (integer value)
  #retry_interval = 10

  # If set, use this value for max_overflow with SQLAlchemy. (integer
  value)

  # Verbosity of SQL debugging information: 0=None, 100=Everything. (integer
  # value)
  connection_debug = 100

  # Add Python stack traces to SQL as comment strings. (boolean value)
  connection_trace = true

  # If set, use this value for pool_timeout with SQLAlchemy. (integer value)
  #pool_timeout = <None>

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1577311/+subscriptions


Follow ups