Skip to content

Commit

Permalink
Repository reogranization (#161)
Browse files Browse the repository at this point in the history
Moved plugins, api, sdk and agent to submodules

Signed-off-by: gabrik <gabriele.baldoni@gmail.com>
  • Loading branch information
gabrik authored Nov 22, 2019
1 parent 109b33b commit 95a9a11
Show file tree
Hide file tree
Showing 247 changed files with 238 additions and 40,198 deletions.
39 changes: 39 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
[submodule "plugins/plugin-os-linux"]
path = plugins/plugin-os-linux
url = https://github.com/eclipse-fog05/plugin-os-linux
[submodule "plugins/plugin-os-windows"]
path = plugins/plugin-os-windows
url = https://github.com/eclipse-fog05/plugin-os-windows
[submodule "plugins/plugin-net-linuxbridge"]
path = plugins/plugin-net-linuxbridge
url = https://github.com/eclipse-fog05/plugin-net-linuxbridge
[submodule "plugins/plugin-fdu-kvm"]
path = plugins/plugin-fdu-kvm
url = https://github.com/eclipse-fog05/plugin-fdu-kvm
[submodule "plugins/plugin-fdu-native"]
path = plugins/plugin-fdu-native
url = https://github.com/eclipse-fog05/plugin-fdu-native
[submodule "plugins/plugin-fdu-lxd"]
path = plugins/plugin-fdu-lxd
url = https://github.com/eclipse-fog05/plugin-fdu-lxd
[submodule "sdk/sdk-go"]
path = sdk/sdk-go
url = https://github.com/eclipse-fog05/sdk-go
[submodule "sdk/sdk-ocaml"]
path = sdk/sdk-ocaml
url = https://github.com/eclipse-fog05/sdk-ocaml
[submodule "sdk/sdk-python"]
path = sdk/sdk-python
url = https://github.com/eclipse-fog05/sdk-python
[submodule "api/api-go"]
path = api/api-go
url = https://github.com/eclipse-fog05/api-go
[submodule "api/api-python"]
path = api/api-python
url = https://github.com/eclipse-fog05/api-python
[submodule "src/agent"]
path = src/agent
url = https://github.com/eclipse-fog05/agent
[submodule "api/api-ocaml"]
path = api/api-ocaml
url = https://github.com/eclipse-fog05/api-ocaml
21 changes: 19 additions & 2 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Once `opam` is installed you need to install the following some packages verify


```
sudo apt install libev-dev libssl-dev python3 python3-dev python3-pip m4 pkg-config rsync -y
sudo apt install jq libev-dev libssl-dev python3 python3-dev python3-pip m4 pkg-config rsync unzip bubblewrap cmake -y
sudo pip3 install pyangbind
$ opam switch
# switch compiler description
Expand All @@ -31,7 +31,7 @@ $ opam switch create fos ocaml-base-compiler.4.07.1
```

Then you node to install some required libraries from opam
Then you need to install some required libraries from opam

```
opam install atdgen ocp-ocamlres conf-libev
Expand Down Expand Up @@ -81,6 +81,22 @@ $ git clone https://github.com/atolab/yaks-ocaml
$ cd yaks-ocaml
$ git checkout d076645
$ opam install . --working-dir -y
$ cd ..
$ git clone http://github.com/atolab/zenoh-c
$ cd zenoh-c
$ git checkout 1e20bb6
$ make
$ sudo make install
$ cd ..
$ git clone http://github.com/atolab/zenoh-python
$ cd zenoh-python
$ git checkout 1ced877
$ sudo python3 setup.py install
$ cd ..
$ git clone http://github.com/atolab/yaks-python
$ cd yaks-python
$ git checkout 50c9fc7
$ sudo make install
```

### Eclipse fog05 Agent
Expand All @@ -89,6 +105,7 @@ Then you can use the Eclipse fog05 makefile to build the agent

```
$ cd fog05
$ make submodules
$ make
....
dune build
Expand Down
30 changes: 2 additions & 28 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,9 @@
# Changelog
All notable changes to this project will be documented in this file.

## [Unreleased] - 2019-01-21

### Changed
- **Agent** OCaml implementation with new tree or resources
- **FIM** Level API
- Updated to YAKS API 0.2.1
- Native, Linux and macOS plugin for OCaml agent
- Repository reorganization





## [Unreleased] - 2019-01-10

### Changed
- **Docker** plugin, support for already present docker images
- **offload** remove atomic entities in the correct order
- Bugfixes
- Updated to YAKS API 0.1.1

## [Unreleased] - 2018-12-20
## [Unreleased] - 2019-12-xx
### Added
- **Docker** plugin, base support, for starting and stopping docker container, port mapping, attach to virtual network is not possible at this time
- CHANGELOG.md
### Changed
- Bugfixes
- Updated to YAKS API 0.1.0

- Repository reorganisation
### Removed
- Unused dependencies

Expand Down
2 changes: 2 additions & 0 deletions CONTRIBUTORS.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,7 @@ These are the contributors to fog05 according to the Github repository.
gabrik Gabriele Baldoni (ADLINK)
josrolgil José María Roldán Gil
Davide-DD Davide Di Donato
kydos Angelo Corsaro (ADLINK)
mallets Luca Cominardi (ADLINK)
=============== ==================================

87 changes: 10 additions & 77 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,89 +61,22 @@ this is used to identify the node and to make the plugin connect the right agent

## Manual Installation

Remove everything:

```
pip3 uninstall -y fog05 yaks papero
```


Install zenoh API

```
wget https://github.com/atolab/atobin/blob/master/zenoh-c/unstable/ubuntu/16.04/libzenohc.so
sudo cp libzenohc.so /usr/local/lib
git clone https://github.com/atolab/zenoh-python
cd zenoh-python
sudo python3 setup.py install
cd ..
```

Install YAKS API


```
git clone https://github.com/atolab/yaks-python
cd yaks-python
sudo make install
```



Clone fog05

```
git clone https://github.com/eclipse/fog05
cd fog05
Follow [BUILD.md](BUILD.md) for build instructions.
Then install using
```

Make and install the python types and API


$ sudo make install
```
sudo pip3 install pyang pyangbind
make -C src/im/python
make -C src/im/python install
make -C src/api/python/api install

```

Copy all the plugins needed plugins in the /etc/fos/plugins directory
You need to copy all the files except for the configuration ones for each plugins

Update the configuration files of agent `/etc/fos/agent.json` and the one of the plugins `/etc/fos/plugins/<name>/<name>_plugin.json` by replacing the `uuid` with the UUID of the current node from `/etc/machine-id` converted to UUID4 and the IP address of the eventual yaks server in `ylocator`


Download and install the agent (this link is for the x86_64 one)

```
curl -L -o /tmp/agent.tar.gz https://www.dropbox.com/s/y7hvr7j79ibc4pk/fos.tar.gz
tar -xzvf /tmp/agent.tar.gz
sudo cp /tmp/agent /etc/fos/agent
```


Download and install yaks


```
curl -L -o /tmp/yaks.tar.gz https://www.dropbox.com/s/v55js274504z5f5/yaks.tar.gz
tar -xzvf /tmp/agent.tar.gz
sudo cp /tmp/zenohd /etc/fos/zenohd
sudo cp /tmp/yaks-plugin.cmxs /etc/fos/yaks-plugin.cmxs
sudo cp /tmp/yaksd /etc/fos/yaksd
```


Update your descriptor following: https://github.com/atolab/fog05_demo/blob/master/fim_api/fdu_lxd_net.json

Example of start.py script https://github.com/atolab/fog05_demo/blob/master/fim_api/yaks/start.py

Update your descriptor following: https://github.com/eclipse-fog05/examples/blob/master/fim_api/descriptors/fdu_lxd_net.json

## Verify the binaries

Expand Down Expand Up @@ -195,19 +128,19 @@ YAKS:

Agent:

sudo -u fos fagent -c /etc/fos/agent.json -v
sudo -u fos /etc/fos/agent -c /etc/fos/agent.json -v

Linux Plugin:

sudo -u fos fos_linux /etc/fos/plugins/linux/linux_plugin.json
sudo -u fos fos_linux /etc/fos/plugins/plugin-os-linux/linux_plugin.json

Linux Bridge Plugin:

sudo -u fos /etc/fos/plugins/linuxbridge/linuxbridge_plugin /etc/fos/plugins/linuxbridge/linuxbridge_plugin.json
sudo -u fos /etc/fos/plugins/plugin-net-linuxbridge/linuxbridge_plugin /etc/fos/plugins/plugin-net-linuxbridge/linuxbridge_plugin.json

LXD Plugin:

sudo -u fos /etc/fos/plugins/LXD/LXD_plugin /etc/fos/plugins/LXD/LXD_plugin.json
sudo -u fos /etc/fos/plugins/plugin-fdu-lxd/LXD_plugin /etc/fos/plugins/plugin-fdu-lxd/LXD_plugin.json


## Verify that the node is running
Expand All @@ -222,10 +155,10 @@ and execute:
>>> ['your node uuid',...]
>>> api.close()

Examples are available in https://github.com/atolab/fog05_demo/tree/master/fim_api
Examples are available in the [examples repository](https://github.com/eclipse-fog05/examples)


REST API for FIM is under development...
REST API for FIM are under development...


## Basic CLI Interface
Expand Down
Loading

0 comments on commit 95a9a11

Please sign in to comment.