@@ -930,20 +930,7 @@ def _scale_rc(self, namespace, name, desired):
930930 logger .info ("scaling RC {} in Namespace {} from {} to {} replicas" .format (name , namespace , current , desired )) # noqa
931931
932932 self ._update_rc (namespace , name , rc )
933-
934- resource_ver = rc ['metadata' ]['resourceVersion' ]
935- logger .info ("waiting for RC {} to get a newer resource version than {} (30s timeout)" .format (name , resource_ver )) # noqa
936- for waited in range (30 ):
937- js_template = self ._get_rc (namespace , name ).json ()
938- if js_template ["metadata" ]["resourceVersion" ] != resource_ver :
939- break
940-
941- if waited > 0 and (waited % 10 ) == 0 :
942- logger .info ("waited {}s so far for a new resource version" .format (waited ))
943-
944- time .sleep (1 )
945-
946- logger .info ("RC {} has a new resource version {}" .format (name , js_template ["metadata" ]["resourceVersion" ])) # noqa
933+ self ._wait_for_rc_ready (namespace , name )
947934
948935 # Get application container
949936 container_name = '{}-{}' .format (
@@ -1032,16 +1019,21 @@ def _create_rc(self, namespace, name, image, command, **kwargs): # noqa
10321019
10331020 def _wait_for_rc_ready (self , namespace , name ):
10341021 """
1035- Waits for status/observedGeneration and metadata/generation to match
1036- Indicates RC is ready
1022+ Looks at status/observedGeneration and metadata/generation and
1023+ waits for observedGeneration >= generation to happen, indicates RC is ready
1024+
1025+ More information is also available at:
1026+ https://github.com/kubernetes/kubernetes/blob/master/docs/devel/api-conventions.md#metadata
10371027 """
1028+ logger .debug ("waiting for ReplicationController {} to get a newer generation (30s timeout)" .format (name )) # noqa
10381029 for _ in range (30 ):
10391030 try :
10401031 rc = self ._get_rc (namespace , name ).json ()
10411032 if (
10421033 "observedGeneration" in rc ["status" ] and
1043- rc ["metadata " ]["generation " ] == rc ["status " ]["observedGeneration " ]
1034+ rc ["status " ]["observedGeneration " ] >= rc ["metadata " ]["generation " ]
10441035 ):
1036+ logger .debug ("ReplicationController {} got a newer generation (30s timeout)" .format (name )) # noqa
10451037 break
10461038
10471039 time .sleep (1 )
0 commit comments