database_user is overloaded

Bug #1486876 reported by Steven Dake
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
kolla
Fix Released
Critical
Steven Dake

Bug Description

Master crashes because database_user is used for a variable and a register operation. Need to pick a new one for one or the other. Also the port for mysql is not specified for mariadb.

TASK: [glance | Creating Glance database] *************************************
failed: [localhost] => {"changed": false, "cmd": ["docker", "exec", "-t", "kolla_ansible", "/usr/bin/ansible", "localhost", "-m", "mysql_db", "-a", "login_host='192.168.1.148' login_user='{'stdout': 'localhost | SUCCESS => {\\r\\n changed: true, \\r\\n user: keystone\\r\\n}', 'changed': True, 'end': '2015-08-20 00:41:26.967409', 'start': '2015-08-20 00:41:26.512009', 'cmd': ['docker', 'exec', '-t', 'kolla_ansible', '/usr/bin/ansible', 'localhost', '-m', 'mysql_user', '-a', login_host=192.168.1.148", "login_port=3306", "login_user=root", "login_password=password", "name=keystone", "password=password", "host=%", "priv=keystone.*:ALL", "append_privs=yes], 'rc': 0, 'failed': False, 'stderr': u'', 'delta': '0:00:00.455400', 'invocation': {'module_name': u'command', 'module_args': u'docker exec -t kolla_ansible /usr/bin/ansible localhost -m mysql_user -a login_host='192.168.1.148'", "login_port='3306'", "login_user='root'", "login_password='password'", "name='keystone'", "password='password'", "host='%'", "priv='keystone.*:ALL'", "append_privs='yes''}, 'stdout_lines': ['localhost | SUCCESS => {', ' changed: true, ', ' user: keystone', '}'], 'failed_when_result': False, 'warnings': []}' login_password='password' name='glance'"], "delta": "0:00:00.208381", "end": "2015-08-20 00:41:55.867638", "failed": true, "failed_when_result": true, "rc": 5, "start": "2015-08-20 00:41:55.659257", "stdout_lines": ["Usage: ansible <host-pattern> [options]", "", "Options:", " -a MODULE_ARGS, --args=MODULE_ARGS", " module arguments", " --ask-become-pass ask for privilege escalation password", " -k, --ask-pass ask for connection password", " --ask-su-pass ask for su password (deprecated, use become)", " -K, --ask-sudo-pass ask for sudo password (deprecated, use become)", " --ask-vault-pass ask for vault password", " -B SECONDS, --background=SECONDS", " run asynchronously, failing after X seconds", " (default=N/A)", " -b, --become run operations with become (nopasswd implied)", " --become-method=BECOME_METHOD", " privilege escalation method to use (default=sudo),", " valid choices: [ sudo | su | pbrun | pfexec | runas |", " doas ]", " --become-user=BECOME_USER", " run operations as this user (default=root)", " -C, --check don't make any changes; instead, try to predict some", " of the changes that may occur", " -c CONNECTION, --connection=CONNECTION", " connection type to use (default=smart)", " -D, --diff when changing (small) files and templates, show the", " differences in those files; works great with --check", " -e EXTRA_VARS, --extra-vars=EXTRA_VARS", " set additional variables as key=value or YAML/JSON", " -f FORKS, --forks=FORKS", " specify number of parallel processes to use", " (default=5)", " -h, --help show this help message and exit", " -i INVENTORY, --inventory-file=INVENTORY", " specify inventory host file", " (default=/etc/ansible/hosts)", " -l SUBSET, --limit=SUBSET", " further limit selected hosts to an additional pattern", " --list-hosts outputs a list of matching hosts; does not execute", " anything else", " -m MODULE_NAME, --module-name=MODULE_NAME", " module name to execute (default=command)", " -M MODULE_PATH, --module-path=MODULE_PATH", " specify path(s) to module library", " (default=/usr/share/ansible)", " -o, --one-line condense output", " -P POLL_INTERVAL, --poll=POLL_INTERVAL", " set the poll interval if using -B (default=15)", " --private-key=PRIVATE_KEY_FILE, --key-file=PRIVATE_KEY_FILE", " use this file to authenticate the connection", " -S, --su run operations with su (deprecated, use become)", " -R SU_USER, --su-user=SU_USER", " run operations with su as this user (default=root)", " (deprecated, use become)", " -s, --sudo run operations with sudo (nopasswd) (deprecated, use", " become)", " -U SUDO_USER, --sudo-user=SUDO_USER", " desired sudo user (default=root) (deprecated, use", " become)", " --syntax-check perform a syntax check on the playbook, but do not", " execute it", " -T TIMEOUT, --timeout=TIMEOUT", " override the connection timeout in seconds", " (default=10)", " -t TREE, --tree=TREE log output to this directory", " -u REMOTE_USER, --user=REMOTE_USER", " connect as this user (default=root)", " --vault-password-file=VAULT_PASSWORD_FILE", " vault password file", " -v, --verbose verbose mode (-vvv for more, -vvvv to enable", " connection debugging)", " --version show program's version number and exit", "ERROR! Missing target hosts"], "warnings": []}
stdout: Usage: ansible <host-pattern> [options]

Options:
  -a MODULE_ARGS, --args=MODULE_ARGS
                        module arguments
  --ask-become-pass ask for privilege escalation password
  -k, --ask-pass ask for connection password
  --ask-su-pass ask for su password (deprecated, use become)
  -K, --ask-sudo-pass ask for sudo password (deprecated, use become)
  --ask-vault-pass ask for vault password
  -B SECONDS, --background=SECONDS
                        run asynchronously, failing after X seconds
                        (default=N/A)
  -b, --become run operations with become (nopasswd implied)
  --become-method=BECOME_METHOD
                        privilege escalation method to use (default=sudo),
                        valid choices: [ sudo | su | pbrun | pfexec | runas |
                        doas ]
  --become-user=BECOME_USER
                        run operations as this user (default=root)
  -C, --check don't make any changes; instead, try to predict some
                        of the changes that may occur
  -c CONNECTION, --connection=CONNECTION
                        connection type to use (default=smart)
  -D, --diff when changing (small) files and templates, show the
                        differences in those files; works great with --check
  -e EXTRA_VARS, --extra-vars=EXTRA_VARS
                        set additional variables as key=value or YAML/JSON
  -f FORKS, --forks=FORKS
                        specify number of parallel processes to use
                        (default=5)
  -h, --help show this help message and exit
  -i INVENTORY, --inventory-file=INVENTORY
                        specify inventory host file
                        (default=/etc/ansible/hosts)
  -l SUBSET, --limit=SUBSET
                        further limit selected hosts to an additional pattern
  --list-hosts outputs a list of matching hosts; does not execute
                        anything else
  -m MODULE_NAME, --module-name=MODULE_NAME
                        module name to execute (default=command)
  -M MODULE_PATH, --module-path=MODULE_PATH
                        specify path(s) to module library
                        (default=/usr/share/ansible)
  -o, --one-line condense output
  -P POLL_INTERVAL, --poll=POLL_INTERVAL
                        set the poll interval if using -B (default=15)
  --private-key=PRIVATE_KEY_FILE, --key-file=PRIVATE_KEY_FILE
                        use this file to authenticate the connection
  -S, --su run operations with su (deprecated, use become)
  -R SU_USER, --su-user=SU_USER
                        run operations with su as this user (default=root)
                        (deprecated, use become)
  -s, --sudo run operations with sudo (nopasswd) (deprecated, use
                        become)
  -U SUDO_USER, --sudo-user=SUDO_USER
                        desired sudo user (default=root) (deprecated, use
                        become)
  --syntax-check perform a syntax check on the playbook, but do not
                        execute it
  -T TIMEOUT, --timeout=TIMEOUT
                        override the connection timeout in seconds
                        (default=10)
  -t TREE, --tree=TREE log output to this directory
  -u REMOTE_USER, --user=REMOTE_USER
                        connect as this user (default=root)
  --vault-password-file=VAULT_PASSWORD_FILE
                        vault password file
  -v, --verbose verbose mode (-vvv for more, -vvvv to enable
                        connection debugging)
  --version show program's version number and exit
ERROR! Missing target hosts

FATAL: all hosts have already failed -- aborting

PLAY RECAP ********************************************************************
           to retry, use: --limit @/root/site.retry

localhost : ok=64 changed=19 unreachable=0 failed=1

Command failed ansible-playbook -i ansible/inventory/all-in-one -e @/etc/kolla/globals.yml -e @/etc/kolla/passwords.yml ansible/site.yml

Steven Dake (sdake)
Changed in kolla:
status: New → Confirmed
importance: Undecided → Critical
milestone: none → liberty-3
assignee: nobody → Steven Dake (sdake)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to kolla (master)

Fix proposed to branch: master
Review: https://review.openstack.org/215002

Changed in kolla:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to kolla (master)

Reviewed: https://review.openstack.org/215002
Committed: https://git.openstack.org/cgit/stackforge/kolla/commit/?id=98b98924ee029ca9eb780013d4d8207851d7674e
Submitter: Jenkins
Branch: master

commit 98b98924ee029ca9eb780013d4d8207851d7674e
Author: Steven Dake <email address hidden>
Date: Thu Aug 20 00:35:38 2015 -0700

    Use database_user_create in the register operation

    The register operation was registering user_database which is a global
    variable in group_vars/all.yml. This results in glance not being deployable
    because user_database is overwrriten at keystone task registration time.

    The result of this is the playbooks fail to deploy.

    Change-Id: Ic69725fb09aa0a368ec5b0d8f47bfc768c29c70c
    Closes-Bug: #1486876

Changed in kolla:
status: In Progress → Fix Committed
Sam Yaple (s8m)
Changed in kolla:
status: Fix Committed → Fix Released
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.