This makes the AWS driver tests more modular, with minimal changes.
This will allow us to add more tests without extending the
current single-function-which-performs-all-tests.
It splits the config into multiple files, one for each distinct pool
configuration. This means that tests only run one pool thread (compared
to the current situation where every test runs every pool).
Whatever defect in moto which appeared to require patching the network
methods to verify the call signature appears to have been rectified, so
that is removed.
The two tags tests have been combined into one.
Private IP validation is improved so that we verify the values set on
the nodepool node rather than the mock call args.
There was no test that verified the EBS-optimised setting, so that has
been added.
Change-Id: I023ec41f015c2fcb20835fc0e38714149944de84
This updates the aws driver to use the statemachine framework which
should be able to scale to a much higher number of parallel operations
than the standard thread-per-node model. It is also simpler and
easier to maintain. Several new features are added to bring it to
parity with other drivers.
The unit tests are changed minimally so that they continue to serve
as regression tests for the new framework. Following changes will
revise the tests and add new tests for the additional functionality.
Change-Id: I8968667f927c82641460debeccd04e0511eb86a9
This adds QuotaSupport to all the drivers that don't have it, and
also updates their tests so there is at least one test which exercises
the new tenant quota feature.
Since this is expected to work across all drivers/providers/etc, we
should start including at least rudimentary quota support in every
driver.
Change-Id: I891ade226ba588ecdda835b143b7897bb4425bd8
Ansible needs to know which shell type the node uses to operate
correctly, especially for ssh connections for windows nodes because
otherwise ansible defaults to trying bash.
Change-Id: I71abfefa57aaafd88f199be19ee7caa64efda538
This found problems with the openshift and openshiftpods drivers,
so that is fixed. Also update the docs to reflect the fact that
node-attributes is supported across all drivers.
Note that we do not appear to have GCE driver tests, so that one
is just assumed to work. :(
Change-Id: I98b6f871815d2b564d1550d960e682c180bac7c2
At the moment nodepools aws driver uses the label to set the instance
name in aws and fails to launch the instance if "Name" is supplied
as a tag.
This makes it possible to supply name as a tag.
Change-Id: I9585db8fe4b4ad6f5b588fb67a7201296c2fc954
When running nodepool against private cloud rooms it can be desirable
that the nodes don't get a public ip address. Let the user specify
this on pool level.
Change-Id: I3d636517837fd8a6593c12e4309372da5c062b06
Max-servers has been ignored up until now. This implements the basic
checks so that AWS users can limit the number of instances they launch.
Change-Id: I73296bde1cdde80c52b6b5b725f268a17562060d
The AWS term is instance-type, not flavor-name. Rename this while
we don't have a huge userbase.
While we're in there, rename a variable from image_name to image_id
since we use image_id everywhere else.
Change-Id: I1f7f16d2873982626d2434cf5ca1f6280adf739c
This change adds an experimental AWS driver. It lacks some of the deeper
features of the openstack driver, such as quota management and image
building, but is highly functional for running tests on a static AMI.
Note that the test base had to be refactored to allow fixtures to be
customized in a more flexible way.
Change-Id: I313f9da435dfeb35591e37ad0bec921c8b5bc2b5
Co-Authored-By: Tristan Cacqueray <tdecacqu@redhat.com>
Co-Authored-By: David Moreau-Simard <dmsimard@redhat.com>
Co-AUthored-By: Clint Byrum <clint@fewbar.com>