Estou tentando configurar uma nuvem com o Openstack. Como a documentação oficial do MAAS Ubuntu Cloud tem passos muito breves, levei apenas um mês para começar para esta fase de uma instalação. Eu devo ter tido 50 tentativas de remoção, re-adição e recomissionamento de nós devido a todos os processos de tentativa e erro pelos quais eu passei ...
De qualquer forma, finalmente cheguei ao ponto de implantar meu primeiro nó esta noite! Eu comissionei um nó de teste e executei sudo openstack-install
para iniciar o processo de instalação. Ele foi executado por cerca de 15 a 20 minutos e o nó agora tem um status 'implantado', mas a instalação falhou novamente. Aqui está o erro que recebi do log de erros do MAAS:
joel@ubuntu-maas-controller:~/.juju$ cat ~/.cloud-install/*.log
[INFO: 11-02 18:31:34, openstack-install:227] Starting OpenStack Installer v0.99.28
[INFO: 11-02 18:31:34, openstack-install:228] Start command: ['/usr/bin/openstack-install']
[INFO: 11-02 18:31:34, openstack-install:239] Creating juju directories: /home/joel/.cloud-install/juju
[INFO: 11-02 18:31:35, openstack-install:295] Running Liberty release
[INFO: 11-02 18:31:53, installbase.py:132] Performing an Autopilot install
[INFO: 11-02 18:31:53, utils.py:780] pollinate: sudo su - -c 'pollinate -q -r --curl-opts "-k --user-agent uoi/8b82a068-2aca-4034-931b-ad64a320dc96/IL"'
[DEBUG: 11-02 18:32:14, landscape.py:75] Existing MAAS defined, doing a LDS installation with existing MAAS.
[DEBUG: 11-02 18:32:24, utils.py:627] ssh keys exist for this user, they will be used instead.
[DEBUG: 11-02 18:32:24, multi.py:139] Bootstrapping Juju: JUJU_HOME=/home/joel/.cloud-install/juju juju bootstrap
[DEBUG: 11-02 18:53:05, multi.py:145] Problem during bootstrap: '{'output': '', 'status': 1, 'err': 'Bootstrapping environment "maas"\nStarting new instance for initial state server\nLaunching instance\nWARNING no architecture was specified, acquiring an arbitrary node\n - /MAAS/api/1.0/nodes/node-cca09526-a116-11e6-b6cb-001b789e22aa/\nInstalling Juju agent on bootstrap instance\nWaiting for address\nAttempting to connect to free-effect.maas:22\nAttempting to connect to free-effect.maas:22\nAttempting to connect to 10.0.4.32:22\nAttempting to connect to 10.1.1.114:22\nWarning: the ECDSA host key for \'free-effect.maas\' differs from the key for the IP address \'10.1.1.114\'\nOffending key for IP in /home/joel/.ssh/known_hosts:5\nMatching host key in /home/joel/.ssh/known_hosts:6\r\nLogging to /var/log/cloud-init-output.log on remote host\nRunning apt-get update\nRunning apt-get upgrade\nInstalling package: curl\nInstalling package: cpu-checker\nInstalling package: bridge-utils\nInstalling package: rsyslog-gnutls\nInstalling package: cloud-utils\nInstalling package: cloud-image-utils\nInstalling package: tmux\nFetching tools: curl -sSfw \'tools from %{url_effective} downloaded: HTTP %{http_code}; time %{time_total}s; size %{size_download} bytes; speed %{speed_download} bytes/s \' --retry 10 -o $bin/tools.tar.gz <[https://streams.canonical.com/juju/tools/agent/1.25.6/juju-1.25.6-trusty-amd64.tgz]>\nTimeout, server free-effect.maas not responding.\r\nERROR failed to bootstrap environment: subprocess encountered error code 255\nSessions still open, not unmounting\n'}'
[ERROR: 11-02 18:53:05, gui.py:269] A fatal error has occurred: Problem with juju bootstrap.
[ERROR: 11-02 18:53:05, gui.py:270] Problem with juju bootstrap.
Traceback (most recent call last):
File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/share/openstack/cloudinstall/controllers/install/multi.py", line 146, in do_install
raise Exception("Problem with juju bootstrap.")
Exception: Problem with juju bootstrap.
[DEBUG: 11-02 18:53:05, error.py:35] showing error view for: Problem with juju bootstrap.
[ERROR: 11-02 18:53:36, ev.py:130] Exception in ev.run():
Traceback (most recent call last):
File "/usr/share/openstack/cloudinstall/ev.py", line 128, in run
self.loop.run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 278, in run
self._run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 376, in _run
self.event_loop.run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 1326, in run
self._loop.run_forever()
File "/usr/lib/python3.4/asyncio/base_events.py", line 276, in run_forever
self._run_once()
File "/usr/lib/python3.4/asyncio/base_events.py", line 1172, in _run_once
handle._run()
File "/usr/lib/python3.4/asyncio/events.py", line 120, in _run
self._callback(*self._args)
File "/usr/lib/python3/dist-packages/urwid/raw_display.py", line 393, in <lambda>
event_loop, callback, self.get_available_raw_input())
File "/usr/lib/python3/dist-packages/urwid/raw_display.py", line 493, in parse_input
callback(processed, processed_codes)
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 403, in _update
self.process_input(keys)
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 503, in process_input
k = self._topmost_widget.keypress(self.screen_size, k)
File "/usr/share/openstack/cloudinstall/gui.py", line 136, in keypress
return super().keypress(size, key)
File "/usr/lib/python3/dist-packages/urwid/container.py", line 1128, in keypress
return self.body.keypress( (maxcol, remaining), key )
File "/usr/lib/python3/dist-packages/urwid/decoration.py", line 836, in keypress
return self._original_widget.keypress((maxcol,), key)
File "/usr/lib/python3/dist-packages/urwid/container.py", line 1587, in keypress
key = self.focus.keypress(tsize, key)
File "/usr/lib/python3/dist-packages/urwid/decoration.py", line 621, in keypress
return self._original_widget.keypress(maxvals, key)
File "/usr/lib/python3/dist-packages/urwid/container.py", line 1587, in keypress
key = self.focus.keypress(tsize, key)
File "/usr/lib/python3/dist-packages/urwid/wimp.py", line 535, in keypress
self._emit('click')
File "/usr/lib/python3/dist-packages/urwid/widget.py", line 463, in _emit
signals.emit_signal(self, name, self, *args)
File "/usr/lib/python3/dist-packages/urwid/signals.py", line 264, in emit
result |= self._call_callback(callback, user_arg, user_args, args)
File "/usr/lib/python3/dist-packages/urwid/signals.py", line 294, in _call_callback
return bool(callback(*args_to_pass))
File "/usr/share/openstack/cloudinstall/ui/views/error.py", line 66, in cancel
raise SystemExit("Install exited because of error.")
SystemExit: Install exited because of error.
[DEBUG: 11-02 18:53:37, utils.py:59] Juju Version: 1.25.6-trusty-amd64
[INFO: 11-02 18:53:37, utils.py:61] Cleanup, saving latest config object.
joel@ubuntu-maas-controller:~/.juju$ cat ~/.cloud-install/*.log | more
[INFO: 11-02 18:31:34, openstack-install:227] Starting OpenStack Installer v0.99.28
[INFO: 11-02 18:31:34, openstack-install:228] Start command: ['/usr/bin/openstack-install']
[INFO: 11-02 18:31:34, openstack-install:239] Creating juju directories: /home/joel/.cloud-install/juju
[INFO: 11-02 18:31:35, openstack-install:295] Running Liberty release
[INFO: 11-02 18:31:53, installbase.py:132] Performing an Autopilot install
[INFO: 11-02 18:31:53, utils.py:780] pollinate: sudo su - -c 'pollinate -q -r --curl-opts "-k --user-agent uoi/8b82a068-2aca-4034-931b-ad64a320dc96/IL"'
[DEBUG: 11-02 18:32:14, landscape.py:75] Existing MAAS defined, doing a LDS installation with existing MAAS.
[DEBUG: 11-02 18:32:24, utils.py:627] ssh keys exist for this user, they will be used instead.
[DEBUG: 11-02 18:32:24, multi.py:139] Bootstrapping Juju: JUJU_HOME=/home/joel/.cloud-install/juju juju bootstrap
[DEBUG: 11-02 18:53:05, multi.py:145] Problem during bootstrap: '{'output': '', 'status': 1, 'err': 'Bootstrapping environment "maas"\nStarting new instance for in
itial state server\nLaunching instance\nWARNING no architecture was specified, acquiring an arbitrary node\n - /MAAS/api/1.0/nodes/node-cca09526-a116-11e6-b6cb-001
b789e22aa/\nInstalling Juju agent on bootstrap instance\nWaiting for address\nAttempting to connect to free-effect.maas:22\nAttempting to connect to free-effect.ma
as:22\nAttempting to connect to 10.0.4.32:22\nAttempting to connect to 10.1.1.114:22\nWarning: the ECDSA host key for \'free-effect.maas\' differs from the key for
the IP address \'10.1.1.114\'\nOffending key for IP in /home/joel/.ssh/known_hosts:5\nMatching host key in /home/joel/.ssh/known_hosts:6\r\nLogging to /var/log/cl
oud-init-output.log on remote host\nRunning apt-get update\nRunning apt-get upgrade\nInstalling package: curl\nInstalling package: cpu-checker\nInstalling package:
bridge-utils\nInstalling package: rsyslog-gnutls\nInstalling package: cloud-utils\nInstalling package: cloud-image-utils\nInstalling package: tmux\nFetching tools
: curl -sSfw \'tools from %{url_effective} downloaded: HTTP %{http_code}; time %{time_total}s; size %{size_download} bytes; speed %{speed_download} bytes/s \' --re
try 10 -o $bin/tools.tar.gz <[https://streams.canonical.com/juju/tools/agent/1.25.6/juju-1.25.6-trusty-amd64.tgz]>\nTimeout, server free-effect.maas not responding
.\r\nERROR failed to bootstrap environment: subprocess encountered error code 255\nSessions still open, not unmounting\n'}'
[ERROR: 11-02 18:53:05, gui.py:269] A fatal error has occurred: Problem with juju bootstrap.
[ERROR: 11-02 18:53:05, gui.py:270] Problem with juju bootstrap.
Traceback (most recent call last):
File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/share/openstack/cloudinstall/controllers/install/multi.py", line 146, in do_install
raise Exception("Problem with juju bootstrap.")
Exception: Problem with juju bootstrap.
[DEBUG: 11-02 18:53:05, error.py:35] showing error view for: Problem with juju bootstrap.
[ERROR: 11-02 18:53:36, ev.py:130] Exception in ev.run():
Traceback (most recent call last):
File "/usr/share/openstack/cloudinstall/ev.py", line 128, in run
self.loop.run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 278, in run
self._run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 376, in _run
self.event_loop.run()
File "/usr/lib/python3/dist-packages/urwid/main_loop.py", line 1326, in run
self._loop.run_forever()
File "/usr/lib/python3.4/asyncio/base_events.py", line 276, in run_forever
self._run_once()
File "/usr/lib/python3.4/asyncio/base_events.py", line 1172, in _run_once
handle._run()
File "/usr/lib/python3.4/asyncio/events.py", line 120, in _run
A operação de download está falhando aqui? Eu tentei desativar a configuração de proxy dentro das configurações do MAAS (conforme a resposta resolvida de esta questão do github , mas agora estou ficando sem ideias e sinto que estou andando em círculos.
Edit: Acabei de perceber que eu não posso fazer ping na rede externa a partir do nó, mas posso nslookup um IP para que o DNS esteja funcionando. Eu suponho que isso deve ser um problema de rede? Continuarei meus testes e reportarei de volta se eu chegar em algum lugar.
Qualquer ajuda seria muito apreciada. Obrigado.