Search in sources :

Example 6 with EC2AutoScaler

use of org.apache.druid.indexing.overlord.autoscaling.ec2.EC2AutoScaler in project druid by druid-io.

the class WorkerBehaviorConfigTest method testSerde.

@Test
public void testSerde() throws Exception {
    DefaultWorkerBehaviorConfig config = new DefaultWorkerBehaviorConfig(new FillCapacityWithAffinityWorkerSelectStrategy(new AffinityConfig(ImmutableMap.of("foo", ImmutableSet.of("localhost")), false)), new EC2AutoScaler(7, 11, new EC2EnvironmentConfig("us-east-1a", new EC2NodeData("amiid", "instanceType", 3, 5, Collections.singletonList("securityGroupIds"), "keyNames", "subnetId", null, null), new StringEC2UserData("availZone", "replace", "version")), null, null));
    final ObjectMapper mapper = new DefaultObjectMapper();
    mapper.registerSubtypes(EC2AutoScaler.class);
    mapper.setInjectableValues(new InjectableValues() {

        @Override
        public Object findInjectableValue(Object valueId, DeserializationContext ctxt, BeanProperty forProperty, Object beanInstance) {
            return null;
        }
    });
    Assert.assertEquals(config, mapper.readValue(mapper.writeValueAsBytes(config), DefaultWorkerBehaviorConfig.class));
}
Also used : EC2EnvironmentConfig(org.apache.druid.indexing.overlord.autoscaling.ec2.EC2EnvironmentConfig) InjectableValues(com.fasterxml.jackson.databind.InjectableValues) EC2AutoScaler(org.apache.druid.indexing.overlord.autoscaling.ec2.EC2AutoScaler) BeanProperty(com.fasterxml.jackson.databind.BeanProperty) StringEC2UserData(org.apache.druid.indexing.overlord.autoscaling.ec2.StringEC2UserData) DeserializationContext(com.fasterxml.jackson.databind.DeserializationContext) DefaultObjectMapper(org.apache.druid.jackson.DefaultObjectMapper) EC2NodeData(org.apache.druid.indexing.overlord.autoscaling.ec2.EC2NodeData) ObjectMapper(com.fasterxml.jackson.databind.ObjectMapper) DefaultObjectMapper(org.apache.druid.jackson.DefaultObjectMapper) Test(org.junit.Test)

Aggregations

Test (org.junit.Test)6 EC2AutoScaler (io.druid.indexing.overlord.autoscaling.ec2.EC2AutoScaler)5 DescribeInstancesRequest (com.amazonaws.services.ec2.model.DescribeInstancesRequest)3 BeanProperty (com.fasterxml.jackson.databind.BeanProperty)3 DeserializationContext (com.fasterxml.jackson.databind.DeserializationContext)3 InjectableValues (com.fasterxml.jackson.databind.InjectableValues)3 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)3 Filter (com.amazonaws.services.ec2.model.Filter)2 Reservation (com.amazonaws.services.ec2.model.Reservation)2 DefaultObjectMapper (io.druid.jackson.DefaultObjectMapper)2 RunInstancesRequest (com.amazonaws.services.ec2.model.RunInstancesRequest)1 RunInstancesResult (com.amazonaws.services.ec2.model.RunInstancesResult)1 TerminateInstancesRequest (com.amazonaws.services.ec2.model.TerminateInstancesRequest)1 EC2EnvironmentConfig (io.druid.indexing.overlord.autoscaling.ec2.EC2EnvironmentConfig)1 EC2NodeData (io.druid.indexing.overlord.autoscaling.ec2.EC2NodeData)1 StringEC2UserData (io.druid.indexing.overlord.autoscaling.ec2.StringEC2UserData)1 EC2AutoScaler (org.apache.druid.indexing.overlord.autoscaling.ec2.EC2AutoScaler)1 EC2EnvironmentConfig (org.apache.druid.indexing.overlord.autoscaling.ec2.EC2EnvironmentConfig)1 EC2NodeData (org.apache.druid.indexing.overlord.autoscaling.ec2.EC2NodeData)1 StringEC2UserData (org.apache.druid.indexing.overlord.autoscaling.ec2.StringEC2UserData)1