nitrc-ce > Getting started with NITRC-CE
Showing 1-8 of 8 posts
Mar 31, 2022 10:03 PM | David Cash
Getting started with NITRC-CE
Hello-
I found the NITRC-CE, which seems like a great tool that I would like to use to run some neuroimaging training programs I am developing. While the VirtualBox image works fine, I also need to build a machine locally as well as launching them on the AWS.
AWS: I'm able to get a machine up and running and connect via SSH, but the web interface does not seem to be working. When I dug a bit into it, it looks like the issue is that the manage_ssl.py script is not able to get a SSL certificate for some reason and thus the httpd container fails and exits since the certificate directory is empty. The message it receives from the url that is linked to the environment variable NITRC_CE_AWS_API_ENDPOINT returns a message that says Limit Exceeded.
In terms of building locally, I looked at the documentation Building Your Own NITRC-CE, I found on the website, it means an install.sh script, but the latest script I got from Download appears to be ansible based. So I got my sys admin to set me up a VM with base Ubuntu 18.04 installed. However I ran into a few errors, and I was wondering if I should be looking at another page for ansible-based install instructions? Or am I not using the ansible in the intended purpose (as in it is really meant only for the virtual box and amazon based applications that seem to be mention in the playbook.yml file).
Many thanks for your help!
Dave
I found the NITRC-CE, which seems like a great tool that I would like to use to run some neuroimaging training programs I am developing. While the VirtualBox image works fine, I also need to build a machine locally as well as launching them on the AWS.
AWS: I'm able to get a machine up and running and connect via SSH, but the web interface does not seem to be working. When I dug a bit into it, it looks like the issue is that the manage_ssl.py script is not able to get a SSL certificate for some reason and thus the httpd container fails and exits since the certificate directory is empty. The message it receives from the url that is linked to the environment variable NITRC_CE_AWS_API_ENDPOINT returns a message that says Limit Exceeded.
In terms of building locally, I looked at the documentation Building Your Own NITRC-CE, I found on the website, it means an install.sh script, but the latest script I got from Download appears to be ansible based. So I got my sys admin to set me up a VM with base Ubuntu 18.04 installed. However I ran into a few errors, and I was wondering if I should be looking at another page for ansible-based install instructions? Or am I not using the ansible in the intended purpose (as in it is really meant only for the virtual box and amazon based applications that seem to be mention in the playbook.yml file).
Many thanks for your help!
Dave
Apr 1, 2022 03:04 PM | Christian Haselgrove
RE: Getting started with NITRC-CE
Hi Dave,
It looks like we might have had some trouble with the AWS Lambda functions that support the AWS instances (thanks for your detailed report!), and we're looking into that. This investigation is frustrated by the fact that it appears to be working now -- but that should work in your favor. Please will you try once more and see if it works for you?
The Ansible setup should work for the local build as well. Since this is building a virtual machine, it can be problematic doing it from a virtual machine. (The same is true for running it on an AWS instance.) Are you able to get your hands on an Ubuntu host machine?
I see also we're a few versions behind in the releases of the build-your-own; we'll update that.
Christian
It looks like we might have had some trouble with the AWS Lambda functions that support the AWS instances (thanks for your detailed report!), and we're looking into that. This investigation is frustrated by the fact that it appears to be working now -- but that should work in your favor. Please will you try once more and see if it works for you?
The Ansible setup should work for the local build as well. Since this is building a virtual machine, it can be problematic doing it from a virtual machine. (The same is true for running it on an AWS instance.) Are you able to get your hands on an Ubuntu host machine?
I see also we're a few versions behind in the releases of the build-your-own; we'll update that.
Christian
Apr 4, 2022 10:04 PM | David Cash
RE: Getting started with NITRC-CE
Hi Christian-
Thanks for your quick reply. I can confirm that I was able to launch a machine from the Marketplace and access via the HTTP Guacamole interface and have a little play around. Thanks!
Regarding the build your own, our lab runs primarily RHEL, so I will need to try and find a desktop running Ubuntu. I originally tried my Mac laptop but got into some issues regarding one of the rsync commands. In the meantime, I can wait until the new build your own scripts are available.
Many thanks for your help.
Dave
Thanks for your quick reply. I can confirm that I was able to launch a machine from the Marketplace and access via the HTTP Guacamole interface and have a little play around. Thanks!
Regarding the build your own, our lab runs primarily RHEL, so I will need to try and find a desktop running Ubuntu. I originally tried my Mac laptop but got into some issues regarding one of the rsync commands. In the meantime, I can wait until the new build your own scripts are available.
Many thanks for your help.
Dave
Apr 12, 2022 01:04 PM | David Cash
RE: Getting started with NITRC-CE
Dear Christian-
Thank you for your help earlier on getting started with NITRC-CE, but after it was working for a few days, it seems that the same Lambda function is a problem again as I am getting the same "Limit Exceeded" message when requesting the SSL as before. Is there any possible workaround on this or is this just a transient issue that should be resolved in the near future?
Many thanks
David Cash
Thank you for your help earlier on getting started with NITRC-CE, but after it was working for a few days, it seems that the same Lambda function is a problem again as I am getting the same "Limit Exceeded" message when requesting the SSL as before. Is there any possible workaround on this or is this just a transient issue that should be resolved in the near future?
Many thanks
David Cash
Apr 12, 2022 02:04 PM | NITRC Moderator
RE: Getting started with NITRC-CE
David,
Thanks for reaching out again (and for your patience!) -- if we can see it in action now that it's happening again, we can diagnose it. Can you tell me how you see the "Limit Exceeded" error? The SSL request is done on instance startup, so it shouldn't be exposed. Are you looking in the logs or are you doing the request by hand?
In any case, I'm also going to build a VM for you to download -- this way we'll be working on two fronts to getting you up and running.
Christian
Thanks for reaching out again (and for your patience!) -- if we can see it in action now that it's happening again, we can diagnose it. Can you tell me how you see the "Limit Exceeded" error? The SSL request is done on instance startup, so it shouldn't be exposed. Are you looking in the logs or are you doing the request by hand?
In any case, I'm also going to build a VM for you to download -- this way we'll be working on two fronts to getting you up and running.
Christian
Apr 12, 2022 10:04 PM | David Cash
RE: Getting started with NITRC-CE
Hi
Christian-
No worries, I really appreciate you helping out as it's going to be very helpful for some of the teaching activities that we want to do. What was happening was that I was launching a NITRC-CE instance (eu-west-2 as I am based in London) and going to the resulting public IP address per the instructions and not being able to reach the webserver. I was however able to SSH into the machine, and when I did "docker ps", I saw two containers up(guacamole/guac and nitrc/guacamole:1.0), but no httpd container. I then found the error message from one of the docker-compose commands and it was shutting down because the certificate folders were empty. I kept digging and found the maange-ssl.py that is ran as part of the startup and the log it generates in /tmp and this is what it said (this is from a terminated instance):
INFO:root:called with CREATE 14498 18.130.166.210
INFO:root:Connecting to https://t1nn87w4yl.execute-api.us-east-1...
INFO:root:Using key r2kmIRXQzk8X0QunpTgtX5blg4sdXxHS4F8oIhGx
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): t1nn87w4yl.execute-api.us-east-1.amazonaws.com:443
DEBUG:urllib3.connectionpool:https://t1nn87w4yl.execute-api.us-east-1.amazonaws.com:443 "POST /prod/ssl-cert HTTP/1.1" 429 28
DEBUG:root:Create response was "{\"message\":\"Limit Exceeded\"}"
DEBUG:root:done
No worries, I really appreciate you helping out as it's going to be very helpful for some of the teaching activities that we want to do. What was happening was that I was launching a NITRC-CE instance (eu-west-2 as I am based in London) and going to the resulting public IP address per the instructions and not being able to reach the webserver. I was however able to SSH into the machine, and when I did "docker ps", I saw two containers up(guacamole/guac and nitrc/guacamole:1.0), but no httpd container. I then found the error message from one of the docker-compose commands and it was shutting down because the certificate folders were empty. I kept digging and found the maange-ssl.py that is ran as part of the startup and the log it generates in /tmp and this is what it said (this is from a terminated instance):
INFO:root:called with CREATE 14498 18.130.166.210
INFO:root:Connecting to https://t1nn87w4yl.execute-api.us-east-1...
INFO:root:Using key r2kmIRXQzk8X0QunpTgtX5blg4sdXxHS4F8oIhGx
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): t1nn87w4yl.execute-api.us-east-1.amazonaws.com:443
DEBUG:urllib3.connectionpool:https://t1nn87w4yl.execute-api.us-east-1.amazonaws.com:443 "POST /prod/ssl-cert HTTP/1.1" 429 28
DEBUG:root:Create response was "{\"message\":\"Limit Exceeded\"}"
DEBUG:root:done
I was also getting the same error when I
tried to run the command myself after the machine was
launched.
Note: The most recent instance I have
launched as of Tuesday 12 April 23:00 UK time is getting a
certificate.
Originally posted by NITRC
Moderator:
David,
Thanks for reaching out again (and for your patience!) -- if we can see it in action now that it's happening again, we can diagnose it. Can you tell me how you see the "Limit Exceeded" error? The SSL request is done on instance startup, so it shouldn't be exposed. Are you looking in the logs or are you doing the request by hand?
In any case, I'm also going to build a VM for you to download -- this way we'll be working on two fronts to getting you up and running.
Christian
Thanks for reaching out again (and for your patience!) -- if we can see it in action now that it's happening again, we can diagnose it. Can you tell me how you see the "Limit Exceeded" error? The SSL request is done on instance startup, so it shouldn't be exposed. Are you looking in the logs or are you doing the request by hand?
In any case, I'm also going to build a VM for you to download -- this way we'll be working on two fronts to getting you up and running.
Christian
Apr 12, 2022 10:04 PM | Christian Haselgrove
RE: Getting started with NITRC-CE
David,
Thanks for the explanation. I thought this was deep in the plumbing, and it was -- that was some impressive detective work on your part!
For what it's worth, the domain name is only a convenience that allows us to give you an HTTPS connection that works right from the start. If you point your browser to https://IP-ADDRESS/, the instance will certainly behave, but you'll have to tell your browser not to worry about the fact that there's no SSL certificate set up for the IP address.
We did find that we were running up against a quota for serving the certificates. Having changed that, you shouldn't have any trouble with this in the future. Of course, please do let us know if you run into problems.
Preparing a VM for you to use locally has proven more troublesome than I had expected. Is this something you need in fairly short order, or can it wait a few weeks until our next release?
Christian
Thanks for the explanation. I thought this was deep in the plumbing, and it was -- that was some impressive detective work on your part!
For what it's worth, the domain name is only a convenience that allows us to give you an HTTPS connection that works right from the start. If you point your browser to https://IP-ADDRESS/, the instance will certainly behave, but you'll have to tell your browser not to worry about the fact that there's no SSL certificate set up for the IP address.
We did find that we were running up against a quota for serving the certificates. Having changed that, you shouldn't have any trouble with this in the future. Of course, please do let us know if you run into problems.
Preparing a VM for you to use locally has proven more troublesome than I had expected. Is this something you need in fairly short order, or can it wait a few weeks until our next release?
Christian
Apr 12, 2022 10:04 PM | David Cash
RE: Getting started with NITRC-CE
Hi Christian-
Thanks for your help, and that is helpful to know that if I run into this issue again (sounds like I probably won't), then there is a way to work around that.
Regarding local VM - waiting for the next release should probably work as I am developing and testing for a course in late July and can do some of that on the Cloud or with the one of the VMs available in the downloads. My goal with building one locally was to be flexible in case we didn't have the network bandwidth for everyone to be up in the cloud and people with sufficient compute on their laptops could then have a VM that they could use on their local machine instead. Ideally, I might try and shrink it down by reducing the number of packages installed (somewhere between the Classic and Full), but that is a secondary goal.
Thanks again for all of the help-
Dave
Originally posted by Christian Haselgrove:
Thanks for your help, and that is helpful to know that if I run into this issue again (sounds like I probably won't), then there is a way to work around that.
Regarding local VM - waiting for the next release should probably work as I am developing and testing for a course in late July and can do some of that on the Cloud or with the one of the VMs available in the downloads. My goal with building one locally was to be flexible in case we didn't have the network bandwidth for everyone to be up in the cloud and people with sufficient compute on their laptops could then have a VM that they could use on their local machine instead. Ideally, I might try and shrink it down by reducing the number of packages installed (somewhere between the Classic and Full), but that is a secondary goal.
Thanks again for all of the help-
Dave
Originally posted by Christian Haselgrove:
David,
Thanks for the explanation. I thought this was deep in the plumbing, and it was -- that was some impressive detective work on your part!
For what it's worth, the domain name is only a convenience that allows us to give you an HTTPS connection that works right from the start. If you point your browser to https://IP-ADDRESS/, the instance will certainly behave, but you'll have to tell your browser not to worry about the fact that there's no SSL certificate set up for the IP address.
We did find that we were running up against a quota for serving the certificates. Having changed that, you shouldn't have any trouble with this in the future. Of course, please do let us know if you run into problems.
Preparing a VM for you to use locally has proven more troublesome than I had expected. Is this something you need in fairly short order, or can it wait a few weeks until our next release?
Christian
Thanks for the explanation. I thought this was deep in the plumbing, and it was -- that was some impressive detective work on your part!
For what it's worth, the domain name is only a convenience that allows us to give you an HTTPS connection that works right from the start. If you point your browser to https://IP-ADDRESS/, the instance will certainly behave, but you'll have to tell your browser not to worry about the fact that there's no SSL certificate set up for the IP address.
We did find that we were running up against a quota for serving the certificates. Having changed that, you shouldn't have any trouble with this in the future. Of course, please do let us know if you run into problems.
Preparing a VM for you to use locally has proven more troublesome than I had expected. Is this something you need in fairly short order, or can it wait a few weeks until our next release?
Christian