Skip to content

Commit 751ef2f

Browse files
Updated the Jenkinsfile with the actual parameters
1 parent 7b7ba53 commit 751ef2f

2 files changed

Lines changed: 23 additions & 11 deletions

File tree

private-cicd/Jenkinsfile

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -430,17 +430,17 @@ spec:
430430
)
431431
string(
432432
name: 'VM_INVENTORY_CREDENTIALS_ID',
433-
defaultValue: 'PLACEHOLDER-cloudstack-presubmit-inventory',
433+
defaultValue: 'cloudstack-presubmit-inventory',
434434
description: 'Jenkins Secret file credential containing the reserved-VM inventory YAML.'
435435
)
436-
string(name: 'VCENTER_HOST', defaultValue: 'PLACEHOLDER-vcenter.example.netapp.com', description: 'vCenter hostname.')
437-
string(name: 'VCENTER_CREDENTIALS_ID', defaultValue: 'PLACEHOLDER-cloudstack-vcenter', description: 'vCenter username/password credential ID.')
438-
string(name: 'VM_SSH_CREDENTIALS_ID', defaultValue: 'PLACEHOLDER-cloudstack-presubmit-ssh', description: 'Reserved-VM SSH username/password credential ID.')
439-
string(name: 'MYSQL_ROOT_CREDENTIALS_ID', defaultValue: 'PLACEHOLDER-cloudstack-mysql-root', description: 'MySQL administrator credential ID.')
440-
string(name: 'CLOUD_DB_CREDENTIALS_ID', defaultValue: 'PLACEHOLDER-cloudstack-db', description: 'CloudStack database credential ID.')
441-
string(name: 'KVM_HOST_CREDENTIALS_ID', defaultValue: 'PLACEHOLDER-cloudstack-kvm-host', description: 'KVM host credential ID used by zone setup.')
442-
string(name: 'ONTAP_CREDENTIALS_ID', defaultValue: 'PLACEHOLDER-cloudstack-ontap', description: 'ONTAP SVM credential ID.')
443-
string(name: 'CLOUDSTACK_ADMIN_CREDENTIALS_ID', defaultValue: 'PLACEHOLDER-cloudstack-admin', description: 'CloudStack admin credential ID.')
436+
string(name: 'VCENTER_HOST', defaultValue: 'cstack-netapp-lab.rtp.openenglab.netapp.com', description: 'vCenter hostname.')
437+
string(name: 'VCENTER_CREDENTIALS_ID', defaultValue: 'cloudstack-vcenter', description: 'vCenter username/password credential ID.')
438+
string(name: 'VM_SSH_CREDENTIALS_ID', defaultValue: 'cloudstack-presubmit-ssh', description: 'Reserved-VM SSH username/password credential ID.')
439+
string(name: 'MYSQL_ROOT_CREDENTIALS_ID', defaultValue: 'cloudstack-mysql-root', description: 'MySQL administrator credential ID.')
440+
string(name: 'CLOUD_DB_CREDENTIALS_ID', defaultValue: 'cloudstack-db', description: 'CloudStack database credential ID.')
441+
string(name: 'KVM_HOST_CREDENTIALS_ID', defaultValue: 'cloudstack-kvm-host', description: 'KVM host credential ID used by zone setup.')
442+
string(name: 'ONTAP_CREDENTIALS_ID', defaultValue: 'cloudstack-ontap', description: 'ONTAP SVM credential ID.')
443+
string(name: 'CLOUDSTACK_ADMIN_CREDENTIALS_ID', defaultValue: 'cloudstack-admin', description: 'CloudStack admin credential ID.')
444444
booleanParam(name: 'PAUSE_BETWEEN_STAGES', defaultValue: false, description: 'Pause for manual verification after each stage. Keep this off for webhook runs.')
445445
}
446446

private-cicd/docs/PRIVATE-CICD-GUIDE.md

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@ This is the consolidated operator and developer reference. The current [`Jenkins
3030

3131
The guide covers:
3232

33-
- the trusted production Pipeline-from-SCM job and GitHub pull-request webhook;
33+
- the trusted production Pipeline-from-SCM job and GitHub pull-request webhook, including first-PR cutover from
34+
`feature/CSTACKEX-223` to `main` ([`CREATE-PRESUBMIT-JOB.md`](CREATE-PRESUBMIT-JOB.md));
3435
- the separate triggerless manual branch job;
3536
- local CI-file validation and direct disposable-VM validation;
3637
- Stage 1 build, unit-test, and Debian package handoff;
@@ -102,6 +103,7 @@ private-cicd/
102103
├── docker/
103104
│ └── Dockerfile.driver
104105
├── docs/
106+
│ ├── CREATE-PRESUBMIT-JOB.md
105107
│ └── PRIVATE-CICD-GUIDE.md
106108
└── scripts/
107109
├── build-debs.sh
@@ -145,12 +147,22 @@ Lightweight checkout: off
145147
PR code cannot replace trusted CI helpers before credentials are used. The source under test is checked out
146148
separately.
147149

150+
Until `feature/CSTACKEX-223` is merged, that Jenkinsfile is not on `main`. Create **one** webhook job named
151+
`cloudstack-ontap-presubmit` that loads CI from `*/feature/CSTACKEX-223`, using
152+
[`CREATE-PRESUBMIT-JOB.md`](CREATE-PRESUBMIT-JOB.md). After merge, change only **Branches to build**
153+
to `*/main`. Keep the same job, webhook, GitHub App, credentials, and Check. Do not create a second production job
154+
and do not leave the feature branch as trusted CI after cutover.
155+
148156
### Manual-job trust boundary
149157

150158
A manual job may load the Jenkinsfile from an unreviewed remote feature branch. That branch can request every
151159
credential visible to the job. Create a separate triggerless job, restrict Configure/Build permissions, expose only
152160
least-privilege lab credentials, review the diff before every run, and never convert it into the webhook job.
153161

162+
The manual job is only triggerless while disabled. Because it loads the same Jenkinsfile, it also carries the
163+
Jenkinsfile's Generic Webhook Trigger and token. Keep `cloudstack-presubmit-manual` disabled and enable it only for
164+
the duration of a branch run, or use `SOURCE_MODE=branch` on the webhook job instead.
165+
154166
### Secret boundaries
155167

156168
Never commit populated inventory, real `ontap.cfg`, `secrets.json`, credentials, tokens, or private keys. Only
@@ -962,7 +974,7 @@ the build.
962974
- [ ] credentials have correct Kinds and non-empty passwords;
963975
- [ ] populated inventory remains outside Git;
964976
- [ ] each enabled VM maps to a labeled resource and clean snapshot;
965-
- [ ] production SCM is `*/main`, lightweight off, and source checkout full;
977+
- [ ] production SCM is `*/main` after CSTACKEX-223 is merged (until then `*/feature/CSTACKEX-223`), lightweight off, and source checkout full;
966978
- [ ] first load applied parameters/trigger and only needed signatures are approved;
967979
- [ ] parameterized PR smoke run passed;
968980
- [ ] App installation, exact-SHA Check conclusion, and webhook HTTP 200 are proven;

0 commit comments

Comments
 (0)