← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1885825] Re: No implicit user creation with GRANT syntax in MySQL 8.0 Ubuntu Focal

 

Reviewed:  https://review.opendev.org/746451
Committed: https://git.openstack.org/cgit/openstack/keystone/commit/?id=b54839f382b046b7ec8b9633fbea763d31d9949c
Submitter: Zuul
Branch:    master

commit b54839f382b046b7ec8b9633fbea763d31d9949c
Author: Vishakha Agarwal <agarwalvishakha18@xxxxxxxxx>
Date:   Mon Aug 17 13:37:48 2020 +0530

    Fix user creation with GRANT in MySQL 8.0(Ubuntu Focal)
    
    In Ubuntu Bionic (18.04) mysql 5.7 version used to create
    the user implicitly when using using the GRANT.
    
    Ubuntu Focal (20.04) has mysql 8.0 and with mysql 8.0 there
    is no implicit user creation with GRANT. We need to
    create the user first before using GRANT command.
    
    This patch updates tools/test-setup.sh so that keystone supports
    ubuntu focal.
    
    Story: #2007865
    Task: #40190
    
    Change-Id: I86d10729cfc7c02f12df611b56f6e263969dfe4b
    Closes-Bug: #1885825


** Changed in: keystone
       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/1885825

Title:
  No implicit user creation with GRANT syntax in MySQL 8.0 Ubuntu Focal

Status in coverage2sql:
  New
Status in OpenStack Identity (keystone):
  Fix Released
Status in OpenStack Compute (nova):
  Fix Released
Status in tacker:
  New
Status in zaqar:
  New

Bug description:
  Ubuntu Focal (20.04) has mysql 8.0 and with mysql 8.0 there is no
  implicit user creation with  GRANT syntax.

  In Ubuntu Bionic (18.04) mysql 5.7 version used to create the user
  implicitly when using using the GRANT. But starting with mysql 8.0, we
  need to create the user explicitly before using the GRANT command.

  Nova unit and functional tests job using tools/test-setup.sh script
  start failing when running on Ubuntu Focal

  https://zuul.opendev.org/t/openstack/build/8b0f4fcc21854655a638c413b6fe1a91

  + sudo -H mysql -u root -pinsecure_slave -h localhost -e '
      DELETE FROM mysql.user WHERE User='\'''\'';
      FLUSH PRIVILEGES;
      GRANT ALL PRIVILEGES ON *.*
          TO '\''openstack_citest'\''@'\''%'\'' identified by '\''openstack_citest'\'' WITH GRANT OPTION;'
  mysql: [Warning] Using a password on the command line interface can be insecure.
  ERROR 1064 (42000) at line 4: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'identified by 'openstack_citest' WITH GRANT OPTION' at line 2

  
  we need to modify the tools/test-setup.sh to create user first.

  Below used to work with mysql 5.7

  GRANT ALL PRIVILEGES ON *.* TO '$DB_USER'@'%' identified by '$DB_PW'
  WITH GRANT OPTION;"

  With mysql 8.0 we need to create user first

  CREATE USER '$DB_USER'@'%' IDENTIFIED BY '$DB_PW';
  GRANT ALL PRIVILEGES ON *.* TO '$DB_USER'@'%' WITH GRANT OPTION;"

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


References