{"id":18802131,"url":"https://github.com/oracle-quickstart/oci-ocihpc","last_synced_at":"2025-04-13T17:32:37.110Z","repository":{"id":54425102,"uuid":"257750927","full_name":"oracle-quickstart/oci-ocihpc","owner":"oracle-quickstart","description":"Simplifying deployments of HPC applications in Oracle Cloud Infrastructure (OCI).","archived":false,"fork":false,"pushed_at":"2023-04-19T15:50:06.000Z","size":2270,"stargazers_count":4,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-27T08:58:16.979Z","etag":null,"topics":["oracle-led"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"upl-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oracle-quickstart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-22T00:42:04.000Z","updated_at":"2022-09-12T16:48:36.000Z","dependencies_parsed_at":"2024-06-19T04:01:46.210Z","dependency_job_id":"44d98963-a6eb-4512-98d9-ef28cf04d99e","html_url":"https://github.com/oracle-quickstart/oci-ocihpc","commit_stats":{"total_commits":99,"total_committers":4,"mean_commits":24.75,"dds":"0.030303030303030276","last_synced_commit":"85a9f0eccd4a8dc9ed14047d41c55a529ac0ebc5"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Foci-ocihpc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Foci-ocihpc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Foci-ocihpc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Foci-ocihpc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oracle-quickstart","download_url":"https://codeload.github.com/oracle-quickstart/oci-ocihpc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248752561,"owners_count":21156114,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["oracle-led"],"created_at":"2024-11-07T22:26:39.953Z","updated_at":"2025-04-13T17:32:36.586Z","avatar_url":"https://github.com/oracle-quickstart.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ocihpc - Oracle Cloud Infrastructure HPC deployment tool\n\n## NOTE: This project is no longer active. Please use https://github.com/oracle-quickstart/oci-hpc instead.\n\n`ocihpc` is a tool for simplifying deployments of HPC applications in Oracle Cloud Infrastructure (OCI).\n\n## Prerequisites\nThe OCI user account you use in `ocihpc` should have the necessary policies configured for OCI Resource Manager. Please check [this link](https://docs.cloud.oracle.com/en-us/iaas/Content/Identity/Tasks/managingstacksandjobs.htm) for information on required policies.\n\n## Installing ocihpc\n\n### Installing ocihpc on Linux\n\n1. Download the latest release with the following command and extract it:\n```sh\ncurl -LO https://github.com/oracle-quickstart/oci-ocihpc/releases/download/v1.0.2/ocihpc_v1.0.2_linux_x86_64.tar.gz\n```\n\n2. Make the ocihpc binary executable.\n```sh\nchmod +x ./ocihpc \n```\n\n3. Move the ocihpc binary to your PATH.\n```sh\nsudo mv ./ocihpc /usr/local/bin/ocihpc \n```\n\n4. Test that it works.\n```sh\nocihpc version \n```\n\n### Installing ocihpc on macOS\n\n1. Download the latest release with the following command and extract it:\n```sh\ncurl -LO https://github.com/oracle-quickstart/oci-ocihpc/releases/download/v1.0.2/ocihpc_v1.0.2_darwin_x86_64.tar.gz\n```\n\n2. Make the ocihpc binary executable.\n```sh\nchmod +x ./ocihpc \n```\n\n3. Move the ocihpc binary to your PATH.\n```sh\nsudo mv ./ocihpc /usr/local/bin/ocihpc \n```\n\n4. Test that it works.\n```sh\nocihpc version \n```\n\n### Installing ocihpc on Windows\n\n\n1. Download the latest release from [this link](https://github.com/oracle-quickstart/oci-ocihpc/releases/download/v1.0.2/ocihpc_v1.0.2_windows_x86_64.zip) and extract it.\n\n2. Add the ocihpc binary to your PATH.\n\n3. Test that it works.\n```sh\nocihpc.exe version \n```\n\n\n\n\n## Using ocihpc\n\n### 1 - Configure\nRun ```ocihpc configure``` to check if you have a valid configuration to access OCI. The tool will walk you through creating a configuration.\n\nIn order to create your config file, you will need:\n- Your user OCID (found in profile section at the top right of the screen under \u003e user settings \u003e user information tab),\n- Tenancy OCID (Administration \u003e Tenancy Details \u003e Tenancy Information tab), and\n- The region you are working out of (i.e. us-phoenix-1, us-ashburn-1, etc.)\n\n\nYou will be notified where your config file is written to:\n```Configuration file saved to: /Users/sergiog/.oci/config```\n\n\nNext, we will ensure that we have uploaded our API keys that we generated in the prerequisites to our user on OCI.\n\nNavigate back to your user settings under the profile icon in OCI. Scroll down to find “API Keys” under the resources section.\n\nTo add a public key to your user, you can either:\nCopy and paste the public key (you can get a copy of your key by running this command in the CLI):\n```cat ~/.oci/oci_api_key_public.pem | pbcopy```\nOr, you can select the key file from your files (be sure to use command+shift+. To access your hidden .oci directory)\nOnce the key is successfully added, you will notice the fingerprint has been added to your API Keys. \n\n\n### 2 - List\nYou can get the list of available stacks by running `ocihpc list`.\n\nExample:\n\n```sh\n$ ocihpc list\n\nList of available stacks:\n\nClusterNetwork\nGromacs\nOpenFOAM\n```\n\n### 3 - Initialize\nCreate a folder that you will use as the deployment source.\n\nIMPORTANT: Use a different folder per stack. Do not initialize more than one stack in the same folder. Otherwise, the tool will overwrite the previous one.\n\nChange to that folder and run `ocihpc init \u003cstack name\u003e`. `ocihpc` will download the necessary files to that folder.\n\n\n```\n$ mkdir ocihpc-test\n$ cd ocihpc-test\n$ ocihpc init --stack ClusterNetwork\n\nDownloading stack: ClusterNetwork\n\nClusterNetwork downloaded to /Users/opastirm/ocihpc-test/\n\nIMPORTANT: Edit the contents of the /Users/opastirm/ocihpc-test/config.json file before running ocihpc deploy command\n```\n\nNavigate to your newly created directory (ocihpc-test in this case) and open the “config.json” file using texteditor or notepad. \nNote that this is not the same config file we configured in step 1.\n\nFor this config file, we will need:\n- The availability domain information that contains the HPC resources in our tenancy (Administration \u003e Tenancy Details \u003e Scroll down to the Service Limits section \u003e Compute \u003e and scroll down to find “BM.HPC2.36”) - In the screenshot below, we can see that we have a total of 6 BM.HPC2.36 machines to use in AD-2, 0 of which are currently in use. \n \n\n- The Bastion AD can be any AD you chose as long as there are resources (VM.standard2.1 shape)\n- Bastion shape should be filled in already - VM.Standard2.1\n- Node count: for the purposes of this lab, we will go with 2 so as to use up all HPC resources\n- Your public ssh key \n\nHere is an example of a completed config.json file:\n```    \n{\n        \"ad\": \"jiVG:US-ASHBURN-AD-2\",\n        \"bastion_ad\": \"jiVG:US-ASHBURN-AD-2\",\n        \"bastion_shape\": \"VM.Standard2.1\",\n        \"node_count\": \"2\",\n        \"ssh_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgItPoh4omGT98Xa/IDy3dhO7tmgWT57f/k75pzOhFODRIBbjUMAqcwqjQI6Zd4jager2OSTWx2yczNhOCIZzO+xL5czql9olLI4oxFyN6Cc5S/Renilz2twxfNXTK7eI+3qDt+fz4jht5wWdMKK18QFkp6gtsHLqgVUEfng3rzSxSLJJInhwhJHD+zBSTuo61f6riQAQl+NRUzfF5B/mALe6AejFyRcc3FPRjv3NfLK/gv/Ulzu+KgyTXeNkIMLc0zeNUN8Y3/V36MzHvZ01mRZU47ortJieFXhCNn/Wx6OrsRppKVuW6My1TI4J/U9IZylvGOL2AdDdlMX0QYohZ sergiog@Sergios-MBP-2.attlocal.net\"\n    }\n```\n\n\n### 4 - Deploy\nBefore deploying, you need to change the values in `config.json` file. The variables depend on the stack you deploy. An example `config.json` for Cluster Network would look like below. Make sure you change the below values with your own values. For example, the Availability Domain names will be different.\n\n```json\n{\n  \"variables\": {\n    \"ad\": \"kWVD:PHX-AD-1\",\n    \"bastion_ad\": \"kWVD:PHX-AD-2\",\n    \"bastion_shape\": \"VM.Standard2.1\",\n    \"node_count\": \"2\",\n    \"ssh_key\": \"ssh-rsa AAAAB3NzaC1yc2EAAAA......W6 opastirm@opastirm-mac\"\n  }\n}\n```\n\nAfter you change the values in `config.json`, you can deploy the stack with `ocihpc deploy \u003carguments\u003e`. This command will create a Stack on Oracle Cloud Resource Manager and deploy the stack using it.\n\nFor supported stacks, you can set the number of nodes you want to deploy by adding it to the `ocihpc deploy` command. If the stack does not support it or if you don't provide a value, the tool will deploy with the default numbers. \n\nFor example, the following command will deploy a Cluster Network with 5 nodes:\n\n```\n$ ocihpc deploy --stack ClusterNetwork --node-count 5 --region us-ashburn-1 --compartment-id ocid1.compartment.oc1..6zvhnus3q\n```\n\nINFO: The tool will generate a deployment name that consists of `\u003cstack name\u003e-\u003ccurrent directory\u003e-\u003crandom-number\u003e`.\n\nExample:\n\n```\n$ ocihpc deploy --stack ClusterNetwork --node-count 5 --region us-ashburn-1 --compartment-id ocid1.compartment.oc1..6zvhnus3q\n\nDeploying ClusterNetwork-ocihpc-test-7355 [0min 0sec]\nDeploying ClusterNetwork-ocihpc-test-7355 [0min 17sec]\nDeploying ClusterNetwork-ocihpc-test-7355 [0min 35sec]\n...\n```\n\n### 5 - Connect\nWhen deployment is completed, you will see the the bastion/headnode IP that you can connect to:\n\n```\nSuccessfully deployed ClusterNetwork-ocihpc-test-7355\n\nYou can connect to your head node using the command: ssh opc@$123.221.10.8 -i \u003clocation of the private key you used\u003e\n```\n\nYou can also get the connection details by running `ocihpc get ip` command.\n\n### 5 - Delete\nWhen you are done with your deployment, you can delete it by changing to the stack folder and running `ocihpc delete --stack \u003cstack name\u003e`.\n\nExample:\n```\n$ ocihpc delete --stack ClusterNetwork\n\nDeleting ClusterNetwork-ocihpc-test-7355 [0min 0sec]\nDeleting ClusterNetwork-ocihpc-test-7355 [0min 17sec]\nDeleting ClusterNetwork-ocihpc-test-7355 [0min 35sec]\n...\n\nSuccesfully deleted ClusterNetwork-ocihpc-test-7355\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle-quickstart%2Foci-ocihpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foracle-quickstart%2Foci-ocihpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle-quickstart%2Foci-ocihpc/lists"}