我正在尝试在 QEMU/KVM 上建立一个小型云来试用 MAAS/Autopilot/JUJU。
我有4台虚拟机:
1)Ubuntu 16.04.1 x64:MAAS 控制器 2.0.0+bzr5189-0ubuntu1
2)Ubuntu 16.04.1 x64:节点 1(已部署)
3)Ubuntu 16.04.1 x64:节点 2(已部署)
4)Ubuntu 14.04.5 x64:节点 3(就绪)==> 自动驾驶仪安装目标
因此,我使 MAAS 中的第三个节点处于“就绪”状态,并尝试从 MAAS 控制器在其上安装 Autopilot,引导程序工作正常,并在可用节点 3 上自动部署了 Ubuntu Trusty,我有 SSH 访问权限。
但我在此过程中收到此错误:
misterz@controller:~$ conjure-up openstack
Exception in ev.run():
Traceback (most recent call last):
File "/usr/share/conjure-up/ubuntui/ev.py", line 83, in run
cls.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 1328, in run
raise self._exc_info[0](self._exc_info[1]).with_traceback(self._exc_info[2])
File "/usr/lib/python3.5/asyncio/events.py", line 125, 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/lib/python3/dist-packages/urwid/wimp.py", line 643, in keypress
return self._current_widget.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/share/conjure-up/conjure/ui/views/welcome.py", line 35, in keypress
return super().keypress(size, 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/container.py", line 2269, in keypress
key = w.keypress((mc,) + size[1:], 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/conjure-up/conjure/ui/views/welcome.py", line 72, in done
self.cb(result.label)
File "/usr/share/conjure-up/conjure/controllers/welcome.py", line 31, in finish
self.app.controllers['jujucontroller'].render()
File "/usr/share/conjure-up/conjure/controllers/jujucontroller.py", line 153, in render
Juju.switch(c)
File "/usr/share/conjure-up/conjure/juju.py", line 241, in switch
cls.login(True)
File "/usr/share/conjure-up/conjure/juju.py", line 96, in login
password = account['users'][current_user]['password']
TypeError: list indices must be integers or slices, not NoneType
Traceback (most recent call last):
File "/usr/bin/conjure-up", line 9, in <module>
load_entry_point('conjure-up==0.1.2', 'console_scripts', 'conjure-up')()
File "/usr/share/conjure-up/conjure/app.py", line 222, in main
app.start()
File "/usr/share/conjure-up/conjure/app.py", line 171, in start
EventLoop.run()
File "/usr/share/conjure-up/ubuntui/ev.py", line 83, in run
cls.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 1328, in run
raise self._exc_info[0](self._exc_info[1]).with_traceback(self._exc_info[2])
File "/usr/lib/python3.5/asyncio/events.py", line 125, 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/lib/python3/dist-packages/urwid/wimp.py", line 643, in keypress
return self._current_widget.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/share/conjure-up/conjure/ui/views/welcome.py", line 35, in keypress
return super().keypress(size, 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/container.py", line 2269, in keypress
key = w.keypress((mc,) + size[1:], 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/conjure-up/conjure/ui/views/welcome.py", line 72, in done
self.cb(result.label)
File "/usr/share/conjure-up/conjure/controllers/welcome.py", line 31, in finish
self.app.controllers['jujucontroller'].render()
File "/usr/share/conjure-up/conjure/controllers/jujucontroller.py", line 153, in render
Juju.switch(c)
File "/usr/share/conjure-up/conjure/juju.py", line 241, in switch
cls.login(True)
File "/usr/share/conjure-up/conjure/juju.py", line 96, in login
password = account['users'][current_user]['password']
TypeError: list indices must be integers or slices, not NoneType
好像我遗漏了一些用户/密码?除了 MAAS 主机和 MAAS 密钥之外,我没有收到任何其他提示。
答案1
我从头开始,一切都在 Ubuntu Server 14.04.5 LTS amd64(Trusty)上运行,并且 Autopilot 设置运行正常。
MAAS 控制器 => 版本 1.9.4+bzr4592
自动驾驶/景观 ==> 版本 16.06
我遵循了以下指南:https://insights.ubuntu.com/2013/11/15/interested-in-maas-and-juju-heres-how-to-try-it-in-a-vm/