installObjectStore installs the object storage server in a given namespace
( env *environment.TestingEnvironment, setup Setup, timeoutSeconds uint, )
| 93 | |
| 94 | // installObjectStore installs the object storage server in a given namespace |
| 95 | func installObjectStore( |
| 96 | env *environment.TestingEnvironment, |
| 97 | setup Setup, |
| 98 | timeoutSeconds uint, |
| 99 | ) error { |
| 100 | if err := env.Client.Create(env.Ctx, &setup.PersistentVolumeClaim); err != nil { |
| 101 | return err |
| 102 | } |
| 103 | if err := env.Client.Create(env.Ctx, &setup.Deployment); err != nil { |
| 104 | return err |
| 105 | } |
| 106 | err := retry.New( |
| 107 | retry.Attempts(timeoutSeconds), |
| 108 | retry.Delay(time.Second), |
| 109 | retry.DelayType(retry.FixedDelay)). |
| 110 | Do( |
| 111 | func() error { |
| 112 | deployment := &appsv1.Deployment{} |
| 113 | if err := env.Client.Get( |
| 114 | env.Ctx, |
| 115 | client.ObjectKey{Namespace: setup.Deployment.Namespace, Name: setup.Deployment.Name}, |
| 116 | deployment, |
| 117 | ); err != nil { |
| 118 | return err |
| 119 | } |
| 120 | if deployment.Status.ReadyReplicas != *setup.Deployment.Spec.Replicas { |
| 121 | return fmt.Errorf("not all replicas are ready. Expected %v, found %v", |
| 122 | *setup.Deployment.Spec.Replicas, |
| 123 | deployment.Status.ReadyReplicas, |
| 124 | ) |
| 125 | } |
| 126 | return nil |
| 127 | }, |
| 128 | ) |
| 129 | if err != nil { |
| 130 | return err |
| 131 | } |
| 132 | err = env.Client.Create(env.Ctx, &setup.Service) |
| 133 | return err |
| 134 | } |
| 135 | |
| 136 | // defaultSetup returns the definition for the default object storage setup |
| 137 | func defaultSetup(namespace string) (Setup, error) { |