Skip to content

Commit

Permalink
Merge pull request #2841 from GoogleCloudPlatform/name_update
Browse files Browse the repository at this point in the history
Release v1.37.0
  • Loading branch information
nick-stroud authored Jul 31, 2024
2 parents 493308e + 375808a commit 54da9b7
Show file tree
Hide file tree
Showing 179 changed files with 453 additions and 447 deletions.
6 changes: 3 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ A clear and concise description of what you expected to happen.

What happened instead.

### Version (`ghpc --version`)
### Version (`gcluster --version`)

### Blueprint

Expand All @@ -41,9 +41,9 @@ If applicable, attach or paste the blueprint YAML used to produce the bug.

### Expanded Blueprint

If applicable, please attach or paste the expanded blueprint. The expanded blueprint can be obtained by running `ghpc expand your-blueprint.yaml`.
If applicable, please attach or paste the expanded blueprint. The expanded blueprint can be obtained by running `gcluster expand your-blueprint.yaml`.

Disregard if the bug occurs when running `ghpc expand ...` as well.
Disregard if the bug occurs when running `gcluster expand ...` as well.

```yaml

Expand Down
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,4 @@ Please take the following actions before submitting this pull request.
* Add or modify unit tests to cover code changes
* Ensure that unit test coverage remains above 80%
* Update all applicable documentation
* Follow Cloud HPC Toolkit Contribution guidelines [#](https://goo.gle/hpc-toolkit-contributing)
* Follow Cluster Toolkit Contribution guidelines [#](https://goo.gle/hpc-toolkit-contributing)
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

# Built Binary
ghpc
gcluster
# Expand artifact
expanded.yaml
# macOS Desktop Services Store
Expand Down
27 changes: 16 additions & 11 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# PREAMBLE
MIN_PACKER_VERSION=1.7.9 # for building images
MIN_TERRAFORM_VERSION=1.2 # for deploying modules
MIN_GOLANG_VERSION=1.18 # for building ghpc
MIN_GOLANG_VERSION=1.18 # for building gcluster

.PHONY: install install-user tests format install-dev-deps \
warn-go-missing warn-terraform-missing warn-packer-missing \
Expand Down Expand Up @@ -29,19 +29,24 @@ endif

# RULES MEANT TO BE USED DIRECTLY

ghpc: warn-go-version warn-terraform-version warn-packer-version $(shell find ./cmd ./pkg ghpc.go -type f)
$(info **************** building ghpc ************************)
@go build -ldflags="-X 'main.gitTagVersion=$(GIT_TAG_VERSION)' -X 'main.gitBranch=$(GIT_BRANCH)' -X 'main.gitCommitInfo=$(GIT_COMMIT_INFO)' -X 'main.gitCommitHash=$(GIT_COMMIT_HASH)' -X 'main.gitInitialHash=$(GIT_INITIAL_HASH)'" ghpc.go
gcluster: warn-go-version warn-terraform-version warn-packer-version $(shell find ./cmd ./pkg gcluster.go -type f)
$(info **************** building gcluster ************************)
@go build -ldflags="-X 'main.gitTagVersion=$(GIT_TAG_VERSION)' -X 'main.gitBranch=$(GIT_BRANCH)' -X 'main.gitCommitInfo=$(GIT_COMMIT_INFO)' -X 'main.gitCommitHash=$(GIT_COMMIT_HASH)' -X 'main.gitInitialHash=$(GIT_INITIAL_HASH)'" gcluster.go
@ln -sf gcluster ghpc

ghpc: gcluster

install-user:
$(info ******** installing ghpc in ~/bin *********************)
$(info ******** installing gcluster in ~/bin *********************)
mkdir -p ~/bin
install ./ghpc ~/bin
install ./gcluster ~/bin
ln -sf ~/bin/gcluster ~/bin/ghpc

ifeq ($(shell id -u), 0)
install:
$(info ***** installing ghpc in /usr/local/bin ***************)
install ./ghpc /usr/local/bin
$(info ***** installing gcluster in /usr/local/bin ***************)
install ./gcluster /usr/local/bin
ln -sf /usr/local/bin/gcluster /usr/local/bin/ghpc

else
install: install-user
Expand Down Expand Up @@ -70,7 +75,7 @@ install-dev-deps: warn-terraform-version warn-packer-version check-pre-commit ch
test-engine: warn-go-missing
$(info **************** vetting go code **********************)
go vet $(ENG)
$(info **************** running ghpc unit tests **************)
$(info **************** running gcluster unit tests **************)
go test -cover $(ENG) 2>&1 | perl tools/enforce_coverage.pl

ifeq (, $(shell which pre-commit))
Expand Down Expand Up @@ -148,11 +153,11 @@ else
warn-terraform-version:
endif

validate_configs: ghpc
validate_configs: gcluster
$(info *********** running basic integration tests ***********)
tools/validate_configs/validate_configs.sh

validate_golden_copy: ghpc
validate_golden_copy: gcluster
$(info *********** running "Golden copy" tests ***********)
tools/validate_configs/golden_copies/validate.sh

Expand Down
54 changes: 27 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# Google HPC-Toolkit
# Google Cluster Toolkit (formally HPC Toolkit)

## Description

HPC Toolkit is an open-source software offered by Google Cloud which makes it
easy for customers to deploy HPC environments on Google Cloud.
Cluster Toolkit is an open-source software offered by Google Cloud which makes it
easy for customers to deploy AI/ML and HPC environments on Google Cloud.

HPC Toolkit allows customers to deploy turnkey HPC environments (compute,
Cluster Toolkit allows customers to deploy turnkey AI/ML and HPC environments (compute,
networking, storage, etc.) following Google Cloud best-practices, in a repeatable
manner. The HPC Toolkit is designed to be highly customizable and extensible,
and intends to address the HPC deployment needs of a broad range of customers.
manner. The Cluster Toolkit is designed to be highly customizable and extensible,
and intends to address the AI/ML and HPC deployment needs of a broad range of customers.

## Detailed documentation and examples

The Toolkit comes with a suite of [tutorials], [examples], and full
documentation for a suite of [modules] that have been designed for HPC use cases.
documentation for a suite of [modules] that have been designed for AI/ML and HPC use cases.
More information can be found on the
[Google Cloud Docs](https://cloud.google.com/hpc-toolkit/docs/overview).
[Google Cloud Docs](https://cloud.google.com/cluster-toolkit/docs/overview).

[tutorials]: docs/tutorials/README.md
[examples]: examples/README.md
Expand All @@ -24,29 +24,29 @@ More information can be found on the
## Quickstart

Running through the
[quickstart tutorial](https://cloud.google.com/hpc-toolkit/docs/quickstarts/slurm-cluster)
is the recommended path to get started with the HPC Toolkit.
[quickstart tutorial](https://cloud.google.com/cluster-toolkit/docs/quickstarts/slurm-cluster)
is the recommended path to get started with the Cluster Toolkit.

---

If a self directed path is preferred, you can use the following commands to
build the `ghpc` binary:
build the `gcluster` binary:

```shell
git clone https://github.com/GoogleCloudPlatform/hpc-toolkit
cd hpc-toolkit
make
./ghpc --version
./ghpc --help
./gcluster --version
./gcluster --help
```

> **_NOTE:_** You may need to [install dependencies](#dependencies) first.
## HPC Toolkit Components
## Cluster Toolkit Components

Learn about the components that make up the HPC Toolkit and more on how it works
Learn about the components that make up the Cluster Toolkit and more on how it works
on the
[Google Cloud Docs Product Overview](https://cloud.google.com/hpc-toolkit/docs/overview#components).
[Google Cloud Docs Product Overview](https://cloud.google.com/cluster-toolkit/docs/overview#components).

## GCP Credentials

Expand Down Expand Up @@ -105,7 +105,7 @@ minutes. Please consider it only for blueprints that are quickly deployed.

### Standard Images

The HPC Toolkit officially supports the following VM images:
The Cluster Toolkit officially supports the following VM images:

* HPC CentOS 7
* HPC Rocky Linux 8
Expand All @@ -119,37 +119,37 @@ For more information on these and other images, see

> **_Warning:_** Slurm Terraform modules cannot be directly used on the standard OS images. They must be used in combination with images built for the versioned release of the Terraform module.
The HPC Toolkit provides modules and examples for implementing pre-built and custom Slurm VM images, see [Slurm on GCP](docs/vm-images.md#slurm-on-gcp)
The Cluster Toolkit provides modules and examples for implementing pre-built and custom Slurm VM images, see [Slurm on GCP](docs/vm-images.md#slurm-on-gcp)

## Blueprint Validation

The Toolkit contains "validator" functions that perform basic tests of the
blueprint to ensure that deployment variables are valid and that the HPC
blueprint to ensure that deployment variables are valid and that the AI/ML and HPC
environment can be provisioned in your Google Cloud project. Further information
can be found in [dedicated documentation](docs/blueprint-validation.md).

## Enable GCP APIs

In a new GCP project there are several APIs that must be enabled to deploy your
HPC cluster. These will be caught when you perform `terraform apply` but you can
cluster. These will be caught when you perform `terraform apply` but you can
save time by enabling them upfront.

See
[Google Cloud Docs](https://cloud.google.com/hpc-toolkit/docs/setup/configure-environment#enable-apis)
[Google Cloud Docs](https://cloud.google.com/cluster-toolkit/docs/setup/configure-environment#enable-apis)
for instructions.

## GCP Quotas

You may need to request additional quota to be able to deploy and use your HPC
You may need to request additional quota to be able to deploy and use your
cluster.

See
[Google Cloud Docs](https://cloud.google.com/hpc-toolkit/docs/setup/hpc-blueprint#request-quota)
[Google Cloud Docs](https://cloud.google.com/cluster-toolkit/docs/setup/hpc-blueprint#request-quota)
for more information.

## Billing Reports

You can view your billing reports for your HPC cluster on the
You can view your billing reports for your cluster on the
[Cloud Billing Reports](https://cloud.google.com/billing/docs/how-to/reports)
page. ​​To view the Cloud Billing reports for your Cloud Billing account,
including viewing the cost information for all of the Cloud projects that are
Expand Down Expand Up @@ -279,7 +279,7 @@ hpc-slurm/
## Dependencies

See
[Cloud Docs on Installing Dependencies](https://cloud.google.com/hpc-toolkit/docs/setup/install-dependencies).
[Cloud Docs on Installing Dependencies](https://cloud.google.com/cluster-toolkit/docs/setup/install-dependencies).

### Notes on Packer

Expand All @@ -303,12 +303,12 @@ applied at boot-time.
## Development

The following setup is in addition to the [dependencies](#dependencies) needed
to build and run HPC-Toolkit.
to build and run Cluster-Toolkit.

Please use the `pre-commit` hooks [configured](./.pre-commit-config.yaml) in
this repository to ensure that all changes are validated, tested and properly
documented before pushing code changes. The pre-commits configured
in the HPC Toolkit have a set of dependencies that need to be installed before
in the Cluster Toolkit have a set of dependencies that need to be installed before
successfully passing.

Follow these steps to install and setup pre-commit in your cloned repository:
Expand Down
72 changes: 36 additions & 36 deletions cmd/README.md
Original file line number Diff line number Diff line change
@@ -1,54 +1,54 @@
# HPC Toolkit Commands
# Cluster Toolkit (formally HPC Toolkit) Commands

## ghpc
## gcluster

`ghpc` is the tool used by Cloud HPC Toolkit to create deployments of HPC
`gcluster` is the tool used by Cluster Toolkit to create deployments of AI/ML and HPC
clusters, also referred to as the gHPC Engine.

### Usage - ghpc
### Usage - gcluster

```bash
ghpc [FLAGS]
ghpc [SUBCOMMAND]
gcluster [FLAGS]
gcluster [SUBCOMMAND]
```

### Subcommands - ghpc
### Subcommands - gcluster

* [`deploy`](#ghpc-deploy): Deploy an HPC cluster on Google Cloud
* [`create`](#ghpc-create): Create a new deployment
* [`expand`](#ghpc-expand): Expand the blueprint without creating a new deployment
* [`completion`](#ghpc-completion): Generate completion script
* [`help`](#ghpc-help): Display help information for any command
* [`deploy`](#gcluster-deploy): Deploy an AI/ML or HPC cluster on Google Cloud
* [`create`](#gcluster-create): Create a new deployment
* [`expand`](#gcluster-expand): Expand the blueprint without creating a new deployment
* [`completion`](#gcluster-completion): Generate completion script
* [`help`](#gcluster-help): Display help information for any command

### Flags - ghpc
### Flags - gcluster

* `-h, --help`: displays detailed help for the ghpc command.
* `-v, --version`: displays the version of ghpc being used.
* `-h, --help`: displays detailed help for the gcluster command.
* `-v, --version`: displays the version of gcluster being used.

### Example - ghpc
### Example - gcluster

```bash
ghpc --version
gcluster --version
```

## ghpc deploy
## gcluster deploy

`ghpc deploy` deploys an HPC cluster on Google Cloud using the deployment directory created by `ghpc create` or creates one from supplied blueprint file.
`gcluster deploy` deploys a cluster on Google Cloud using the deployment directory created by `gcluster create` or creates one from supplied blueprint file.

### Usage - deploy

```bash
ghpc deploy (<DEPLOYMENT_DIRECTORY> | <BLUEPRINT_FILE>) [flags]
gcluster deploy (<DEPLOYMENT_DIRECTORY> | <BLUEPRINT_FILE>) [flags]
```

## ghpc create
## gcluster create

`ghpc create` creates a deployment directory. This deployment directory is used to deploy an HPC cluster on Google Cloud.
`gcluster create` creates a deployment directory. This deployment directory is used to deploy a cluster on Google Cloud.

### Usage - create

```sh
ghpc create BLUEPRINT_FILE [FLAGS]
gcluster create BLUEPRINT_FILE [FLAGS]
```

### Positional arguments - create
Expand All @@ -59,7 +59,7 @@ ghpc create BLUEPRINT_FILE [FLAGS]

* `--backend-config strings`: Comma-separated list of name=value variables to set Terraform backend configuration. Can be used multiple times.
* `-h, --help`: display detailed help for the create command.
* `-o, --out string`: sets the output directory where the HPC deployment directory will be created.
* `-o, --out string`: sets the output directory where the AI/ML or HPC deployment directory will be created.
* `-w, --overwrite-deployment`: If specified, an existing deployment directory is overwritten by the new deployment.

* Terraform state IS preserved.
Expand All @@ -85,29 +85,29 @@ For example to create a deployment folder using a blueprint named `my-blueprint`
run the following command:

```bash
ghpc create my-blueprint
gcluster create my-blueprint
```

## ghpc expand
## gcluster expand

`ghpc expand` takes as input a blueprint file and expands all the fields
`gcluster expand` takes as input a blueprint file and expands all the fields
necessary to create a deployment without actually creating the deployment
directory. It outputs an expanded blueprint, which can be used for debugging
purposes and can be used as input to `ghpc create`.
purposes and can be used as input to `gcluster create`.

For detailed usage information, run `ghpc help create`.
For detailed usage information, run `gcluster help create`.

## ghpc completion
Generates a script that enables command completion for `ghpc` for a given shell.
## gcluster completion
Generates a script that enables command completion for `gcluster` for a given shell.

For detailed usage information, run `ghpc help completion`
For detailed usage information, run `gcluster help completion`

## ghpc help
`ghpc help` prints the usage information for `ghpc` and subcommands of `ghpc`.
## gcluster help
`gcluster help` prints the usage information for `gcluster` and subcommands of `gcluster`.

To generate usage details for `ghpc`, run `ghpc help`. To generate usage
To generate usage details for `gcluster`, run `gcluster help`. To generate usage
details for a specific command, for example `expand`, run the following command:

```bash
ghpc help expand
gcluster help expand
```
2 changes: 1 addition & 1 deletion cmd/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/

// Package cmd defines command line utilities for ghpc
// Package cmd defines command line utilities for gcluster
package cmd

import (
Expand Down
2 changes: 1 addition & 1 deletion cmd/deploy.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.

// Package cmd defines command line utilities for ghpc
// Package cmd defines command line utilities for gcluster
package cmd

import (
Expand Down
Loading

0 comments on commit 54da9b7

Please sign in to comment.