-
Notifications
You must be signed in to change notification settings - Fork 217
(CLOUD-295) Add RDS Support #69
(CLOUD-295) Add RDS Support #69
Conversation
@@ -0,0 +1,102 @@ | |||
require_relative '../../../puppet_x/puppetlabs/aws.rb' | |||
require "base64" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure this is used in this provider?
00d65cd
to
8184af1
Compare
@garethr Made the changes required based on comments, I can rebase the commits later on 👍 |
end | ||
|
||
newproperty(:iops) do | ||
desc 'The IOPS stype for the DB (minimum 1000)' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From reading the docs, by default this is 0, and that will set your RDS as standard storage rather than the Provisioned IOPS. So I'll probably remove the comment about minimum
Any news on when this will get merged in? |
@daveseff Me and Gareth are going to do some acceptance test pairing soonish, so hopefully should be able to get it tied up soon! 👍 |
Nice. Can I remove my fork of this then? |
bae1f42
to
d689933
Compare
15b02c8
to
7b26866
Compare
@daveseff Yep, you can probably delete your fork, your commits are safe and sound in this branch! 👍 |
It can create db's now. (sort of). Added the RDS example in the README I should learn github markup. Now impliments adding rds instance to security group. Can now delete RDS instances. puppet resource rds_instance is now working. Still learning as I go. :) Figured it out. Instances no longer throw errors. puppet resource rds_instance is working fine.
* To get an MVP of RDS working, we also need to create an DB Security Group to access it
7b26866
to
6122124
Compare
Thanks for your work adding RDS support. The way I'd like to use the RDS support is to create a multi-AZ MySQL database in the production environment, with backups, maintenance window set, and a parameter group defined, in our VPC. The only major thing that I noticed about that RDS PR is the inability to manage parameter groups, which are the only mechanism for Amazon gives for configuring MySQL settings. Drupal is so bad about making huge JOINs that tuning mysql really isn't optional - the default settings will have it constantly writing temp tables to disk and performance is significantly impacted. The most basic use case would be simply associating an RDS instance with a parameter group, though it would really be nice to create parameter groups as well. It would be really ideal if I could copy-paste the settings from the puppetlabs-mysql module into a parameter group. It's just a hash of settings, so it seems like it should be possible. |
@danieldreier Just added Parameter Group type and provider, and added being able to add it to an RDS instance on creation 👍 |
awesome! That was quick. Thanks! |
I was looking into the code and the API documentation on RDS. Noted that you only allow creating DB security groups with some manual work involved as per your documentation in your branch. Is it possible to add a parameter to define the VPC security group associated with the new RDS instance? |
@choonming Right now the AWS API is limited to just creating and deleting DB security groups. You have to do the assignment of EC2 or VPC security groups through the GUI. |
@choonming Actually, I'm not positive on that for VPC groups, the docs page is timing out for me right now, I'll double check that later! 👍 |
|
||
This example creates a security group to allow Postgres RDS instance, then creates an RDS instance with that security group assigned. | ||
|
||
puppet apply rds_security.pp |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs a few extra leading spaces.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed 👍
@peter This is looking good, apologies for taking so long to get to it. I've left a few more minor comments. On top of those we'll need:
|
@petems if we look at the RDS API documentation on ModifyDBInstance, we can specify the following: VpcSecurityGroupIds.member.N |
@choonming Ok, I'll see if I can add that to the creation parameters 👍 |
PR references |
Yep, need to rebase and rename the commits to the new ticket name. |
Closed in favour of new ticket name branch: #161 |
Rebase of #57 with spec tests added 👍
@daveseff want to have a look? 👍