This is an automated email from the ASF dual-hosted git repository.
vongosling pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-operator.git
The following commit(s) were added to refs/heads/master by this push:
new 58166ba [ISSUE #23] Support for creating multiple brokerClusters with
different names (#24)
58166ba is described below
commit 58166ba1049a7f222a7d9b19ec632fcf3468b961
Author: jiangzhihui <[email protected]>
AuthorDate: Wed Jul 22 10:10:19 2020 +0800
[ISSUE #23] Support for creating multiple brokerClusters with different
names (#24)
---
pkg/controller/broker/broker_controller.go | 37 ++++++++++++------------------
1 file changed, 15 insertions(+), 22 deletions(-)
diff --git a/pkg/controller/broker/broker_controller.go
b/pkg/controller/broker/broker_controller.go
index 6780b86..b3e6cf6 100644
--- a/pkg/controller/broker/broker_controller.go
+++ b/pkg/controller/broker/broker_controller.go
@@ -131,7 +131,7 @@ func (r *ReconcileBroker) Reconcile(request
reconcile.Request) (reconcile.Result
return reconcile.Result{}, err
}
- if isInitial {
+ if broker.Status.Size == 0 {
share.GroupNum = broker.Spec.Size
} else {
share.GroupNum = broker.Status.Size
@@ -234,34 +234,27 @@ func (r *ReconcileBroker) Reconcile(request
reconcile.Request) (reconcile.Result
podNames := getPodNames(podList.Items)
log.Info("broker.Status.Nodes length = " +
strconv.Itoa(len(broker.Status.Nodes)))
log.Info("podNames length = " + strconv.Itoa(len(podNames)))
- // Ensure every pod is in running phase, then change the isInitial
state to false
- notReady := false
+ // Ensure every pod is in running phase
for _, pod := range podList.Items {
if !reflect.DeepEqual(pod.Status.Phase, corev1.PodRunning) {
log.Info("pod " + pod.Name + " phase is " +
string(pod.Status.Phase) + ", wait for a moment...")
- notReady = true
}
}
- if !notReady {
- isInitial = false
- }
- if !isInitial {
- if broker.Spec.Size != broker.Status.Size {
- // Get the metadata including subscriptionGroup.json
and topics.json from scale source pod
- k8s, err := tool.NewK8sClient()
- if err != nil {
- log.Error(err, "Error occurred while getting
K8s Client")
- }
- sourcePodName := broker.Spec.ScalePodName
- topicsCommand :=
getCopyMetadataJsonCommand(cons.TopicJsonDir, sourcePodName, broker.Namespace,
k8s)
- log.Info("topicsCommand: " + topicsCommand)
- subscriptionGroupCommand :=
getCopyMetadataJsonCommand(cons.SubscriptionGroupJsonDir, sourcePodName,
broker.Namespace, k8s)
- log.Info("subscriptionGroupCommand: " +
subscriptionGroupCommand)
- MakeConfigDirCommand := "mkdir -p " +
cons.StoreConfigDir
- ChmodDirCommand := "chmod a+rw " + cons.StoreConfigDir
- cmd = []string{"/bin/bash", "-c", MakeConfigDirCommand
+ " && " + ChmodDirCommand + " && " + topicsCommand + " && " +
subscriptionGroupCommand}
+ if broker.Status.Size != 0 && broker.Spec.Size > broker.Status.Size {
+ // Get the metadata including subscriptionGroup.json and
topics.json from scale source pod
+ k8s, err := tool.NewK8sClient()
+ if err != nil {
+ log.Error(err, "Error occurred while getting K8s
Client")
}
+ sourcePodName := broker.Spec.ScalePodName
+ topicsCommand := getCopyMetadataJsonCommand(cons.TopicJsonDir,
sourcePodName, broker.Namespace, k8s)
+ log.Info("topicsCommand: " + topicsCommand)
+ subscriptionGroupCommand :=
getCopyMetadataJsonCommand(cons.SubscriptionGroupJsonDir, sourcePodName,
broker.Namespace, k8s)
+ log.Info("subscriptionGroupCommand: " +
subscriptionGroupCommand)
+ MakeConfigDirCommand := "mkdir -p " + cons.StoreConfigDir
+ ChmodDirCommand := "chmod a+rw " + cons.StoreConfigDir
+ cmd = []string{"/bin/bash", "-c", MakeConfigDirCommand + " && "
+ ChmodDirCommand + " && " + topicsCommand + " && " + subscriptionGroupCommand}
}
// Update status.Size if needed