Free5GC distributed not working

Hi Free5GC team,

I have a host machine (192.168.9.20) where UPF is running and VM (192.168.122.32) all other NFs are running.

Modified all the configuration files and updated localhost/127.0.0.1 to corresponding IP address.

Now able to run UPF in 192.168.9.20
$sudo -E ./bin/free5gc-upfd
[sudo] password for user:
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] Config: /home/user/Dec14/free5gc/src/upf/build/config/upfcfg.yaml
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] Set log level: info
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] DNN routes added, main routing table:
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] DstIp Gateway Iface Priority RtProto Type
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 192.168.130.0 /24 0.0.0.0 enp4s0 100 kernel unicast
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 192.168.130.0 /24 0.0.0.0 enp4s0 100 kernel unicast
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 192.168.130.0 /24 0.0.0.0 enp4s0 100 kernel unicast
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 192.168.122.0 /24 0.0.0.0 virbr0 0 kernel unicast
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 192.168.9.0 /24 0.0.0.0 enp4s0 100 kernel unicast
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 172.17.0.0 /16 0.0.0.0 docker0 0 kernel unicast
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 169.254.0.0 /16 0.0.0.0 enp4s0 1000 boot unicast
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 60.60.0.0 /24 0.0.0.0 upfgtp 0 static unicast
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 20.0.0.0 /24 192.168.9.75 enp4s0 0 boot unicast
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 10.200.200.0 /24 0.0.0.0 veth0 0 kernel unicast
2020-12-15T18:03:59+05:30 [INFO][UPF][Util] 0.0.0.0 /0 192.168.9.2 enp4s0 100 dhcp unicast

While running test.sh TestRegistration file in VM, got the below result,
$ ./test.sh TestRegistration
[sudo] password for user:
CommonConfig file: …/…/config/free5GC.conf
2020-12-16T13:27:58+05:30 [INFO][NAS][Message] set log level : info
2020-12-16T13:27:58+05:30 [INFO][NAS][Message] set report call : false
2020-12-16T13:27:58+05:30 [INFO][LIB][FSM] set log level : info
2020-12-16T13:27:58+05:30 [INFO][LIB][FSM] set report call : false
2020-12-16T13:27:58+05:30 [INFO][LIB][NGAP] set log level : info
2020-12-16T13:27:58+05:30 [INFO][LIB][NGAP] set report call : false
2020-12-16T13:27:58+05:30 [INFO][OAPI][NamfComm] set log level : info
2020-12-16T13:27:58+05:30 [INFO][OAPI][NamfComm] set report call : false
2020-12-16T13:27:58+05:30 [INFO][OAPI][NamfEvent] set log level : info
2020-12-16T13:27:58+05:30 [INFO][OAPI][NamfEvent] set report call : false
2020-12-16T13:27:58+05:30 [INFO][OAPI][NsmfPDUSess] set log level : info
2020-12-16T13:27:58+05:30 [INFO][OAPI][NsmfPDUSess] set report call : false
2020-12-16T13:27:58+05:30 [INFO][OAPI][NudrDataRepo] set log level : info
2020-12-16T13:27:58+05:30 [INFO][OAPI][NudrDataRepo] set report call : false
2020-12-16T13:27:58+05:30 [INFO][LIB][OAPI] set log level : info
2020-12-16T13:27:58+05:30 [INFO][LIB][OAPI] set report call : false
2020-12-16T13:27:58+05:30 [INFO][LIB][Aper] set log level : info
2020-12-16T13:27:58+05:30 [INFO][LIB][Aper] set report call : false
2020-12-16T13:27:58+05:30 [INFO][CommonTest][Comm] set log level : info
2020-12-16T13:27:58+05:30 [INFO][CommonTest][Comm] set report call : false
2020-12-16T13:27:58+05:30 [INFO][NRF][Init] Successfully initialize configuration …/…/config/nrfcfg.conf
2020-12-16T13:27:58+05:30 [INFO][NRF][Init] Log level is set to [info] level
2020-12-16T13:27:58+05:30 [INFO][NRF][Init] Server started
2020-12-16T13:27:58+05:30 [INFO][NRF][Init] nrfconfig Info: Version[1.0.0] Description[NRF initial local configuration]
2020-12-16T13:27:58+05:30 [INFO][NRF][Init] 192.168.122.32:29510
2020-12-16T13:27:58+05:30 [INFO][AMF][Init] Successfully initialize configuration …/…/config/amfcfg.conf
2020-12-16T13:27:58+05:30 [INFO][AMF][Init] Log level is set to [info] level
2020-12-16T13:27:58+05:30 [INFO][AMF][Init] Server started
2020-12-16T13:27:58+05:30 [INFO][AMF][Util] amfconfig Info: Version[1.0.0] Description[AMF initial local configuration]
2020-12-16T13:27:58+05:30 [INFO][AMF][NGAP] Listen on 192.168.122.32:38412
2020-12-16T13:27:58+05:30 [INFO][NRF][Management] Handle NFRegisterRequest
2020-12-16T13:27:58+05:30 [INFO][SMF][Init] Successfully initialize configuration …/…/config/test/smfcfg.test.conf
2020-12-16T13:27:58+05:30 [INFO][SMF][Init] Successfully initialize configuration …/…/config/uerouting.yaml
2020-12-16T13:27:58+05:30 [INFO][SMF][Init] Log level is set to [info] level
2020-12-16T13:27:58+05:30 [INFO][SMF][Context] smfconfig Info: Version[1.0.0] Description[SMF initial local configuration]
2020-12-16T13:27:58+05:30 [INFO][SMF][Init] Server started
2020-12-16T13:27:58+05:30 [INFO][NRF][Management] Handle NFRegisterRequest
2020-12-16T13:27:58+05:30 [INFO][UDR][Init] Successfully initialize configuration …/…/config/udrcfg.conf
2020-12-16T13:27:58+05:30 [INFO][UDR][Init] Log level is set to [info] level
2020-12-16T13:27:58+05:30 [INFO][UDR][Init] UDR Config Info: Version[1.0.0] Description[UDR initial local configuration]
2020-12-16T13:27:58+05:30 [INFO][UDR][Init] Server started
2020-12-16T13:27:58+05:30 [INFO][UDR][Util] udrconfig Info: Version[1.0.0] Description[UDR initial local configuration]
2020-12-16T13:27:58+05:30 [INFO][NRF][Management] Handle NFRegisterRequest
2020-12-16T13:27:58+05:30 [INFO][PCF][Init] Successfully initialize configuration …/…/config/pcfcfg.conf
2020-12-16T13:27:58+05:30 [INFO][PCF][Init] Log level is set to [info] level
2020-12-16T13:27:58+05:30 [INFO][PCF][Init] Server started
2020-12-16T13:27:58+05:30 [INFO][PCF][Util] pcfconfig Info: Version[1.0.0] Description[PCF initial local configuration]
2020-12-16T13:27:58+05:30 [INFO][NRF][Management] Handle NFRegisterRequest
2020-12-16T13:27:59+05:30 [INFO][UDM][Init] Successfully initialize configuration …/…/config/udmcfg.conf
2020-12-16T13:27:59+05:30 [INFO][UDM][Init] Log level is set to [info] level
2020-12-16T13:27:59+05:30 [INFO][UDM][Init] UDM Config Info: Version[1.0.0] Description[UDM initial local configuration]
2020-12-16T13:27:59+05:30 [INFO][UDM][Init] Server started
2020-12-16T13:27:59+05:30 [INFO][UDM][Util] udmconfig Info: Version[1.0.0] Description[UDM initial local configuration]
2020-12-16T13:27:59+05:30 [INFO][NRF][Management] Handle NFRegisterRequest
2020-12-16T13:27:59+05:30 [INFO][NSSF][Factory] Successfully initialize configuration …/…/config/nssfcfg.conf
2020-12-16T13:27:59+05:30 [INFO][NSSF][Init] Log level is default set to [info] level
2020-12-16T13:27:59+05:30 [INFO][NSSF][Init] Server started
2020-12-16T13:27:59+05:30 [INFO][NRF][Management] Handle NFRegisterRequest
2020-12-16T13:27:59+05:30 [INFO][AUSF][Init] Successfully initialize configuration …/…/config/ausfcfg.conf
2020-12-16T13:27:59+05:30 [INFO][AUSF][Init] Log level is set to [info] level
2020-12-16T13:27:59+05:30 [INFO][AUSF][Init] Server started
2020-12-16T13:27:59+05:30 [INFO][AUSF][Init] ausfconfig Info: Version[1.0.0] Description[AUSF initial local configuration]
ausf context = &{{{0 0} {} map[] 0} {{0 0} {} map[] 0} 1381c8ec-2502-4e35-848e-5ec1be13a713 ausfGroup001 29509 192.168.122.32 192.168.122.32 http://192.168.122.32:29509 http http://192.168.122.32:29510 map[nausf-auth:{1381c8ec-2502-4e35-848e-5ec1be13a713 nausf-auth 0xc0003baac0 http REGISTERED 0xc0003baaa0 [] [] [] 0 0 0 }] [{208 93} {123 45}] 0xc0000c0140}
2020-12-16T13:27:59+05:30 [INFO][NRF][Management] Handle NFRegisterRequest
=== RUN TestRegistration
2020-12-16T13:27:59+05:30 [INFO][AMF][NGAP] [AMF] SCTP Accept from: 192.168.122.32:9487
TestRegistration: registration_test.go:51:
Error Trace: registration_test.go:51
Error: Expected nil, but got: &net.OpError{Op:“dial”, Net:“udp”, Source:(*net.UDPAddr)(0xc0002c1b60), Addr:(*net.UDPAddr)(0xc0002c1b00), Err:(*os.SyscallError)(0xc0003bb680)}
Test: TestRegistration
2020-12-16T13:27:59+05:30 [INFO][AMF][NGAP] Create a new NG connection for: 192.168.122.32:9487
2020-12-16T13:27:59+05:30 [INFO][AMF][NGAP] [AMF] NG Setup request
2020-12-16T13:27:59+05:30 [INFO][AMF][NGAP] [AMF] Send NG-Setup response
2020-12-16T13:29:28+05:30 [INFO][NRF][Management] urilist create
2020-12-16T13:29:28+05:30 [INFO][NRF][Management] urilist create
2020-12-16T13:29:28+05:30 [INFO][NRF][Management] urilist create
2020-12-16T13:29:28+05:30 [INFO][NRF][Management] urilist create
2020-12-16T13:29:29+05:30 [INFO][NRF][Management] urilist create
2020-12-16T13:29:29+05:30 [INFO][NRF][Management] urilist create
2020-12-16T13:29:29+05:30 [INFO][NRF][Management] urilist create
TestRegistration: registration_test.go:78:
Error Trace: registration_test.go:78
Error: Expected value not to be nil.
Test: TestRegistration
2020-12-16T13:30:28+05:30 [INFO][NRF][Management] Create NF Profile
2020-12-16T13:30:28+05:30 [INFO][NRF][Management] Create NF Profile
2020-12-16T13:30:28+05:30 [INFO][NRF][Management] Create NF Profile
2020-12-16T13:30:28+05:30 [INFO][NRF][Management] Create NF Profile
2020-12-16T13:30:29+05:30 [INFO][NRF][Management] Create NF Profile
2020-12-16T13:30:29+05:30 [INFO][NRF][Management] Create NF Profile
2020-12-16T13:30:29+05:30 [INFO][NRF][Management] Create NF Profile
2020-12-16T13:30:58+05:30 [FATA][LIB][MongoDB] server selection error: server selection timeout
current topology: Type: Unknown
Servers:
Addr: 192.168.122.32:27017, Type: Unknown, State: Connected, Average RTT: 0, Last error: dial tcp 192.168.122.32:27017: connect: connection refused
exit status 1
FAIL free5gc/src/test 180.218s
free5gc-upfd: no process found
Cannot find device “veth0”
No netns name specified
RTNETLINK answers: Cannot assign requested address

Please help to resolve this issue.

Best Regards,
lakshmi

Hi @lakshmi,
I believe you are running all the NFs except UPF on your VM (192.168.122.32).
But when you run test.sh, it is independent of you running ./run.sh, test.sh creates its own UPF namespace it runs all the NFs including UPF and tests registration and stops all the NFs created by it.
So I am not understanding what you want to do while running test.sh with config files pointing to another machine.
I would highly recommend following this page by @s5uishida if you are using VMs.

let me know if you need any help further
Thanks,
Manoj