** Description changed:

  maas version installed: 1.2+bzr1359+dfsg-0ubuntu1~ppa1 on Ubuntu Precise
  12.04.2
  
  We enlist a node, the accept and commission it and the node stays in
  Commissioning state.
  
  We see that after cloud-init the node tries to access maas and gets an
  internal server error.
  
  In the maas.log file we see this:
  
  ERROR 2013-02-21 16:11:46,283 maas.maasserver 
################################ Exception: Invalid expression 
################################
  ERROR 2013-02-21 16:11:46,283 maas.maasserver Traceback (most recent call 
last):
-   File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 
111, in get_response
-     response = callback(request, *callback_args, **callback_kwargs)
-   File "/usr/lib/python2.7/dist-packages/django/views/decorators/vary.py", 
line 22, in inner_func
-     response = func(*args, **kwargs)
-   File "/usr/lib/python2.7/dist-packages/piston/resource.py", line 166, in 
__call__
-     result = self.error_handler(e, request, meth, em_format)
-   File "/usr/lib/python2.7/dist-packages/piston/resource.py", line 164, in 
__call__
-     result = meth(request, *args, **kwargs)
-   File "/usr/lib/python2.7/dist-packages/maasserver/api.py", line 308, in 
dispatch
-     return function(self, request, *args, **kwargs)
-   File "/usr/lib/python2.7/dist-packages/metadataserver/api.py", line 230, in 
signal
-     self._store_commissioning_results(node, request)
-   File "/usr/lib/python2.7/dist-packages/metadataserver/api.py", line 191, in 
_store_commissioning_results
-     node.set_hardware_details(raw_content)
-   File "/usr/lib/python2.7/dist-packages/maasserver/models/node.py", line 
798, in set_hardware_details
-     update_hardware_details(self, xmlbytes, Tag.objects)
-   File "/usr/lib/python2.7/dist-packages/maasserver/models/node.py", line 
398, in update_hardware_details
-     has_tag = evaluator(tag.definition)
-   File "xpath.pxi", line 321, in lxml.etree.XPathElementEvaluator.__call__ 
(src/lxml/lxml.etree.c:117734)
-   File "xpath.pxi", line 239, in 
lxml.etree._XPathEvaluatorBase._handle_result (src/lxml/lxml.etree.c:116911)
-   File "xpath.pxi", line 225, in 
lxml.etree._XPathEvaluatorBase._raise_eval_error (src/lxml/lxml.etree.c:116780)
+   File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py", line 
111, in get_response
+     response = callback(request, *callback_args, **callback_kwargs)
+   File "/usr/lib/python2.7/dist-packages/django/views/decorators/vary.py", 
line 22, in inner_func
+     response = func(*args, **kwargs)
+   File "/usr/lib/python2.7/dist-packages/piston/resource.py", line 166, in 
__call__
+     result = self.error_handler(e, request, meth, em_format)
+   File "/usr/lib/python2.7/dist-packages/piston/resource.py", line 164, in 
__call__
+     result = meth(request, *args, **kwargs)
+   File "/usr/lib/python2.7/dist-packages/maasserver/api.py", line 308, in 
dispatch
+     return function(self, request, *args, **kwargs)
+   File "/usr/lib/python2.7/dist-packages/metadataserver/api.py", line 230, in 
signal
+     self._store_commissioning_results(node, request)
+   File "/usr/lib/python2.7/dist-packages/metadataserver/api.py", line 191, in 
_store_commissioning_results
+     node.set_hardware_details(raw_content)
+   File "/usr/lib/python2.7/dist-packages/maasserver/models/node.py", line 
798, in set_hardware_details
+     update_hardware_details(self, xmlbytes, Tag.objects)
+   File "/usr/lib/python2.7/dist-packages/maasserver/models/node.py", line 
398, in update_hardware_details
+     has_tag = evaluator(tag.definition)
+   File "xpath.pxi", line 321, in lxml.etree.XPathElementEvaluator.__call__ 
(src/lxml/lxml.etree.c:117734)
+   File "xpath.pxi", line 239, in 
lxml.etree._XPathEvaluatorBase._handle_result (src/lxml/lxml.etree.c:116911)
+   File "xpath.pxi", line 225, in 
lxml.etree._XPathEvaluatorBase._raise_eval_error (src/lxml/lxml.etree.c:116780)
  XPathEvalError: Invalid expression
  
  Maybe related, on juju we set a maas-name constraint to install each
  service to a particular. node (that worked) and then constraints weren't
  recognized at some point (we destroyed the juju environment and started
  again).
+ 
+ 
+ [Impact]
+ MAAS machines in the commissioning process fail to successfully commission 
and be placed into Ready state. This is caused when the user defines tag with 
no definition. These tag with no definition simply server for node 
identification purposes. Without this fix, machine wont be able to commission 
successfully if the user has previously defined a 'no-definition' tag.
+ 
+ [Test Case]
+ To reproduce do the following:
+ 
+ 1. Install MAAS
+ 2. Enlist machines
+ 3. Define a tag with no definition
+ 4. Try to commission machines,
+ These will fail to commission, or if they do, their hardware requirements 
wont be appear and juju wont be able to deploy these machines.
+ 5. Try the proposed fix.
+ Machines would be able to commission successfully.

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to maas in Ubuntu.
https://bugs.launchpad.net/bugs/1131418

Title:
  Nodes don't go to ready, after commissioning they get a 500 error when
  reporting back to maas

To manage notifications about this bug go to:
https://bugs.launchpad.net/maas/+bug/1131418/+subscriptions

-- 
Ubuntu-server-bugs mailing list
Ubuntu-server-bugs@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/ubuntu-server-bugs

Reply via email to