Update ubuntu docker file and add autoscaling templates

  Related-PROD: PROD-36128

Change-Id: Ic983e236e4342d50a5df7075a5a47eaeb866ac16
diff --git a/autoscale/environment.yaml b/autoscale/environment.yaml
new file mode 100644
index 0000000..19907c4
--- /dev/null
+++ b/autoscale/environment.yaml
@@ -0,0 +1,2 @@
+resource_registry:  
+    "OS::Nova::Server::Ubuntu": "server.yaml"
diff --git a/autoscale/server.yaml b/autoscale/server.yaml
new file mode 100644
index 0000000..1c5aa96
--- /dev/null
+++ b/autoscale/server.yaml
@@ -0,0 +1,29 @@
+heat_template_version: 2014-10-16  
+description: A simple Ubuntu server booted from volume.  
+
+parameters:
+  metadata:
+    type: json
+
+resources:  
+  server:
+    type: OS::Nova::Server
+    properties:
+      block_device_mapping:
+        - device_name: vda
+          delete_on_termination: true
+          volume_id: { get_resource: volume }
+      flavor: cvp.medium
+      networks:
+        - network: cvp.net.1
+      metadata: {get_param: metadata}
+      user_data_format: RAW
+      user_data: |
+        #!/bin/sh
+        while [ 1 ] ; do echo $((13**99)) 1>/dev/null 2>&1; done
+
+  volume:
+    type: OS::Cinder::Volume
+    properties:
+      image: 'cvp.ubuntu.1604'
+      size: 20
diff --git a/autoscale/simple.yaml b/autoscale/simple.yaml
new file mode 100644
index 0000000..fe95eed
--- /dev/null
+++ b/autoscale/simple.yaml
@@ -0,0 +1,48 @@
+heat_template_version: 2016-10-14
+description: A simple auto scaling group.  
+
+resources:  
+  group:
+    type: OS::Heat::AutoScalingGroup
+    properties:
+      cooldown: 60
+      desired_capacity: 2
+      max_size: 5
+      min_size: 1
+      resource:
+        type: OS::Nova::Server::Ubuntu
+        properties:
+          metadata: {"metering.server_group": {get_param: "OS::stack_id"}}
+
+  scaleup_policy:
+    type: OS::Heat::ScalingPolicy
+    properties:
+      adjustment_type: change_in_capacity
+      auto_scaling_group_id: { get_resource: group }
+      cooldown: 60
+      scaling_adjustment: 1
+
+  cpu_alarm_high:
+    type: OS::Aodh::GnocchiAggregationByResourcesAlarm
+    properties:
+      description: Scale up if CPU time spent >10000 ns
+      metric: cpu
+      aggregation_method: mean
+      granularity: 60
+      evaluation_periods: 1
+      threshold: 10000
+      resource_type: instance
+      comparison_operator: gt
+      alarm_actions:
+        - str_replace:
+            template: trust+url
+            params:
+              url: {get_attr: [scaleup_policy, signal_url]}
+      query:
+        list_join:
+          - ''
+          - - {'=': {server_group: {get_param: "OS::stack_id"}}}
+
+outputs:
+  scaleup_policy_signal_url:
+    value: {get_attr: {scaleup_policy, signal_url}}