@@ -13,6 +13,7 @@ use k8s_openapi::api::core::v1::{
13
13
use k8s_openapi:: apimachinery:: pkg:: apis:: meta:: v1:: ObjectMeta ;
14
14
use kube:: api:: { DeleteParams , ListParams , Patch , PatchParams , PostParams } ;
15
15
use kube:: runtime:: controller:: Action ;
16
+ use kube:: runtime:: controller:: Error :: ObjectNotFound ;
16
17
use kube:: runtime:: reflector:: { ObjectRef , Store } ;
17
18
use kube:: runtime:: Controller ;
18
19
use kube:: { Api , Client , Config } ;
@@ -59,7 +60,12 @@ impl EpsilonController {
59
60
. for_each ( |res| async move {
60
61
match res {
61
62
Ok ( _) => debug ! ( "Sync successful" ) ,
62
- Err ( e) => debug ! ( "Reconcile failed: {:?}" , e) ,
63
+ Err ( e) => {
64
+ if let ObjectNotFound ( _) = e {
65
+ } else {
66
+ error ! ( "Sync error: {}" , e) ;
67
+ }
68
+ }
63
69
}
64
70
} )
65
71
. await ;
@@ -80,9 +86,6 @@ impl EpsilonController {
80
86
81
87
let template_provider = & context. template_provider ;
82
88
83
- let mut instance_owner_reference = epsilon_instance. controller_owner_ref ( & ( ) ) . unwrap ( ) ;
84
- instance_owner_reference. block_owner_deletion = Some ( true ) ;
85
-
86
89
let instance_spec = & epsilon_instance. spec ;
87
90
let instance_status = epsilon_instance. status . clone ( ) ;
88
91
@@ -92,6 +95,10 @@ impl EpsilonController {
92
95
if let Ok ( pod_option) = pod_api. get_opt ( & instance_name) . await {
93
96
match pod_option {
94
97
None => {
98
+ let mut instance_owner_reference =
99
+ epsilon_instance. controller_owner_ref ( & ( ) ) . unwrap ( ) ;
100
+ instance_owner_reference. block_owner_deletion = Some ( true ) ;
101
+
95
102
let template = template_provider. get_template ( template_name) . await . unwrap ( ) ;
96
103
97
104
let instance_type = & template. t ;
0 commit comments