Vous avez reçu un message "Your GitLab account has been locked ..." ? Pas d'inquiétude : lisez cet article https://docs.gricad-pages.univ-grenoble-alpes.fr/help/unlock/

Commit 3b5b61eb authored by Thomas Lavocat's avatar Thomas Lavocat
Browse files

Tests for the new task lib

parent bc99ec69
# -*- mode: ruby -*-
# vi: set ft=ruby :
$bootstrap = <<SCRIPT
# install core dependencies
apt-get update
apt-get install -y taktuk python3 python3-zmq python3-pexpect python3-setuptools python3-pip
# install main repo
cd /yggdrasil/yggdrasil
pip3 install -e .
# user libraries
cd /yggdrasil/yggdrasil-c/c_wrapper
cp ./install/include/* /usr/include/
cp ./install/lib/* /usr/lib/
# etc/hosts
echo "127.0.0.1 A" >> /etc/hosts
echo "127.0.0.1 B" >> /etc/hosts
echo "127.0.0.1 C" >> /etc/hosts
echo "127.0.0.1 D" >> /etc/hosts
echo "127.0.0.1 E" >> /etc/hosts
echo "127.0.0.1 F" >> /etc/hosts
echo "127.0.0.1 G" >> /etc/hosts
echo "127.0.0.1 H" >> /etc/hosts
echo "127.0.0.1 I" >> /etc/hosts
echo "127.0.0.1 J" >> /etc/hosts
SCRIPT
$userconfig = <<SCRIPT
# ssh config
cd /yggdrasil/yggdrasil-integration
cat ssh/id_rsa.pub >> ~/.ssh/authorized_keys
cp ssh/id_rsa* ~/.ssh/
cp ssh/config ~/.ssh/
chmod 600 ~/.ssh/id_rsa
SCRIPT
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.
config.vm.box = "ubuntu/xenial64"
config.vm.synced_folder "../", "/yggdrasil"
config.vm.hostname = "A"
config.vm.define "A" do |node|
node.vm.network "private_network", ip: "192.168.0.10"
node.vm.provision :shell, inline: $bootstrap
node.vm.provision :shell, privileged: false, inline: $userconfig
end
end
start
path None
processor start
g2 is canceled
g1 is sick
shutdown socket wrapper
g1 is init
g2 is canceled
g1 is error
shutdown socket wrapper
shutdown socket wrapper
start
path None
processor start
s1 is running
jail_server is running
g1 is init
server_jail is init
jail_client0 is init
jail_client1 is init
jail_client2 is init
jail_client3 is init
jail_client4 is init
jail_client5 is init
jail_client6 is init
jail_client7 is init
jail_client8 is init
jail_client9 is init
server_jail is running
g1 is running
mpi_executor0 is init
mpi_executor0 is running
jail_client0 is running
mpi_executor1 is init
mpi_executor1 is running
jail_client1 is running
mpi_executor2 is init
mpi_executor2 is running
jail_client2 is running
mpi_executor3 is init
mpi_executor3 is running
jail_client3 is running
mpi_executor4 is init
mpi_executor4 is running
jail_client4 is running
mpi_executor5 is init
mpi_executor5 is running
jail_client5 is running
mpi_executor6 is init
mpi_executor6 is running
jail_client6 is running
mpi_executor7 is init
mpi_executor7 is running
jail_client7 is running
mpi_executor8 is init
mpi_executor8 is running
jail_client8 is running
mpi_executor9 is init
mpi_executor9 is running
jail_client9 is running
---------- client6 ----------
client6 stdout : client 1 6008 6109 client6 server
client6 stdout : ret 25received message well received from 0@server
client6 status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/client -R 1 -S server -N client6 -P 6008 (23704): status > Exited with status 0
jail_client6 is done
mpi_executor6 is done
---------- client5 ----------
-> Task : mpi_executor5
client5 stdout : client 1 6007 6108 client5 server
client5 stdout : ret 25received message well received from 0@server
client5 status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/client -R 1 -S server -N client5 -P 6007 (3262): status > Exited with status 0
mpi_executor5 is done
shutdown socket wrapper
jail_client5 is done
---------- client3 ----------
-> Task : mpi_executor3
client3 stdout : client 1 6005 6106 client3 server
client3 stdout : ret 25received message well received from 0@server
client3 status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/client -R 1 -S server -N client3 -P 6005 (23695): status > Exited with status 0
jail_client3 is done
client3 status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/client -R 1 -S server -N client3 -P 6005 (3256): status > Exited with status 0
mpi_executor3 is done
---------- client1 ----------
client1 stdout : client 1 6003 6104 client1 server
client1 stdout : ret 25received message well received from 0@server
client1 status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/client -R 1 -S server -N client1 -P 6003 (23689): status > Exited with status 0
jail_client1 is done
mpi_executor1 is done
---------- client4 ----------
client4 stdout : client 1 6006 6107 client4 server
client4 stdout : ret 25received message well received from 0@server
client4 status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/client -R 1 -S server -N client4 -P 6006 (23698): status > Exited with status 0
jail_client4 is done
mpi_executor4 is done
---------- client2 ----------
client2 stdout : client 1 6004 6105 client2 server
client2 stdout : ret 25received message well received from 0@server
client2 status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/client -R 1 -S server -N client2 -P 6004 (23692): status > Exited with status 0
jail_client2 is done
mpi_executor2 is done
---------- client9 ----------
-> Task : mpi_executor9
client9 stdout : client 1 6011 6112 client9 server
client9 stdout : ret 25received message well received from 0@server
client9 status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/client -R 1 -S server -N client9 -P 6011 (3281): status > Exited with status 0
mpi_executor9 is done
---------- client6 ----------
-> Task : mpi_executor6
client6 stdout : client 1 6008 6109 client6 server
client6 stdout : ret 25received message well received from 0@server
client6 status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/client -R 1 -S server -N client6 -P 6008 (3265): status > Exited with status 0
mpi_executor6 is done
---------- client7 ----------
-> Task : mpi_executor7
client7 stdout : client 1 6009 6110 client7 server
client7 stdout : ret 25received message well received from 0@server
client7 status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/client -R 1 -S server -N client7 -P 6009 (3268): status > Exited with status 0
mpi_executor7 is done
---------- client0 ----------
-> Task : mpi_executor0
client0 stdout : client 1 6002 6103 client0 server
client0 stdout : ret 25received message well received from 0@server
client0 status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/client -R 1 -S server -N client0 -P 6002 (23686): status > Exited with status 0
jail_client0 is done
client0 status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/client -R 1 -S server -N client0 -P 6002 (3247): status > Exited with status 0
mpi_executor0 is done
shutdown socket wrapper
shutdown socket wrapper
shutdown socket wrapper
shutdown socket wrapper
shutdown socket wrapper
shutdown socket wrapper
---------- client8 ----------
-> Task : mpi_executor8
client8 stdout : client 1 6010 6111 client8 server
client8 stdout : ret 25received message well received from 0@server
client8 status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/client -R 1 -S server -N client8 -P 6010 (23718): status > Exited with status 0
jail_client8 is done
client8 status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/client -R 1 -S server -N client8 -P 6010 (3271): status > Exited with status 0
mpi_executor8 is done
---------- client5 ----------
client5 stdout : client 1 6007 6108 client5 server
client5 stdout : ret 25received message well received from 0@server
client5 status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/client -R 1 -S server -N client5 -P 6007 (23701): status > Exited with status 0
jail_client5 is done
mpi_executor5 is done
---------- server ----------
-> Task : server_jail
server stdout : server 6001 6101 server 10
server stdout : ret 25
server stdout : wait message 0
......@@ -100,24 +113,45 @@ server stdout : wait message 8
server stdout : received message coucou from 1@client8
server stdout : wait message 9
server stdout : received message coucou from 1@client9
server status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/server -C 10 -N server -P 6001 (23683): status > Exited with status 0
jail_server is done
s1 is done
---------- client7 ----------
client7 stdout : client 1 6009 6110 client7 server
client7 stdout : ret 25received message well received from 0@server
client7 status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/client -R 1 -S server -N client7 -P 6009 (23707): status > Exited with status 0
jail_client7 is done
mpi_executor7 is done
---------- client9 ----------
client9 stdout : client 1 6011 6112 client9 server
client9 stdout : ret 25received message well received from 0@server
client9 status : deafPanda-0: /home/faquin/Documents/inria/m2/python/../c_wrapper/client -R 1 -S server -N client9 -P 6011 (23733): status > Exited with status 0
server status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/server -C 10 -N server -P 6001 (3212): status > Exited with status 0
server_jail is done
---------- client1 ----------
-> Task : mpi_executor1
client1 stdout : client 1 6003 6104 client1 server
client1 stdout : ret 25received message well received from 0@server
client1 status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/client -R 1 -S server -N client1 -P 6003 (3250): status > Exited with status 0
mpi_executor1 is done
---------- client4 ----------
-> Task : mpi_executor4
client4 stdout : client 1 6006 6107 client4 server
client4 stdout : ret 25received message well received from 0@server
client4 status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/client -R 1 -S server -N client4 -P 6006 (3259): status > Exited with status 0
mpi_executor4 is done
---------- client2 ----------
-> Task : mpi_executor2
client2 stdout : client 1 6004 6105 client2 server
client2 stdout : ret 25received message well received from 0@server
client2 status : bigpanda-0: /home/faquin/Documents/these/yggdrasil/yggdrasil-integration/c_wrapper/client -R 1 -S server -N client2 -P 6004 (3253): status > Exited with status 0
mpi_executor2 is done
shutdown socket wrapper
jail_client3 is done
shutdown socket wrapper
jail_client9 is done
mpi_executor9 is done
shutdown socket wrapper
jail_client6 is done
shutdown socket wrapper
jail_client7 is done
shutdown socket wrapper
jail_client0 is done
shutdown socket wrapper
jail_client8 is done
shutdown socket wrapper
g1 is done
shutdown socket wrapper
jail_client1 is done
shutdown socket wrapper
jail_client4 is done
shutdown socket wrapper
jail_client2 is done
shutdown socket wrapper
shutdown socket wrapper
start
path None
processor start
g1 is init
b1 is init
b2 is init
b3 is init
v1 is init
b4 is init
v2 is init
b2 is running
b1 is running
g1 is running
---------- A--1 ----------
A--1 stdout : 14:02:39 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
A--1 status : A--1: uptime (15827): status > Exited with status 0
---------- B--1 ----------
B--1 stdout : 14:02:39 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
B--1 status : B--1: uptime (15828): status > Exited with status 0
b1 is done
---------- A--1 ----------
-> Task : b2
A--1 stdout : /home/faquin
A--1 status : A--1: pwd (15829): status > Exited with status 0
A--1 status : A--1: pwd (2964): status > Exited with status 0
---------- B--1 ----------
-> Task : b2
B--1 stdout : /home/faquin
B--1 status : B--1: pwd (15830): status > Exited with status 0
g3 is running
g2 is running
B--1 status : B--1: pwd (2965): status > Exited with status 0
---------- B--1 ----------
-> Task : b1
B--1 stdout : 18:07:53 up 2 days, 3:34, 1 user, load average: 0,51, 0,40, 0,47
B--1 status : B--1: uptime (2966): status > Exited with status 0
---------- A--1 ----------
A--1 stderr : Can't exec "pouet": Aucun fichier ou dossier de ce type at /usr/bin/taktuk line 3104.
A--1 stderr : Exec failed : No such file or directory at /usr/bin/taktuk line 3104.
A--1 status : A--1: pouet (15832): status > Exited with status 512
-> Task : b1
A--1 stdout : 18:07:53 up 2 days, 3:34, 1 user, load average: 0,51, 0,40, 0,47
A--1 status : A--1: uptime (2967): status > Exited with status 0
b1 is done
---------- A--1 ----------
-> Task : b2
A--1 stderr : Can't exec "pouet": Aucun fichier ou dossier de ce type at /usr/bin/taktuk line 3108.
A--1 stderr : Exec failed : No such file or directory at /usr/bin/taktuk line 3108.
A--1 status : A--1: pouet (2968): status > Exited with status 512
---------- B--1 ----------
B--1 stderr : Can't exec "pouet": Aucun fichier ou dossier de ce type at /usr/bin/taktuk line 3104.
B--1 stderr : Exec failed : No such file or directory at /usr/bin/taktuk line 3104.
B--1 status : B--1: pouet (15831): status > Exited with status 512
v1 is running
-> Task : b2
B--1 stderr : Can't exec "pouet": Aucun fichier ou dossier de ce type at /usr/bin/taktuk line 3108.
B--1 stderr : Exec failed : No such file or directory at /usr/bin/taktuk line 3108.
B--1 status : B--1: pouet (2969): status > Exited with status 512
b3 is running
b2 is error
b2 is error
---------- A--1 ----------
A--1 stdout : Sys. de fichiers blocs de 1K Utilisé Disponible Uti% Monté sur
A--1 stdout : udev 1908912 0 1908912 0% /dev
A--1 stdout : tmpfs 384404 30196 354208 8% /run
A--1 stdout : /dev/mapper/deafPanda--vg-root 36638296 25141920 9790500 72% /
A--1 stdout : tmpfs 1922000 0 1922000 0% /dev/shm
A--1 stdout : tmpfs 5120 4 5116 1% /run/lock
A--1 stdout : tmpfs 1922000 0 1922000 0% /sys/fs/cgroup
A--1 stdout : /dev/sda1 240972 119812 108719 53% /boot
A--1 stdout : /dev/mapper/deafPanda--vg-home 154884060 141916552 5997644 96% /home
A--1 stdout : tmpfs 384400 8 384392 1% /run/user/1000
A--1 status : A--1: df (15833): status > Exited with status 0
-> Task : b3
A--1 stdout : Sys. de fichiers blocs de 1K Utilisé Disponible Uti% Monté sur
A--1 stdout : /dev/mapper/bigpanda--vg-root 23897936 21299176 1361768 94% /
A--1 stdout : udev 16239188 0 16239188 0% /dev
A--1 stdout : tmpfs 16253896 76 16253820 1% /dev/shm
A--1 stdout : tmpfs 3250780 26536 3224244 1% /run
A--1 stdout : tmpfs 5120 4 5116 1% /run/lock
A--1 stdout : tmpfs 16253896 0 16253896 0% /sys/fs/cgroup
A--1 stdout : /dev/nvme0n1p2 241965 105629 123844 47% /boot
A--1 stdout : /dev/nvme0n1p1 523248 148 523100 1% /boot/efi
A--1 stdout : /dev/mapper/bigpanda--vg-var 14707028 12450832 1544488 89% /var
A--1 stdout : /dev/mapper/bigpanda--vg-tmp 12208768 18892 11657248 1% /tmp
A--1 stdout : /dev/mapper/bigpanda--vg-home 232478816 154474992 66549036 70% /home
A--1 stdout : tmpfs 3250776 28 3250748 1% /run/user/1000
A--1 status : A--1: df (2970): status > Exited with status 0
---------- B--1 ----------
B--1 stdout : Sys. de fichiers blocs de 1K Utilisé Disponible Uti% Monté sur
B--1 stdout : udev 1908912 0 1908912 0% /dev
B--1 stdout : tmpfs 384404 30196 354208 8% /run
B--1 stdout : /dev/mapper/deafPanda--vg-root 36638296 25141920 9790500 72% /
B--1 stdout : tmpfs 1922000 0 1922000 0% /dev/shm
B--1 stdout : tmpfs 5120 4 5116 1% /run/lock
B--1 stdout : tmpfs 1922000 0 1922000 0% /sys/fs/cgroup
B--1 stdout : /dev/sda1 240972 119812 108719 53% /boot
B--1 stdout : /dev/mapper/deafPanda--vg-home 154884060 141916552 5997644 96% /home
B--1 stdout : tmpfs 384400 8 384392 1% /run/user/1000
B--1 status : B--1: df (15834): status > Exited with status 0
-> Task : b3
B--1 stdout : Sys. de fichiers blocs de 1K Utilisé Disponible Uti% Monté sur
B--1 stdout : /dev/mapper/bigpanda--vg-root 23897936 21299176 1361768 94% /
B--1 stdout : udev 16239188 0 16239188 0% /dev
B--1 stdout : tmpfs 16253896 76 16253820 1% /dev/shm
B--1 stdout : tmpfs 3250780 26536 3224244 1% /run
B--1 stdout : tmpfs 5120 4 5116 1% /run/lock
B--1 stdout : tmpfs 16253896 0 16253896 0% /sys/fs/cgroup
B--1 stdout : /dev/nvme0n1p2 241965 105629 123844 47% /boot
B--1 stdout : /dev/nvme0n1p1 523248 148 523100 1% /boot/efi
B--1 stdout : /dev/mapper/bigpanda--vg-var 14707028 12450832 1544488 89% /var
B--1 stdout : /dev/mapper/bigpanda--vg-tmp 12208768 18892 11657248 1% /tmp
B--1 stdout : /dev/mapper/bigpanda--vg-home 232478816 154474992 66549036 70% /home
B--1 stdout : tmpfs 3250776 28 3250748 1% /run/user/1000
B--1 status : B--1: df (2971): status > Exited with status 0
---------- A--1 ----------
A--1 stdout : Linux deafPanda 4.9.0-2-amd64 #1 SMP Debian 4.9.18-1 (2017-03-30) x86_64 GNU/Linux
A--1 status : A--1: uname -a (15835): status > Exited with status 0
-> Task : b3
A--1 stdout : Linux bigpanda 4.14.0-3-amd64 #1 SMP Debian 4.14.13-1 (2018-01-14) x86_64 GNU/Linux
A--1 status : A--1: uname -a (2972): status > Exited with status 0
---------- B--1 ----------
B--1 stdout : Linux deafPanda 4.9.0-2-amd64 #1 SMP Debian 4.9.18-1 (2017-03-30) x86_64 GNU/Linux
B--1 status : B--1: uname -a (15836): status > Exited with status 0
---------- A--1 ----------
A--1 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
A--1 status : A--1: uptime (15837): status > Exited with status 0
-> Task : b3
B--1 stdout : Linux bigpanda 4.14.0-3-amd64 #1 SMP Debian 4.14.13-1 (2018-01-14) x86_64 GNU/Linux
B--1 status : B--1: uname -a (2973): status > Exited with status 0
---------- B--1 ----------
B--1 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
B--1 status : B--1: uptime (15838): status > Exited with status 0
-> Task : b3
B--1 stdout : mercredi 31 janvier 2018, 18:07:53 (UTC+0100)
B--1 status : B--1: date (2975): status > Exited with status 0
---------- A--1 ----------
-> Task : b3
A--1 stdout : mercredi 31 janvier 2018, 18:07:53 (UTC+0100)
A--1 status : A--1: date (2974): status > Exited with status 0
---------- A--1 ----------
A--1 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
A--1 status : A--1: uptime (15840): status > Exited with status 0
-> Task : b3
A--1 stdout : mercredi 31 janvier 2018, 18:07:54 (UTC+0100)
A--1 status : A--1: date (2977): status > Exited with status 0
---------- B--1 ----------
B--1 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
B--1 status : B--1: uptime (15839): status > Exited with status 0
g1 is done
-> Task : b3
B--1 stdout : mercredi 31 janvier 2018, 18:07:54 (UTC+0100)
B--1 status : B--1: date (2976): status > Exited with status 0
b3 is done
shutdown socket wrapper
g2 is init
g3 is init
g1 is done
g3 is running
v1 is running
g2 is running
---------- v1 A-1 ----------
v1 A-1 stderr : Can't exec "nono": Aucun fichier ou dossier de ce type at /usr/bin/taktuk line 3104.
v1 A-1 stderr : Exec failed : No such file or directory at /usr/bin/taktuk line 3104.
v1 A-1 status : A-1: nono (15841): status > Exited with status 512
-> Task : v1
v1 A-1 stderr : Can't exec "nono": Aucun fichier ou dossier de ce type at /usr/bin/taktuk line 3108.
v1 A-1 stderr : Exec failed : No such file or directory at /usr/bin/taktuk line 3108.
v1 A-1 status : A-1: nono (3066): status > Exited with status 512
---------- v1 A-4 ----------
v1 A-4 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
v1 A-4 status : A-4: uptime (15843): status > Exited with status 0
-> Task : v1
v1 A-4 stdout : 18:07:55 up 2 days, 3:34, 1 user, load average: 0,51, 0,40, 0,47
v1 A-4 status : A-4: uptime (3067): status > Exited with status 0
---------- v1 A-2 ----------
v1 A-2 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
v1 A-2 status : A-2: uptime (15844): status > Exited with status 0
shutdown socket wrapper
-> Task : v1
v1 A-2 stdout : 18:07:55 up 2 days, 3:34, 1 user, load average: 0,51, 0,40, 0,47
v1 A-2 status : A-2: uptime (3068): status > Exited with status 0
---------- v1 A-3 ----------
v1 A-3 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
v1 A-3 status : A-3: uptime (15845): status > Exited with status 0
-> Task : v1
v1 A-3 stdout : 18:07:55 up 2 days, 3:34, 1 user, load average: 0,51, 0,40, 0,47
v1 A-3 status : A-3: uptime (3069): status > Exited with status 0
---------- v1 A-1 ----------
v1 A-1 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
v1 A-1 status : A-1: uptime (15849): status > Exited with status 0
-> Task : v1
v1 A-1 stdout : 18:07:55 up 2 days, 3:34, 1 user, load average: 0,51, 0,40, 0,47
v1 A-1 status : A-1: uptime (3070): status > Exited with status 0
---------- v1 A-4 ----------
v1 A-4 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
v1 A-4 status : A-4: uptime (15850): status > Exited with status 0
-> Task : v1
v1 A-4 stdout : 18:07:55 up 2 days, 3:34, 1 user, load average: 0,51, 0,40, 0,47
v1 A-4 status : A-4: uptime (3071): status > Exited with status 0
---------- v1 A-2 ----------
v1 A-2 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
v1 A-2 status : A-2: uptime (15851): status > Exited with status 0
-> Task : v1
v1 A-2 stdout : 18:07:55 up 2 days, 3:34, 1 user, load average: 0,51, 0,40, 0,47
v1 A-2 status : A-2: uptime (3072): status > Exited with status 0
---------- v1 A-3 ----------
v1 A-3 stdout : 14:02:40 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
v1 A-3 status : A-3: uptime (15852): status > Exited with status 0
-> Task : v1
v1 A-3 stdout : 18:07:55 up 2 days, 3:34, 1 user, load average: 0,51, 0,40, 0,47
v1 A-3 status : A-3: uptime (3073): status > Exited with status 0
---------- v1 A-1 ----------
v1 A-1 stdout : 14:02:41 up 1 day, 4:10, 1 user, load average: 0,38, 0,38, 0,40
v1 A-1 status : A-1: uptime (15853): status > Exited with status 0
g2 is done
-> Task : v1
v1 A-1 stdout : 18:07:55 up 2 days, 3:34, 1 user, load average: 0,51, 0,40, 0,47
v1 A-1 status : A-1: uptime (3074): status > Exited with status 0
b4 is running
v1 is done
shutdown socket wrapper
g2 is done
v2 is running
v3 is canceled
b4 is timeout
b4 is timeout
---------- v2 A-1 ----------
-> Task : v2
v2 A-1 stdout : timeout
v2 A-1 status : A-1: echo timeout (15862): status > Exited with status 0
g3 is canceled
v2 A-1 status : A-1: echo timeout (3079): status > Exited with status 0
v2 is done
shutdown socket wrapper
g3 is done
shutdown socket wrapper
shutdown socket wrapper
......@@ -17,7 +17,8 @@ class Sample(TaskProcessor):
def register_tasks(self) :
g1 = Group("g1", "g1", "nonexistingcomputernowhere", "0", "root")
g2 = Group("g2", "g2", "A,A,A,A", "0", "root")
g2.add_dependency_conjunction({g1:consts.SICK},False)
g2.add_dependency_for_transition(consts.IDLE_INIT, consts.INIT_RUNNING, g1)
g2.add_trigger_for_transition(consts.IDDLE_CANCEL, consts.INIT_ERROR, g1)
self.tasks.append(g1)
self.tasks.append(g2)
......
......@@ -13,11 +13,11 @@ class Sample(TaskProcessor):
def register_tasks(self) :
nb_clients = 10
g1 = MPIJail("jail_server", 'server', '', '0', 'root')
server_jail = MPIExecutor('s1',
g1 = MPIJail("g1", 'server', '', '0', 'root')
server_jail = MPIExecutor('server_jail',
os.environ["PWD"]+"/c_wrapper/server -C {}".format(nb_clients),
g1, True)
server_jail.add_dependency_conjunction({g1:consts.RUNING}, True)
server_jail.add_dependency_for_transition(consts.INIT_RUNNING, consts.INIT_RUNNING, g1)
self.tasks.append(g1)
self.tasks.append(server_jail)
for i in range(0, nb_clients) :
......@@ -25,8 +25,8 @@ class Sample(TaskProcessor):
client_jail = MPIExecutor("mpi_executor{}".format(i),
os.environ["PWD"]+"/c_wrapper/client -R 1 -S {}".format("server"),
gc,True)
client_jail.add_dependency_conjunction(
{gc:consts.RUNING,server_jail:consts.RUNING}, True)
gc.add_dependency_for_transition(consts.IDLE_INIT, consts.INIT_RUNNING, server_jail)
client_jail.add_dependency_for_transition(consts.IDLE_INIT, consts.INIT_RUNNING, gc)
self.tasks.append(gc)
self.tasks.append(client_jail)
......
......@@ -16,47 +16,58 @@ class Sample(TaskProcessor):
def register_tasks(self) :
g1 = Group("g1", "g1", "A,B", "0", "root")
g2 = NumberedGroup("g2", "g2", "A,A,A,A", "0", "root")
b1 = Broadcaster("b1", "uptime", g1)
b1.add_dependency_conjunction({g1:consts.RUNING}, True)
# serial broadcast after b1 on g1
b2 = SerialBroadcaster("b2", ["pouet", "pwd"], g1)
b2.add_dependency_conjunction({b1:consts.RUNING}, True)
# parallel broadcast after b2 on g1
b3 = ParrallelBroadcaster("b3", ["df", "uname -a", "uptime", "uptime"], g1 ,True)
b3.add_dependency_conjunction({b2:consts.DONE}, True)
b3.add_dependency_conjunction({b2:consts.ERROR}, True)
# ventilator while b3 on g2
v1 = Ventilator("v1", ["uptime", "uptime", "uptime", "uptime", "uptime",
"uptime", "uptime", "uptime", "nono"], g2,True, -1, 1)
v1.add_dependency_conjunction({b3:consts.RUNING, g2:consts.RUNING}, True)
# On a new group g3
g3 = NumberedGroup("g3", "g3", "A", "0", "root")
# broadcast that can timeout after v1 done
b4 = Broadcaster("b4", "sleep 2", g3, False, 1)
b4.add_dependency_conjunction({v1:consts.DONE,g3:consts.RUNING}, True)
# ventilator executed if b4 timeout, canceled otherwise
v2 = Ventilator("v2", ["echo timeout"], g3, False)
v2.add_dependency_conjunction({b4:consts.TIMEOUT}, True)
v2.add_dependency_conjunction({b4:consts.DONE}, False)
# ventilator executed if b4 is done, canceled otherwise
v3 = Ventilator("v3", ["echo pas de timeout"], g3, False)
v3.add_dependency_conjunction({b4:consts.DONE}, True)
v3.add_dependency_conjunction({b4:consts.TIMEOUT}, False)
# g3 canceled, after done of v2 or v3 (way to reduce)
g3.add_dependency_conjunction({v2:consts.DONE}, False)
g3.add_dependency_conjunction({v3:consts.DONE}, False)
# append all tasks to the list
b1.add_dependency_for_transition(consts.INIT_RUNNING, consts.INIT_RUNNING, g1)
self.tasks.append(g1)
self.tasks.append(g2)
self.tasks.append(b1)
### serial broadcast after b1 on g1
b2 = SerialBroadcaster("b2", ["pouet", "pwd"], g1)
b2.add_dependency_for_transition(consts.INIT_RUNNING, consts.INIT_RUNNING, b1)
self.tasks.append(b2)
# parallel broadcast after b2 on g1
b3 = ParrallelBroadcaster("b3", ["df", "uname -a", "date", "date"], g1, True)
b3.add_dependency_for_transition(consts.INIT_RUNNING,
consts.RUNNING_ERROR, b2)
self.tasks.append(b3)
g2 = NumberedGroup("g2", "g2", "A,A,A,A", "0", "root")
g2.add_dependency_for_transition(consts.IDLE_INIT, consts.RUNNING_DONE, g1)
self.tasks.append(g2)
## ventilator while b3 on g2
v1 = Ventilator("v1", ["uptime", "uptime", "uptime", "uptime", "uptime",
"uptime", "uptime", "uptime", "nono"], g2,True, -1, 1)
v1.add_dependency_for_transition(consts.INIT_RUNNING, consts.INIT_RUNNING, g2)
self.tasks.append(v1)
## On a new group g3
g3 = NumberedGroup("g3", "g3", "A", "0", "root")
g3.add_dependency_for_transition(consts.IDLE_INIT, consts.RUNNING_DONE, g1)
self.tasks.append(g3)
## broadcast that can timeout after v1 done
b4 = Broadcaster("b4", "sleep 2", g3, False, 1)
b4.add_dependency_for_transition(consts.INIT_RUNNING, consts.RUNNING_DONE, v1)
self.tasks.append(b4)
## ventilator executed if b4 timeout, canceled otherwise
v2 = Ventilator("v2", ["echo timeout"], g3, True)
v2.add_dependency_for_transition(consts.INIT_RUNNING, consts.RUNNING_TIMEOUT, b4)
v2.add_dependency_for_transition(consts.INIT_CANCELED, consts.RUNNING_DONE, b4)
self.tasks.append(v2)
self.tasks.append(v3)
## ventilator executed if b4 is done, canceled otherwise
#v3 = Ventilator("v3", ["echo pas de timeout"], g3, False)
#v3.add_dependency_conjunction({b4:consts.DONE}, True)
#v3.add_dependency_conjunction({b4:consts.TIMEOUT}, False)
## g3 canceled, after done of v2 or v3 (way to reduce)