@@ -32,6 +32,7 @@ import (
3232 "github.com/arangodb/arangosync/tasks"
3333 driver "github.com/arangodb/go-driver"
3434 "github.com/arangodb/go-driver/agency"
35+ "github.com/rs/zerolog/log"
3536 "k8s.io/api/core/v1"
3637 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
3738 "k8s.io/client-go/kubernetes"
@@ -197,23 +198,23 @@ func (d *Deployment) GetSyncServerClient(ctx context.Context, group api.ServerGr
197198
198199// CreateMember adds a new member to the given group.
199200// If ID is non-empty, it will be used, otherwise a new ID is created.
200- func (d * Deployment ) CreateMember (group api.ServerGroup , id string ) error {
201+ func (d * Deployment ) CreateMember (group api.ServerGroup , id string ) ( string , error ) {
201202 log := d .deps .Log
202203 status , lastVersion := d .GetStatus ()
203204 id , err := createMember (log , & status , group , id , d .apiObject )
204205 if err != nil {
205206 log .Debug ().Err (err ).Str ("group" , group .AsRole ()).Msg ("Failed to create member" )
206- return maskAny (err )
207+ return "" , maskAny (err )
207208 }
208209 // Save added member
209210 if err := d .UpdateStatus (status , lastVersion ); err != nil {
210211 log .Debug ().Err (err ).Msg ("Updating CR status failed" )
211- return maskAny (err )
212+ return "" , maskAny (err )
212213 }
213214 // Create event about it
214215 d .CreateEvent (k8sutil .NewMemberAddEvent (id , group .AsRole (), d .apiObject ))
215216
216- return nil
217+ return id , nil
217218}
218219
219220// DeletePod deletes a pod with given name in the namespace
@@ -310,6 +311,16 @@ func (d *Deployment) GetOwnedPVCs() ([]v1.PersistentVolumeClaim, error) {
310311 return myPVCs , nil
311312}
312313
314+ // GetPvc gets a PVC by the given name, in the samespace of the deployment.
315+ func (d * Deployment ) GetPvc (pvcName string ) (* v1.PersistentVolumeClaim , error ) {
316+ pvc , err := d .deps .KubeCli .CoreV1 ().PersistentVolumeClaims (d .apiObject .GetNamespace ()).Get (pvcName , metav1.GetOptions {})
317+ if err != nil {
318+ log .Debug ().Err (err ).Str ("pvc-name" , pvcName ).Msg ("Failed to get PVC" )
319+ return nil , maskAny (err )
320+ }
321+ return pvc , nil
322+ }
323+
313324// GetTLSKeyfile returns the keyfile encoded TLS certificate+key for
314325// the given member.
315326func (d * Deployment ) GetTLSKeyfile (group api.ServerGroup , member api.MemberStatus ) (string , error ) {
0 commit comments