Autoscaling: Add metrics for E2 target tracking scaling (#6314)
This commit is contained in:
		
							parent
							
								
									f7b2478726
								
							
						
					
					
						commit
						523225d6e9
					
				@ -1022,6 +1022,38 @@ DESCRIBE_SCALING_POLICIES_TEMPLATE = """<DescribePoliciesResponse xmlns="http://
 | 
			
		||||
              {% if policy.target_tracking_config["CustomizedMetricSpecification"].get("Unit") %}
 | 
			
		||||
              <Unit>{{ policy.target_tracking_config["CustomizedMetricSpecification"].get("Unit") }}</Unit>
 | 
			
		||||
              {% endif %}
 | 
			
		||||
              {% if policy.target_tracking_config["CustomizedMetricSpecification"].get("Metrics") %}
 | 
			
		||||
              <Metrics>
 | 
			
		||||
                {% for metric in policy.target_tracking_config["CustomizedMetricSpecification"].get("Metrics", []) %}
 | 
			
		||||
                <member>
 | 
			
		||||
                  <Id>{{ metric.get("Id") }}</Id>
 | 
			
		||||
                  {% if metric.get("MetricStat") is none %}
 | 
			
		||||
                  <Expression>{{ metric.get("Expression") }}</Expression>
 | 
			
		||||
                  {% endif %}
 | 
			
		||||
                  {% if metric.get("Expression") is none %}
 | 
			
		||||
                  <MetricStat>
 | 
			
		||||
                    <Metric>
 | 
			
		||||
                      <Namespace>{{ metric.get("MetricStat", {}).get("Metric", {}).get("Namespace") }}</Namespace>
 | 
			
		||||
                      <MetricName>{{ metric.get("MetricStat", {}).get("Metric", {}).get("MetricName") }}</MetricName>
 | 
			
		||||
                      <Dimensions>
 | 
			
		||||
                      {% for dim in metric.get("MetricStat", {}).get("Metric", {}).get("Dimensions", []) %}
 | 
			
		||||
                        <member>
 | 
			
		||||
                          <Name>{{ dim.get("Name") }}</Name>
 | 
			
		||||
                          <Value>{{ dim.get("Value") }}</Value>
 | 
			
		||||
                        </member>
 | 
			
		||||
                      {% endfor %}
 | 
			
		||||
                      </Dimensions>
 | 
			
		||||
                    </Metric>
 | 
			
		||||
                    <Stat>{{ metric.get("MetricStat", {}).get("Stat") }}</Stat>
 | 
			
		||||
                    <Unit>{{ metric.get("MetricStat", {}).get("Unit") }}</Unit>
 | 
			
		||||
                  </MetricStat>
 | 
			
		||||
                  {% endif %}
 | 
			
		||||
                  <Label>{{ metric.get("Label") }}</Label>
 | 
			
		||||
                  <ReturnData>{{ 'true' if metric.get("ReturnData") is none else metric.get("ReturnData") }}</ReturnData>
 | 
			
		||||
                </member>
 | 
			
		||||
                {% endfor %}
 | 
			
		||||
              </Metrics>
 | 
			
		||||
              {% endif %}
 | 
			
		||||
            </CustomizedMetricSpecification>
 | 
			
		||||
            {% endif %}
 | 
			
		||||
            <TargetValue>{{ policy.target_tracking_config.get("TargetValue") }}</TargetValue>
 | 
			
		||||
 | 
			
		||||
@ -771,6 +771,30 @@ def test_create_autoscaling_policy_with_policytype__targettrackingscaling():
 | 
			
		||||
                "PredefinedMetricType": "ASGAverageNetworkIn",
 | 
			
		||||
            },
 | 
			
		||||
            "TargetValue": 1000000.0,
 | 
			
		||||
            "CustomizedMetricSpecification": {
 | 
			
		||||
                "Metrics": [
 | 
			
		||||
                    {
 | 
			
		||||
                        "Label": "Get ASGAverageCPUUtilization",
 | 
			
		||||
                        "Id": "cpu",
 | 
			
		||||
                        "MetricStat": {
 | 
			
		||||
                            "Metric": {
 | 
			
		||||
                                "MetricName": "CPUUtilization",
 | 
			
		||||
                                "Namespace": "AWS/EC2",
 | 
			
		||||
                                "Dimensions": [
 | 
			
		||||
                                    {"Name": "AutoScalingGroupName", "Value": asg_name}
 | 
			
		||||
                                ],
 | 
			
		||||
                            },
 | 
			
		||||
                            "Stat": "Average",
 | 
			
		||||
                        },
 | 
			
		||||
                        "ReturnData": False,
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        "Label": "Calculate square cpu",
 | 
			
		||||
                        "Id": "load",
 | 
			
		||||
                        "Expression": "cpu^2",
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
@ -786,6 +810,36 @@ def test_create_autoscaling_policy_with_policytype__targettrackingscaling():
 | 
			
		||||
            "PredefinedMetricSpecification": {
 | 
			
		||||
                "PredefinedMetricType": "ASGAverageNetworkIn",
 | 
			
		||||
            },
 | 
			
		||||
            "CustomizedMetricSpecification": {
 | 
			
		||||
                "MetricName": "None",
 | 
			
		||||
                "Namespace": "None",
 | 
			
		||||
                "Dimensions": [],
 | 
			
		||||
                "Statistic": "None",
 | 
			
		||||
                "Metrics": [
 | 
			
		||||
                    {
 | 
			
		||||
                        "Label": "Get ASGAverageCPUUtilization",
 | 
			
		||||
                        "Id": "cpu",
 | 
			
		||||
                        "MetricStat": {
 | 
			
		||||
                            "Metric": {
 | 
			
		||||
                                "MetricName": "CPUUtilization",
 | 
			
		||||
                                "Namespace": "AWS/EC2",
 | 
			
		||||
                                "Dimensions": [
 | 
			
		||||
                                    {"Name": "AutoScalingGroupName", "Value": asg_name}
 | 
			
		||||
                                ],
 | 
			
		||||
                            },
 | 
			
		||||
                            "Stat": "Average",
 | 
			
		||||
                            "Unit": "None",
 | 
			
		||||
                        },
 | 
			
		||||
                        "ReturnData": False,
 | 
			
		||||
                    },
 | 
			
		||||
                    {
 | 
			
		||||
                        "Label": "Calculate square cpu",
 | 
			
		||||
                        "Id": "load",
 | 
			
		||||
                        "Expression": "cpu^2",
 | 
			
		||||
                        "ReturnData": True,
 | 
			
		||||
                    },
 | 
			
		||||
                ],
 | 
			
		||||
            },
 | 
			
		||||
            "TargetValue": 1000000.0,
 | 
			
		||||
        }
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user