-
Notifications
You must be signed in to change notification settings - Fork 255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Properly handle Parameters for RDS DBParameterGroup
and DBClusterParameterGroup
#869
Comments
@jaypipes a related issue is that if you remove a parameter, you have to call https://docs.aws.amazon.com/cli/latest/reference/rds/reset-db-parameter-group.html I don't think code gen exposes this? Out of curiosity, I wonder why there has to be a separate call for this. It's a bit painful that everything is a string pointer, but you can never send a nil. Should't a nil value here reset the value? |
Is this usable right now? Even if a little hacky? I'm doing a spike with ACK and if there's any way I can at least set some parameters (even if, for example, I then have no way to update the,?) that'd be super useful for proving things out. |
@robertgates55 yes, you can definitely set parameters. The problem is when you try to update certain parameters... |
@robertgates55 I will need to look further into this. I will create a new e2e test in the rds-controller with your example above and reproduce. |
Let me know if I can help in any way. Should I raise a specific ticket maybe? |
No need for separate ticket. I'll use this one :) |
@jaypipes Any update on this? Can we help in any way to reproduce etc? |
@robertgates55 the ACK core team and the RDS team had a meeting about this issue yesterday evening. It's a top priority for us to address ASAP. Having wrapped up some planning docs I've been busy with, I'll be able to start work on this tomorrow and by end of day tomorrow should have a rough timeframe to give you. We are going to be taking the following approach:
|
Awesome - Thanks - keep us posted on progress.
My instinct is to reflect it on the parametergroup rather than the instance, but there's obviously a one-to-many paramgroup-to-instance relationship so that might get awkward if the paramgroup is reused extensively. Does AWS use the 'maintenance window' to automatically restart/apply param changes on instances? (am wondering whether this is something that will always require manual intervention or whether it'll eventually become consistent)
100% agree. This should be about the parameters the user is wanting to add/modify/change, not All parameters. It's analogous to pretty standard config file patterns so will definitely make sense. It makes me wonder if there's a better name for the |
Any update here please? |
Still working on it, @robertgates55. Hoping to complete the resource tagging (#1276) today and parlay that work into the parameter support (it's a related code path) |
I'm facing the same issue trying to create a
I've noticed that https://aws-controllers-k8s.github.io/community/reference/rds/v1alpha1/dbparametergroup/ I'm using ACK RDS Controller v0.1.2. @jaypipes any updates? |
I think this is correct. I didn't see the same fix applied to |
We need to resume working on this ASAP |
I will redirect this issue to Andrew |
@brucegucode I am going to be picking up this issue, FYI. |
DBParameterGroup
and DBClusterParameterGroup
Issue #, if available: aws-controllers-k8s/community#869 The `Spec.ParameterOverrides` is a `map[string]*string` containing the parameter names and values for parameters in a DB cluster parameter group for which the user wishes to override the defaults. The `Status.ParameterOverrideStatuses` field is a slice of `Parameter` structs that contains status information about those overridden parameters. By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
This should now be resolved. Both Implementation for |
There are a number of problems with the way that RDS Parameter Groups handle parameters, and those problems surfaced in investigating #868.
Currently, we have a
Spec.Parameters
field that we register with theDBParameterGroup
CRD from this section of the RDS controller's generator.yaml file:https://github.com/aws-controllers-k8s/rds-controller/blob/1dedf846dc06951f23fe27aa366f95ae995c3c4d/generator.yaml#L149-L153
What this means is that we will need to add custom code to the
sdkFind
method of the DBParameterGroup resource manager that will call theDescribeDBParameters
API call after the normal call toDescribeDBParameterGroups
API call is made and the CR's Spec fields have been set from the Output shape. The additional call to DescribeDBParameters and the corresponding setting of the CR'sSpec.Parameters
field will need to go in thesdk_find_post_set_output
hook point.This problem and the sub-optimal user experience it manifests in for Terraform is highlighted effectively in a blog post here:
https://tech.instacart.com/terraforming-rds-part-3-9d81a7e2047f
We should be able to at the very least make the user experience more tenable in the ACK RDS controller by handling the whole "I set apply method to 'immediate' for a static appy-type parameter" mistake.
The text was updated successfully, but these errors were encountered: