Skip to content
This repository has been archived by the owner on Oct 20, 2022. It is now read-only.

Commit

Permalink
Create a single service for the whole cluster, not per DC (#42)
Browse files Browse the repository at this point in the history
* create a single service for the whole cluster, not per DC

* create single monitoring service for whole cluster

* initial e2e to verify k8s objects are created for a multi-DC cluster

* add more verification and some cleanup from PR review

* add test to CircleCI pipeline

* make logging consistent with rest of code base

* update service port checks

* rebase and add back e2e test to CircleCI config

* update test with service port changes

* fix seeds list and StatefulSet service name to use cluster-wide svc

* fix unit tests

* initialize cluster from yaml file

* fix test
  • Loading branch information
jsanda authored and Sébastien Allamand committed Jul 23, 2019
1 parent 3080538 commit ca180a7
Show file tree
Hide file tree
Showing 9 changed files with 215 additions and 94 deletions.
12 changes: 12 additions & 0 deletions .circleci/config.yml
Expand Up @@ -306,3 +306,15 @@ workflows:
branches:
# Forked pull requests have CIRCLE_BRANCH set to pull/XXX
ignore: /pull\/[0-9]+/

- minikube/e2e-orb:
name: e2e-test CreateOneClusterService
test_name: CreateOneClusterService
requires:
- unit-test
filters:
tags:
only: /.*/
branches:
# Forked pull requests have CIRCLE_BRANCH set to pull/XXX
ignore: /pull\/[0-9]+/
4 changes: 2 additions & 2 deletions pkg/apis/db/v1alpha1/cassandracluster_types.go
Expand Up @@ -290,7 +290,7 @@ func (cc *CassandraCluster) InitCassandraRackinStatus(status *CassandraClusterSt
}

// Initialisation of the Cassandra SeedList
// We want 3 sides nodes for each DC
// We want 3 seed nodes for each DC
func (cc *CassandraCluster) InitSeedList() []string {

var dcName, rackName string
Expand Down Expand Up @@ -359,7 +359,7 @@ func (cc *CassandraCluster) GetSeedList(seedListTab *[]string) string {

func (cc *CassandraCluster) addNewSeed(seedList *[]string, dcName string, rackName string, indice int32) {
dcRackName := cc.GetDCRackName(dcName, rackName)
seed := fmt.Sprintf("%s-%s-%d.%s-%s.%s", cc.Name, dcRackName, indice, cc.Name, dcName, cc.Namespace)
seed := fmt.Sprintf("%s-%s-%d.%s.%s", cc.Name, dcRackName, indice, cc.Name, cc.Namespace)
*seedList = append(*seedList, seed)
}

Expand Down
60 changes: 30 additions & 30 deletions pkg/apis/db/v1alpha1/cassandracluster_types_test.go
Expand Up @@ -320,12 +320,12 @@ func TestInitSeedList_2DC(t *testing.T) {

cc.Status.SeedList = cc.InitSeedList()

assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo-online.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-online-rack1-1.cassandra-demo-online.ns", cc.Status.SeedList[1])
assert.Equal("cassandra-demo-online-rack2-0.cassandra-demo-online.ns", cc.Status.SeedList[2])
assert.Equal("cassandra-demo-stats-rack1-0.cassandra-demo-stats.ns", cc.Status.SeedList[3])
assert.Equal("cassandra-demo-stats-rack1-1.cassandra-demo-stats.ns", cc.Status.SeedList[4])
assert.Equal("cassandra-demo-stats-rack2-0.cassandra-demo-stats.ns", cc.Status.SeedList[5])
assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-online-rack1-1.cassandra-demo.ns", cc.Status.SeedList[1])
assert.Equal("cassandra-demo-online-rack2-0.cassandra-demo.ns", cc.Status.SeedList[2])
assert.Equal("cassandra-demo-stats-rack1-0.cassandra-demo.ns", cc.Status.SeedList[3])
assert.Equal("cassandra-demo-stats-rack1-1.cassandra-demo.ns", cc.Status.SeedList[4])
assert.Equal("cassandra-demo-stats-rack2-0.cassandra-demo.ns", cc.Status.SeedList[5])
assert.Equal(6, len(cc.Status.SeedList))
}

Expand All @@ -341,9 +341,9 @@ func TestInitSeedList_NoTopo(t *testing.T) {

cc.Status.SeedList = cc.InitSeedList()

assert.Equal("cassandra-demo-dc1-rack1-0.cassandra-demo-dc1.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-dc1-rack1-1.cassandra-demo-dc1.ns", cc.Status.SeedList[1])
assert.Equal("cassandra-demo-dc1-rack1-2.cassandra-demo-dc1.ns", cc.Status.SeedList[2])
assert.Equal("cassandra-demo-dc1-rack1-0.cassandra-demo.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-dc1-rack1-1.cassandra-demo.ns", cc.Status.SeedList[1])
assert.Equal("cassandra-demo-dc1-rack1-2.cassandra-demo.ns", cc.Status.SeedList[2])
assert.Equal(3, len(cc.Status.SeedList))

}
Expand All @@ -361,12 +361,12 @@ func TestInitSeedList_1DC(t *testing.T) {

cc.Status.SeedList = cc.InitSeedList()

assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo-online.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-online-rack1-1.cassandra-demo-online.ns", cc.Status.SeedList[1])
assert.Equal("cassandra-demo-online-rack2-0.cassandra-demo-online.ns", cc.Status.SeedList[2])
assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-online-rack1-1.cassandra-demo.ns", cc.Status.SeedList[1])
assert.Equal("cassandra-demo-online-rack2-0.cassandra-demo.ns", cc.Status.SeedList[2])
assert.Equal(3, len(cc.Status.SeedList))

assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo-online.ns,cassandra-demo-online-rack1-1.cassandra-demo-online.ns,cassandra-demo-online-rack2-0.cassandra-demo-online.ns", cc.GetSeedList(&cc.Status.SeedList))
assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo.ns,cassandra-demo-online-rack1-1.cassandra-demo.ns,cassandra-demo-online-rack2-0.cassandra-demo.ns", cc.GetSeedList(&cc.Status.SeedList))

}

Expand All @@ -390,15 +390,15 @@ func TestInitSeedList_2DC5R(t *testing.T) {

cc.Status.SeedList = cc.InitSeedList()

assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo-online.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-online-rack2-0.cassandra-demo-online.ns", cc.Status.SeedList[1])
assert.Equal("cassandra-demo-online-rack3-0.cassandra-demo-online.ns", cc.Status.SeedList[2])
assert.Equal("cassandra-demo-stats-rack1-0.cassandra-demo-stats.ns", cc.Status.SeedList[3])
assert.Equal("cassandra-demo-stats-rack2-0.cassandra-demo-stats.ns", cc.Status.SeedList[4])
assert.Equal("cassandra-demo-stats-rack3-0.cassandra-demo-stats.ns", cc.Status.SeedList[5])
assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-online-rack2-0.cassandra-demo.ns", cc.Status.SeedList[1])
assert.Equal("cassandra-demo-online-rack3-0.cassandra-demo.ns", cc.Status.SeedList[2])
assert.Equal("cassandra-demo-stats-rack1-0.cassandra-demo.ns", cc.Status.SeedList[3])
assert.Equal("cassandra-demo-stats-rack2-0.cassandra-demo.ns", cc.Status.SeedList[4])
assert.Equal("cassandra-demo-stats-rack3-0.cassandra-demo.ns", cc.Status.SeedList[5])
assert.Equal(6, len(cc.Status.SeedList))

assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo-online.ns,cassandra-demo-online-rack2-0.cassandra-demo-online.ns,cassandra-demo-online-rack3-0.cassandra-demo-online.ns,cassandra-demo-stats-rack1-0.cassandra-demo-stats.ns,cassandra-demo-stats-rack2-0.cassandra-demo-stats.ns,cassandra-demo-stats-rack3-0.cassandra-demo-stats.ns", cc.GetSeedList(&cc.Status.SeedList))
assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo.ns,cassandra-demo-online-rack2-0.cassandra-demo.ns,cassandra-demo-online-rack3-0.cassandra-demo.ns,cassandra-demo-stats-rack1-0.cassandra-demo.ns,cassandra-demo-stats-rack2-0.cassandra-demo.ns,cassandra-demo-stats-rack3-0.cassandra-demo.ns", cc.GetSeedList(&cc.Status.SeedList))
}

func TestInitSeedList_1DC1R1P(t *testing.T) {
Expand All @@ -414,11 +414,11 @@ func TestInitSeedList_1DC1R1P(t *testing.T) {

cc.Status.SeedList = cc.InitSeedList()

assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo-online.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-online-rack2-0.cassandra-demo-online.ns", cc.Status.SeedList[1])
assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-online-rack2-0.cassandra-demo.ns", cc.Status.SeedList[1])
assert.Equal(2, len(cc.Status.SeedList))

assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo-online.ns,cassandra-demo-online-rack2-0.cassandra-demo-online.ns", cc.GetSeedList(&cc.Status.SeedList))
assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo.ns,cassandra-demo-online-rack2-0.cassandra-demo.ns", cc.GetSeedList(&cc.Status.SeedList))
}

func TestIsPodInSeedList(t *testing.T) {
Expand All @@ -432,16 +432,16 @@ func TestIsPodInSeedList(t *testing.T) {

cc.Status.SeedList = cc.InitSeedList()

assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo-online.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-online-rack2-0.cassandra-demo-online.ns", cc.Status.SeedList[1])
assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo.ns", cc.Status.SeedList[0])
assert.Equal("cassandra-demo-online-rack2-0.cassandra-demo.ns", cc.Status.SeedList[1])
assert.Equal(2, len(cc.Status.SeedList))

assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo-online.ns,cassandra-demo-online-rack2-0.cassandra-demo-online.ns", cc.GetSeedList(&cc.Status.SeedList))
assert.Equal("cassandra-demo-online-rack1-0.cassandra-demo.ns,cassandra-demo-online-rack2-0.cassandra-demo.ns", cc.GetSeedList(&cc.Status.SeedList))

assert.Equal(true, cc.IsPodInSeedList("cassandra-demo-online-rack1-0.cassandra-demo-online.ns"))
assert.Equal(true, cc.IsPodInSeedList("cassandra-demo-online-rack2-0.cassandra-demo-online.ns"))
assert.Equal(true, cc.IsPodInSeedList("cassandra-demo-online-rack1-0.cassandra-demo.ns"))
assert.Equal(true, cc.IsPodInSeedList("cassandra-demo-online-rack2-0.cassandra-demo.ns"))

assert.Equal(false, cc.IsPodInSeedList("cassandra-demo-online-rack3-0.cassandra-demo-online.ns"))
assert.Equal(false, cc.IsPodInSeedList("cassandra-demo-online-rack3-0.cassandra-demo.ns"))

}

Expand Down Expand Up @@ -491,7 +491,7 @@ func TestSetDefaults(t *testing.T) {
assert.Equal(DefaultUserID, *cluster.Spec.RunAsUser)
assert.Equal(ClusterPhaseInitial, cluster.Status.Phase)
assert.Equal(int32(defaultMaxPodUnavailable), cluster.Spec.MaxPodUnavailable)
assert.Equal([]string{"defaults-test-dc1-rack1-0.defaults-test-dc1.default"}, cluster.Status.SeedList)
assert.Equal([]string{"defaults-test-dc1-rack1-0.defaults-test.default"}, cluster.Status.SeedList)

}

10 changes: 5 additions & 5 deletions pkg/controller/cassandracluster/cassandra_status_test.go
Expand Up @@ -104,11 +104,11 @@ func TestUpdateStatusIfSeedListHasChanged(t *testing.T) {

cc.Status.SeedList = cc.InitSeedList()

var a = []string{"cassandra-demo-dc1-rack1-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc1-rack1-1.cassandra-demo-dc1.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo-dc2.ns",
"cassandra-demo-dc2-rack1-1.cassandra-demo-dc2.ns"}
var a = []string{"cassandra-demo-dc1-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc1-rack1-1.cassandra-demo.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-1.cassandra-demo.ns"}

assert.Equal(5, len(cc.Status.SeedList))

Expand Down
23 changes: 5 additions & 18 deletions pkg/controller/cassandracluster/deploy_cassandra.go
Expand Up @@ -43,10 +43,9 @@ const (
exporterCassandraJmxPortName = "promjmx"
)

func (rcc *ReconcileCassandraCluster) ensureCassandraService(cc *api.CassandraCluster, dcName, rackName string) error {
dcRackName := cc.GetDCRackName(dcName, rackName)
selector := k8s.LabelsForCassandraDCRack(cc, dcName, rackName)
svc := generateCassandraService(cc, dcRackName, selector, nil)
func (rcc *ReconcileCassandraCluster) ensureCassandraService(cc *api.CassandraCluster) error {
selector := k8s.LabelsForCassandra(cc)
svc := generateCassandraService(cc, selector, nil)

k8s.AddOwnerRefToObject(svc, k8s.AsOwner(cc))
err := rcc.client.Create(context.TODO(), svc)
Expand All @@ -56,22 +55,10 @@ func (rcc *ReconcileCassandraCluster) ensureCassandraService(cc *api.CassandraCl
return nil
}

func (rcc *ReconcileCassandraCluster) ensureCassandraDCService(cc *api.CassandraCluster, dcName string) error {
selector := k8s.LabelsForCassandraDC(cc, dcName)
svc := generateCassandraService(cc, dcName, selector, nil)

k8s.AddOwnerRefToObject(svc, k8s.AsOwner(cc))
err := rcc.client.Create(context.TODO(), svc)
if err != nil && !apierrors.IsAlreadyExists(err) {
return fmt.Errorf("failed to create cassandra DC service (%v)", err)
}
return nil
}

func (rcc *ReconcileCassandraCluster) ensureCassandraServiceMonitoring(cc *api.CassandraCluster,
dcName string) error {
selector := k8s.LabelsForCassandraDC(cc, dcName)
svc := generateCassandraExporterService(cc, dcName, selector, nil)
selector := k8s.LabelsForCassandra(cc)
svc := generateCassandraExporterService(cc, selector, nil)

k8s.AddOwnerRefToObject(svc, k8s.AsOwner(cc))
err := rcc.client.Create(context.TODO(), svc)
Expand Down
10 changes: 5 additions & 5 deletions pkg/controller/cassandracluster/generator.go
Expand Up @@ -57,7 +57,7 @@ const (
readinessHealthCheckPeriod int32 = 10
)

func generateCassandraService(cc *api.CassandraCluster, dcName string, labels map[string]string, ownerRefs []metav1.OwnerReference) *v1.Service {
func generateCassandraService(cc *api.CassandraCluster, labels map[string]string, ownerRefs []metav1.OwnerReference) *v1.Service {

// labels = util.MergeLabels(labels, generateLabels(cassandraRoleName, cc.Name))

Expand All @@ -67,7 +67,7 @@ func generateCassandraService(cc *api.CassandraCluster, dcName string, labels ma
APIVersion: "v1",
},
ObjectMeta: metav1.ObjectMeta{
Name: cc.GetName() + "-" + dcName,
Name: cc.GetName(),
Namespace: cc.GetNamespace(),
Labels: labels,
OwnerReferences: ownerRefs,
Expand Down Expand Up @@ -103,7 +103,7 @@ func generateCassandraService(cc *api.CassandraCluster, dcName string, labels ma
}
}

func generateCassandraExporterService(cc *api.CassandraCluster, dcRackName string, labels map[string]string, ownerRefs []metav1.OwnerReference) *v1.Service {
func generateCassandraExporterService(cc *api.CassandraCluster, labels map[string]string, ownerRefs []metav1.OwnerReference) *v1.Service {
name := cc.GetName()
namespace := cc.Namespace

Expand All @@ -115,7 +115,7 @@ func generateCassandraExporterService(cc *api.CassandraCluster, dcRackName strin
APIVersion: "v1",
},
ObjectMeta: metav1.ObjectMeta{
Name: fmt.Sprintf("%s-%s-exporter-jmx", name, dcRackName),
Name: fmt.Sprintf("%s-exporter-jmx", name),
Namespace: namespace,
Labels: mlabels,
OwnerReferences: ownerRefs,
Expand Down Expand Up @@ -253,7 +253,7 @@ func generateCassandraStatefulSet(cc *api.CassandraCluster, status *api.Cassandr
OwnerReferences: ownerRefs,
},
Spec: appsv1.StatefulSetSpec{
ServiceName: name + "-" + dcName,
ServiceName: name,
Replicas: &nodesPerRacks,
UpdateStrategy: appsv1.StatefulSetUpdateStrategy{
Type: "RollingUpdate",
Expand Down
5 changes: 2 additions & 3 deletions pkg/controller/cassandracluster/reconcile.go
Expand Up @@ -447,9 +447,8 @@ func (rcc *ReconcileCassandraCluster) ReconcileRack(cc *api.CassandraCluster,
}
}
}
if err = rcc.ensureCassandraDCService(cc, dcName); err != nil {
logrus.WithFields(logrus.Fields{"cluster": cc.Name,
"dc-rack": dcRackName}).Errorf("ensureCassandraDCService Error: %v", err)
if err = rcc.ensureCassandraService(cc); err != nil {
logrus.WithFields(logrus.Fields{"cluster": cc.Name}).Errorf("ensureCassandraService Error: %v", err)
}

if err = rcc.ensureCassandraServiceMonitoring(cc, dcName); err != nil {
Expand Down
54 changes: 27 additions & 27 deletions pkg/controller/cassandracluster/reconcile_test.go
Expand Up @@ -105,9 +105,9 @@ func TestFlipCassandraClusterUpdateSeedListStatus_ScaleDC2(t *testing.T) {
cc.Status.SeedList = cc.InitSeedList()

var a = []string{
"cassandra-demo-dc1-rack1-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo-dc2.ns",
"cassandra-demo-dc1-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo.ns",
}

assert.Equal(3, len(cc.Status.SeedList))
Expand All @@ -119,10 +119,10 @@ func TestFlipCassandraClusterUpdateSeedListStatus_ScaleDC2(t *testing.T) {
status := cc.Status.DeepCopy()

var b = []string{
"cassandra-demo-dc1-rack1-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo-dc2.ns",
"cassandra-demo-dc2-rack1-1.cassandra-demo-dc2.ns",
"cassandra-demo-dc1-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-1.cassandra-demo.ns",
}

dc1rack1sts := helperGetStatefulset(t, "dc1-rack1")
Expand Down Expand Up @@ -175,9 +175,9 @@ func TestFlipCassandraClusterUpdateSeedListStatus_scaleDC1(t *testing.T) {
//1. Init
cc.Status.SeedList = cc.InitSeedList()
var a = []string{
"cassandra-demo-dc1-rack1-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo-dc2.ns",
"cassandra-demo-dc1-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo.ns",
}
assert.Equal(true, reflect.DeepEqual(a, cc.Status.SeedList))

Expand All @@ -189,10 +189,10 @@ func TestFlipCassandraClusterUpdateSeedListStatus_scaleDC1(t *testing.T) {

//Add pod of dc1-rack1 at the end of existing seedlist
var b = []string{
"cassandra-demo-dc1-rack1-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo-dc2.ns",
"cassandra-demo-dc1-rack1-1.cassandra-demo-dc1.ns",
"cassandra-demo-dc1-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc1-rack1-1.cassandra-demo.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo.ns",
}

dc1rack1sts := helperGetStatefulset(t, "dc1-rack1")
Expand Down Expand Up @@ -235,9 +235,9 @@ func TestFlipCassandraClusterUpdateSeedListStatus_scaleDown(t *testing.T) {
//1. Init
cc.Status.SeedList = cc.InitSeedList()
var a = []string{
"cassandra-demo-dc1-rack1-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo-dc2.ns",
"cassandra-demo-dc1-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo.ns",
}
assert.Equal(true, reflect.DeepEqual(a, cc.Status.SeedList))

Expand All @@ -250,11 +250,11 @@ func TestFlipCassandraClusterUpdateSeedListStatus_scaleDown(t *testing.T) {

//Add pod of dc1-rack1 at the end of existing seedlist
var b = []string{
"cassandra-demo-dc1-rack1-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo-dc2.ns",
"cassandra-demo-dc1-rack1-1.cassandra-demo-dc1.ns",
"cassandra-demo-dc2-rack1-1.cassandra-demo-dc2.ns",
"cassandra-demo-dc1-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc1-rack1-1.cassandra-demo.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-1.cassandra-demo.ns",
}

UpdateStatusIfSeedListHasChanged(cc, "dc1-rack1", dc1rack1sts, status)
Expand All @@ -279,7 +279,7 @@ func TestFlipCassandraClusterUpdateSeedListStatus_scaleDown(t *testing.T) {
assert.Equal(api.StatusToDo, status.CassandraRackStatus["dc1-rack2"].CassandraLastAction.Status)
assert.Equal(api.StatusToDo, status.CassandraRackStatus["dc2-rack1"].CassandraLastAction.Status)

assert.Equal(true, reflect.DeepEqual(b, status.SeedList))
assert.Equal(true, reflect.DeepEqual(b, status.SeedList), "Status: %v", status.SeedList)

//3. Simulate the Update of SeedList
dc1rack1sts.Spec.Template.Spec.Containers[0].Env[1].Value = cc.GetSeedList(&b)
Expand All @@ -289,10 +289,10 @@ func TestFlipCassandraClusterUpdateSeedListStatus_scaleDown(t *testing.T) {

//expecetd : remove element (dc1-rack1-1) in middle of seedlist
var c = []string{
"cassandra-demo-dc1-rack1-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo-dc1.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo-dc2.ns",
"cassandra-demo-dc2-rack1-1.cassandra-demo-dc2.ns",
"cassandra-demo-dc1-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc1-rack2-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-0.cassandra-demo.ns",
"cassandra-demo-dc2-rack1-1.cassandra-demo.ns",
}

UpdateStatusIfSeedListHasChanged(cc, "dc1-rack1", dc1rack1sts, status)
Expand Down

0 comments on commit ca180a7

Please sign in to comment.