Eu provisiono cerca de 40 máquinas usando MAAS e juju. O script que eu uso está abaixo (tem o mesmo problema se eu desligar - depurar):
juju bootstrap -e maas --debug --upload-tools=true --metadata- source="~/.juju/sync-tools" --to jujuBS.local
juju deploy --repository=".juju/charms" local:juju-gui --to 0
juju expose juju-gui
juju add-machine octave-controller.local
juju deploy --repository=".juju/charms" local:octave-controller --to 1
juju expose octave-controller
juju deploy --repository=".juju/charms" local:octave
juju add-relation octave-controller octave
juju add-unit -e maas octave -n 36
juju add-unit octave --to 0
echo "sleep 300 - force time for octave controller to be build"
sleep 300
juju expose octave
O script funciona bem, exceto que as máquinas são provisionadas em série. É definitivamente um problema de juju. Usando a interface da web do MAAS, posso solicitá-los todos de uma vez, e todos eles são acionados. Mas se eu fizer isso através do juju, eu posso ver o maas.log e ver o juju pedindo massa para uma máquina de cada vez.
Como você pode ver no script, eu tenho juju alocar 36 nós de uma só vez, mas eles fazem em série, e leva cerca de 9 minutos por nó. Isto está em um e-net GB, e os poucos segundos fora desse minuto a rede é utilizada, está funcionando em ~ 40MB / S, por isso não é um problema de largura de banda.
Eu reconstruo meus diferentes sistemas regularmente para fazer tarefas diferentes, e estou programado para obter mais máquinas, e a espera está ficando dolorosa, e só vai piorar.
Alguém tem alguma idéia do porquê juju apenas provisiona serialmente? Obrigado.