@@ -28,6 +28,7 @@ import (
2828
2929 driver "github.com/arangodb/go-driver"
3030 "github.com/arangodb/go-driver/agency"
31+ "github.com/pkg/errors"
3132 "github.com/rs/zerolog"
3233
3334 api "github.com/arangodb/kube-arangodb/pkg/apis/deployment/v1alpha"
@@ -143,20 +144,9 @@ func (a *actionWaitForMemberUp) checkProgressAgent(ctx context.Context) (bool, b
143144// of a cluster deployment (coordinator/dbserver).
144145func (a * actionWaitForMemberUp ) checkProgressCluster (ctx context.Context ) (bool , bool , error ) {
145146 log := a .log
146- c , err := a .actionCtx .GetDatabaseClient ( ctx )
147+ h , err := a .actionCtx .GetDeploymentHealth ( )
147148 if err != nil {
148- log .Debug ().Err (err ).Msg ("Failed to create database client" )
149- return false , false , maskAny (err )
150- }
151- cluster , err := c .Cluster (ctx )
152- if err != nil {
153- log .Debug ().Err (err ).Msg ("Failed to access cluster" )
154- return false , false , maskAny (err )
155- }
156- h , err := cluster .Health (ctx )
157- if err != nil {
158- log .Debug ().Err (err ).Msg ("Failed to get cluster health" )
159- return false , false , maskAny (err )
149+ return false , false , maskAny (errors .Wrapf (err , "failed to get cluster health" ))
160150 }
161151 sh , found := h .Health [driver .ServerID (a .action .MemberID )]
162152 if ! found {
@@ -168,12 +158,24 @@ func (a *actionWaitForMemberUp) checkProgressCluster(ctx context.Context) (bool,
168158 return false , false , nil
169159 }
170160 if a .action .Group == api .ServerGroupDBServers {
171- dbs , err := c .Databases (ctx )
161+ inventoryCtx , cancel := context .WithTimeout (ctx , 5 * time .Second )
162+ defer cancel ()
163+ c , err := a .actionCtx .GetDatabaseClient (ctx )
164+ if err != nil {
165+ log .Debug ().Err (err ).Msg ("Failed to create database client" )
166+ return false , false , maskAny (err )
167+ }
168+ cluster , err := c .Cluster (ctx )
169+ if err != nil {
170+ log .Debug ().Err (err ).Msg ("Failed to access cluster" )
171+ return false , false , maskAny (err )
172+ }
173+ dbs , err := c .Databases (inventoryCtx )
172174 if err != nil {
173175 return false , false , err
174176 }
175177 for _ , db := range dbs {
176- inv , err := cluster .DatabaseInventory (ctx , db )
178+ inv , err := cluster .DatabaseInventory (inventoryCtx , db )
177179 if err != nil {
178180 return false , false , err
179181 }
0 commit comments