A system I was working on had amd64 files for raring imported, but did not have i386.
That should be fine, since I'm only hoping to deploy to systems that are identified as amd64.
However, trying to allocate and the start a node results in pxe timeout and fallback to 'default' (which is enlistment) and then poweroff.
log shows:
2013-05-17 13:44:41-0400 [-] Starting factory <HTTPClientFactory: http://localhost/MAAS/api/1.0/pxeconfig/?cluster_uuid=9a4dbe50-1015-4fe1-92ab-d37c34052733&local=192.168.20.1&mac=18-03-73-fb-d1-cd&remote=192.168.20.50>
2013-05-17 13:44:41-0400 [HTTPPageGetter,client] Unhandled error in Deferred:
2013-05-17 13:44:41-0400 [HTTPPageGetter,client] Unhandled Error
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 381, in callback
self._startRunCallbacks(result)
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 489, in _startRunCallbacks
self._runCallbacks()
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 576, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1127, in gotResult
_inlineCallbacks(r, g, deferred)
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 1069, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
File "/usr/lib/python2.7/dist-packages/twisted/python/failure.py", line 389, in throwExceptionIntoGenerator
return g.throw(self.type, self.value, self.tb)
File "/usr/lib/python2.7/dist-packages/tftp/protocol.py", line 67, in _startSession
context, self.backend.get_reader, datagram.filename)
File "/usr/lib/python2.7/dist-packages/twisted/internet/defer.py", line 576, in _runCallbacks
current.result = callback(current.result, *args, **kw)
File "/usr/lib/python2.7/dist-packages/provisioningserver/tftp.py", line 171, in generate_config
kernel_params=kernel_params, **params)
File "/usr/lib/python2.7/dist-packages/provisioningserver/pxe/config.py", line 108, in render_pxe_config
return template.substitute(namespace)
File "/usr/lib/python2.7/dist-packages/tempita/__init__.py", line 173, in substitute
result, defs, inherit = self._interpret(ns)
File "/usr/lib/python2.7/dist-packages/tempita/__init__.py", line 184, in _interpret
self._interpret_codes(self._parsed, ns, out=parts, defs=defs)
File "/usr/lib/python2.7/dist-packages/tempita/__init__.py", line 212, in _interpret_codes
self._interpret_code(item, ns, out, defs)
File "/usr/lib/python2.7/dist-packages/tempita/__init__.py", line 235, in _interpret_code
base = func(base)
File "/usr/lib/python2.7/dist-packages/provisioningserver/pxe/config.py", line 100, in kernel_command
return compose_kernel_command_line(params)
File "/usr/lib/python2.7/dist-packages/provisioningserver/kernel_opts.py", line 176, in compose_kernel_command_line
options += compose_purpose_opts(params)
File "/usr/lib/python2.7/dist-packages/provisioningserver/kernel_opts.py", line 130, in compose_purpose_opts
get_ephemeral_name(params.release, params.arch))
File "/usr/lib/python2.7/dist-packages/provisioningserver/kernel_opts.py", line 107, in get_ephemeral_name
"'maas-import-pxe-files'." % root)
provisioningserver.kernel_opts.EphemeralImagesDirectoryNotFound: The directory containing the ephemeral images/info is missing (u'/var/lib/maas/ephemeral/raring/ephemeral/i386'). Make sure to run the script 'maas-import-pxe-files'.
ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: python-maas-provisioningserver 1.3+bzr1461+dfsg-0ubuntu2 [modified: usr/share/pyshared/provisioningserver/pxe/config.py usr/share/pyshared/provisioningserver/pxe/install_image.py]
ProcVersionSignature: Ubuntu 3.8.0-19.30-generic 3.8.8
Uname: Linux 3.8.0-19-generic x86_64
ApportVersion: 2.9.2-0ubuntu8
Architecture: amd64
Date: Fri May 17 13:48:55 2013
InstallationDate: Installed on 2011-11-16 (548 days ago)
InstallationMedia: Ubuntu-Server 11.10 "Oneiric Ocelot" - Release amd64 (20111011)
MarkForUpload: True
PackageArchitecture: all
ProcEnviron:
TERM=screen-bce
PATH=(custom, no user)
LANG=en_US.UTF-8
SHELL=/bin/bash
SourcePackage: maas
UpgradeStatus: Upgraded to raring on 2013-05-09 (8 days ago)
Looking at the code path, it's either doing commissioning or xinstall. In this case, it should be using the architecture defined on the node itself. Are you sure it's set as amd64?
The only time i386 is required is when the client PXE implementation doesn't supply an arch and we fall back to i386.