From 37b53ab2300a2ced10ff098cb06736247267a241 Mon Sep 17 00:00:00 2001 From: Adam Hendel Date: Wed, 11 Dec 2024 12:48:18 -0600 Subject: [PATCH] Revert "Remove `IngressRouteTCP` for Stopped Instances" (#1066) --- tembo-operator/src/cloudnativepg/hibernate.rs | 58 ------------------- tembo-operator/src/ingress.rs | 2 +- tembo-operator/tests/integration_tests.rs | 14 ----- 3 files changed, 1 insertion(+), 73 deletions(-) diff --git a/tembo-operator/src/cloudnativepg/hibernate.rs b/tembo-operator/src/cloudnativepg/hibernate.rs index 340ed019e..c49df7f43 100644 --- a/tembo-operator/src/cloudnativepg/hibernate.rs +++ b/tembo-operator/src/cloudnativepg/hibernate.rs @@ -3,7 +3,6 @@ use crate::cloudnativepg::clusters::{ClusterStatusConditions, ClusterStatusCondi use crate::cloudnativepg::cnpg::{get_cluster, get_pooler, get_scheduled_backups}; use crate::cloudnativepg::poolers::Pooler; use crate::cloudnativepg::scheduledbackups::ScheduledBackup; -use crate::ingress::delete_ingress_route_tcp; use crate::Error; use crate::{patch_cdb_status_merge, requeue_normal_with_jitter, Context}; @@ -146,63 +145,6 @@ pub async fn reconcile_cluster_hibernation(cdb: &CoreDB, ctx: &Arc) -> } } - // Remove IngressRouteTCP route for stopped instances - let ingress_route_tcp_api = Api::namespaced(ctx.client.clone(), &namespace); - let prefix_read_only = format!("{}-ro-0", cdb.name_any().as_str()); - if let Err(err) = - delete_ingress_route_tcp(ingress_route_tcp_api.clone(), &namespace, &prefix_read_only).await - { - warn!( - "Error deleting postgres ingress route for {}: {}", - cdb.name_any(), - err - ); - return Err(Action::requeue(Duration::from_secs(300))); - } - - let prefix_read_write = format!("{}-rw-0", cdb.name_any().as_str()); - if let Err(err) = delete_ingress_route_tcp( - ingress_route_tcp_api.clone(), - &namespace, - &prefix_read_write, - ) - .await - { - warn!( - "Error deleting postgres ingress route for {}: {}", - cdb.name_any(), - err - ); - return Err(Action::requeue(Duration::from_secs(300))); - } - - let prefix_pooler = format!("{}-pooler-0", cdb.name_any().as_str()); - if let Err(err) = - delete_ingress_route_tcp(ingress_route_tcp_api.clone(), &namespace, &prefix_pooler).await - { - warn!( - "Error deleting postgres ingress route for {}: {}", - cdb.name_any(), - err - ); - return Err(Action::requeue(Duration::from_secs(300))); - } - - let extra_domain_names = cdb.spec.extra_domains_rw.clone().unwrap_or_default(); - if !extra_domain_names.is_empty() { - let prefix_extra = format!("extra-{}-rw", cdb.name_any().as_str()); - if let Err(err) = - delete_ingress_route_tcp(ingress_route_tcp_api.clone(), &namespace, &prefix_extra).await - { - warn!( - "Error deleting extra postgres ingress route for {}: {}", - cdb.name_any(), - err - ); - return Err(Action::requeue(Duration::from_secs(300))); - } - } - // Stop CNPG reconciliation for hibernated instances. // We should not stop CNPG reconciliation until hibernation is fully completed, // as the instance may not finish hibernating otherwise. diff --git a/tembo-operator/src/ingress.rs b/tembo-operator/src/ingress.rs index e1da9a22d..1d7f67128 100644 --- a/tembo-operator/src/ingress.rs +++ b/tembo-operator/src/ingress.rs @@ -196,7 +196,7 @@ async fn apply_ingress_route_tcp( Ok(()) } -pub async fn delete_ingress_route_tcp( +async fn delete_ingress_route_tcp( ingress_route_tcp_api: Api, namespace: &str, ingress_route_tcp_name: &String, diff --git a/tembo-operator/tests/integration_tests.rs b/tembo-operator/tests/integration_tests.rs index d570ca3bf..53f00a9d0 100644 --- a/tembo-operator/tests/integration_tests.rs +++ b/tembo-operator/tests/integration_tests.rs @@ -5808,7 +5808,6 @@ CREATE EVENT TRIGGER pgrst_watch let test = TestCore::new(test_name).await; let name = test.name.clone(); let pooler_name = format!("{}-pooler", name); - let namespace = test.namespace.clone(); // Generate very simple CoreDB JSON definitions. The first will be for // initializing and starting the cluster, and the second for stopping @@ -5851,19 +5850,6 @@ CREATE EVENT TRIGGER pgrst_watch .await .not()); - // Assert that ingress routes are removed after hibernation - - let client = test.client.clone(); - let ingresses_tcp: Vec = - list_resources(client.clone(), &name, &namespace, 0) - .await - .unwrap(); - assert_eq!( - ingresses_tcp.len(), - 0, - "Ingress routes should be removed after hibernation" - ); - // Patch the cluster to start it up again, then check to ensure it // actually did so. This proves hibernation can be reversed.