Skip to content

Commit 96648af

Browse files
author
lamai93
committed
Broken version. We have to find a better way to provide advertised endpoint. By parameter seems to be insufficent.
1 parent 66d6e39 commit 96648af

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

pkg/deployment/resources/pod_creator.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,13 @@ func (o optionPair) CompareTo(other optionPair) int {
6161
return strings.Compare(o.Value, other.Value)
6262
}
6363

64+
func versionHasAdvertisedEndpoint(v driver.Version) bool {
65+
return v.CompareTo("3.4.0") >= 0
66+
}
67+
6468
// createArangodArgs creates command line arguments for an arangod server in the given group.
6569
func createArangodArgs(apiObject metav1.Object, deplSpec api.DeploymentSpec, group api.ServerGroup,
66-
agents api.MemberStatusList, id string, autoUpgrade bool) []string {
70+
agents api.MemberStatusList, id string, autoUpgrade, advertisedEndpoint bool) []string {
6771
options := make([]optionPair, 0, 64)
6872
svrSpec := deplSpec.GetServerGroupSpec(group)
6973

@@ -180,7 +184,7 @@ func createArangodArgs(apiObject metav1.Object, deplSpec api.DeploymentSpec, gro
180184
optionPair{"--foxx.queues", "true"},
181185
optionPair{"--server.statistics", "true"},
182186
)
183-
if deplSpec.ExternalAccess.HasAdvertisedEndpoint() {
187+
if deplSpec.ExternalAccess.HasAdvertisedEndpoint() && advertisedEndpoint {
184188
options = append(options,
185189
optionPair{"--cluster.my-advertised-endpoint", deplSpec.ExternalAccess.GetAdvertisedEndpoint()},
186190
)
@@ -197,7 +201,7 @@ func createArangodArgs(apiObject metav1.Object, deplSpec api.DeploymentSpec, gro
197201
optionPair{"--cluster.my-address", myTCPURL},
198202
optionPair{"--cluster.my-role", "SINGLE"},
199203
)
200-
if deplSpec.ExternalAccess.HasAdvertisedEndpoint() {
204+
if deplSpec.ExternalAccess.HasAdvertisedEndpoint() && advertisedEndpoint {
201205
options = append(options,
202206
optionPair{"--cluster.my-advertised-endpoint", deplSpec.ExternalAccess.GetAdvertisedEndpoint()},
203207
)
@@ -497,7 +501,11 @@ func (r *Resources) createPodForMember(spec api.DeploymentSpec, memberID string,
497501
if autoUpgrade {
498502
newPhase = api.MemberPhaseUpgrading
499503
}
500-
args := createArangodArgs(apiObject, spec, group, status.Members.Agents, m.ID, autoUpgrade)
504+
advertisedEndpoint := versionHasAdvertisedEndpoint(imageInfo.ArangoDBVersion)
505+
if !advertisedEndpoint && spec.ExternalAccess.HasAdvertisedEndpoint() {
506+
return fmt.Errorf("Version %s does not support advertised endpoints", imageInfo.ArangoDBVersion)
507+
}
508+
args := createArangodArgs(apiObject, spec, group, status.Members.Agents, m.ID, autoUpgrade, advertisedEndpoint)
501509
env := make(map[string]k8sutil.EnvValue)
502510
livenessProbe, err := r.createLivenessProbe(spec, group)
503511
if err != nil {

0 commit comments

Comments
 (0)