Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v1.27.0 #2101

Merged
merged 269 commits into from
Jan 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
269 commits
Select commit Hold shift + click to select a range
0f3d3ff
Formatting
max-nag Oct 27, 2023
e213493
OFE: Live cluster reconfiguration, simplified cluster creation
ek-nag Oct 27, 2023
a0b50b9
Making slurm cloudsql private ip name uquite to allow multiple deploy…
ek-nag Oct 30, 2023
d9936e4
OFE: Cluster reconfiguration updates
ek-nag Nov 1, 2023
c5302ba
OFE: job submission changes after introducing static nodes in the clu…
ek-nag Nov 1, 2023
5b11409
OFE: Application and credentials form validation, spack version upgrade
ek-nag Nov 1, 2023
3573183
OFE: improving credentials creation logic
ek-nag Nov 1, 2023
2f6c747
OFE: option to use bigquery for Slurm accounting storage
ek-nag Nov 2, 2023
c9651e1
Merge branch 'GoogleCloudPlatform:main' into live-reconfigure
ek-nag Nov 2, 2023
5ff00bb
OFE: quick fix when service accounts not present in the tf state
ek-nag Nov 2, 2023
4b9b083
OFE: VPC import fix
ek-nag Nov 8, 2023
57a29f3
OFE: allow using Spack API only when logged in
ek-nag Nov 8, 2023
5dad849
OFE: updating jquery version
ek-nag Nov 8, 2023
76591fe
OFE: allow having additional disks in cluster partition
ek-nag Nov 8, 2023
25147ba
OFE: fixing models.py
ek-nag Nov 8, 2023
4f8f4bf
Update clusterinfo.py allow using custom images when creating cluster.
ek-nag Nov 13, 2023
ffb4e8a
Update clusterinfo.py to allow multiple deployments of SQL database f…
ek-nag Nov 13, 2023
f10477e
Creation of script to check upcoming maintenance on nodes
cdunbar13 Nov 14, 2023
6c754e1
script now can detect and temporarily disable the screen_reader for b…
cdunbar13 Nov 14, 2023
9261ccc
Update update_form.html
ek-nag Nov 16, 2023
d69e024
Update update_form.html
ek-nag Nov 16, 2023
9d97c9b
OFE: upgrading Grafana version
ek-nag Nov 16, 2023
3b551eb
Merge branch 'live-reconfigure' of github.com:ek-nag/hpc-toolkit into…
ek-nag Nov 16, 2023
1db325a
Bucket changed to unique name
max-nag Nov 17, 2023
d352619
PR review updates
cdunbar13 Nov 15, 2023
ee503c6
Merge pull request #1977 from cdunbar13/maintenance-api-script
cdunbar13 Nov 20, 2023
d2c79f0
Add Zonal with lower capacity band support for filestore instance
harshthakkar01 Nov 20, 2023
3f4c57e
Fix: variable takes structured data when set
nick-stroud Nov 21, 2023
f5b1861
Merge pull request #1984 from nick-stroud/slurm-plugin-type
nick-stroud Nov 21, 2023
46a6495
Add documentation how to use max_hops plugin
nick-stroud Nov 21, 2023
9ed2e14
Merge pull request #1983 from nick-stroud/slurm-max-distance
nick-stroud Nov 21, 2023
8e3de7f
Initial testing scripts with new folder for unittests
cdunbar13 Nov 20, 2023
acc12f5
Merge pull request #1982 from harshthakkar01/zonal_filestore
harshthakkar01 Nov 21, 2023
b52fc61
Reduce usage of `log.Fatal` in tests, use `c.Fatal` instead
mr0re1 Nov 21, 2023
6ada8bc
Merge pull request #1985 from mr0re1/test_fatal
mr0re1 Nov 21, 2023
f48acd3
Implement Custom Logger
alyssa-sm Nov 17, 2023
5927c2d
Merge pull request #1979 from alyssa-sm/improve-ghpc-deploy-output
alyssa-sm Nov 22, 2023
a08e70d
Refactor pkg/config tests
mr0re1 Nov 22, 2023
254f196
Merge pull request #1987 from mr0re1/test_config
mr0re1 Nov 22, 2023
33670e7
Remove usage of `log.Fatal` from non-tests files
mr0re1 Nov 22, 2023
7c551ab
OFE: cluster destroy in POST request
ek-nag Nov 22, 2023
b398d9f
Refactor `pkg/modulewriter` tests
mr0re1 Nov 22, 2023
764fb5a
Merge pull request #1990 from mr0re1/test_modulewrt
mr0re1 Nov 22, 2023
af10092
Merge pull request #1989 from mr0re1/log_fix
mr0re1 Nov 22, 2023
8050588
Replace `Equals`-checker with more appropriate
mr0re1 Nov 22, 2023
871bc72
Change to use google cloud module instead of uuid
max-nag Nov 24, 2023
dc92459
Front end go version updated
max-nag Nov 24, 2023
89595d0
Refactor `pkg/deploymentio` tests
mr0re1 Nov 22, 2023
02cddde
PR Review update
cdunbar13 Nov 22, 2023
580158f
Merge pull request #1978 from max-nag/front-end-unique-bucket-name
tpdownes Nov 27, 2023
f6ab667
Merge pull request #1981 from cdunbar13/maintenance-api-testing
cdunbar13 Nov 27, 2023
05d32b4
Merge pull request #1988 from mr0re1/test_depl
mr0re1 Nov 27, 2023
1d665eb
Merge pull request #1992 from max-nag/front-end-go-version-fix
cboneti Nov 27, 2023
f722b5d
Add `addlicense` pre-commit hook
mr0re1 Nov 27, 2023
8966d2b
Merge pull request #1994 from mr0re1/addl
mr0re1 Nov 27, 2023
e56eee9
Add test to ensure that all modules have metada.yaml set
mr0re1 Nov 28, 2023
4d9a39a
Add codespell: workflow, (#1888)
yarikoptic Nov 28, 2023
cef1b65
Merge pull request #1991 from mr0re1/tst_haslen
mr0re1 Nov 28, 2023
88dcd24
Merge pull request #1996 from mr0re1/meta_test
mr0re1 Nov 28, 2023
89749f9
Add modules metadata. Part 1 of 4
mr0re1 Nov 28, 2023
f5d7fbd
Split `pkg/validators/validators.go` on multiple files.
mr0re1 Nov 28, 2023
7ebf6c0
Bump cryptography from 41.0.4 to 41.0.6 in /community/front-end/ofe
dependabot[bot] Nov 29, 2023
220ca89
OFE: Spack upgrade to v0.21.0
ek-nag Nov 29, 2023
3cd333b
Merge pull request #2002 from mr0re1/ref_val
mr0re1 Nov 29, 2023
cb1c715
Merge pull request #1997 from mr0re1/meta_p1
mr0re1 Nov 29, 2023
31d0093
Add modules metadata. Part 2 of 4
mr0re1 Nov 28, 2023
d198216
Merge pull request #1998 from mr0re1/meta_p2
mr0re1 Nov 29, 2023
6069207
Add modules metadata. Part 3 of 4
mr0re1 Nov 28, 2023
184349a
Fix panic, refactor to meet gocyclo requirements
mr0re1 Nov 29, 2023
59f99fa
pre-commit. Remove `go-build` hook
mr0re1 Nov 30, 2023
b1e4692
Merge pull request #1999 from mr0re1/meta_p3
mr0re1 Nov 30, 2023
dbbb9d7
Add modules metadata. Part 4 of 4
mr0re1 Nov 28, 2023
1217af0
Fix qsim version in example to avoid new CMake changes
tpdownes Nov 30, 2023
bf10fdd
Merge pull request #2000 from mr0re1/meta_p4
mr0re1 Nov 30, 2023
8550236
Merge pull request #2008 from tpdownes/fix_qsim_version
tpdownes Nov 30, 2023
d64823a
Update slurm modules to point to fork
mr0re1 Nov 30, 2023
7a4f2fc
Merge pull request #2006 from mr0re1/nuclearwaronthedancefloor
mr0re1 Nov 30, 2023
eac8705
Merge pull request #2009 from mr0re1/to_fork
mr0re1 Dec 1, 2023
beea522
DRAFT
mr0re1 Nov 26, 2023
b04c70c
Merge pull request #1993 from mr0re1/tst_big
mr0re1 Dec 1, 2023
23462d3
Refactor `WriteDeployment`
mr0re1 Dec 1, 2023
23a05d9
Merge pull request #1995 from mr0re1/pc_go_build
mr0re1 Dec 1, 2023
4cd67eb
Document how to use 'sudo -i' to manually install spack packages
nick-stroud Dec 2, 2023
1932aed
Bump golang.org/x/sys from 0.14.0 to 0.15.0
dependabot[bot] Dec 4, 2023
e91980b
Merge pull request #2022 from GoogleCloudPlatform/main
tpdownes Dec 4, 2023
78ff3cd
Merge pull request #2017 from GoogleCloudPlatform/dependabot/go_modul…
tpdownes Dec 4, 2023
f664888
Bump google.golang.org/api from 0.151.0 to 0.152.0
dependabot[bot] Dec 4, 2023
1a55d11
Merge pull request #2018 from GoogleCloudPlatform/dependabot/go_modul…
tpdownes Dec 4, 2023
768366b
Bump github.com/spf13/afero from 1.10.0 to 1.11.0
dependabot[bot] Dec 4, 2023
2e2deaa
Merge pull request #2019 from GoogleCloudPlatform/dependabot/go_modul…
tpdownes Dec 4, 2023
c4c1f7e
Bump github.com/go-git/go-git/v5 from 5.10.0 to 5.10.1
dependabot[bot] Dec 4, 2023
a5b1e9d
Merge pull request #2020 from GoogleCloudPlatform/dependabot/go_modul…
tpdownes Dec 4, 2023
ab73021
Merge pull request #2003 from GoogleCloudPlatform/dependabot/pip/comm…
tpdownes Dec 4, 2023
6b0ca94
Don't test metadata services against legacy ones.
mr0re1 Dec 4, 2023
aacfde3
Merge pull request #2024 from mr0re1/relax_services_test
mr0re1 Dec 5, 2023
8731b33
Adding snippet of commonly used images to make it easy to modify a bl…
nick-stroud Dec 1, 2023
ce56126
Document how to chain user spack install with system spack install
nick-stroud Dec 2, 2023
1942ef2
Merge pull request #2015 from nick-stroud/spack_user_access
nick-stroud Dec 5, 2023
03c727b
Merge pull request #2014 from nick-stroud/formatted-image-examples
nick-stroud Dec 5, 2023
cdb36d2
Fix terraform TFlint plugin to penultimate release
tpdownes Dec 5, 2023
1efe8e4
Remove local SSD warning for Slurm v5 compute nodes after known issue…
tpdownes Dec 5, 2023
1098e99
Updated to check for slurm nodes if option is given
cdunbar13 Nov 21, 2023
f331172
PR review updates
cdunbar13 Dec 5, 2023
f4f093f
Fix local SSD example enabling VM family compatible with placement po…
tpdownes Dec 5, 2023
70a56f9
Adopt latest local SSD formatting script
tpdownes Dec 5, 2023
f3a0c47
Merge pull request #2023 from cdunbar13/maintenance-api-slurm
cdunbar13 Dec 5, 2023
11b6ca3
Merge pull request #2026 from tpdownes/fix_local_ssd_example
tpdownes Dec 6, 2023
f084cd0
Merge pull request #2025 from tpdownes/eliminate_local_ssd_warning
tpdownes Dec 6, 2023
f7f709e
OFE: removing unnecessary dependency
ek-nag Dec 7, 2023
78a6bb0
Exclude `pkg/*` from `packer-readme` hook.
mr0re1 Dec 7, 2023
c9a16d6
Merge pull request #2028 from mr0re1/didnt_read
mr0re1 Dec 7, 2023
37240d7
Disable `go-critic` hook
mr0re1 Dec 8, 2023
580a232
Merge pull request #2029 from mr0re1/no_critic
mr0re1 Dec 8, 2023
7c13647
Merge branch 'GoogleCloudPlatform:main' into ek-cloudsql
ek-nag Dec 8, 2023
13c5efe
Creation of script to check upcoming maintenance on nodes
cdunbar13 Nov 14, 2023
d77572c
script now can detect and temporarily disable the screen_reader for b…
cdunbar13 Nov 14, 2023
a4c6dcc
Bucket changed to unique name
max-nag Nov 17, 2023
7493703
PR review updates
cdunbar13 Nov 15, 2023
4b985cf
Add Zonal with lower capacity band support for filestore instance
harshthakkar01 Nov 20, 2023
f3c6060
Fix: variable takes structured data when set
nick-stroud Nov 21, 2023
daecd3d
Add documentation how to use max_hops plugin
nick-stroud Nov 21, 2023
155ce04
Initial testing scripts with new folder for unittests
cdunbar13 Nov 20, 2023
a39227b
Reduce usage of `log.Fatal` in tests, use `c.Fatal` instead
mr0re1 Nov 21, 2023
d8800a1
Implement Custom Logger
alyssa-sm Nov 17, 2023
0686f4c
Refactor pkg/config tests
mr0re1 Nov 22, 2023
b9e2f98
Remove usage of `log.Fatal` from non-tests files
mr0re1 Nov 22, 2023
b829ef0
Refactor `pkg/modulewriter` tests
mr0re1 Nov 22, 2023
e1c08e1
Replace `Equals`-checker with more appropriate
mr0re1 Nov 22, 2023
2550e4f
Change to use google cloud module instead of uuid
max-nag Nov 24, 2023
301b301
Front end go version updated
max-nag Nov 24, 2023
bd428c9
Refactor `pkg/deploymentio` tests
mr0re1 Nov 22, 2023
f260310
PR Review update
cdunbar13 Nov 22, 2023
345d7f4
Add `addlicense` pre-commit hook
mr0re1 Nov 27, 2023
2bb7d7b
Add test to ensure that all modules have metada.yaml set
mr0re1 Nov 28, 2023
2fc3b6e
Add codespell: workflow, (#1888)
yarikoptic Nov 28, 2023
dcde69b
Add modules metadata. Part 1 of 4
mr0re1 Nov 28, 2023
d2684f0
Split `pkg/validators/validators.go` on multiple files.
mr0re1 Nov 28, 2023
2d335f0
Bump cryptography from 41.0.4 to 41.0.6 in /community/front-end/ofe
dependabot[bot] Nov 29, 2023
460a229
Add modules metadata. Part 2 of 4
mr0re1 Nov 28, 2023
76252b7
Add modules metadata. Part 3 of 4
mr0re1 Nov 28, 2023
e53e9c3
Fix panic, refactor to meet gocyclo requirements
mr0re1 Nov 29, 2023
192573e
pre-commit. Remove `go-build` hook
mr0re1 Nov 30, 2023
d39f8cf
Add modules metadata. Part 4 of 4
mr0re1 Nov 28, 2023
d4d9d96
Update slurm modules to point to fork
mr0re1 Nov 30, 2023
b0f27d3
DRAFT
mr0re1 Nov 26, 2023
c42710b
Document how to use 'sudo -i' to manually install spack packages
nick-stroud Dec 2, 2023
a43f9c8
Bump golang.org/x/sys from 0.14.0 to 0.15.0
dependabot[bot] Dec 4, 2023
b6c9760
Bump google.golang.org/api from 0.151.0 to 0.152.0
dependabot[bot] Dec 4, 2023
966f464
Bump github.com/spf13/afero from 1.10.0 to 1.11.0
dependabot[bot] Dec 4, 2023
cd7dadb
Bump github.com/go-git/go-git/v5 from 5.10.0 to 5.10.1
dependabot[bot] Dec 4, 2023
cf93fc0
Don't test metadata services against legacy ones.
mr0re1 Dec 4, 2023
32943e2
Adding snippet of commonly used images to make it easy to modify a bl…
nick-stroud Dec 1, 2023
cf5e262
Document how to chain user spack install with system spack install
nick-stroud Dec 2, 2023
2232102
Fix terraform TFlint plugin to penultimate release
tpdownes Dec 5, 2023
e32e9c1
Remove local SSD warning for Slurm v5 compute nodes after known issue…
tpdownes Dec 5, 2023
4feeedb
Updated to check for slurm nodes if option is given
cdunbar13 Nov 21, 2023
db19c85
PR review updates
cdunbar13 Dec 5, 2023
ddfe63b
Fix local SSD example enabling VM family compatible with placement po…
tpdownes Dec 5, 2023
5604ff8
Adopt latest local SSD formatting script
tpdownes Dec 5, 2023
4fa8e3d
Exclude `pkg/*` from `packer-readme` hook.
mr0re1 Dec 7, 2023
2a02353
Disable `go-critic` hook
mr0re1 Dec 8, 2023
56f3882
Update clusterinfo.py
ek-nag Dec 8, 2023
fd98e27
Merge pull request #1795 from ek-nag/ek-cloudsql
cboneti Dec 8, 2023
464bae6
Add Cloud Logging to required APIs for Packer module
tpdownes Dec 8, 2023
db9b4f4
Merge pull request #2031 from tpdownes/packer_logging
tpdownes Dec 8, 2023
c63ed46
Merge pull request #2004 from ek-nag/spack-upgrade
tpdownes Dec 8, 2023
25d2d35
Merge branch 'develop' into front-end-deployment-changes
cboneti Dec 8, 2023
8b72f11
Merge pull request #1895 from max-nag/front-end-deployment-changes
cboneti Dec 8, 2023
89c6228
Fail `terraform_docs` hook if any error occurs.
mr0re1 Dec 8, 2023
3b5574c
Refactor `checkOverwriteAllowed`
mr0re1 Nov 29, 2023
5955d54
Address comments
mr0re1 Dec 6, 2023
85ba74b
Wording
mr0re1 Dec 9, 2023
f9b1bcf
Merge pull request #2007 from mr0re1/versionofyouversionofme
mr0re1 Dec 9, 2023
ccd7fd8
Merge pull request #2034 from mr0re1/read_it
mr0re1 Dec 9, 2023
05f7db4
Update documentation for Slurm V6 TPU module
harshthakkar01 Dec 8, 2023
25aaf1a
Merge pull request #2033 from harshthakkar01/slurm_v6_tpu
harshthakkar01 Dec 9, 2023
8434750
Fail terraform-doc pre-commits if any files were changed (added)
mr0re1 Dec 9, 2023
c0d13ab
OFE: fixing merge conflict
ek-nag Dec 11, 2023
a419763
OFE: making tarball default deployment option when deploying from config
ek-nag Dec 11, 2023
d639216
Bump github.com/go-git/go-git/v5 from 5.10.1 to 5.11.0
dependabot[bot] Dec 11, 2023
f72eaef
Bump google.golang.org/api from 0.152.0 to 0.153.0
dependabot[bot] Dec 11, 2023
d1fde6f
OFE: updating path to ghpc binary
ek-nag Dec 11, 2023
41ff130
update TFLint to 0.49 & latest plugin in precommit
fustic Dec 11, 2023
84dcde2
Merge pull request #2038 from GoogleCloudPlatform/dependabot/go_modul…
tpdownes Dec 11, 2023
195392f
Merge pull request #2039 from GoogleCloudPlatform/dependabot/go_modul…
tpdownes Dec 11, 2023
c7f10ca
Merge pull request #2041 from fustic/tflint-update
tpdownes Dec 11, 2023
6e91c08
Merge pull request #2036 from mr0re1/read_that
mr0re1 Dec 11, 2023
310e76c
Merge pull request #2013 from mr0re1/cyclocross
mr0re1 Dec 11, 2023
419a450
Fix broken golang, add tests to meet coverage threshold
mr0re1 Dec 12, 2023
87d9ea4
Merge pull request #2042 from mr0re1/fix_dev
mr0re1 Dec 12, 2023
4d38686
Use CFT-metadata struct directly instead of mimicing it.
mr0re1 Dec 9, 2023
4faca96
Merge pull request #2035 from mr0re1/cft_meta
mr0re1 Dec 12, 2023
cbb16e2
Use protobuf getters to avoid nil-pointer panics
mr0re1 Dec 9, 2023
72b77cb
OFE: spelling fixes
ek-nag Dec 12, 2023
7080e8f
Merge pull request #2040 from ek-nag/ofe-major-update
tpdownes Dec 12, 2023
6901421
Merge pull request #2043 from mr0re1/cft_meta2
mr0re1 Dec 13, 2023
8f1a75a
Tutorial for FSI VaR MonteCarlo (#1874)
jrossthomson Dec 13, 2023
d48b694
Inject Blueprint ModuleID as specified variable
mr0re1 Dec 4, 2023
a7d56e3
Add section to `docs/module-guidelines.md`
mr0re1 Dec 6, 2023
2f04295
Merge pull request #1965 from mr0re1/inject_module_id
mr0re1 Dec 14, 2023
f83d8ac
Point builder-image Dockerfile to Slurm-gcp fork repo.
mr0re1 Dec 14, 2023
d8d99f9
Merge pull request #2047 from GoogleCloudPlatform/main
tpdownes Dec 14, 2023
6b00150
Fix wrong link to enable "Compute Engine API"
mr0re1 Dec 14, 2023
e8a0d58
Merge pull request #2046 from mr0re1/docker_slurm
mr0re1 Dec 14, 2023
dcca4f1
Merge pull request #2049 from mr0re1/cyclocross
mr0re1 Dec 14, 2023
4528e15
Allow usage of expression for `vars.deployment_name`
mr0re1 Dec 14, 2023
971131b
Update vm-instance service account interface to match #1427
nick-stroud Dec 16, 2023
f6c2bb7
Perform spack and ramble setup with system user
nick-stroud Dec 16, 2023
676b4ad
spack-execute and ramble-execute run as non root user
nick-stroud Dec 16, 2023
eccb610
Update documentation to reflect system spack user
nick-stroud Dec 16, 2023
b8cbdc5
Merge pull request #2050 from mr0re1/vars_again
mr0re1 Dec 18, 2023
592ae36
Add label for blocking merges of PRs
tpdownes Dec 18, 2023
7f938ff
Merge pull request #2056 from tpdownes/do_no_merge_label
tpdownes Dec 18, 2023
f49ebe0
Disable firewall rule logging by default
tpdownes Dec 18, 2023
0c42fff
Merge pull request #2057 from tpdownes/logging_off
tpdownes Dec 19, 2023
df76dae
Select very large system uid/gid to reduce chance of collision
nick-stroud Dec 19, 2023
895896a
Addressing feedback from #2052
nick-stroud Dec 19, 2023
db40936
Ignore go.sum for codespell hook
harshthakkar01 Dec 19, 2023
c0b6c6b
Merge pull request #2061 from harshthakkar01/codespell-update
harshthakkar01 Dec 19, 2023
910814b
Bump google.golang.org/api from 0.153.0 to 0.154.0
dependabot[bot] Dec 19, 2023
4b6d9b3
Slurm6. Add required services to metadata
mr0re1 Dec 20, 2023
8cf8723
SlurmV6. Add tracking labels to GCS bucket.
mr0re1 Dec 20, 2023
3719200
Merge pull request #2055 from GoogleCloudPlatform/dependabot/go_modul…
harshthakkar01 Dec 20, 2023
8bf8353
Merge pull request #2063 from mr0re1/v6_req_services
mr0re1 Dec 20, 2023
6347c84
Bump golang.org/x/crypto to 0.17.0
harshthakkar01 Dec 20, 2023
f87f1d2
Merge pull request #2064 from mr0re1/v6.bucket_tracking
mr0re1 Dec 20, 2023
bb8ae5a
Merge pull request #2051 from nick-stroud/vm-instance-standard-sa
nick-stroud Dec 20, 2023
8037c09
#2052 feedback: use nullable where applicable
nick-stroud Dec 20, 2023
b8e23d1
Merge pull request #2065 from harshthakkar01/update-go
harshthakkar01 Dec 20, 2023
ca946a4
Slurm6. Add support for `enable_slurm_gcp_plugins`
mr0re1 Dec 20, 2023
98b4fd1
Merge pull request #2052 from nick-stroud/spack-permissions
nick-stroud Dec 20, 2023
c0d6156
Merge pull request #2066 from mr0re1/v6enable_plugin
mr0re1 Dec 20, 2023
35262a4
Update Rocky image to older version for lustre compatibility
harshthakkar01 Dec 23, 2023
b528cc8
Merge pull request #2069 from harshthakkar01/workspace
harshthakkar01 Dec 24, 2023
d1ef215
Disable user interactive prompt in start-up script in quantum circuit
harshthakkar01 Dec 26, 2023
9d13210
Merge pull request #2071 from harshthakkar01/workspace
harshthakkar01 Dec 26, 2023
b7accb0
Support explicit reserved_ip_range for Filestore instances
tpdownes Dec 26, 2023
e3497c1
Merge pull request #2072 from tpdownes/filestore_reserved_ip_range
tpdownes Dec 27, 2023
cae8d13
Skip upgrade of wheel/setuptools if already installed
tpdownes Dec 27, 2023
572a9fb
Adopt gcloud storage over gsutil by default
tpdownes Dec 27, 2023
f0d2046
Merge pull request #2075 from tpdownes/adopt_gcloud_storage
tpdownes Dec 27, 2023
680aba7
Support use of http/https proxy for pip/apt/yum package managers
tpdownes Dec 27, 2023
12e2eff
Simplify yaml marshlling for expressions
mr0re1 Dec 27, 2023
75be343
Merge pull request #2077 from mr0re1/simple_yaml_marshl
mr0re1 Dec 28, 2023
5d925f4
Merge pull request #2074 from tpdownes/do_not_retry_ansible
tpdownes Dec 28, 2023
59515a4
Merge pull request #2079 from tpdownes/web_proxy
tpdownes Dec 28, 2023
24e2e46
Update version for 1.27.0 release
nick-stroud Jan 9, 2024
10ad712
Merge pull request #2102 from nick-stroud/version/1.27.0
nick-stroud Jan 9, 2024
abfada0
Bump github.com/cloudflare/circl from 1.3.3 to 1.3.7
nick-stroud Jan 9, 2024
165b4e9
Merge pull request #2105 from nick-stroud/bump_cloudflare/circl_1.3.7
nick-stroud Jan 9, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .codespellrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[codespell]
# js/ folder seems to contain vendored code
skip = .git,*.pdf,*.svg,*.min.js,*.js.map,js,requirements.txt
# docs/videos/healthcare-and-life-sciences/lysozyme-example/submit.sh has CONECT - might be "legit"
ignore-regex = HETATM -e CONECT|\([A-Z]\)[a-z]+
#
ignore-words-list = namd,tempdate,te,ue,startd,passtime
7 changes: 7 additions & 0 deletions .github/workflows/pr-label-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,13 @@ jobs:
count: 1
labels: "release-chore, release-key-new-features, release-new-modules, release-module-improvements, release-improvements, release-deprecations, release-version-updates, release-bugfix"
message: "This PR is being prevented from merging because it is not labeled. Please add a label to this PR. Accepted labels: release-chore, release-key-new-features, release-new-modules, release-module-improvements, release-improvements, release-deprecations, release-version-updates, release-bugfix"
- id: do-not-merge
uses: mheap/github-action-required-labels@v5
with:
mode: exactly
count: 0
labels: "do-not-merge"
add_comment: false
- id: print-labels
run: |
echo "Current PR labels:"
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,9 @@ packer-manifest.json
#### Python Virtual Environments
venv*/

### Python cache files
**/__pycache__

#### Exclude from gitingore
!tools/validate_configs/golden_copies/expectations/*/*/*/defaults.auto.pkrvars.hcl
!tools/validate_configs/golden_copies/expectations/*/*/terraform.tfvars
27 changes: 20 additions & 7 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ repos:
entry: tools/autodoc/terraform_docs.sh
language: script
files: ^.*\.pkr\.hcl$
exclude: (pkg\/.*$)|(tools/validate_configs/golden_copies/.*)
pass_filenames: true
require_serial: true
- id: duplicate-diff
Expand All @@ -57,22 +58,29 @@ repos:
files: '.*\.tf$'
pass_filenames: false
require_serial: true
- id: addlicense
name: addlicense
language: system
entry: addlicense
args: ['-c', '"Google LLC"', '-l', 'apache']
exclude: docs/videos/healthcare-and-life-sciences/lysozyme-example/submit.sh
pass_filenames: true

- repo: https://github.com/dnephin/pre-commit-golang
rev: v0.5.1
hooks:
- id: go-fmt
- id: go-vet
- id: go-imports
- id: go-cyclo
args: [-over=15]
args: [-over=13]
- id: go-unit-tests
- id: go-build
- id: go-mod-tidy
- repo: https://github.com/tekwizely/pre-commit-golang
rev: v1.0.0-rc.1
hooks:
- id: go-critic
args: [-disable, "#experimental,sloppyTypeAssert"]
# Disabled temporarily due to https://github.com/go-critic/go-critic/issues/1388
# - repo: https://github.com/tekwizely/pre-commit-golang
# rev: v1.0.0-rc.1
# hooks:
# - id: go-critic
- repo: https://github.com/Bahjat/pre-commit-golang
rev: v1.0.2
hooks:
Expand Down Expand Up @@ -105,4 +113,9 @@ repos:
rev: v4.4.0
hooks:
- id: end-of-file-fixer
- repo: https://github.com/codespell-project/codespell
rev: v2.2.6
hooks:
- id: codespell
exclude: requirements.txt$|/js/|go.sum$
exclude: tools/validate_configs/golden_copies/.*
1 change: 1 addition & 0 deletions .tflint.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

plugin "google" {
enabled = true
version = "0.26.0"
Expand Down
11 changes: 1 addition & 10 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ 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

.PHONY: install install-user tests format add-google-license install-dev-deps \
.PHONY: install install-user tests format install-dev-deps \
warn-go-missing warn-terraform-missing warn-packer-missing \
warn-go-version warn-terraform-version warn-packer-version \
test-engine validate_configs validate_golden_copy packer-check \
Expand Down Expand Up @@ -65,15 +65,6 @@ install-dev-deps: warn-terraform-version warn-packer-version check-pre-commit ch
go install golang.org/x/tools/cmd/goimports@latest
go install honnef.co/go/tools/cmd/staticcheck@latest

ifeq (, $(shell which addlicense))
add-google-license:
$(error "could not find addlicense in PATH, run: go install github.com/google/addlicense@latest")
else
add-google-license:
# lysozyme-example is under CC-BY-4.0
addlicense -c "Google LLC" -l apache -ignore **/lysozyme-example/submit.sh .
endif

# RULES SUPPORTING THE ABOVE

test-engine: warn-go-missing
Expand Down
122 changes: 81 additions & 41 deletions cmd/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,10 @@ import (
"errors"
"fmt"
"hpc-toolkit/pkg/config"
"hpc-toolkit/pkg/logging"
"hpc-toolkit/pkg/modulewriter"
"hpc-toolkit/pkg/validators"
"log"
"os"
"path/filepath"
"strings"

Expand Down Expand Up @@ -78,51 +79,47 @@ var (

func runCreateCmd(cmd *cobra.Command, args []string) {
dc := expandOrDie(args[0])
deplName, err := dc.Config.DeploymentName()
checkErr(err)
deplDir := filepath.Join(outputDir, deplName)
checkErr(modulewriter.WriteDeployment(dc, deplDir, overwriteDeployment))

fmt.Println("To deploy your infrastructure please run:")
fmt.Println()
fmt.Printf(boldGreen("%s deploy %s\n"), execPath(), deplDir)
fmt.Println()
deplDir := filepath.Join(outputDir, dc.Config.DeploymentName())
checkErr(checkOverwriteAllowed(deplDir, dc.Config, overwriteDeployment))
checkErr(modulewriter.WriteDeployment(dc, deplDir))

logging.Info("To deploy your infrastructure please run:")
logging.Info("")
logging.Info(boldGreen("%s deploy %s"), execPath(), deplDir)
logging.Info("")
printAdvancedInstructionsMessage(deplDir)
}

func printAdvancedInstructionsMessage(deplDir string) {
fmt.Println("Find instructions for cleanly destroying infrastructure and advanced manual")
fmt.Println("deployment instructions at:")
fmt.Println()
fmt.Printf("%s\n", modulewriter.InstructionsPath(deplDir))
logging.Info("Find instructions for cleanly destroying infrastructure and advanced manual")
logging.Info("deployment instructions at:")
logging.Info("")
logging.Info(modulewriter.InstructionsPath(deplDir))
}

func expandOrDie(path string) config.DeploymentConfig {
dc, ctx, err := config.NewDeploymentConfig(path)
if err != nil {
log.Fatal(renderError(err, ctx))
logging.Fatal(renderError(err, ctx))
}
// Set properties from CLI
if err := setCLIVariables(&dc.Config, cliVariables); err != nil {
log.Fatalf("Failed to set the variables at CLI: %v", err)
logging.Fatal("Failed to set the variables at CLI: %v", err)
}
if err := setBackendConfig(&dc.Config, cliBEConfigVars); err != nil {
log.Fatalf("Failed to set the backend config at CLI: %v", err)
}
if err := setValidationLevel(&dc.Config, validationLevel); err != nil {
log.Fatal(err)
}
if err := skipValidators(&dc); err != nil {
log.Fatal(err)
logging.Fatal("Failed to set the backend config at CLI: %v", err)
}
checkErr(setValidationLevel(&dc.Config, validationLevel))
checkErr(skipValidators(&dc))

if dc.Config.GhpcVersion != "" {
fmt.Printf("ghpc_version setting is ignored.")
logging.Info("ghpc_version setting is ignored.")
}
dc.Config.GhpcVersion = GitCommitInfo

// Expand the blueprint
if err := dc.ExpandConfig(); err != nil {
log.Fatal(renderError(err, ctx))
logging.Fatal(renderError(err, ctx))
}

validateMaybeDie(dc.Config, ctx)
Expand All @@ -134,29 +131,29 @@ func validateMaybeDie(bp config.Blueprint, ctx config.YamlCtx) {
if err == nil {
return
}
log.Println(renderError(err, ctx))

log.Println("One or more blueprint validators has failed. See messages above for suggested")
log.Println("actions. General troubleshooting guidance and instructions for configuring")
log.Println("validators are shown below.")
log.Println("")
log.Println("- https://goo.gle/hpc-toolkit-troubleshooting")
log.Println("- https://goo.gle/hpc-toolkit-validation")
log.Println("")
log.Println("Validators can be silenced or treated as warnings or errors:")
log.Println("")
log.Println("- https://goo.gle/hpc-toolkit-validation-levels")
log.Println("")
logging.Error(renderError(err, ctx))

logging.Error("One or more blueprint validators has failed. See messages above for suggested")
logging.Error("actions. General troubleshooting guidance and instructions for configuring")
logging.Error("validators are shown below.")
logging.Error("")
logging.Error("- https://goo.gle/hpc-toolkit-troubleshooting")
logging.Error("- https://goo.gle/hpc-toolkit-validation")
logging.Error("")
logging.Error("Validators can be silenced or treated as warnings or errors:")
logging.Error("")
logging.Error("- https://goo.gle/hpc-toolkit-validation-levels")
logging.Error("")

switch bp.ValidationLevel {
case config.ValidationWarning:
{
log.Println(boldYellow("Validation failures were treated as a warning, continuing to create blueprint."))
log.Println("")
logging.Error(boldYellow("Validation failures were treated as a warning, continuing to create blueprint."))
logging.Error("")
}
case config.ValidationError:
{
log.Fatal(boldRed("validation failed due to the issues listed above"))
logging.Fatal(boldRed("validation failed due to the issues listed above"))
}
}

Expand Down Expand Up @@ -289,3 +286,46 @@ func filterYaml(cmd *cobra.Command, args []string, toComplete string) ([]string,
}
return []string{"yaml", "yml"}, cobra.ShellCompDirectiveFilterFileExt
}

// Determines if overwrite is allowed
func checkOverwriteAllowed(depDir string, bp config.Blueprint, overwriteFlag bool) error {
if _, err := os.Stat(depDir); os.IsNotExist(err) {
return nil // all good, no previous deployment
}

if _, err := os.Stat(modulewriter.HiddenGhpcDir(depDir)); os.IsNotExist(err) {
// hidden ghpc dir does not exist
return fmt.Errorf("folder %q already exists, and it is not a valid GHPC deployment folder", depDir)
}

// try to get previous deployment
expPath := filepath.Join(modulewriter.ArtifactsDir(depDir), modulewriter.ExpandedBlueprintName)
if _, err := os.Stat(expPath); os.IsNotExist(err) {
return fmt.Errorf("expanded blueprint file %q is missing, this could be a result of changing GHPC version between consecutive deployments", expPath)
}
prev, _, err := config.NewDeploymentConfig(expPath)
if err != nil {
return err
}

if prev.Config.GhpcVersion != bp.GhpcVersion {
logging.Info("WARNING: ghpc_version has changed from %q to %q, using different versions of GHPC to update a live deployment is not officially supported. Proceed at your own risk", prev.Config.GhpcVersion, bp.GhpcVersion)
}

if !overwriteFlag {
return fmt.Errorf("deployment folder %q already exists, use -w to overwrite", depDir)
}

newGroups := map[config.GroupName]bool{}
for _, g := range bp.DeploymentGroups {
newGroups[g.Name] = true
}

for _, g := range prev.Config.DeploymentGroups {
if !newGroups[g.Name] {
return fmt.Errorf("you are attempting to remove a deployment group %q, which is not supported", g.Name)
}
}

return nil
}
76 changes: 76 additions & 0 deletions cmd/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ package cmd
import (
"errors"
"hpc-toolkit/pkg/config"
"hpc-toolkit/pkg/modulewriter"
"os"
"path/filepath"

"github.com/zclconf/go-cty/cty"
. "gopkg.in/check.v1"
Expand Down Expand Up @@ -164,3 +167,76 @@ func (s *MySuite) TestValidateMaybeDie(c *C) {
ctx, _ := config.NewYamlCtx([]byte{})
validateMaybeDie(bp, ctx) // smoke test
}

func (s *MySuite) TestIsOverwriteAllowed_Absent(c *C) {
testDir := c.MkDir()
depDir := filepath.Join(testDir, "casper")

bp := config.Blueprint{}
c.Check(checkOverwriteAllowed(depDir, bp, false /*overwriteFlag*/), IsNil)
c.Check(checkOverwriteAllowed(depDir, bp, true /*overwriteFlag*/), IsNil)
}

func (s *MySuite) TestIsOverwriteAllowed_NotGHPC(c *C) {
depDir := c.MkDir() // empty deployment folder considered malformed

bp := config.Blueprint{}
c.Check(checkOverwriteAllowed(depDir, bp, false /*overwriteFlag*/), ErrorMatches, ".* not a valid GHPC deployment folder")
c.Check(checkOverwriteAllowed(depDir, bp, true /*overwriteFlag*/), ErrorMatches, ".* not a valid GHPC deployment folder")
}

func (s *MySuite) TestIsOverwriteAllowed_NoExpanded(c *C) {
depDir := c.MkDir() // empty deployment folder considered malformed
if err := os.MkdirAll(modulewriter.HiddenGhpcDir(depDir), 0755); err != nil {
c.Fatal(err)
}

bp := config.Blueprint{}
c.Check(checkOverwriteAllowed(depDir, bp, false /*overwriteFlag*/), ErrorMatches, ".* changing GHPC version.*")
c.Check(checkOverwriteAllowed(depDir, bp, true /*overwriteFlag*/), ErrorMatches, ".* changing GHPC version.*")
}

func (s *MySuite) TestIsOverwriteAllowed_Malformed(c *C) {
depDir := c.MkDir() // empty deployment folder considered malformed
if err := os.MkdirAll(modulewriter.ArtifactsDir(depDir), 0755); err != nil {
c.Fatal(err)
}
expPath := filepath.Join(modulewriter.ArtifactsDir(depDir), "expanded_blueprint.yaml")
if err := os.WriteFile(expPath, []byte("humus"), 0644); err != nil {
c.Fatal(err)
}

bp := config.Blueprint{}
c.Check(checkOverwriteAllowed(depDir, bp, false /*overwriteFlag*/), NotNil)
c.Check(checkOverwriteAllowed(depDir, bp, true /*overwriteFlag*/), NotNil)
}

func (s *MySuite) TestIsOverwriteAllowed_Present(c *C) {
depDir := c.MkDir()
artDir := modulewriter.ArtifactsDir(depDir)
if err := os.MkdirAll(artDir, 0755); err != nil {
c.Fatal(err)
}

prev := config.DeploymentConfig{
Config: config.Blueprint{
GhpcVersion: "TaleOdBygoneYears",
DeploymentGroups: []config.DeploymentGroup{
{Name: "isildur"}}}}
if err := prev.ExportBlueprint(filepath.Join(artDir, "expanded_blueprint.yaml")); err != nil {
c.Fatal(err)
}

super := config.Blueprint{
DeploymentGroups: []config.DeploymentGroup{
{Name: "isildur"},
{Name: "elendil"}}}
c.Check(checkOverwriteAllowed(depDir, super, false /*overwriteFlag*/), ErrorMatches, ".* already exists, use -w to overwrite")
c.Check(checkOverwriteAllowed(depDir, super, true /*overwriteFlag*/), IsNil)

sub := config.Blueprint{
DeploymentGroups: []config.DeploymentGroup{
{Name: "aragorn"}}}
c.Check(checkOverwriteAllowed(depDir, sub, false /*overwriteFlag*/), ErrorMatches, `.* already exists, use -w to overwrite`)
c.Check(checkOverwriteAllowed(depDir, sub, true /*overwriteFlag*/), ErrorMatches, `.*remove a deployment group "isildur".*`)
}
Loading
Loading