The project could not sync because there is no Execution Environment.

I’m attempting to create a new Project in a new 20.10.2 environment, and getting:
raise RuntimeError(‘The project could not sync because there is no Execution Environment.’)

Details below, but I have 2 EEs defined and neither works. I’ve patterned them after my working 20.0.1 environments, but I may be doing something wrong in 21.10.2. I’d have thought the build would have done this for me, but maybe I did something wrong in the build.

I have these defined:
{
“count”: 2,
“next”: null,
“previous”: null,
“results”: [
{
“id”: 2,
“type”: “execution_environment”,
“url”: “/api/v2/execution_environments/2/”,
“related”: {
“created_by”: “/api/v2/users/2/”,
“modified_by”: “/api/v2/users/2/”,
“activity_stream”: “/api/v2/execution_environments/2/activity_stream/”,
“unified_job_templates”: “/api/v2/execution_environments/2/unified_job_templates/”,
“copy”: “/api/v2/execution_environments/2/copy/”,
“organization”: “/api/v2/organizations/1/”
},
“summary_fields”: {
“organization”: {
“id”: 1,
“name”: “Middleware”,
“description”: “”
},
“created_by”: {
“id”: 2,
“username”: “myid”,
“first_name”: “Kevin”,
“last_name”: “Knox”
},
“modified_by”: {
“id”: 2,
“username”: “myid”,
“first_name”: “Kevin”,
“last_name”: “Knox”
},
“user_capabilities”: {
“edit”: true,
“delete”: true,
“copy”: true
}
},
“created”: “2022-12-29T19:52:09.003208Z”,
“modified”: “2022-12-29T19:52:09.003222Z”,
“name”: “AWX EE Latest”,
“description”: “”,
“organization”: 1,
“image”: “quay.io/ansible/awx-ee:latest”,
“managed”: false,
“credential”: null,
“pull”: “”
},
{
“id”: 1,
“type”: “execution_environment”,
“url”: “/api/v2/execution_environments/1/”,
“related”: {
“created_by”: “/api/v2/users/2/”,
“modified_by”: “/api/v2/users/2/”,
“activity_stream”: “/api/v2/execution_environments/1/activity_stream/”,
“unified_job_templates”: “/api/v2/execution_environments/1/unified_job_templates/”,
“copy”: “/api/v2/execution_environments/1/copy/”,
“organization”: “/api/v2/organizations/1/”
},
“summary_fields”: {
“organization”: {
“id”: 1,
“name”: “Middleware”,
“description”: “”
},
“created_by”: {
“id”: 2,
“username”: “myid”,
“first_name”: “Kevin”,
“last_name”: “Knox”
},
“modified_by”: {
“id”: 2,
“username”: “myid”,
“first_name”: “Kevin”,
“last_name”: “Knox”
},
“user_capabilities”: {
“edit”: true,
“delete”: true,
“copy”: true
}
},
“created”: “2022-12-29T19:45:19.883190Z”,
“modified”: “2022-12-29T19:45:19.883209Z”,
“name”: “Control Plane Execution Environment”,
“description”: “”,
“organization”: 1,
“image”: “quay-remote.rtfx.mycompany.com/ansible/awx-ee:latest”,
“managed”: false,
“credential”: null,
“pull”: “”
}
]
}

My project is this:
{
“count”: 1,
“next”: null,
“previous”: null,
“results”: [
{
“id”: 6,
“type”: “project”,
“url”: “/api/v2/projects/6/”,
“related”: {
“created_by”: “/api/v2/users/2/”,
“modified_by”: “/api/v2/users/2/”,
“credential”: “/api/v2/credentials/1/”,
“last_job”: “/api/v2/project_updates/3/”,
“teams”: “/api/v2/projects/6/teams/”,
“playbooks”: “/api/v2/projects/6/playbooks/”,
“inventory_files”: “/api/v2/projects/6/inventories/”,
“update”: “/api/v2/projects/6/update/”,
“project_updates”: “/api/v2/projects/6/project_updates/”,
“scm_inventory_sources”: “/api/v2/projects/6/scm_inventory_sources/”,
“schedules”: “/api/v2/projects/6/schedules/”,
“activity_stream”: “/api/v2/projects/6/activity_stream/”,
“notification_templates_started”: “/api/v2/projects/6/notification_templates_started/”,
“notification_templates_success”: “/api/v2/projects/6/notification_templates_success/”,
“notification_templates_error”: “/api/v2/projects/6/notification_templates_error/”,
“access_list”: “/api/v2/projects/6/access_list/”,
“object_roles”: “/api/v2/projects/6/object_roles/”,
“copy”: “/api/v2/projects/6/copy/”,
“organization”: “/api/v2/organizations/1/”,
“default_environment”: “/api/v2/execution_environments/2/”,
“last_update”: “/api/v2/project_updates/3/”
},
“summary_fields”: {
“organization”: {
“id”: 1,
“name”: “Middleware”,
“description”: “”
},
“default_environment”: {
“id”: 2,
“name”: “AWX EE Latest”,
“description”: “”,
“image”: “quay.io/ansible/awx-ee:latest
},
“credential”: {
“id”: 1,
“name”: “kevin_personal”,
“description”: “”,
“kind”: “scm”,
“cloud”: false,
“kubernetes”: false,
“credential_type_id”: 2
},
“last_job”: {
“id”: 3,
“name”: “WAF”,
“description”: “”,
“finished”: “2022-12-29T19:52:27.646646Z”,
“status”: “error”,
“failed”: true
},
“last_update”: {
“id”: 3,
“name”: “WAF”,
“description”: “”,
“status”: “error”,
“failed”: true
},
“created_by”: {
“id”: 2,
“username”: “myid”,
“first_name”: “Kevin”,
“last_name”: “Knox”
},
“modified_by”: {
“id”: 2,
“username”: “myid”,
“first_name”: “Kevin”,
“last_name”: “Knox”
},
“object_roles”: {
“admin_role”: {
“description”: “Can manage all aspects of the project”,
“name”: “Admin”,
“id”: 22
},
“use_role”: {
“description”: “Can use the project in a job template”,
“name”: “Use”,
“id”: 23
},
“update_role”: {
“description”: “May update the project”,
“name”: “Update”,
“id”: 24
},
“read_role”: {
“description”: “May view settings for the project”,
“name”: “Read”,
“id”: 25
}
},
“user_capabilities”: {
“edit”: true,
“delete”: true,
“start”: true,
“schedule”: true,
“copy”: true
}
},
“created”: “2022-12-29T19:47:34.278960Z”,
“modified”: “2022-12-29T19:52:25.154452Z”,
“name”: “WAF”,
“description”: “”,
“local_path”: “_6__waf”,
“scm_type”: “git”,
“scm_url”: “https://github.mycompany.com/AEP/WAF”,
“scm_branch”: “”,
“scm_refspec”: “”,
“scm_clean”: false,
“scm_track_submodules”: false,
“scm_delete_on_update”: false,
“credential”: 1,
“timeout”: 0,
“scm_revision”: “”,
“last_job_run”: “2022-12-29T19:52:27.646646Z”,
“last_job_failed”: true,
“next_job_run”: null,
“status”: “error”,
“organization”: 1,
“scm_update_on_launch”: false,
“scm_update_cache_timeout”: 0,
“allow_override”: false,
“custom_virtualenv”: null,
“default_environment”: 2,
“signature_validation_credential”: null,
“last_update_failed”: true,
“last_updated”: “2022-12-29T19:52:27.646646Z”
}
]
}

So, my Task node seems broken:
2022-12-28 17:18:16,305 INFO success: superwatcher entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2022-12-28 17:18:16,305 INFO success: superwatcher entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2022-12-28 17:18:17,606 WARNING [-] awx.main.dispatch.periodic periodic beat started 2022-12-28 17:18:17,646 INFO [-] awx.main.dispatch Running worker dispatcher listening to queues [‘tower_broadcast_all’, ‘it-network-engineering-awx-7f7bc49ccc-b2v45’] Task exception was never retrieved future: <Task finished name=‘Task-3’ coro=<Connection.disconnect() done, defined at /var/lib/awx/venv/awx/lib64/python3.9/site-packages/redis/asyncio/connection.py:828> exception=RuntimeError(‘Event loop is closed’)> Traceback (most recent call last): File “/var/lib/awx/venv/awx/lib64/python3.9/site-packages/redis/asyncio/connection.py”, line 837, in disconnect self._writer.close() # type: ignore[union-attr] File “/usr/lib64/python3.9/asyncio/streams.py”, line 353, in close return self._transport.close() File “/usr/lib64/python3.9/asyncio/selector_events.py”, line 698, in close self._loop.call_soon(self._call_connection_lost, None) File “/usr/lib64/python3.9/asyncio/base_events.py”, line 751, in call_soon self._check_closed() File “/usr/lib64/python3.9/asyncio/base_events.py”, line 515, in _check_closed raise RuntimeError(‘Event loop is closed’) RuntimeError: Event loop is closed

Hi, were you able to resolve this issue? Are you still on 20.10.2?

AWX Team

Yes. This was because I did not allow the build to complete. I would see the message saying it was attempting to connect and launch a manual migration and that would corrupt the database. I’ve learned to walk away for a bit after the apply and the problem evaporates.