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

Cannot build AWX UI #14770

Closed
5 of 11 tasks
SargeTDK opened this issue Jan 16, 2024 · 3 comments
Closed
5 of 11 tasks

Cannot build AWX UI #14770

SargeTDK opened this issue Jan 16, 2024 · 3 comments

Comments

@SargeTDK
Copy link

Please confirm the following

  • I agree to follow this project's code of conduct.
  • I have checked the current issues for duplicates.
  • I understand that AWX is open source software provided for free and that I might not receive a timely response.
  • I am NOT reporting a (potential) security vulnerability. (These should be emailed to security@ansible.com instead.)

Bug Summary

root@server:~# docker exec tools_awx_1 make clean-ui ui-devel
/var/lib/awx/venv/awx/lib64/python3.9/site-packages/setuptools_scm/git.py:163: UserWarning: "/awx_devel" is shallow and may cause errors
warnings.warn(f'"{wd.path}" is shallow and may cause errors')
/var/lib/awx/venv/awx/lib64/python3.9/site-packages/setuptools_scm/git.py:163: UserWarning: "/awx_devel" is shallow and may cause errors
warnings.warn(f'"{wd.path}" is shallow and may cause errors')
rm -rf node_modules
rm -rf awx/ui/node_modules
rm -rf awx/ui/build
rm -rf awx/ui/src/locales/_build
rm -rf awx/ui/.ui-built
mkdir -p awx/ui/build/static
NODE_OPTIONS=--max-old-space-size=6144 npm --prefix awx/ui --loglevel warn --force ci
npm WARN using --force Recommended protections disabled.
npm ERR! code ENOTDIR
npm ERR! syscall mkdir
npm ERR! path /awx_devel/awx/ui/node_modules/@babel/helper-compilation-targets/node_modules
npm ERR! errno -20
npm ERR! ENOTDIR: not a directory, mkdir '/awx_devel/awx/ui/node_modules/@babel/helper-compilation-targets/node_modules'

npm ERR! A complete log of this run can be found in:
npm ERR! /var/lib/awx/.npm/_logs/2024-01-16T14_52_25_562Z-debug-0.log
make: *** [Makefile:432: awx/ui/node_modules] Error 236

root@server:/home/user/awx# docker exec tools_awx_1 cat /var/lib/awx/.npm/_logs/2024-01-16T14_08_56_615Z-debug-0.log
0 verbose cli [
0 verbose cli '/usr/local/bin/node',
0 verbose cli '/usr/local/bin/npm',
0 verbose cli '--prefix',
0 verbose cli 'awx/ui',
0 verbose cli '--loglevel',
0 verbose cli 'warn',
0 verbose cli '--force',
0 verbose cli 'ci'
0 verbose cli ]
1 info using npm@8.5.0
2 info using node@v16.13.1
3 timing npm:load:whichnode Completed in 1ms
4 timing config:load:defaults Completed in 2ms
5 timing config:load:file:/usr/local/lib/node_modules/npm/npmrc Completed in 70ms
6 timing config:load:builtin Completed in 71ms
7 timing config:load:cli Completed in 4ms
8 timing config:load:env Completed in 0ms
9 timing config:load:file:/awx_devel/awx/ui/.npmrc Completed in 30ms
10 timing config:load:project Completed in 31ms
11 timing config:load:file:/var/lib/awx/.npmrc Completed in 3ms
12 timing config:load:user Completed in 3ms
13 timing config:load:file:/etc/npmrc Completed in 2ms
14 timing config:load:global Completed in 2ms
15 timing config:load:validate Completed in 0ms
16 timing config:load:credentials Completed in 2ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 116ms
19 timing npm:load:configload Completed in 116ms
20 timing npm:load:setTitle Completed in 1ms
21 timing config:load:flatten Completed in 36ms
22 timing npm:load:display Completed in 37ms
23 verbose logfile /var/lib/awx/.npm/_logs/2024-01-16T14_08_56_615Z-debug-0.log
24 timing npm:load:logFile Completed in 63ms
25 timing npm:load:timers Completed in 0ms
26 timing npm:load:configScope Completed in 0ms
27 warn using --force Recommended protections disabled.
28 timing npm:load Completed in 227ms
29 timing arborist:ctor Completed in 2ms
30 silly logfile start cleaning logs, removing 1 files
31 timing npm-ci:rm Completed in 41ms
32 timing idealTree:init Completed in 30ms
33 timing idealTree:userRequests Completed in 0ms
34 silly idealTree buildDeps
35 timing idealTree:#root Completed in 9ms
36 timing idealTree:buildDeps Completed in 11ms
37 timing idealTree:fixDepFlags Completed in 0ms
38 timing idealTree Completed in 67ms
39 timing reify:loadTrees Completed in 141ms
40 timing reify:diffTrees Completed in 211ms
41 silly reify moves {}
42 timing reify:retireShallow Completed in 0ms
43 timing reify:rollback:createSparse Completed in 1023ms
44 timing reify:rollback:retireShallow Completed in 0ms
45 timing command:ci Completed in 652450ms
46 verbose stack Error: ENOTDIR: not a directory, mkdir '/awx_devel/awx/ui/node_modules/@babel/plugin-transform-runtime/node_modules'
47 verbose cwd /awx_devel
48 verbose Linux 5.15.0-91-generic
49 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "--prefix" "awx/ui" "--loglevel" "warn" "--force" "ci"
50 verbose node v16.13.1
51 verbose npm v8.5.0
52 error code ENOTDIR
53 error syscall mkdir
54 error path /awx_devel/awx/ui/node_modules/@babel/plugin-transform-runtime/node_modules
55 error errno -20
56 error ENOTDIR: not a directory, mkdir '/awx_devel/awx/ui/node_modules/@babel/plugin-transform-runtime/node_modules'
57 verbose exit -20
58 timing npm Completed in 654326ms
59 verbose unfinished npm timer reify 1705414148619
60 verbose unfinished npm timer reify:createSparse 1705414148987
61 verbose code -20
62 error A complete log of this run can be found in:
62 error /var/lib/awx/.npm/_logs/2024-01-16T14_08_56_615Z-debug-0.log

AWX version

23.6.0

Select the relevant components

  • UI
  • UI (tech preview)
  • API
  • Docs
  • Collection
  • CLI
  • Other

Installation method

docker development environment

Modifications

no

Ansible version

2.16.2

Operating system

Ubuntu 22.04.3

Web browser

No response

Steps to reproduce

root@server:/home/user/awx# docker exec tools_awx_1 make clean-ui ui-devel

root@server:/home/user/awx# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy

root@server:/home/user/awx# ansible --version
ansible [core 2.16.2]
config file = None
configured module search path = ['/root/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.10/dist-packages/ansible
ansible collection location = /root/.ansible/collections:/usr/share/ansible/collections
executable location = /usr/local/bin/ansible
python version = 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] (/usr/bin/python3)
jinja version = 3.0.3
libyaml = True

root@server:/home/user/awx# docker --version
Docker version 24.0.5, build 24.0.5-0ubuntu1~22.04.1

root@server:/home/user/awx# docker-compose --version
docker-compose version 1.29.2, build unknown

Expected results

build

Actual results

crash

Additional information

No response

@chrismeyersfsu
Copy link
Member

chrismeyersfsu commented Jan 17, 2024

I actually get a different error when I try and reproduce:

EACCES: permission denied, copyfile '/awx_devel/awx/ui/public/installing.html' -> '/awx_devel/awx/ui/build/installing.html'

I checked, and the /awx_devel/awx/ui/build directory is owned by root. I deleted that directory the re-ran. The directory came back and is owned by root again.

edit: silly me, I was root in the container. Retrying now.
edit: Works for me.

I'd suggest deleting the problematic file/directory rm -rf awx/ui/node_modules outside of the container and then retry.

@chrismeyersfsu
Copy link
Member

@SargeTDK I'll mention what I ran into, maybe you hit the same thing. I ran the build as the root user. This created a bunch of dirs as the root user. If you then later run make clean-ui as a non-root user it will succeed, BUT the rm -rf .. commands will hide the failures. The root owned dirs will still exist and cause the build step to fail.

TL;DR run make clean-ui outside of the container or as root in the container then re-rerun the UI build.

@SargeTDK
Copy link
Author

I rebuild everything as non-root user and it works for me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants