TASK: [create test controller 0] **********************************************
failed: [127.0.0.1] => {"failed": true, "parsed": false}
invalid output was: Traceback (most recent call last):
File "/Users/jdewey/.ansible/tmp/ansible-1383197329.62-262790004573235/nova_compute", line 1203, in <module>
main()
File "/Users/jdewey/.ansible/tmp/ansible-1383197329.62-262790004573235/nova_compute", line 261, in main
_get_server_state(module, nova)
File "/Users/jdewey/.ansible/tmp/ansible-1383197329.62-262790004573235/nova_compute", line 197, in _get_server_state
if server.status != 'ACTIVE':
AttributeError: 'list' object has no attribute 'status'
Check for Walrus endpoint by looking to see if the endpoint is not AWS.
This fixes a bug where the user specifies an AWS endpoint via S3_URL,
but the code interprets it as Walrus and then fails.
The route53 api doesn't allow multiple overlapping requests, so if
it is still processing a previous request when the next comes in will
return an error.
Fixes#4085
The dopy manager defaults to False for virtio, but the DigitalOcean web interface defaults to True, which is a pretty safe default and sensible considering the performance gains.
Private networks are a new feature currently available only in the NYC2 region as of Oct 2, 2013.
NOTE: dopy >= 0.2.2 is required for these options to work.
Tags parameter requires at least version 2.6.0 of Boto module. When tags
parameter is used with older version, error is raised. When tags
parameter is unused, module works as before.
Expose boto.cloudformation.create_stack() tags parameter. Supplied tags
will be applied to stack and all it's resources on stack creation.
Cannot be updated later (not supported by UpdateStack CloudFormation
API).
The code to determine the number of running instances could blow up
if the response from AWS did not actually contain any data. This code
makes it a bit smarter in handling, so that it will wait for a valid
response regardless of the wait condition.
Fixes#3980
Add support to existing rax module to honor the wait (and wait_timeout)
parameters on delete operations. This patch removes existing logic in favor of
the built-in pyrax.utils.wait_until method.
As it stands now, it is difficult to write idempotent tasks for digital
ocean droplets. Digital ocean assigns new nodes a random id when they
are provisioned and that id is the only key that can be used to identify
it in subsequent runs of that play.
The workflow previously involved manual intervention:
- write a play defining a new node with no specified id
- run it, collect the randomly assigned id by hand
- modify the play to add the id by hand so future runs don't create
duplicate nodes
- perform future re-runs that check if the node exists (by its id)
- if it does exist then do nothing.
- if it does not exist, then create it and return a *new random id*
- collect the new random id by hand, modify the playbook file, and
start all over.
Its a huge pain.
The modifications in this commit allow you to use the 'hostname' as a
primary key for idempotence with digital ocean. By default, digital
ocean will let you create as many hosts with the same hostname as you
like. Here, we provide an option to constrain the user to using only
unique hostnames.
The workflow will now look like:
- write a play defining a new node with a specified hostname and
"unique_name: true""
- run it, create the new node and move on.
- re-run it, notice that a node with that hostname is already created
and move on.
The EXAMPLES block here has two copies of the same docs,
one nicely formatted, the other less so.
It looks like a pass was made to clean up the docs but the old
cruftier ones were never removed.