You are here: Home / Projects / EVE / adam / Загрузка конфигурации через adam

Загрузка конфигурации через adam

by Petr Fedchenkov last modified Jan 20, 2020 09:01 PM

Окружение:

Ubuntu 18.04
docker 18.09.9 (sudo apt install docker.io)
go 1.13.5 (sudo snap install --classic go)
sudo apt install make qemu-utils qemu-system-x86

Для работы связки adam-eve необходимо собрать актуальную версию adam с обновленным вариантом protobuf:

git clone https://github.com/itmo-eve/adam.git
cd adam
make

После этого выполнить то, что описано http://sdn.ifmo.ru/projects/eve/adam/zapusk-adam

Далее, можно использовать конфигурационный файл(нужно записать в директорию run):

http://sdn.ifmo.ru/projects/eve/adam/cfg.json/view

IP=`hostname -I|cut -d' ' -f1`
UUID=`docker run -v $PWD/run:/adam/run lfedge/adam admin --server https://$IP:8080 device list`
echo $UUID

Выдаст uuid устройства

Далее необходимо произвести корректировку файла конфигурации:

  1. Заменить в скачанном конфигурационном файле uuid устройства id->uuid на выданный последней командой
  2. Получить ключ api на docker.hub (https://hub.docker.com/settings/security) и задать его в поле datastores[0]->password
  3. Задать в поле datastores[0]->apiKey своё имя пользователя docker.hub
  4. (Опционально) задать в поле configItems[0]->value свой публичный ключ ssh

Для установки конфигурации:

docker run -v $PWD/run:/adam/run lfedge/adam admin --server https://$IP:8080 device config set --uuid $UUID --config-path ./run/cfg.json

В консоли EVE

Отобразить список доменов:

6e4f84e6-52f7-401a-a9f7-2731acb653d1:~# eve enter
(ns: pillar) 6e4f84e6-52f7-401a-a9f7-2731acb653d1:/# xl list
Name                                        ID   Mem VCPUs	State	Time(s)
Domain-0                                     0  1022     1     r-----      66.6
alpine-test.1                              1   255     1     -b----       4.5

Подключиться к консоли:

(ns: pillar) 6e4f84e6-52f7-401a-a9f7-2731acb653d1:/# xl console alpine-test.1

/null # ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: tunl0@NONE:  mtu 1480 qdisc noop state DOWN qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0
3: ip6tnl0@NONE:  mtu 1452 qdisc noop state DOWN qlen 1000
    link/tunnel6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
4: eth0:  mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:16:3e:00:01:01 brd ff:ff:ff:ff:ff:ff
    inet 10.1.0.2/16 scope global eth0
       valid_lft forever preferred_lft forever