Skip to content

Commit 89ab9a2

Browse files
authored
Fix communication with ArangoD API in version 3.5.1 (#465)
1 parent 3cc2b4f commit 89ab9a2

File tree

15 files changed

+98
-19
lines changed

15 files changed

+98
-19
lines changed

chart/kube-arangodb/templates/deployment.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ spec:
4949
hostNetwork: false
5050
hostPID: false
5151
hostIPC: false
52+
securityContext:
53+
runAsNonRoot: true
54+
runAsUser: 1000
5255
containers:
5356
- name: operator
5457
imagePullPolicy: {{ .Values.operator.imagePullPolicy }}

chart/kube-arangodb/templates/storage-operator/cluster-role.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ metadata:
1313
app.kubernetes.io/instance: {{ .Release.Name }}
1414
release: {{ .Release.Name }}
1515
rules:
16+
- apiGroups: [""]
17+
resources: ["persistentvolumes", "persistentvolumeclaims", "endpoints", "events", "services"]
18+
verbs: ["*"]
1619
- apiGroups: ["apiextensions.k8s.io"]
1720
resources: ["customresourcedefinitions"]
1821
verbs: ["get"]

chart/kube-arangodb/templates/storage-operator/role.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ metadata:
1313
app.kubernetes.io/instance: {{ .Release.Name }}
1414
release: {{ .Release.Name }}
1515
rules:
16-
- apiGroups: [""]
17-
resources: ["persistentvolumes", "persistentvolumeclaims", "endpoints", "events", "services"]
18-
verbs: ["*"]
1916
- apiGroups: [""]
2017
resources: ["pods"]
2118
verbs: ["get", "update"]

manifests/arango-backup.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,9 @@ spec:
174174
hostNetwork: false
175175
hostPID: false
176176
hostIPC: false
177+
securityContext:
178+
runAsNonRoot: true
179+
runAsUser: 1000
177180
containers:
178181
- name: operator
179182
imagePullPolicy: Always

manifests/arango-deployment-replication.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,9 @@ spec:
171171
hostNetwork: false
172172
hostPID: false
173173
hostIPC: false
174+
securityContext:
175+
runAsNonRoot: true
176+
runAsUser: 1000
174177
containers:
175178
- name: operator
176179
imagePullPolicy: Always

manifests/arango-deployment.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,9 @@ spec:
218218
hostNetwork: false
219219
hostPID: false
220220
hostIPC: false
221+
securityContext:
222+
runAsNonRoot: true
223+
runAsUser: 1000
221224
containers:
222225
- name: operator
223226
imagePullPolicy: Always

manifests/arango-storage.yaml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ metadata:
4848
app.kubernetes.io/instance: storage
4949
release: storage
5050
rules:
51+
- apiGroups: [""]
52+
resources: ["persistentvolumes", "persistentvolumeclaims", "endpoints", "events", "services"]
53+
verbs: ["*"]
5154
- apiGroups: ["apiextensions.k8s.io"]
5255
resources: ["customresourcedefinitions"]
5356
verbs: ["get"]
@@ -95,9 +98,6 @@ metadata:
9598
app.kubernetes.io/instance: storage
9699
release: storage
97100
rules:
98-
- apiGroups: [""]
99-
resources: ["persistentvolumes", "persistentvolumeclaims", "endpoints", "events", "services"]
100-
verbs: ["*"]
101101
- apiGroups: [""]
102102
resources: ["pods"]
103103
verbs: ["get", "update"]
@@ -203,6 +203,9 @@ spec:
203203
hostNetwork: false
204204
hostPID: false
205205
hostIPC: false
206+
securityContext:
207+
runAsNonRoot: true
208+
runAsUser: 1000
206209
containers:
207210
- name: operator
208211
imagePullPolicy: Always

pkg/backup/handlers/arango/backup/arango_client_impl.go

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -109,15 +109,16 @@ func (ac *arangoClientBackupImpl) Get(backupID driver.BackupID) (driver.BackupMe
109109
ctx, cancel := context.WithTimeout(context.Background(), defaultArangoClientTimeout)
110110
defer cancel()
111111

112-
list, err := ac.driver.Backup().List(ctx, &driver.BackupListOptions{ID: backupID})
112+
// list, err := ac.driver.Backup().List(ctx, &driver.BackupListOptions{ID: backupID})
113+
list, err := ac.driver.Backup().List(ctx, nil)
113114
if err != nil {
114115
return driver.BackupMeta{}, err
115116
}
116117

117-
for id, meta := range list {
118-
if id == backupID {
119-
return meta, nil
120-
}
118+
meta, ok := list[backupID]
119+
120+
if ok {
121+
return meta, nil
121122
}
122123

123124
return driver.BackupMeta{}, driver.ArangoError{
@@ -201,12 +202,15 @@ func (ac *arangoClientBackupImpl) Progress(jobID driver.BackupTransferJobID) (Ar
201202
completedCount++
202203
case driver.TransferAcknowledged:
203204
case driver.TransferStarted:
205+
case "":
206+
completedCount++
204207
default:
205208
return ArangoBackupProgress{}, fmt.Errorf("Unknown transfere status: %s", status.Status)
206209
}
207210
}
208211

209-
ret.Completed = completedCount == len(report.DBServers)
212+
// Check if all defined servers are completed and total number of files is greater than 0 (there is at least 1 file per server)
213+
ret.Completed = completedCount == len(report.DBServers) && total > 0
210214
if total != 0 {
211215
ret.Progress = (100 * done) / total
212216
}

pkg/backup/handlers/arango/backup/arango_client_mock_test.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,14 +209,17 @@ func (m *mockArangoClientBackup) Create() (ArangoBackupCreateResponse, error) {
209209
}
210210
}
211211

212+
servers := uint(rand.Uint32())
213+
212214
meta := driver.BackupMeta{
213215
ID: id,
214216
Version: mockVersion,
215-
NumberOfDBServers: uint(rand.Uint32()),
217+
NumberOfDBServers: servers,
216218
DateTime: time.Now(),
217219
SizeInBytes: rand.Uint64(),
218220
PotentiallyInconsistent: inconsistent,
219221
NumberOfFiles: uint(rand.Uint32()),
222+
NumberOfPiecesPresent: servers,
220223
Available: true,
221224
}
222225

pkg/backup/handlers/arango/backup/handler.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -333,9 +333,16 @@ func (h *handler) Handle(item operation.Item) error {
333333
status.State,
334334
status.Message)
335335
} else {
336-
h.eventRecorder.Normal(b, StateChange, "Transiting from %s to %s",
337-
b.Status.State,
338-
status.State)
336+
if status.Message != "" {
337+
h.eventRecorder.Normal(b, StateChange, "Transiting from %s to %s with message: %s",
338+
b.Status.State,
339+
status.State,
340+
status.Message)
341+
} else {
342+
h.eventRecorder.Normal(b, StateChange, "Transiting from %s to %s",
343+
b.Status.State,
344+
status.State)
345+
}
339346
}
340347
}
341348

0 commit comments

Comments
 (0)