Skip to content
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

AWS::Route53::HealthCheck - [BUG] - Ignores update to HealthCheckConfig.RoutingControlArn #2028

Open
tmokmss opened this issue Apr 27, 2024 · 0 comments

Comments

@tmokmss
Copy link

tmokmss commented Apr 27, 2024

Name of the resource

AWS::Route53::HealthCheck

Resource Name

No response

Issue Description

When I update the property HealthCheckConfig.RoutingControlArn of AWS::Route53::HealthCheck resource, the changeset is successfully deployed but the actual resource does not reflect the update.

Expected Behavior

The changes to HealthCheckConfig.RoutingControlArn is reflected to the actual resource.

Observed Behavior

The changes to HealthCheckConfig.RoutingControlArn is NOT reflected to the actual resource.

Test Cases

First, we deploy the template below:

{
 "Resources": {
  "Cluster": {
   "Type": "AWS::Route53RecoveryControl::Cluster",
   "Properties": {
    "Name": "ARC-Test"
   }
  },
  "RoutingControlPrimary": {
   "Type": "AWS::Route53RecoveryControl::RoutingControl",
   "Properties": {
    "ClusterArn": {
     "Ref": "Cluster"
    },
    "Name": "rc-primary"
   }
  },
  "RoutingControlSecondary": {
   "Type": "AWS::Route53RecoveryControl::RoutingControl",
   "Properties": {
    "ClusterArn": {
     "Ref": "Cluster"
    },
    "Name": "rc-secondary"
   }
  },
  "HealthCheckPrimary": {
   "Type": "AWS::Route53::HealthCheck",
   "Properties": {
    "HealthCheckConfig": {
     "RoutingControlArn": {
      "Ref": "RoutingControlPrimary"
     },
     "Type": "RECOVERY_CONTROL"
    },
    "HealthCheckTags": [
     {
      "Key": "Name",
      "Value": "hc-primary"
     }
    ]
   }
  },
  "HealthCheckSecondary": {
   "Type": "AWS::Route53::HealthCheck",
   "Properties": {
    "HealthCheckConfig": {
     "RoutingControlArn": {
      "Ref": "RoutingControlPrimary"
     },
     "Type": "RECOVERY_CONTROL"
    },
    "HealthCheckTags": [
     {
      "Key": "Name",
      "Value": "hc-secondary"
     }
    ]
   }
  }
 }
}

The rc-primary routing control has two health checks assigned (expected).

Screenshot 2024-04-27 at 16 46 21

And rc-secondary does not have any health check (expected).

Screenshot 2024-04-27 at 17 08 46

Next, update a RoutingControlArn property with the following template:

{
 "Resources": {
  "Cluster": {
   "Type": "AWS::Route53RecoveryControl::Cluster",
   "Properties": {
    "Name": "ARC-Test"
   }
  },
  "RoutingControlPrimary": {
   "Type": "AWS::Route53RecoveryControl::RoutingControl",
   "Properties": {
    "ClusterArn": {
     "Ref": "Cluster"
    },
    "Name": "rc-primary"
   }
  },
  "RoutingControlSecondary": {
   "Type": "AWS::Route53RecoveryControl::RoutingControl",
   "Properties": {
    "ClusterArn": {
     "Ref": "Cluster"
    },
    "Name": "rc-secondary"
   }
  },
  "HealthCheckPrimary": {
   "Type": "AWS::Route53::HealthCheck",
   "Properties": {
    "HealthCheckConfig": {
     "RoutingControlArn": {
      "Ref": "RoutingControlPrimary"
     },
     "Type": "RECOVERY_CONTROL"
    },
    "HealthCheckTags": [
     {
      "Key": "Name",
      "Value": "hc-primary"
     }
    ]
   }
  },
  "HealthCheckSecondary": {
   "Type": "AWS::Route53::HealthCheck",
   "Properties": {
    "HealthCheckConfig": {
     "RoutingControlArn": {
      "Ref": "RoutingControlSecondary"
     },
     "Type": "RECOVERY_CONTROL"
    },
    "HealthCheckTags": [
     {
      "Key": "Name",
      "Value": "hc-secondary"
     }
    ]
   }
  }
 }
}

The diff is:

  "HealthCheckSecondary": {
   "Type": "AWS::Route53::HealthCheck",
   "Properties": {
    "HealthCheckConfig": {
     "RoutingControlArn": {
-      "Ref": "RoutingControlPrimary"
+      "Ref": "RoutingControlSecondary"
     },

Deploy the stack to update the template. Now rc-primary and rc-secondary should be assigned one healthcheck each, but actually rc-primary still has two healthchecks and rc-secondary has none, which means the update is not reflected. (unexpected)

Other Details

No response

@tmokmss tmokmss added the bug label Apr 27, 2024
@tmokmss tmokmss changed the title AWS::Route53::HealthCheck - [BUG] - Ignores update of HealthCheckConfig.RoutingControlArn AWS::Route53::HealthCheck - [BUG] - Ignores update to HealthCheckConfig.RoutingControlArn Apr 27, 2024
@cfn-github-issues-bot cfn-github-issues-bot added this to Researching in coverage-roadmap Apr 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
coverage-roadmap
  
Researching
Development

No branches or pull requests

1 participant