Skip to content

Commit 2514d0f

Browse files
[build-image] Add internal parameter to distinguish official AMI build
This allows more complete AMI cleanup when build official AMIs Signed-off-by: Hanwen <[email protected]>
1 parent 5c5ad98 commit 2514d0f

File tree

3 files changed

+33
-1
lines changed

3 files changed

+33
-1
lines changed

cli/src/pcluster/resources/imagebuilder/parallelcluster.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ phases:
329329
commands:
330330
- |
331331
set -v
332-
/usr/local/sbin/ami_cleanup.sh
332+
/usr/local/sbin/ami_cleanup.sh "${CfnParamIsOfficialAmiBuild}"
333333
334334
- name: validate
335335
steps:

cli/src/pcluster/templates/imagebuilder_stack.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,25 @@ def _add_cfn_parameters(self):
213213
),
214214
description="UpdateOsAndReboot",
215215
)
216+
CfnParameter(
217+
self,
218+
"CfnParamIsOfficialAmiBuild",
219+
type="String",
220+
default=(
221+
json.loads(self.config.dev_settings.cookbook.extra_chef_attributes)
222+
.get("cluster")
223+
.get("is_official_ami_build")
224+
if self.config.dev_settings
225+
and self.config.dev_settings.cookbook
226+
and self.config.dev_settings.cookbook.extra_chef_attributes
227+
and json.loads(self.config.dev_settings.cookbook.extra_chef_attributes).get("cluster")
228+
and json.loads(self.config.dev_settings.cookbook.extra_chef_attributes)
229+
.get("cluster")
230+
.get("is_official_ami_build")
231+
else "false"
232+
),
233+
description="IsOfficialAmiBuild",
234+
)
216235

217236
# -- Resources --------------------------------------------------------------------------------------------------- #
218237

cli/tests/pcluster/templates/test_imagebuilder_stack.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
"CfnParamCincInstaller": {},
6262
"CfnParamCookbookVersion": {},
6363
"CfnParamUpdateOsAndReboot": {},
64+
"CfnParamIsOfficialAmiBuild": {},
6465
},
6566
"Resources": {
6667
"InstanceRole": {},
@@ -112,6 +113,7 @@
112113
"CfnParamCincInstaller": {},
113114
"CfnParamCookbookVersion": {},
114115
"CfnParamUpdateOsAndReboot": {},
116+
"CfnParamIsOfficialAmiBuild": {},
115117
},
116118
"Resources": {
117119
"InstanceRole": {},
@@ -162,6 +164,7 @@
162164
"CfnParamCincInstaller": {},
163165
"CfnParamCookbookVersion": {},
164166
"CfnParamUpdateOsAndReboot": {},
167+
"CfnParamIsOfficialAmiBuild": {},
165168
},
166169
"Resources": {
167170
"InstanceRole": {},
@@ -210,6 +213,7 @@
210213
"CfnParamCincInstaller": {},
211214
"CfnParamCookbookVersion": {},
212215
"CfnParamUpdateOsAndReboot": {},
216+
"CfnParamIsOfficialAmiBuild": {},
213217
},
214218
"Resources": {
215219
"InstanceProfile": {},
@@ -260,6 +264,7 @@
260264
"CfnParamCincInstaller": {},
261265
"CfnParamCookbookVersion": {},
262266
"CfnParamUpdateOsAndReboot": {},
267+
"CfnParamIsOfficialAmiBuild": {},
263268
},
264269
"Resources": {
265270
"InfrastructureConfiguration": {},
@@ -309,6 +314,7 @@
309314
"CfnParamCincInstaller": {},
310315
"CfnParamCookbookVersion": {},
311316
"CfnParamUpdateOsAndReboot": {},
317+
"CfnParamIsOfficialAmiBuild": {},
312318
},
313319
"Resources": {
314320
"InstanceRole": {},
@@ -357,6 +363,7 @@
357363
"CfnParamCincInstaller": {},
358364
"CfnParamCookbookVersion": {},
359365
"CfnParamUpdateOsAndReboot": {},
366+
"CfnParamIsOfficialAmiBuild": {},
360367
},
361368
"Resources": {
362369
"InstanceRole": {},
@@ -407,6 +414,7 @@
407414
"CfnParamCincInstaller": {},
408415
"CfnParamCookbookVersion": {},
409416
"CfnParamUpdateOsAndReboot": {},
417+
"CfnParamIsOfficialAmiBuild": {},
410418
},
411419
"Resources": {
412420
"InstanceRole": {},
@@ -456,6 +464,7 @@
456464
"CfnParamCincInstaller": {},
457465
"CfnParamCookbookVersion": {},
458466
"CfnParamUpdateOsAndReboot": {},
467+
"CfnParamIsOfficialAmiBuild": {},
459468
},
460469
"Resources": {
461470
"InstanceRole": {},
@@ -513,6 +522,7 @@
513522
"CfnParamCincInstaller": {},
514523
"CfnParamCookbookVersion": {},
515524
"CfnParamUpdateOsAndReboot": {},
525+
"CfnParamIsOfficialAmiBuild": {},
516526
},
517527
"Resources": {
518528
"InstanceRole": {},
@@ -563,6 +573,7 @@
563573
"CfnParamCincInstaller": {},
564574
"CfnParamCookbookVersion": {},
565575
"CfnParamUpdateOsAndReboot": {},
576+
"CfnParamIsOfficialAmiBuild": {},
566577
},
567578
"Resources": {
568579
"InstanceRole": {},
@@ -612,6 +623,7 @@
612623
"CfnParamCincInstaller": {},
613624
"CfnParamCookbookVersion": {},
614625
"CfnParamUpdateOsAndReboot": {},
626+
"CfnParamIsOfficialAmiBuild": {},
615627
},
616628
"Resources": {
617629
"InstanceRole": {},
@@ -661,6 +673,7 @@
661673
"CfnParamCincInstaller": {},
662674
"CfnParamCookbookVersion": {},
663675
"CfnParamUpdateOsAndReboot": {},
676+
"CfnParamIsOfficialAmiBuild": {},
664677
},
665678
"Resources": {
666679
"InstanceRole": {},

0 commit comments

Comments
 (0)