Some organizations, licenses, or AMIs require the use of dedicated hosts, e.g. MSDN licenses.
Currently, the kitchen-ec2 driver does not include any functionality to allocate/deallocate hosts. You can use the tenancy: host setting, but that relies on pre-deployed dedicated hosts.
:grey_question: Possible Solution
Add this functionality to the kitchen driver, allocating a host for the specified instance_type and deallocating it after it is empty. As dedicated hosts are billed by the second, this is no different than billing for on-demand instances.
In some situations, a dedicated host might be pre-allocated (organization-provided) or need a specific time until being de-allocated (24 hours) - so both features should be made optional. That could be an additional config option or a corresponding environment variable.
:arrow_heading_up: Describe alternatives you've considered
manually managing DHs, which is error-prone and often leads to forgetting de-allocation and paying unnecessary money
using License Manager Managed Host Groups, but these fail for host types which have a 24 hour minimum. Those do not have a "terminate after 24 hours idle" setting or any other delay
:heavy_plus_sign: Additional context
This feature is a prerequisite for adding support for Mac instances as well.
:frowning_person: Problem Statement
Some organizations, licenses, or AMIs require the use of dedicated hosts, e.g. MSDN licenses.
Currently, the kitchen-ec2 driver does not include any functionality to allocate/deallocate hosts. You can use the
tenancy: host
setting, but that relies on pre-deployed dedicated hosts.:grey_question: Possible Solution
Add this functionality to the kitchen driver, allocating a host for the specified
instance_type
and deallocating it after it is empty. As dedicated hosts are billed by the second, this is no different than billing for on-demand instances.In some situations, a dedicated host might be pre-allocated (organization-provided) or need a specific time until being de-allocated (24 hours) - so both features should be made optional. That could be an additional config option or a corresponding environment variable.
:arrow_heading_up: Describe alternatives you've considered
:heavy_plus_sign: Additional context
This feature is a prerequisite for adding support for Mac instances as well.