onedata / getting-started

A collection of installation scripts for getting started with Onedata.
MIT License
4 stars 7 forks source link

Getting Started - Help for scenario 1.0 #47

Closed carmat88 closed 6 years ago

carmat88 commented 6 years ago

Hello guys. We are trying to follow your Getting Started instructions in order to learn a bit more about your project. However already during scenario 1.0 we are struggling with the documentation and thus hitting some errors (maybe due to us misreading the guidelines).

We have spawned up a VM (Ubuntu 16.04) with a public IP, made sure to install docker and docker compose and above all to open the ports as mentioned in your documentation here.

When we run the command:

./run_onedata.sh --provider --zone-fqdn beta.onedata.org --provider-fqdn <vm-public-ip>

The process fails at the step check_oz_availability stating:

oneprovider-1        | Error: Service Error
oneprovider-1        | Description: Action 'deploy' for a service 'oneprovider' terminated with an error.
oneprovider-1        | Module: service_oneprovider
oneprovider-1        | Function: check_oz_availability
oneprovider-1        | Hosts: node1.oneprovider.local
oneprovider-1        | For more information please check the logs.
oneprovider-1 exited with code 1

These are the error logs from /var/log/op_panel and /var/log/op_worker

2018-05-22 09:40:35.072 [error] <0.369.0>@service_utils:log:242 Step service_oneprovider:check_oz_availability failed
Node: 'onepanel@node1.oneprovider.local'
Reason: onezone_not_available
Stacktrace: [{inet_parse,ipv6_addr,3,[{file,"inet_parse.erl"},{line,658}]},
             {inet_parse,ipv6strict_address,1,
                 [{file,"inet_parse.erl"},{line,631}]},
             {hackney_util,is_ipv6,1,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/default/lib/hackney/src/hackney_util.erl"},
                  {line,74}]},
             {hackney_connect,do_connect,5,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/default/lib/hackney/src/hackney_connect.erl"},
                  {line,232}]},
             {hackney_connect,connect,5,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/default/lib/hackney/src/hackney_connect.erl"},
                  {line,37}]},
             {hackney,request,5,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/default/lib/hackney/src/hackney.erl"},
                  {line,328}]},
             {http_client,do_request,5,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/default/lib/web_client/src/http_client/http_client.erl"},
                  {line,436}]},
             {service_oneprovider,check_oz_availability,1,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/package/lib/onepanel/src/services/modules/service_oneprovider.erl"},
                  {line,262}]}]
2018-05-22 09:41:05.314 [error] <0.369.0>@service_utils:log:242 Step service_oneprovider:check_oz_availability failed
Node: 'onepanel@node1.oneprovider.local'
Reason: onezone_not_available
Stacktrace: [{inet_parse,ipv6_addr,3,[{file,"inet_parse.erl"},{line,658}]},
             {inet_parse,ipv6strict_address,1,
                 [{file,"inet_parse.erl"},{line,631}]},
             {hackney_util,is_ipv6,1,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/default/lib/hackney/src/hackney_util.erl"},
                  {line,74}]},
             {hackney_connect,do_connect,5,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/default/lib/hackney/src/hackney_connect.erl"},
                  {line,232}]},
             {hackney_connect,connect,5,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/default/lib/hackney/src/hackney_connect.erl"},
                  {line,37}]},
             {hackney,request,5,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/default/lib/hackney/src/hackney.erl"},
                  {line,328}]},
             {http_client,do_request,5,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/default/lib/web_client/src/http_client/http_client.erl"},
                  {line,436}]},
             {service_oneprovider,check_oz_availability,1,
                 [{file,
                      "/build/op-panel-8Pv3pV/op-panel-18.02.0.beta1/_build/package/lib/onepanel/src/services/modules/service_oneprovider.erl"},
                  {line,262}]}]

and

[E 2018-05-22 09:40:25.896 <0.220.0>] Unable to start storage_sync counters due to: {error,no_connection_to_oz}
[E 2018-05-22 09:40:40.478 <0.478.0>] Unable to restart transfers due to: {error,no_connection_to_oz}

Unfortunately we are not sure how to solve this error. Maybe because we skipped the step where it says (given that it's unclear):

Most scenario required...and/or registered domain name to configure working OpenId login

Could you help us? Thanks.

lopiola commented 6 years ago

Hi, looks like it could not connect to the zone beta.onedata.org. Can you enter your VM and check:

  1. if you can reach https://beta.onedata.org/nagios from the machine
  2. if you can reach https://beta.onedata.org/nagios from any docker started on that machine

curl is enough, you should get 200 and some XML data.

carmat88 commented 6 years ago

Hi Łukasz. Thanks for replying. Yes, we can reach it. Here are the curl's outputs:

ubuntu@carmat-onedata-test1:~$ curl https://beta.onedata.org/nagios
<?xml version="1.0"?><healthdata date="2018/05/22 12:30:46" status="ok"><oz_worker name="oz_worker@node1.onezone.local" status="ok"><node_manager status="ok"/><request_dispatcher status="ok"/><datastore_worker status="ok"/><gs_worker status="ok"/><tp_router status="ok"/><gui_listener status="ok"/><nagios_listener status="ok"/><oz_redirector_listener status="ok"/></oz_worker></healthdata>

and

ubuntu@carmat-onedata-test1:~$ docker run -it ubuntu bash
root@eff9782d876d:/# curl https://beta.onedata.org/nagios
<?xml version="1.0"?><healthdata date="2018/05/22 12:33:00" status="ok"><oz_worker name="oz_worker@node1.onezone.local" status="ok"><node_manager status="ok"/><request_dispatcher status="ok"/><datastore_worker status="ok"/><gs_worker status="ok"/><tp_router status="ok"/><gui_listener status="ok"/><nagios_listener status="ok"/><oz_redirector_listener status="ok"/></oz_worker></healthdata>

What else do you think we may be overlooking here? Thanks.

lopiola commented 6 years ago

Just to be sure, please also check if the curl works from the oneprovider-1 docker after you run getting started. You should have enough time before it reports a failure.

Also, you could try changing the Oneprovider version in the compose to onedata/oneprovider:18.02.0-rc2 and see if it works. AFAIR, around the beta1 release we had an issue with SSL certs validation, this might be the cause why it won't work even if Onezone is reachable.

carmat88 commented 6 years ago

Sure, also from the oneprovider-1 docker the curl test was successful:

ubuntu@carmat-onedata-test1:~$ docker exec -it oneprovider-1 curl "https://beta.onedata.org/nagios"
<?xml version="1.0"?><healthdata date="2018/05/22 13:26:49" status="ok"><oz_worker name="oz_worker@node1.onezone.local" status="ok"><node_manager status="ok"/><request_dispatcher status="ok"/><datastore_worker status="ok"/><gs_worker status="ok"/><tp_router status="ok"/><gui_listener status="ok"/><nagios_listener status="ok"/><oz_redirector_listener status="ok"/></oz_worker></healthdata>

And good news. Changing the Oneprovider version in the compose to onedata/oneprovider:18.02.0-rc2 solved the issue. Maybe you wanna mention it in the guidelines, or update the compose so to use 8.02.0-rc2 by default.

Anyway, thanks for your help!

lopiola commented 6 years ago

Great, glad to help :)

We will soon update the compose files to use a newer version.