Comment 0 for bug 1067280

Revision history for this message
Brendan Donegan (brendan-donegan) wrote : Presense of both no_proxy and NO_PROXY environment variables causes Checkbox to error when saving the output of the environment resource job.

Since the environment resource job has been introduced into Checkbox, the following exception has started appearing in the log:

2012-10-16 10:24:02,699 ERROR Error running event handler <string> MessageInfo.message_file(<_io.StringIO object at 0xa4ba32c>) for event type 'message-file'
Traceback (most recent call last):
  File "/home/brendand/src/checkbox/start_no_errors_test/checkbox/reactor.py", line 74, in fire
      results.append(handler(*args, **kwargs))
        File "<string>", line 112, in message_file
          File "/home/brendand/src/checkbox/start_no_errors_test/checkbox/lib/template_i18n.py", line 132, in load_file
              elements = super(TemplateI18n, self).load_file(*args, **kwargs)
                File "/home/brendand/src/checkbox/start_no_errors_test/checkbox/lib/template.py", line 99, in load_file
                    _save(field, value, extended)
                      File "/home/brendand/src/checkbox/start_no_errors_test/checkbox/lib/template.py", line 85, in _save
                          % (filename, field, value))
                          Exception: Template <stream> has a duplicate field 'no_proxy' with a new value 'localhost,127.0.0.0/8'.

After some debugging, what this conveys is that where Checkbox is trying to save the output of the environment resource job, it is encountering the anomaly that there is both a 'NO_PROXY' environment variable and a 'no_proxy' environment variable set. Why this is is currently unknown, but it's nothing to do with Checkbox. This causes the above validation error. The root cause of this in Checkbox is that the names of environment variables are getting converted to lower-case in the resource job, in order to keep consistency in the job files. It therefore see's 'no_proxy' twice.