Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

First Attempt at Image Build Times Out #73

Closed
jjaswanson4 opened this issue Jan 6, 2023 · 1 comment
Closed

First Attempt at Image Build Times Out #73

jjaswanson4 opened this issue Jan 6, 2023 · 1 comment
Assignees

Comments

@jjaswanson4
Copy link
Contributor

Image Builder builds a local cache of packages the first time a compose is submitted, which takes a few minutes.

Currently, the 'Start compose' task will fail on the first try due to not waiting long enough for this timeout:

An exception occurred during task execution. To see the full traceback, use -vvv. The error was: socket.timeout: timed out
fatal: [edge-manager-aws]: FAILED! => {"changed": false, "module_stderr": "Shared connection to 18.191.233.197 closed.\r\n", "module_stdout": "Traceback (most recent call last):\r\n  File \"/home/ec2-user/.ansible/tmp/ansible-tmp-1673036945.4251916-430574-120449954195479/AnsiballZ_start_compose.py\", line 107, in <module>\r\n    _ansiballz_main()\r\n  File \"/home/ec2-user/.ansible/tmp/ansible-tmp-1673036945.4251916-430574-120449954195479/AnsiballZ_start_compose.py\", line 99, in _ansiballz_main\r\n    invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\r\n  File \"/home/ec2-user/.ansible/tmp/ansible-tmp-1673036945.4251916-430574-120449954195479/AnsiballZ_start_compose.py\", line 48, in invoke_module\r\n    run_name='__main__', alter_sys=True)\r\n  File \"/usr/lib64/python3.6/runpy.py\", line 205, in run_module\r\n    return _run_module_code(code, init_globals, run_name, mod_spec)\r\n  File \"/usr/lib64/python3.6/runpy.py\", line 96, in _run_module_code\r\n    mod_name, mod_spec, pkg_name, script_name)\r\n  File \"/usr/lib64/python3.6/runpy.py\", line 85, in _run_code\r\n    exec(code, run_globals)\r\n  File \"/tmp/ansible_infra.osbuild.start_compose_payload_pje5d7f1/ansible_infra.osbuild.start_compose_payload.zip/ansible_collections/infra/osbuild/plugins/modules/start_compose.py\", line 288, in <module>\r\n  File \"/tmp/ansible_infra.osbuild.start_compose_payload_pje5d7f1/ansible_infra.osbuild.start_compose_payload.zip/ansible_collections/infra/osbuild/plugins/modules/start_compose.py\", line 259, in main\r\n  File \"/tmp/ansible_infra.osbuild.start_compose_payload_pje5d7f1/ansible_infra.osbuild.start_compose_payload.zip/ansible_collections/infra/osbuild/plugins/module_utils/weldrapiv1.py\", line 176, in post_compose\r\n  File \"/tmp/ansible_infra.osbuild.start_compose_payload_pje5d7f1/ansible_infra.osbuild.start_compose_payload.zip/ansible/module_utils/urls.py\", line 1557, in open\r\n  File \"/usr/lib64/python3.6/urllib/request.py\", line 223, in urlopen\r\n    return opener.open(url, data, timeout)\r\n  File \"/usr/lib64/python3.6/urllib/request.py\", line 526, in open\r\n    response = self._open(req, data)\r\n  File \"/usr/lib64/python3.6/urllib/request.py\", line 544, in _open\r\n    '_open', req)\r\n  File \"/usr/lib64/python3.6/urllib/request.py\", line 504, in _call_chain\r\n    result = func(*args)\r\n  File \"/tmp/ansible_infra.osbuild.start_compose_payload_pje5d7f1/ansible_infra.osbuild.start_compose_payload.zip/ansible/module_utils/urls.py\", line 677, in http_open\r\n  File \"/usr/lib64/python3.6/urllib/request.py\", line 1352, in do_open\r\n    r = h.getresponse()\r\n  File \"/usr/lib64/python3.6/http/client.py\", line 1365, in getresponse\r\n    response.begin()\r\n  File \"/usr/lib64/python3.6/http/client.py\", line 320, in begin\r\n    version, status, reason = self._read_status()\r\n  File \"/usr/lib64/python3.6/http/client.py\", line 281, in _read_status\r\n    line = str(self.fp.readline(_MAXLINE + 1), \"iso-8859-1\")\r\n  File \"/usr/lib64/python3.6/socket.py\", line 586, in readinto\r\n    return self._sock.recv_into(b)\r\nsocket.timeout: timed out\r\n", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

Increasing the timeout should resolve this issue. It may need to be as high as 10-15 minutes - building the cache can take a hot minute depending on connection speed, system utilization, how the CDN is feeling that day, etc.

@jjaswanson4
Copy link
Contributor Author

Upon further testing: it seems like the socket is getting closed, yet the build does actually start happening:

[root@edge-manager-aws ~]# composer-cli compose list
424b1575-096c-4613-b357-b6a17372941a RUNNING rhde-image 0.0.1 edge-commit

This can kinda be worked around by just re-running the task (or role) right now, but it queues up another build. Not the worst thing in the world, but probably should be fixed.

@maxamillion maxamillion self-assigned this Jan 11, 2023
maxamillion added a commit to maxamillion/infra.osbuild that referenced this issue Jan 12, 2023
This will help resolve issues with first compose of a blueprint when new
content repositories have been enabled on the osbuild-composer system.

Fixes#73
redhat-cop#73

Signed-off-by: Adam Miller <admiller@redhat.com>
maxamillion added a commit that referenced this issue Jan 12, 2023
This will help resolve issues with first compose of a blueprint when new
content repositories have been enabled on the osbuild-composer system.

Fixes#73
#73

Signed-off-by: Adam Miller <admiller@redhat.com>

Signed-off-by: Adam Miller <admiller@redhat.com>
@matoval matoval closed this as completed Jan 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants