From 85cd495aa776a46ab13cfd7d27181b4acaf96da0 Mon Sep 17 00:00:00 2001 From: xinyis991105 <54905587+xinyis991105@users.noreply.github.com> Date: Tue, 4 May 2021 22:14:55 +0800 Subject: [PATCH] Autolab Documentation Improvement (#1351) * Modify mkdocs theme (#1289) * Request for institution name in the bug template (#1285) * Modify mkdocs material theme to have tabs and use autolab red Co-authored-by: Victor Huang * Unify installation section in documentation (#1290) * Setup new page for installation unification * Split up ubuntu and osx installation pages * Modify installation docs structure * Change getting started to link to new installation page * Separate out commands into its own block * Change backtick code blocks to identation + colon style * Move Tango installation instructions to installation tab * Separate Tango deployment methods in docs * Improve wording on TLS/SSL, and link to Tango installation section after completing manual Autolab setup * Add minor change from SSL to TLS/SSL Co-authored-by: xtrkil * Overview And Getting Started Sections for Documentation (#1299) * Setup new page for installation unification * Split up ubuntu and osx installation pages * Modify installation docs structure * Change getting started to link to new installation page * Separate out commands into its own block * Change backtick code blocks to identation + colon style * Move Tango installation instructions to installation tab * Separate Tango deployment methods in docs * Improve wording on TLS/SSL, and link to Tango installation section after completing manual Autolab setup * Add minor change from SSL to TLS/SSL * Separated overview from getting started; restructured index a little bit. * Restructure done; about to add in details for overview/introduction * Added picture for Autolab system. * Done with the initial draft for overview nad getting-started Co-authored-by: Fan Pu Co-authored-by: xtrkil * Add information on creating root user to docs (#1304) * move initialize_user.sh from docker/ to bin/ * Update ubuntu and osx installation docs on creating initial root user step * Add init-user script * Creates and Organizes Reference Section (#1302) * Create new reference section * Add reference overview * Move vmms setup instructions from vmms api to tango overview * Updates wording * Updates wording on reference * Small fixes and rollback from rollback (#1325) * Fixed installation wrong link; did some reorganization on the part of Tango VMMS. * Replaced VMMS setup instruction. * Improve the overview section of the new documentation (#1340) * Improve Overview. * Adjust wording based on feedback. * Move CLI sections into Getting Started (#1341) * Make Reference section more catered to developers * Remove tango.md * Documentation FAQ Refinement (#1348) * Reworded FAQ to Troubleshooting. Added pointers to troubleshooting sections. * Fixed wording. * Ensure all links are valid (#1349) * Ensure all links are valid and outgoing links open in new tab * Change outgoing link in tango.md to open in new tab * Metrics docs refactoring with finalized wording (#1350) * updating docs with finalized wording * Documentation FAQ Refinement (#1348) * Reworded FAQ to Troubleshooting. Added pointers to troubleshooting sections. * Fixed wording. * Ensure all links are valid (#1349) * Ensure all links are valid and outgoing links open in new tab * Change outgoing link in tango.md to open in new tab * updating docs with finalized wording * fixing page linking Co-authored-by: xinyis991105 <54905587+xinyis991105@users.noreply.github.com> Co-authored-by: ashleyzhang * Add instructions on how to setup mailing on Autolab (#1336) * Add smtp settings in production.rb and documentation * Add instruction updates for development * Added description of where config files are at * fix syntax in mkdocs Co-authored-by: ashleyzhang Co-authored-by: Victor Huang Co-authored-by: Fan Pu Co-authored-by: Fan Pu Co-authored-by: amartinez116 <31053044+amartinez116@users.noreply.github.com> --- {docker => bin}/initialize_user.sh | 0 bin/setup.sh | 3 + config/environments/production.rb.template | 38 +- docs/api-interface.md | 2 +- docs/api-overview.md | 6 +- docs/command-line-interface.md | 6 +- docs/docker-compose.md | 227 ----------- docs/features/embedded-forms.md | 6 +- docs/features/formatted-feedback.md | 4 +- docs/features/metrics.md | 30 +- docs/features/moss.md | 4 +- docs/images/autolab_system.png | Bin 0 -> 61262 bytes docs/images/metrics_notification.png | Bin 15538 -> 8230 bytes docs/images/risk_metrics.png | Bin 35122 -> 0 bytes docs/images/student_metrics.png | Bin 0 -> 80863 bytes docs/images/watchlist.png | Bin 120147 -> 109210 bytes docs/images/watchlist_instance.png | Bin 22918 -> 19670 bytes docs/index.md | 433 ++------------------- docs/installation/docker-compose.md | 301 ++++++++++++++ docs/installation/mailing.md | 36 ++ docs/installation/manual.md | 0 docs/{ => installation}/one-click.md | 0 docs/installation/osx.md | 111 ++++++ docs/installation/overview.md | 9 + docs/installation/tango.md | 329 ++++++++++++++++ docs/installation/troubleshoot.md | 89 +++++ docs/installation/ubuntu.md | 165 ++++++++ docs/instructors.md | 6 +- docs/lab.md | 32 +- docs/reference.md | 9 + docs/stylesheets/extra.css | 6 + docs/tango-cli.md | 4 +- docs/tango-vmms.md | 96 +---- docs/tango.md | 114 ------ mkdocs.yml | 68 ++-- 35 files changed, 1196 insertions(+), 938 deletions(-) rename {docker => bin}/initialize_user.sh (100%) delete mode 100644 docs/docker-compose.md create mode 100644 docs/images/autolab_system.png delete mode 100644 docs/images/risk_metrics.png create mode 100644 docs/images/student_metrics.png create mode 100644 docs/installation/docker-compose.md create mode 100644 docs/installation/mailing.md create mode 100644 docs/installation/manual.md rename docs/{ => installation}/one-click.md (100%) create mode 100644 docs/installation/osx.md create mode 100644 docs/installation/overview.md create mode 100644 docs/installation/tango.md create mode 100644 docs/installation/troubleshoot.md create mode 100644 docs/installation/ubuntu.md create mode 100644 docs/reference.md create mode 100644 docs/stylesheets/extra.css delete mode 100644 docs/tango.md diff --git a/docker/initialize_user.sh b/bin/initialize_user.sh similarity index 100% rename from docker/initialize_user.sh rename to bin/initialize_user.sh diff --git a/bin/setup.sh b/bin/setup.sh index e6a3317b3..0404e59a6 100755 --- a/bin/setup.sh +++ b/bin/setup.sh @@ -1,5 +1,8 @@ #!/usr/bin/env bash +# This is the legacy One-Click install script +# It probably doesn't work anymore, but is left here as reference + ##################################### ## Initialization & Helper Functions ##################################### diff --git a/config/environments/production.rb.template b/config/environments/production.rb.template index 835babd4f..d82a9ddf4 100755 --- a/config/environments/production.rb.template +++ b/config/environments/production.rb.template @@ -39,10 +39,7 @@ Autolab3::Application.configure do config.force_ssl = true config.middleware.use Rack::SslEnforcer, :except => [ /log_submit/, /local_submit/ ] end - - - - + # See everything in the log (default is :info) config.log_level = :info @@ -75,23 +72,28 @@ Autolab3::Application.configure do # with SQLite, MySQL, and PostgreSQL) # config.active_record.auto_explain_threshold_in_seconds = 0.5 - # Provide context to the email generator about the host - #config.action_mailer.default_url_options = {protocol: 'http', host: 'example.com' } - - config.action_mailer.delivery_method = :sendmail config.action_mailer.perform_deliveries = true config.action_mailer.raise_delivery_errors = true - # Use a custom smtp server, like Mandrill - #config.action_mailer.smtp_settings = { - # address: 'smtp.mandrillapp.com', - # port: 25, - # enable_starttls_auto: true, - # authentication: 'login', - # user_name: 'MANDRILL_USERNAME', - # password: 'MANDRILL_PASSWORD', - # domain: 'example.com', - #} + # Provide context to the email generator about the host + config.action_mailer.default_url_options = {protocol: 'http', host: 'yourhost.com' } + + # Use a custom smtp server, such as gmail, mailgun, sendgrid + config.action_mailer.smtp_settings = { + address: 'smtp.example.com', + port: 25, + enable_starttls_auto: true, + authentication: 'login', + user_name: 'example', + password: 'example', + domain: 'example.com', + } + + # default from + ActionMailer::Base.default :from => 'something@example.com' + + # option for using sendmail + # config.action_mailer.delivery_method = :sendmail config.middleware.use ExceptionNotification::Rack, email: { diff --git a/docs/api-interface.md b/docs/api-interface.md index 0e460eaa0..b75477aac 100644 --- a/docs/api-interface.md +++ b/docs/api-interface.md @@ -1,6 +1,6 @@ This page details all the endpoints of the Autolab REST API. -The client's access token should be included as a parameter to all endpoints. For details on obtaining access tokens, please see the [API Overview](/api-overview/) +The client's access token should be included as a parameter to all endpoints. For details on obtaining access tokens, please see the [API Overview](/api-overview/). ## Routing diff --git a/docs/api-overview.md b/docs/api-overview.md index 637da2c36..47af8e00e 100644 --- a/docs/api-overview.md +++ b/docs/api-overview.md @@ -18,7 +18,7 @@ V1 of the API allows clients to: All endpoints of the Autolab API requires client authentication in the form of an access token. To obtain this access token, clients must obtain authorization from the user. -Autolab API uses the standard [OAuth2](https://tools.ietf.org/html/rfc6749) [Authorization Code Grant](https://tools.ietf.org/html/rfc6749#section-4.1) for user authorization. For clients with no easy access to web browsers (e.g. console apps), an alternative [device flow](https://tools.ietf.org/html/draft-ietf-oauth-device-flow-07)-based authorization method is provided as well. +Autolab API uses the standard OAuth2 Authorization Code Grant for user authorization. For clients with no easy access to web browsers (e.g. console apps), an alternative device flow-based authorization method is provided as well. To understand how to authorize and unauthorize clients as a user, go to [Managing Authorized Apps](/api-managing-authorized-apps/) @@ -38,9 +38,9 @@ The endpoint for obtaining user authorization is The endpoint for obtaning access tokens and refresh tokens is `oauth/token` -[Section 4.1 of RFC 6749](https://tools.ietf.org/html/rfc6749#section-4.1) details the parameters required and the response clients can expect from these endpoints. +Section 4.1 of RFC 6749 details the parameters required and the response clients can expect from these endpoints. -Autolab API provides a refresh token with every new access token. Once the access token has expired, the client can use the refresh token to obtain a new access token, refresh token pair. Details are also provided in RFC 6749 [here](https://tools.ietf.org/html/rfc6749#section-6). +Autolab API provides a refresh token with every new access token. Once the access token has expired, the client can use the refresh token to obtain a new access token, refresh token pair. Details are also provided in RFC 6749 here. ### Device Flow diff --git a/docs/command-line-interface.md b/docs/command-line-interface.md index 02934cc2d..c5007bfa8 100644 --- a/docs/command-line-interface.md +++ b/docs/command-line-interface.md @@ -1,13 +1,13 @@ # Autolab Command Line Interface -To help showcase the capabilities of the API, we developed autolab-cli: A first-party command line client that serves as both a practical tool for users of Autolab, as well as a reference design for developers intending to use the API in their own programs. The cli includes features like downloading and submitting assignments from the terminal, viewing problems, and getting submission feedback. +To help showcase the capabilities of the [API](/api-overview), we developed autolab-cli: A first-party command line client that serves as both a practical tool for users of Autolab, as well as a reference design for developers intending to use the API in their own programs. The cli includes features like downloading and submitting assignments from the terminal, viewing problems, and getting submission feedback. !!! info "Note to CMU Students:" This cli binary has already been installed on the andrew machines as `autolab`. ## Obtaining authorization -Make sure you have the cli installed by running `autolab` in your terminal. If you see the usage instructions you're good to go. Otherwise, ask your school admin to install the cli from the [Autolab CLI Repository](https://github.com/autolab/autolab-cli). +Make sure you have the cli installed by running `autolab` in your terminal. If you see the usage instructions you're good to go. Otherwise, ask your school admin to install the cli from the Autolab CLI Repository. To setup autolab-cli with your Autolab account, run `autolab setup`. This will initiate a manual activation. @@ -96,4 +96,4 @@ $ autolab -h This will reveal other flags you may be able to use with each command. For example, you can call all of the context-dependent commands outside of an assessment directory by providing the `:` pair. -We hope this speeds up your workflow! If you find any problems, please file an issue on the [Autolab CLI Repository](https://github.com/autolab/autolab-cli). +We hope this speeds up your workflow! If you find any problems, please file an issue on the Autolab CLI Repository. diff --git a/docs/docker-compose.md b/docs/docker-compose.md deleted file mode 100644 index 61f168024..000000000 --- a/docs/docker-compose.md +++ /dev/null @@ -1,227 +0,0 @@ -# Autolab + Tango Docker Compose Installation - -The Autolab Docker Compose installation is a fast and easy production-ready installation and deployment method. It uses a MySQL database for the Autolab deployment, and comes with SSL support. This is now the preferred way of installing Autolab. - -If you are stuck or find issues with the installation process you can either file an issue on our Github repository, or join our Slack [here](https://autolab-slack.herokuapp.com/) and let us know and we will try our best to help. Also see the [debugging](#debugging) section for tips on how to diagnose problems. - -## Installation -First ensure that you have Docker and Docker Compose installed on your machine. See the official [Docker docs](See https://docs.docker.com/install/) for the installation steps. - -1. Clone this repository and its submodules: `git clone --recurse-submodules -j8 git://github.com/autolab/docker.git autolab-docker` -2. Enter the project directory: `cd autolab-docker` -3. Update submodules: `make update` -4. Create initial configs: `make` -5. Build the Dockerfiles: `docker-compose build` -6. Run the containers: `docker-compose up -d`. Note at this point Nginx will still be crash-looping in the Autolab container because SSL has not been configuired/disabled yet. -7. Ensure that the newly created config files have the right permissions: `make set-perms` -8. Perform migrations: `make db-migrate` -9. Create initial root user: `make create-user` -10. Change `DOCKER_TANGO_HOST_VOLUME_PATH` in `docker-compose.yml` to be the absolute path to the Tango `volumes` directory, i.e `//Tango/volumes` -11. Stop all containers: `docker-compose stop` -12. Modify the appropriate Nginx config (either `app.conf` or `no-ssl-app.conf` depending on whether you want to use SSL for the next step) by replacing the placeholders with your real domain -13. Continue with TLS setup as outlined in the next section -14. Build the autograding image(s) that you want to use in Tango (see [the docs](https://docs.autolabproject.com/tango-vmms/#docker-vmms-setup) for more information). For this setup we will stick to the default Ubuntu 18.04 autograding image: `docker build -t autograding_image Tango/vmms/`. Note that we can just run this directly on the host because we are mapping the Docker socket to the Tango container (i.e they are using the same Docker server). -15. Start up everything: `docker-compose up -d`. Autolab should now be accessible on port 80 (and 443 if you configured SSL)! - -## Configuring SSL/TLS -There are three options for TLS: using Let's Encrypt (for free TLS certificates), using your own certificate, and not using TLS (not recommended for production deployment). - -### Option 1: Let's Encrypt -1. Ensure that your DNS record points towards the IP address of your server -2. Ensure that port 443 is exposed on your server (i.e checking your firewall, AWS security group settings, etc) -3. Get initial SSL setup script: `make ssl` -4. In `ssl/init-letsencrypt.sh`, change `domains=(example.com)` to the list of domains that your host is associated with, and change `email` to be your email address so that Let's Encrypt will be able to email you when your certificate is about to expire -5. If necessary, change `staging=0` to `staging=1` to avoid being rate-limited by Let's Encrypt since there is a limit of 20 certificates/week. Setting this is helpful if you have an experimental setup. -6. Run your modified script: `sudo sh ./ssl/init-letsencrypt.sh` - -### Option 2: Using your own TLS certificate -1. Copy your private key to ./ssl/privkey.pem -2. Copy your certificate to ./ssl/fullchain.pem -3. Generate your dhparams, i.e `openssl dhparam -out ./ssl/ssl-dhparams.pem 4096` -4. Uncomment the following lines in `docker-compose.yml`: -``` - # - ./ssl/fullchain.pem:/etc/letsencrypt/live/test.autolab.io/fullchain.pem; - # - ./ssl/privkey.pem:/etc/letsencrypt/live/test.autolab.io/privkey.pem; - # - ./ssl/ssl-dhparams.pem:/etc/letsencrypt/ssl-dhparams.pem -``` - -### Option 3: No TLS (not recommended, only for local development/testing) -1. In `docker-compose.yml` (for all the subsequent steps), comment out the following: - -``` - # Comment the below out to disable SSL (not recommended) - - ./nginx/app.conf:/etc/nginx/sites-enabled/webapp.conf -``` - -Also uncomment the following: - -``` - # Uncomment the below to disable SSL (not recommended) - # - ./nginx/no-ssl-app.conf:/etc/nginx/sites-enabled/webapp.conf -``` - -Lastly set `DOCKER_SSL=false`: -``` - environment: - - DOCKER_SSL=true # set to false for no SSL (not recommended) -``` - -## Updating Autolab/Tango Deployment -1. Stop your running instances: `docker-compose stop` -2. Run `make update` to update your Autolab and Tango repositories -3. Run `docker-compose build` to rebuild the images with the latest code -4. Re-deploy your containers with `docker-compose up` - -## Debugging your Deployment -In the (very likely) event that you run into problems during setup, hopefully these steps will help you to help identify and diagnose the issue. If you continue to face difficulties or believe you discovered issues with the setup process please join our Slack [here](https://autolab-slack.herokuapp.com/) and let us know and we will try our best to help. - -### Better logging output for Docker Compose -By default, `docker-compose up -d` runs in detached state and it is not easy to immediately see errors: - -``` -$ docker-compose up -d -Starting certbot ... done -Starting redis ... done -Starting mysql ... done -Starting tango ... done -Recreating autolab ... done -``` - -Use `docker-compose up` instead to get output from all the containers in real time: - -``` -$ docker-compose up -Starting certbot ... done -Starting mysql ... done -Starting redis ... done -Starting tango ... done -Starting autolab ... done -Attaching to redis, mysql, certbot, tango, autolab -mysql | [Entrypoint] MySQL Docker Image 8.0.22-1.1.18 -tango | 2020-11-11 04:33:19,533 CRIT Supervisor running as root (no user in config file) -redis | 1:C 11 Nov 2020 04:33:19.032 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo -redis | 1:C 11 Nov 2020 04:33:19.032 # Redis version=6.0.9, bits=64, commit=00000000, modified=0, pid=1, just started -redis | 1:C 11 Nov 2020 04:33:19.032 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf -mysql | [Entrypoint] Starting MySQL 8.0.22-1.1.18 -redis | 1:M 11 Nov 2020 04:33:19.033 * Running mode=standalone, port=6379. -redis | 1:M 11 Nov 2020 04:33:19.033 # Server initialized -tango | 2020-11-11 04:33:19,539 INFO RPC interface 'supervisor' initialized -tango | 2020-11-11 04:33:19,539 CRIT Server 'unix_http_server' running without any HTTP authentication checking -mysql | 2020-11-11T04:33:19.476749Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.22) starting as process 22 ---- output truncated --- -``` - -### Checking Autolab logs -If the Autolab instance is not working properly, taking a look at both the application logs as well as the Nginx logs in the container will be helpful. - -First, find the name of the container. This should be just `autolab` by default: - -``` -$ docker ps -CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES -765d35962f52 autolab-docker_autolab "/sbin/my_init" 31 minutes ago Up 22 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp autolab -a5b77b5267b1 autolab-docker_tango "/usr/bin/supervisor…" 7 days ago Up 22 minutes 0.0.0.0:3000->3000/tcp tango -438d8e9f73e2 redis:latest "docker-entrypoint.s…" 7 days ago Up 22 minutes 6379/tcp redis -da86acc5a4c3 mysql/mysql-server:latest "/entrypoint.sh mysq…" 7 days ago Up 22 minutes (healthy) 3306/tcp, 33060-33061/tcp mysql -88032e85d669 a2eb12050715 "/bin/bash" 9 days ago Up 2 days compiler -``` - -Next get a shell inside the container: - -``` -$ docker exec -it autolab bash -root@be56be775428:/home/app/webapp# -``` - -By default we are in the project directory. Navigate to the `logs` directory and `cat` or `tail` `production.log`. This contains logs from the Autolab application itself. - -``` -root@be56be775428:/home/app/webapp# cd log -root@be56be775428:/home/app/webapp/log# tail -f -n +1 production.log -``` - -We can also check out our Nginx logs in `/var/log/nginx/`: - -``` -root@be56be775428:/home/app/webapp/log# cd /var/log/nginx/ -root@be56be775428:/var/log/nginx# ls -access.log error.log -``` - -### Accessing the Rails console -Obtain a shell in the `autolab` container as described [previously](#checking-autolab-logs), and do `RAILS_ENV=production bundle exec rails c`: - -``` -root@be56be775428:/home/app/webapp# RAILS_ENV=production bundle exec rails c -Loading production environment (Rails 5.2.0) -2.6.6 :001 > User.all.count - => 1 -``` - -In the example above, if you performed `make create-user` you should have at least one user in your database. If there are errors connecting to a database here it is likely that the database was misconfigured. - -### Checking Tango Logs -Get a shell in the Tango instance, similar to the instructions mentioned [previously](#checking-autolab-logs). The logs are stored in the parent folder (`/opt/TangoService`) of the project directory: - -``` -$ docker exec -it tango bash -root@a5b77b5267b1:/opt/TangoService/Tango# cd .. -root@a5b77b5267b1:/opt/TangoService# ls -Tango tango_job_manager_log.log tango_log.log -root@a5b77b5267b1:/opt/TangoService# tail -f -n +1 tango_job_manager_log.log tango_log.log -``` - -### Troubleshooting Autolab/Tango Connection -In the Autolab container, try to curl Tango: - -``` -root@be56be775428:/home/app/webapp# curl tango:3000 -Hello, world! RESTful Tango here! -``` - -In the Tango container, try to curl Autolab: - -``` -root@a5b77b5267b1:/opt/TangoService/Tango# curl autolab - -301 Moved Permanently - -

301 Moved Permanently

-
nginx/1.14.0 (Ubuntu)
- - -``` - -### Permission issues in Autolab -Run `make set-perms` again - -### Restarting Autolab Passenger Server -This is useful when you might want to test out some code change within the Autolab container without having to rebuild everything again. These changes can be applied by just restarting the Passenger service that is serving Autolab. - -Run `passenger-config restart-app`: - -``` -root@8b56488b3fb6:/home/app/webapp# passenger-config restart-app -Please select the application to restart. -Tip: re-run this command with --help to learn how to automate it. -If the menu doesn't display correctly, press '!' - - ‣ /home/app/webapp (production) - Cancel - -Restarting /home/app/webapp (production) -``` - -## FAQ -### error: unable to unlink old 'db/schema.rb': Permission denied - -If you obtain the following error when attempting to perform `make update`: - -``` -error: unable to unlink old 'db/schema.rb': Permission denied -fatal: Could not reset index file to revision 'HEAD'. -``` - -This is due to the fact that `db/schema.rb` is updated whenever migrations are performed. `db/schema.rb` documents the database schema, which depends on the database that you are using, its version, and when the migrations were run. It is likely that your `db/schema.rb` will diverge from the one generated by the devs. - -You can resolve this by changing the owner of the files to be your current user, and then running `make set-perms` afterwards when you start the containers again. diff --git a/docs/features/embedded-forms.md b/docs/features/embedded-forms.md index adc3b771f..374cbbe1e 100644 --- a/docs/features/embedded-forms.md +++ b/docs/features/embedded-forms.md @@ -3,7 +3,7 @@ This feature allows an instructor to create an assessment which does not require a file submission on the part of the student. Instead, when an assessment is created, the hand-in page for that assessment will display an HTML form of the instructor’s design. When the student submits the form, the information is sent directly in JSON format to the Tango grading server for evaluation. !!! attention "Tango Required" - Tango is needed to use this feature. Please install [Tango](/tango/) and connect it to Autolab before proceeding. + Tango is needed to use this feature. Please install [Tango](/installation/tango/) and connect it to Autolab before proceeding. ![Embedded Form](/images/embedded_form_example.png) @@ -103,7 +103,7 @@ Navigate to the Basic section of editing an assessment (`/courses//asses ### Grading an Embedded Form -When a student submits a form, the form data is sent to [Tango](/tango/) in the form of a JSON string in the file `out.txt.` In your grading script, parse the contents of `out.txt` as a JSON object. The JSON object will be a key-value pair data structure, so you can access the students response string (`value`) by its unique key (the `name` attribute). +When a student submits a form, the form data is sent to [Tango](/installation/tango/) in the form of a JSON string in the file `out.txt.` In your grading script, parse the contents of `out.txt` as a JSON object. The JSON object will be a key-value pair data structure, so you can access the students response string (`value`) by its unique key (the `name` attribute). For the example form shown above, the JSON object will be as follows: @@ -119,4 +119,4 @@ For the example form shown above, the JSON object will be as follows: } ``` -Use this information to do any processing you need in Tango.If you find any problems, please file an issue on the [Autolab Github](https://github.com/autolab/Autolab). +Use this information to do any processing you need in Tango.If you find any problems, please file an issue on the Autolab Github. diff --git a/docs/features/formatted-feedback.md b/docs/features/formatted-feedback.md index 7eef3def6..2c1a6598e 100644 --- a/docs/features/formatted-feedback.md +++ b/docs/features/formatted-feedback.md @@ -1,10 +1,10 @@ # Formatted Feedback -Autograding feedback plays an important role in a student's Autolab experience. Good feedback provided by autograders can really enhance a student's learning. As of Summer 2020, Autolab includes the formatted feedback feature by [Jala Alamin](https://github.com/alamijal). The feature was originally introduced in Washington State University Vancouver's version of Autolab. +Autograding feedback plays an important role in a student's Autolab experience. Good feedback provided by autograders can really enhance a student's learning. As of Summer 2020, Autolab includes the formatted feedback feature by Jala Alamin. The feature was originally introduced in Washington State University Vancouver's version of Autolab. Using formatted feedback requires a prior understanding of how Autolab's autograders work, as per the [Guide for Lab Authors](/lab/#writing-autograders). The formatted feedback feature is an **optional extension** of the default feedback. It comes in a staged fashion, allowing differing levels of adoption. -The next few sections are meant to be read in order, with each following section introducing a more complex usage of the formatted feedback feature than the previous. Experimenting the [hellocat](https://github.com/autolab/Autolab/tree/master/examples/hellocat) example code is another way to familiarize with the formatted feedback. +The next few sections are meant to be read in order, with each following section introducing a more complex usage of the formatted feedback feature than the previous. Experimenting with the hellocat example code is another way to familiarize with the formatted feedback. ### Default Feedback diff --git a/docs/features/metrics.md b/docs/features/metrics.md index ff5258361..f0bee8dbc 100644 --- a/docs/features/metrics.md +++ b/docs/features/metrics.md @@ -2,7 +2,7 @@ Traditional approaches of identifying students who are struggling with class is reactive; course staff wait for students to come to them to provide help, which can often be too late. -The metrics feature seeks to be an proactive approach by actively identifying students who might be struggling in class through tracking of metrics that signify possible risks. Identifying at-risk students early would provide a better chance of getting them back on track in the course. +The metrics feature seeks to be an proactive approach by actively identifying students who might be struggling in class through tracking of metrics that signify possible risks. Identifying students in need of attention early in the course would provide a better chance of getting them back on track in the course. ## Usage Flow @@ -10,20 +10,20 @@ The metrics feature seeks to be an proactive approach by actively identifying st We envision the feature to be used by the instructors in this order. They would: 1. Set up their course and assignments as per usual -1. Set up [Risk Metrics](#risk-metrics) at the start of the course -1. Be notified of new at risk students in their [Watchlist](#watchlist) on their course page +1. Set up [Student Metrics](#student-metrics) at the start of the course +1. Be notified of pending students in need of attention in their [Watchlist](#watchlist) on the course page 1. Visit the [Watchlist](#watchlist), contact students if necessary, using it as a work list at the same time -1. Refine the [Risk Metrics](#risk-metrics) as the course progresses +1. Refine the [Student Metrics](#student-metrics) as the course progresses -## Risk Metrics +## Student Metrics -![Metrics](/images/risk_metrics.png) +![Student Metrics](/images/student_metrics.png) -From our interviews with instructors, we understand that different courses have different measures of whether a student is at risk. As such, a set of risk conditions together will define the course's risk metrics. We intend to add more conditions to the risk metrics in the future. Feel free to suggest them via our [GitHub Issues](https://github.com/autolab/Autolab/issues) page. +From our interviews with instructors, we understand that different courses have different measures of whether a student is in need of attention. As such, a set of conditions together will define the course's student metrics. We intend to add more conditions to the metrics in the future. Feel free to suggest them via our GitHub Issues page. -### Risk Condition Rationale +### Student Metrics Condition Rationale -The conditions are designed to capture different characteristics of a possibly at risk student. In the sections that follow we attempt to explain the rationale behind each condition to aid with selecting the risk conditions. +The conditions are designed to capture different characteristics of a possible student in need of attention. In the sections that follow we attempt to explain the rationale behind each condition to aid with selecting the conditions. #### Students who have used *number* grace days by *date*. @@ -60,13 +60,13 @@ Identify weaker students. We expect this condition to be useful earlier in the c ![Watchlist](/images/watchlist.png) -Once instructors have set up risk metrics for their course, students that are identified as at-risk students based on these metrics will appear in the watchlist. +Once instructors have set up student metrics for their course, students that are identified as in need of attention based on these metrics will appear in the watchlist. ### Watchlist Instance ![Watchlist Instance](/images/watchlist_instance.png) -Every row in the watchlist represents a particular instance of a student who meets one or more of the risk conditions. A single student can appear in multiple watchlist instances if they are identified for new risk conditions on separate occassions of loading the watchlist. +Every row in the watchlist represents a particular instance of a student who meets one or more of the metrics conditions. A single student can appear in multiple watchlist instances if they are identified for new metrics conditions on separate occassions of loading the watchlist. For example, let's look at Jane Doe in the image above. Upon loading the watchlist, Jane appears in a watchlist instance for using `3 grace days` before the instructor-specified date and for having `2 low scores` below the instructor-specified threshold. If Jane later receives another score below the threshold, a new instance will appear for Jane when the instructor reloads the watchlist. Jane now appears twice in the watchlist, once in an instance with `3 grace days` and `2 low scores`, and once in an instance with `3 grace days` and `3 low scores`. @@ -78,11 +78,11 @@ An instructor can also hover over the condition tags to view the specific submis ### Tabs -There are four categories that watchlist instances can fall into: new, contacted, resolved, and archived. +There are four categories that watchlist instances can fall into: pending, contacted, resolved, and archived. -#### New +#### Pending -The `new` tab contains identified students who have not yet been contacted or resolved. The number of `new` instances will appear in a notification badge on the main course page, as shown below. +The `pending` tab contains identified students who have not yet been contacted or resolved. The number of `pending` instances will appear in a notification badge on the main course page, as shown below. ![Metrics Notification](/images/metrics_notification.png) @@ -96,4 +96,4 @@ The `resolved` tab contains all instances that the instructor has marked as reso #### Archived -When an instructor adjusts the risk metrics for a course, all instances that were in `contacted` or `resolved` for the outdated risk metrics are placed into `archived`. All `new` instances for the outdated risk metrics are dropped. As such, all instances in `new`, `contacted`, and `resolved` are consistent with the most up-to-date risk metrics. \ No newline at end of file +When an instructor adjusts the student metrics for a course, all instances that were in `contacted` or `resolved` for the outdated student metrics are placed into `archived`. All `pending` instances for the outdated student metrics are dropped. As such, all instances in `pending`, `contacted`, and `resolved` are consistent with the most up-to-date student metrics. \ No newline at end of file diff --git a/docs/features/moss.md b/docs/features/moss.md index 87d497d6a..a586e1dc3 100644 --- a/docs/features/moss.md +++ b/docs/features/moss.md @@ -1,8 +1,8 @@ # MOSS Plagiarism Detection Installation -[MOSS (Measure Of Software Similarity)](https://theory.stanford.edu/~aiken/moss/) is a system for checking for plagiarism. MOSS can be setup on Autolab as follows: +MOSS (Measure Of Software Similarity) is a system for checking for plagiarism. MOSS can be setup on Autolab as follows: -1. Obtain the script for MOSS based on the instructions given in [https://theory.stanford.edu/~aiken/moss/](https://theory.stanford.edu/~aiken/moss/). +1. Obtain the script for MOSS based on the instructions given here. 2. Create a directory called `vendor` at the root of your Autolab installation, i.e diff --git a/docs/images/autolab_system.png b/docs/images/autolab_system.png new file mode 100644 index 0000000000000000000000000000000000000000..bfbbcf7712f515da829f77d5712b93446cf063dc GIT binary patch literal 61262 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 H$iV*rGGaPP literal 0 HcmV?d00001 diff --git a/docs/images/metrics_notification.png b/docs/images/metrics_notification.png index 8a939d5605330b79fcb675ab1b964c9c22bb4b28..547d84b9e40de2a20a8ba1c9034e9449a843cb12 100644 GIT binary patch literal 8230 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 NDKUA`Dq;O^{|_l`Oe+8Y diff --git a/docs/images/risk_metrics.png b/docs/images/risk_metrics.png deleted file mode 100644 index 4373f31f0d165aa04800fc93edff6231a6f892c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35122 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
    JLS!*RIe&ggiCq->W?cD}7c}Q?o4= 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 diff --git a/docs/images/student_metrics.png b/docs/images/student_metrics.png new file mode 100644 index 0000000000000000000000000000000000000000..176d0bda51830e7d1f3e18b85639064b463f9fa7 GIT binary patch literal 80863 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�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 literal 120147 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 F{{g8W)JgyV diff --git a/docs/images/watchlist_instance.png b/docs/images/watchlist_instance.png index 267b23b808eb0d409520175b344893826c34fc65..f012fbedce67f2e15f471962149c0e9421ae314b 100644 GIT binary patch literal 19670 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%0D2R==*+dnlw2#9A08TY0{6iLYOi0^=o* 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: The model for a traditional programming class is that students work on their code, hand it in once, and then get feedback a week or two later, at which point they've already moved on to the next assignment. Autograding, on the other hand, allows students to get immediate feedback on their performance and become more motivated to refine their coursework. -## Demonstration Site -If you would like to check out Autolab prior to installation, go over to our Demo Site! Login through `Developer Login` with the email: `admin@foo.bar`. +Scoreboard: The scoreboard is a fun and powerful motivation for students. When coupled with autograding, it creates a sense of community and healthy competition that benefits everyone. Students anonymize themselves on the scoreboard by giving themselves nicknames. A mix of curiosity and competitiveness drives the stronger students to be at the top of the scoreboard, and all students have a clear idea of what they need for full credit. -This is a demonstration website. It refreshes at 0,6,12,18 Hours (UTC) daily, and it is publicly accessible, so please only use it for your exploration. Do not use this site to store important information. +Autolab also provides gradebooks, rosters, handins/handouts, lab writeups, code annotation, manual grading, late penalties, grace days, cheat checking, meetings, partners, and bulk emails. + +For more of the rationale behind Autolab, please check out this blog post. + + +##Components + +Autolab consists of two services: (1) the Autolab frontend which is implemented using Ruby on Rails, and (2) Tango, the RESTful Python autograding server. Either service can run independently without the other. But in order to use all features of Autolab, we highly recommend installing both services. + +While the Autolab frontend supports Autolab's web application framework, the backend Tango is responsible for distributing and completing autograding jobs, which run in virtual machines or containers (we currently support Docker and AWS virtual machines). When Tango is done running a job, it then sends the autograded result back to the frontend. Below is a visualization of the typical workflow of the Autolab system. + +![Autolab System](/images/autolab_system.png) + +As you can see on the left, the Autolab frontend receives handin files from the clients through either traditional browser interaction or [the command line interface (CLI)](/command-line-interface). The frontend then sends the files through http requests to Tango. Tango adds them to a job queue, assigns them to available containers/virtual machines for grading through ssh, and shepherds the jobs through the process. On the right, inside the domain box for Docker at CMU, we show 3 VM pools - rhel, rhel122, and rhel411 - each with potentially different software packages. At the bottom right, we show an example of an AWS VM domain with VM pools rhelPKU and ubuntu. Tango assigns jobs only to the virtual machine instances from their corresponding course’s VM pool. For example, jobs with handin files for the course 122 would only go to rhel122’s instances. Once a job is done, the feedback is copied back to Tango through ssh and sent back to the Autolab frontend through http. The frontend then displays the feedback in the browser or through the CLI. It also updates the scoreboard if applicable and stores the feedback into the database, which is displayed at the bottom left. + +Apart from client usage, both the Autolab frontend and Tango provide application programming interfaces (API) for developers. The specific guides are included in the [Reference](/reference) section. + +##Demonstration Website +Installation instructions can be found in our comprehensive [installation guide](/installation/overview). However, if this is your first experience with Autolab, we encourage you to try out some key features on Autolab's Demo Site. You can login through `Developer Login` with the email: `admin@foo.bar`. The demonstration website refreshes at 0,6,12,18 Hours (UTC) daily, and it is publicly accessible, so please only use it for your exploration. Do not use this site to store important information. Try the following in order: @@ -54,405 +72,4 @@ Because it defaults to accepting `.c` files, we would like to change it to `*.pd 2. Look at your submission using the magnifying glass icon ### Grading submissions -Click on `Grade Submissions`, and then the arrow button to open up student submissions. For details on the relevant features for an Instructor, go to [Guide for Instructor](/instructors) - -## Getting Started - -Autolab consists of two services: (1) the Ruby on Rails frontend, and (2) [Tango](/tango), the RESTful Python autograding server. Either service can run independently without the other. But in order to use all features of Autolab, we highly recommend installing both services. - -Currently, we have support for installing Autolab on [Ubuntu 18.04+](#ubuntu-1804), and [Mac OSX](#mac-osx-1011). - -The following instructions are for manual installation of Autolab. We strongly encourage you to try out the [Docker Compose](/docker-compose) installation method which is much faster and easier. It is production ready and comes deployed with MySQL and TLS. - -### Mac OSX 10.11+ - -Follow the step-by-step instructions below: - -1. Install [rbenv](https://github.com/sstephenson/rbenv) (use the Basic GitHub Checkout method) - -2. Install [ruby-build](https://github.com/sstephenson/ruby-build) as an rbenv plugin: - - :::bash - git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build - - Restart your shell at this point in order to start using your newly installed rbenv - -3. Clone the Autolab repo into home directory and enter it: - - :::bash - cd ~/ - git clone https://github.com/autolab/Autolab.git && cd Autolab - -4. Install the correct version of ruby: - - :::bash - rbenv install $(cat .ruby-version) - - At this point, confirm that `rbenv` is working (you might need to restart your shell): - - :::bash - $ which ruby - ~/.rbenv/shims/ruby - - $ which rake - ~/.rbenv/shims/rake - Note that Mac OSX comes with its own installation of ruby. You might need to switch your ruby from - the system version to the rbenv installed version. One option is to add the following lines to ~/.bash_profile: - - :::bash - export RBENV_ROOT= - eval "$(rbenv init -)" - -5. Install `bundler`: - - :::bash - gem install bundler - rbenv rehash - -6. Install the required gems (run the following commands in the cloned Autolab repo): - - :::bash - cd bin - bundle install - - Refer to the [FAQ](#faq) for issues installing gems - -7. Install one of two database options - - - [SQLite](https://www.tutorialspoint.com/sqlite/sqlite_installation.htm) should **only** be used in development - - [MySQL](https://dev.mysql.com/doc/refman/5.7/en/osx-installation-pkg.html) can be used in development or production - -8. Configure your database: - - :::bash - cp config/database.yml.template config/database.yml - - Edit `database.yml` with the correct credentials for your chosen database. Refer to the [FAQ](#faq) for any issues. - -9. Configure school/organization specific information (new feature): - - :::bash - cp config/school.yml.template config/school.yml - - Edit `school.yml` with your school/organization specific names and emails - -10. Configure the Devise Auth System with a unique key (run these commands exactly - leave `` as it is): - - :::bash - cp config/initializers/devise.rb.template config/initializers/devise.rb - sed -i "s//`bundle exec rails secret`/g" config/initializers/devise.rb - - Fill in `` in the `config/initializers/devise.rb` file. To skip this step for now, fill with `foo.bar`. - -11. Create and initialize the database tables: - - :::bash - bundle exec rails db:create - bundle exec rails db:migrate - - Do not forget to use `bundle exec` in front of every rake/rails command. - -12. Populate dummy data (development only): - - :::bash - bundle exec rails autolab:populate - -13. Start the rails server: - - :::bash - bundle exec rails s -p 3000 - -14. Go to localhost:3000 and login with `Developer Login`: - - :::bash - Email: "admin@foo.bar". - -15. Install [Tango](/tango), the backend autograding service. - -16. Now you are all set to start using Autolab! Visit the [Guide for Instructors](/instructors) and [Guide for Lab Authors](/lab) pages for more info. - -### Ubuntu 18.04+ - -This set of instruction is meant to install of AutoLab v2.40 on Ubuntu 18.04 LTS. - -1. Upgrade system packages and installing prerequisites - - :::bash - sudo apt-get update - sudo apt-get upgrade - sudo apt-get install build-essential git libffi-dev zlib1g-dev autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev libncurses5-dev libgdbm5 libgdbm-dev libmysqlclient-dev libjansson-dev ctags - -2. Cloning Autolab repo from Github to ~/Autolab - - :::bash - cd ~/ - git clone https://github.com/autolab/Autolab.git - cd Autolab - -3. Setting up rbenv and ruby-build plugin - - :::bash - cd ~/ - git clone https://github.com/rbenv/rbenv.git ~/.rbenv - echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc - echo 'eval "$(rbenv init -)"' >> ~/.bashrc - source ~/.bashrc - - ~/.rbenv/bin/rbenv init - git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build - -4. Installing Ruby (Based on ruby version) - - :::bash - cd Autolab - rbenv install `cat .ruby-version` - -5. Installing SQLite - - :::bash - sudo apt-get install sqlite3 libsqlite3-dev - -6. Installing MySQL. (If you would just like to test Autolab, then you can skip this step by using SQLite) -Following instructions from [How to Install MySQL on Ubuntu](https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04). - - :::bash - sudo apt install mysql-server - sudo mysql_secure_installation - - > There will be a few questions asked during the MySQL setup. - - * Validate Password Plugin? N - * Remove Annonymous Users? Y - * Disallow Root Login Remotely? Y - * Remove Test Database and Access to it? Y - * Reload Privilege Tables Now? Y - -7. (If you are using MySQL) Create a new user with access to `autolab_test` and `autolab_development` databases. Because a password rather than auth_socket is needed, we need to ensure that user uses `mysql_native_password` - - :::bash - sudo mysql - mysql> CREATE USER 'user1'@'localhost' IDENTIFIED WITH mysql_native_password BY ''; - mysql> FLUSH PRIVILEGES; - mysql> exit; - -8. Installing Rails - - :::bash - cd Autolab - gem install bundler - rbenv rehash - bundle install - -9. Initializing Autolab Configs - - :::bash - cd Autolab - cp config/database.yml.template config/database.yml - cp config/school.yml.template config/school.yml - cp config/initializers/devise.rb.template config/initializers/devise.rb - sed -i "s//`bundle exec rails secret`/g" config/initializers/devise.rb - cp config/autogradeConfig.rb.template config/autogradeConfig.rb - -10. (Using MySQL) Editing Database YML. -Change the and fields in config/database.yml to the username and password that has been set up for the mysql. For example if your username is `user1`, and your password is `123456`, then your yml would be - - :::yml - development: - adapter: mysql2 - database: autolab_development - pool: 5 - username: user1 - password: '123456' - socket: /var/run/mysqld/mysqld.sock - host: localhost - variables: - sql_mode: NO_ENGINE_SUBSTITUTION - - test: - adapter: mysql2 - database: autolab_test - pool: 5 - username: user1 - password: '123456' - socket: /var/run/mysqld/mysqld.sock - host: localhost - variables: - sql_mode: NO_ENGINE_SUBSTITUTION - -11. (Using SQLite) Editing Database YML. -Comment out the configurations meant for MySQL in config/database.yml, and insert the following - - :::yml - development: - adapter: sqlite3 - database: db/autolab_development - pool: 5 - timeout: 5000 - - test: - adapter: sqlite3 - database: db/autolab_test - pool: 5 - timeout: 5000 - -12. Granting permissions on the databases. Setting global sql mode is important to relax the rules of mysql when it comes to group by mode - - :::bash - (access mysql using your root first to grant permissions) - mysql> grant all privileges on autolab_development.* to ''@localhost; - mysql> grant all privileges on autolab_test.* to ''@localhost; - mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); - mysql> exit - -12. Initializing Autolab Database - - :::bash - cd Autolab - bundle exec rails db:create - bundle exec rails db:reset - bundle exec rails db:migrate - -13. Populating sample course & students - - :::bash - cd Autolab - bundle exec rails autolab:populate - -14. Run Autolab! - - :::bash - cd Autolab - bundle exec rails s -p 3000 --binding=0.0.0.0 - -15. Visit localhost:3000 on your browser to view your local deployment of Autolab, and login with `Developer Login` - - Email: "admin@foo.bar" - -16. Install [Tango](/tango), the backend autograding service. - -17. If you would like to deploy the server, you can try out [Phusion Passenger](https://www.phusionpassenger.com/library/walkthroughs/start/ruby.html) - -18. Now you are all set to start using Autolab! Visit the [Guide for Instructors](/instructors) and [Guide for Lab Authors](/lab) pages for more info. - - - -## FAQ - -This is a general list of questions that we get often. If you find a solution to an issue not mentioned here, -please contact us at - -#### Ubuntu Script Bugs - -If you get the following error - -```bash -Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release -Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file) -``` - -then follow the solution in [this post](http://askubuntu.com/questions/743814/unable-to-find-expected-entry-main-binary-i386-packages-chrome). - -#### Where do I find the MySQL username and password? -If this is your first time logging into MySQL, your username is 'root'. You may also need to set the root password: - -Start the server: - -```bash -sudo /usr/local/mysql/support-files/mysql.server start -``` - -Set the password: - -```bash -mysqladmin -u root password "[New_Password]" -``` - -If you lost your root password, refer to the [MySQL wiki](http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html) - -#### Bundle Install Errors -This happens as gems get updated. These fixes are gem-specific, but two common ones are - -`eventmachine` - -```bash -bundle config build.eventmachine --with-cppflags=-I/usr/local/opt/openssl/include -``` - -`libv8` - -```bash -bundle config build.libv8 --with-system-v8 -``` - -Run `bundle install` again - -If this does not work, another option would be - -```bash -bundle update libv8 -``` - -Because updating libv8 has dependency on other gems, it might fail due to a need to update other gems. Just do - -```bash -bundle update -``` - -according to the error messages until all gems are up to date. - -Run `bundle install` again - -If neither of these works, try exploring [this StackOverflow link](http://stackoverflow.com/questions/23536893/therubyracer-gemextbuilderror-error-failed-to-build-gem-native-extension) - -#### Can't connect to local MySQL server through socket -Make sure you've started the MySQL server and double-check the socket in `config/database.yml` - -The default socket location is `/tmp/mysql.sock`. - -#### I forgot my MySQL root password - -You can reset it following the instructions on [this Stack Overflow post](http://stackoverflow.com/questions/6474775/setting-the-mysql-root-user-password-on-os-x) - -If `mysql` complains that the password is expired, follow the instructions on the second answer on [this post](http://stackoverflow.com/questions/33326065/unable-to-access-mysql-after-it-automatically-generated-a-temporary-password) - -#### MySQL Syntax Error - -If you get the following error - -```bash -Mysql2::Error: You have an error in your SQL syntax -``` - -this may be an issue with using an incompatible version of MySQL. Try switching to MySQL 5.7 if you are currently using a different version. - -### Undefined method 'devise' for User -You most likely missed the step of copying 'config/initializers/devise.rb.template' to 'config/initializers/devise.rb' and setting your secret key in the setup instructions. \ No newline at end of file +Click on `Grade Submissions`, and then the arrow button to open up student submissions. For details on the relevant features for an Instructor, go to [Guide for Instructors](/instructors). diff --git a/docs/installation/docker-compose.md b/docs/installation/docker-compose.md new file mode 100644 index 000000000..f76d9cb61 --- /dev/null +++ b/docs/installation/docker-compose.md @@ -0,0 +1,301 @@ +# Autolab + Tango Docker Compose Installation + +The Autolab Docker Compose installation is a fast and easy production-ready installation and deployment method. It uses a MySQL database for the Autolab deployment, and comes with TLS/SSL support. This is now the preferred way of installing Autolab. + +If you are stuck or find issues with the installation process you can either file an issue on our Github repository, or join our Slack here and let us know and we will try our best to help. Also see the [debugging](#debugging-your-deployment) section for tips on how to diagnose problems and check out the [troubleshooting](#troubleshooting) section if you run into any issues. + +## Installation +First ensure that you have Docker and Docker Compose installed on your machine. See the official Docker docs for the installation steps. + +1. Clone this repository and its Autolab and Tango submodules: + + :::bash + git clone --recurse-submodules -j8 git://github.com/autolab/docker.git autolab-docker + + +2. Enter the project directory: + + :::bash + cd autolab-docker + +3. Update our Autolab and Tango submodules to ensure that you are getting the latest versions: + + :::bash + make update + +4. Create initial default configs: + + :::bash + make + +5. Build the Dockerfiles for both Autolab and Tango: + + :::bash + docker-compose build + +6. Run the Docker containers: + + :::bash + docker-compose up -d + + Note at this point Nginx will still be crash-looping in the Autolab container because TLS/SSL has not been configuired/disabled yet. + +7. Ensure that the newly created config files have the right permissions, as it may have been modified during the building process: + + :::bash + make set-perms + +8. Perform database migrations for Autolab, which will initialize your database schema: + + :::bash + make db-migrate + +9. Create administrative user for Autolab: + + :::bash + make create-user + + This user has full permissions on Autolab and will be able to create other users and designate other admins. + +10. Change `DOCKER_TANGO_HOST_VOLUME_PATH` in `docker-compose.yml` to be the absolute path to the Tango `volumes` directory, i.e `//Tango/volumes`. This is so that Tango knows where to put the output files of its autograded jobs. + + :::bash + # in docker-compose.yml + + # Modify the below to be the path to volumes on your host machine + - DOCKER_TANGO_HOST_VOLUME_PATH=/home/your-user/autolab-docker/Tango/volumes # example path + +11. Stop all containers, as we are going to setup/disable TLS: + + :::bash + docker-compose stop + +12. If you intend to use TLS later, in `nginx/app.conf`, change instances of `` to your real domain name. Otherwise, if you are not using TLS, in `nginx/no-ssl-app.conf`, change `server_name` to your real domain name. + +13. Continue with TLS setup as outlined in the [next section](#configuring-tlsssl) +14. Build the autograding image(s) that you want to use in Tango (see [the docs](/installation/tango/#docker-vmms-setup) for more information). For this setup we will stick to the default Ubuntu 18.04 autograding image: + + :::bash + docker build -t autograding_image Tango/vmms/ + +Note that we can just run this directly on the host because we are mapping the Docker socket to the Tango container (i.e they are using the same Docker server). + +15. Start up everything: + + :::bash + docker-compose up -d + +Autolab should now be accessible on port 80 (and 443 if you configured TLS)! + +## Configuring TLS/SSL +Having TLS/SSL configured is important as it helps to ensure that sensitive information like user credentials and submission information are encrypted instead of being sent over in plaintext across the network when users are using Autolab. We have made setting up TLS as easy and pain-free as possible. Using TLS is strongly recommended if you are using Autolab in a production environment with real students and instructors. + +There are three options for TLS: using Let's Encrypt (for free TLS certificates), using your own certificate, and not using TLS (suitable for local testing/development, but not recommended for production deployment). + +### Option 1: Let's Encrypt +1. Ensure that your DNS record points towards the IP address of your server +2. Ensure that port 443 is exposed on your server (i.e checking your firewall, AWS security group settings, etc) +3. Get initial SSL setup script: `make ssl` +4. In `ssl/init-letsencrypt.sh`, change `domains=(example.com)` to the list of domains that your host is associated with, and change `email` to be your email address so that Let's Encrypt will be able to email you when your certificate is about to expire +5. If necessary, change `staging=0` to `staging=1` to avoid being rate-limited by Let's Encrypt since there is a limit of 20 certificates/week. Setting this is helpful if you have an experimental setup. +6. Run your modified script: `sudo sh ./ssl/init-letsencrypt.sh` + +### Option 2: Using your own TLS certificate +1. Copy your private key to `ssl/privkey.pem` +2. Copy your certificate to `ssl/fullchain.pem` +3. Generate your dhparams: + + :::bash + openssl dhparam -out ssl/ssl-dhparams.pem 4096 + +4. Uncomment the following lines in `docker-compose.yml`: + + :::bash + # - ./ssl/fullchain.pem:/etc/letsencrypt/live/test.autolab.io/fullchain.pem; + # - ./ssl/privkey.pem:/etc/letsencrypt/live/test.autolab.io/privkey.pem; + # - ./ssl/ssl-dhparams.pem:/etc/letsencrypt/ssl-dhparams.pem + +### Option 3: No TLS (not recommended, only for local development/testing) +1. In `docker-compose.yml` (for all the subsequent steps), comment out the following: + + :::bash + # Comment the below out to disable SSL (not recommended) + - ./nginx/app.conf:/etc/nginx/sites-enabled/webapp.conf + + Also uncomment the following: + + :::bash + # Uncomment the below to disable SSL (not recommended) + # - ./nginx/no-ssl-app.conf:/etc/nginx/sites-enabled/webapp.conf + + Lastly set `DOCKER_SSL=false`: + + :::bash + environment: + - DOCKER_SSL=true # set to false for no SSL (not recommended) + +## Updating Your Docker Compose Deployment +1. Stop your running instances: + + :::bash + docker-compose stop + +2. Update your Autolab and Tango repositories: + + :::bash + make update + +3. Rebuild the images with the latest code: + + :::bash + docker-compose build + +4. Re-deploy your containers: + + :::bash + docker-compose up + +## Debugging your Deployment +In the (very likely) event that you run into problems during setup, hopefully these steps will help you to help identify and diagnose the issue. If you continue to face difficulties or believe you discovered issues with the setup process please join our Slack [here](https://autolab-slack.herokuapp.com/) and let us know and we will try our best to help. + +### Better logging output for Docker Compose +By default, `docker-compose up -d` runs in detached state and it is not easy to immediately see errors: + + :::bash + $ docker-compose up -d + Starting certbot ... done + Starting redis ... done + Starting mysql ... done + Starting tango ... done + Recreating autolab ... done + +Use `docker-compose up` instead to get output from all the containers in real time: + + :::bash + $ docker-compose up + Starting certbot ... done + Starting mysql ... done + Starting redis ... done + Starting tango ... done + Starting autolab ... done + Attaching to redis, mysql, certbot, tango, autolab + mysql | [Entrypoint] MySQL Docker Image 8.0.22-1.1.18 + tango | 2020-11-11 04:33:19,533 CRIT Supervisor running as root (no user in config file) + redis | 1:C 11 Nov 2020 04:33:19.032 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo + redis | 1:C 11 Nov 2020 04:33:19.032 # Redis version=6.0.9, bits=64, commit=00000000, modified=0, pid=1, just started + redis | 1:C 11 Nov 2020 04:33:19.032 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf + mysql | [Entrypoint] Starting MySQL 8.0.22-1.1.18 + redis | 1:M 11 Nov 2020 04:33:19.033 * Running mode=standalone, port=6379. + redis | 1:M 11 Nov 2020 04:33:19.033 # Server initialized + tango | 2020-11-11 04:33:19,539 INFO RPC interface 'supervisor' initialized + tango | 2020-11-11 04:33:19,539 CRIT Server 'unix_http_server' running without any HTTP authentication checking + mysql | 2020-11-11T04:33:19.476749Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.22) starting as process 22 + --- output truncated --- + +### Checking Autolab logs +If the Autolab instance is not working properly, taking a look at both the application logs as well as the Nginx logs in the container will be helpful. + +First, find the name of the container. This should be just `autolab` by default: + + :::bash + $ docker ps + CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES + 765d35962f52 autolab-docker_autolab "/sbin/my_init" 31 minutes ago Up 22 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp autolab + a5b77b5267b1 autolab-docker_tango "/usr/bin/supervisor…" 7 days ago Up 22 minutes 0.0.0.0:3000->3000/tcp tango + 438d8e9f73e2 redis:latest "docker-entrypoint.s…" 7 days ago Up 22 minutes 6379/tcp redis + da86acc5a4c3 mysql/mysql-server:latest "/entrypoint.sh mysq…" 7 days ago Up 22 minutes (healthy) 3306/tcp, 33060-33061/tcp mysql + 88032e85d669 a2eb12050715 "/bin/bash" 9 days ago Up 2 days compiler + +Next get a shell inside the container: + + :::bash + $ docker exec -it autolab bash + root@be56be775428:/home/app/webapp# + +By default we are in the project directory. Navigate to the `logs` directory and `cat` or `tail` `production.log`. This contains logs from the Autolab application itself. + + :::bash + root@be56be775428:/home/app/webapp# cd log + root@be56be775428:/home/app/webapp/log# tail -f -n +1 production.log + +We can also check out our Nginx logs in `/var/log/nginx/`: + + :::bash + root@be56be775428:/home/app/webapp/log# cd /var/log/nginx/ + root@be56be775428:/var/log/nginx# ls + access.log error.log + +### Accessing the Rails console +Obtain a shell in the `autolab` container as described [previously](#checking-autolab-logs), and do `RAILS_ENV=production bundle exec rails c`: + + :::bash + root@be56be775428:/home/app/webapp# RAILS_ENV=production bundle exec rails c + Loading production environment (Rails 5.2.0) + 2.6.6 :001 > User.all.count + => 1 + +In the example above, if you performed `make create-user` you should have at least one user in your database. If there are errors connecting to a database here it is likely that the database was misconfigured. + +### Checking Tango Logs +Get a shell in the Tango instance, similar to the instructions mentioned [previously](#checking-autolab-logs). The logs are stored in the parent folder (`/opt/TangoService`) of the project directory: + + :::bash + $ docker exec -it tango bash + root@a5b77b5267b1:/opt/TangoService/Tango# cd .. + root@a5b77b5267b1:/opt/TangoService# ls + Tango tango_job_manager_log.log tango_log.log + root@a5b77b5267b1:/opt/TangoService# tail -f -n +1 tango_job_manager_log.log tango_log.log + +### Troubleshooting Autolab/Tango Connection +In the Autolab container, try to curl Tango: + + :::bash + root@be56be775428:/home/app/webapp# curl tango:3000 + Hello, world! RESTful Tango here! + +In the Tango container, try to curl Autolab: + + :::bash + root@a5b77b5267b1:/opt/TangoService/Tango# curl autolab + + 301 Moved Permanently + +

    301 Moved Permanently

    +
    nginx/1.14.0 (Ubuntu)
    + + + +### Permission issues in Autolab +Run the following again: + + :::bash + make set-perms + +### Restarting Autolab Passenger Server +This is useful when you might want to test out some code change within the Autolab container without having to rebuild everything again. These changes can be applied by just restarting the Passenger service that is serving Autolab. + +Run `passenger-config restart-app`: + + :::bash + root@8b56488b3fb6:/home/app/webapp# passenger-config restart-app + Please select the application to restart. + Tip: re-run this command with --help to learn how to automate it. + If the menu doesn't display correctly, press '!' + + ‣ /home/app/webapp (production) + Cancel + + Restarting /home/app/webapp (production) + +## Troubleshooting +### error: unable to unlink old 'db/schema.rb': Permission denied + +If you obtain the following error when attempting to perform `make update`: + + :::bash + error: unable to unlink old 'db/schema.rb': Permission denied + fatal: Could not reset index file to revision 'HEAD'. + +This is due to the fact that `db/schema.rb` is updated whenever migrations are performed. `db/schema.rb` documents the database schema, which depends on the database that you are using, its version, and when the migrations were run. It is likely that your `db/schema.rb` will diverge from the one generated by the devs. + +You can resolve this by changing the owner of the files to be your current user, and then running `make set-perms` afterwards when you start the containers again. diff --git a/docs/installation/mailing.md b/docs/installation/mailing.md new file mode 100644 index 000000000..9d273f327 --- /dev/null +++ b/docs/installation/mailing.md @@ -0,0 +1,36 @@ +# Mailing Setup + +Autolab requires mailing to allow users to register accounts and reset passwords. You will also be able to make announcements through Autolab as well. The recommended approach is to setup Autolab to use a SMTP server, such as [mailgun](https://mailgun.com), [SendGrid](https://sendgrid.com), [Amazon SES](https://aws.amazon.com/ses/) or any other valid SMTP mail servers to send out email. + +We intend this instructions mainly for production usage. To set Autolab up to use a custom SMTP Server, edit the following in `production.rb` that you have created. (If you would like to test it in development, add the following settings into `development.rb`). Both `production.rb` and `development.rb` are located at `config/environments` + +1. Update the host domain of your Autolab frontend instance + + :::ruby + config.action_mailer.default_url_options = {protocol: 'http', host: 'yourhost.com' } + + Host here should be the domain in which Autolab is hosted on. (e.g. `autolab.andrew.cmu.edu`) + +2. Update the custom smtp server settings + + :::ruby + config.action_mailer.smtp_settings = { + address: 'smtp.example.com', + port: 25, + enable_starttls_auto: true, + authentication: 'login', + user_name: 'example', + password: 'example', + domain: 'example.com', + } + + Refer to the SMTP settings instructions that your selected service provides you such as [SendGrid SMTP for Ruby on Rails](https://sendgrid.com/docs/for-developers/sending-email/rubyonrails/), [Amazon SES](https://docs.aws.amazon.com/ses/latest/DeveloperGuide/send-email-smtp.html). + +3. Update the "from" setting + + :::ruby + ActionMailer::Base.default :from => 'something@example.com' + + Here the from address **must** be a address that your SMTP service permits you to send from. Oftentimes it is the same as your user_name in the smtp settings. + +Make sure to restart your Autolab client to see the changes \ No newline at end of file diff --git a/docs/installation/manual.md b/docs/installation/manual.md new file mode 100644 index 000000000..e69de29bb diff --git a/docs/one-click.md b/docs/installation/one-click.md similarity index 100% rename from docs/one-click.md rename to docs/installation/one-click.md diff --git a/docs/installation/osx.md b/docs/installation/osx.md new file mode 100644 index 000000000..496267072 --- /dev/null +++ b/docs/installation/osx.md @@ -0,0 +1,111 @@ +This page provides instructions on installing Autolab for development on Mac OSX 10.11+. If you encounter any issue along the way, check out [Troubleshooting](/installation/troubleshoot). + +Follow the step-by-step instructions below: + +1. Install rbenv (use the Basic GitHub Checkout method) + +2. Install ruby-build as an rbenv plugin: + + :::bash + git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build + + Restart your shell at this point in order to start using your newly installed rbenv + +3. Clone the Autolab repo into home directory and enter it: + + :::bash + cd ~/ + git clone https://github.com/autolab/Autolab.git && cd Autolab + +4. Install the correct version of ruby: + + :::bash + rbenv install $(cat .ruby-version) + + At this point, confirm that `rbenv` is working (you might need to restart your shell): + + :::bash + $ which ruby + ~/.rbenv/shims/ruby + + $ which rake + ~/.rbenv/shims/rake + Note that Mac OSX comes with its own installation of ruby. You might need to switch your ruby from + the system version to the rbenv installed version. One option is to add the following lines to ~/.bash_profile: + + :::bash + export RBENV_ROOT= + eval "$(rbenv init -)" + +5. Install `bundler`: + + :::bash + gem install bundler + rbenv rehash + +6. Install the required gems (run the following commands in the cloned Autolab repo): + + :::bash + cd bin + bundle install + + Refer to [Troubleshooting](/installation/troubleshoot) for issues installing gems + +7. Install one of two database options + + - SQLite should **only** be used in development + - MySQL can be used in development or production + +8. Configure your database: + + :::bash + cp config/database.yml.template config/database.yml + + Edit `database.yml` with the correct credentials for your chosen database. Refer to [Troubleshooting](/installation/troubleshoot) for any issues. + +9. Configure school/organization specific information (new feature): + + :::bash + cp config/school.yml.template config/school.yml + + Edit `school.yml` with your school/organization specific names and emails + +10. Configure the Devise Auth System with a unique key (run these commands exactly - leave `` as it is): + + :::bash + cp config/initializers/devise.rb.template config/initializers/devise.rb + sed -i "s//`bundle exec rails secret`/g" config/initializers/devise.rb + + Fill in `` in the `config/initializers/devise.rb` file. To skip this step for now, fill with `foo.bar`. + +11. Create and initialize the database tables: + + :::bash + bundle exec rails db:create + bundle exec rails db:migrate + + Do not forget to use `bundle exec` in front of every rake/rails command. + +12. Create initial root user + + :::bash + ./bin/initialize_user.sh + +13. Populate dummy data (for development only): + + :::bash + bundle exec rails autolab:populate + +14. Start the rails server: + + :::bash + bundle exec rails s -p 3000 + +15. Go to localhost:3000 and login with either the credentials of the root user you just created, or choose `Developer Login` with: + + :::bash + Email: "admin@foo.bar". + +16. Install [Tango](/installation/tango), the backend autograding service. + +17. Now you are all set to start using Autolab! Visit the [Guide for Instructors](/instructors) and [Guide for Lab Authors](/lab) pages for more info. \ No newline at end of file diff --git a/docs/installation/overview.md b/docs/installation/overview.md new file mode 100644 index 000000000..ca91b4308 --- /dev/null +++ b/docs/installation/overview.md @@ -0,0 +1,9 @@ +The installation process comprises installing both Autolab and Tango (the autograding backend). MySQL and Redis will also need to be installed in most use cases. + +There are 2 different ways to install Autolab and Tango: + + 1. The simplest and fastest way to get up and running is to use our [Docker Compose installation](/installation/docker-compose/), which is ideal for most workloads. Both production-ready and testing deployments are available. This will set-up containers for Autolab, Tango, and other required services. + 2. You can also install Autolab manually. There are instructions for installing Autolab on [Ubuntu 18.04](/installation/ubuntu) and on [Mac OSX 10.11+](/installation/osx). The instructions for [installing Tango manually](/installation/tango) are the same for both environments. + + +Most of our users prefer the Docker Compose installation method as it is simpler, production-ready, and comes deployed with MySQL and TLS/SSL. \ No newline at end of file diff --git a/docs/installation/tango.md b/docs/installation/tango.md new file mode 100644 index 000000000..42abca2a1 --- /dev/null +++ b/docs/installation/tango.md @@ -0,0 +1,329 @@ +# Tango Installation + +This guide provides instructions for installing Tango on either a [development environment](#development-installation) or a [production environment](#production-installation). + +# Development Installation + +This guide shows how to setup Tango in a **development environment**. Use the [production installation](#production-installation) guide for installing in a **production environment**. + +1. Obtain the source code. + + :::bash + git clone https://github.com/autolab/Tango.git; cd Tango + +2. Install Redis following this guide. By default, Tango uses Redis as a stateless job queue. Learn more here. + +3. Create a `config.py` file from the given template. + + :::bash + cp config.template.py config.py + +4. Create the course labs directory where job's output files will go, organized by key and lab name: + + :::bash + mkdir courselabs + + By default the `COURSELABS` option in `config.py` points to the `courselabs` directory in the Tango directory. + Change this to specify another path if you wish. + +5. Set up a VMMS for Tango to use. + + - [Docker](#docker-vmms-setup) (**recommended**) + - [Amazon EC2](#amazon-ec2-vmms-setup) + - TashiVMMS (deprecated) + + +6. Run the following commands to setup the Tango dev environment inside the Tango directory. Install pip if needed. + + :::bash + $ pip install virtualenv + $ virtualenv . + $ source bin/activate + $ pip install -r requirements.txt + $ mkdir volumes + +7. If you are using Docker, set `DOCKER_VOLUME_PATH` in `config.py` to be the path to the `volumes` directory you just created. + + :::bash + DOCKER_VOLUME_PATH = "/path/to/Tango/volumes/" + + +8. Start Redis by running the following command: + + :::bash + $ redis-server + +9. Run the following command to start the server (producer). If no port is given, the server will run on the port specified in `config.py` (default: 3000): + + :::bash + python restful-tango/server.py + + Open another terminal window and start the job manager (consumer): + + :::bash + python jobManager.py + + For more information on the job producer/consumer model check out our blog post. + +10. Ensure Tango is running: + + :::bash + $ curl localhost: + # Hello, world! RESTful Tango here! + +11. You can test the Tango setup using the [command line client](/tango-cli/). + +12. If you are using Tango with Autolab, you have to configure Autolab to use Tango. Go to your Autolab directory and enter the following commands: + + :::bash + cp config/autogradeConfig.rb.template config/autogradeConfig.rb + + Fill in the correct info for your Tango deployment, mainly the following: + + :::ruby + # Hostname for Tango RESTful API + RESTFUL_HOST = "foo.bar.edu" #(if you are running Tango locally, then it is just "localhost") + + # Port for Tango RESTful API + RESTFUL_PORT = "3000" + + # Key for Tango RESTful API + RESTFUL_KEY = "test" + +13. See below for instructions on how to deploy Tango in a standalone production environment. + + + + +# Production Installation + +This is a guide to setup a fully self-sufficient Tango deployment environment out-of-the-box using Docker. The suggested deployment pattern for Tango uses Nginx as a proxy and Supervisor as a process manager for Tango and all its dependencies. All requests to Nginx are rerouted to a Tango process. + +## Details + +- Nginx default port - 8600 +- Tango ports - 8610, 8611 +- Redis port - 6379 +- You can change any of these in the respective config files in `deployment/config/` before you build the `tango_deployment` image. + +## Steps + +1. Clone the Tango repo + + :::sh + $ git clone https://github.com/autolab/Tango.git; cd Tango + +2. Create a `config.py` file from the given template. + + :::sh + $ cp config.template.py config.py + +3. Modify `DOCKER_VOLUME_PATH` in `config.py` as follows: + + :::sh + DOCKER_VOLUME_PATH = '/opt/TangoService/Tango/volumes/' + +4. Install docker on the host machine by following instructions on the docker installation page. Ensure docker is running: + + :::sh + $ docker ps + # CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES + +5. Run the following command to build the Tango deployment image. + + :::sh + $ docker build --tag="tango_deployment" . + +6. Ensure the image was built by running. + + :::sh + $ docker images + # REPOSITORY TAG IMAGE ID CREATED SIZE + # tango_deployment latest 3c0d4f4b4958 2 minutes ago 742.6 MB + # ubuntu 15.04 d1b55fd07600 4 minutes ago 131.3 MB + +7. Run the following command to access the image in a container with a bash shell. The `-p` flag will map `nginxPort` on the docker container to `localPort` (8610 recommended) on your local machine (or on the VM that docker is running in on the local machine) so that Tango is accessible from outside the docker container. + + :::sh + $ docker run --privileged -p : -it tango_deployment /bin/bash + +8. Set up a VMMS for Tango within the Docker container. + + - [Docker](#docker-vmms-setup) (**recommended**) + - [Amazon EC2](#amazon-ec2-vmms-setup) + +9. Run the following command to start supervisor, which will then start Tango and all its dependencies. + + :::sh + $ service supervisor start + +10. Check to see if Tango is responding to requests + + :::sh + $ curl localhost:8610 # Hello, world! RESTful Tango here! + +11. Once you have a VMMS set up, leave the tango_deployment container by typing `exit` and once back in the host shell run the following command to get the name of your production container. + + :::sh + $ docker ps -as + # CONTAINER ID IMAGE COMMAND NAMES SIZE + # c704d45c3737 tango_deployment "/bin/bash" erwin 40.26 MB + + The container created in this example has the name `erwin`. + +12. The name of the production container can be changed by running the following command and will be used to run the container and create services. + + :::sh + $ docker rename + +13. To reopen the container once it has been built use the following command. This will reopen the interactive shell within the container and allow for configuration of the container after its initial run. + + :::sh + $ docker start erwin + $ docker attach erwin + +14. Once the container is set up with the autograding image, and the VMMS configured with any necessary software/environments needed for autograding (java, perl, etc), some configurations need to be changed to make the container daemon ready. Using the `CONTAINER ID` above, use the following commands to modify that containers `config.v2.json` file. + + :::sh + $ sudo ls /var/lib/docker/containers + c704d45c37372a034cb97761d99f6f3f362707cc23d689734895e017eda3e55b + $ sudo vim /var/lib/docker/containers/c704d45c37372a034cb97761d99f6f3f362707cc23d689734895e017eda3e55b/config.v2.json + +15. Edit the "Path" field in the config.v2.json file from "/bin/bash" to "/usr/bin/supervisord" and save the file. Run the following commands to verify the changes were successful. The COMMAND field should now be "/usr/bin/supervisord" + + :::sh + $ service docker restart + $ docker ps -as + # CONTAINER ID IMAGE COMMAND NAMES SIZE + # c704d45c3737 tango_deployment "/usr/bin/supervisord" erwin 40.26 MB + +16. At this point when the container is started, the environment is fully set up and will no longer be an interactive shell. Instead, it will be the supervisor service that starts Tango and all its dependencies. Test this with the following commands and ensure Tango is functioning properly. + + :::sh + $ docker start erwin + # (Test tango environment) + $ docker stop erwin + +17. Test the setup by running sample jobs using [the testing guide](/tango-cli/). + + **The following steps are optional and should only be used if you would like the Tango container to start on system boot.** + +18. To ensure Tango starts with the system in the production environment, the container needs to be configured as a service. Below is a sample service config file that needs to be changed to suit your environment and placed in `/etc/systemd/system/`. The file should be named `.service`. For this example, it is `erwin.service`. + + :::sh + [Unit] + Description=Docker Service Managing Tango Container + Requires=docker.service + After=docker.service + + [Service] + Restart=always + ExecStart=/usr/bin/docker start -a erwin + ExecStop=/usr/bin/docker stop -t 2 erwin + + [Install] + WantedBy=default.target + +19. Test and ensure the service was set up correctly. The service should start successfully and remain running. + + :::sh + $ systemctl daemon-reload + $ service erwin start + $ service erwin status + +20. Enable the service at system startup and reboot and ensure it starts with the host. + + :::sh + $ systemctl enable erwin.service + $ sudo reboot + # (Server Reboots) + $ service erwin status + +# Docker VMMS Setup + +This is a guide to set up Tango to run jobs inside Docker containers. + +1. Install docker on host machine by following instructions on the docker installation page. Ensure docker is running: + + :::bash + $ docker ps # CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES + +2. Build base Docker image from root Tango directory. + + :::sh + cd path/to/Tango + docker build -t autograding_image vmms/ + docker images autograding_image # Check if image built + +3. Update `VMMS_NAME` in `config.py`. + + :::python + # in config.py + VMMS_NAME = "localDocker" + +# Amazon EC2 VMMS Setup + +This is a guide to set up Tango to run jobs on an Amazon EC2 VM. + +1. Create an AWS Account or use an existing one. + +2. Obtain your `access_key_id` and `secret_access_key` by following the instructions here. + +3. Add AWS Credentials to a file called `~/.boto` using the following format: + + :::bash + [Credentials] + aws_access_key_id = MYAMAZONTESTKEY12345 + aws_secret_access_key = myawssecretaccesskey12345 + + Tango uses the Boto Python package to interface with Amazon Web Services + +4. In the AWS EC2 console, create an Ubuntu 14.04+ EC2 instance and save the `.pem` file in a safe location. + +5. Copy the directory and contents of `autodriver/` in the Tango repo into the EC2 VM. For more help connecting to the EC2 instance follow this guide. + + :::bash + chmod 400 /path/my-key-pair.pem + scp -i /path/my-key-pair.pem -r autodriver/ ubuntu@.compute-1.amazonaws.com:~/ + + The autodriver is used as a sandbox environment to run the job inside the VM. It limits Disk I/O, Disk Usage, monitors security, and controls other valuable `sudo` level resources. + +6. In the EC2 VM, compile the autodriver. + + :::bash + $ cd autodriver/ + $ make clean; make + $ cp -p autodriver /usr/bin/autodriver + +7. Create the `autograde` Linux user and directory. All jobs will be run under this user. + + :::bash + $ useradd autograde + $ mkdir autograde + $ chown autograde autograde + $ chown :autograde autograde + +8. In the AWS EC2 console, create an AMI image from your EC2 VM. Use this guide to create a custom AMI. + +9. Exit the EC2 instance and edit the following values in `config.py` in the Tango directory. + + :::bash + # VMMS to use. Must be set to a VMMS implemented in vmms/ before + # starting Tango. Options are: "localDocker", "distDocker", + # "tashiSSH", and "ec2SSH" + VMMS_NAME = "ec2SSH" + ###### + # Part 5: EC2 Constants + # + EC2_REGION = 'us-east-1' # EC2 Region + EC2_USER_NAME = 'ubuntu' # EC2 username + DEFAULT_AMI = 'ami-4c99c35b' # Custom AMI Id + DEFAULT_INST_TYPE = 't2.micro' # Instance Type + DEFAULT_SECURITY_GROUP = 'autolab-autograde-ec2' # Security Group with full access to EC2 + SECURITY_KEY_PATH = '/path/to/my-key-pair.pem' # Absolute path to my-key-pair.pem + DYNAMIC_SECURITY_KEY_PATH = '' # Leave blank + SECURITY_KEY_NAME = 'my-key-pair' # Name of the key file. Ex: if file name is 'my-key-pair.pem', fill value with 'my-key-pair' + TANGO_RESERVATION_ID = '1' # Leave as 1 + INSTANCE_RUNNING = 16 # Status code of a running instance, leave as 16 + +10. You should now be ready to run Tango jobs on EC2! Use the [Tango CLI](/tango-cli/) to test your setup. diff --git a/docs/installation/troubleshoot.md b/docs/installation/troubleshoot.md new file mode 100644 index 000000000..ac302a798 --- /dev/null +++ b/docs/installation/troubleshoot.md @@ -0,0 +1,89 @@ +This is a general list of questions that we get often. If you find a solution to an issue not mentioned here, +please contact us at + +#### Ubuntu Script Bugs + +If you get the following error + +```bash +Failed to fetch http://dl.google.com/linux/chrome/deb/dists/stable/Release +Unable to find expected entry 'main/binary-i386/Packages' in Release file (Wrong sources.list entry or malformed file) +``` + +then follow the solution in [this post](http://askubuntu.com/questions/743814/unable-to-find-expected-entry-main-binary-i386-packages-chrome). + +#### Where do I find the MySQL username and password? +If this is your first time logging into MySQL, your username is 'root'. You may also need to set the root password: + +Start the server: + +```bash +sudo /usr/local/mysql/support-files/mysql.server start +``` + +Set the password: + +```bash +mysqladmin -u root password "[New_Password]" +``` + +If you lost your root password, refer to the [MySQL wiki](http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html) + +#### Bundle Install Errors +This happens as gems get updated. These fixes are gem-specific, but two common ones are + +`eventmachine` + +```bash +bundle config build.eventmachine --with-cppflags=-I/usr/local/opt/openssl/include +``` + +`libv8` + +```bash +bundle config build.libv8 --with-system-v8 +``` + +Run `bundle install` again + +If this does not work, another option would be + +```bash +bundle update libv8 +``` + +Because updating libv8 has dependency on other gems, it might fail due to a need to update other gems. Just do + +```bash +bundle update +``` + +according to the error messages until all gems are up to date. + +Run `bundle install` again + +If neither of these works, try exploring [this StackOverflow link](http://stackoverflow.com/questions/23536893/therubyracer-gemextbuilderror-error-failed-to-build-gem-native-extension) + +#### Can't connect to local MySQL server through socket +Make sure you've started the MySQL server and double-check the socket in `config/database.yml` + +The default socket location is `/tmp/mysql.sock`. + +#### I forgot my MySQL root password + +You can reset it following the instructions on [this Stack Overflow post](http://stackoverflow.com/questions/6474775/setting-the-mysql-root-user-password-on-os-x) + +If `mysql` complains that the password is expired, follow the instructions on the second answer on [this post](http://stackoverflow.com/questions/33326065/unable-to-access-mysql-after-it-automatically-generated-a-temporary-password) + +#### MySQL Syntax Error + +If you get the following error + +```bash +Mysql2::Error: You have an error in your SQL syntax +``` + +this may be an issue with using an incompatible version of MySQL. Try switching to MySQL 5.7 if you are currently using a different version. + +#### Undefined method 'devise' for User +You most likely missed the step of copying 'config/initializers/devise.rb.template' to 'config/initializers/devise.rb' and setting your secret key in the setup instructions. \ No newline at end of file diff --git a/docs/installation/ubuntu.md b/docs/installation/ubuntu.md new file mode 100644 index 000000000..2194f1779 --- /dev/null +++ b/docs/installation/ubuntu.md @@ -0,0 +1,165 @@ +This page provides instructions on installing Autolab for development on Ubuntu 18.04 LTS. If you encounter any issue along the way, check out [Troubleshooting](/installation/troubleshoot). + +1. Upgrade system packages and installing prerequisites + + :::bash + sudo apt-get update + sudo apt-get upgrade + sudo apt-get install build-essential git libffi-dev zlib1g-dev autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev libncurses5-dev libgdbm5 libgdbm-dev libmysqlclient-dev libjansson-dev ctags + +2. Cloning Autolab repo from Github to ~/Autolab + + :::bash + cd ~/ + git clone https://github.com/autolab/Autolab.git + cd Autolab + +3. Setting up rbenv and ruby-build plugin + + :::bash + cd ~/ + git clone https://github.com/rbenv/rbenv.git ~/.rbenv + echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc + echo 'eval "$(rbenv init -)"' >> ~/.bashrc + source ~/.bashrc + + ~/.rbenv/bin/rbenv init + git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build + +4. Installing Ruby (Based on ruby version) + + :::bash + cd Autolab + rbenv install `cat .ruby-version` + +5. Installing SQLite + + :::bash + sudo apt-get install sqlite3 libsqlite3-dev + +6. Installing MySQL. (If you would just like to test Autolab, then you can skip this step by using SQLite) +Following instructions from How to Install MySQL on Ubuntu. + + :::bash + sudo apt install mysql-server + sudo mysql_secure_installation + + > There will be a few questions asked during the MySQL setup. + + * Validate Password Plugin? N + * Remove Annonymous Users? Y + * Disallow Root Login Remotely? Y + * Remove Test Database and Access to it? Y + * Reload Privilege Tables Now? Y + +7. (If you are using MySQL) Create a new user with access to `autolab_test` and `autolab_development` databases. Because a password rather than auth_socket is needed, we need to ensure that user uses `mysql_native_password` + + :::bash + sudo mysql + mysql> CREATE USER 'user1'@'localhost' IDENTIFIED WITH mysql_native_password BY ''; + mysql> FLUSH PRIVILEGES; + mysql> exit; + +8. Installing Rails + + :::bash + cd Autolab + gem install bundler + rbenv rehash + bundle install + +9. Initializing Autolab Configs + + :::bash + cd Autolab + cp config/database.yml.template config/database.yml + cp config/school.yml.template config/school.yml + cp config/initializers/devise.rb.template config/initializers/devise.rb + sed -i "s//`bundle exec rails secret`/g" config/initializers/devise.rb + cp config/autogradeConfig.rb.template config/autogradeConfig.rb + +10. (Using MySQL) Editing Database YML. +Change the and fields in config/database.yml to the username and password that has been set up for the mysql. For example if your username is `user1`, and your password is `123456`, then your yml would be + + :::yml + development: + adapter: mysql2 + database: autolab_development + pool: 5 + username: user1 + password: '123456' + socket: /var/run/mysqld/mysqld.sock + host: localhost + variables: + sql_mode: NO_ENGINE_SUBSTITUTION + + test: + adapter: mysql2 + database: autolab_test + pool: 5 + username: user1 + password: '123456' + socket: /var/run/mysqld/mysqld.sock + host: localhost + variables: + sql_mode: NO_ENGINE_SUBSTITUTION + +11. (Using SQLite) Editing Database YML. +Comment out the configurations meant for MySQL in config/database.yml, and insert the following + + :::yml + development: + adapter: sqlite3 + database: db/autolab_development + pool: 5 + timeout: 5000 + + test: + adapter: sqlite3 + database: db/autolab_test + pool: 5 + timeout: 5000 + +12. Granting permissions on the databases. Setting global sql mode is important to relax the rules of mysql when it comes to group by mode + + :::bash + (access mysql using your root first to grant permissions) + mysql> grant all privileges on autolab_development.* to ''@localhost; + mysql> grant all privileges on autolab_test.* to ''@localhost; + mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); + mysql> exit + +12. Initializing Autolab Database + + :::bash + cd Autolab + bundle exec rails db:create + bundle exec rails db:reset + bundle exec rails db:migrate + +13. Create initial root user + + :::bash + ./bin/initialize_user.sh + +14. If you are just testing Autolab, you can populate the database with sample course & students + + :::bash + cd Autolab + bundle exec rails autolab:populate + +15. Run Autolab! + + :::bash + cd Autolab + bundle exec rails s -p 3000 --binding=0.0.0.0 + +16. Visit localhost:3000 on your browser to view your local deployment of Autolab, and login with either the credentials of the root user you just created, or choose `Developer Login` with + + Email: "admin@foo.bar" + +17. Install [Tango](/installation/tango), the backend autograding service. + +18. If you would like to deploy the server, you can try out Phusion Passenger. + +19. Now you are all set to start using Autolab! Visit the [Guide for Instructors](/instructors) and [Guide for Lab Authors](/lab) pages for more info. \ No newline at end of file diff --git a/docs/instructors.md b/docs/instructors.md index ad781bcf1..a113819f3 100644 --- a/docs/instructors.md +++ b/docs/instructors.md @@ -49,7 +49,7 @@ Labs can be _autograded_ or not, at your disrcretion. When a student submits to A lab has a _start date_, _due date_, _end date_ and _grading deadline_. The link to a lab becomes visible to students after the start date (it's always visible to instructors). Students can submit until the due date without penalty or consuming grace days. Submission is turned off after the end date. Grades are included in the gradebook's category and course averages only after the grading deadline. -## Handins +## Handins/Submissions Once an assessment is live (past the start date), students can begin submitting handins, where each handin is a single file, which can be either a text file or an archive file (e.g., `mm.c`, `handin.tar`). @@ -66,10 +66,6 @@ Autolab provides support for a late handin policy based on _grace days_. Each st Each lab contains at least one _problem_, defined by the instructor, with some point value. Each problem has a name (e.g., "Prob1", "Style") that is unique for the lab (although different labs can have the same problem names). -## Submissions - -Once an assessment is live (past the start date), students can begin making submissions (handins), where each submission is a single file. - ## Grades _Grades_ come in a number of different forms: diff --git a/docs/lab.md b/docs/lab.md index d5b508735..3e95e555f 100644 --- a/docs/lab.md +++ b/docs/lab.md @@ -25,6 +25,8 @@ By convention, an autograder accepts an optional `-A` command line argument that One of the nice properties of Autolab autograders is that they can be written and tested offline, without requiring any interaction with Autolab. Writing autograders is not easy, but the fact that they can be developed offline allows you to develop and test them in your own familiar computing environment. +To format your autoresult feedback provided to the students, use the [formatted feedback feature](/features/formatted-feedback). + ## Installing Autograded Labs After you've written and tested the autograder, you then use the Autolab web site to create the autograded lab. Autolab supports creating new labs from scratch, or reusing labs from previous semesters. We'll describe each of these in turn. @@ -78,9 +80,7 @@ If you don't have access to the lab directory, another option is to import a lab ## Example: Hello Lab -In this section we'll look at the simplest possible autograded lab we could imagine, called, appropriately enough, the -[Hello Lab](https://github.com/autolab/Autolab/tree/master/examples/hello) -(with [tarball](https://github.com/autolab/Autolab/tree/master/examples/hello.tar)), which is stored in a lab directory called `hello` in the Autolab github repo. While it's trivial, it illustrates all of the aspects of developing an autograded lab, and provides a simple example that you can use for sanity testing on your Autolab installation. +In this section we'll look at the simplest possible autograded lab we could imagine, called, appropriately enough, the Hello Lab (with tarball), which is stored in a lab directory called `hello` in the Autolab github repo. While it's trivial, it illustrates all of the aspects of developing an autograded lab, and provides a simple example that you can use for sanity testing on your Autolab installation. In this lab, students are asked to write a version of the K&R "hello, world" program, called `hello.c`. The autograder simply checks that the submitted `hello.c` program compiles and runs with an exit status of zero. If so, the submission gets 100 points. Otherwise it gets 0 points. @@ -88,7 +88,7 @@ In this lab, students are asked to write a version of the K&R "hello, world" pro Autolab expects to find the `autograde-Makefile`and `autograde.tar` files in the `hello` lab directory, but otherwise places no constraints on the contents and organization of this directory. However, based on our experience, we strongly recommend a directory structure with the following form: -[hello/README](https://github.com/autolab/Autolab/tree/master/examples/hello/README): +hello/README: ```md # Basic files created by the lab author @@ -120,7 +120,7 @@ The key idea with this directory structure is to place _all_ code for the lab in The main makefile creates `hello-handout` by copying files from `src`, and then tars it up: -[hello/Makefile](https://github.com/autolab/Autolab/tree/master/examples/hello/Makefile): +hello/Makefile: ```makefile # @@ -174,10 +174,10 @@ To build the lab, type `make clean; make`. You can do this as often as you like ### Source Directory -The [hello/src/](https://github.com/autolab/Autolab/tree/master/examples/hello/src) directory +The hello/src/ directory contains _all_ of the code files for the Hello Lab, including the files that are handed out to students: -[hello/src/README](https://github.com/autolab/Autolab/tree/master/examples/hello/src/README): +hello/src/README: ``` # Autograder and solution files @@ -194,10 +194,10 @@ hello.c-handout Blank hello.c file handed out to students ### Handout Directory -The [hello/hello-handout/](https://github.com/autolab/Autolab/tree/master/examples/hello/hello-handout/) directory +The hello/hello-handout/ directory contains the files that the students will use to work on the lab. It contains no hard state, and is populated entirely with files from `hello/src`: -[hello/hello-handout/README](https://github.com/autolab/Autolab/tree/master/examples/hello/hello-handout/README): +hello/hello-handout/README: ``` For this lab, you should write a tiny C program, called "hello.c", @@ -217,7 +217,7 @@ driver.sh Autolab autograder hello.c Empty C file that you will edit ``` -[hello/hello-handout/Makefile](https://github.com/autolab/Autolab/tree/master/examples/hello/hello-handout/Makefile) contains the rules that compile the student source code: +hello/hello-handout/Makefile contains the rules that compile the student source code: ```makefile # Student makefile for the Hello Lab @@ -239,7 +239,7 @@ $ ./hello The autograder for the Hello Lab is a trivially simple bash script called `driver.sh` that compiles and runs `hello.c` and verifies that it returns with an exit status of zero: -[hello/src/driver.sh](https://github.com/autolab/Autolab/tree/master/examples/hello/src/driver.sh) +hello/src/driver.sh: ```bash #!/bin/bash @@ -294,7 +294,7 @@ Notice that the autograder expects the `hello` lab on the Autolab front-end to h Autolab requires two _autograding files_ called `autograde.tar`, which contains all of the code required by the autograder, and `autograde-Makefile`, which runs the autograder on the autograding image when each submission is graded. For the Hello Lab, `autograde.tar` is simply a copy of the `hello-handout.tar` file that is handed out to students. And here is the corresponding -[hello/autograde-makefile](https://github.com/autolab/Autolab/tree/master/examples/hello/autograde-Makefile): +hello/autograde-makefile: ```makefile all: @@ -335,12 +335,8 @@ $ cd test-autograder && make clean && make The `hello/writeup` contains the detailed lab writeup, either html or pdf file, that students can download from the Autolab front end. -## FAQ +## Troubleshooting #### Why is Autolab not displaying my stdout output? -Autolab always shows the stdout output of running make, even when the program crashed or timed out. However, when it does crash and the expected autoresult json string is not appended to the output, parsing of the last line will fail. If this happens, any stdout output that is longer than 10,000 lines will be discarded (Note that this limit does not apply when the autoresult json is valid). - -#### Is there a way to formatting the feedback provided to the students - -Yes there is, by using the [formatted feedback feature](/features/#formatted-feedback). \ No newline at end of file +Autolab always shows the stdout output of running make, even when the program crashed or timed out. However, when it does crash and the expected autoresult json string is not appended to the output, parsing of the last line will fail. If this happens, any stdout output that is longer than 10,000 lines will be discarded (Note that this limit does not apply when the autoresult json is valid). \ No newline at end of file diff --git a/docs/reference.md b/docs/reference.md new file mode 100644 index 000000000..761ff67f7 --- /dev/null +++ b/docs/reference.md @@ -0,0 +1,9 @@ +# Reference Overview + +This section includes all the references for Autolab's Application Programming Interfaces (APIs) and is primarily intended for developers. + +| Reference | Description | +| ----------- | ------------------------------------ | +| [Autolab Frontend API](/api-overview) | API that allows developers to create clients that connect to Autolab's web server | +| [Tango API](/tango-rest) | API that is used to manage jobs on Tango | +| [Tango VMMS API](/tango-vmms) | API for creating new tango interfaces with VMMS | \ No newline at end of file diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 000000000..34ab9c08b --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,6 @@ +[data-md-color-scheme="autolab"] { + --md-primary-fg-color: rgb(153, 0, 0); + --md-primary-fg-color--light: #C87B7E; + --md-primary-fg-color--dark: rgb(120, 0, 0); +} + diff --git a/docs/tango-cli.md b/docs/tango-cli.md index 39c113b1e..2cfc4c40f 100644 --- a/docs/tango-cli.md +++ b/docs/tango-cli.md @@ -1,10 +1,10 @@ # Tango Command Line Client -This is a guide to use the command-line client (`clients/tango-cli.py`) to test and collect other valuable information from Tango. Please [setup Tango](/tango/#installation) before moving forward. This guide assumes an instance of Tango is already up and running. +This is a guide to use the command-line client (`clients/tango-cli.py`) to test and collect other valuable information from Tango. Please [setup Tango](/installation/tango) before moving forward. This guide assumes an instance of Tango is already up and running. ## Running a Sample Job -The CLI supports two ways to run a sample job, [individual steps](/tango-cli/#indivdual-steps) or in a [single all-in-one command](/tango-cli/#single-command). The first option is better for debugging each individual API call, whereas the second option is best for quickly running a job. Other Tango CLI commands are also discussed [below](/tango-cli/#miscallaneous-commands). +The CLI supports two ways to run a sample job, [individual steps](/tango-cli/#individual-steps) or in a [single all-in-one command](/tango-cli/#single-command). The first option is better for debugging each individual API call, whereas the second option is best for quickly running a job. Other Tango CLI commands are also discussed [below](/tango-cli/#miscellaneous-commands). The Tango directory contains various different jobs in the `clients/` directory; `clients/README.md` discusses the function of each job. diff --git a/docs/tango-vmms.md b/docs/tango-vmms.md index a48e72b8d..1b105bdba 100644 --- a/docs/tango-vmms.md +++ b/docs/tango-vmms.md @@ -1,4 +1,9 @@ -This page documents the interface for Tango's Virtual Machine Management Systems' (VMMSs) API and instructions for setting up VMMSs. See [the vmms directory](https://github.com/autolab/Tango/tree/master/vmms) in Tango for example implementations. +This page documents the interface for Tango's Virtual Machine Management Systems' (VMMSs) API and instructions for setting up VMMSs. + +See the vmms directory in Tango for example implementations. + +We currently provide [Docker VMMS](/installation/tango/#docker-vmms-setup) and the [Amazon EC2 VMMS](/installation/tango/#amazon-ec2-vmms-setup) interfaces. The following API is for developers who intend to use a different kind of VMMS for Tango's autograding purposes. + ## API @@ -67,92 +72,3 @@ getVMs(self) ``` Returns a complete list of VMs associated with this Tango system. - -## Docker VMMS Setup - -This is a guide to set up Tango to run jobs inside Docker containers. - -1. Install docker on host machine by following instructions on the [docker installation page](https://docs.docker.com/installation/). Ensure docker is running: - - :::bash - $ docker ps # CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES - -2. Build base Docker image from root Tango directory. - - :::sh - cd path/to/Tango - docker build -t autograding_image vmms/ - docker images autograding_image # Check if image built - -3. Update `VMMS_NAME` in `config.py`. - - :::python - # in config.py - VMMS_NAME = "localDocker" - -## Amazon EC2 VMMS Setup - -This is a guide to set up Tango to run jobs on an Amazon EC2 VM. - -1. Create an [AWS Account](https://aws.amazon.com/) or use an existing one. - -2. Obtain your `access_key_id` and `secret_access_key` by following the instructions [here](http://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys). - -3. Add AWS Credentials to a file called `~/.boto` using the following format: - - :::bash - [Credentials] - aws_access_key_id = MYAMAZONTESTKEY12345 - aws_secret_access_key = myawssecretaccesskey12345 - - Tango uses the [Boto](http://boto.cloudhackers.com/en/latest/) Python package to interface with Amazon Web Services - -4. In the AWS EC2 console, create an Ubuntu 14.04+ EC2 instance and save the `.pem` file in a safe location. - -5. Copy the directory and contents of `autodriver/` in the Tango repo into the EC2 VM. For more help connecting to the EC2 instance follow [this guide](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html#AccessingInstancesLinuxSCP) - - :::bash - chmod 400 /path/my-key-pair.pem - scp -i /path/my-key-pair.pem -r autodriver/ ubuntu@.compute-1.amazonaws.com:~/ - - The autodriver is used as a sandbox environment to run the job inside the VM. It limits Disk I/O, Disk Usage, monitors security, and controls other valuable `sudo` level resources. - -6. In the EC2 VM, compile the autodriver. - - :::bash - $ cd autodriver/ - $ make clean; make - $ cp -p autodriver /usr/bin/autodriver - -7. Create the `autograde` Linux user and directory. All jobs will be run under this user. - - :::bash - $ useradd autograde - $ mkdir autograde - $ chown autograde autograde - $ chown :autograde autograde - -8. In the AWS EC2 console, create an AMI image from your EC2 VM. Use [this guide](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#how-to-create-ebs-ami) to create a custom AMI. - -9. Exit the EC2 instance and edit the following values in `config.py` in the Tango directory. - - :::bash - # VMMS to use. Must be set to a VMMS implemented in vmms/ before - # starting Tango. Options are: "localDocker", "distDocker", - # "tashiSSH", and "ec2SSH" - VMMS_NAME = "ec2SSH" - ###### - # Part 5: EC2 Constants - # - EC2_REGION = 'us-east-1' # EC2 Region - EC2_USER_NAME = 'ubuntu' # EC2 username - DEFAULT_AMI = 'ami-4c99c35b' # Custom AMI Id - DEFAULT_INST_TYPE = 't2.micro' # Instance Type - DEFAULT_SECURITY_GROUP = 'autolab-autograde-ec2' # Security Group with full access to EC2 - SECURITY_KEY_PATH = '/path/to/my-key-pair.pem' # Absolute path to my-key-pair.pem - DYNAMIC_SECURITY_KEY_PATH = '' # Leave blank - SECURITY_KEY_NAME = 'my-key-pair' # Name of the key file. Ex: if file name is 'my-key-pair.pem', fill value with 'my-key-pair' - TANGO_RESERVATION_ID = '1' # Leave as 1 - INSTANCE_RUNNING = 16 # Status code of a running instance, leave as 16 - -10. You should now be ready to run Tango jobs on EC2! Use the [Tango CLI](/tango-cli/) to test your setup. diff --git a/docs/tango.md b/docs/tango.md deleted file mode 100644 index 5b6367642..000000000 --- a/docs/tango.md +++ /dev/null @@ -1,114 +0,0 @@ -# Tango - -Tango is a standalone RESTful Web service that runs jobs in virtual machines or containers. It was developed as a distributed grading system for [Autolab](/) and has been extensively used for autograding programming assignments. It is also open source and hosted on [Github](https://www.github.com/autolab/Tango). - -## Getting Started - -A brief overview of the Tango respository: - -- `tango.py` - Main tango server -- `jobQueue.py` - Manages the job queue -- `jobManager.py` - Assigns jobs to free VMs -- `worker.py` - Shepherds a job through its execution -- `preallocator.py` - Manages pools of VMs -- `vmms/` - VMMS library implementations -- `restful-tango/` - HTTP server layer on the main Tango - -Tango runs jobs in VMs using a high level Virtual Memory Management System (VMMS) API. Tango currently has support for running jobs in [Docker](https://www.docker.com/) containers (**recommended**) or [Amazon EC2](https://aws.amazon.com/ec2). - -For more information about the different Tango components, go to the following pages: - -- [REST API docs](/tango-rest/) -- [VMMS API docs](/tango-vmms/) -- [Tango Architecture Overview](https://docs.autolabproject.com/2015/04/making-backend-scalable/) -- [Deploying Tango](/tango-deploy/) - -### Installation - -This guide shows how to setup Tango in a **development environment**. Use the [deploying Tango](/tango-deploy/) guide for installing in a **production environment**. - -1. Obtain the source code. - - :::bash - git clone https://github.com/autolab/Tango.git; cd Tango - -2. Install Redis following [this guide](http://redis.io/topics/quickstart). By default, Tango uses Redis as a stateless job queue. Learn more [here](https://docs.autolabproject.com/2015/04/making-backend-scalable/). - -3. Create a `config.py` file from the given template. - - :::bash - cp config.template.py config.py - -4. Create the course labs directory where job's output files will go, organized by key and lab name: - - :::bash - mkdir courselabs - - By default the `COURSELABS` option in `config.py` points to the `courselabs` directory in the Tango directory. - Change this to specify another path if you wish. - -5. Set up a VMMS for Tango to use. - - - [Docker](/tango-vmms/#docker-vmms-setup) (**recommended**) - - [Amazon EC2](/tango-vmms/#amazon-ec2-vmms-setup) - - TashiVMMS (deprecated) - - -6. Run the following commands to setup the Tango dev environment inside the Tango directory. [Install pip](https://pip.pypa.io/en/stable/installing/) if needed. - - :::bash - $ pip install virtualenv - $ virtualenv . - $ source bin/activate - $ pip install -r requirements.txt - $ mkdir volumes - -7. If you are using Docker, set `DOCKER_VOLUME_PATH` in `config.py` to be the path to the `volumes` directory you just created. - - :::bash - DOCKER_VOLUME_PATH = "/path/to/Tango/volumes/" - - -8. Start Redis by running the following command: - - :::bash - $ redis-server - -9. Run the following command to start the server (producer). If no port is given, the server will run on the port specified in `config.py` (default: 3000): - - :::bash - python restful-tango/server.py - - Open another terminal window and start the job manager (consumer): - - :::bash - python jobManager.py - - For more information on the job producer/consumer model check out our [blog post](https://docs.autolabproject.com/2015/04/making-backend-scalable/) - -10. Ensure Tango is running: - - :::bash - $ curl localhost: - # Hello, world! RESTful Tango here! - -11. You can test the Tango setup using the [command line client](/tango-cli/). - -12. If you are using Tango with Autolab, you have to configure Autolab to use Tango. Go to your Autolab directory and enter the following commands: - - :::bash - cp config/autogradeConfig.rb.template config/autogradeConfig.rb - - Fill in the correct info for your Tango deployment, mainly the following: - - :::ruby - # Hostname for Tango RESTful API - RESTFUL_HOST = "foo.bar.edu" #(if you are running Tango locally, then it is just "localhost") - - # Port for Tango RESTful API - RESTFUL_PORT = "3000" - - # Key for Tango RESTful API - RESTFUL_KEY = "test" - -13. To deploy Tango in a standalone production environment, use this [guide](/tango-deploy/) diff --git a/mkdocs.yml b/mkdocs.yml index fa90c3833..4e92b8163 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,36 +1,48 @@ site_name: Autolab Documentation site_url: "https://docs.autolabproject.com/" +extra_css: + - stylesheets/extra.css nav: - - Autolab: - - Getting Started: index.md - - Guide for Instructors: instructors.md - - Guide for Lab Authors: lab.md - - Features: - - Formatted Feedback: features/formatted-feedback.md - - Scoreboards: features/scoreboards.md - - Embedded Forms: features/embedded-forms.md - - Annotations: features/annotations.md - - MOSS Plagiarism Detection: features/moss.md - - Metrics: features/metrics.md - - Autolab API: - - Overview: api-overview.md - - Reference: api-interface.md - - Command Line Interface: command-line-interface.md - - Managing Authorized Apps: api-managing-authorized-apps.md - - Tango: - - Getting Started: tango.md - - Tango CLI: tango-cli.md - - REST API: tango-rest.md - - VMMS Docs: tango-vmms.md - - Deploying Tango: tango-deploy.md - - Docker Compose Install: docker-compose.md - - (Legacy) OneClick Install: one-click.md + - Overview: index.md + - Installation: + - Installation Overview: installation/overview.md + - Docker Compose Install: installation/docker-compose.md + - Autolab: + - Ubuntu 18.04: installation/ubuntu.md + - Mac OSX 10.11+: installation/osx.md + - Troubleshooting: installation/troubleshoot.md + - Mailing Setup: installation/mailing.md + - Tango: installation/tango.md + # - (Legacy) OneClick Install: installation/one-click.md + - Getting Started: + - Autolab Frontend: + - Guide for Instructors: instructors.md + - Guide for Lab Authors: lab.md + - Features: + - Formatted Feedback: features/formatted-feedback.md + - Scoreboards: features/scoreboards.md + - Embedded Forms: features/embedded-forms.md + - Annotations: features/annotations.md + - MOSS Plagiarism Detection: features/moss.md + - Metrics: features/metrics.md + - Autolab Frontend CLI: command-line-interface.md + - Tango CLI: tango-cli.md + - Reference: + - Reference Overview: reference.md + - Autolab Frontend API: + - Overview: api-overview.md + - Endpoints: api-interface.md + - Managing Authorized Apps: api-managing-authorized-apps.md + - Tango API: tango-rest.md + - Tango VMMS API: tango-vmms.md theme: name: material - palette: - primary: "red" - accent: "blue" logo: "images/logo.svg" + palette: + scheme: autolab + features: + - navigation.tabs + - toc.integrate repo_name: "Autolab" repo_url: "https://github.com/Autolab/autolab" extra: @@ -47,3 +59,5 @@ markdown_extensions: - codehilite #linenums: true strict: true +plugins: + - search