Code Monkey home page Code Monkey logo

Comments (22)

endrigoshi avatar endrigoshi commented on May 22, 2024 4

@free5gc-org I did the necessary modifications and I sent the PR for each of the NFs.
When they are merged, I can create a PR for the free5gc repo as well, since there are changes that need to be done to the configurations in config folder as well.

from free5gc.

infinitydon avatar infinitydon commented on May 22, 2024 3

Yes..

An example of how I configured the NRF in k8s is this:

  nrfcfg.conf: |
    info:
      version: 3.0.2
      description: NRF initial local configuration

    configuration:
      MongoDBName: "free5gc"
      MongoDBUrl: "mongodb://mongodb-svc:27017"
      DefaultServiceIP: "free5gc-nrf-service"
      sbi:
        scheme: http
        ipv4Addr: 0.0.0.0
        port: 29510
      DefaultPlmnId:
        mcc: "208"
        mnc: "93"
      serviceNameList:
        - nnrf-nfm
        - nnrf-disc

So the remaining 5GC components communicates to the NRF using service name free5gc-nrf-service instead of the POD IP

from free5gc.

endrigoshi avatar endrigoshi commented on May 22, 2024 2

Hi @free5gc-org ,

That's great! 😃
Yes, now the only thing left is to change the config files so that they match the new format.
It should be smth like this:

  sbi:
    scheme: http
    registerIPv4: 127.0.0.1    #Can also be a kubernetes service IP or domain name.
    bindingIPv4: 127.0.0.1    #Can also be an ENV.
    port: 29518

If you can do these changes without me creating a PR, I guess it would be fastest. I can of course create a PR as I have them already changed in my local code.

from free5gc.

endrigoshi avatar endrigoshi commented on May 22, 2024 1

@infinitydon I noticed that they are not in the same files for each of the NFs (probably different persons coded the NFs) but for AMF for e.g. I had to modify the following files:
amf_context/context.go, amf_service/amf_init.go, amf_util/initContext.go and factory/config_configuration.

It would be nice if @free5gc-org would consider to have add this feature in the code.

from free5gc.

free5gc-org avatar free5gc-org commented on May 22, 2024 1

Dear @endrigoshi ,

Sorry for the lat reply. This PR seems good and we'll start to review recently.

Thanks a lot!

from free5gc.

endrigoshi avatar endrigoshi commented on May 22, 2024 1

Hi @free5gc-org ,

I just tested it in my setup and it work correctly.

On another note, I noticed that we may need to change the config inside the compose folder.

from free5gc.

endrigoshi avatar endrigoshi commented on May 22, 2024

You would have to manually add the parameter in the config file and then in config-parsing files for each of the NFs. Indeed it is quite useful when deploying the core network in k8s. I have done it previously but not for the latest version of the code.

from free5gc.

infinitydon avatar infinitydon commented on May 22, 2024

@endrigoshi Thanks for the response, can you please show me where the config-parsing files for each of the NFs are located?

from free5gc.

free5gc-org avatar free5gc-org commented on May 22, 2024

We're not quite understand,

So the feature is asking for listen on, for example, IPA, and register to nrf with IPB?

from free5gc.

endrigoshi avatar endrigoshi commented on May 22, 2024

@free5gc-org Is this something that fits with your vision for free5gc? If so I can work on this and have a PR by next week. Or if you plan to release a new version of the code soon, I can wait for that and do the changes there.

from free5gc.

free5gc-org avatar free5gc-org commented on May 22, 2024

Hi @endrigoshi,
We have no plane to release our new version in recent weeks. We're glad to see someone who can help us to implement this feature. 💪

from free5gc.

sothy avatar sothy commented on May 22, 2024

Hello @infinitydon
sorry for asking this question in this thread.
I am also thinking to deploy Free5GC on k8s. I see your work.
https://bitbucket.org/infinitydon/virtual-4g-simulator/src/master/free5gc/
I can deploy only NRF. others are giving error.
For example when I deploying AUSF

ubuntu@localhost:~$ kubectl logs free5gc-ausf-deployment-7647cc7cd9-fsrhf Error from server (BadRequest): container "myapp-container" in pod "free5gc-ausf-deployment-7647cc7cd9-fsrhf" is waiting to start: PodInitializing
Do you know why it is happening?
Thanks
Sothy

from free5gc.

infinitydon avatar infinitydon commented on May 22, 2024

Hi @sothy ,

The deployment uses sdnvortex/network-controller to add a second network interface to the container and this requires that bridge interface exists in the worker node, can you check if there is a bridge br0 in the worker node?

Also open-v-switch needs to be installed in the worker nodes.

N.B - The bridge should be created with open-v-switch.

NRF uses the default k8s interface, this is why it is running without any issues.

from free5gc.

sothy avatar sothy commented on May 22, 2024

Hello @infinitydon
There is no br0.
ubuntu@localhost:~$ sudo ovs-vsctl list-br br-int

I see your
`ubuntu@localhost:~$ kubectl describe daemonsets network-controller-server-unix -n kube-system
Name: network-controller-server-unix
Selector: name=network-controller-server-unix
Node-Selector:
Labels:
Annotations: deprecated.daemonset.template.generation: 1
Desired Number of Nodes Scheduled: 1
Current Number of Nodes Scheduled: 1
Number of Nodes Scheduled with Up-to-date Pods: 1
Number of Nodes Scheduled with Available Pods: 1
Number of Nodes Misscheduled: 0
Pods Status: 1 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
Labels: name=network-controller-server-unix
Containers:
network-controller-server-unix:
Image: sdnvortex/network-controller:v0.4.9
Port:
Host Port:
Command:
/go/bin/server
Args:
-unix=/tmp/vortex.sock
-netlink-gc
Environment:
Mounts:
/tmp/ from grpc-sock (rw)
/var/run/docker.sock from docker-sock (rw)
/var/run/docker/netns:shared from docker-ns (rw)
/var/run/openvswitch/db.sock from ovs-sock (rw)
Volumes:
docker-ns:
Type: HostPath (bare host directory volume)
Path: /run/docker/netns
HostPathType:
docker-sock:
Type: HostPath (bare host directory volume)
Path: /run/docker.sock
HostPathType:
ovs-sock:
Type: HostPath (bare host directory volume)
Path: /run/openvswitch/db.sock
HostPathType:
grpc-sock:
Type: HostPath (bare host directory volume)
Path: /tmp/vortex
HostPathType:
Events:
Type Reason Age From Message


Normal SuccessfulCreate 5m44s daemonset-controller Created pod: network-controller-server-unix-fp5m6
`

I dnt know why it is not possible to create br0?

Best regards
Sothy

from free5gc.

infinitydon avatar infinitydon commented on May 22, 2024

@sothy

The bridge needs manually on the worker node, you can do this via

sudo ovs-vsctl add-br br0

from free5gc.

sothy avatar sothy commented on May 22, 2024

Thanks @infinitydon
It worked for me.

only upf is not woking.

I guess UPF is not working. I dont install gtp plugin the host and kernel version is matched.

Kernel
ubuntu@localhost:~$ uname -a
Linux localhost 4.15.0-112-generic #113-Ubuntu SMP Thu Jul 9 23:41:39 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

from free5gc.

sothy avatar sothy commented on May 22, 2024

Hello @infinitydon
I see many times NRF failed.
ubuntu@localhost:~$ kubectl get pods NAME READY STATUS RESTARTS AGE free5gc-amf-deployment-94cf8b957-9kfmp 1/1 Running 0 36m free5gc-ausf-deployment-7647cc7cd9-d95wx 1/1 Running 0 39m free5gc-nrf-deployment-76cf5587b5-bgfvv 0/1 CrashLoopBackOff 7 85m free5gc-pcf-deployment-6c6976c67d-ffxlm 1/1 Running 0 35m free5gc-smf-deployment-77c94bc9bb-bz8kw 1/1 Running 0 36m free5gc-udm-deployment-748fcb4944-zqbxd 1/1 Running 0 35m free5gc-udr-deployment-796b5969c-274fw 1/1 Running 0 30m

When I see logs of NRF,
INFO[2020-08-16T13:04:17Z]/src/nrf/Management/api_management.go:700 free5gc/src/nrf/Management.setLocationHeader() UriList create NRF=ManagementLog FATA[2020-08-16T13:05:47Z]/lib/MongoDBLibrary/api_mongoDB.go:53 free5gc/lib/MongoDBLibrary.RestfulAPIGetMany() server selection error: server selection timeout current topology: Type: Unknown Servers: Addr: mongodb-svc:27017, Type: Unknown, State: Connected, Average RTT: 0, Last error: dial tcp: lookup mongodb-svc on 10.244.0.3:53: no such host MongoDB=MongoDB ubuntu@localhost:~$

Do I need to do for mongdb?

from free5gc.

infinitydon avatar infinitydon commented on May 22, 2024

@sothy

I suggest you should delete the whole free5gc deployment and start afresh..

Kindly use the issues page to continue the discussion: https://bitbucket.org/infinitydon/virtual-4g-simulator/issues?status=new&status=open

from free5gc.

free5gc-org avatar free5gc-org commented on May 22, 2024

@free5gc-org I did the necessary modifications and I sent the PR for each of the NFs.
When they are merged, I can create a PR for the free5gc repo as well, since there are changes that need to be done to the configurations in config folder as well.

Hi @endrigoshi ,

We have merge the PR, thanks for the contribution. Seems we should update the config on free5gc here right. 😃

from free5gc.

free5gc-org avatar free5gc-org commented on May 22, 2024

Ok, we can do it!

Thanks for your help!!!

from free5gc.

free5gc-org avatar free5gc-org commented on May 22, 2024

Hi @endrigoshi @infinitydon ,

The config has been updated!

If you have time, please helps to check the config and try running it due to we have no k8s env now.

Thanks for your report and contribution! 👍 ❤️

from free5gc.

free5gc-org avatar free5gc-org commented on May 22, 2024

The config of compose has been fixed now.

from free5gc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.