Add ability to create QOS policy with het template
Related-PRODX: PRODX-13966
Change-Id: Ieff299130164a268c62d097ed077aebd200d7546
diff --git a/de/heat-templates/multirack.yaml b/de/heat-templates/multirack.yaml
index 8e37448..abcae03 100644
--- a/de/heat-templates/multirack.yaml
+++ b/de/heat-templates/multirack.yaml
@@ -163,6 +163,28 @@
rack_functions_override:
type: string
default: ''
+ lmas_size:
+ type: number
+ lmas_metadata:
+ type: json
+ lmas_flavor:
+ type: string
+ default_interface:
+ type: string
+ default: ''
+ qos_max_burst_kbps_ingress:
+ type: number
+ default: 0
+ qos_max_kbps_ingress:
+ type: number
+ default: 0
+ qos_max_burst_kbps_egress:
+ type: number
+ default: 0
+ qos_max_kbps_egress:
+ type: number
+ default: 0
+
resources:
keypair_name:
@@ -178,6 +200,42 @@
public_key: { get_param: cluster_public_key }
save_private_key: false
+ qos_policy_gen_name:
+ type: OS::Heat::RandomString
+ properties:
+ character_classes: [{"class": "hexdigits", "min": 1}]
+ length: 8
+ salt: constant
+
+ rack_qos_policy:
+ type: OS::Neutron::QoSPolicy
+ properties:
+ description: String
+ name:
+ list_join:
+ - '-'
+ - [ { get_param: "OS::stack_name" }, { get_attr: [qos_policy_gen_name, value] } ]
+ shared: True
+
+ rack_bandwith_rule_egress:
+ type: OS::Neutron::QoSBandwidthLimitRule
+ properties:
+ max_burst_kbps: { get_param: qos_max_burst_kbps_egress }
+ max_kbps: { get_param: qos_max_kbps_egress }
+ policy: { get_resource: rack_qos_policy }
+# NOTE (ohryhorov): section below with "direction" should be uncommented once cloud is
+# upgraded to OpenStack Train version.
+#
+# direction: 'egress'
+#
+# rack_bandwith_rule_ingress:
+# type: OS::Neutron::QoSBandwidthLimitRule
+# properties:
+# max_burst_kbps: { get_param: qos_max_burst_kbps_ingress }
+# max_kbps: { get_param: qos_max_kbps_ingress }
+# policy: { get_resource: rack_qos_policy }
+# direction: 'ingress'
+
central_site:
type: MCP2::CentralSite
properties:
@@ -206,6 +264,11 @@
worker_hardware_metadata: { get_param: main_worker_hardware_metadata }
dns_nameservers: { get_param: dns_nameservers }
boot_timeout: { get_param: central_boot_timeout }
+ lmas_size: { get_param: lmas_size }
+ lmas_metadata: { get_param: lmas_metadata }
+ lmas_flavor: { get_param: lmas_flavor }
+ lmas_hardware_metadata: { get_param: main_worker_hardware_metadata }
+ default_interface: { get_param: default_interface }
rack01_router_routes:
type: MCP2::RackRouterRoutes
@@ -237,6 +300,7 @@
boot_timeout: { get_param: rack_boot_timeout }
private_floating_interface: { get_param: rack_private_floating_interface }
functions_override: { get_param: rack_functions_override }
+ qos_policy_name: { get_resource: rack_qos_policy }
rack02_router_routes:
depends_on:
@@ -270,6 +334,7 @@
boot_timeout: { get_param: rack_boot_timeout }
private_floating_interface: { get_param: rack_private_floating_interface }
functions_override: { get_param: rack_functions_override }
+ qos_policy_name: { get_resource: rack_qos_policy }
outputs:
central_site_worker_public_ip: