Skip to content

Commit 9218d81

Browse files
author
lamai93
committed
Merge remote-tracking branch 'origin/master' into feature/arangodbexporter
2 parents 7ece108 + 241e91a commit 9218d81

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+3437
-188
lines changed

CHANGELOG.md

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,36 @@
11
# Change Log
22

3+
## [0.3.10](---) (XXXX-XX-XX)
4+
- Added Pod Disruption Budgets for all server groups in production mode.
5+
6+
## [0.3.9](https://github.com/arangodb/kube-arangodb/tree/0.3.9) (2019-02-28)
7+
[Full Changelog](https://github.com/arangodb/kube-arangodb/compare/0.3.8...0.3.9)
8+
- Fixed a serious bug in rolling upgrades which was introduced in 0.3.8.
9+
- Document the drain procedure for k8s nodes.
10+
- Wait for shards to be in sync before continuing upgrade process.
11+
- Rotate members when patch-level upgrade.
12+
- Don't trigger cleanout server during upgrade.
13+
- More robust remove-server actions.
14+
15+
## [0.3.8](https://github.com/arangodb/kube-arangodb/tree/0.3.8) (2019-02-19)
16+
[Full Changelog](https://github.com/arangodb/kube-arangodb/compare/0.3.7...0.3.8)
17+
18+
- Added scaling limits to spec and enforce in operator.
19+
- npm update for dashboard to alleviate security problems.
20+
- Added bare metal walk through to documentation.
21+
- Wait for coordinator to be ready in kubernetes.
22+
- Schedule only one CleanOutServer job in drain scenario, introduce
23+
Drain phase.
24+
- Take care of case that server is terminated by drain before cleanout
25+
has completed.
26+
- Added undocumented force-status-reload status field.
27+
- Take care of case that all coordinators have failed: delete all
28+
coordinator pods and create new ones.
29+
- Updated lodash for dashboard.
30+
- Try harder to remove server from cluster if it does not work right away.
31+
- Update member status, if once decided to drain, continue draining.
32+
This takes care of more corner cases.
33+
334
## [0.3.7](https://github.com/arangodb/kube-arangodb/tree/0.3.7) (2019-01-03)
435
[Full Changelog](https://github.com/arangodb/kube-arangodb/compare/0.3.6...0.3.7)
536

@@ -379,4 +410,4 @@
379410

380411

381412

382-
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*
413+
\* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)*

MAINTAINERS.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ make run-tests
1616
To prepare for a release, do the following:
1717

1818
- Make sure all tests are OK.
19+
- Update the CHANGELOG manually, since the automatic CHANGELOG
20+
generation is switched off (did not work in many cases).
1921

2022
## Building a release
2123

Makefile

Lines changed: 90 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ RELEASE := $(GOBUILDDIR)/bin/release
9292
GHRELEASE := $(GOBUILDDIR)/bin/github-release
9393

9494
TESTLENGTHOPTIONS := -test.short
95-
TESTTIMEOUT := 20m
95+
TESTTIMEOUT := 30m
9696
ifeq ($(LONG), 1)
9797
TESTLENGTHOPTIONS :=
9898
TESTTIMEOUT := 180m
@@ -104,6 +104,22 @@ endif
104104
SOURCES := $(shell find $(SRCDIR) -name '*.go' -not -path './test/*')
105105
DASHBOARDSOURCES := $(shell find $(DASHBOARDDIR)/src -name '*.js' -not -path './test/*') $(DASHBOARDDIR)/package.json
106106

107+
ifndef ARANGOSYNCSRCDIR
108+
ARANGOSYNCSRCDIR := $(SCRIPTDIR)/arangosync
109+
endif
110+
DOCKERARANGOSYNCCTRLFILE=tests/sync/Dockerfile
111+
ifndef ARANGOSYNCTESTCTRLIMAGE
112+
ARANGOSYNCTESTCTRLIMAGE := $(DOCKERNAMESPACE)/kube-arangodb-sync-test-ctrl$(IMAGESUFFIX)
113+
endif
114+
ifndef ARANGOSYNCTESTIMAGE
115+
ARANGOSYNCTESTIMAGE := $(DOCKERNAMESPACE)/kube-arangodb-sync-test$(IMAGESUFFIX)
116+
endif
117+
ifndef ARANGOSYNCIMAGE
118+
ARANGOSYNCIMAGE := $(DOCKERNAMESPACE)/kube-arangodb-sync$(IMAGESUFFIX)
119+
endif
120+
ARANGOSYNCTESTCTRLBINNAME := $(PROJECT)_sync_test_ctrl
121+
ARANGOSYNCTESTCTRLBIN := $(BINDIR)/$(ARANGOSYNCTESTCTRLBINNAME)
122+
107123
.PHONY: all
108124
all: verify-generated build
109125

@@ -294,6 +310,27 @@ $(TESTBIN): $(GOBUILDDIR) $(SOURCES)
294310
docker-test: $(TESTBIN)
295311
docker build --quiet -f $(DOCKERTESTFILE) -t $(TESTIMAGE) .
296312

313+
.PHONY: run-upgrade-tests
314+
run-upgrade-tests:
315+
TESTOPTIONS="-test.run=TestUpgrade" make run-tests
316+
317+
.PHONY: prepare-run-tests
318+
prepare-run-tests:
319+
ifdef PUSHIMAGES
320+
docker push $(OPERATORIMAGE)
321+
endif
322+
ifneq ($(DEPLOYMENTNAMESPACE), default)
323+
$(ROOTDIR)/scripts/kube_delete_namespace.sh $(DEPLOYMENTNAMESPACE)
324+
kubectl create namespace $(DEPLOYMENTNAMESPACE)
325+
endif
326+
kubectl apply -f $(MANIFESTPATHCRD)
327+
kubectl apply -f $(MANIFESTPATHSTORAGE)
328+
kubectl apply -f $(MANIFESTPATHDEPLOYMENT)
329+
kubectl apply -f $(MANIFESTPATHDEPLOYMENTREPLICATION)
330+
kubectl apply -f $(MANIFESTPATHTEST)
331+
$(ROOTDIR)/scripts/kube_create_storage.sh $(DEPLOYMENTNAMESPACE)
332+
$(ROOTDIR)/scripts/kube_create_license_key_secret.sh "$(DEPLOYMENTNAMESPACE)" '$(ENTERPRISELICENSE)'
333+
297334
.PHONY: run-tests
298335
run-tests: docker-test
299336
ifdef PUSHIMAGES
@@ -311,7 +348,7 @@ endif
311348
kubectl apply -f $(MANIFESTPATHTEST)
312349
$(ROOTDIR)/scripts/kube_create_storage.sh $(DEPLOYMENTNAMESPACE)
313350
$(ROOTDIR)/scripts/kube_create_license_key_secret.sh "$(DEPLOYMENTNAMESPACE)" '$(ENTERPRISELICENSE)'
314-
$(ROOTDIR)/scripts/kube_run_tests.sh $(DEPLOYMENTNAMESPACE) $(TESTIMAGE) "$(ARANGODIMAGE)" '$(ENTERPRISEIMAGE)' $(TESTTIMEOUT) $(TESTLENGTHOPTIONS)
351+
$(ROOTDIR)/scripts/kube_run_tests.sh $(DEPLOYMENTNAMESPACE) $(TESTIMAGE) "$(ARANGODIMAGE)" '$(ENTERPRISEIMAGE)' $(TESTTIMEOUT) $(TESTLENGTHOPTIONS) $(TESTOPTIONS)
315352

316353
$(DURATIONTESTBIN): $(GOBUILDDIR) $(SOURCES)
317354
@mkdir -p $(BINDIR)
@@ -420,3 +457,54 @@ redeploy-operator: delete-operator manifests
420457
kubectl apply -f $(MANIFESTPATHDEPLOYMENTREPLICATION)
421458
kubectl apply -f $(MANIFESTPATHTEST)
422459
kubectl get pods
460+
461+
## ArangoSync Tests
462+
463+
$(ARANGOSYNCTESTCTRLBIN): $(GOBUILDDIR) $(SOURCES)
464+
@mkdir -p $(BINDIR)
465+
docker run \
466+
--rm \
467+
-v $(SRCDIR):/usr/code \
468+
-v $(CACHEVOL):/usr/gocache \
469+
-e GOCACHE=/usr/gocache \
470+
-e GOPATH=/usr/code/.gobuild \
471+
-e GOOS=linux \
472+
-e GOARCH=amd64 \
473+
-e CGO_ENABLED=0 \
474+
-w /usr/code/ \
475+
golang:$(GOVERSION) \
476+
go build -installsuffix cgo -ldflags "-X main.projectVersion=$(VERSION) -X main.projectBuild=$(COMMIT)" -o /usr/code/bin/$(ARANGOSYNCTESTCTRLBINNAME) $(REPOPATH)/tests/sync
477+
478+
.PHONY: check-sync-vars
479+
check-sync-vars:
480+
ifndef ARANGOSYNCSRCDIR
481+
@echo ARANGOSYNCSRCDIR must point to the arangosync source directory
482+
@exit 1
483+
endif
484+
ifndef ARANGODIMAGE
485+
@echo ARANGODIMAGE must point to the usable arangodb enterprise image
486+
@exit 1
487+
endif
488+
ifndef ENTERPRISELICENSE
489+
@echo For tests using ArangoSync you most likely need the license key. Please set ENTERPRISELICENSE.
490+
@exit 1
491+
endif
492+
@echo Using ArangoSync source at $(ARANGOSYNCSRCDIR)
493+
@echo Using ArangoDB image $(ARANGODIMAGE)
494+
495+
.PHONY: docker-sync
496+
docker-sync: check-sync-vars
497+
SYNCIMAGE=$(ARANGOSYNCIMAGE) TESTIMAGE=$(ARANGOSYNCTESTIMAGE) $(MAKE) -C $(ARANGOSYNCSRCDIR) docker docker-test
498+
499+
.PHONY:
500+
docker-sync-test-ctrl: $(ARANGOSYNCTESTCTRLBIN)
501+
docker build --quiet -f $(DOCKERARANGOSYNCCTRLFILE) -t $(ARANGOSYNCTESTCTRLIMAGE) .
502+
503+
.PHONY:
504+
run-sync-tests: check-vars docker-sync docker-sync-test-ctrl prepare-run-tests
505+
ifdef PUSHIMAGES
506+
docker push $(ARANGOSYNCTESTCTRLIMAGE)
507+
docker push $(ARANGOSYNCTESTIMAGE)
508+
docker push $(ARANGOSYNCIMAGE)
509+
endif
510+
$(ROOTDIR)/scripts/kube_run_sync_tests.sh $(DEPLOYMENTNAMESPACE) '$(ARANGODIMAGE)' '$(ARANGOSYNCIMAGE)' '$(ARANGOSYNCTESTIMAGE)' '$(ARANGOSYNCTESTCTRLIMAGE)' '$(TESTOPTIONS)'

README.md

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,25 +39,30 @@ it is intended to be.
3939

4040
## Installation of latest release using Helm
4141

42+
**WARNING**: There is a problem with rolling upgrades in version 0.3.8.
43+
**DO NOT USE 0.3.8 FOR ROLLING UPGRADES.** If you are still using 0.3.8,
44+
then upgrade to 0.3.9 of the operator first before running any rolling
45+
upgrade.
46+
4247
```bash
4348
# The following will install the custom resources required by the operators.
44-
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.7/kube-arangodb-crd.tgz
49+
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.9/kube-arangodb-crd.tgz
4550
# The following will install the operator for `ArangoDeployment` &
4651
# `ArangoDeploymentReplication` resources.
47-
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.7/kube-arangodb.tgz
52+
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.9/kube-arangodb.tgz
4853
# To use `ArangoLocalStorage`, also run
49-
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.7/kube-arangodb-storage.tgz
54+
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.9/kube-arangodb-storage.tgz
5055
```
5156

5257
## Installation of latest release using Kubectl
5358

5459
```bash
55-
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.7/manifests/arango-crd.yaml
56-
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.7/manifests/arango-deployment.yaml
60+
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.9/manifests/arango-crd.yaml
61+
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.9/manifests/arango-deployment.yaml
5762
# To use `ArangoLocalStorage`, also run
58-
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.7/manifests/arango-storage.yaml
63+
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.9/manifests/arango-storage.yaml
5964
# To use `ArangoDeploymentReplication`, also run
60-
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.7/manifests/arango-deployment-replication.yaml
65+
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.9/manifests/arango-deployment-replication.yaml
6166
```
6267

6368
## Building

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0.3.7+git
1+
0.3.9+git

0 commit comments

Comments
 (0)