[FATA][LIB][MongoDB] server selection error: server selection timeout

root@511f7a4c136f:~/free5gc# ./bin/nrf
nrf
2020-10-28T14:26:07+08:00 [INFO][NRF][App] NRF version:
version: v3.0.4
build time: 2020-10-27T10:30:44Z
commit hash: 6b8eebc2
commit time: 2020-09-28T21:07:56Z
go version: go1.14.4 linux/amd64
CommonConfig file: config/free5GC.conf
2020-10-28T14:26:07+08:00 [INFO][NAS][Message] set log level : trace
2020-10-28T14:26:07+08:00 [INFO][NAS][Message] set report call : true
2020-10-28T14:26:07+08:00 [INFO][LIB][FSM] set log level : trace
2020-10-28T14:26:07+08:00 [INFO][LIB][FSM] set report call : true
2020-10-28T14:26:07+08:00 [INFO][LIB][NGAP] set log level : trace
2020-10-28T14:26:07+08:00 [INFO][LIB][NGAP] set report call : true
2020-10-28T14:26:07+08:00 [INFO][OAPI][NamfComm] set log level : trace
2020-10-28T14:26:07+08:00 [INFO][OAPI][NamfComm] set report call : true
2020-10-28T14:26:07+08:00 [INFO][OAPI][NamfEvent] set log level : trace
2020-10-28T14:26:07+08:00 [INFO][OAPI][NamfEvent] set report call : true
2020-10-28T14:26:07+08:00 [INFO][OAPI][NsmfPDUSess] set log level : trace
2020-10-28T14:26:07+08:00 [INFO][OAPI][NsmfPDUSess] set report call : true
2020-10-28T14:26:07+08:00 [INFO][OAPI][NudrDataRepo] set log level : trace
2020-10-28T14:26:07+08:00 [INFO][OAPI][NudrDataRepo] set report call : true
2020-10-28T14:26:07+08:00 [INFO][LIB][OAPI] set log level : trace
2020-10-28T14:26:07+08:00 [INFO][LIB][OAPI] set report call : true
2020-10-28T14:26:07+08:00 [INFO][LIB][Aper] set log level : trace
2020-10-28T14:26:07+08:00 [INFO][LIB][Aper] set report call : true
2020-10-28T14:26:07+08:00 [INFO][CommonTest][Comm] set log level : trace
2020-10-28T14:26:07+08:00 [INFO][CommonTest][Comm] set report call : true
2020-10-28T14:26:07+08:00 [INFO][NRF][Init] Successfully initialize configuration config/nrfcfg.conf
2020-10-28T14:26:07+08:00 [INFO][NRF][Init] Log level is set to [trace] level
2020-10-28T14:26:07+08:00 [INFO][NRF][Init] Server started (/root/free5gc/src/nrf/service/init.go:103 free5gc/src/nrf/service.(*NRF).Start)
[GIN-debug] [WARNING] Running in “debug” mode. Switch to “release” mode in production.

  • using env: export GIN_MODE=release
  • using code: gin.SetMode(gin.ReleaseMode)

[GIN-debug] GET / --> free5gc/src/nrf/accesstoken.Index (3 handlers)
[GIN-debug] POST /oauth2/token --> free5gc/src/nrf/accesstoken.HTTPAccessTokenRequest (3 handlers)
[GIN-debug] GET /nnrf-disc/v1/ --> free5gc/src/nrf/discovery.Index (3 handlers)
[GIN-debug] GET /nnrf-disc/v1/nf-instances --> free5gc/src/nrf/discovery.HTTPSearchNFInstances (3 handlers)
[GIN-debug] GET /nnrf-nfm/v1/ --> free5gc/src/nrf/management.Index (3 handlers)
[GIN-debug] DELETE /nnrf-nfm/v1/nf-instances/:nfInstanceID --> free5gc/src/nrf/management.HTTPDeregisterNFInstance (3 handlers)
[GIN-debug] GET /nnrf-nfm/v1/nf-instances/:nfInstanceID --> free5gc/src/nrf/management.HTTPGetNFInstance (3 handlers)
[GIN-debug] PUT /nnrf-nfm/v1/nf-instances/:nfInstanceID --> free5gc/src/nrf/management.HTTPRegisterNFInstance (3 handlers)
[GIN-debug] PATCH /nnrf-nfm/v1/nf-instances/:nfInstanceID --> free5gc/src/nrf/management.HTTPUpdateNFInstance (3 handlers)
[GIN-debug] GET /nnrf-nfm/v1/nf-instances --> free5gc/src/nrf/management.HTTPGetNFInstances (3 handlers)
[GIN-debug] DELETE /nnrf-nfm/v1/subscriptions/:subscriptionID --> free5gc/src/nrf/management.HTTPRemoveSubscription (3 handlers)
[GIN-debug] PATCH /nnrf-nfm/v1/subscriptions/:subscriptionID --> free5gc/src/nrf/management.HTTPUpdateSubscription (3 handlers)
[GIN-debug] POST /nnrf-nfm/v1/subscriptions --> free5gc/src/nrf/management.HTTPCreateSubscription (3 handlers)
2020-10-28T14:26:07+08:00 [INFO][NRF][Init] nrfconfig Info: Version[1.0.0] Description[NRF initial local configuration] (/root/free5gc/src/nrf/context/nrf_context.go:20 free5gc/src/nrf/context.InitNrfContext)
2020-10-28T14:26:07+08:00 [INFO][NRF][Init] 172.17.0.3:29510 (/root/free5gc/src/nrf/service/init.go:114 free5gc/src/nrf/service.(*NRF).Start)
2020-10-28T14:26:08+08:00 [INFO][NRF][Management] Handle NFRegisterRequest (/root/free5gc/src/nrf/producer/nf_management.go:59 free5gc/src/nrf/producer.HandleNFRegisterRequest)
2020-10-28T14:26:08+08:00 [TRAC][NRF][Management] [NRF] In NFRegisterProcedure (/root/free5gc/src/nrf/producer/nf_management.go:332 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:26:08+08:00 [INFO][NRF][Management] Handle NFRegisterRequest (/root/free5gc/src/nrf/producer/nf_management.go:59 free5gc/src/nrf/producer.HandleNFRegisterRequest)
2020-10-28T14:26:08+08:00 [TRAC][NRF][Management] [NRF] In NFRegisterProcedure (/root/free5gc/src/nrf/producer/nf_management.go:332 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:26:08+08:00 [INFO][NRF][Management] Handle NFRegisterRequest (/root/free5gc/src/nrf/producer/nf_management.go:59 free5gc/src/nrf/producer.HandleNFRegisterRequest)
2020-10-28T14:26:08+08:00 [TRAC][NRF][Management] [NRF] In NFRegisterProcedure (/root/free5gc/src/nrf/producer/nf_management.go:332 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:26:08+08:00 [INFO][NRF][Management] Handle NFRegisterRequest (/root/free5gc/src/nrf/producer/nf_management.go:59 free5gc/src/nrf/producer.HandleNFRegisterRequest)
2020-10-28T14:26:08+08:00 [TRAC][NRF][Management] [NRF] In NFRegisterProcedure (/root/free5gc/src/nrf/producer/nf_management.go:332 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:26:08+08:00 [INFO][NRF][Management] Handle NFRegisterRequest (/root/free5gc/src/nrf/producer/nf_management.go:59 free5gc/src/nrf/producer.HandleNFRegisterRequest)
2020-10-28T14:26:08+08:00 [TRAC][NRF][Management] [NRF] In NFRegisterProcedure (/root/free5gc/src/nrf/producer/nf_management.go:332 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:26:08+08:00 [INFO][NRF][Management] Handle NFRegisterRequest (/root/free5gc/src/nrf/producer/nf_management.go:59 free5gc/src/nrf/producer.HandleNFRegisterRequest)
2020-10-28T14:26:08+08:00 [TRAC][NRF][Management] [NRF] In NFRegisterProcedure (/root/free5gc/src/nrf/producer/nf_management.go:332 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:26:08+08:00 [INFO][NRF][Management] Handle NFRegisterRequest (/root/free5gc/src/nrf/producer/nf_management.go:59 free5gc/src/nrf/producer.HandleNFRegisterRequest)
2020-10-28T14:26:08+08:00 [TRAC][NRF][Management] [NRF] In NFRegisterProcedure (/root/free5gc/src/nrf/producer/nf_management.go:332 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:27:38+08:00 [INFO][NRF][Management] urilist create (/root/free5gc/src/nrf/context/management_data.go:464 free5gc/src/nrf/context.SetLocationHeader)
2020-10-28T14:27:38+08:00 [INFO][NRF][Management] urilist create (/root/free5gc/src/nrf/context/management_data.go:464 free5gc/src/nrf/context.SetLocationHeader)
2020-10-28T14:27:38+08:00 [INFO][NRF][Management] urilist create (/root/free5gc/src/nrf/context/management_data.go:464 free5gc/src/nrf/context.SetLocationHeader)
2020-10-28T14:27:38+08:00 [INFO][NRF][Management] urilist create (/root/free5gc/src/nrf/context/management_data.go:464 free5gc/src/nrf/context.SetLocationHeader)
2020-10-28T14:27:38+08:00 [INFO][NRF][Management] urilist create (/root/free5gc/src/nrf/context/management_data.go:464 free5gc/src/nrf/context.SetLocationHeader)
2020-10-28T14:27:38+08:00 [INFO][NRF][Management] urilist create (/root/free5gc/src/nrf/context/management_data.go:464 free5gc/src/nrf/context.SetLocationHeader)
2020-10-28T14:27:38+08:00 [INFO][NRF][Management] urilist create (/root/free5gc/src/nrf/context/management_data.go:464 free5gc/src/nrf/context.SetLocationHeader)
2020-10-28T14:28:38+08:00 [INFO][NRF][Management] Create NF Profile (/root/free5gc/src/nrf/producer/nf_management.go:385 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:28:38+08:00 [INFO][NRF][Management] Create NF Profile (/root/free5gc/src/nrf/producer/nf_management.go:385 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:28:38+08:00 [INFO][NRF][Management] Create NF Profile (/root/free5gc/src/nrf/producer/nf_management.go:385 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:28:38+08:00 [INFO][NRF][Management] Create NF Profile (/root/free5gc/src/nrf/producer/nf_management.go:385 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:28:38+08:00 [INFO][NRF][Management] Create NF Profile (/root/free5gc/src/nrf/producer/nf_management.go:385 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:28:38+08:00 [INFO][NRF][Management] Create NF Profile (/root/free5gc/src/nrf/producer/nf_management.go:385 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:28:38+08:00 [INFO][NRF][Management] Create NF Profile (/root/free5gc/src/nrf/producer/nf_management.go:385 free5gc/src/nrf/producer.NFRegisterProcedure)
2020-10-28T14:29:08+08:00 [FATA][LIB][MongoDB] server selection error: server selection timeout
current topology: Type: Unknown
Servers:
Addr: 172.17.0.3:27017, Type: Unknown, State: Connected, Average RTT: 0, Last error: dial tcp 172.17.0.3:27017: connect: connection refused
root@511f7a4c136f:~/free5gc#

The NRF run about 3 minute will be terminated by a error[FATA][LIB][MongoDB] server selection error: server selection timeout, please help

the free5gc is install in docker with privilege, after I run
systemctl start mongodb
systemctl enable mongodb
systemctl status mongodb

it become 2020-10-28T17:35:17+08:00 [FATA][LIB][MongoDB] context deadline exceeded

If your free5GC is installing in docker and the mongodb running on the host, you should check if the config file of NRF and UDR. The mongodb’s IP must set to the right IP.

The mongodb should’t install with free5gc in container, should use official mongo image to run mongodb, now it is running perfectly after use official image