From 42dd4967ed5e41d0939d92f3441d3521b962478d Mon Sep 17 00:00:00 2001 From: SrishT Date: Wed, 7 Apr 2021 09:59:20 +0530 Subject: [PATCH 1/6] Issue 122: Deprecate operator upgrade script Signed-off-by: SrishT --- doc/bookkeeper-options.md | 1 - doc/operator-upgrade.md | 6 --- doc/release_process.md | 10 ++--- tools/manifest_files/certificate.yaml | 22 ----------- tools/manifest_files/patch.yaml | 38 ------------------ tools/manifest_files/webhook.yaml | 42 -------------------- tools/operatorUpgrade.sh | 55 --------------------------- 7 files changed, 5 insertions(+), 169 deletions(-) delete mode 100644 tools/manifest_files/certificate.yaml delete mode 100644 tools/manifest_files/patch.yaml delete mode 100644 tools/manifest_files/webhook.yaml delete mode 100755 tools/operatorUpgrade.sh diff --git a/doc/bookkeeper-options.md b/doc/bookkeeper-options.md index 4fa313fb..ffdde80a 100644 --- a/doc/bookkeeper-options.md +++ b/doc/bookkeeper-options.md @@ -58,7 +58,6 @@ Default gcOpts: "-XX:+UseG1GC", "-XX:MaxGCPauseMillis=10", "-XX:+ParallelRefProcEnabled", -"-XX:+AggressiveOpts", "-XX:+DoEscapeAnalysis", "-XX:ParallelGCThreads=32", "-XX:ConcGCThreads=32", diff --git a/doc/operator-upgrade.md b/doc/operator-upgrade.md index b34dba14..a0508eee 100644 --- a/doc/operator-upgrade.md +++ b/doc/operator-upgrade.md @@ -34,8 +34,6 @@ where: ### Triggering the upgrade -#### Upgrade via helm - The upgrade to Operator 0.1.3 can be triggered using the following command ``` helm upgrade [BOOKKEEPER_OPERATOR_RELEASE_NAME] pravega/bookkeeper-operator --version=0.1.3 --set webhookCert.certName=[CERT_NAME] --set webhookCert.secretName=[SECRET_NAME] @@ -43,7 +41,3 @@ helm upgrade [BOOKKEEPER_OPERATOR_RELEASE_NAME] pravega/bookkeeper-operator --ve where: - `[CERT_NAME]` is the name of the certificate that has been created - `[SECRET_NAME]` is the name of the secret created by the above certificate - -#### Upgrade manually - -To manually trigger the upgrade to Operator 0.1.3, run the script `operatorUpgrade.sh` under [tools](https://github.com/pravega/bookkeeper-operator/blob/master/tools) folder. This script installs the certificate, patches and creates necessary K8s artifacts, needed by 0.1.3 Operator, prior to triggering the upgrade by updating the image tag in Operator deployment. diff --git a/doc/release_process.md b/doc/release_process.md index ec5a39e3..87ac2d6d 100644 --- a/doc/release_process.md +++ b/doc/release_process.md @@ -1,7 +1,7 @@ -# Pravega Operator Release Process +# Bookkeeper Operator Release Process ## Release Versioning -Pravega Operator follows the [Semantic Versioning](https://semver.org/) model for numbering releases. +Bookkeeper Operator follows the [Semantic Versioning](https://semver.org/) model for numbering releases. ## Introduction This page documents the tagging, branching and release process followed for Bookkeeper Operator. @@ -13,7 +13,7 @@ This page documents the tagging, branching and release process followed for Book This is a minor release with backward compatible changes and bug fixes. 1. Create a new branch with last number bumped up from the existing release branch. - For example, if the existing release branch is 0.1.2, the new branch will be named 0.1.2. + For example, if the existing release branch is 0.1.2, the new branch will be named 0.1.3. `$ git clone --branch git@github.com:pravega/bookkeeper-operator.git ` @@ -34,7 +34,7 @@ This is a minor release with backward compatible changes and bug fixes. 5. Create a new release candidate tag on this branch. Tag name should correspond to release-branch-name-. - For example: `0.1.2-rc1` for the first release candidate. + For example: `0.1.3-rc1` for the first release candidate. `$ git tag -a -m ""` @@ -50,7 +50,7 @@ This is a minor release with backward compatible changes and bug fixes. `$ docker push pravega/bookkeeper-operator:` -7. Once a release candidate is tested and there are no more changes needed, push a final release tag and image (like `0.1.2`) +7. Once a release candidate is tested and there are no more changes needed, push a final release tag and image (like `0.1.3`) 8. Release Notes diff --git a/tools/manifest_files/certificate.yaml b/tools/manifest_files/certificate.yaml deleted file mode 100644 index d0ddd993..00000000 --- a/tools/manifest_files/certificate.yaml +++ /dev/null @@ -1,22 +0,0 @@ -apiVersion: cert-manager.io/v1alpha2 -kind: Issuer -metadata: - name: selfsigned-issuer-bk - namespace: default -spec: - selfSigned: {} ---- -apiVersion: cert-manager.io/v1alpha2 -kind: Certificate -metadata: - name: selfsigned-cert-bk - namespace: default -spec: - secretName: selfsigned-cert-tls-bk - commonName: bookkeeper-webhook-svc.default.svc.cluster.local - dnsNames: - - bookkeeper-webhook-svc - - bookkeeper-webhook-svc.default.svc.cluster.local - - bookkeeper-webhook-svc.default.svc - issuerRef: - name: selfsigned-issuer-bk diff --git a/tools/manifest_files/patch.yaml b/tools/manifest_files/patch.yaml deleted file mode 100644 index 53d6d3e5..00000000 --- a/tools/manifest_files/patch.yaml +++ /dev/null @@ -1,38 +0,0 @@ -spec: - template: - spec: - containers: - - command: - - bookkeeper-operator - env: - - name: WATCH_NAMESPACE - - name: POD_NAME - valueFrom: - fieldRef: - apiVersion: v1 - fieldPath: metadata.name - - name: OPERATOR_NAME - value: bkop-bookkeeper-operator - image: pravega/bookkeeper-operator:0.1.2 - imagePullPolicy: Always - name: bkop-bookkeeper-operator - ports: - - containerPort: 60000 - name: metrics - protocol: TCP - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: webhook-cert - readOnly: true - - mountPath: /tmp/config - name: versions-volume - volumes: - - name: webhook-cert - secret: - secretName: selfsigned-cert-tls-bk - - name: versions-volume - configMap: - name: bk-supported-versions-map diff --git a/tools/manifest_files/webhook.yaml b/tools/manifest_files/webhook.yaml deleted file mode 100644 index f0361c8a..00000000 --- a/tools/manifest_files/webhook.yaml +++ /dev/null @@ -1,42 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: bookkeeper-webhook-svc - namespace: default -spec: - ports: - - port: 443 - protocol: TCP - targetPort: 443 - selector: - component: bookkeeper-operator - sessionAffinity: None - type: ClusterIP ---- - -apiVersion: admissionregistration.k8s.io/v1beta1 -kind: ValidatingWebhookConfiguration -metadata: - name: bookkeeper-webhook-config - annotations: - cert-manager.io/inject-ca-from: default/selfsigned-cert-bk -webhooks: -- clientConfig: - service: - name: bookkeeper-webhook-svc - namespace: default - path: /validate-bookkeeper-pravega-io-v1alpha1-bookkeepercluster - name: bookkeeperwebhook.pravega.io - failurePolicy: Fail - rules: - - apiGroups: - - bookkeeper.pravega.io - apiVersions: - - v1alpha1 - operations: - - CREATE - - UPDATE - resources: - - bookkeeperclusters - scope: "*" - timeoutSeconds: 30 diff --git a/tools/operatorUpgrade.sh b/tools/operatorUpgrade.sh deleted file mode 100755 index 19f96e4f..00000000 --- a/tools/operatorUpgrade.sh +++ /dev/null @@ -1,55 +0,0 @@ -#! /bin/bash -set -ex - -echo "Running pre-upgrade script for upgrading bookeeper operator from version prior to 0.1.3 to 0.1.3" - -if [ "$#" -ne 3 ]; then - echo "Error : Invalid number of arguments" - Usage: "./operatorUpgrade.sh " - exit 1 -fi - -function UpgradingToBookkeeperoperator(){ - -local op_deployment_name=$1 - -local namespace=$2 - -local op_name=`kubectl describe deploy ${op_deployment_name} -n ${namespace}| grep "Name:" | awk '{print $2}' | head -1` - -local op_image=$3 - -sed -i "s/namespace.*/namespace: $namespace"/ ./manifest_files/certificate.yaml - -local temp_string_for_dns=bookkeeper-webhook-svc.${namespace} - -sed -i "s/bookkeeper-webhook-svc.default/${temp_string_for_dns}"/ ./manifest_files/certificate.yaml - -#Installing the certificate -kubectl apply -f ./manifest_files/certificate.yaml - -#Reverting the changes back in the certificate.yaml file -sed -i "s/${temp_string_for_dns}/pravega-webhook-svc.default"/ ./manifest_files/certificate.yaml - -sed -i "s|cert.*|cert-manager.io/inject-ca-from: $namespace/selfsigned-cert-bk|" ./manifest_files/webhook.yaml - -sed -i "s/namespace.*/namespace: $namespace "/ ./manifest_files/webhook.yaml - -#Insalling the webhook -kubectl apply -f ./manifest_files/webhook.yaml - -sed -i "s|image:.*|image: $op_image|" ./manifest_files/patch.yaml - -sed -i "s/value:.*/value: $op_name "/ ./manifest_files/patch.yaml - -sed -i "/imagePullPolicy:.*/{n;s/name.*/name: $op_name/}" ./manifest_files/patch.yaml - -#deleting the mutatingwebhookconfiguration created by the previous operator -kubectl delete mutatingwebhookconfiguration bookkeeper-webhook-config - -#updating the operator using patch file -kubectl patch deployment $op_name --namespace ${namespace} --type merge --patch "$(cat ./manifest_files/patch.yaml)" - -} - -UpgradingToBookkeeperoperator $1 $2 $3 From 0e8dae3eb3e041dc6ac18a6a3f72cbf50d0dda4d Mon Sep 17 00:00:00 2001 From: SrishT Date: Wed, 7 Apr 2021 17:29:06 +0530 Subject: [PATCH 2/6] Issue 122: Adding bookkeeper troubleshooting Signed-off-by: SrishT --- doc/troubleshooting.md | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/doc/troubleshooting.md b/doc/troubleshooting.md index 139f4a51..a2c01e34 100644 --- a/doc/troubleshooting.md +++ b/doc/troubleshooting.md @@ -6,6 +6,7 @@ * [Unsupported Bookkeeper cluster version](#unsupported-bookkeeper-cluster-version) * [Unsupported upgrade from version](#unsupported-upgrade-from-version) * [Invalid Cookie Exception](#invalid-cookie-exception) +* [Unrecognized VM option](#unrecognized-vm-option) ## Bookkeeper operator Issues * [Operator pod in container creating state](#operator-pod-in-container-creating-state) @@ -77,6 +78,21 @@ org.apache.bookkeeper.bookie.BookieException$InvalidCookieException: we need to ensure that znode entries are cleaned up from previous installation. This can be done by either cleaning up znode entries from zookeeper nodes or by completely reinstalling zookeeper. +## Unrecognized VM option + +While installing bookkeeper, if the pods don't come up to ready state and the logs contain the error shown below + +``` +Unrecognized VM option 'PrintGCDateStamps' +Error: Could not create the Java Virtual Machine. +Error: A fatal exception has occurred. Program will exit. +``` +This is happening because some of default JVM options added by the operator are not supported by Java version used by bookkeeper. This issue can therefore be resolved by setting an additional JVM option `IgnoreUnrecognizedVMOptions` while installing the bookkeeper cluster as shown below. + +``` +helm install [RELEASE_NAME] pravega/bookkeeper --version=[VERSION] --set zookeeperUri=[ZOOKEEPER_HOST] --set 'jvmOptions.extraOpts={-XX:+IgnoreUnrecognizedVMOptions}' +``` + ## Operator pod in container creating state While installing operator, if the operator pod goes in `ContainerCreating` state for long time, make sure certificates are installed correctly. Please refer [prerequisite](../charts/bookkeeper-operator/README.md#Prerequisites) From 61f6b39ff01c91863a0c333c27b72f1ff7fbf20d Mon Sep 17 00:00:00 2001 From: SrishT Date: Wed, 7 Apr 2021 20:54:22 +0530 Subject: [PATCH 3/6] Issue 122: Addressing review comments Signed-off-by: SrishT --- charts/bookkeeper/templates/bookkeeper.yaml | 4 +++- charts/bookkeeper/values.yaml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/charts/bookkeeper/templates/bookkeeper.yaml b/charts/bookkeeper/templates/bookkeeper.yaml index 485a622a..c12d1f68 100644 --- a/charts/bookkeeper/templates/bookkeeper.yaml +++ b/charts/bookkeeper/templates/bookkeeper.yaml @@ -7,7 +7,9 @@ metadata: {{ include "bookkeeper.commonLabels" . | indent 4 }} spec: replicas: {{ .Values.replicas }} - maxUnavailableBookkeeperReplicas: {{ .Values.maxUnavailableBookkeeperReplicas }} + {{- if .Values.maxUnavailableReplicas }} + maxUnavailableBookkeeperReplicas: {{ .Values.maxUnavailableReplicas }} + {{- end }} image: imageSpec: repository: {{ .Values.image.repository }} diff --git a/charts/bookkeeper/values.yaml b/charts/bookkeeper/values.yaml index 9e24f95e..ce17c91c 100644 --- a/charts/bookkeeper/values.yaml +++ b/charts/bookkeeper/values.yaml @@ -15,7 +15,7 @@ hooks: backoffLimit: 10 replicas: 3 -maxUnavailableBookkeeperReplicas: 1 +maxUnavailableReplicas: zookeeperUri: zookeeper-client:2181 pravegaClusterName: pravega autoRecovery: true From 3c8a421b15c145e77dcaa0e5415b9a4fa63794c3 Mon Sep 17 00:00:00 2001 From: SrishT Date: Wed, 7 Apr 2021 21:14:20 +0530 Subject: [PATCH 4/6] Issue 122: Minor changes Signed-off-by: SrishT --- charts/bookkeeper/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charts/bookkeeper/README.md b/charts/bookkeeper/README.md index 355b20d9..0df45edd 100644 --- a/charts/bookkeeper/README.md +++ b/charts/bookkeeper/README.md @@ -146,7 +146,7 @@ The following table lists the configurable parameters of the Bookkeeper chart an | `image.repository` | Image repository | `pravega/bookkeeper` | | `image.pullPolicy` | Image pull policy | `IfNotPresent` | | `replicas` | Number of bookkeeper replicas | `3` | -| `maxUnavailableBookkeeperReplicas` | Number of maxUnavailableBookkeeperReplicas for bookkeeper PDB | `1` | +| `maxUnavailableReplicas` | Maximum number of unavailable replicas for bookkeeper PDB | | | `zookeeperUri` | Zookeeper client service URI | `zookeeper-client:2181` | | `pravegaClusterName` | Name of the pravega cluster | `pravega` | | `autoRecovery`| Enable bookkeeper auto-recovery | `true` | From ca3724788e0cb4ae6fa8c5724d5deae4855b7ea3 Mon Sep 17 00:00:00 2001 From: SrishT Date: Wed, 7 Apr 2021 21:35:05 +0530 Subject: [PATCH 5/6] Issue 122: Updating supported versions map Signed-off-by: SrishT --- .../templates/version_map.yaml | 42 ++++++++++--------- deploy/version_map.yaml | 21 +++++----- 2 files changed, 33 insertions(+), 30 deletions(-) diff --git a/charts/bookkeeper-operator/templates/version_map.yaml b/charts/bookkeeper-operator/templates/version_map.yaml index 5497f793..aada2a09 100644 --- a/charts/bookkeeper-operator/templates/version_map.yaml +++ b/charts/bookkeeper-operator/templates/version_map.yaml @@ -16,16 +16,17 @@ data: 0.3.1:0.3.1,0.3.2 0.3.2:0.3.2 0.4.0:0.4.0 - 0.5.0:0.5.0,0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0,{{ $version }} - 0.5.1:0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0,{{ $version }} - 0.6.0:0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0,{{ $version }} - 0.6.1:0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0,{{ $version }} - 0.6.2:0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0,{{ $version }} - 0.7.0:0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0,{{ $version }} - 0.7.1:0.7.1,0.7.2,0.7.3,0.8.0,0.9.0,{{ $version }} - 0.7.2:0.7.2,0.7.3,0.8.0,0.9.0,{{ $version }} - 0.7.3:0.7.3,0.8.0,0.9.0,{{ $version }} - 0.8.0:0.8.0,0.9.0,{{ $version }} + 0.5.0:0.5.0,0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0,{{ $version }} + 0.5.1:0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0,{{ $version }} + 0.6.0:0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0,{{ $version }} + 0.6.1:0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0,{{ $version }} + 0.6.2:0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0,{{ $version }} + 0.7.0:0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0,{{ $version }} + 0.7.1:0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0,{{ $version }} + 0.7.2:0.7.2,0.7.3,0.8.0,0.8.1,0.9.0,{{ $version }} + 0.7.3:0.7.3,0.8.0,0.8.1,0.9.0,{{ $version }} + 0.8.0:0.8.0,0.8.1,0.9.0,{{ $version }} + 0.8.1:0.8.1,0.9.0,{{ $version }} 0.9.0:0.9.0,{{ $version }} {{ $version }}:{{ $version }} {{- if $fromVersion }} @@ -38,15 +39,16 @@ data: 0.3.1:0.3.1,0.3.2 0.3.2:0.3.2 0.4.0:0.4.0 - 0.5.0:0.5.0,0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.5.1:0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.6.0:0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.6.1:0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.6.2:0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.7.0:0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.7.1:0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.7.2:0.7.2,0.7.3,0.8.0,0.9.0 - 0.7.3:0.7.3,0.8.0,0.9.0 - 0.8.0:0.8.0,0.9.0 + 0.5.0:0.5.0,0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.5.1:0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.6.0:0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.6.1:0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.6.2:0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.7.0:0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.7.1:0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.7.2:0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.7.3:0.7.3,0.8.0,0.8.1,0.9.0 + 0.8.0:0.8.0,0.8.1,0.9.0 + 0.8.1:0.8.1,0.9.0 0.9.0:0.9.0 {{- end }} diff --git a/deploy/version_map.yaml b/deploy/version_map.yaml index 6af68bcc..4f75f731 100644 --- a/deploy/version_map.yaml +++ b/deploy/version_map.yaml @@ -10,14 +10,15 @@ data: 0.3.1:0.3.1,0.3.2 0.3.2:0.3.2 0.4.0:0.4.0 - 0.5.0:0.5.0,0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.5.1:0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.6.0:0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.6.1:0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.6.2:0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.7.0:0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.7.1:0.7.1,0.7.2,0.7.3,0.8.0,0.9.0 - 0.7.2:0.7.2,0.7.3,0.8.0,0.9.0 - 0.7.3:0.7.3,0.8.0,0.9.0 - 0.8.0:0.8.0,0.9.0 + 0.5.0:0.5.0,0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.5.1:0.5.1,0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.6.0:0.6.0,0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.6.1:0.6.1,0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.6.2:0.6.2,0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.7.0:0.7.0,0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.7.1:0.7.1,0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.7.2:0.7.2,0.7.3,0.8.0,0.8.1,0.9.0 + 0.7.3:0.7.3,0.8.0,0.8.1,0.9.0 + 0.8.0:0.8.0,0.8.1,0.9.0 + 0.8.1:0.8.1,0.9.0 0.9.0:0.9.0 From c82b231f8c8aa256435867dd183ef1c0aa676535 Mon Sep 17 00:00:00 2001 From: SrishT Date: Thu, 8 Apr 2021 17:08:54 +0530 Subject: [PATCH 6/6] Issue 122: Minor changes Signed-off-by: SrishT --- doc/development.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/doc/development.md b/doc/development.md index f6288485..ff794a3f 100644 --- a/doc/development.md +++ b/doc/development.md @@ -1,6 +1,6 @@ ## Development -## Contents +### Contents * [Requirements](#requirements) * [Build the operator image](#build-the-operator-image) @@ -8,10 +8,10 @@ * [Installation on Google Kubernetes Engine](#installation-on-google-kubernetes-engine) * [Install the Operator in Test Mode](#install-the-operator-in-test-mode) -### Requirements +#### Requirements - Go 1.13+ -#### Install Go +##### Install Go You can install go directly or use gvm ( go version manager) @@ -55,7 +55,7 @@ For pulling the dependencies we are using go modules for more details on go modu https://blog.golang.org/using-go-modules -### Build the operator image +#### Build the operator image Use the `make` command to build the Bookkeeper operator image, it will also automatically get all the dependencies by using the go.mod file. @@ -93,7 +93,7 @@ where: - `[REGISTRY_HOST]` is your registry host or IP (e.g. `registry.example.com`) - `[REGISTRY_PORT]` is your registry port (e.g. `5000`) -### Run the Operator locally +#### Run the Operator locally You can run the Operator locally to help with development, testing, and debugging tasks. @@ -103,7 +103,7 @@ The following command will run the Operator locally with the default Kubernetes $ make run-local ``` -### Installation on Google Kubernetes Engine +#### Installation on Google Kubernetes Engine The Operator requires elevated privileges in order to watch for the custom resources. @@ -121,5 +121,5 @@ On GKE, the following command must be run before installing the Operator, replac $ kubectl create clusterrolebinding your-user-cluster-admin-binding --clusterrole=cluster-admin --user=your.google.cloud.email@example.org ``` -### Install the Operator in Test Mode +#### Install the Operator in Test Mode The Operator can be run in `test mode` if we want to deploy the Bookkeeper Cluster on minikube or on a cluster with very limited resources by setting `testmode: true` in `values.yaml` file. Operator running in test mode skips the minimum replica requirement checks. Test mode provides a bare minimum setup and is not recommended to be used in production environments.