Skip to content

Commit 6860ba9

Browse files
gkechhorsnmarukovich
authored
K8SPSMDB-1234 Ability to use non default port 27017 for Mongo components (#1819)
* K8SPSMDB-1234 Ability to use non default port 27017 for Mongo * use custom psmdb port for monitoring test * fixes on pmm * fix monitoring test and use different ports for demand-backup-sharded * fix tests * fix attemp for arbiter and non-voting * set err to nil directly for clarity * fix port for demand-backup-sharded * fix update tests --------- Co-authored-by: Viacheslav Sarzhan <slava.sarzhan@percona.com> Co-authored-by: Natalia Marukovich <natalia.marukovich@percona.com>
1 parent 94047f4 commit 6860ba9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+749
-275
lines changed

build/ps-entry.sh

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -305,13 +305,18 @@ if [ "$originalArgOne" = 'mongod' ]; then
305305
done
306306
fi
307307

308+
MONGO_PORT="$(_mongod_hack_get_arg_val --port "$@")"
309+
MONGO_PORT="${MONGO_PORT:-${MONGODB_PORT:-27017}}"
310+
export MONGO_PORT
311+
308312
if [ -n "$shouldPerformInitdb" ]; then
309313
mongodHackedArgs=("$@")
310314
if _parse_config "$@"; then
311315
_mongod_hack_ensure_arg_val --config "$tempConfigFile" "${mongodHackedArgs[@]}"
312316
fi
317+
313318
_mongod_hack_ensure_arg_val --bind_ip 127.0.0.1 "${mongodHackedArgs[@]}"
314-
_mongod_hack_ensure_arg_val --port 27017 "${mongodHackedArgs[@]}"
319+
_mongod_hack_ensure_arg_val --port "$MONGO_PORT" "${mongodHackedArgs[@]}"
315320
_mongod_hack_ensure_no_arg --bind_ip_all "${mongodHackedArgs[@]}"
316321

317322
# remove "--auth" and "--replSet" for our initial startup (see https://docs.mongodb.com/manual/tutorial/enable-authentication/#start-mongodb-without-access-control)
@@ -338,7 +343,7 @@ if [ "$originalArgOne" = 'mongod' ]; then
338343

339344
"${mongodHackedArgs[@]}" --fork
340345

341-
mongo=("$mongo_shell" --host 127.0.0.1 --port 27017 --quiet)
346+
mongo=("$mongo_shell" --host 127.0.0.1 --port "$MONGO_PORT" --quiet)
342347

343348
# check to see that our "mongod" actually did start up (catches "--help", "--version", MongoDB 3.2 being silly, slow prealloc, etc)
344349
# https://jira.mongodb.org/browse/SERVER-16292

cmd/mongodb-healthcheck/healthcheck/health.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
"github.com/percona/percona-server-mongodb-operator/pkg/psmdb/mongo"
2929
)
3030

31-
var ErrNoReplsetConfigStr string = "(NotYetInitialized) no replset config has been received"
31+
var ErrNoReplsetConfigStr = "(NotYetInitialized) no replset config has been received"
3232

3333
func HealthCheckMongosLiveness(ctx context.Context, cnf *db.Config) (err error) {
3434
log := logf.FromContext(ctx).WithName("HealthCheckMongosLiveness")

cmd/mongodb-healthcheck/tool/config.go

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ package tool
1717
import (
1818
"fmt"
1919
"os"
20-
"time"
2120

2221
"github.com/alecthomas/kingpin"
2322
"github.com/pkg/errors"
@@ -26,18 +25,15 @@ import (
2625
)
2726

2827
var (
29-
DefaultMongoDBHost = "localhost"
30-
DefaultMongoDBPort = "27017"
31-
DefaultMongoDBAuthDB = "admin"
32-
DefaultMongoDBTimeout = "5s"
33-
DefaultMongoDBTimeoutDuration = time.Duration(5) * time.Second
28+
defaultMongoDBHost = "localhost"
29+
defaultMongoDBPort = "27017"
3430
)
3531

3632
func NewConfig(app *kingpin.Application, envUser string, envPassword string) (*db.Config, error) {
3733
conf := &db.Config{}
3834
app.Flag(
3935
"address",
40-
"mongodb server address (hostname:port), defaults to '$TASK_NAME.$FRAMEWORK_HOST:$MONGODB_PORT' if the env vars are available and SSL is used, if not the default is '"+DefaultMongoDBHost+":"+DefaultMongoDBPort+"'",
36+
"mongodb server address (hostname:port), defaults to '$MONGODB_REPLSET:$MONGODB_PORT' if the env vars are available and SSL is used, if not the default is '"+defaultMongoDBHost+":"+defaultMongoDBPort+"'",
4137
).Default(getDefaultMongoDBAddress()).StringsVar(&conf.Hosts)
4238
app.Flag(
4339
"replset",
@@ -102,11 +98,11 @@ func NewConfig(app *kingpin.Application, envUser string, envPassword string) (*d
10298
}
10399

104100
func getDefaultMongoDBAddress() string {
105-
hostname := DefaultMongoDBHost
101+
hostname := defaultMongoDBHost
106102

107103
mongodbPort := os.Getenv(EnvMongoDBPort)
108104
if mongodbPort != "" {
109105
return hostname + ":" + mongodbPort
110106
}
111-
return hostname + ":" + DefaultMongoDBPort
107+
return hostname + ":" + defaultMongoDBPort
112108
}

e2e-tests/demand-backup-sharded/compare/statefulset_some-name-cfg-4-oc.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ spec:
5656
- --bind_ip_all
5757
- --auth
5858
- --dbpath=/data/db
59-
- --port=27017
59+
- --port=27018
6060
- --replSet=cfg
6161
- --storageEngine=wiredTiger
6262
- --relaxPermChecks
@@ -67,14 +67,15 @@ spec:
6767
- --enableEncryption
6868
- --encryptionKeyFile=/etc/mongodb-encryption/encryption-key
6969
- --wiredTigerIndexPrefixCompression=true
70+
- --config=/etc/mongodb-config/mongod.conf
7071
- --quiet
7172
command:
7273
- /opt/percona/ps-entry.sh
7374
env:
7475
- name: SERVICE_NAME
7576
value: some-name
7677
- name: MONGODB_PORT
77-
value: "27017"
78+
value: "27018"
7879
- name: MONGODB_REPLSET
7980
value: cfg
8081
envFrom:
@@ -103,7 +104,7 @@ spec:
103104
timeoutSeconds: 10
104105
name: mongod
105106
ports:
106-
- containerPort: 27017
107+
- containerPort: 27018
107108
name: mongodb
108109
protocol: TCP
109110
readinessProbe:
@@ -136,6 +137,8 @@ spec:
136137
- mountPath: /etc/mongodb-ssl-internal
137138
name: ssl-internal
138139
readOnly: true
140+
- mountPath: /etc/mongodb-config
141+
name: config
139142
- mountPath: /opt/percona
140143
name: bin
141144
- mountPath: /etc/mongodb-encryption
@@ -174,7 +177,7 @@ spec:
174177
- name: PBM_MONGODB_REPLSET
175178
value: cfg
176179
- name: PBM_MONGODB_PORT
177-
value: "27017"
180+
value: "27018"
178181
- name: PBM_AGENT_SIDECAR
179182
value: "true"
180183
- name: PBM_AGENT_SIDECAR_SLEEP
@@ -235,6 +238,11 @@ spec:
235238
secretName: some-name-mongodb-keyfile
236239
- emptyDir: {}
237240
name: bin
241+
- configMap:
242+
defaultMode: 420
243+
name: some-name-cfg-mongod
244+
optional: true
245+
name: config
238246
- name: some-name-mongodb-encryption-key
239247
secret:
240248
defaultMode: 288

e2e-tests/demand-backup-sharded/compare/statefulset_some-name-cfg-oc.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ spec:
5656
- --bind_ip_all
5757
- --auth
5858
- --dbpath=/data/db
59-
- --port=27017
59+
- --port=27018
6060
- --replSet=cfg
6161
- --storageEngine=wiredTiger
6262
- --relaxPermChecks
@@ -67,14 +67,15 @@ spec:
6767
- --enableEncryption
6868
- --encryptionKeyFile=/etc/mongodb-encryption/encryption-key
6969
- --wiredTigerIndexPrefixCompression=true
70+
- --config=/etc/mongodb-config/mongod.conf
7071
- --quiet
7172
command:
7273
- /opt/percona/ps-entry.sh
7374
env:
7475
- name: SERVICE_NAME
7576
value: some-name
7677
- name: MONGODB_PORT
77-
value: "27017"
78+
value: "27018"
7879
- name: MONGODB_REPLSET
7980
value: cfg
8081
envFrom:
@@ -103,7 +104,7 @@ spec:
103104
timeoutSeconds: 10
104105
name: mongod
105106
ports:
106-
- containerPort: 27017
107+
- containerPort: 27018
107108
name: mongodb
108109
protocol: TCP
109110
readinessProbe:
@@ -136,6 +137,8 @@ spec:
136137
- mountPath: /etc/mongodb-ssl-internal
137138
name: ssl-internal
138139
readOnly: true
140+
- mountPath: /etc/mongodb-config
141+
name: config
139142
- mountPath: /opt/percona
140143
name: bin
141144
- mountPath: /etc/mongodb-encryption
@@ -174,7 +177,7 @@ spec:
174177
- name: PBM_MONGODB_REPLSET
175178
value: cfg
176179
- name: PBM_MONGODB_PORT
177-
value: "27017"
180+
value: "27018"
178181
- name: PBM_AGENT_SIDECAR
179182
value: "true"
180183
- name: PBM_AGENT_SIDECAR_SLEEP
@@ -234,6 +237,11 @@ spec:
234237
secretName: some-name-mongodb-keyfile
235238
- emptyDir: {}
236239
name: bin
240+
- configMap:
241+
defaultMode: 420
242+
name: some-name-cfg-mongod
243+
optional: true
244+
name: config
237245
- name: some-name-mongodb-encryption-key
238246
secret:
239247
defaultMode: 288

e2e-tests/demand-backup-sharded/compare/statefulset_some-name-cfg.yml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ spec:
5656
- --bind_ip_all
5757
- --auth
5858
- --dbpath=/data/db
59-
- --port=27017
59+
- --port=27018
6060
- --replSet=cfg
6161
- --storageEngine=wiredTiger
6262
- --relaxPermChecks
@@ -67,14 +67,15 @@ spec:
6767
- --enableEncryption
6868
- --encryptionKeyFile=/etc/mongodb-encryption/encryption-key
6969
- --wiredTigerIndexPrefixCompression=true
70+
- --config=/etc/mongodb-config/mongod.conf
7071
- --quiet
7172
command:
7273
- /opt/percona/ps-entry.sh
7374
env:
7475
- name: SERVICE_NAME
7576
value: some-name
7677
- name: MONGODB_PORT
77-
value: "27017"
78+
value: "27018"
7879
- name: MONGODB_REPLSET
7980
value: cfg
8081
envFrom:
@@ -103,7 +104,7 @@ spec:
103104
timeoutSeconds: 10
104105
name: mongod
105106
ports:
106-
- containerPort: 27017
107+
- containerPort: 27018
107108
name: mongodb
108109
protocol: TCP
109110
readinessProbe:
@@ -137,6 +138,8 @@ spec:
137138
- mountPath: /etc/mongodb-ssl-internal
138139
name: ssl-internal
139140
readOnly: true
141+
- mountPath: /etc/mongodb-config
142+
name: config
140143
- mountPath: /opt/percona
141144
name: bin
142145
- mountPath: /etc/mongodb-encryption
@@ -175,7 +178,7 @@ spec:
175178
- name: PBM_MONGODB_REPLSET
176179
value: cfg
177180
- name: PBM_MONGODB_PORT
178-
value: "27017"
181+
value: "27018"
179182
- name: PBM_AGENT_SIDECAR
180183
value: "true"
181184
- name: PBM_AGENT_SIDECAR_SLEEP
@@ -238,6 +241,11 @@ spec:
238241
secretName: some-name-mongodb-keyfile
239242
- emptyDir: {}
240243
name: bin
244+
- configMap:
245+
defaultMode: 420
246+
name: some-name-cfg-mongod
247+
optional: true
248+
name: config
241249
- name: some-name-mongodb-encryption-key
242250
secret:
243251
defaultMode: 288

e2e-tests/demand-backup-sharded/compare/statefulset_some-name-mongos-4-oc.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ spec:
5151
- args:
5252
- mongos
5353
- --bind_ip_all
54-
- --port=27017
54+
- --port=27019
5555
- --sslAllowInvalidCertificates
5656
- --configdb
57-
- cfg/some-name-cfg-0.some-name-cfg.NAME_SPACE.svc.cluster.local:27017,some-name-cfg-1.some-name-cfg.NAME_SPACE.svc.cluster.local:27017,some-name-cfg-2.some-name-cfg.NAME_SPACE.svc.cluster.local:27017
57+
- cfg/some-name-cfg-0.some-name-cfg.NAME_SPACE.svc.cluster.local:27018,some-name-cfg-1.some-name-cfg.NAME_SPACE.svc.cluster.local:27018,some-name-cfg-2.some-name-cfg.NAME_SPACE.svc.cluster.local:27018
5858
- --relaxPermChecks
5959
- --clusterAuthMode=x509
6060
- --tlsMode=preferTLS
@@ -63,7 +63,7 @@ spec:
6363
- /opt/percona/ps-entry.sh
6464
env:
6565
- name: MONGODB_PORT
66-
value: "27017"
66+
value: "27019"
6767
envFrom:
6868
- secretRef:
6969
name: some-users
@@ -95,7 +95,7 @@ spec:
9595
timeoutSeconds: 10
9696
name: mongos
9797
ports:
98-
- containerPort: 27017
98+
- containerPort: 27019
9999
name: mongos
100100
protocol: TCP
101101
readinessProbe:

e2e-tests/demand-backup-sharded/compare/statefulset_some-name-mongos-oc.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ spec:
5151
- args:
5252
- mongos
5353
- --bind_ip_all
54-
- --port=27017
54+
- --port=27019
5555
- --sslAllowInvalidCertificates
5656
- --configdb
57-
- cfg/some-name-cfg-0.some-name-cfg.NAME_SPACE.svc.cluster.local:27017,some-name-cfg-1.some-name-cfg.NAME_SPACE.svc.cluster.local:27017,some-name-cfg-2.some-name-cfg.NAME_SPACE.svc.cluster.local:27017
57+
- cfg/some-name-cfg-0.some-name-cfg.NAME_SPACE.svc.cluster.local:27018,some-name-cfg-1.some-name-cfg.NAME_SPACE.svc.cluster.local:27018,some-name-cfg-2.some-name-cfg.NAME_SPACE.svc.cluster.local:27018
5858
- --relaxPermChecks
5959
- --clusterAuthMode=x509
6060
- --tlsMode=preferTLS
@@ -63,7 +63,7 @@ spec:
6363
- /opt/percona/ps-entry.sh
6464
env:
6565
- name: MONGODB_PORT
66-
value: "27017"
66+
value: "27019"
6767
envFrom:
6868
- secretRef:
6969
name: some-users
@@ -95,7 +95,7 @@ spec:
9595
timeoutSeconds: 10
9696
name: mongos
9797
ports:
98-
- containerPort: 27017
98+
- containerPort: 27019
9999
name: mongos
100100
protocol: TCP
101101
readinessProbe:

e2e-tests/demand-backup-sharded/compare/statefulset_some-name-mongos-secret-oc.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ spec:
5151
- args:
5252
- mongos
5353
- --bind_ip_all
54-
- --port=27017
54+
- --port=27019
5555
- --sslAllowInvalidCertificates
5656
- --configdb
57-
- cfg/some-name-cfg-0.some-name-cfg.NAME_SPACE.svc.cluster.local:27017,some-name-cfg-1.some-name-cfg.NAME_SPACE.svc.cluster.local:27017,some-name-cfg-2.some-name-cfg.NAME_SPACE.svc.cluster.local:27017
57+
- cfg/some-name-cfg-0.some-name-cfg.NAME_SPACE.svc.cluster.local:27018,some-name-cfg-1.some-name-cfg.NAME_SPACE.svc.cluster.local:27018,some-name-cfg-2.some-name-cfg.NAME_SPACE.svc.cluster.local:27018
5858
- --relaxPermChecks
5959
- --clusterAuthMode=x509
6060
- --tlsMode=preferTLS
@@ -63,7 +63,7 @@ spec:
6363
- /opt/percona/ps-entry.sh
6464
env:
6565
- name: MONGODB_PORT
66-
value: "27017"
66+
value: "27019"
6767
envFrom:
6868
- secretRef:
6969
name: some-users
@@ -95,7 +95,7 @@ spec:
9595
timeoutSeconds: 10
9696
name: mongos
9797
ports:
98-
- containerPort: 27017
98+
- containerPort: 27019
9999
name: mongos
100100
protocol: TCP
101101
readinessProbe:

0 commit comments

Comments
 (0)