Terraform: aws_db_parameter_group plan shows changes even after applying

Created on 8 Mar 2017  ยท  3Comments  ยท  Source: hashicorp/terraform

Terraform Version

Terraform v0.8.8

Affected Resource(s)

Please list the resources as a list, for example:

  • aws_db_parameter_group

Terraform Configuration Files

resource "aws_db_parameter_group" "my_db" {
    name = "my-db-name"
    family = "postgres9.4"

    parameter {
      name = "max_standby_archive_delay"
      # 48 hours in milliseconds
      value = "172800000"
    }
    parameter {
      name = "max_standby_streaming_delay"
      # 48 hours in milliseconds
      value = "172800000"
    }

    parameter {
      name = "max_connections"
      value = "250"
      apply_method = "pending-reboot"
    }

    parameter {
      name = "client_encoding"
      value = "UTF8"
      apply_method = "pending-reboot"
    }

    parameter {
      name = "shared_preload_libraries"
      value = "pg_stat_statements"
      apply_method = "pending-reboot"
    }

    parameter {
      name = "rds.force_admin_logging_level"
      value = "notice"
    }

    parameter {
      name = "rds.force_autovacuum_logging_level"
      value = "notice"
    }

    parameter {
      name = "rds.force_ssl"
      value = "1"
      apply_method = "pending-reboot"
    }
}

Expected Behavior

After running terraform apply, terraform plan should show no changes.

Actual Behavior

terraform plan shows client_encoding getting updated:

~ module.my_module.aws_db_parameter_group.my_db
    parameter.#:                       "7" => "8"
    parameter.1060480147.apply_method: "pending-reboot" => "pending-reboot"
    parameter.1060480147.name:         "max_connections" => "max_connections"
    parameter.1060480147.value:        "250" => "250"
    parameter.1124637299.apply_method: "" => "pending-reboot"
    parameter.1124637299.name:         "" => "client_encoding"
    parameter.1124637299.value:        "" => "UTF8"
    parameter.1338002971.apply_method: "immediate" => "immediate"
    parameter.1338002971.name:         "max_standby_archive_delay" => "max_standby_archive_delay"
    parameter.1338002971.value:        "172800000" => "172800000"
    parameter.2349693848.apply_method: "pending-reboot" => "pending-reboot"
    parameter.2349693848.name:         "rds.force_ssl" => "rds.force_ssl"
    parameter.2349693848.value:        "1" => "1"
    parameter.321609972.apply_method:  "immediate" => "immediate"
    parameter.321609972.name:          "rds.force_autovacuum_logging_level" => "rds.force_autovacuum_logging_level"
    parameter.321609972.value:         "notice" => "notice"
    parameter.3896701117.apply_method: "immediate" => "immediate"
    parameter.3896701117.name:         "rds.force_admin_logging_level" => "rds.force_admin_logging_level"
    parameter.3896701117.value:        "notice" => "notice"
    parameter.3962180947.apply_method: "pending-reboot" => "pending-reboot"
    parameter.3962180947.name:         "shared_preload_libraries" => "shared_preload_libraries"
    parameter.3962180947.value:        "pg_stat_statements" => "pg_stat_statements"
    parameter.969787585.apply_method:  "immediate" => "immediate"
    parameter.969787585.name:          "max_standby_streaming_delay" => "max_standby_streaming_delay"
    parameter.969787585.value:         "172800000" => "172800000"

It could be useful to note that, inspecting .tfstate, parameter.1124637299 is NOT being saved.

bug provideaws

All 3 comments

Hi @joshma

Thanks for opening this issue - I can see exactly what the issue is. client_encoding is actually a system parameter that is modifiable. I am not quite sure why, but Terraform only brings back the user defined parameters. I believe this is because it would cause a lot of confusion as to what is an isn't managed by terraform

I am looking at how to fix this right now

Paul

Just to add an extra datapoint, we are getting this persistently (please ignore timestamps, this is a snip from a Jenkins build) on each plan...

14:06:32 ~ aws_db_parameter_group.jasper_rds_param_group
14:06:32     parameter.#:                       "15" => "27"
14:06:32     parameter.1081139968.apply_method: "immediate" => "immediate"
14:06:32     parameter.1081139968.name:         "binlog_format" => "binlog_format"
14:06:32     parameter.1081139968.value:        "row" => "row"
14:06:32     parameter.1092112861.apply_method: "immediate" => "immediate"
14:06:32     parameter.1092112861.name:         "innodb_file_format" => "innodb_file_format"
14:06:32     parameter.1092112861.value:        "barracuda" => "barracuda"
14:06:32     parameter.117537171.apply_method:  "immediate" => "immediate"
14:06:32     parameter.117537171.name:          "auto_increment_increment" => "auto_increment_increment"
14:06:32     parameter.117537171.value:         "2" => "2"
14:06:32     parameter.118164322.apply_method:  "" => "pending-reboot"
14:06:32     parameter.118164322.name:          "" => "max_connections"
14:06:32     parameter.118164322.value:         "" => "{DBInstanceClassMemory/12582880}"
14:06:32     parameter.1506707202.apply_method: "immediate" => "immediate"
14:06:32     parameter.1506707202.name:         "sql_mode" => "sql_mode"
14:06:32     parameter.1506707202.value:        "strict_all_tables" => "strict_all_tables"
14:06:32     parameter.1516599574.apply_method: "" => "pending-reboot"
14:06:32     parameter.1516599574.name:         "" => "read_buffer_size"
14:06:32     parameter.1516599574.value:        "" => "262144"
14:06:32     parameter.157231808.apply_method:  "" => "pending-reboot"
14:06:32     parameter.157231808.name:          "" => "local_infile"
14:06:32     parameter.157231808.value:         "" => "1"
14:06:32     parameter.1597413881.apply_method: "pending-reboot" => "pending-reboot"
14:06:32     parameter.1597413881.name:         "innodb_open_files" => "innodb_open_files"
14:06:32     parameter.1597413881.value:        "15000" => "15000"
14:06:32     parameter.1820240913.apply_method: "" => "pending-reboot"
14:06:32     parameter.1820240913.name:         "" => "read_only"
14:06:32     parameter.1820240913.value:        "" => "{TrueIfReplica}"
14:06:32     parameter.1918306725.apply_method: "immediate" => "immediate"
14:06:32     parameter.1918306725.name:         "log_output" => "log_output"
14:06:32     parameter.1918306725.value:        "file" => "file"
14:06:32     parameter.1950805737.apply_method: "" => "pending-reboot"
14:06:32     parameter.1950805737.name:         "" => "key_buffer_size"
14:06:32     parameter.1950805737.value:        "" => "16777216"
14:06:32     parameter.2127480597.apply_method: "" => "pending-reboot"
14:06:32     parameter.2127480597.name:         "" => "read_rnd_buffer_size"
14:06:32     parameter.2127480597.value:        "" => "524288"
14:06:32     parameter.2183348092.apply_method: "immediate" => "immediate"
14:06:32     parameter.2183348092.name:         "long_query_time" => "long_query_time"
14:06:32     parameter.2183348092.value:        "2" => "2"
14:06:32     parameter.2261149106.apply_method: "" => "pending-reboot"
14:06:32     parameter.2261149106.name:         "" => "innodb_log_buffer_size"
14:06:32     parameter.2261149106.value:        "" => "8388608"
14:06:32     parameter.2425364271.apply_method: "" => "pending-reboot"
14:06:32     parameter.2425364271.name:         "" => "innodb_file_per_table"
14:06:32     parameter.2425364271.value:        "" => "1"
14:06:32     parameter.245681620.apply_method:  "immediate" => "immediate"
14:06:32     parameter.245681620.name:          "max_allowed_packet" => "max_allowed_packet"
14:06:32     parameter.245681620.value:         "16777216" => "16777216"
14:06:32     parameter.2526035403.apply_method: "immediate" => "immediate"
14:06:32     parameter.2526035403.name:         "innodb_io_capacity" => "innodb_io_capacity"
14:06:32     parameter.2526035403.value:        "5000" => "5000"
14:06:32     parameter.265915110.apply_method:  "immediate" => "immediate"
14:06:32     parameter.265915110.name:          "query_cache_limit" => "query_cache_limit"
14:06:32     parameter.265915110.value:         "1048576" => "1048576"
14:06:32     parameter.2703661820.apply_method: "immediate" => "immediate"
14:06:32     parameter.2703661820.name:         "tmp_table_size" => "tmp_table_size"
14:06:32     parameter.2703661820.value:        "67108864" => "67108864"
14:06:32     parameter.275521228.apply_method:  "immediate" => "immediate"
14:06:32     parameter.275521228.name:          "query_cache_size" => "query_cache_size"
14:06:32     parameter.275521228.value:         "16777216" => "16777216"
14:06:32     parameter.2852490873.apply_method: "" => "pending-reboot"
14:06:32     parameter.2852490873.name:         "" => "binlog_cache_size"
14:06:32     parameter.2852490873.value:        "" => "32768"
14:06:32     parameter.3691607419.apply_method: "immediate" => "immediate"
14:06:32     parameter.3691607419.name:         "log_queries_not_using_indexes" => "log_queries_not_using_indexes"
14:06:32     parameter.3691607419.value:        "0" => "0"
14:06:32     parameter.3994201594.apply_method: "pending-reboot" => "pending-reboot"
14:06:32     parameter.3994201594.name:         "innodb_log_file_size" => "innodb_log_file_size"
14:06:32     parameter.3994201594.value:        "536870912" => "536870912"
14:06:32     parameter.492263794.apply_method:  "" => "pending-reboot"
14:06:32     parameter.492263794.name:          "" => "thread_stack"
14:06:32     parameter.492263794.value:         "" => "262144"
14:06:32     parameter.764690598.apply_method:  "" => "pending-reboot"
14:06:32     parameter.764690598.name:          "" => "sync_binlog"
14:06:32     parameter.764690598.value:         "" => "1"
14:06:32     parameter.932327530.apply_method:  "" => "pending-reboot"
14:06:32     parameter.932327530.name:          "" => "performance_schema"
14:06:32     parameter.932327530.value:         "" => "0"
14:06:32     parameter.950177639.apply_method:  "immediate" => "immediate"
14:06:32     parameter.950177639.name:          "log_bin_trust_function_creators" => "log_bin_trust_function_creators"
14:06:32     parameter.950177639.value:         "1" => "1"
14:06:32 
14:06:32 ~ aws_db_parameter_group.main_rds_param_group
14:06:32     parameter.#:                       "15" => "27"
14:06:32     parameter.1081139968.apply_method: "immediate" => "immediate"
14:06:32     parameter.1081139968.name:         "binlog_format" => "binlog_format"
14:06:32     parameter.1081139968.value:        "row" => "row"
14:06:32     parameter.1092112861.apply_method: "immediate" => "immediate"
14:06:32     parameter.1092112861.name:         "innodb_file_format" => "innodb_file_format"
14:06:32     parameter.1092112861.value:        "barracuda" => "barracuda"
14:06:32     parameter.117537171.apply_method:  "immediate" => "immediate"
14:06:32     parameter.117537171.name:          "auto_increment_increment" => "auto_increment_increment"
14:06:32     parameter.117537171.value:         "2" => "2"
14:06:32     parameter.118164322.apply_method:  "" => "pending-reboot"
14:06:32     parameter.118164322.name:          "" => "max_connections"
14:06:32     parameter.118164322.value:         "" => "{DBInstanceClassMemory/12582880}"
14:06:32     parameter.1506707202.apply_method: "immediate" => "immediate"
14:06:32     parameter.1506707202.name:         "sql_mode" => "sql_mode"
14:06:32     parameter.1506707202.value:        "strict_all_tables" => "strict_all_tables"
14:06:32     parameter.1516599574.apply_method: "" => "pending-reboot"
14:06:32     parameter.1516599574.name:         "" => "read_buffer_size"
14:06:32     parameter.1516599574.value:        "" => "262144"
14:06:32     parameter.157231808.apply_method:  "" => "pending-reboot"
14:06:32     parameter.157231808.name:          "" => "local_infile"
14:06:32     parameter.157231808.value:         "" => "1"
14:06:32     parameter.1597413881.apply_method: "pending-reboot" => "pending-reboot"
14:06:32     parameter.1597413881.name:         "innodb_open_files" => "innodb_open_files"
14:06:32     parameter.1597413881.value:        "15000" => "15000"
14:06:32     parameter.1820240913.apply_method: "" => "pending-reboot"
14:06:32     parameter.1820240913.name:         "" => "read_only"
14:06:32     parameter.1820240913.value:        "" => "{TrueIfReplica}"
14:06:32     parameter.1918306725.apply_method: "immediate" => "immediate"
14:06:32     parameter.1918306725.name:         "log_output" => "log_output"
14:06:32     parameter.1918306725.value:        "file" => "file"
14:06:32     parameter.1950805737.apply_method: "" => "pending-reboot"
14:06:32     parameter.1950805737.name:         "" => "key_buffer_size"
14:06:32     parameter.1950805737.value:        "" => "16777216"
14:06:32     parameter.2127480597.apply_method: "" => "pending-reboot"
14:06:32     parameter.2127480597.name:         "" => "read_rnd_buffer_size"
14:06:32     parameter.2127480597.value:        "" => "524288"
14:06:32     parameter.2183348092.apply_method: "immediate" => "immediate"
14:06:32     parameter.2183348092.name:         "long_query_time" => "long_query_time"
14:06:32     parameter.2183348092.value:        "2" => "2"
14:06:32     parameter.2261149106.apply_method: "" => "pending-reboot"
14:06:32     parameter.2261149106.name:         "" => "innodb_log_buffer_size"
14:06:32     parameter.2261149106.value:        "" => "8388608"
14:06:32     parameter.2425364271.apply_method: "" => "pending-reboot"
14:06:32     parameter.2425364271.name:         "" => "innodb_file_per_table"
14:06:32     parameter.2425364271.value:        "" => "1"
14:06:32     parameter.245681620.apply_method:  "immediate" => "immediate"
14:06:32     parameter.245681620.name:          "max_allowed_packet" => "max_allowed_packet"
14:06:32     parameter.245681620.value:         "16777216" => "16777216"
14:06:32     parameter.2526035403.apply_method: "immediate" => "immediate"
14:06:32     parameter.2526035403.name:         "innodb_io_capacity" => "innodb_io_capacity"
14:06:32     parameter.2526035403.value:        "5000" => "5000"
14:06:32     parameter.265915110.apply_method:  "immediate" => "immediate"
14:06:32     parameter.265915110.name:          "query_cache_limit" => "query_cache_limit"
14:06:32     parameter.265915110.value:         "1048576" => "1048576"
14:06:32     parameter.2703661820.apply_method: "immediate" => "immediate"
14:06:32     parameter.2703661820.name:         "tmp_table_size" => "tmp_table_size"
14:06:32     parameter.2703661820.value:        "67108864" => "67108864"
14:06:32     parameter.275521228.apply_method:  "immediate" => "immediate"
14:06:32     parameter.275521228.name:          "query_cache_size" => "query_cache_size"
14:06:32     parameter.275521228.value:         "16777216" => "16777216"
14:06:32     parameter.2852490873.apply_method: "" => "pending-reboot"
14:06:32     parameter.2852490873.name:         "" => "binlog_cache_size"
14:06:32     parameter.2852490873.value:        "" => "32768"
14:06:32     parameter.3691607419.apply_method: "immediate" => "immediate"
14:06:32     parameter.3691607419.name:         "log_queries_not_using_indexes" => "log_queries_not_using_indexes"
14:06:32     parameter.3691607419.value:        "0" => "0"
14:06:32     parameter.3994201594.apply_method: "pending-reboot" => "pending-reboot"
14:06:32     parameter.3994201594.name:         "innodb_log_file_size" => "innodb_log_file_size"
14:06:32     parameter.3994201594.value:        "536870912" => "536870912"
14:06:32     parameter.492263794.apply_method:  "" => "pending-reboot"
14:06:32     parameter.492263794.name:          "" => "thread_stack"
14:06:32     parameter.492263794.value:         "" => "262144"
14:06:32     parameter.764690598.apply_method:  "" => "pending-reboot"
14:06:32     parameter.764690598.name:          "" => "sync_binlog"
14:06:32     parameter.764690598.value:         "" => "1"
14:06:32     parameter.932327530.apply_method:  "" => "pending-reboot"
14:06:32     parameter.932327530.name:          "" => "performance_schema"
14:06:32     parameter.932327530.value:         "" => "0"
14:06:32     parameter.950177639.apply_method:  "immediate" => "immediate"
14:06:32     parameter.950177639.name:          "log_bin_trust_function_creators" => "log_bin_trust_function_creators"
14:06:32     parameter.950177639.value:         "1" => "1"

I'm going to lock this issue because it has been closed for _30 days_ โณ. This helps our maintainers find and focus on the active issues.

If you have found a problem that seems similar to this, please open a new issue and complete the issue template so we can capture all the details necessary to investigate further.

Was this page helpful?
0 / 5 - 0 ratings