plynx-team / plynx

PLynx is a domain agnostic platform for managing reproducible experiments and data-oriented workflows.
https://plynx.com
Apache License 2.0
304 stars 38 forks source link

Loader just spins upon launch #81

Closed IAmStoxe closed 1 year ago

IAmStoxe commented 4 years ago

After following the very easy steps of cloning and make up I am left with the below spinner (forever) when launching :3001

image

khaxis commented 4 years ago

Hi there! Do you still have this issue?

What's your operation system? What is the output in the console?

amozano commented 4 years ago

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

amozano commented 4 years ago

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"'

amozano commented 4 years ago

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.

amozano commented 4 years ago

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

khaxis commented 4 years ago

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

amozano commented 4 years ago

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 .

Misterdudeman commented 4 years ago

I'm having the same issue on Ubuntu 20.04.