Ansible Tower upgrade to 3.8 or 3.7 fails during awx-manage migrate task

Solution Verified - Updated -

Issue

  • When upgrading from Ansible Tower 3.6.7 to Ansible Tower 3.7 the task awx-manage migrate fails
  • When upgrading from Ansible Tower 3.6.7 to Ansible Tower 3.8 the task awx-manage migrate fails
  • When upgrading Ansible Tower 3.6 the following task fails: [awx_install : Migrate the Tower database schema (may take awhile when upgrading).]
  • When upgrading Ansible Tower 3.6 the following error involving the /usr/lib64/python3.6/logging/handlers.py file is displayed at the awx-manage migrate --noinput task and the process is interrupted:
fatal: [localhost]: FAILED! => {
    "changed": true, 
    "cmd": [
        "awx-manage", 
        "migrate", 
        "--noinput"
    ], 
    "delta": "0:00:05.691145", 
    "end": "[...]", 
    "invocation": {
        "module_args": {
            "_raw_params": "awx-manage migrate --noinput", 
            [...]
        }
    }, 
    "msg": "non-zero return code", 
    "rc": 1, 
    "start": "[...]", 
    "stderr": "[....]",                                                                                                                            
    "stderr_lines": [
        "Traceback (most recent call last):", 
        "  File \"/usr/lib64/python3.6/logging/handlers.py\", line 936, in emit", 
        "    self.socket.send(msg)", 
        "OSError: [Errno 9] Bad file descriptor", 
        "", 
        "During handling of the above exception, another exception occurred:", 
        "", 
        "Traceback (most recent call last):", 
        "  File \"/usr/lib64/python3.6/logging/handlers.py\", line 857, in _connect_unixsocket", 
        "    self.socket.connect(address)", 
        "FileNotFoundError: [Errno 2] No such file or directory", 
        "", 
        "During handling of the above exception, another exception occurred:", 
        "", 
        "Traceback (most recent call last):", 
        "  File \"/usr/lib64/python3.6/logging/handlers.py\", line 939, in emit", 
        "    self._connect_unixsocket(self.address)", 
        "  File \"/var/lib/awx/venv/awx/lib64/python3.6/site-packages/awx/main/utils/handlers.py\", line 19, in _connect_unixsocket", 
        "    super(RSysLogHandler, self)._connect_unixsocket(address)", 
        "  File \"/usr/lib64/python3.6/logging/handlers.py\", line 868, in _connect_unixsocket", 
        "    self.socket.connect(address)", 
        "FileNotFoundError: [Errno 2] No such file or directory", 
[...]
        "  File \"/var/lib/awx/venv/awx/lib64/python3.6/site-packages/awx/main/utils/handlers.py\", line 41, in handleError", 
        "    msg = '\\n'.join([msg, record.msg, ''])", 
        "TypeError: sequence item 1: expected str instance, __proxy__ found"
    ], 
    "stdout": "[...], 
    "stdout_lines": [
        "Operations to perform:", 
        "  Apply all migrations: auth, conf, contenttypes, main, oauth2_provider, sessions, sites, social_django, sso, taggit", 
        "Running migrations:", 
        "  Applying main.0120_galaxy_credentials..."
    ]
}

Environment

  • Red Hat Enterprise Linux 7 (RHEL 7)
  • Ansible Tower 3.8
  • Ansible Tower 3.7
  • Ansible Tower 3.6

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content