This repository has been archived by the owner on Jun 29, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 3
Add CPU-SMALL and ARM-SMALL label to reserved instances #37
Draft
driazati
wants to merge
1
commit into
tlc-pack:main
Choose a base branch
from
driazati:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
|
Once we fully deploy ARM-SMALL and CPU-SMALL, there will be nothing using the reserved instances for the larger node types. This adds them to the small pool so that they'll be used and not just sit there idle.
Terraform plan in . in the tvm-ci-prod workspace Plan: 6 to add, 3 to change, 0 to destroy. Changes to Outputs.Terraform used the selected providers to generate the following execution
plan. Resource actions are indicated with the following symbols:
+ create
~ update in-place
Terraform will perform the following actions:
# module.Jenkins-Autoscalers["Prod-Autoscaler-Jenkins-ARM"].aws_autoscaling_group.agents will be updated in-place
~ resource "aws_autoscaling_group" "agents" {
id = "Prod-Autoscaler-Jenkins-ARM"
~ max_size = 90 -> 2
name = "Prod-Autoscaler-Jenkins-ARM"
# (21 unchanged attributes hidden)
# (1 unchanged block hidden)
}
# module.Jenkins-Autoscalers["Prod-Autoscaler-Jenkins-ARM-DOCKER"].aws_autoscaling_group.agents will be created
+ resource "aws_autoscaling_group" "agents" {
+ arn = (known after apply)
+ availability_zones = (known after apply)
+ default_cooldown = (known after apply)
+ desired_capacity = (known after apply)
+ force_delete = false
+ force_delete_warm_pool = false
+ health_check_grace_period = 300
+ health_check_type = (known after apply)
+ id = (known after apply)
+ max_size = 45
+ metrics_granularity = "1Minute"
+ min_size = 0
+ name = "Prod-Autoscaler-Jenkins-ARM-DOCKER"
+ name_prefix = (known after apply)
+ protect_from_scale_in = false
+ service_linked_role_arn = (known after apply)
+ vpc_zone_identifier = [
+ "subnet-0548976da0eb119b8",
+ "subnet-0ab37ff3dbeb0e52b",
+ "subnet-0fa03daf38e6b72a8",
]
+ wait_for_capacity_timeout = "10m"
+ mixed_instances_policy {
+ instances_distribution {
+ on_demand_allocation_strategy = (known after apply)
+ on_demand_base_capacity = 0
+ on_demand_percentage_above_base_capacity = 100
+ spot_allocation_strategy = "capacity-optimized"
+ spot_instance_pools = (known after apply)
}
+ launch_template {
+ launch_template_specification {
+ launch_template_id = (known after apply)
+ launch_template_name = (known after apply)
+ version = (known after apply)
}
}
}
}
# module.Jenkins-Autoscalers["Prod-Autoscaler-Jenkins-ARM-DOCKER"].aws_launch_template.autoscaler will be created
+ resource "aws_launch_template" "autoscaler" {
+ arn = (known after apply)
+ default_version = (known after apply)
+ id = (known after apply)
+ image_id = "*********************"
+ instance_type = "m6g.4xlarge"
+ key_name = "tvm_ci_creds"
+ latest_version = (known after apply)
+ name = (known after apply)
+ name_prefix = "Prod-Autoscaler-Jenkins-ARM-DOCKER"
+ tags_all = (known after apply)
+ user_data = "IyEgL3Vzci9iaW4vZW52IGJhc2gKbWtkaXIgLXAgL2hvbWUvamVua2lucy8uc3NoCnRvdWNoIC9ob21lL2plbmtpbnMvLnByb2ZpbGUKZWNobyAiQ0lfTlVNX0VYRUNVVE9SUz0xIiA+PiAvaG9tZS9qZW5raW5zLy5zc2gvZW52aXJvbm1lbnQKY2htb2QgNzAwIC9ob21lL2plbmtpbnMvLnNzaC9lbnZpcm9ubWVudAplY2hvIHNzaC1lZDI1NTE5IEFBQUFDM056YUMxbFpESTFOVEU1QUFBQUlCWnZHbXlzcHo1eWFaMm4wSDJVMlhHOHhVTG0yR1lvVDhGbzNxZWJJMzR2ID4+IC9ob21lL2plbmtpbnMvLnNzaC9hdXRob3JpemVkX2tleXMKY2hvd24gLVIgamVua2luczpqZW5raW5zIC9ob21lL2plbmtpbnMKZWNobyAic3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUJBc0FhWENESkJJU09RaDh2ZHJVWHlPU29RMnBmUXVMNTc5NzRPa3VHYlcKc3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUJGWnRJU1FXMk1TS1ZqNndpYms4bkI0UkJmNFp1b2x1SnRCV21lV1BvZWUKc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFDQVFEOGR6NTUyNm53emZWQ2lRdnFLQ3JIM28xclVxN0hEODRtbE9POS96c1h1WVk3aXdjRi94M2FlRTI0TUluNVhmUFpJeWU2aXllK2lFc04xckpRb2RhbU5DVUE0M0cwVFhTNlhqN1QzZkxBdFU5M2V5Y2VRSWV1RWpoRGZTc0ZXZUtwa1pUUkUwZGVsb0s5aW9aczVvQ0k0TnRqeG53WmRrM2dVUTBjK2YxS0FZdlg1dzl1T1FYeW5Na3VRY3NDQTY3NDBlVFZFcjhvaHA2VHRhZm5WdGhVQUsxYWN3K2xETVhOU1dDNkZwckZlalRPRnR3TCtVUVMyV2pVQXhpamgweDdmVTRWa05PcWdmVG52VTBEVDg2U1laM3RNK1FBdktRU1hQV3VLa1JnVEMzcm1qUUJsdjhFNzliVXdPMU1wNHNML1ZKais4UmNBQzhDOEYwZHVJSENOa1ljWFBCVkR6UDZGRlpYdC9TV3pDODlVMjN1dzVJMW40eDFZV1FPbDhNejIvVWFPU2NaMnZvUnZNYytiazdlTWdkc1BIS0YwYW8zdTBaUmJnRHdnK3JmMVIwOEVkMlBuWkUyQTNWTHpIMXB0U2lJbWk3NEdlbW1qT1o5bldwZVExVXJWRkhETnVSSWVZOVZVc3Z3emd4eHEvSzNtZ0lnczEybGZWeGtHc09SdmJjQUJMTFZLYWlNNHJidEhMUTlTS3F3azVPQ1NTdnIzUlVZU0dyeDVZOW5RdlYwY0IxbmY2QTdRRTZkc0Y1dmgxYUpMd0k4OUV1M0ZpL241M3VaamdqMXVGMC9WK0ZqYVE4dVk4YnhtMXNXclNGVnJKOGF1Z2lmM0tMNXZ0OW1PcHRiSkwvMEF6OUdaenZvTGYrVStiVUpVSlI3WDM1dGVDOG8wdTVJQVE9PQpzc2gtZWQyNTUxOSBBQUFBQzNOemFDMWxaREkxTlRFNUFBQUFJR2FRZUdSTlVSNFAySUVLZDF4K05pcWpmeTFPakVqZ3dUUWRYRmUwblA3Sgpzc2gtcnNhIEFBQUFCM056YUMxeWMyRUFBQUFEQVFBQkFBQUNBUUQ4ZHo1NTI2bnd6ZlZDaVF2cUtDckgzbzFyVXE3SEQ4NG1sT085L3pzWHVZWTdpd2NGL3gzYWVFMjRNSW41WGZQWkl5ZTZpeWUraUVzTjFySlFvZGFtTkNVQTQzRzBUWFM2WGo3VDNmTEF0VTkzZXljZVFJZXVFamhEZlNzRldlS3BrWlRSRTBkZWxvSzlpb1pzNW9DSTROdGp4bndaZGszZ1VRMGMrZjFLQVl2WDV3OXVPUVh5bk1rdVFjc0NBNjc0MGVUVkVyOG9ocDZUdGFmblZ0aFVBSzFhY3crbERNWE5TV0M2RnByRmVqVE9GdHdMK1VRUzJXalVBeGlqaDB4N2ZVNFZrTk9xZ2ZUbnZVMERUODZTWVozdE0rUUF2S1FTWFBXdUtrUmdUQzNybWpRQmx2OEU3OWJVd08xTXA0c0wvVkpqKzhSY0FDOEM4RjBkdUlIQ05rWWNYUEJWRHpQNkZGWlh0L1NXekM4OVUyM3V3NUkxbjR4MVlXUU9sOE16Mi9VYU9TY1oydm9Sdk1jK2JrN2VNZ2RzUEhLRjBhbzN1MFpSYmdEd2crcmYxUjA4RWQyUG5aRTJBM1ZMekgxcHRTaUltaTc0R2VtbWpPWjluV3BlUTFVclZGSEROdVJJZVk5VlVzdnd6Z3h4cS9LM21nSWdzMTJsZlZ4a0dzT1J2YmNBQkxMVkthaU00cmJ0SExROVNLcXdrNU9DU1N2cjNSVVlTR3J4NVk5blF2VjBjQjFuZjZBN1FFNmRzRjV2aDFhSkx3STg5RXUzRmkvbjUzdVpqZ2oxdUYwL1YrRmphUTh1WThieG0xc1dyU0ZWcko4YXVnaWYzS0w1dnQ5bU9wdGJKTC8wQXo5R1p6dm9MZitVK2JVSlVKUjdYMzV0ZUM4bzB1NUlBUT09CnNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRREovNXJzU0hiZXZhengzSkpuQVZRbE9aZFJnNWwxUHVSOUppRmVhMmdvNU5xTWZWNHFyUzFQbndrTlRwL1l6akxxMWRiRnc4NFFyS3JNdkFsR0RIQU9waHIyQ0ErL0ZUTXFyeGxaeU93VkVZZzJSbmEzQUJldENrVCtZdUd1ZXRQMzBVREVHaUxTWGc4djIveXZQN0tqZVE4UUpneDJSd0k0QzVaaHJ6L2JaK25UNU9rZ05PcHVCcEI3bjIwWUZwQmZqczk2cTAyL3JYZ0VJeCtVWHlpamNNVGg4Si8xNno2MHB4dkgwNUVwMEtUc1pTZTIzV0lXN0NBbDZRbkx1Q0tZV0VBZlROZWN1UEJ1UW1LRHBqWXp4SkJUalRvL2dFUjZNYlpqaE00d0h5Zml0TktWdnYzcFNHVXdvZUNIY0tmL0JmQmRGRSs4S05OSDNqMGVJZlVMCnNzaC1lZDI1NTE5IEFBQUFDM056YUMxbFpESTFOVEU1QUFBQUlEbnpyV1JVaW5RTzJWT3YwcUNKRjJRZXdBNHljVWlwV0g1M3cvdk1XTzZWIGRyaWF6YXRpCiIgPj4gL3Jvb3QvLnNzaC9hdXRob3JpemVkX2tleXMKZWNobyAiUGVybWl0VXNlckVudmlyb25tZW50IHllcyIgPj4gL2V0Yy9zc2gvc3NoZF9jb25maWcKc3lzdGVtY3RsIHJlc3RhcnQgc3NoZAo="
+ vpc_security_group_ids = [
+ "sg-03e5a485a8fd23223",
+ "sg-0a7cd8e7e7707c124",
]
+ block_device_mappings {
+ device_name = "/dev/sda1"
+ ebs {
+ iops = (known after apply)
+ throughput = (known after apply)
+ volume_size = 250
+ volume_type = (known after apply)
}
}
+ iam_instance_profile {
+ name = "autoscalers_instance_profile"
}
+ metadata_options {
+ http_endpoint = (known after apply)
+ http_protocol_ipv6 = (known after apply)
+ http_put_response_hop_limit = (known after apply)
+ http_tokens = (known after apply)
+ instance_metadata_tags = (known after apply)
}
}
# module.Jenkins-Autoscalers["Prod-Autoscaler-Jenkins-CPU"].aws_autoscaling_group.agents will be updated in-place
~ resource "aws_autoscaling_group" "agents" {
id = "Prod-Autoscaler-Jenkins-CPU"
~ max_size = 90 -> 6
name = "Prod-Autoscaler-Jenkins-CPU"
# (21 unchanged attributes hidden)
# (1 unchanged block hidden)
}
# module.Jenkins-Autoscalers["Prod-Autoscaler-Jenkins-CPU-DOCKER"].aws_autoscaling_group.agents will be created
+ resource "aws_autoscaling_group" "agents" {
+ arn = (known after apply)
+ availability_zones = (known after apply)
+ default_cooldown = (known after apply)
+ desired_capacity = (known after apply)
+ force_delete = false
+ force_delete_warm_pool = false
+ health_check_grace_period = 300
+ health_check_type = (known after apply)
+ id = (known after apply)
+ max_size = 45
+ metrics_granularity = "1Minute"
+ min_size = 0
+ name = "Prod-Autoscaler-Jenkins-CPU-DOCKER"
+ name_prefix = (known after apply)
+ protect_from_scale_in = false
+ service_linked_role_arn = (known after apply)
+ vpc_zone_identifier = [
+ "subnet-0548976da0eb119b8",
+ "subnet-0ab37ff3dbeb0e52b",
+ "subnet-0fa03daf38e6b72a8",
]
+ wait_for_capacity_timeout = "10m"
+ mixed_instances_policy {
+ instances_distribution {
+ on_demand_allocation_strategy = (known after apply)
+ on_demand_base_capacity = 0
+ on_demand_percentage_above_base_capacity = 100
+ spot_allocation_strategy = "capacity-optimized"
+ spot_instance_pools = (known after apply)
}
+ launch_template {
+ launch_template_specification {
+ launch_template_id = (known after apply)
+ launch_template_name = (known after apply)
+ version = (known after apply)
}
}
}
}
# module.Jenkins-Autoscalers["Prod-Autoscaler-Jenkins-CPU-DOCKER"].aws_launch_template.autoscaler will be created
+ resource "aws_launch_template" "autoscaler" {
+ arn = (known after apply)
+ default_version = (known after apply)
+ id = (known after apply)
+ image_id = "*********************"
+ instance_type = "c4.4xlarge"
+ key_name = "tvm_ci_creds"
+ latest_version = (known after apply)
+ name = (known after apply)
+ name_prefix = "Prod-Autoscaler-Jenkins-CPU-DOCKER"
+ tags_all = (known after apply)
+ user_data = "IyEgL3Vzci9iaW4vZW52IGJhc2gKbWtkaXIgLXAgL2hvbWUvamVua2lucy8uc3NoCnRvdWNoIC9ob21lL2plbmtpbnMvLnByb2ZpbGUKZWNobyAiQ0lfTlVNX0VYRUNVVE9SUz0xIiA+PiAvaG9tZS9qZW5raW5zLy5zc2gvZW52aXJvbm1lbnQKY2htb2QgNzAwIC9ob21lL2plbmtpbnMvLnNzaC9lbnZpcm9ubWVudAplY2hvIHNzaC1lZDI1NTE5IEFBQUFDM056YUMxbFpESTFOVEU1QUFBQUlCWnZHbXlzcHo1eWFaMm4wSDJVMlhHOHhVTG0yR1lvVDhGbzNxZWJJMzR2ID4+IC9ob21lL2plbmtpbnMvLnNzaC9hdXRob3JpemVkX2tleXMKY2hvd24gLVIgamVua2luczpqZW5raW5zIC9ob21lL2plbmtpbnMKZWNobyAic3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUJBc0FhWENESkJJU09RaDh2ZHJVWHlPU29RMnBmUXVMNTc5NzRPa3VHYlcKc3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUJGWnRJU1FXMk1TS1ZqNndpYms4bkI0UkJmNFp1b2x1SnRCV21lV1BvZWUKc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFDQVFEOGR6NTUyNm53emZWQ2lRdnFLQ3JIM28xclVxN0hEODRtbE9POS96c1h1WVk3aXdjRi94M2FlRTI0TUluNVhmUFpJeWU2aXllK2lFc04xckpRb2RhbU5DVUE0M0cwVFhTNlhqN1QzZkxBdFU5M2V5Y2VRSWV1RWpoRGZTc0ZXZUtwa1pUUkUwZGVsb0s5aW9aczVvQ0k0TnRqeG53WmRrM2dVUTBjK2YxS0FZdlg1dzl1T1FYeW5Na3VRY3NDQTY3NDBlVFZFcjhvaHA2VHRhZm5WdGhVQUsxYWN3K2xETVhOU1dDNkZwckZlalRPRnR3TCtVUVMyV2pVQXhpamgweDdmVTRWa05PcWdmVG52VTBEVDg2U1laM3RNK1FBdktRU1hQV3VLa1JnVEMzcm1qUUJsdjhFNzliVXdPMU1wNHNML1ZKais4UmNBQzhDOEYwZHVJSENOa1ljWFBCVkR6UDZGRlpYdC9TV3pDODlVMjN1dzVJMW40eDFZV1FPbDhNejIvVWFPU2NaMnZvUnZNYytiazdlTWdkc1BIS0YwYW8zdTBaUmJnRHdnK3JmMVIwOEVkMlBuWkUyQTNWTHpIMXB0U2lJbWk3NEdlbW1qT1o5bldwZVExVXJWRkhETnVSSWVZOVZVc3Z3emd4eHEvSzNtZ0lnczEybGZWeGtHc09SdmJjQUJMTFZLYWlNNHJidEhMUTlTS3F3azVPQ1NTdnIzUlVZU0dyeDVZOW5RdlYwY0IxbmY2QTdRRTZkc0Y1dmgxYUpMd0k4OUV1M0ZpL241M3VaamdqMXVGMC9WK0ZqYVE4dVk4YnhtMXNXclNGVnJKOGF1Z2lmM0tMNXZ0OW1PcHRiSkwvMEF6OUdaenZvTGYrVStiVUpVSlI3WDM1dGVDOG8wdTVJQVE9PQpzc2gtZWQyNTUxOSBBQUFBQzNOemFDMWxaREkxTlRFNUFBQUFJR2FRZUdSTlVSNFAySUVLZDF4K05pcWpmeTFPakVqZ3dUUWRYRmUwblA3Sgpzc2gtcnNhIEFBQUFCM056YUMxeWMyRUFBQUFEQVFBQkFBQUNBUUQ4ZHo1NTI2bnd6ZlZDaVF2cUtDckgzbzFyVXE3SEQ4NG1sT085L3pzWHVZWTdpd2NGL3gzYWVFMjRNSW41WGZQWkl5ZTZpeWUraUVzTjFySlFvZGFtTkNVQTQzRzBUWFM2WGo3VDNmTEF0VTkzZXljZVFJZXVFamhEZlNzRldlS3BrWlRSRTBkZWxvSzlpb1pzNW9DSTROdGp4bndaZGszZ1VRMGMrZjFLQVl2WDV3OXVPUVh5bk1rdVFjc0NBNjc0MGVUVkVyOG9ocDZUdGFmblZ0aFVBSzFhY3crbERNWE5TV0M2RnByRmVqVE9GdHdMK1VRUzJXalVBeGlqaDB4N2ZVNFZrTk9xZ2ZUbnZVMERUODZTWVozdE0rUUF2S1FTWFBXdUtrUmdUQzNybWpRQmx2OEU3OWJVd08xTXA0c0wvVkpqKzhSY0FDOEM4RjBkdUlIQ05rWWNYUEJWRHpQNkZGWlh0L1NXekM4OVUyM3V3NUkxbjR4MVlXUU9sOE16Mi9VYU9TY1oydm9Sdk1jK2JrN2VNZ2RzUEhLRjBhbzN1MFpSYmdEd2crcmYxUjA4RWQyUG5aRTJBM1ZMekgxcHRTaUltaTc0R2VtbWpPWjluV3BlUTFVclZGSEROdVJJZVk5VlVzdnd6Z3h4cS9LM21nSWdzMTJsZlZ4a0dzT1J2YmNBQkxMVkthaU00cmJ0SExROVNLcXdrNU9DU1N2cjNSVVlTR3J4NVk5blF2VjBjQjFuZjZBN1FFNmRzRjV2aDFhSkx3STg5RXUzRmkvbjUzdVpqZ2oxdUYwL1YrRmphUTh1WThieG0xc1dyU0ZWcko4YXVnaWYzS0w1dnQ5bU9wdGJKTC8wQXo5R1p6dm9MZitVK2JVSlVKUjdYMzV0ZUM4bzB1NUlBUT09CnNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRREovNXJzU0hiZXZhengzSkpuQVZRbE9aZFJnNWwxUHVSOUppRmVhMmdvNU5xTWZWNHFyUzFQbndrTlRwL1l6akxxMWRiRnc4NFFyS3JNdkFsR0RIQU9waHIyQ0ErL0ZUTXFyeGxaeU93VkVZZzJSbmEzQUJldENrVCtZdUd1ZXRQMzBVREVHaUxTWGc4djIveXZQN0tqZVE4UUpneDJSd0k0QzVaaHJ6L2JaK25UNU9rZ05PcHVCcEI3bjIwWUZwQmZqczk2cTAyL3JYZ0VJeCtVWHlpamNNVGg4Si8xNno2MHB4dkgwNUVwMEtUc1pTZTIzV0lXN0NBbDZRbkx1Q0tZV0VBZlROZWN1UEJ1UW1LRHBqWXp4SkJUalRvL2dFUjZNYlpqaE00d0h5Zml0TktWdnYzcFNHVXdvZUNIY0tmL0JmQmRGRSs4S05OSDNqMGVJZlVMCnNzaC1lZDI1NTE5IEFBQUFDM056YUMxbFpESTFOVEU1QUFBQUlEbnpyV1JVaW5RTzJWT3YwcUNKRjJRZXdBNHljVWlwV0g1M3cvdk1XTzZWIGRyaWF6YXRpCiIgPj4gL3Jvb3QvLnNzaC9hdXRob3JpemVkX2tleXMKZWNobyAiUGVybWl0VXNlckVudmlyb25tZW50IHllcyIgPj4gL2V0Yy9zc2gvc3NoZF9jb25maWcKc3lzdGVtY3RsIHJlc3RhcnQgc3NoZAo="
+ vpc_security_group_ids = [
+ "sg-03e5a485a8fd23223",
+ "sg-0a7cd8e7e7707c124",
]
+ block_device_mappings {
+ device_name = "/dev/sda1"
+ ebs {
+ iops = (known after apply)
+ throughput = (known after apply)
+ volume_size = 250
+ volume_type = (known after apply)
}
}
+ iam_instance_profile {
+ name = "autoscalers_instance_profile"
}
+ metadata_options {
+ http_endpoint = (known after apply)
+ http_protocol_ipv6 = (known after apply)
+ http_put_response_hop_limit = (known after apply)
+ http_tokens = (known after apply)
+ instance_metadata_tags = (known after apply)
}
}
# module.Jenkins-Autoscalers["Prod-Autoscaler-Jenkins-CPU-Small"].aws_autoscaling_group.agents will be updated in-place
~ resource "aws_autoscaling_group" "agents" {
id = "Prod-Autoscaler-Jenkins-CPU-Small"
~ max_size = 200 -> 100
name = "Prod-Autoscaler-Jenkins-CPU-Small"
# (21 unchanged attributes hidden)
- launch_template {
- id = "lt-02518d53b22a85dd8" -> null
- name = "Prod-Autoscaler-Jenkins-CPU-Small20220425184607394500000002" -> null
- version = "4" -> null
}
+ mixed_instances_policy {
+ instances_distribution {
+ on_demand_base_capacity = 0
+ on_demand_percentage_above_base_capacity = 100
+ spot_allocation_strategy = "capacity-optimized"
}
+ launch_template {
+ launch_template_specification {
+ launch_template_id = "********************"
+ version = "4"
}
}
}
}
# module.Jenkins-Autoscalers["Prod-Autoscaler-Jenkins-GPU-DOCKER"].aws_autoscaling_group.agents will be created
+ resource "aws_autoscaling_group" "agents" {
+ arn = (known after apply)
+ availability_zones = (known after apply)
+ default_cooldown = (known after apply)
+ desired_capacity = (known after apply)
+ force_delete = false
+ force_delete_warm_pool = false
+ health_check_grace_period = 300
+ health_check_type = (known after apply)
+ id = (known after apply)
+ max_size = 45
+ metrics_granularity = "1Minute"
+ min_size = 0
+ name = "Prod-Autoscaler-Jenkins-GPU-DOCKER"
+ name_prefix = (known after apply)
+ protect_from_scale_in = false
+ service_linked_role_arn = (known after apply)
+ vpc_zone_identifier = [
+ "subnet-0548976da0eb119b8",
+ "subnet-0ab37ff3dbeb0e52b",
+ "subnet-0fa03daf38e6b72a8",
]
+ wait_for_capacity_timeout = "10m"
+ mixed_instances_policy {
+ instances_distribution {
+ on_demand_allocation_strategy = (known after apply)
+ on_demand_base_capacity = 0
+ on_demand_percentage_above_base_capacity = 100
+ spot_allocation_strategy = "capacity-optimized"
+ spot_instance_pools = (known after apply)
}
+ launch_template {
+ launch_template_specification {
+ launch_template_id = (known after apply)
+ launch_template_name = (known after apply)
+ version = (known after apply)
}
}
}
}
# module.Jenkins-Autoscalers["Prod-Autoscaler-Jenkins-GPU-DOCKER"].aws_launch_template.autoscaler will be created
+ resource "aws_launch_template" "autoscaler" {
+ arn = (known after apply)
+ default_version = (known after apply)
+ id = (known after apply)
+ image_id = "*********************"
+ instance_type = "g4dn.xlarge"
+ key_name = "tvm_ci_creds"
+ latest_version = (known after apply)
+ name = (known after apply)
+ name_prefix = "Prod-Autoscaler-Jenkins-GPU-DOCKER"
+ tags_all = (known after apply)
+ user_data = "IyEgL3Vzci9iaW4vZW52IGJhc2gKbWtkaXIgLXAgL2hvbWUvamVua2lucy8uc3NoCnRvdWNoIC9ob21lL2plbmtpbnMvLnByb2ZpbGUKZWNobyAiQ0lfTlVNX0VYRUNVVE9SUz0xIiA+PiAvaG9tZS9qZW5raW5zLy5zc2gvZW52aXJvbm1lbnQKY2htb2QgNzAwIC9ob21lL2plbmtpbnMvLnNzaC9lbnZpcm9ubWVudAplY2hvIHNzaC1lZDI1NTE5IEFBQUFDM056YUMxbFpESTFOVEU1QUFBQUlCWnZHbXlzcHo1eWFaMm4wSDJVMlhHOHhVTG0yR1lvVDhGbzNxZWJJMzR2ID4+IC9ob21lL2plbmtpbnMvLnNzaC9hdXRob3JpemVkX2tleXMKY2hvd24gLVIgamVua2luczpqZW5raW5zIC9ob21lL2plbmtpbnMKZWNobyAic3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUJBc0FhWENESkJJU09RaDh2ZHJVWHlPU29RMnBmUXVMNTc5NzRPa3VHYlcKc3NoLWVkMjU1MTkgQUFBQUMzTnphQzFsWkRJMU5URTVBQUFBSUJGWnRJU1FXMk1TS1ZqNndpYms4bkI0UkJmNFp1b2x1SnRCV21lV1BvZWUKc3NoLXJzYSBBQUFBQjNOemFDMXljMkVBQUFBREFRQUJBQUFDQVFEOGR6NTUyNm53emZWQ2lRdnFLQ3JIM28xclVxN0hEODRtbE9POS96c1h1WVk3aXdjRi94M2FlRTI0TUluNVhmUFpJeWU2aXllK2lFc04xckpRb2RhbU5DVUE0M0cwVFhTNlhqN1QzZkxBdFU5M2V5Y2VRSWV1RWpoRGZTc0ZXZUtwa1pUUkUwZGVsb0s5aW9aczVvQ0k0TnRqeG53WmRrM2dVUTBjK2YxS0FZdlg1dzl1T1FYeW5Na3VRY3NDQTY3NDBlVFZFcjhvaHA2VHRhZm5WdGhVQUsxYWN3K2xETVhOU1dDNkZwckZlalRPRnR3TCtVUVMyV2pVQXhpamgweDdmVTRWa05PcWdmVG52VTBEVDg2U1laM3RNK1FBdktRU1hQV3VLa1JnVEMzcm1qUUJsdjhFNzliVXdPMU1wNHNML1ZKais4UmNBQzhDOEYwZHVJSENOa1ljWFBCVkR6UDZGRlpYdC9TV3pDODlVMjN1dzVJMW40eDFZV1FPbDhNejIvVWFPU2NaMnZvUnZNYytiazdlTWdkc1BIS0YwYW8zdTBaUmJnRHdnK3JmMVIwOEVkMlBuWkUyQTNWTHpIMXB0U2lJbWk3NEdlbW1qT1o5bldwZVExVXJWRkhETnVSSWVZOVZVc3Z3emd4eHEvSzNtZ0lnczEybGZWeGtHc09SdmJjQUJMTFZLYWlNNHJidEhMUTlTS3F3azVPQ1NTdnIzUlVZU0dyeDVZOW5RdlYwY0IxbmY2QTdRRTZkc0Y1dmgxYUpMd0k4OUV1M0ZpL241M3VaamdqMXVGMC9WK0ZqYVE4dVk4YnhtMXNXclNGVnJKOGF1Z2lmM0tMNXZ0OW1PcHRiSkwvMEF6OUdaenZvTGYrVStiVUpVSlI3WDM1dGVDOG8wdTVJQVE9PQpzc2gtZWQyNTUxOSBBQUFBQzNOemFDMWxaREkxTlRFNUFBQUFJR2FRZUdSTlVSNFAySUVLZDF4K05pcWpmeTFPakVqZ3dUUWRYRmUwblA3Sgpzc2gtcnNhIEFBQUFCM056YUMxeWMyRUFBQUFEQVFBQkFBQUNBUUQ4ZHo1NTI2bnd6ZlZDaVF2cUtDckgzbzFyVXE3SEQ4NG1sT085L3pzWHVZWTdpd2NGL3gzYWVFMjRNSW41WGZQWkl5ZTZpeWUraUVzTjFySlFvZGFtTkNVQTQzRzBUWFM2WGo3VDNmTEF0VTkzZXljZVFJZXVFamhEZlNzRldlS3BrWlRSRTBkZWxvSzlpb1pzNW9DSTROdGp4bndaZGszZ1VRMGMrZjFLQVl2WDV3OXVPUVh5bk1rdVFjc0NBNjc0MGVUVkVyOG9ocDZUdGFmblZ0aFVBSzFhY3crbERNWE5TV0M2RnByRmVqVE9GdHdMK1VRUzJXalVBeGlqaDB4N2ZVNFZrTk9xZ2ZUbnZVMERUODZTWVozdE0rUUF2S1FTWFBXdUtrUmdUQzNybWpRQmx2OEU3OWJVd08xTXA0c0wvVkpqKzhSY0FDOEM4RjBkdUlIQ05rWWNYUEJWRHpQNkZGWlh0L1NXekM4OVUyM3V3NUkxbjR4MVlXUU9sOE16Mi9VYU9TY1oydm9Sdk1jK2JrN2VNZ2RzUEhLRjBhbzN1MFpSYmdEd2crcmYxUjA4RWQyUG5aRTJBM1ZMekgxcHRTaUltaTc0R2VtbWpPWjluV3BlUTFVclZGSEROdVJJZVk5VlVzdnd6Z3h4cS9LM21nSWdzMTJsZlZ4a0dzT1J2YmNBQkxMVkthaU00cmJ0SExROVNLcXdrNU9DU1N2cjNSVVlTR3J4NVk5blF2VjBjQjFuZjZBN1FFNmRzRjV2aDFhSkx3STg5RXUzRmkvbjUzdVpqZ2oxdUYwL1YrRmphUTh1WThieG0xc1dyU0ZWcko4YXVnaWYzS0w1dnQ5bU9wdGJKTC8wQXo5R1p6dm9MZitVK2JVSlVKUjdYMzV0ZUM4bzB1NUlBUT09CnNzaC1yc2EgQUFBQUIzTnphQzF5YzJFQUFBQURBUUFCQUFBQkFRREovNXJzU0hiZXZhengzSkpuQVZRbE9aZFJnNWwxUHVSOUppRmVhMmdvNU5xTWZWNHFyUzFQbndrTlRwL1l6akxxMWRiRnc4NFFyS3JNdkFsR0RIQU9waHIyQ0ErL0ZUTXFyeGxaeU93VkVZZzJSbmEzQUJldENrVCtZdUd1ZXRQMzBVREVHaUxTWGc4djIveXZQN0tqZVE4UUpneDJSd0k0QzVaaHJ6L2JaK25UNU9rZ05PcHVCcEI3bjIwWUZwQmZqczk2cTAyL3JYZ0VJeCtVWHlpamNNVGg4Si8xNno2MHB4dkgwNUVwMEtUc1pTZTIzV0lXN0NBbDZRbkx1Q0tZV0VBZlROZWN1UEJ1UW1LRHBqWXp4SkJUalRvL2dFUjZNYlpqaE00d0h5Zml0TktWdnYzcFNHVXdvZUNIY0tmL0JmQmRGRSs4S05OSDNqMGVJZlVMCnNzaC1lZDI1NTE5IEFBQUFDM056YUMxbFpESTFOVEU1QUFBQUlEbnpyV1JVaW5RTzJWT3YwcUNKRjJRZXdBNHljVWlwV0g1M3cvdk1XTzZWIGRyaWF6YXRpCiIgPj4gL3Jvb3QvLnNzaC9hdXRob3JpemVkX2tleXMKZWNobyAiUGVybWl0VXNlckVudmlyb25tZW50IHllcyIgPj4gL2V0Yy9zc2gvc3NoZF9jb25maWcKc3lzdGVtY3RsIHJlc3RhcnQgc3NoZAo="
+ vpc_security_group_ids = [
+ "sg-03e5a485a8fd23223",
+ "sg-0a7cd8e7e7707c124",
]
+ block_device_mappings {
+ device_name = "/dev/sda1"
+ ebs {
+ iops = (known after apply)
+ throughput = (known after apply)
+ volume_size = 250
+ volume_type = (known after apply)
}
}
+ iam_instance_profile {
+ name = "autoscalers_instance_profile"
}
+ metadata_options {
+ http_endpoint = (known after apply)
+ http_protocol_ipv6 = (known after apply)
+ http_put_response_hop_limit = (known after apply)
+ http_tokens = (known after apply)
+ instance_metadata_tags = (known after apply)
}
}
Plan: 6 to add, 3 to change, 0 to destroy.
Changes to Outputs:
~ fleet_config = <<-EOT
jenkins:
clouds:
- ec2Fleet:
addNodeOnlyIfRunning: false
alwaysReconnect: false
cloudStatusIntervalSec: 10
computerConnector:
sSHConnector:
credentialsId: "jenkins"
launchTimeoutSeconds: 60
maxNumRetries: 10
port: 22
retryWaitTime: 15
sshHostKeyVerificationStrategy: "nonVerifyingKeyVerificationStrategy"
disableTaskResubmit: false
fleet: Prod-Autoscaler-Jenkins-ARM
idleMinutes: 5
initOnlineCheckIntervalSec: 15
initOnlineTimeoutSec: 180
- labelString: "ARM"
- maxSize: 90
+ labelString: "ARM ARM-SMALL ARM-DOCKER"
+ maxSize: 2
maxTotalUses: -1
minSize: 2
name: "Prod-Autoscaler-Jenkins-ARM"
noDelayProvision: true
numExecutors: 1
oldId: "803939ae-c6f8-4c7a-8386-0d1a9af631ad"
privateIpUsed: true
region: "us-west-2"
restrictUsage: false
scaleExecutorsByWeight: false
- ec2Fleet:
addNodeOnlyIfRunning: false
alwaysReconnect: false
cloudStatusIntervalSec: 10
computerConnector:
sSHConnector:
credentialsId: "jenkins"
launchTimeoutSeconds: 60
maxNumRetries: 10
port: 22
retryWaitTime: 15
sshHostKeyVerificationStrategy: "nonVerifyingKeyVerificationStrategy"
disableTaskResubmit: false
+ fleet: Prod-Autoscaler-Jenkins-ARM-DOCKER
+ idleMinutes: 5
+ initOnlineCheckIntervalSec: 15
+ initOnlineTimeoutSec: 180
+ labelString: "ARM-DOCKER"
+ maxSize: 45
+ maxTotalUses: -1
+ minSize: 0
+ name: "Prod-Autoscaler-Jenkins-ARM-DOCKER"
+ noDelayProvision: true
+ numExecutors: 1
+ oldId: "803939ae-c6f8-4c7a-8386-0d1a9af631ad"
+ privateIpUsed: true
+ region: "us-west-2"
+ restrictUsage: false
+ scaleExecutorsByWeight: false
+
+ - ec2Fleet:
+ addNodeOnlyIfRunning: false
+ alwaysReconnect: false
+ cloudStatusIntervalSec: 10
+ computerConnector:
+ sSHConnector:
+ credentialsId: "jenkins"
+ launchTimeoutSeconds: 60
+ maxNumRetries: 10
+ port: 22
+ retryWaitTime: 15
+ sshHostKeyVerificationStrategy: "nonVerifyingKeyVerificationStrategy"
+ disableTaskResubmit: false
fleet: Prod-Autoscaler-Jenkins-ARM-Small
idleMinutes: 5
initOnlineCheckIntervalSec: 15
initOnlineTimeoutSec: 180
labelString: "ARM-SMALL"
maxSize: 90
maxTotalUses: -1
minSize: 0
name: "Prod-Autoscaler-Jenkins-ARM-Small"
noDelayProvision: true
numExecutors: 1
oldId: "803939ae-c6f8-4c7a-8386-0d1a9af631ad"
privateIpUsed: true
region: "us-west-2"
restrictUsage: false
scaleExecutorsByWeight: false
- ec2Fleet:
addNodeOnlyIfRunning: false
alwaysReconnect: false
cloudStatusIntervalSec: 10
computerConnector:
sSHConnector:
credentialsId: "jenkins"
launchTimeoutSeconds: 60
maxNumRetries: 10
port: 22
retryWaitTime: 15
sshHostKeyVerificationStrategy: "nonVerifyingKeyVerificationStrategy"
disableTaskResubmit: false
fleet: Prod-Autoscaler-Jenkins-CPU
idleMinutes: 5
initOnlineCheckIntervalSec: 15
initOnlineTimeoutSec: 180
- labelString: "CPU"
- maxSize: 90
+ labelString: "CPU CPU-SMALL CPU-DOCKER"
+ maxSize: 6
maxTotalUses: -1
minSize: 6
name: "Prod-Autoscaler-Jenkins-CPU"
noDelayProvision: true
numExecutors: 1
oldId: "803939ae-c6f8-4c7a-8386-0d1a9af631ad"
privateIpUsed: true
region: "us-west-2"
restrictUsage: false
scaleExecutorsByWeight: false
- ec2Fleet:
addNodeOnlyIfRunning: false
alwaysReconnect: false
cloudStatusIntervalSec: 10
computerConnector:
sSHConnector:
credentialsId: "jenkins"
launchTimeoutSeconds: 60
maxNumRetries: 10
port: 22
retryWaitTime: 15
sshHostKeyVerificationStrategy: "nonVerifyingKeyVerificationStrategy"
disableTaskResubmit: false
+ fleet: Prod-Autoscaler-Jenkins-CPU-DOCKER
+ idleMinutes: 5
+ initOnlineCheckIntervalSec: 15
+ initOnlineTimeoutSec: 180
+ labelString: "CPU-DOCKER"
+ maxSize: 45
+ maxTotalUses: -1
+ minSize: 0
+ name: "Prod-Autoscaler-Jenkins-CPU-DOCKER"
+ noDelayProvision: true
+ numExecutors: 1
+ oldId: "803939ae-c6f8-4c7a-8386-0d1a9af631ad"
+ privateIpUsed: true
+ region: "us-west-2"
+ restrictUsage: false
+ scaleExecutorsByWeight: false
+
+ - ec2Fleet:
+ addNodeOnlyIfRunning: false
+ alwaysReconnect: false
+ cloudStatusIntervalSec: 10
+ computerConnector:
+ sSHConnector:
+ credentialsId: "jenkins"
+ launchTimeoutSeconds: 60
+ maxNumRetries: 10
+ port: 22
+ retryWaitTime: 15
+ sshHostKeyVerificationStrategy: "nonVerifyingKeyVerificationStrategy"
+ disableTaskResubmit: false
fleet: Prod-Autoscaler-Jenkins-CPU-Small
idleMinutes: 5
initOnlineCheckIntervalSec: 15
initOnlineTimeoutSec: 180
labelString: "CPU-SMALL"
maxSize: 100
maxTotalUses: -1
minSize: 0
name: "Prod-Autoscaler-Jenkins-CPU-Small"
noDelayProvision: true
numExecutors: 1
oldId: "803939ae-c6f8-4c7a-8386-0d1a9af631ad"
privateIpUsed: true
region: "us-west-2"
restrictUsage: false
scaleExecutorsByWeight: false
- ec2Fleet:
addNodeOnlyIfRunning: false
alwaysReconnect: false
cloudStatusIntervalSec: 10
computerConnector:
sSHConnector:
credentialsId: "jenkins"
launchTimeoutSeconds: 60
maxNumRetries: 10
port: 22
retryWaitTime: 15
sshHostKeyVerificationStrategy: "nonVerifyingKeyVerificationStrategy"
disableTaskResubmit: false
fleet: Prod-Autoscaler-Jenkins-GPU
idleMinutes: 5
initOnlineCheckIntervalSec: 15
initOnlineTimeoutSec: 180
labelString: "GPU"
maxSize: 90
maxTotalUses: -1
minSize: 8
name: "Prod-Autoscaler-Jenkins-GPU"
noDelayProvision: true
numExecutors: 1
oldId: "803939ae-c6f8-4c7a-8386-0d1a9af631ad"
privateIpUsed: true
region: "us-west-2"
restrictUsage: false
scaleExecutorsByWeight: false
- ec2Fleet:
addNodeOnlyIfRunning: false
alwaysReconnect: false
cloudStatusIntervalSec: 10
computerConnector:
sSHConnector:
credentialsId: "jenkins"
launchTimeoutSeconds: 60
maxNumRetries: 10
port: 22
retryWaitTime: 15
sshHostKeyVerificationStrategy: "nonVerifyingKeyVerificationStrategy"
disableTaskResubmit: false
fleet: Prod-Autoscaler-Jenkins-GPU-4x
idleMinutes: 5
initOnlineCheckIntervalSec: 15
initOnlineTimeoutSec: 180
- labelString: "GPU"
+ labelString: "GPU GPU-DOCKER"
maxSize: 2
maxTotalUses: -1
minSize: 2
name: "Prod-Autoscaler-Jenkins-GPU-4x"
noDelayProvision: true
numExecutors: 1
oldId: "803939ae-c6f8-4c7a-8386-0d1a9af631ad"
privateIpUsed: true
region: "us-west-2"
restrictUsage: false
scaleExecutorsByWeight: false
+ - ec2Fleet:
+ addNodeOnlyIfRunning: false
+ alwaysReconnect: false
+ cloudStatusIntervalSec: 10
+ computerConnector:
+ sSHConnector:
+ credentialsId: "jenkins"
+ launchTimeoutSeconds: 60
+ maxNumRetries: 10
+ port: 22
+ retryWaitTime: 15
+ sshHostKeyVerificationStrategy: "nonVerifyingKeyVerificationStrategy"
+ disableTaskResubmit: false
+ fleet: Prod-Autoscaler-Jenkins-GPU-DOCKER
+ idleMinutes: 5
+ initOnlineCheckIntervalSec: 15
+ initOnlineTimeoutSec: 180
+ labelString: "GPU-DOCKER"
+ maxSize: 45
+ maxTotalUses: -1
+ minSize: 0
+ name: "Prod-Autoscaler-Jenkins-GPU-DOCKER"
+ noDelayProvision: true
+ numExecutors: 1
+ oldId: "803939ae-c6f8-4c7a-8386-0d1a9af631ad"
+ privateIpUsed: true
+ region: "us-west-2"
+ restrictUsage: false
+ scaleExecutorsByWeight: false
+
EOT 📝 Plan generated in terraform #131 |
konturn
approved these changes
May 25, 2022
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Once we fully deploy ARM-SMALL and CPU-SMALL, there will be nothing
using the reserved instances for the larger node types. This adds them
to the small pool so that they'll be used and not just sit there idle.