Parameterized linux_system_codename

Change-Id: Ic527bfa74b4caf7e0bb5d157bfae024f2cf53111
diff --git a/reclass/storage/system/ceph_mon_cluster.yml b/reclass/storage/system/ceph_mon_cluster.yml
index 6b99d21..85beafb 100644
--- a/reclass/storage/system/ceph_mon_cluster.yml
+++ b/reclass/storage/system/ceph_mon_cluster.yml
@@ -3,6 +3,7 @@
     ceph_mon_node01_hostname: cmn01
     ceph_mon_node02_hostname: cmn02
     ceph_mon_node03_hostname: cmn03
+    ceph_mon_system_codename: xenial
   reclass:
     storage:
       node:
@@ -13,7 +14,7 @@
           - cluster.${_param:cluster_name}.ceph.mon
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:ceph_mon_system_codename}
             single_address: ${_param:ceph_mon_node01_address}
             keepalived_vip_priority: 103
         ceph_mon_node02:
@@ -23,7 +24,7 @@
           - cluster.${_param:cluster_name}.ceph.mon
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename:  ${_param:ceph_mon_system_codename}
             single_address: ${_param:ceph_mon_node02_address}
             keepalived_vip_priority: 102
         ceph_mon_node03:
@@ -33,6 +34,6 @@
           - cluster.${_param:cluster_name}.ceph.mon
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename:  ${_param:ceph_mon_system_codename}
             single_address: ${_param:ceph_mon_node03_address}
             keepalived_vip_priority: 101
diff --git a/reclass/storage/system/cicd_control_cluster.yml b/reclass/storage/system/cicd_control_cluster.yml
index 547ba61..bc31944 100644
--- a/reclass/storage/system/cicd_control_cluster.yml
+++ b/reclass/storage/system/cicd_control_cluster.yml
@@ -3,6 +3,7 @@
     cicd_control_node01_hostname: cid01
     cicd_control_node02_hostname: cid02
     cicd_control_node03_hostname: cid03
+    cicd_control_system_codename: xenial
   reclass:
     storage:
       node:
@@ -13,7 +14,7 @@
           - cluster.${_param:cluster_name}.cicd.control.leader
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:cicd_control_system_codename}
             single_address: ${_param:cicd_control_node01_address}
             keepalived_vip_priority: 103
             cicd_database_id: 1
@@ -24,7 +25,7 @@
           - cluster.${_param:cluster_name}.cicd.control.manager
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:cicd_control_system_codename}
             single_address: ${_param:cicd_control_node02_address}
             keepalived_vip_priority: 102
             cicd_database_id: 2
@@ -35,7 +36,7 @@
           - cluster.${_param:cluster_name}.cicd.control.manager
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:cicd_control_system_codename}
             single_address: ${_param:cicd_control_node03_address}
             keepalived_vip_priority: 101
             cicd_database_id: 3
diff --git a/reclass/storage/system/cicd_manager_cluster.yml b/reclass/storage/system/cicd_manager_cluster.yml
index 898e657..032f257 100644
--- a/reclass/storage/system/cicd_manager_cluster.yml
+++ b/reclass/storage/system/cicd_manager_cluster.yml
@@ -2,6 +2,7 @@
   _param:
     cicd_control_node02_hostname: cid01
     cicd_control_node03_hostname: cid02
+    cicd_control_system_codename: xenial
   reclass:
     storage:
       node:
@@ -12,7 +13,7 @@
           - cluster.${_param:cluster_name}.cicd.control.manager
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:cicd_control_system_codename}
             single_address: ${_param:cicd_control_node02_address}
             keepalived_vip_priority: 102
             cicd_database_id: 2
@@ -23,7 +24,7 @@
           - cluster.${_param:cluster_name}.cicd.control.manager
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:cicd_control_system_codename}
             single_address: ${_param:cicd_control_node03_address}
             keepalived_vip_priority: 101
             cicd_database_id: 3
diff --git a/reclass/storage/system/infra_idm_cluster.yml b/reclass/storage/system/infra_idm_cluster.yml
index aae2370..1d2efcf 100644
--- a/reclass/storage/system/infra_idm_cluster.yml
+++ b/reclass/storage/system/infra_idm_cluster.yml
@@ -3,6 +3,7 @@
     infra_idm_node01_hostname: idm01
     infra_idm_node02_hostname: idm02
     infra_idm_node03_hostname: idm03
+    infra_idm_system_codename: centos
   reclass:
     storage:
       node:
@@ -13,7 +14,7 @@
           - cluster.${_param:cluster_name}.infra.idm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: centos
+            linux_system_codename: ${_param:infra_idm_system_codename}
             single_address: ${_param:infra_idm_node01_address}
         infra_idm_node02:
           name: ${_param:infra_idm_node02_hostname}
@@ -22,7 +23,7 @@
           - cluster.${_param:cluster_name}.infra.idm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: centos
+            linux_system_codename: ${_param:infra_idm_system_codename}
             single_address: ${_param:infra_idm_node02_address}
         infra_idm_node03:
           name: ${_param:infra_idm_node03_hostname}
@@ -31,5 +32,5 @@
           - cluster.${_param:cluster_name}.infra.idm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: centos
-            single_address: ${_param:infra_idm_node03_address}
\ No newline at end of file
+            linux_system_codename: ${_param:infra_idm_system_codename}
+            single_address: ${_param:infra_idm_node03_address}
diff --git a/reclass/storage/system/infra_maas_single.yml b/reclass/storage/system/infra_maas_single.yml
index eb5a96b..c919fc9 100644
--- a/reclass/storage/system/infra_maas_single.yml
+++ b/reclass/storage/system/infra_maas_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     infra_maas_node01_hostname: mas01
+    infra_maas_system_codename: xenial
   reclass:
     storage:
       node:
@@ -11,6 +12,5 @@
           - cluster.${_param:cluster_name}.infra.maas
           params:
             salt_master_host: ${_param:infra_config_deploy_address}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:infra_maas_system_codename}
             single_address: ${_param:infra_maas_node01_deploy_address}
-
diff --git a/reclass/storage/system/infra_proxy_cluster.yml b/reclass/storage/system/infra_proxy_cluster.yml
index f7c7932..2cac99a 100644
--- a/reclass/storage/system/infra_proxy_cluster.yml
+++ b/reclass/storage/system/infra_proxy_cluster.yml
@@ -2,6 +2,7 @@
   _param:
     infra_proxy_node01_hostname: prx01
     infra_proxy_node02_hostname: prx02
+    infra_proxy_system_codename: trusty
   reclass:
     storage:
       node:
@@ -13,7 +14,7 @@
           - cluster.${_param:cluster_name}.stacklight.proxy
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_proxy_system_codename}
             single_address: ${_param:infra_proxy_node01_address}
             keepalived_vip_priority: 102
         infra_proxy_node02:
@@ -24,6 +25,6 @@
           - cluster.${_param:cluster_name}.stacklight.proxy
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_proxy_system_codename}
             single_address: ${_param:infra_proxy_node02_address}
             keepalived_vip_priority: 101
diff --git a/reclass/storage/system/infra_proxy_single.yml b/reclass/storage/system/infra_proxy_single.yml
index a245e8c..f75acc5 100644
--- a/reclass/storage/system/infra_proxy_single.yml
+++ b/reclass/storage/system/infra_proxy_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     openstack_proxy_node01_hostname: prx01
+    openstack_proxy_system_codename: trusty
   reclass:
     storage:
       node:
@@ -12,5 +13,5 @@
           - cluster.${_param:cluster_name}.stacklight.proxy
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_proxy_system_codename}
             single_address: ${_param:openstack_proxy_node01_address}
diff --git a/reclass/storage/system/kubernetes_control_cluster.yml b/reclass/storage/system/kubernetes_control_cluster.yml
index de6a135..15bec1e 100644
--- a/reclass/storage/system/kubernetes_control_cluster.yml
+++ b/reclass/storage/system/kubernetes_control_cluster.yml
@@ -6,6 +6,7 @@
     kubernetes_control_node01_deploy_address: ${_param:kubernetes_control_node01_address}
     kubernetes_control_node02_deploy_address: ${_param:kubernetes_control_node02_address}
     kubernetes_control_node03_deploy_address: ${_param:kubernetes_control_node03_address}
+    kubernetes_control_system_codename: xenial
   reclass:
     storage:
       node:
@@ -16,7 +17,7 @@
           - cluster.${_param:cluster_name}.kubernetes.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:kubernetes_control_system_codename}
             single_address: ${_param:kubernetes_control_node01_address}
             deploy_address: ${_param:kubernetes_control_node01_deploy_address}
             keepalived_vip_priority: 103
@@ -27,7 +28,7 @@
           - cluster.${_param:cluster_name}.kubernetes.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:kubernetes_control_system_codename}
             single_address: ${_param:kubernetes_control_node02_address}
             deploy_address: ${_param:kubernetes_control_node02_deploy_address}
             keepalived_vip_priority: 102
@@ -38,7 +39,7 @@
           - cluster.${_param:cluster_name}.kubernetes.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:kubernetes_control_system_codename}
             single_address: ${_param:kubernetes_control_node03_address}
             deploy_address: ${_param:kubernetes_control_node03_deploy_address}
-            keepalived_vip_priority: 101
\ No newline at end of file
+            keepalived_vip_priority: 101
diff --git a/reclass/storage/system/kubernetes_control_single.yml b/reclass/storage/system/kubernetes_control_single.yml
index c88e3c3..1ce0cd5 100644
--- a/reclass/storage/system/kubernetes_control_single.yml
+++ b/reclass/storage/system/kubernetes_control_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     kubernetes_control_node01_hostname: ctl01
+    kubernetes_control_system_codename: xenial
   reclass:
     storage:
       node:
@@ -11,5 +12,5 @@
           - cluster.${_param:cluster_name}.kubernetes.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
-            single_address: ${_param:kubernetes_control_node01_address}
\ No newline at end of file
+            linux_system_codename: ${_param:kubernetes_control_system_codename}
+            single_address: ${_param:kubernetes_control_node01_address}
diff --git a/reclass/storage/system/monitoring_service_cluster.yml b/reclass/storage/system/monitoring_service_cluster.yml
index 630ee32..0f6b3d8 100644
--- a/reclass/storage/system/monitoring_service_cluster.yml
+++ b/reclass/storage/system/monitoring_service_cluster.yml
@@ -3,6 +3,7 @@
     monitor_node01_hostname: mon01
     monitor_node02_hostname: mon02
     monitor_node03_hostname: mon03
+    monitor_system_codename: xenial
   reclass:
     storage:
       node:
@@ -13,7 +14,7 @@
           - cluster.${_param:cluster_name}.monitoring.server
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:monitor_system_codename}
             single_address: ${_param:monitoring_service_node01_address}
         monitoring_service_node02:
           name: ${_param:monitor_node02_hostname}
@@ -22,7 +23,7 @@
           - cluster.${_param:cluster_name}.monitoring.server
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:monitor_system_codename}
             single_address: ${_param:monitoring_service_node02_address}
         monitoring_service_node03:
           name: ${_param:monitor_node03_hostname}
@@ -31,5 +32,5 @@
           - cluster.${_param:cluster_name}.monitoring.server
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:monitor_system_codename}
             single_address: ${_param:monitoring_service_node03_address}
diff --git a/reclass/storage/system/monitoring_service_single.yml b/reclass/storage/system/monitoring_service_single.yml
index 9680529..d238b07 100644
--- a/reclass/storage/system/monitoring_service_single.yml
+++ b/reclass/storage/system/monitoring_service_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     monitor_node01_hostname: mon01
+    monitor_system_codename: xenial
   reclass:
     storage:
       node:
@@ -11,5 +12,5 @@
           - cluster.${_param:cluster_name}.monitoring.server
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename:  ${_param:monitor_system_codename}
             single_address: ${_param:monitoring_service_node01_address}
diff --git a/reclass/storage/system/opencontrail_analytics_cluster.yml b/reclass/storage/system/opencontrail_analytics_cluster.yml
index 6a4b7ee..400853e 100644
--- a/reclass/storage/system/opencontrail_analytics_cluster.yml
+++ b/reclass/storage/system/opencontrail_analytics_cluster.yml
@@ -3,6 +3,7 @@
     opencontrail_analytics_node01_hostname: nal01
     opencontrail_analytics_node02_hostname: nal02
     opencontrail_analytics_node03_hostname: nal03
+    opencontrail_analytics_system_codename: trusty
   reclass:
     storage:
       node:
@@ -13,18 +14,18 @@
           - cluster.${_param:cluster_name}.opencontrail.analytics
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:opencontrail_analytics_system_codename}
             single_address: ${_param:opencontrail_analytics_node01_address}
             keepalived_vip_priority: 103
             opencontrail_database_id: 1
         opencontrail_analytics_node02:
           name: ${_param:opencontrail_analytics_node02_hostname}
           domain: ${_param:cluster_domain}
-          classes:  
+          classes:
           - cluster.${_param:cluster_name}.opencontrail.analytics
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:opencontrail_analytics_system_codename}
             single_address: ${_param:opencontrail_analytics_node02_address}
             keepalived_vip_priority: 102
             opencontrail_database_id: 2
@@ -35,7 +36,7 @@
           - cluster.${_param:cluster_name}.opencontrail.analytics
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:opencontrail_analytics_system_codename}
             single_address: ${_param:opencontrail_analytics_node03_address}
             keepalived_vip_priority: 101
             opencontrail_database_id: 3
diff --git a/reclass/storage/system/opencontrail_control_cluster.yml b/reclass/storage/system/opencontrail_control_cluster.yml
index d0213b3..f752c83 100644
--- a/reclass/storage/system/opencontrail_control_cluster.yml
+++ b/reclass/storage/system/opencontrail_control_cluster.yml
@@ -3,6 +3,7 @@
     opencontrail_control_node01_hostname: ntw01
     opencontrail_control_node02_hostname: ntw02
     opencontrail_control_node03_hostname: ntw03
+    opencontrail_control_system_codename: trusty
   reclass:
     storage:
       node:
@@ -13,7 +14,7 @@
           - cluster.${_param:cluster_name}.opencontrail.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:opencontrail_control_system_codename}
             single_address: ${_param:opencontrail_control_node01_address}
             keepalived_vip_priority: 103
             opencontrail_database_id: 1
@@ -24,7 +25,7 @@
           - cluster.${_param:cluster_name}.opencontrail.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:opencontrail_control_system_codename}
             single_address: ${_param:opencontrail_control_node02_address}
             keepalived_vip_priority: 102
             opencontrail_database_id: 2
@@ -35,7 +36,7 @@
           - cluster.${_param:cluster_name}.opencontrail.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:opencontrail_control_system_codename}
             single_address: ${_param:opencontrail_control_node03_address}
             keepalived_vip_priority: 101
             opencontrail_database_id: 3
diff --git a/reclass/storage/system/opencontrail_gateway_single.yml b/reclass/storage/system/opencontrail_gateway_single.yml
index 52b2786..30c7043 100644
--- a/reclass/storage/system/opencontrail_gateway_single.yml
+++ b/reclass/storage/system/opencontrail_gateway_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     opencontrail_gateway_hostname: gtw01
+    opencontrail_gateway_system_codename: trusty
   reclass:
     storage:
       node:
@@ -11,5 +12,5 @@
           - cluster.${_param:cluster_name}.opencontrail.gateway
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:opencontrail_gateway_system_codename}
             single_address: ${_param:opencontrail_gateway_address}
diff --git a/reclass/storage/system/opencontrail_tor_cluster.yml b/reclass/storage/system/opencontrail_tor_cluster.yml
index 81d7314..1fa2ad0 100644
--- a/reclass/storage/system/opencontrail_tor_cluster.yml
+++ b/reclass/storage/system/opencontrail_tor_cluster.yml
@@ -4,6 +4,7 @@
     opencontrail_tor01_node02_hostname: tor02
     opencontrail_tor01_node01_tenant_address: ${_param:opencontrail_tor01_node01_address}
     opencontrail_tor01_node02_tenant_address: ${_param:opencontrail_tor01_node02_address}
+    opencontrail_tor_system_codename: xenial
   reclass:
     storage:
       node:
@@ -14,7 +15,7 @@
           - cluster.${_param:cluster_name}.opencontrail.tor
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:opencontrail_tor_system_codename}
             single_address: ${_param:opencontrail_tor01_node01_address}
             tenant_address: ${_param:opencontrail_tor01_node01_tenant_address}
             keepalived_vip_priority: 103
@@ -25,7 +26,7 @@
           - cluster.${_param:cluster_name}.opencontrail.tor
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:opencontrail_tor_system_codename}
             single_address: ${_param:opencontrail_tor01_node02_address}
             tenant_address: ${_param:opencontrail_tor01_node02_tenant_address}
             keepalived_vip_priority: 102
diff --git a/reclass/storage/system/openstack_benchmark_single.yml b/reclass/storage/system/openstack_benchmark_single.yml
index a676cc3..6958d41 100644
--- a/reclass/storage/system/openstack_benchmark_single.yml
+++ b/reclass/storage/system/openstack_benchmark_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     openstack_benchmark_node01_hostname: bmk01
+    openstack_benchmark_system_codename: xenial
   reclass:
     storage:
       node:
@@ -11,5 +12,5 @@
           - cluster.${_param:cluster_name}.openstack.benchmark
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:openstack_benchmark_system_codename}
             single_address: ${_param:openstack_benchmark_node01_address}
diff --git a/reclass/storage/system/openstack_billing_single.yml b/reclass/storage/system/openstack_billing_single.yml
index 5b63ec0..49ed988 100644
--- a/reclass/storage/system/openstack_billing_single.yml
+++ b/reclass/storage/system/openstack_billing_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     openstack_billing_hostname: bil01
+    openstack_billing_system_codename: trusty
   reclass:
     storage:
       node:
@@ -11,5 +12,5 @@
           - cluster.${_param:cluster_name}.openstack.billing
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_billing_system_codename}
             single_address: ${_param:openstack_billing_address}
diff --git a/reclass/storage/system/openstack_control_cluster.yml b/reclass/storage/system/openstack_control_cluster.yml
index deb25b8..300a04c 100644
--- a/reclass/storage/system/openstack_control_cluster.yml
+++ b/reclass/storage/system/openstack_control_cluster.yml
@@ -3,6 +3,7 @@
     openstack_control_node01_hostname: ctl01
     openstack_control_node02_hostname: ctl02
     openstack_control_node03_hostname: ctl03
+    openstack_control_system_codename: trusty
   reclass:
     storage:
       node:
@@ -13,7 +14,7 @@
           - cluster.${_param:cluster_name}.openstack.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_control_system_codename}
             single_address: ${_param:openstack_control_node01_address}
             keepalived_vip_priority: 103
             opencontrail_database_id: 1
@@ -25,7 +26,7 @@
           - cluster.${_param:cluster_name}.openstack.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_control_system_codename}
             single_address: ${_param:openstack_control_node02_address}
             keepalived_vip_priority: 102
             opencontrail_database_id: 2
@@ -37,7 +38,7 @@
           - cluster.${_param:cluster_name}.openstack.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_control_system_codename}
             single_address: ${_param:openstack_control_node03_address}
             keepalived_vip_priority: 101
             opencontrail_database_id: 3
diff --git a/reclass/storage/system/openstack_control_single.yml b/reclass/storage/system/openstack_control_single.yml
index 016ab96..e7329da 100644
--- a/reclass/storage/system/openstack_control_single.yml
+++ b/reclass/storage/system/openstack_control_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     openstack_control_node01_hostname: ctl01
+    openstack_control_system_codename: xenial
   reclass:
     storage:
       node:
@@ -11,5 +12,5 @@
           - cluster.${_param:cluster_name}.openstack.control
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:openstack_control_system_codename}
             single_address: ${_param:openstack_control_node01_address}
diff --git a/reclass/storage/system/openstack_control_upgrade_single.yml b/reclass/storage/system/openstack_control_upgrade_single.yml
index 964e064..e387062 100644
--- a/reclass/storage/system/openstack_control_upgrade_single.yml
+++ b/reclass/storage/system/openstack_control_upgrade_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     openstack_upgrade_node01_hostname: upg01
+    openstack_upgrade_system_codename: xenial
   reclass:
     storage:
       node:
@@ -11,5 +12,5 @@
           - cluster.${_param:cluster_name}.openstack.upgrade
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:openstack_upgrade_system_codename}
             single_address: ${_param:openstack_upgrade_node01_address}
diff --git a/reclass/storage/system/openstack_dashboard_single.yml b/reclass/storage/system/openstack_dashboard_single.yml
index c2915d3..51e2d91 100644
--- a/reclass/storage/system/openstack_dashboard_single.yml
+++ b/reclass/storage/system/openstack_dashboard_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     openstack_proxy_hostname: prx01
+    openstack_proxy_system_codename: trusty
   reclass:
     storage:
       node:
@@ -11,5 +12,5 @@
           - cluster.${_param:cluster_name}.openstack.dashboard
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_proxy_system_codename}
             single_address: 172.16.10.121
diff --git a/reclass/storage/system/openstack_database_cluster.yml b/reclass/storage/system/openstack_database_cluster.yml
index 33c6d24..7a2f3e5 100644
--- a/reclass/storage/system/openstack_database_cluster.yml
+++ b/reclass/storage/system/openstack_database_cluster.yml
@@ -3,6 +3,7 @@
     openstack_database_node01_hostname: dbs01
     openstack_database_node02_hostname: dbs02
     openstack_database_node03_hostname: dbs03
+    openstack_database_system_codename: trusty
   reclass:
     storage:
       node:
@@ -14,19 +15,19 @@
           - cluster.${_param:cluster_name}.openstack.database
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_database_system_codename}
             single_address: ${_param:openstack_database_node01_address}
             keepalived_vip_priority: 103
             mysql_cluster_role: master
         openstack_database_node02:
           name: ${_param:openstack_database_node02_hostname}
           domain: ${_param:cluster_domain}
-          classes:  
+          classes:
           - service.galera.slave.cluster
           - cluster.${_param:cluster_name}.openstack.database
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_database_system_codename}
             single_address: ${_param:openstack_database_node02_address}
             keepalived_vip_priority: 102
             mysql_cluster_role: slave
@@ -38,7 +39,7 @@
           - cluster.${_param:cluster_name}.openstack.database
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_database_system_codename}
             single_address: ${_param:openstack_database_node03_address}
             keepalived_vip_priority: 101
             mysql_cluster_role: slave
diff --git a/reclass/storage/system/openstack_dns_cluster.yml b/reclass/storage/system/openstack_dns_cluster.yml
index d671e78..d6b93d0 100644
--- a/reclass/storage/system/openstack_dns_cluster.yml
+++ b/reclass/storage/system/openstack_dns_cluster.yml
@@ -2,6 +2,7 @@
   _param:
     openstack_dns_node01_hostname: dns01
     openstack_dns_node02_hostname: dns02
+    openstack_dns_system_codename: xenial
   reclass:
     storage:
       node:
@@ -12,7 +13,7 @@
           - cluster.${_param:cluster_name}.openstack.dns
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:openstack_dns_system_codename}
             single_address: ${_param:openstack_dns_node01_address}
             keepalived_vip_priority: 110
         openstack_dns_node02:
@@ -22,6 +23,6 @@
           - cluster.${_param:cluster_name}.openstack.dns
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:openstack_dns_system_codename}
             single_address: ${_param:openstack_dns_node02_address}
             keepalived_vip_priority: 111
diff --git a/reclass/storage/system/openstack_message_queue_cluster.yml b/reclass/storage/system/openstack_message_queue_cluster.yml
index c6a811f..3836af0 100644
--- a/reclass/storage/system/openstack_message_queue_cluster.yml
+++ b/reclass/storage/system/openstack_message_queue_cluster.yml
@@ -3,6 +3,7 @@
     openstack_message_queue_node01_hostname: msg01
     openstack_message_queue_node02_hostname: msg02
     openstack_message_queue_node03_hostname: msg03
+    openstack_message_system_codename: trusty
   reclass:
     storage:
       node:
@@ -13,18 +14,18 @@
           - cluster.${_param:cluster_name}.openstack.message_queue
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_message_system_codename}
             single_address: ${_param:openstack_message_queue_node01_address}
             keepalived_vip_priority: 103
             rabbitmq_cluster_role: master
         openstack_message_queue_node02:
           name: ${_param:openstack_message_queue_node02_hostname}
           domain: ${_param:cluster_domain}
-          classes:  
+          classes:
           - cluster.${_param:cluster_name}.openstack.message_queue
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_message_system_codename}
             single_address: ${_param:openstack_message_queue_node02_address}
             keepalived_vip_priority: 102
             rabbitmq_cluster_role: slave
@@ -35,7 +36,7 @@
           - cluster.${_param:cluster_name}.openstack.message_queue
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_message_system_codename}
             single_address: ${_param:openstack_message_queue_node03_address}
             keepalived_vip_priority: 101
             rabbitmq_cluster_role: slave
diff --git a/reclass/storage/system/openstack_proxy_cluster.yml b/reclass/storage/system/openstack_proxy_cluster.yml
index 95439fa..ca0b2a9 100644
--- a/reclass/storage/system/openstack_proxy_cluster.yml
+++ b/reclass/storage/system/openstack_proxy_cluster.yml
@@ -2,6 +2,7 @@
   _param:
     openstack_proxy_node01_hostname: prx01
     openstack_proxy_node02_hostname: prx02
+    openstack_proxy_system_codename: trusty
   reclass:
     storage:
       node:
@@ -12,7 +13,7 @@
           - cluster.${_param:cluster_name}.openstack.proxy
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_proxy_system_codename}
             single_address: ${_param:openstack_proxy_node01_address}
             keepalived_vip_priority: 102
         openstack_proxy_node02:
@@ -22,6 +23,6 @@
           - cluster.${_param:cluster_name}.openstack.proxy
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_proxy_system_codename}
             single_address: ${_param:openstack_proxy_node02_address}
             keepalived_vip_priority: 101
diff --git a/reclass/storage/system/openstack_proxy_single.yml b/reclass/storage/system/openstack_proxy_single.yml
index 794ca64..a2dddd7 100644
--- a/reclass/storage/system/openstack_proxy_single.yml
+++ b/reclass/storage/system/openstack_proxy_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     openstack_proxy_node01_hostname: prx01
+    openstack_proxy_system_codename: trusty
   reclass:
     storage:
       node:
@@ -11,5 +12,5 @@
           - cluster.${_param:cluster_name}.openstack.proxy
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_proxy_system_codename}
             single_address: ${_param:openstack_proxy_node01_address}
diff --git a/reclass/storage/system/openstack_telemetry_cluster.yml b/reclass/storage/system/openstack_telemetry_cluster.yml
index d184fc9..9dc6457 100644
--- a/reclass/storage/system/openstack_telemetry_cluster.yml
+++ b/reclass/storage/system/openstack_telemetry_cluster.yml
@@ -3,6 +3,7 @@
     openstack_telemetry_node01_hostname: mdb01
     openstack_telemetry_node02_hostname: mdb02
     openstack_telemetry_node03_hostname: mdb03
+    openstack_telemetry_system_codename: trusty
   reclass:
     storage:
       node:
@@ -13,7 +14,7 @@
           - cluster.${_param:cluster_name}.openstack.telemetry
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_telemetry_system_codename}
             single_address: ${_param:openstack_telemetry_node01_address}
             keepalived_vip_priority: 103
         openstack_telemetry_node02:
@@ -23,7 +24,7 @@
           - cluster.${_param:cluster_name}.openstack.telemetry
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_telemetry_system_codename}
             single_address: ${_param:openstack_telemetry_node02_address}
             keepalived_vip_priority: 102
         openstack_telemetry_node03:
@@ -33,6 +34,6 @@
           - cluster.${_param:cluster_name}.openstack.telemetry
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:openstack_telemetry_system_codename}
             single_address: ${_param:openstack_telemetry_node03_address}
             keepalived_vip_priority: 101
diff --git a/reclass/storage/system/physical_control_cluster.yml b/reclass/storage/system/physical_control_cluster.yml
index 4622e09..ebd0eb0 100644
--- a/reclass/storage/system/physical_control_cluster.yml
+++ b/reclass/storage/system/physical_control_cluster.yml
@@ -15,6 +15,7 @@
     infra_kvm_node01_public_address: ${_param:infra_kvm_node01_address}
     infra_kvm_node02_public_address: ${_param:infra_kvm_node02_address}
     infra_kvm_node03_public_address: ${_param:infra_kvm_node03_address}
+    infra_kvm_system_codename: trusty
 
   reclass:
     storage:
@@ -26,7 +27,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node01_address}
             deploy_address: ${_param:infra_kvm_node01_deploy_address}
             public_address: ${_param:infra_kvm_node01_public_address}
@@ -38,7 +39,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node02_address}
             deploy_address: ${_param:infra_kvm_node02_deploy_address}
             public_address: ${_param:infra_kvm_node02_public_address}
@@ -50,7 +51,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node03_address}
             deploy_address: ${_param:infra_kvm_node03_deploy_address}
             public_address: ${_param:infra_kvm_node03_public_address}
diff --git a/reclass/storage/system/physical_control_full.yml b/reclass/storage/system/physical_control_full.yml
index 0f510a4..1bdd345 100644
--- a/reclass/storage/system/physical_control_full.yml
+++ b/reclass/storage/system/physical_control_full.yml
@@ -40,6 +40,8 @@
     infra_kvm_node08_public_address: ${_param:infra_kvm_node08_address}
     infra_kvm_node09_public_address: ${_param:infra_kvm_node09_address}
 
+    infra_kvm_system_codename: trusty
+
   reclass:
     storage:
       node:
@@ -50,7 +52,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node01_address}
             deploy_address: ${_param:infra_kvm_node01_deploy_address}
             public_address: ${_param:infra_kvm_node01_public_address}
@@ -62,7 +64,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node02_address}
             deploy_address: ${_param:infra_kvm_node02_deploy_address}
             public_address: ${_param:infra_kvm_node02_public_address}
@@ -74,7 +76,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node03_address}
             deploy_address: ${_param:infra_kvm_node03_deploy_address}
             public_address: ${_param:infra_kvm_node03_public_address}
@@ -86,7 +88,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node04_address}
             deploy_address: ${_param:infra_kvm_node04_deploy_address}
             public_address: ${_param:infra_kvm_node04_public_address}
@@ -98,7 +100,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node05_address}
             deploy_address: ${_param:infra_kvm_node05_deploy_address}
             public_address: ${_param:infra_kvm_node05_public_address}
@@ -110,7 +112,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node06_address}
             deploy_address: ${_param:infra_kvm_node06_deploy_address}
             public_address: ${_param:infra_kvm_node06_public_address}
@@ -122,7 +124,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node07_address}
             deploy_address: ${_param:infra_kvm_node07_deploy_address}
             public_address: ${_param:infra_kvm_node07_public_address}
@@ -134,7 +136,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node08_address}
             deploy_address: ${_param:infra_kvm_node08_deploy_address}
             public_address: ${_param:infra_kvm_node08_public_address}
@@ -146,7 +148,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node09_address}
             deploy_address: ${_param:infra_kvm_node09_deploy_address}
             public_address: ${_param:infra_kvm_node09_public_address}
diff --git a/reclass/storage/system/physical_control_single.yml b/reclass/storage/system/physical_control_single.yml
index 32f09c3..db92c5f 100644
--- a/reclass/storage/system/physical_control_single.yml
+++ b/reclass/storage/system/physical_control_single.yml
@@ -4,6 +4,7 @@
     infra_kvm_node01_deploy_address: ${_param:infra_kvm_node01_address}
     infra_kvm_node01_storage_address: ${_param:infra_kvm_node01_address}
     infra_kvm_node01_public_address: ${_param:infra_kvm_node01_address}
+    infra_kvm_system_codename: trusty
   reclass:
     storage:
       node:
@@ -14,7 +15,7 @@
           - cluster.${_param:cluster_name}.infra.kvm
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: trusty
+            linux_system_codename: ${_param:infra_kvm_system_codename}
             single_address: ${_param:infra_kvm_node01_address}
             deploy_address: ${_param:infra_kvm_node01_deploy_address}
             public_address: ${_param:infra_kvm_node01_public_address}
diff --git a/reclass/storage/system/rsyslog_single.yml b/reclass/storage/system/rsyslog_single.yml
index a3eefac..b4c36bc 100644
--- a/reclass/storage/system/rsyslog_single.yml
+++ b/reclass/storage/system/rsyslog_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     rsyslog_node01_hostname: rsl01
+    rsyslog_system_codename: xenial
   reclass:
     storage:
       node:
@@ -11,5 +12,5 @@
           - cluster.${_param:cluster_name}.infra.rsyslog
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:rsyslog_system_codename}
             single_address: ${_param:rsyslog_node01_address}
diff --git a/reclass/storage/system/stacklight_log_cluster.yml b/reclass/storage/system/stacklight_log_cluster.yml
index bbb6a6b..14b8108 100644
--- a/reclass/storage/system/stacklight_log_cluster.yml
+++ b/reclass/storage/system/stacklight_log_cluster.yml
@@ -3,6 +3,7 @@
     stacklight_log_node01_hostname: log01
     stacklight_log_node02_hostname: log02
     stacklight_log_node03_hostname: log03
+    stacklight_log_system_codename: xenial
   reclass:
     storage:
       node:
@@ -14,7 +15,7 @@
           - cluster.${_param:cluster_name}.stacklight.log_curator
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_log_system_codename}
             single_address: ${_param:stacklight_log_node01_address}
             keepalived_vip_priority: 103
         stacklight_log_node02:
@@ -25,7 +26,7 @@
           - cluster.${_param:cluster_name}.stacklight.log_curator
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_log_system_codename}
             single_address: ${_param:stacklight_log_node02_address}
             keepalived_vip_priority: 102
         stacklight_log_node03:
@@ -36,6 +37,6 @@
           - cluster.${_param:cluster_name}.stacklight.log_curator
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_log_system_codename}
             single_address: ${_param:stacklight_log_node03_address}
             keepalived_vip_priority: 101
diff --git a/reclass/storage/system/stacklight_monitor_cluster.yml b/reclass/storage/system/stacklight_monitor_cluster.yml
index f95cf81..5d56a6d 100644
--- a/reclass/storage/system/stacklight_monitor_cluster.yml
+++ b/reclass/storage/system/stacklight_monitor_cluster.yml
@@ -3,6 +3,7 @@
     stacklight_monitor_node01_hostname: mon01
     stacklight_monitor_node02_hostname: mon02
     stacklight_monitor_node03_hostname: mon03
+    stacklight_monitor_system_codename: xenial
   reclass:
     storage:
       node:
@@ -15,7 +16,7 @@
             redis_cluster_role: 'master'
             rabbitmq_cluster_role: 'master'
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_monitor_system_codename}
             single_address: ${_param:stacklight_monitor_node01_address}
             keepalived_vip_priority: 103
         stacklight_monitor_node02:
@@ -27,7 +28,7 @@
             redis_cluster_role: 'slave'
             rabbitmq_cluster_role: 'slave'
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_monitor_system_codename}
             single_address: ${_param:stacklight_monitor_node02_address}
             keepalived_vip_priority: 102
         stacklight_monitor_node03:
@@ -39,6 +40,6 @@
             redis_cluster_role: 'slave'
             rabbitmq_cluster_role: 'slave'
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_monitor_system_codename}
             single_address: ${_param:stacklight_monitor_node03_address}
             keepalived_vip_priority: 101
diff --git a/reclass/storage/system/stacklight_server_cluster.yml b/reclass/storage/system/stacklight_server_cluster.yml
index 26b9ebe..4846c84 100644
--- a/reclass/storage/system/stacklight_server_cluster.yml
+++ b/reclass/storage/system/stacklight_server_cluster.yml
@@ -3,6 +3,7 @@
     stacklight_monitor_node01_hostname: mon01
     stacklight_monitor_node02_hostname: mon02
     stacklight_monitor_node03_hostname: mon03
+    stacklight_monitor_system_codename: xenial
   reclass:
     storage:
       node:
@@ -18,10 +19,9 @@
             redis_cluster_role: 'master'
             rabbitmq_cluster_role: 'master'
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_monitor_system_codename}
             single_address: ${_param:stacklight_monitor_node01_address}
             keepalived_vip_priority: 103
-            rabbitmq_cluster_role: master
         stacklight_server_node02:
           name: ${_param:stacklight_monitor_node02_hostname}
           domain: ${_param:cluster_domain}
@@ -31,10 +31,9 @@
             redis_cluster_role: 'slave'
             rabbitmq_cluster_role: 'slave'
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_monitor_system_codename}
             single_address: ${_param:stacklight_monitor_node02_address}
             keepalived_vip_priority: 102
-            rabbitmq_cluster_role: slave
         stacklight_server_node03:
           name: ${_param:stacklight_monitor_node03_hostname}
           domain: ${_param:cluster_domain}
@@ -44,7 +43,6 @@
             redis_cluster_role: 'slave'
             rabbitmq_cluster_role: 'slave'
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_monitor_system_codename}
             single_address: ${_param:stacklight_monitor_node03_address}
             keepalived_vip_priority: 101
-            rabbitmq_cluster_role: slave
diff --git a/reclass/storage/system/stacklight_server_single.yml b/reclass/storage/system/stacklight_server_single.yml
index 2b397f6..dd5f6ac 100644
--- a/reclass/storage/system/stacklight_server_single.yml
+++ b/reclass/storage/system/stacklight_server_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     stacklight_monitor_node01_hostname: mon01
+    stacklight_monitor_system_codename: xenial
   reclass:
     storage:
       node:
@@ -14,5 +15,5 @@
           - system.kibana.client.single
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_monitor_system_codename}
             single_address: ${_param:stacklight_monitor_node01_address}
diff --git a/reclass/storage/system/stacklight_telemetry_cluster.yml b/reclass/storage/system/stacklight_telemetry_cluster.yml
index 12b1dae..b9e2640 100644
--- a/reclass/storage/system/stacklight_telemetry_cluster.yml
+++ b/reclass/storage/system/stacklight_telemetry_cluster.yml
@@ -3,6 +3,7 @@
     stacklight_telemetry_node01_hostname: mtr01
     stacklight_telemetry_node02_hostname: mtr02
     stacklight_telemetry_node03_hostname: mtr03
+    stacklight_telemetry_system_codename: xenial
   reclass:
     storage:
       node:
@@ -13,7 +14,7 @@
           - cluster.${_param:cluster_name}.stacklight.telemetry
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_telemetry_system_codename}
             single_address: ${_param:stacklight_telemetry_node01_address}
             keepalived_vip_priority: 103
         stacklight_telemetry_node02:
@@ -23,7 +24,7 @@
           - cluster.${_param:cluster_name}.stacklight.telemetry
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_telemetry_system_codename}
             single_address: ${_param:stacklight_telemetry_node02_address}
             keepalived_vip_priority: 102
         stacklight_telemetry_node03:
@@ -33,6 +34,6 @@
           - cluster.${_param:cluster_name}.stacklight.telemetry
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_telemetry_system_codename}
             single_address: ${_param:stacklight_telemetry_node03_address}
             keepalived_vip_priority: 101
diff --git a/reclass/storage/system/stacklight_telemetry_single.yml b/reclass/storage/system/stacklight_telemetry_single.yml
index bc51b30..239ae0f 100644
--- a/reclass/storage/system/stacklight_telemetry_single.yml
+++ b/reclass/storage/system/stacklight_telemetry_single.yml
@@ -1,6 +1,7 @@
 parameters:
   _param:
     stacklight_telemetry_node01_hostname: mtr01
+    stacklight_telemetry_system_codename: xenial
   reclass:
     storage:
       node:
@@ -11,6 +12,6 @@
           - cluster.${_param:cluster_name}.stacklight.telemetry
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_telemetry_system_codename}
             single_address: ${_param:stacklight_telemetry_node01_address}
-            keepalived_vip_priority: 103
\ No newline at end of file
+            keepalived_vip_priority: 103
diff --git a/reclass/storage/system/stacklightv2_server_cluster.yml b/reclass/storage/system/stacklightv2_server_cluster.yml
index c72ac2c..81bf22a 100644
--- a/reclass/storage/system/stacklightv2_server_cluster.yml
+++ b/reclass/storage/system/stacklightv2_server_cluster.yml
@@ -3,6 +3,7 @@
     stacklight_monitor_node01_hostname: mon01
     stacklight_monitor_node02_hostname: mon02
     stacklight_monitor_node03_hostname: mon03
+    stacklight_monitor_system_codename: xenial
   reclass:
     storage:
       node:
@@ -15,7 +16,7 @@
           - cluster.${_param:cluster_name}.stacklight.client
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_monitor_system_codename}
             single_address: ${_param:stacklight_monitor_node01_address}
             keepalived_vip_priority: 103
         stacklight_server_node02:
@@ -26,7 +27,7 @@
           - cluster.${_param:cluster_name}.stacklight.server
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_monitor_system_codename}
             single_address: ${_param:stacklight_monitor_node02_address}
             keepalived_vip_priority: 102
         stacklight_server_node03:
@@ -37,6 +38,6 @@
           - cluster.${_param:cluster_name}.stacklight.server
           params:
             salt_master_host: ${_param:reclass_config_master}
-            linux_system_codename: xenial
+            linux_system_codename: ${_param:stacklight_monitor_system_codename}
             single_address: ${_param:stacklight_monitor_node03_address}
             keepalived_vip_priority: 101