diff --git a/openstack-login/nodeimage.pkr.hcl b/openstack-login/nodeimage.pkr.hcl
index fd6b35ee3c2be27e5fd4f353f0a1a47e27d06103..e770d3e8a817ada4c17455ee218f2f432827b9ad 100644
--- a/openstack-login/nodeimage.pkr.hcl
+++ b/openstack-login/nodeimage.pkr.hcl
@@ -61,5 +61,8 @@ build {
     groups           = ["compute"]
     ansible_env_vars = ["ANSIBLE_HOST_KEY_CHECKING=False"]
     playbook_file    = "./CRI_XCBC/compute-packer.yaml"
+    extra_arguments  = [
+      "--extra-vars", "${var.extra_vars}"
+    ]
   }
 }
diff --git a/openstack-login/variables.pkr.hcl b/openstack-login/variables.pkr.hcl
index d3681394fe7c66990a5b9f1507f38f7dbc74d025..6cef95c13157b85446affdea4deff552d6c1d71a 100644
--- a/openstack-login/variables.pkr.hcl
+++ b/openstack-login/variables.pkr.hcl
@@ -88,4 +88,10 @@ variable "volume_size" {
   type        = number
   default     = 20
   description = "The default volume size for building iamge"
-}
\ No newline at end of file
+}
+
+variable "extra_vars" {
+  type        = string
+  default     = ""
+  description = "Extra vars to pass to ansible playbook command"
+}
diff --git a/openstack-ood/nodeimage.pkr.hcl b/openstack-ood/nodeimage.pkr.hcl
index b31d7a1724bada0b8dbe1002b026d11571c294de..61b05ef820cc0bc2cf3d413e1f0b3af54212be7f 100644
--- a/openstack-ood/nodeimage.pkr.hcl
+++ b/openstack-ood/nodeimage.pkr.hcl
@@ -53,5 +53,8 @@ build {
     groups           = ["ood", "knightly"]
     ansible_env_vars = ["ANSIBLE_HOST_KEY_CHECKING=False"]
     playbook_file    = "./CRI_XCBC/ood-packer.yaml"
+    extra_arguments  = [
+      "--extra-vars", "${var.extra_vars}"
+    ]
   }
 }
diff --git a/openstack-ood/variables.pkr.hcl b/openstack-ood/variables.pkr.hcl
index 5a6f608cc01a4134e3d276f4a0960e4d2c530f4c..b87cb6dff0443bf9874e14802a8af7b660362e36 100644
--- a/openstack-ood/variables.pkr.hcl
+++ b/openstack-ood/variables.pkr.hcl
@@ -87,4 +87,10 @@ variable "volume_size" {
   type        = number
   default     = 20
   description = "The default volume size for building iamge"
-}
\ No newline at end of file
+}
+
+variable "extra_vars" {
+  type        = string
+  default     = ""
+  description = "Extra vars to pass to ansible playbook command"
+}
diff --git a/openstack-proxy/nodeimage.pkr.hcl b/openstack-proxy/nodeimage.pkr.hcl
index 1410cbe94026d962c9ec9e0069d2b97dba619cd4..b9480f29cc550654ff3017773c5e2acb60b1584a 100644
--- a/openstack-proxy/nodeimage.pkr.hcl
+++ b/openstack-proxy/nodeimage.pkr.hcl
@@ -58,5 +58,8 @@ build {
       "ANSIBLE_FORCE_COLOR=true"
     ]
     playbook_file    = "./CRI_XCBC/proxy.yaml"
+    extra_arguments  = [
+      "--extra-vars", "${var.extra_vars}"
+    ]
   }
 }
diff --git a/openstack-proxy/variables.pkr.hcl b/openstack-proxy/variables.pkr.hcl
index 9215362da397119c2833a43ee976c0717515a931..6ab03ba638197c98ba7e93bb891596a74d9938c3 100644
--- a/openstack-proxy/variables.pkr.hcl
+++ b/openstack-proxy/variables.pkr.hcl
@@ -106,3 +106,8 @@ variable "ANSIBLE_VERBOSITY" {
   description = "to increase verbosity - 0|1|2|3|4"
 }
 
+variable "extra_vars" {
+  type        = string
+  default     = ""
+  description = "Extra vars to pass to ansible playbook command"
+}