While chasing another issue, I observed these errors below in the maas log for one of the X3650 that's failing to deploy. I think it's worth investigating why maas is complaining about this server:
2015-08-05 15:42:33 [-] 127.0.0.1 - - [05/Aug/2015:15:42:32 +0000] "GET /MAAS/api/1.0/nodes/?agent_name=ed388ed1-b62c-4489-85c2-47dfe387d63b&id=node-08d6458c-3f4d-11e4-b38a-00163eca07b6&op=list HTTP/1.1" 200 795 "-" "Go 1.1 package http"
2015-08-05 15:42:33 [maasserver] ERROR: Unable to determine purpose for node: 'drapion.oil'
2015-08-05 15:42:33 [-] Unhandled failure dispatching AMP command. This is probably a bug. Please ensure that this error is handled within application code or declared in the signature of the RequestNodeInfoByMACAddress command. [maas-trusty-back-may22:pid=53399:cmd=RequestNodeInfoByMACAddress:ask=2b8c4]
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 783, in __bootstrap self.__bootstrap_inner()
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner self.run()
File "/usr/lib/python2.7/threading.py", line 763, in run self.__target(*self.__args, **self.__kwargs)
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py", line 191, in _worker
result = context.call(ctx, function, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
return func(*args,**kw)
File "/usr/lib/python2.7/dist-packages/provisioningserver/utils/twisted.py", line 154, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/maasserver/utils/orm.py", line 404, in call_within_transaction
return func_outside_txn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/maasserver/utils/orm.py", line 300, in retrier
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/db/transaction.py", line 339, in inner
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/maasserver/rpc/nodes.py", line 194, in request_node_info_by_mac_address
return (node, node.get_boot_purpose())
File "/usr/lib/python2.7/dist-packages/maasserver/models/node.py", line 1856, in get_boot_purpose preseed_type = get_deploying_preseed_type_for(self)
File "/usr/lib/python2.7/dist-packages/maasserver/preseed.py", line 379, in get_deploying_preseed_type_for
purpose = get_available_purpose_for_node(purpose_order, node)
File "/usr/lib/python2.7/dist-packages/maasserver/preseed.py", line 348, in get_available_purpose_for_node
"Unable to determine purpose for node: '%s'", node.fqdn) maasserver.exceptions.PreseedError: (u"Unable to determine purpose for node: '%s'", u'drapion.oil')
2015-08-05 15:42:33 [maasserver] ERROR: Unable to determine purpose for node: 'drapion.oil'
2015-08-05 15:42:33 [-] Unhandled failure dispatching AMP command. This is probably a bug. Please ensure that this error is handled within application code or declared in the signature of the RequestNodeInfoByMACAddress command. [maas-trusty-back-may22:pid=53396:cmd=RequestNodeInfoByMACAddress:ask=2b9d0]
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 783, in __bootstrap self.__bootstrap_inner()
File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner self.run()
File "/usr/lib/python2.7/threading.py", line 763, in run self.__target(*self.__args, **self.__kwargs)
--- <exception caught here> ---
File "/usr/lib/python2.7/dist-packages/twisted/python/threadpool.py", line 191, in _worker
result = context.call(ctx, function, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 118, in callWithContext
return self.currentContext().callWithContext(ctx, func, *args, **kw)
File "/usr/lib/python2.7/dist-packages/twisted/python/context.py", line 81, in callWithContext
return func(*args,**kw)
File "/usr/lib/python2.7/dist-packages/provisioningserver/utils/twisted.py", line 154, in wrapper
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/maasserver/utils/orm.py", line 404, in call_within_transaction
return func_outside_txn(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/maasserver/utils/orm.py", line 300, in retrier
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/db/transaction.py", line 339, in inner
return func(*args, **kwargs)
File "/usr/lib/python2.7/dist-packages/maasserver/rpc/nodes.py", line 194, in request_node_info_by_mac_address
return (node, node.get_boot_purpose())
File "/usr/lib/python2.7/dist-packages/maasserver/models/node.py", line 1856, in get_boot_purpose preseed_type = get_deploying_preseed_type_for(self)
File "/usr/lib/python2.7/dist-packages/maasserver/preseed.py", line 379, in get_deploying_preseed_type_for
purpose = get_available_purpose_for_node(purpose_order, node)
File "/usr/lib/python2.7/dist-packages/maasserver/preseed.py", line 348, in get_available_purpose_for_node
"Unable to determine purpose for node: '%s'", node.fqdn) maasserver.exceptions.PreseedError: (u"Unable to determine purpose for node: '%s'", u'drapion.oil')
While chasing another issue, I observed these errors below in the maas log for one of the X3650 that's failing to deploy. I think it's worth investigating why maas is complaining about this server:
2015-08-05 15:42:33 [-] 127.0.0.1 - - [05/Aug/ 2015:15: 42:32 +0000] "GET /MAAS/api/ 1.0/nodes/ ?agent_ name=ed388ed1- b62c-4489- 85c2-47dfe387d6 3b&id=node- 08d6458c- 3f4d-11e4- b38a-00163eca07 b6&op=list HTTP/1.1" 200 795 "-" "Go 1.1 package http" ByMACAddress command. [maas-trusty- back-may22: pid=53399: cmd=RequestNode InfoByMACAddres s:ask=2b8c4] python2. 7/threading. py", line 783, in __bootstrap
self. __bootstrap_ inner() python2. 7/threading. py", line 810, in __bootstrap_inner
self. run() python2. 7/threading. py", line 763, in run
self. __target( *self._ _args, **self.__kwargs) python2. 7/dist- packages/ twisted/ python/ threadpool. py", line 191, in _worker python2. 7/dist- packages/ twisted/ python/ context. py", line 118, in callWithContext text(). callWithContext (ctx, func, *args, **kw) python2. 7/dist- packages/ twisted/ python/ context. py", line 81, in callWithContext python2. 7/dist- packages/ provisioningser ver/utils/ twisted. py", line 154, in wrapper python2. 7/dist- packages/ maasserver/ utils/orm. py", line 404, in call_within_ transaction txn(*args, **kwargs) python2. 7/dist- packages/ maasserver/ utils/orm. py", line 300, in retrier python2. 7/dist- packages/ django/ db/transaction. py", line 339, in inner python2. 7/dist- packages/ maasserver/ rpc/nodes. py", line 194, in request_ node_info_ by_mac_ address boot_purpose( )) python2. 7/dist- packages/ maasserver/ models/ node.py" , line 1856, in get_boot_purpose
preseed_ type = get_deploying_ preseed_ type_for( self) python2. 7/dist- packages/ maasserver/ preseed. py", line 379, in get_deploying_ preseed_ type_for purpose_ for_node( purpose_ order, node) python2. 7/dist- packages/ maasserver/ preseed. py", line 348, in get_available_ purpose_ for_node
maasserver. exceptions. PreseedError: (u"Unable to determine purpose for node: '%s'", u'drapion.oil')
2015-08-05 15:42:33 [maasserver] ERROR: Unable to determine purpose for node: 'drapion.oil'
2015-08-05 15:42:33 [-] Unhandled failure dispatching AMP command. This is probably a bug. Please ensure that this error is handled within application code or declared in the signature of the RequestNodeInfo
Traceback (most recent call last):
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
--- <exception caught here> ---
File "/usr/lib/
result = context.call(ctx, function, *args, **kwargs)
File "/usr/lib/
return self.currentCon
File "/usr/lib/
return func(*args,**kw)
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return func_outside_
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return (node, node.get_
File "/usr/lib/
File "/usr/lib/
purpose = get_available_
File "/usr/lib/
"Unable to determine purpose for node: '%s'", node.fqdn)
2015-08-05 15:42:33 [maasserver] ERROR: Unable to determine purpose for node: 'drapion.oil' ByMACAddress command. [maas-trusty- back-may22: pid=53396: cmd=RequestNode InfoByMACAddres s:ask=2b9d0] python2. 7/threading. py", line 783, in __bootstrap
self. __bootstrap_ inner() python2. 7/threading. py", line 810, in __bootstrap_inner
self. run() python2. 7/threading. py", line 763, in run
self. __target( *self._ _args, **self.__kwargs) python2. 7/dist- packages/ twisted/ python/ threadpool. py", line 191, in _worker python2. 7/dist- packages/ twisted/ python/ context. py", line 118, in callWithContext text(). callWithContext (ctx, func, *args, **kw) python2. 7/dist- packages/ twisted/ python/ context. py", line 81, in callWithContext python2. 7/dist- packages/ provisioningser ver/utils/ twisted. py", line 154, in wrapper python2. 7/dist- packages/ maasserver/ utils/orm. py", line 404, in call_within_ transaction txn(*args, **kwargs) python2. 7/dist- packages/ maasserver/ utils/orm. py", line 300, in retrier python2. 7/dist- packages/ django/ db/transaction. py", line 339, in inner python2. 7/dist- packages/ maasserver/ rpc/nodes. py", line 194, in request_ node_info_ by_mac_ address boot_purpose( )) python2. 7/dist- packages/ maasserver/ models/ node.py" , line 1856, in get_boot_purpose
preseed_ type = get_deploying_ preseed_ type_for( self) python2. 7/dist- packages/ maasserver/ preseed. py", line 379, in get_deploying_ preseed_ type_for purpose_ for_node( purpose_ order, node) python2. 7/dist- packages/ maasserver/ preseed. py", line 348, in get_available_ purpose_ for_node
maasserver. exceptions. PreseedError: (u"Unable to determine purpose for node: '%s'", u'drapion.oil')
2015-08-05 15:42:33 [-] Unhandled failure dispatching AMP command. This is probably a bug. Please ensure that this error is handled within application code or declared in the signature of the RequestNodeInfo
Traceback (most recent call last):
File "/usr/lib/
File "/usr/lib/
File "/usr/lib/
--- <exception caught here> ---
File "/usr/lib/
result = context.call(ctx, function, *args, **kwargs)
File "/usr/lib/
return self.currentCon
File "/usr/lib/
return func(*args,**kw)
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return func_outside_
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return (node, node.get_
File "/usr/lib/
File "/usr/lib/
purpose = get_available_
File "/usr/lib/
"Unable to determine purpose for node: '%s'", node.fqdn)