← Back to team overview

yahoo-eng-team team mailing list archive

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

 

You have only specified the api_database, not the main database. Both
are needed.

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

** Tags added: cells

-- 
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):
  Invalid

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


References