@@ -324,49 +324,46 @@ def _check_parent(self, gateway_name, port):
324324 return True , ""
325325
326326 def _refresh_to_k8s (self , rules , parent_refs ):
327+ manifest = {
328+ "rules" : rules ,
329+ "hostnames" : self .hostnames ,
330+ "parent_refs" : parent_refs ,
331+ }
327332 try :
328333 k8s_route = getattr (self .scheduler (), self .kind .lower ())
329334 try :
330335 data = k8s_route .get (self .app .id , self .name ).json ()
331- k8s_route .patch (self .app .id , self .name , ** {
332- "rules" : rules ,
333- "hostnames" : self .hostnames ,
334- "parent_refs" : parent_refs ,
335- "version" : data ["metadata" ]["resourceVersion" ],
336- })
336+ manifest .update ({"version" : data ["metadata" ]["resourceVersion" ]})
337+ k8s_route .patch (self .app .id , self .name , ** manifest )
337338 except KubeException :
338- k8s_route .create (self .app .id , self .name , ** {
339- "rules" : rules ,
340- "hostnames" : self .hostnames ,
341- "parent_refs" : parent_refs ,
342- })
339+ k8s_route .create (self .app .id , self .name , ** manifest )
343340 except KubeException as e :
344341 raise ServiceUnavailable (
345342 f'Kubernetes { self .kind .lower ()} could not be created' ) from e
346343
347344 def _https_enforced_to_k8s (self , parent_refs ):
348- rules = {
349- "filters" : [{
350- "type" : "RequestRedirect" ,
351- "requestRedirect" : {
352- "port" : DEFAULT_HTTPS_PORT , "scheme" : "https" , "statusCode" : 301
353- }
354- }]
345+ manifest = {
346+ "rules" : [{
347+ "filters" : [{
348+ "type" : "RequestRedirect" ,
349+ "requestRedirect" : {
350+ "port" : DEFAULT_HTTPS_PORT , "scheme" : "https" , "statusCode" : 301
351+ }
352+ }]
353+ }],
354+ "hostnames" : self .hostnames ,
355+ "parent_refs" : parent_refs ,
355356 }
356357 try :
357358 try :
358359 data = self .scheduler ().httproute .get (
359360 self .app .id , self ._https_redirect_name ).json ()
360- self .scheduler ().httproute .patch (self .app .id , self ._https_redirect_name , ** {
361- "rules" : rules ,
362- "parent_refs" : parent_refs ,
363- "version" : data ["metadata" ]["resourceVersion" ],
364- })
361+ manifest .update ({"version" : data ["metadata" ]["resourceVersion" ]})
362+ self .scheduler ().httproute .patch (
363+ self .app .id , self ._https_redirect_name , ** manifest )
365364 except KubeException :
366- self .scheduler ().httproute .create (self .app .id , self ._https_redirect_name , ** {
367- "rules" : rules ,
368- "parent_refs" : parent_refs ,
369- })
365+ self .scheduler ().httproute .create (
366+ self .app .id , self ._https_redirect_name , ** manifest )
370367 except KubeException as e :
371368 raise ServiceUnavailable (
372369 f'Kubernetes { self .kind .lower ()} could not be created' ) from e
0 commit comments