IndySCC24 Competition Cluster Connection Guide
The IndySCC24 competition uses Indiana University's Jetstream2 cluster
1. Install Python3 and Pip
First, you need to ensure that Python3 and Pip (Python package manager) are installed on your system.
- Open the terminal application.
- Check if Python3 and Pip are already installed by entering the following commands:
python3 --version
pip3 --version
2. Install the OpenStack CLI Tool
- Install
python-openstackclientby running the following command in the terminal:pip3 install python-openstackclient
3. Set Up the Credentials File
- Create a file somewhere on your local machine, for example
~/app-cred-indyscc.sh, and use a text editor (such asnanoorvim) to edit the file:nano ~/app-cred-indyscc.sh - Paste the following content into the file, replacing the placeholders
your-app-cred-id-hereandyour-app-cred-secret-herewith your team's credential ID and secret:export OS_AUTH_TYPE=v3applicationcredential
export OS_AUTH_URL=https://js2.jetstream-cloud.org:5000/v3/
export OS_IDENTITY_API_VERSION=3
export OS_REGION_NAME="IU"
export OS_INTERFACE=public
export OS_APPLICATION_CREDENTIAL_ID=your-app-cred-id-here
export OS_APPLICATION_CREDENTIAL_SECRET=your-app-cred-secret-here - Save the file and exit the editor.
4. Import Credentials into Environment Variables
- Run the following command in the terminal to load your credentials file:
source ~/app-cred-indyscc.sh
5. Test the OpenStack CLI
- Now you can test if the installation was successful. Test by listing your team's instances:
If everything is set up correctly, you should be able to see your instance list.
openstack server list
6. Shelve and Unshelve Instances
- When you don't need to use an instance, you can shelve (stop) it with the following command:
For example:
openstack server shelve --wait <instance_name>openstack server shelve --wait scc999-login - If you need to use the instance again, you can unshelve it:
For example:
openstack server unshelve --wait <instance_name>openstack server unshelve scc999-login
7. Access Instances
Note: Connecting to compute nodes requires using the login node as a jump host, so you need to start the login node first before connecting to compute nodes.
- You can access your instances via SSH. Assuming your login node is named
scc999-login, you can connect to it with the following command:ssh rocky@scc999-login.see240009.projects.jetstream-cloud.org - If you need to connect to other compute nodes, you can use the login node as a jump host. For example:
ssh -J rocky@scc999-login.see240009.projects.jetstream-cloud.org rocky@scc999-cpu0
7.1 Accessing Instances with VSCode
Note: Connecting to compute nodes requires using the login node as a jump host, so you need to start the login node first before connecting to compute nodes.
Host scc125-cpu3
HostName 10.3.72.124
ProxyJump rocky@149.165.174.65
User rocky
Host scc125-cpu2
HostName 10.3.72.37
ProxyJump rocky@149.165.174.65
User rocky
Host scc125-cpu1
HostName 10.3.72.174
ProxyJump rocky@149.165.174.65
User rocky
Host scc125-cpu0
HostName 10.3.72.107
ProxyJump rocky@149.165.174.65
User rocky
Host scc125-gpu0
HostName 10.3.72.171
ProxyJump rocky@149.165.174.65
User rocky
Host scc125-login
HostName 149.165.174.65
User rocky
8. Using the SPICE Console
If you cannot connect to instances via SSH, you can access instances through the SPICE console:
- Run the following command to get the SPICE console URL:
openstack console url show --spice scc999-login - Then open this URL in a browser to view the console.
9. Check SU Usage
You can use the provided Python script to check SU consumption:
- First, clone or download the Python script:
git clone https://github.com/zacharygraber/indyscc24-js2-accounting
cd indyscc24-js2-accounting - Run the script with the following command, specifying a time range to view SU consumption:
python3 accounting.py scc999 --start "2024-09-09T12:00:00.000Z" --end "2024-09-19T12:00:00.000Z"