@@ -121,18 +121,26 @@ func createOSPolicyAssignment(ctx context.Context, client *osconfigZonalV1alpha.
121121 defer gpMx .Unlock ()
122122 op , err := client .CreateOSPolicyAssignment (ctx , req )
123123 if err != nil {
124- return nil , err
124+ return nil , fmt . Errorf ( "error running CreateOSPolicyAssignment: %s" , utils . GetStatusFromError ( err ))
125125 }
126126 //return op.Wait(ctx)
127127 _ = op
128128
129+ time .Sleep (30 * time .Second )
129130 getReq := & osconfigpb.GetOSPolicyAssignmentRequest {Name : fmt .Sprintf ("%s/osPolicyAssignments/%s" , req .GetParent (), req .GetOsPolicyAssignmentId ())}
130- ospa , err := client .GetOSPolicyAssignment (ctx , getReq )
131- if err != nil {
132- return nil , err
133- }
134-
135- return ospa , nil
131+ for i := 0 ; i < 20 ; i ++ {
132+ ospa , err := client .GetOSPolicyAssignment (ctx , getReq )
133+ if err != nil {
134+ return nil , fmt .Errorf ("error running GetOSPolicyAssignment: %s" , utils .GetStatusFromError (err ))
135+ }
136+ switch ospa .GetRolloutState () {
137+ case osconfigpb .OSPolicyAssignment_IN_PROGRESS , osconfigpb .OSPolicyAssignment_CANCELLED :
138+ return ospa , nil
139+ }
140+ time .Sleep (10 * time .Second )
141+ }
142+
143+ return nil , fmt .Errorf ("timed out waiting for rollout to finish" )
136144}
137145
138146func runTest (ctx context.Context , testCase * junitxml.TestCase , testSetup * osPolicyTestSetup , logger * log.Logger ) {
@@ -180,7 +188,7 @@ func runTest(ctx context.Context, testCase *junitxml.TestCase, testSetup *osPoli
180188 testCase .Logf ("Creating OSPolicyAssignment" )
181189 ospa , err := createOSPolicyAssignment (ctx , client , req )
182190 if err != nil {
183- testCase .WriteFailure ("Error running CreateOSPolicyAssignment : %s" , utils . GetStatusFromError ( err ) )
191+ testCase .WriteFailure ("Error running createOSPolicyAssignment : %s" , err )
184192 return
185193 }
186194 defer cleanupOSPolicyAssignment (ctx , testCase , ospa .GetName ())
0 commit comments