Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Mario Mesas
    @marzmesas
    Thanks a lot!
    Mario Mesas
    @marzmesas
    Hi Gabriele, any updates on it working?
    Gabriele Baldoni
    @gabrik
    Not yet, I can test in the afternoon
    Mario Mesas
    @marzmesas
    Sure, if you manage to succeed please let me know
    I'll just follow your steps to check what I missed
    Mario Mesas
    @marzmesas
    Hi Gabriele, were you able to instantiate with 0.2.0?
    Gabriele Baldoni
    @gabrik
    I’m working on it, I had some issues with the testing infrastructure
    Gabriele Baldoni
    @gabrik
    Just forgot to mention you have to change the address in the script that creates the VIM
    tested with 0.2.1 and indeed it seems that there is a timer, btw with 0.2.1 you can just use OSM to check if the service is up, it takes around 1min to update the information from the VIM
    The output should be
    osm ns-list
    +------------------+--------------------------------------+---------------------+----------+-------------------+---------------+
    | ns instance name | id                                   | date                | ns state | current operation | error details |
    +------------------+--------------------------------------+---------------------+----------+-------------------+---------------+
    | fos_test         | 357e974c-d4f1-42d9-8151-b040a927b2a0 | 2020-09-03T09:50:31 | READY    | IDLE (None)       | N/A           |
    +------------------+--------------------------------------+---------------------+----------+-------------------+———————+
    Mehdi
    @meeeehdiiii_twitter
    Hi all, if I want to deploy an nginx web server from Dockerhub on fog05, what would be the steps ? :)
    so that I can use the webserver at the end.
    Gabriele Baldoni
    @gabrik
    Hi @meeeehdiiii_twitter, if you already followed the “Hello World” example you can have your FDU descriptor based on the one of the example, just need to point to the right image from dockerhub, this means updating the uri in the image section of the descriptor to your image on dockerhub eg. in the case of the simple alpine:nginx image it would become like this
    …
    “image”:{
       “uri”:””docker.io/library/nginx:alpine”,
       "checksum": "",
       "format": “"
    }
    …
    Then to use it you need to attach that fdu to a virtual network managed by fog05.
    Like you can see in this demo: https://github.com/atolab/eclipse-fog05-ros2-demo
    Mehdi
    @meeeehdiiii_twitter

    @gabrik Thanks, I tried both (nginx, and ros2-demo) but it was not successfull yet.

    when I try to run the ros2-demo, I get "No Nodes in the system".
    or I get "Error 404 with message No node found for this FDU" when I use the Linux zenoh.service daemon instead of the eclipse/zenoh docker image. The error comes from this line: inst_info = a.fdu.define(fdu_id)
    And I start the script with python3 deploy.py localhost:7447

    I have the following components running on my LinuxMint:
    fos_agent , fos_ctd, fos_linux, fos_linuxbridge, containerd, zenoh

    Do I have all required components to run the ros2-demo or do I need additional components/ nodes ?

    Gabriele Baldoni
    @gabrik
    For the ROS2 demo you need to install ROS2 and the ROS2 plugin. But as you plan to just unse nginx you do not need to run all the ROS2 demo, it is just a good starting point to see how to describe a virtual network and the FDUs attached to that.
    The error you get seems related at the failing of some check during the instantiation process.
    Can you check the output of journalctl -u fos_agent | grep eval_check_fdu when you get the error?
    13 replies
    Mehdi
    @meeeehdiiii_twitter
    Is this documentation still valid? https://github.com/eclipse-fog05/fog05/wiki/Installation
    I wanted to install the CLI but cannot find the install scripts...
    Can the CLI already be used to deploy microservices?
    Gabriele Baldoni
    @gabrik
    The CLI is not valid anymore, the only way to interact is using the APIs that are available in Go, Python3 and OCaml
    We are working in the rewrite of the code base and thus tools like the CLI will be developed while rewriting
    Mehdi
    @meeeehdiiii_twitter
    :thumbsup: okey, thanks!
    Marco Gozzi
    @marcogozzi
    Hi @gabrik, I have a problem with containerd migration as the migration command never completes. I have two nodes that can both run my test container but when I execute the migration the command is stuck.
    >>> api.fdu.migrate(inst_info.get_uuid(),'9806ff42-cecc-48c1-9f44-da51955d4732')
    ^CTraceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/local/lib/python3.8/dist-packages/fog05/fimapi.py", line 1332, in migrate
        self.__wait_specific_node_fdu_state_change(destination_node_uuid, instanceid, 'RUN')
      File "/usr/local/lib/python3.8/dist-packages/fog05/fimapi.py", line 914, in __wait_specific_node_fdu_state_change
        fdu_info = self.connector.glob.actual.get_node_fdu_instance(
      File "/usr/local/lib/python3.8/dist-packages/fog05_sdk/yaks_connector.py", line 827, in get_node_fdu_instance
        kvs = self.ws.get(p)
      File "/usr/local/lib/python3.8/dist-packages/yaks/workspace.py", line 111, in get
        reply = q.get()
      File "/usr/lib/python3.8/queue.py", line 170, in get
        self.not_empty.wait()
      File "/usr/lib/python3.8/threading.py", line 302, in wait
        waiter.acquire()
    7 replies
    Mehdi
    @meeeehdiiii_twitter
    Hi again, do you guys have a web server as an example application which can run on top of fog05 ? I didn't manage to do it with Docker and nginx...
    ( Is it possible with any other virtualization technoloy which is tested already? )
    Gabriele Baldoni
    @gabrik
    You can use an LXD container with nginx and everything should be fine
    Mehdi
    @meeeehdiiii_twitter
    @gabrik I am pretty new to lxd. Does it mean it would have to pull, and run an lxd, then install nginx inside it. And then create a tarball. and this tarball can then be used in the deployment file for fog05 ?
    Gabriele Baldoni
    @gabrik
    Yes exactly
    Mehdi
    @meeeehdiiii_twitter
    @gabrik okey thank you! I will try that later. I like the plugin mechanisms of fog05 a lot and that different virtualization technologies can run on fog05 just with a plugin and if the node supports that technology. I have some other questions regarding fog05 principles:
    • Currently, there is the LinuxBridge network plugin. Is the communication of distributed applications on different nodes in different physical networks a relevant and important topic for fog05 ? The LinuxBridges on both edge nodes have to find themselves over e.g. VPN in order to support distributed communication, right? Another approach would be to let them communicate over a centralized controlplane. But there will be no contralized controlplane. And fog05 mentions just layer2-networking, but no overlay networking. Is distributed communication out of scope of fog05 ?
    • except the plugin-net-linuxbridge, are there any other networks plugins that fog05 plans to support later?
    Gabriele Baldoni
    @gabrik

    Hi @meeeehdiiii_twitter, yes the communication, I will rather say, networking between distributed applications is in the scope of fog05. The LinuxBridge plugin indeed creates L2 overlay networks between different FDUs (an FDU is anything that fog05 can manage eg. VMs, Containers, binaries), current implementation is using VxLAN with multicast discovery of the end-points, so it works well inside a LAN. There is plan to add to the LinuxBridge plugin also the possibility to create L3 overlay networks (using GRE) and Point-to-Point VxLAN (thus allowing FDUs in differents LANs to communicate). We tend to preferr decentralized solutions but for in case of nodes in different LANs what we see is that the use of a common rendez vous point is needed, (point-to-point VxLAN or GRE) and then inside LANs the communication can still leverage on VxLAN with multicast end-point discovery.

    We plan also to support a OVS Plugin, the level of functionalities expected is the same as the LinuxBridge one, they have to implement the same interface with the Agent and other plugins. We think that an OpenVSwitch plugin may have more flexibility.

    We are also investigating the possibility to provide a out-of-the-box virtual network to be used by default by fog05 FDUs, something like the docker0 bridge from Docker, to facilitate users in their first approach.

    As already stated before, we are currently working on a rewrite and redesign of some internal components in rust (https://www.rust-lang.org/) and this involves offcourse the networking plugins and their interface.

    I hope this answers your questions, in any case please feel free to ask.

    Mehdi
    @meeeehdiiii_twitter
    @gabrik Thanks for the hints. I am currently writing my master thesis about cloud/edge computing topics; and fog05 has interesting topics.
    Gabriele Baldoni
    @gabrik

    Hi all,
    we are happy to announce fog05 version 0.2.2 that comes with:

    • Decentralized Orchestration Engine!
    • K8s interoperability
    • A new and shiny fosctl utility that allows deployments on both fog05 and K8s clusters!

    More details on fosclt can be found here: https://fog05.io/docs/getting-started/introducing-fosctl/
    While installation instruction for the orchestration engine are available here: https://fog05.io/docs/getting-started/force-installation/

    Marco Gozzi
    @marcogozzi
    Hi @gabrik I think there is some problem during the installation of the native plugin: running a native application doesn't work and I get this error message in the log "sudo: fos_containerize: command not found". I checked the binary in /usr/bin and its size is 0. Replacing it with the correct file as written in the Makefile (sudo ln -sf /etc/fos/plugins/plugin-fdu-native/utils/containerize /usr/bin/fos_containerize) makes the native plugin work again.
    Also, I cannot seem to get a connection to the internet from within a native application run through fog05 but I remember that a few months I was able to: has something changed?
    Gabriele Baldoni
    @gabrik

    Hi @marcogozzi thanks for reporting this, I guess there is an error in the makefile/debian file.

    Regarding connectivity issue, by default the native plugin isolates the binaries in a separate namespace, so network is isolated if not connected to a virtual network that then is able to reach the internet or bridged to an existing virtual bridge.
    You can disable isolation, it is a configuration flag in /etc/fos/plugins/plugin-fdu-native/native_plugin.json just changing isolation to false

    Marco Gozzi
    @marcogozzi
    Thanks, I didn't notice that flag.
    By the way, I think there is a similar issue with the linux net plugin as the file /urs/bin/fos_get_address also has size 0 and it is created by another Makefile. I hope it can help you fix the problem.
    Gabriele Baldoni
    @gabrik
    Indeed both should be links to the binaries inside the plugin directory, with a quick check the fos_containerize link is broken, while the other one seems fine. Will fix this ASAP
    Gabriele Baldoni
    @gabrik
    @marcogozzi the issue is solved for both native and linuxbridge plugin, you can find the latest releases here: https://github.com/eclipse-fog05/plugin-fdu-native/releases/tag/v0.2.2 and here: https://github.com/eclipse-fog05/plugin-net-linuxbridge/releases/tag/v0.2.2
    Marco Gozzi
    @marcogozzi
    @gabrik thanks for the quick fix
    afzalj-t
    @afzalj-t
    can anyone point out how I can setup to run fog05 on my dev env and debug through?
    Gabriele Baldoni
    @gabrik

    Hi @afzalj-t you can just install it from the .deb files that you can found here: https://github.com/eclipse-fog05/fog05/releases/tag/v0.2.2

    There also a guide in the docs: https://fog05.io/docs/getting-started/installation/#from-debian-packages

    While debugging can be done using the system log, journalctl -u <fog05 component> -f the fog05 components depends on the component you have installed

    afzalj-t
    @afzalj-t
    @gabrik thank you , will try out
    afzalj-t
    @afzalj-t
    I get this error while trying to start force, not sure what I could've missed out fog05 force[9986]: /etc/fos/force: error while loading shared libraries: libzenohc.so: cannot open shared object file: No such file or directory
    Gabriele Baldoni
    @gabrik

    I see, it is missing this one: https://github.com/eclipse-fog05/fog05/releases/download/v0.2.2/libzenoh-0.3.0-amd64.deb

    We will update the guide, thank for spotting this

    afzalj-t
    @afzalj-t
    thank you, it worked now
    Oliver Layer
    @OliLay
    Hi everyone! I recently started experimenting with fog05 and I have a question:
    I have several nodes deployed, with only one running zenohd/YAKS and fos_agent + some plugins. To be able to "see" other nodes, every node other than the one running zenohd/YAKS has the ylocator in the config files set to the first node running zenohd/YAKS.
    Afaik, zenoh supports a discovery protocol using UDP multicast. In that case it would not be necessary to set the IP of the server running zenohd/YAKS , right? Can we use that in fog05, so that we don't have to change the ylocator on every node, but rather use the discovery protocol?
    Gabriele Baldoni
    @gabrik

    Hi @OliLay, that is not yet supported because the latest fog05 release is based on a very old version of Zenoh.
    While in the current development branch that will be possible, because we are leveraging the latest version of zenoh and because of some changes on the architecture of fog05.

    In that case each node will have its own Zenoh router and then routers in different nodes can discover using the discovery protocol, avoiding all the configuration process necessary today.

    We did not yet completed the port for all the plugins we had in the previous version, but if you are curious just take a look at master branch for https://github.com/eclipse-fog05/fog05

    Oliver Layer
    @OliLay
    Hi @gabrik , thank you very much for the quick and detailed answer. That sounds pretty good! I know it's a hard question to answer, but is there an approximate timeline for the new release containing the rust rewrite?
    Gabriele Baldoni
    @gabrik

    We are in the process of defining the roadmap for the next months, that will probably contain a beta release for the rust rewrite.
    Ideally we would like to have the port of all the plugins we had before doing a release, so I would say it would need around 3 months.

    Anyway testing the “new” version is quite easy, and you can also generate debian packages by yourself: https://fog05.io/docs/getting-started/installation/#from-source

    Oliver Layer
    @OliLay
    Thank you! I'm gonna build it myself then and try it
    Oliver Layer
    @OliLay
    Hi, another question: when deploying a containerd image, how do I specify the port mapping? I deployed a mosquitto broker using the offical docker image, and it is correctly deployed and running, but I can't access it as I suppose I have to forward port 1883. With a normal docker container I would use docker run -p 1883:1883 {image}. How can I achieve this with the FDU? Scimmed through the examples, but did not find one with that use case unfortunately
    Gabriele Baldoni
    @gabrik

    Hi, port mapping is not currently available, you should attach that container to a virtual network in order for it to get address.
    You can see an example of virtual network here: https://github.com/eclipse-fog05/examples/blob/master/fim_api/descriptors/vnet_dhcp.json
    And of an FDU attached to that virtual network: https://github.com/eclipse-fog05/examples/blob/master/fim_api/descriptors/fdu_lxd_net.json

    In next release FDUs will be attached to the default virtual network of fog05 and therefore port mapping will be possible.

    Oliver Layer
    @OliLay
    Thanks. In this case, the FDU connected to the virtual network will only be accessible to other FDUs connected to the same virtual network, right?
    Gabriele Baldoni
    @gabrik
    Yes you are right