Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
291a43e
Adding HPCaaS code base to public repo for testing
Feb 12, 2024
326f768
Updating changes from private DA refactored HPCAAS to public repo
Feb 21, 2024
806d048
fine tuning and updating code base as per latest DA hpcaas
Feb 22, 2024
89483bf
updating public repo as per private repo changes
Feb 27, 2024
9a2d10b
updating public repo as per private repo changes
Feb 29, 2024
de170f2
Bug fix from CF team during regression
Feb 29, 2024
2892df6
fixing rg issue
Mar 1, 2024
ded987f
hpcaas-arch-1.4.0.svg
bksagar Mar 4, 2024
9d60d05
Create CHANGELOG.md
bksagar Mar 4, 2024
3a7050b
hpcaas-arch-1.3.0.svg
bksagar Mar 4, 2024
a1fa105
fixing null issue
Mar 4, 2024
e9dc9d9
zone changes
Mar 5, 2024
702e4d2
CF Team code changes
Mar 7, 2024
d92bb8e
CF team cloud init status
Mar 11, 2024
645d2e8
Update CHANGELOG.md
bksagar Mar 11, 2024
5bae867
Changes from CF team as well as multiregion and multiprofile support
Apr 4, 2024
1da3d15
fixing scc issue (#143)
nupurg-ibm Apr 16, 2024
9a28aae
updating public repo with all changes of private one (#148)
nupurg-ibm May 2, 2024
5f5724c
removing catalog.json for this release
May 2, 2024
7d018aa
updating few var desc and values
May 3, 2024
f1512b8
hpcaas-arch-1.5.0.svg
bksagar May 3, 2024
95275b0
Delete hpcaas-arch-1.5.0.svg
bksagar May 3, 2024
7658192
hpcaas-arch-1.5.0.svg
bksagar May 3, 2024
6e0f0b0
updating public repo as per the private repo changes (#152)
nupurg-ibm May 10, 2024
fbe70f0
merging hpcaas to main branch
May 20, 2024
a82c8ac
Updating public repo with private repo changes
May 23, 2024
30320ee
adding hidden files
May 23, 2024
e9377f3
fixing things on the basis of review comments
May 24, 2024
1832003
updating public repo with the changes of private repo
May 29, 2024
519f967
fixing versions
May 29, 2024
e37c85f
update the cra config file with reservation id
bksagar May 29, 2024
6f4c62d
Contract-IBM-WES-DA
bksagar May 29, 2024
7c837ae
Update cra-config.yaml
nupurg-ibm May 29, 2024
93108c9
Update cra-config.yaml
nupurg-ibm May 30, 2024
e32d9d7
Update cra-config.yaml
nupurg-ibm May 30, 2024
371129f
updating public repo with private repo changes
May 30, 2024
6d81e40
updating public repo with private repo changes
May 30, 2024
b9508b2
fixing pre-commit issue
May 30, 2024
62c5824
file share issue fixed
May 31, 2024
b690a33
updated as false on skip
bksagar May 31, 2024
00eb27a
fix for the file share auth policy
Jun 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .catalog-onboard-pipeline.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@
apiVersion: v1
offerings:
# below is an example of a Deployable Architecture (DA) solution
- name: terraform-ibm-modules-terraform-ibm-hpc-ad6e71e # must match the offering name in the ibm_catalog.json
- name: deploy-arch-ibm-hpc # must match the offering name in the ibm_catalog.json
kind: solution
catalog_id: fe9d2e76-5ada-44af-821f-b437dcc80f71
offering_id: 468c5a1c-1f1d-4e5a-b5b3-ec646b1bd298
catalog_id: 8611e025-10b2-488e-8261-a7f584a5114b
offering_id: bf3c07f8-5a62-4289-8ea0-94dbb2b410e6
# list all of the variations (flavors) you have included in the ibm_catalog.json
variations:
- name: advanced
- name: Cluster-with-LSF-v10.1.0.14
mark_ready: false # have pipeline mark as visible if validation passes
install_type: fullstack # ensure value matches what is in ibm_catalog.json (fullstack or extension)
destroy_resources_on_failure: false # defaults to false if not specified so resources can be inspected to debug failures during validation
Expand Down
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ crash.log
# to change depending on the environment.
#
*.tfvars
*.ini

# Ignore files for local testing
test.tf
Expand Down Expand Up @@ -51,3 +52,6 @@ terraform.rc

# Visual Studio Code
.vscode/

# tweaks used locally
localtweak__*.tf
2 changes: 1 addition & 1 deletion .secrets.baseline
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"files": "go.sum|^.secrets.baseline$",
"lines": null
},
"generated_at": "2023-12-09T05:22:51Z",
"generated_at": "2024-04-08T15:16:34Z",
"plugins_used": [
{
"name": "AWSKeyDetector"
Expand Down
42 changes: 42 additions & 0 deletions .tekton/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@

# IBM Cloud HPC - OnePipeline(Tekton)

## Prerequisites

Ensure the following are configured on your DevOps:

- **IBM Cloud Account**
- **Continuous Delivery**
- **Access role with resource_group**

## Link for setup DevOps
```
https://cloud.ibm.com/devops/getting-started?env_id=ibm:yp:eu-de
```

## Set up Your Go Project

1. Login to IBMCloud
2. Navigate to Navigation Menu on Left hand side and expand. Then go to DevOps → Toolchains
3. On the Toolchain page select Resource Group and Location where Toolchain has to create
4. Click Create toolchain and it will redirect to Create a Toolchain page
5. After successfull redirect to Toolchain Template collections, select Build your own toolchain
6. On Build your own toolchain page, provide Toolchain name, Resource Group, Region
7. Click Create it will create pipeline.

## Actions on the OnePipeline

1. When PR raised to the develop branch from feature branch, pipeline with trigger and it will run PR_TEST related testcases on top of feature branch
2. When Commit/Push happens to develop branch, pipeline will trigger and it will run all PR_TEST and OTHER_TEST testcases

### Setup required parameters to run pipeline

1. ibmcloud-api
2. ssh_keys
3. cluster_prefix
4. zones
5. resource_group
6. cluster_id
7. reservation_id

For additional assistance, contact the project maintainers.
170 changes: 170 additions & 0 deletions .tekton/git-pr-status/listener-git-pr-status.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,170 @@
---
apiVersion: tekton.dev/v1beta1
kind: TriggerTemplate
args: [--allow-multiple-documents]
metadata:
name: triggertemplate-git-pr-status
spec:
params:
- name: git-access-token
description: the token to access the git repository for the clone operations
- name: repository
description: The git repo
default: " "
- name: branch
description: the branch for the git repo
- name: directory-name
default: "."
- name: pr-repository
description: The source git repo for the PullRequest
default: " "
- name: pr-branch
description: The source branch for the PullRequest
default: " "
- name: pr-revision
description: the commit id/sha for the PullRequest
default: " "
- name: triggerName
default: "git-pr-process"
- name: pipeline-debug
default: "0"
- name: ssh_keys
default: ""
description: List of names of the SSH keys that is configured in your IBM Cloud account, used to establish a connection to the IBM Cloud HPC bastion and login node. Ensure that the SSH key is present in the same resource group and region where the cluster is being provisioned. If you do not have an SSH key in your IBM Cloud account, create one by according to [SSH Keys](https://cloud.ibm.com/docs/vpc?topic=vpc-ssh-keys).
- name: zones
default: ""
description: IBM Cloud zone names within the selected region where the IBM Cloud HPC cluster should be deployed. Two zone names are required as input value and supported zones for eu-de are eu-de-2, eu-de-3 and for us-east us-east-1, us-east-3. The management nodes and file storage shares will be deployed to the first zone in the list. Compute nodes will be deployed across both first and second zones, where the first zone in the list will be considered as the most preferred zone for compute nodes deployment. [Learn more](https://cloud.ibm.com/docs/vpc?topic=vpc-creating-a-vpc-in-a-different-region#get-zones-using-the-cli).
- name: cluster_prefix
description: Prefix that is used to name the IBM Cloud HPC cluster and IBM Cloud resources that are provisioned to build the IBM Cloud HPC cluster instance. You cannot create more than one instance of the IBM Cloud HPC cluster with the same name. Ensure that the name is unique.
default: cicd-wes
- name: resource_group
description: Resource group name from your IBM Cloud account where the VPC resources should be deployed. Note. If the resource group value is set as null, automation creates two different RG with the name (workload-rg and service-rg). For additional information on resource groups, see [Managing resource groups](https://cloud.ibm.com/docs/account?topic=account-rgs).
default: Default
- name: remote_allowed_ips
default: ""
description: Comma-separated list of IP addresses that can access the IBM Cloud HPC cluster instance through an SSH interface. For security purposes, provide the public IP addresses assigned to the devices that are authorized to establish SSH connections (for example, [\"169.45.117.34\"]). To fetch the IP address of the device, use [https://ipv4.icanhazip.com/](https://ipv4.icanhazip.com/).
- name: compute_image_name_rhel
description: Name of the custom image that you want to use to create virtual server instances in your IBM Cloud account to deploy the IBM Cloud HPC cluster dynamic compute nodes. By default, the solution uses a RHEL 8-6 OS image with additional software packages mentioned [here](https://cloud.ibm.com/docs/hpc-spectrum-LSF#create-custom-image). The solution also offers, Ubuntu 22-04 OS base image (hpcaas-lsf10-ubuntu2204-compute-v1). If you would like to include your application-specific binary files, follow the instructions in [ Planning for custom images ](https://cloud.ibm.com/docs/vpc?topic=vpc-planning-custom-images) to create your own custom image and use that to build the IBM Cloud HPC cluster through this offering.
default: ""
- name: compute_image_name_ubuntu
description: Name of the custom image that you want to use to create virtual server instances in your IBM Cloud account to deploy the IBM Cloud HPC cluster dynamic compute nodes. By default, the solution uses a RHEL 8-6 OS image with additional software packages mentioned [here](https://cloud.ibm.com/docs/hpc-spectrum-LSF#create-custom-image). The solution also offers, Ubuntu 22-04 OS base image (hpcaas-lsf10-ubuntu2204-compute-v1). If you would like to include your application-specific binary files, follow the instructions in [ Planning for custom images ](https://cloud.ibm.com/docs/vpc?topic=vpc-planning-custom-images) to create your own custom image and use that to build the IBM Cloud HPC cluster through this offering.
default: ""
- name: login_image_name
description: Name of the custom image that you want to use to create virtual server instances in your IBM Cloud account to deploy the IBM Cloud HPC cluster login node. By default, the solution uses a RHEL 8-6 OS image with additional software packages mentioned [here](https://cloud.ibm.com/docs/hpc-spectrum-LSF#create-custom-image). The solution also offers, Ubuntu 22-04 OS base image (hpcaas-lsf10-ubuntu2204-compute-v2). If you would like to include your application-specific binary files, follow the instructions in [ Planning for custom images ](https://cloud.ibm.com/docs/vpc?topic=vpc-planning-custom-images) to create your own custom image and use that to build the IBM Cloud HPC cluster through this offering.
default: ""
- name: cluster_id
description: Ensure that you have received the cluster ID from IBM technical sales. A unique identifer for HPC cluster used by IBM Cloud HPC to differentiate different HPC clusters within the same reservation. This can be up to 39 alphanumeric characters including the underscore (_), the hyphen (-), and the period (.) characters. You cannot change the cluster ID after deployment.
default: ""
- name: reservation_id
description: Ensure that you have received the reservation ID from IBM technical sales. Reservation ID is a unique identifier to distinguish different IBM Cloud HPC service agreements. It must start with a letter and can only contain letters, numbers, hyphens (-), or underscores (_).
default: ""
- name: us_east_reservation_id
description: Ensure that you have received the reservation ID from IBM technical sales. Reservation ID is a unique identifier to distinguish different IBM Cloud HPC service agreements. It must start with a letter and can only contain letters, numbers, hyphens (-), or underscores (_).
default: ""
- name: eu_de_reservation_id
description: Ensure that you have received the reservation ID from IBM technical sales. Reservation ID is a unique identifier to distinguish different IBM Cloud HPC service agreements. It must start with a letter and can only contain letters, numbers, hyphens (-), or underscores (_).
default: ""
- name: us_south_reservation_id
description: Ensure that you have received the reservation ID from IBM technical sales. Reservation ID is a unique identifier to distinguish different IBM Cloud HPC service agreements. It must start with a letter and can only contain letters, numbers, hyphens (-), or underscores (_).
default: ""
resourcetemplates:
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: $(params.triggerName)-$(uid)-pvc
spec:
resources:
requests:
storage: 5Gi
volumeMode: Filesystem
accessModes:
- ReadWriteOnce
- apiVersion: tekton.dev/v1beta1
kind: PipelineRun
metadata:
name: $(params.triggerName)-$(uid)
spec:
pipelineRef:
name: pipeline-git-pr-status
params:
- name: git-access-token
value: $(params.git-access-token)
- name: repository
value: $(params.repository)
- name: branch
value: $(params.branch)
- name: pr-repository
value: $(params.pr-repository)
- name: pr-branch
value: $(params.pr-branch)
- name: pr-revision
value: $(params.pr-revision)
- name: pipeline-debug
value: $(params.pipeline-debug)
- name: directory-name
value: $(params.directory-name)
- name: ssh_keys
value: $(params.ssh_keys)
- name: zones
value: $(params.zones)
- name: cluster_prefix
value: $(params.cluster_prefix)
- name: resource_group
value: $(params.resource_group)
- name: remote_allowed_ips
value: $(params.remote_allowed_ips)
- name: compute_image_name_rhel
value: $(params.compute_image_name_rhel)
- name: compute_image_name_ubuntu
value: $(params.compute_image_name_ubuntu)
- name: login_image_name
value: $(params.login_image_name)
- name: cluster_id
value: $(params.cluster_id)
- name: reservation_id
value: $(params.reservation_id)
- name: us_east_reservation_id
value: $(params.us_east_reservation_id)
- name: eu_de_reservation_id
value: $(params.eu_de_reservation_id)
- name: us_south_reservation_id
value: $(params.us_south_reservation_id)
workspaces:
- name: pipeline-ws
persistentVolumeClaim:
claimName: $(params.triggerName)-$(uid)-pvc
...

---
apiVersion: tekton.dev/v1beta1
kind: TriggerBinding
metadata:
name: triggerbinding-git-pr-status-github-pr
spec:
params:
- name: repository
value: "$(event.pull_request.base.repo.clone_url)"
- name: branch
value: "$(event.pull_request.base.ref)"
- name: pr-repository
value: "$(event.pull_request.head.repo.clone_url)"
- name: pr-branch
value: "$(event.pull_request.head.ref)"
- name: pr-revision
value: "$(event.pull_request.head.sha)"
- name: triggerName
value: "github-pullrequest"
...

---
apiVersion: tekton.dev/v1beta1
kind: EventListener
metadata:
name: eventlistener-git-pr-status-github-pr
spec:
triggers:
- binding:
name: triggerbinding-git-pr-status-github-pr
template:
name: triggertemplate-git-pr-status
...
Loading