Closed IAmStoxe closed 1 year ago
Hi there! Do you still have this issue?
What's your operation system? What is the output in the console?
I'm having a very similar issue. Here are the OSes I've tried (all are 64-bit): (1) Debian 10 on Hyper-V (Win Server 2019) -> Horrible memory leakage (unrelated to Plynx; seems to be WSL + docker issue) that fills up to 64GB of RAM before crashing (2) Ubuntu 20 LTS on Hyper-V (Win Server 2019), CentOS 8 on Hyper-V (Win Server 2019), Debian 10 on VMWare Fusion (Mac OS), Debian 10 on VMWare ESXi -> "make build," "make up" results in dashboard loading with a forever spinner (and none of the middle menu items work; only the top menu links to GitHub, plynx.com, etc. work); after that, any redirect ends up being a blank screen: e.g., http://10.11.204.34:3001/templates/basic-dag-workflow
user@plynx:~/plynx$
sudo make build
...
user@plynx:~/plynx$ sudo make up
python -m webbrowser "http://localhost:3001/"
docker-compose -f ./docker-compose.yml up --scale workers=3 --scale test=0
Creating network "plynx_default" with the default driver
Pulling mongodb (mongo:3.6-jessie)...
3.6-jessie: Pulling from library/mongo
57936531d1ee: Pull complete
2ed5d5ed43af: Pull complete
593c35b024dd: Pull complete
84e56f711c3d: Pull complete
c1b3b037c3b1: Pull complete
732075c59cb7: Pull complete
6c1472157428: Pull complete
fad36ffa7dcb: Pull complete
4df2313dcfc2: Pull complete
c860e12fee0b: Pull complete
Digest: sha256:c2f6293248cb617bad30db9d2d569ba670ff4c5f9d7ed4764e1db8436fce0673
Status: Downloaded newer image for mongo:3.6-jessie
Creating mongodb ... done
Creating api ... done
Creating plynx_workers_1 ... done
Creating plynx_workers_2 ... done
Creating plynx_workers_3 ... done
Creating master ... done
Creating frontend ... done
Attaching to mongodb, api, master, plynx_workers_3, plynx_workers_2, plynx_workers_1, frontend
api | CRITICAL:root:Using config config.yaml
workers_2 | CRITICAL:root:Using config config.yaml
workers_3 | CRITICAL:root:Using config config.yaml
master | CRITICAL:root:Using config config.yaml
workers_1 | CRITICAL:root:Using config config.yaml
workers_2 | INFO:root:Try db connection
workers_3 | INFO:root:Try db connection
master | INFO:root:Try db connection
workers_1 | INFO:root:Try db connection
workers_2 | INFO:root:Init Worker
workers_2 | INFO:root:WorkerConfig(kinds=['basic-bash-jinja2-operation', 'basic-python-node-operation', 'basic-dag-operation'])
workers_3 | INFO:root:Init Worker
workers_3 | INFO:root:WorkerConfig(kinds=['basic-bash-jinja2-operation', 'basic-python-node-operation', 'basic-dag-operation'])
workers_2 | INFO:root:Start serving
master | INFO:root:Init Worker
master | INFO:root:WorkerConfig(kinds=['basic-dag-workflow'])
workers_3 | INFO:root:Start serving
master | INFO:root:Start serving
workers_1 | INFO:root:Init Worker
workers_1 | INFO:root:WorkerConfig(kinds=['basic-bash-jinja2-operation', 'basic-python-node-operation', 'basic-dag-operation'])
workers_1 | INFO:root:Start serving
api | /usr/local/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 152, got 144
api | return f(*args, kwds)
api | /usr/local/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 152, got 144
api | return f(*args, *kwds)
api | /usr/local/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 152, got 144
api | return f(args, kwds)
api | /usr/local/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 152, got 144
api | return f(*args, *kwds)
api | /usr/local/lib/python3.7/importlib/_bootstrap.py:219: RuntimeWarning: greenlet.greenlet size changed, may indicate binary incompatibility. Expected 152, got 144
api | return f(args, *kwds)
api | INFO:root:Using default IAM policies for new users: {'IS_ADMIN', 'CAN_CREATE_WORKFLOWS', 'CAN_RUN_WORKFLOWS', 'CAN_VIEW_WORKFLOWS', 'CAN_CREATE_OPERATIONS', 'CAN_VIEW_OTHERS_OPERATIONS', 'CAN_VIEW_OTHERS_WORKFLOWS', 'CAN_VIEW_OPERATIONS', 'CAN_MODIFY_OTHERS_WORKFLOWS'}
api | INFO:root:Try db connection
api | INFO:root:Single user mode
api | INFO:root:Created default user default
api | INFO:root:{"_id": "5f96f8d984deba2d0c8411dc", "_type": "Node", "title": "Sum of numbers", "description": "sum", "kind": "basic-bash-jinja2-operation", "parent_node_id": null, "successor_node_id": null, "original_node_id": null, "inputs": [{"input_references": [], "name": "in", "file_type": "file", "values": [], "is_array": true, "min_count": 1}], "outputs": [{"name": "out", "file_type": "file", "values": [], "is_array": false, "min_count": 1}], "parameters": [{"name": "_cmd", "parameter_type": "code", "value": {"value": "cat {{inputs[\"in\"] | join(\" \")}} | paste -sd+ | bc >> {{outputs[\"out\"]}}", "mode": "sh"}, "mutable_type": false, "removable": false, "publicable": false, "widget": null, "reference": null}, {"name": "_cacheable", "parameter_type": "bool", "value": false, "mutable_type": false, "removable": false, "publicable": false, "widget": null, "reference": null}, {"name": "_timeout", "parameter_type": "int", "value": 600, "mutable_type": false, "removable": false, "publicable": true, "widget": null, "reference": null}], "logs": [{"name": "stderr", "file_type": "file", "values": [], "is_array": false, "min_count": 1}, {"name": "stdout", "file_type": "file", "values": [], "is_array": false, "min_count": 1}, {"name": "worker", "file_type": "file", "values": [], "is_array": false, "min_count": 1}], "node_running_status": "CREATED", "node_status": "CREATED", "cache_url": "", "x": 0, "y": 0, "author": "5f96f8d984deba2d0c8411db", "starred": false}
api | INFO:root:{"_id": "5f96f8d984deba2d0c8411dd", "_type": "Node", "title": "Numbers A to B", "description": "Print text", "kind": "basic-bash-jinja2-operation", "parent_node_id": null, "successor_node_id": null, "original_node_id": null, "inputs": [], "outputs": [{"name": "out", "file_type": "file", "values": [], "is_array": false, "min_count": 1}], "parameters": [{"name": "_cmd", "parameter_type": "code", "value": {"value": "seq {{params[\"from\"]}} {{params[\"to\"]}} >> {{outputs[\"out\"]}}", "mode": "sh"}, "mutable_type": false, "removable": false, "publicable": false, "widget": null, "reference": null}, {"name": "_cacheable", "parameter_type": "bool", "value": false, "mutable_type": false, "removable": false, "publicable": false, "widget": null, "reference": null}, {"name": "_timeout", "parameter_type": "int", "value": 600, "mutable_type": false, "removable": false, "publicable": true, "widget": null, "reference": null}, {"name": "from", "parameter_type": "str", "value": "1", "mutable_type": true, "removable": true, "publicable": true, "widget": "From", "reference": null}, {"name": "to", "parameter_type": "str", "value": "100", "mutable_type": true, "removable": true, "publicable": true, "widget": "To", "reference": null}], "logs": [{"name": "stderr", "file_type": "file", "values": [], "is_array": false, "min_count": 1}, {"name": "stdout", "file_type": "file", "values": [], "is_array": false, "min_count": 1}, {"name": "worker", "file_type": "file", "values": [], "is_array": false, "min_count": 1}], "node_running_status": "CREATED", "node_status": "CREATED", "cache_url": "", "x": 0, "y": 0, "author": "5f96f8d984deba2d0c8411db", "starred": false}
api | Serving Flask app "plynx.web.common" (lazy loading)
api | Environment: production
api | WARNING: This is a development server. Do not use it in a production deployment.
api | Use a production WSGI server instead.
api | Debug mode: on
api | INFO:werkzeug: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)frontend | 10.15.136.19 - - [26/Oct/2020:16:27:50 +0000] "GET / HTTP/1.1" 200 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36"
frontend | 10.15.136.19 - - [26/Oct/2020:16:27:52 +0000] "GET /meta.json HTTP/1.1" 200 - "http://10.11.204.34:3001/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36"
frontend | 10.15.136.19 - default [26/Oct/2020:16:27:52 +0000] "GET /plynx/api/v0/token HTTP/1.1" 200 - "http://10.11.204.34:3001/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36"
frontend | 10.15.136.19 - - [26/Oct/2020:16:27:52 +0000] "GET /templates/basic-dag-workflow HTTP/1.1" 200 - "http://10.11.204.34:3001/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36"
frontend | 10.15.136.19 - undefined [26/Oct/2020:16:27:52 +0000] "GET /plynx/api/v0/templates/basic-dag-workflow HTTP/1.1" 200 - "http://10.11.204.34:3001/templates/basic-dag-workflow" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36"
frontend | 10.15.136.19 - undefined [26/Oct/2020:16:28:08 +0000] "GET /plynx/api/v0/templates/basic-dag-workflow HTTP/1.1" 304 - "http://10.11.204.34:3001/templates/basic-dag-workflow" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36"
frontend | 10.15.136.19 - undefined [26/Oct/2020:16:28:15 +0000] "GET /plynx/api/v0/worker_states HTTP/1.1" 200 - "http://10.11.204.34:3001/dashboard" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36"
frontend | 10.15.136.19 - - [26/Oct/2020:16:28:15 +0000] "GET /dashboard HTTP/1.1" 200 - "http://10.11.204.34:3001/dashboard" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36"'
I have also tried (on all the above VMs) launching the individual UI + Plynx api/workers on their own (no containers; each launched using a separate Linux process) with a standalone MongoDB instance and everything seems to connect fine and "work" (no terminal error messages), but the same behavior (blank pages). I even hard-coded paths in ui/src/configConsts.js, config.yaml, and docker-compose.yml, but it made no difference.
RESOLVED
The issue seems related to docker container routing outside of MacOS environment (which presumably is what the project developers have been using exclusively for dev/testing of the plynx ecosystem). On Windows Server 2019 + docker, or any modern Debian/RHEL flavor of *nix, the following works:
(1) Modify plynx/ui/src/configConsts.js to return the hard-coded server path (e.g., https://www.mysite.com/plynx/api/v0) (2) Modify the docker compose and config files to NOT build/launch the UI or nginx containers (3) Build the UI/react elements individually (cd ui; npm run build) (4) Install Nginx on the host, create a plynx_ui.conf as appropriate, and create a symbolic link from Nginx root folder (e.g., /var/www/html) to the plynx/ui/build folder; essentially, Nginx will be serving as the r-proxy, load balancer, and HTTP server (5) Launch the other services (flask+DB) via provided docker compose config (e.g., $ sudo make build; sudo make up) (*) Use systemd service script to daemonize the above
Thanks Ashton! The issue looks very weird. Not sure yet how to fix it given that I don't have Windows machine.
I hoped docker + docker-compose would make running plynx easier, so that you don't have to rebuild everything from scratch
Agreed, docker was supposed to make life easier, lol!
Have you experienced any issues launching on Debian 10 or Ubuntu 20.04 or CentOS 8? I've experienced an identical issue on all 3.
On Thu, Oct 29, 2020, 7:14 AM Ivan notifications@github.com wrote:
Thanks Ashton! The issue looks very weird. Not sure yet how to fix it given that I don't have Windows machine.
I hoped docker + docker-compose would make running plynx easier, so that you don't have to rebuild everything from scratch
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/plynx-team/plynx/issues/81#issuecomment-718781113, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH2KK6SLRU77QBCDOCG5ANLSNF2FXANCNFSM4QMF7NOQ .
I'm having the same issue on Ubuntu 20.04.
After following the very easy steps of cloning and
make up
I am left with the below spinner (forever) when launching :3001