Skip to content

Commit c166acc

Browse files
authored
Updating main branch with the latest contents of private repo develop branch (#156)
1 parent ea62d41 commit c166acc

File tree

210 files changed

+17373
-2903
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

210 files changed

+17373
-2903
lines changed

.catalog-onboard-pipeline.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
apiVersion: v1
33
offerings:
44
# below is an example of a Deployable Architecture (DA) solution
5-
- name: terraform-ibm-modules-terraform-ibm-hpc-ad6e71e # must match the offering name in the ibm_catalog.json
5+
- name: deploy-arch-ibm-hpc # must match the offering name in the ibm_catalog.json
66
kind: solution
7-
catalog_id: fe9d2e76-5ada-44af-821f-b437dcc80f71
8-
offering_id: 468c5a1c-1f1d-4e5a-b5b3-ec646b1bd298
7+
catalog_id: 8611e025-10b2-488e-8261-a7f584a5114b
8+
offering_id: bf3c07f8-5a62-4289-8ea0-94dbb2b410e6
99
# list all of the variations (flavors) you have included in the ibm_catalog.json
1010
variations:
11-
- name: advanced
11+
- name: Cluster-with-LSF-v10.1.0.14
1212
mark_ready: false # have pipeline mark as visible if validation passes
1313
install_type: fullstack # ensure value matches what is in ibm_catalog.json (fullstack or extension)
1414
destroy_resources_on_failure: false # defaults to false if not specified so resources can be inspected to debug failures during validation

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ crash.log
1515
# to change depending on the environment.
1616
#
1717
*.tfvars
18+
*.ini
1819

1920
# Ignore files for local testing
2021
test.tf
@@ -51,3 +52,6 @@ terraform.rc
5152

5253
# Visual Studio Code
5354
.vscode/
55+
56+
# tweaks used locally
57+
localtweak__*.tf

.secrets.baseline

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"files": "go.sum|^.secrets.baseline$",
44
"lines": null
55
},
6-
"generated_at": "2023-12-09T05:22:51Z",
6+
"generated_at": "2024-04-08T15:16:34Z",
77
"plugins_used": [
88
{
99
"name": "AWSKeyDetector"

.tekton/README.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
2+
# IBM Cloud HPC - OnePipeline(Tekton)
3+
4+
## Prerequisites
5+
6+
Ensure the following are configured on your DevOps:
7+
8+
- **IBM Cloud Account**
9+
- **Continuous Delivery**
10+
- **Access role with resource_group**
11+
12+
## Link for setup DevOps
13+
```
14+
https://cloud.ibm.com/devops/getting-started?env_id=ibm:yp:eu-de
15+
```
16+
17+
## Set up Your Go Project
18+
19+
1. Login to IBMCloud
20+
2. Navigate to Navigation Menu on Left hand side and expand. Then go to DevOps → Toolchains
21+
3. On the Toolchain page select Resource Group and Location where Toolchain has to create
22+
4. Click Create toolchain and it will redirect to Create a Toolchain page
23+
5. After successfull redirect to Toolchain Template collections, select Build your own toolchain
24+
6. On Build your own toolchain page, provide Toolchain name, Resource Group, Region
25+
7. Click Create it will create pipeline.
26+
27+
## Actions on the OnePipeline
28+
29+
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
30+
2. When Commit/Push happens to develop branch, pipeline will trigger and it will run all PR_TEST and OTHER_TEST testcases
31+
32+
### Setup required parameters to run pipeline
33+
34+
1. ibmcloud-api
35+
2. ssh_keys
36+
3. cluster_prefix
37+
4. zones
38+
5. resource_group
39+
6. cluster_id
40+
7. reservation_id
41+
42+
For additional assistance, contact the project maintainers.
Lines changed: 170 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,170 @@
1+
---
2+
apiVersion: tekton.dev/v1beta1
3+
kind: TriggerTemplate
4+
args: [--allow-multiple-documents]
5+
metadata:
6+
name: triggertemplate-git-pr-status
7+
spec:
8+
params:
9+
- name: git-access-token
10+
description: the token to access the git repository for the clone operations
11+
- name: repository
12+
description: The git repo
13+
default: " "
14+
- name: branch
15+
description: the branch for the git repo
16+
- name: directory-name
17+
default: "."
18+
- name: pr-repository
19+
description: The source git repo for the PullRequest
20+
default: " "
21+
- name: pr-branch
22+
description: The source branch for the PullRequest
23+
default: " "
24+
- name: pr-revision
25+
description: the commit id/sha for the PullRequest
26+
default: " "
27+
- name: triggerName
28+
default: "git-pr-process"
29+
- name: pipeline-debug
30+
default: "0"
31+
- name: ssh_keys
32+
default: ""
33+
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).
34+
- name: zones
35+
default: ""
36+
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).
37+
- name: cluster_prefix
38+
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.
39+
default: cicd-wes
40+
- name: resource_group
41+
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).
42+
default: Default
43+
- name: remote_allowed_ips
44+
default: ""
45+
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/).
46+
- name: compute_image_name_rhel
47+
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.
48+
default: ""
49+
- name: compute_image_name_ubuntu
50+
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.
51+
default: ""
52+
- name: login_image_name
53+
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.
54+
default: ""
55+
- name: cluster_id
56+
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.
57+
default: ""
58+
- name: reservation_id
59+
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 (_).
60+
default: ""
61+
- name: us_east_reservation_id
62+
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 (_).
63+
default: ""
64+
- name: eu_de_reservation_id
65+
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 (_).
66+
default: ""
67+
- name: us_south_reservation_id
68+
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 (_).
69+
default: ""
70+
resourcetemplates:
71+
- apiVersion: v1
72+
kind: PersistentVolumeClaim
73+
metadata:
74+
name: $(params.triggerName)-$(uid)-pvc
75+
spec:
76+
resources:
77+
requests:
78+
storage: 5Gi
79+
volumeMode: Filesystem
80+
accessModes:
81+
- ReadWriteOnce
82+
- apiVersion: tekton.dev/v1beta1
83+
kind: PipelineRun
84+
metadata:
85+
name: $(params.triggerName)-$(uid)
86+
spec:
87+
pipelineRef:
88+
name: pipeline-git-pr-status
89+
params:
90+
- name: git-access-token
91+
value: $(params.git-access-token)
92+
- name: repository
93+
value: $(params.repository)
94+
- name: branch
95+
value: $(params.branch)
96+
- name: pr-repository
97+
value: $(params.pr-repository)
98+
- name: pr-branch
99+
value: $(params.pr-branch)
100+
- name: pr-revision
101+
value: $(params.pr-revision)
102+
- name: pipeline-debug
103+
value: $(params.pipeline-debug)
104+
- name: directory-name
105+
value: $(params.directory-name)
106+
- name: ssh_keys
107+
value: $(params.ssh_keys)
108+
- name: zones
109+
value: $(params.zones)
110+
- name: cluster_prefix
111+
value: $(params.cluster_prefix)
112+
- name: resource_group
113+
value: $(params.resource_group)
114+
- name: remote_allowed_ips
115+
value: $(params.remote_allowed_ips)
116+
- name: compute_image_name_rhel
117+
value: $(params.compute_image_name_rhel)
118+
- name: compute_image_name_ubuntu
119+
value: $(params.compute_image_name_ubuntu)
120+
- name: login_image_name
121+
value: $(params.login_image_name)
122+
- name: cluster_id
123+
value: $(params.cluster_id)
124+
- name: reservation_id
125+
value: $(params.reservation_id)
126+
- name: us_east_reservation_id
127+
value: $(params.us_east_reservation_id)
128+
- name: eu_de_reservation_id
129+
value: $(params.eu_de_reservation_id)
130+
- name: us_south_reservation_id
131+
value: $(params.us_south_reservation_id)
132+
workspaces:
133+
- name: pipeline-ws
134+
persistentVolumeClaim:
135+
claimName: $(params.triggerName)-$(uid)-pvc
136+
...
137+
138+
---
139+
apiVersion: tekton.dev/v1beta1
140+
kind: TriggerBinding
141+
metadata:
142+
name: triggerbinding-git-pr-status-github-pr
143+
spec:
144+
params:
145+
- name: repository
146+
value: "$(event.pull_request.base.repo.clone_url)"
147+
- name: branch
148+
value: "$(event.pull_request.base.ref)"
149+
- name: pr-repository
150+
value: "$(event.pull_request.head.repo.clone_url)"
151+
- name: pr-branch
152+
value: "$(event.pull_request.head.ref)"
153+
- name: pr-revision
154+
value: "$(event.pull_request.head.sha)"
155+
- name: triggerName
156+
value: "github-pullrequest"
157+
...
158+
159+
---
160+
apiVersion: tekton.dev/v1beta1
161+
kind: EventListener
162+
metadata:
163+
name: eventlistener-git-pr-status-github-pr
164+
spec:
165+
triggers:
166+
- binding:
167+
name: triggerbinding-git-pr-status-github-pr
168+
template:
169+
name: triggertemplate-git-pr-status
170+
...

0 commit comments

Comments
 (0)