add filer peers on filer startup

Signed-off-by: Howard Lau <howardlau1999@hotmail.com>
This commit is contained in:
Howard Lau 2020-10-30 09:15:16 +00:00
parent ec5ccbf5c5
commit e8ba79aae6
No known key found for this signature in database
GPG Key ID: 5CCC55849E3CF8E2
2 changed files with 15 additions and 0 deletions

View File

@ -16,6 +16,7 @@ func buildFilerStartupScript(m *seaweedv1.Seaweed) string {
commands := []string{"weed", "filer"}
commands = append(commands, fmt.Sprintf("-port=%d", seaweedv1.FilerHTTPPort))
commands = append(commands, fmt.Sprintf("-ip=$(POD_NAME).%s-filer-peer", m.Name))
commands = append(commands, fmt.Sprintf("-peers=%s", getFilerPeersString(m.Name, m.Spec.Volume.Replicas)))
commands = append(commands, fmt.Sprintf("-master=%s", getMasterPeersString(m.Name, m.Spec.Master.Replicas)))
commands = append(commands, "-s3")

View File

@ -10,6 +10,7 @@ import (
const (
masterPeerAddressPattern = "%s-master-%d.%s-master-peer:9333"
filerPeerAddressPattern = "%s-filer-%d.%s-filer-peer:9333"
masterPeerAddressWithNamespacePattern = "%s-master-%d.%s-master-peer.%s:9333"
filerServiceAddressWithNamespacePattern = "%s-filer.%s:8888"
masterServiceAddressWithNamespacePattern = "%s-master.%s:9333"
@ -51,6 +52,18 @@ func ReconcileResult(err error) (bool, ctrl.Result, error) {
return false, ctrl.Result{}, nil
}
func getFilerAddresses(name string, replicas int32) []string {
peersAddresses := make([]string, 0, replicas)
for i := int32(0); i < replicas; i++ {
peersAddresses = append(peersAddresses, fmt.Sprintf(filerPeerAddressPattern, name, i, name))
}
return peersAddresses
}
func getFilerPeersString(name string, replicas int32) string {
return strings.Join(getFilerAddresses(name, replicas), ",")
}
func getMasterAddresses(name string, replicas int32) []string {
peersAddresses := make([]string, 0, replicas)
for i := int32(0); i < replicas; i++ {
@ -62,6 +75,7 @@ func getMasterAddresses(name string, replicas int32) []string {
func getMasterPeersString(name string, replicas int32) string {
return strings.Join(getMasterAddresses(name, replicas), ",")
}
func getMasterAddressesWithNamespace(name, namespace string, replicas int32) []string {
peersAddresses := make([]string, 0, replicas)
for i := int32(0); i < replicas; i++ {