changing port will fail

Bug #2003763 reported by Yoshi Kadokawa
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
MongoDB Charm
Fix Released
Undecided
Samuel Allan

Bug Description

Due to security request from the customer, I need to change the default port for mongoDB from 27017 to something else.

I have deployed mongodb with the following command, however, it will fail.

$ juju deploy --series focal mongodb --config port=57017

The error in /var/log/juju/unit-mongodb-0.log looks like this:

2023-01-24 01:08:45 INFO unit.mongodb/0.juju-log server.go:316 Entering config_changed
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 Traceback (most recent call last):
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/var/lib/juju/agents/unit-mongodb-0/charm/hooks/config-changed", line 2310, in <module>
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 hooks.execute(sys.argv)
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/var/lib/juju/agents/unit-mongodb-0/charm/hooks/charmhelpers/core/hookenv.py", line 963, in execute
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 self._hooks[hook_name]()
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/var/lib/juju/agents/unit-mongodb-0/charm/hooks/config-changed", line 1293, in config_changed
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 if version.parse(get_mongod_version()) < version.parse("4.2"):
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/var/lib/juju/agents/unit-mongodb-0/charm/hooks/config-changed", line 1614, in get_mongod_version
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 return c.server_info()["version"]
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/usr/lib/python3/dist-packages/pymongo/mongo_client.py", line 1866, in server_info
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 return self.admin.command("buildinfo",
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/usr/lib/python3/dist-packages/pymongo/database.py", line 729, in command
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 with self.__client._socket_for_reads(
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/usr/lib/python3.8/contextlib.py", line 113, in __enter__
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 return next(self.gen)
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/usr/lib/python3/dist-packages/pymongo/mongo_client.py", line 1298, in _socket_for_reads
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 server = self._select_server(read_preference, session)
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/usr/lib/python3/dist-packages/pymongo/mongo_client.py", line 1253, in _select_server
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 server = topology.select_server(server_selector)
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/usr/lib/python3/dist-packages/pymongo/topology.py", line 233, in select_server
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 return random.choice(self.select_servers(selector,
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/usr/lib/python3/dist-packages/pymongo/topology.py", line 192, in select_servers
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 server_descriptions = self._select_servers_loop(
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 File "/usr/lib/python3/dist-packages/pymongo/topology.py", line 208, in _select_servers_loop
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 raise ServerSelectionTimeoutError(
2023-01-24 01:09:45 WARNING unit.mongodb/0.config-changed logger.go:60 pymongo.errors.ServerSelectionTimeoutError: localhost:27017: [Errno 111] Connection refused
2023-01-24 01:09:46 ERROR juju.worker.uniter.operation runhook.go:140 hook "config-changed" (via explicit, bespoke hook script) failed: exit status 1

It will also fail when using 3.6/edge channel as well, and dpe/edge channel does not support changing port.

Related branches

Revision history for this message
Yoshi Kadokawa (yoshikadokawa) wrote :

Attaching juju-crashdump

Changed in charm-mongodb:
assignee: nobody → Samuel Walladge (swalladge)
status: New → In Progress
Andrea Ieri (aieri)
Changed in charm-mongodb:
status: In Progress → Fix Committed
Changed in charm-mongodb:
milestone: none → 23.04
Changed in charm-mongodb:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.