Merge lp:~pjdc/offspring/fix-username-determination into lp:~linaro-automation/offspring/linaro

Proposed by Paul Collins
Status: Merged
Merged at revision: 42
Proposed branch: lp:~pjdc/offspring/fix-username-determination
Merge into: lp:~linaro-automation/offspring/linaro
Diff against target: 20 lines (+2/-1)
1 file modified
lib/offspring/config.py (+2/-1)
To merge this branch: bzr merge lp:~pjdc/offspring/fix-username-determination
Reviewer Review Type Date Requested Status
James Westby (community) Approve
Michael Hudson-Doyle Pending
Review via email: mp+55661@code.launchpad.net

Description of the change

I just ran into this. It doesn't look like there are any useful username-type
variables in Apache's environment, so this branch uses pwd.getpwuid(), which
I hope will cover all reasonable situations. With this change applied, syncdb
now runs successfully.

$ bin/offspring-web syncdb --settings=offspring.web.settings_production
Traceback (most recent call last):
  File "bin/offspring-web", line 7, in <module>
    execfile(__file__)
  File "/srv/offspring.linaro.org/lib/offspring/web/bin/offspring-web", line 21, in <module>
    w.main()
  File "/srv/offspring.linaro.org/lib/offspring/web/bin/offspring-web", line 17, in main
    execute_from_command_line()
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/site-packages/django/core/management/__init__.py", line 429, in execute_from_command_line
    utility.execute()
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/site-packages/django/core/management/base.py", line 219, in execute
    self.validate()
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/site-packages/django/core/management/base.py", line 249, in validate
    num_errors = get_validation_errors(s, app)
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/site-packages/django/core/management/validation.py", line 35, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/site-packages/django/db/models/loading.py", line 146, in get_app_errors
    self._populate()
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/site-packages/django/db/models/loading.py", line 61, in _populate
    self.load_app(app_name, True)
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/site-packages/django/db/models/loading.py", line 78, in load_app
    models = import_module('.models', app_name)
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/srv/offspring.linaro.org/lib/offspring/web/queuemanager/models.py", line 22, in <module>
    from offspring import config
  File "/srv/offspring.linaro.org/lib/offspring/config.py", line 42, in <module>
    _read_config()
  File "/srv/offspring.linaro.org/lib/offspring/config.py", line 21, in _read_config
    config.set('DEFAULT', 'username', os.environ['USERNAME'])
  File "/srv/offspring.linaro.org/.virtualenv/lib/python2.6/UserDict.py", line 22, in __getitem__
    raise KeyError(key)
KeyError: 'USERNAME'

To post a comment you must log in.
Revision history for this message
James Westby (james-w) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'lib/offspring/config.py'
2--- lib/offspring/config.py 2010-12-03 01:05:17 +0000
3+++ lib/offspring/config.py 2011-03-31 01:44:28 +0000
4@@ -6,6 +6,7 @@
5 SafeConfigParser
6 )
7 import os
8+import pwd
9 import sys
10
11 from offspring import offspring_root
12@@ -18,7 +19,7 @@
13 hostname = os.popen('hostname').read().strip()
14 config.set('DEFAULT', 'base_dir', offspring_root)
15 config.set('DEFAULT', 'hostname', hostname)
16- config.set('DEFAULT', 'username', os.environ['USERNAME'])
17+ config.set('DEFAULT', 'username', pwd.getpwuid(os.getuid())[0])
18
19 if os.environ.has_key("OFFSPRING_CONFIGFILE"):
20 CONFIGFILE_PATH = os.environ["OFFSPRING_CONFIGFILE"]

Subscribers

People subscribed via source and target branches