I'd be more than happy to improve the rds module.  The question I have is 
what's the best approach to take.  The problem, as I see it, is that the 
rds interface is rather complex, so trying to distill it down for Ansible 
has the potential to be rather tricky.  There are a number of both required 
and optional parameters when you create a database.  What should the module 
do, for example, if you try to create a database with the same name but 
vastly different parameters?  

When you create a database you need to specify the name, type of database 
(oracle, mysql, etc), the disk size for the data store, the cpu/memory size 
of the server, and the root username/password.  Suppose you already have an 
oracle database named "foo" and you then call the rds module to create a 
mysql database named "foo".  I would argue that this should generate an 
error of some sort and not simply return changed=false since the underlying 
database is vastly different than what you requested.  But what about 
something like disk size?  Should it trigger an error if you try to create 
a database where all the parameters are identical to an existing instance 
but the size is off by a gigabyte?  And then there are all the optional 
parameters like backup_window.  If you don't specify a backup window then 
Amazon will randomly assign one, so should any 'changed' check simply 
ignore parameters like these?

Similar issues arise with regards to the 'modify' command since there are 
different ways it can be applied.  If you tell AWS to increase the size of 
your database you can tell it to apply the change immediately or you can 
defer that change until the instances next maintenance window, at which 
point it will reboot & resize the database automatically.  How should cases 
be handled where there are conflicting modifications requested?  Suppose 
you issue a command to resize your database to 200 gig during the next 
maintenance window, then before that maintenance window you run a play that 
tries to resize it to 250 gig immediately?  I'm not sure if the AWS API 
even supports modifying/deleting pending events.  I just did a quick check 
of boto and it doesn't seem to have that capability.

-Bruce

On Monday, November 25, 2013 7:57:54 PM UTC-5, Michael DeHaan wrote:
>
> I'd rather have the RDS module upgraded.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to