Coder Social home page Coder Social logo

mesosphere / kudo-cassandra-operator Goto Github PK

View Code? Open in Web Editor NEW
10.0 66.0 3.0 40.18 MB

KUDO Cassandra Operator

Home Page: https://kudo.dev

License: Apache License 2.0

Dockerfile 1.17% Shell 16.40% Go 67.11% Python 14.99% Makefile 0.34%
ksphere

kudo-cassandra-operator's Issues

Wrong instructions for getting endpoints

The document contains the same snippet twice for two different sections:

Get endpoints

kubectl get events \
        --sort-by='{.lastTimestamp}' \
        -n "${instance_namespace}"

Kubernetes events in the instance namespace

kubectl get events \
        --sort-by='{.lastTimestamp}' \
        -n "${instance_namespace}"

compiling scripts fail in macOS

When trying to run the script ./tools/compile_templates.sh I get

./tools/compile_templates.sh
readlink: illegal option -- f
usage: readlink [-n] [file ...]

And I don't see any requirement of a specific version of readlink.
The fix should remove the use of specific binaries which behavior is inconsistent across different OS

external_service_test.go does not wait for service to disappear

The test for disabling the service expects the service to be gone right after the deploy plan finishes.

This is incorrect. In many cases the service resource is deleted but still present due to a finalizer. Example:

- apiVersion: v1
  kind: Service
  metadata:
    annotations:
      kudo.dev/last-applied-configuration: |
   [...]
      kudo.dev/last-plan-execution-uid: 9285b6a6-55ec-49a6-a6cb-02c867646b45
      kudo.dev/phase: nodes
      kudo.dev/plan: deploy
      kudo.dev/step: pre-node
    creationTimestamp: "2020-06-04T17:00:10Z"
    deletionGracePeriodSeconds: 0
    deletionTimestamp: "2020-06-04T17:01:38Z"
    finalizers:
    - service.kubernetes.io/load-balancer-cleanup
    labels:
      heritage: kudo
      kudo.dev/instance: cassandra-instance
      kudo.dev/operator: cassandra
    name: cassandra-instance-svc-external
    namespace: ext-service-test-namespace
    ownerReferences:
    - apiVersion: kudo.dev/v1beta1
      blockOwnerDeletion: true
      controller: true
      kind: Instance
      name: cassandra-instance
      uid: 7751f32b-67bb-428f-a5ad-0fe0317509f1
    resourceVersion: "19404"
    selfLink: /api/v1/namespaces/ext-service-test-namespace/services/cassandra-instance-svc-external
    uid: cfe3ec6f-754d-4772-b877-e1485f8e862c

Missing `datacenterLabels` causes the statefulset to error out.

Omitting datacenterLables causes this error:

Error during execution: fatal error: cassandra/cassandra failed in deploy.nodes.node.node: error expanding template stateful-set.yaml: error rendering template: template: stateful-set.yaml:46:36: executing "stateful-set.yaml" at <$datacenter.datacenterLabels>: map has no entry for key "datacenterLabels"

Reproduction Steps:
Run MWT Benchmark tests: https://github.com/mesosphere/kudo-cassandra-operator/tree/master/benchmarks
Comment out datacenterLabels from https://github.com/mesosphere/kudo-cassandra-operator/blob/master/benchmarks/mwt/setup/01-cassandra-install/params.yaml

broadcast address clarification?

is there an option to pass broadcast_address and broadcast_rpc_address similar to the Apache cassandra docker image in this operator?

LISTEN_ON_BROADCAST_ADDRESS:- Which broadcast_address will be used ?

Setting DS_KUDO_VERSION externally does not work in tests

Both, run-pre-checks.sh, as well as run-tests.sh are run as part of our TeamCity CI. There is an option to run custom builds using a specific version of KUDO. This version is injected through the DS_KUDO_VERSION env var. Both scripts don't support this variable and will always use a specific version of KUDO (currently 0.15-rc1).

docker.sh is changing go.mod

It seems that this step in docker.sh:

Step 9/9 : RUN go get golang.org/x/tools/cmd/goimports
 ---> 384b875e43e0

Is changing go.mod which then makes run-pre-checks.sh fail:

Changes found after running one of the previous steps.
Please make sure you follow the instructions in .github/pull_request_template.md
before sending a pull request.
 M images/bootstrap/go.mod
 M images/bootstrap/go.sum
diff --git a/images/bootstrap/go.mod b/images/bootstrap/go.mod
index edcf478..cad7dce 100644
--- a/images/bootstrap/go.mod
+++ b/images/bootstrap/go.mod
@@ -11,7 +11,7 @@ require (
        github.com/stretchr/testify v1.4.0
        golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 // indirect
        golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a // indirect
-       golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f // indirect
+       golang.org/x/sys v0.0.0-20200513112337-417ce2331b5c // indirect
        gotest.tools/gotestsum v0.4.2 // indirect
        k8s.io/api v0.17.3
        k8s.io/apimachinery v0.17.3
diff --git a/images/bootstrap/go.sum b/images/bootstrap/go.sum
index 64e3b49..ac0b3fb 100644
--- a/images/bootstrap/go.sum
+++ b/images/bootstrap/go.sum
@@ -202,6 +202,8 @@ golang.org/x/sys v0.0.0-20200501145240-bc7a7d42d5c3 h1:5B6i6EAiSYyejWfvc5Rc9BbI3
 golang.org/x/sys v0.0.0-20200501145240-bc7a7d42d5c3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f h1:mOhmO9WsBaJCNmaZHPtHs9wOcdqdKCjF6OPJlmDM3KI=
 golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200513112337-417ce2331b5c h1:kISX68E8gSkNYAFRFiDU8rl5RIn1sJYKYb/r2vMLDrU=
+golang.org/x/sys v0.0.0-20200513112337-417ce2331b5c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.