1888: KeyError at /review/admin/db/scmtools/repository/add/

openli*******@gmai***** (Google Code) (Is this you? Claim this profile.)
March 21, 2011
2033
Hi,

I successfully installed ReviewBoard on my VPS.
Whenever, I try to add a Repository, with the Hosting Type - GitHub & Repository - GIT, I get the following error -


KeyError at /review/admin/db/scmtools/repository/add/
'tool'
Request Method:	POST
Request URL:	http://openlifecycle.com/review/admin/db/scmtools/repository/add/
Django Version:	1.2.3
Exception Type:	KeyError
Exception Value:	
'tool'
Exception Location:	/usr/lib/python2.4/site-packages/ReviewBoard-1.5-py2.4.egg/reviewboard/scmtools/forms.py in _clean_hosting_info, line 448
Python Executable:	/usr/bin/python
Python Version:	2.4.3
Python Path:	['/var/www/html/review/conf', '/usr/lib/python2.4/site-packages/setuptools-0.6c12dev_r85381-py2.4.egg', '/usr/lib/python2.4/site-packages/python_memcached-1.45-py2.4.egg', '/usr/lib/python2.4/site-packages/ReviewBoard-1.5-py2.4.egg', '/usr/lib/python2.4/site-packages/recaptcha_client-1.0.5-py2.4.egg', '/usr/lib/python2.4/site-packages/pytz-2010o-py2.4.egg', '/usr/lib/python2.4/site-packages/python_dateutil-1.5-py2.4.egg', '/usr/lib/python2.4/site-packages/paramiko-1.7.6-py2.4.egg', '/usr/lib/python2.4/site-packages/flup-1.0.3.dev_20100525-py2.4.egg', '/usr/lib/python2.4/site-packages/Pygments-1.3.1-py2.4.egg', '/usr/lib/python2.4/site-packages/Djblets-0.6.4-py2.4.egg', '/usr/lib/python2.4/site-packages/django_evolution-0.6.2-py2.4.egg', '/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg', '/usr/lib/python2.4/site-packages/pycrypto-2.3-py2.4-linux-i686.egg', '/usr/lib/python2.4/site-packages/PIL-1.1.7-py2.4-linux-i686.egg', '/usr/lib/python2.4/site-packages/django_storages-1.1.1-py2.4.egg', '/usr/lib/python2.4/site-packages/MySQL_python-1.2.2-py2.4-linux-i686.egg', '/usr/lib/python24.zip', '/usr/lib/python2.4', '/usr/lib/python2.4/plat-linux2', '/usr/lib/python2.4/lib-tk', '/usr/lib/python2.4/lib-dynload', '/usr/lib/python2.4/site-packages', '/usr/lib/python2.4/site-packages/Numeric', '/usr/lib/python2.4/site-packages/gtk-2.0']
Server time:	Sun, 21 Nov 2010 02:18:20 -0800
Traceback Switch to copy-and-paste view

/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/core/handlers/base.py in get_response
                    response = callback(request, *callback_args, **callback_kwargs) ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/contrib/admin/sites.py in root
                return self.model_page(request, *url.split('/', 2)) ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/views/decorators/cache.py in _wrapped_view_func
        response = view_func(request, *args, **kwargs) ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/contrib/admin/sites.py in model_page
        return admin_obj(request, rest_of_url) ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/contrib/admin/options.py in __call__
            return self.add_view(request) ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/utils/decorators.py in _wrapper
            return decorator(bound_func)(*args, **kwargs) ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/utils/decorators.py in _wrapped_view
                    response = view_func(request, *args, **kwargs) ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/utils/decorators.py in bound_func
                return func(self, *args2, **kwargs2) ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/db/transaction.py in _commit_on_success
                    res = func(*args, **kw) ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/contrib/admin/options.py in add_view
            if form.is_valid(): ...
▶ Local vars
/usr/lib/python2.4/site-packages/ReviewBoard-1.5-py2.4.egg/reviewboard/scmtools/forms.py in is_valid
        return (super(RepositoryForm, self).is_valid() and ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/forms/forms.py in is_valid
        return self.is_bound and not bool(self.errors) ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/forms/forms.py in _get_errors
            self.full_clean() ...
▶ Local vars
/usr/lib/python2.4/site-packages/ReviewBoard-1.5-py2.4.egg/reviewboard/scmtools/forms.py in full_clean
        return super(RepositoryForm, self).full_clean() ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/forms/forms.py in full_clean
        self._clean_form() ...
▶ Local vars
/usr/lib/python2.4/site-packages/Django-1.2.3-py2.4.egg/django/forms/forms.py in _clean_form
            self.cleaned_data = self.clean() ...
▶ Local vars
/usr/lib/python2.4/site-packages/ReviewBoard-1.5-py2.4.egg/reviewboard/scmtools/forms.py in clean
        self._clean_hosting_info() ...
▶ Local vars
/usr/lib/python2.4/site-packages/ReviewBoard-1.5-py2.4.egg/reviewboard/scmtools/forms.py in _clean_hosting_info
        tool_name = self.cleaned_data['tool'].name ...
▶ Local vars
Request information

GET
No GET data
POST
Variable	Value
username	
u'admin'
name	
u'OLC'
bug_tracker_type	
u'none'
encoding	
u''
tool	
u'2'
api_token	
u''
bug_tracker_project_name	
u'test'
hosting_project_name	
u'OLC'
bug_tracker_base_url	
u''
visible	
u'on'
hosting_type	
u'github'
bug_tracker_owner	
u''
_save	
u'Save'
raw_file_url	
u''
bug_tracker	
u'http://code.google.com/p/test/issues/detail?id=%s'
path	
u'http://egui-test.googlecode.com/svn/'
csrfmiddlewaretoken	
u'27434020a13047ed13d4000dbb7cfd62'
password	
u'centos'
mirror_path	
u''
hosting_owner	
u'openlifecycle'
FILES
No FILES data
COOKIES
Variable	Value
csrftoken	
'27434020a13047ed13d4000dbb7cfd62'
rbsessionid	
'cd648b9e585ff6bdcef2f1ebe4c59b0d'
META
Variable	Value
AUTH_TYPE	
None
CONTENT_LENGTH	
'2184'
CONTENT_TYPE	
'multipart/form-data; boundary=----WebKitFormBoundary5JBPT9oXtibYQGis'
CSRF_COOKIE	
'27434020a13047ed13d4000dbb7cfd62'
GATEWAY_INTERFACE	
'CGI/1.1'
HTTP_ACCEPT	
'application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5'
HTTP_ACCEPT_CHARSET	
'ISO-8859-1,utf-8;q=0.7,*;q=0.3'
HTTP_ACCEPT_ENCODING	
'gzip,deflate,sdch'
HTTP_ACCEPT_LANGUAGE	
'en-US,en;q=0.8'
HTTP_CACHE_CONTROL	
'max-age=0'
HTTP_CONNECTION	
'keep-alive'
HTTP_CONTENT_LENGTH	
'2184'
HTTP_CONTENT_TYPE	
'multipart/form-data; boundary=----WebKitFormBoundary5JBPT9oXtibYQGis'
HTTP_COOKIE	
'rbsessionid=cd648b9e585ff6bdcef2f1ebe4c59b0d; csrftoken=27434020a13047ed13d4000dbb7cfd62'
HTTP_HOST	
'openlifecycle.com'
HTTP_ORIGIN	
'http://openlifecycle.com'
HTTP_REFERER	
'http://openlifecycle.com/review/admin/db/scmtools/repository/add/'
HTTP_USER_AGENT	
'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.517.44 Safari/534.7'
PATH_INFO	
u'/review/admin/db/scmtools/repository/add/'
PATH_TRANSLATED	
None
QUERY_STRING	
None
REMOTE_ADDR	
'122.179.95.179'
REMOTE_HOST	
None
REMOTE_IDENT	
None
REMOTE_USER	
None
REQUEST_METHOD	
'POST'
SCRIPT_NAME	
''
SERVER_NAME	
'openlifecycle.com'
SERVER_PORT	
80
SERVER_PROTOCOL	
'HTTP/1.1'
SERVER_SOFTWARE	
'mod_python'
Settings
Using settings module reviewboard.settings
Setting	Value
ABSOLUTE_URL_OVERRIDES	
{}
ADMINS	
((u'admin', u'admin.olc@openlifecycle.com'),)
ADMIN_FOR	
()
ADMIN_MEDIA_PREFIX	
u'/review/media/admin/'
AD_DOMAIN_CONTROLLER	
None
AD_DOMAIN_NAME	
None
AD_FIND_DC_FROM_DNS	
None
AD_GROUP_NAME	
None
AD_OU_NAME	
None
AD_RECURSION_DEPTH	
None
AD_SEARCH_ROOT	
None
AD_USE_TLS	
None
AJAX_SERIAL	
1290236573
ALLOWED_INCLUDE_ROOTS	
()
APPEND_SLASH	
True
AUTHENTICATION_BACKENDS	
('django.contrib.auth.backends.ModelBackend',)
AUTH_PROFILE_MODULE	
'accounts.Profile'
AWS_ACCESS_KEY_ID	
''
AWS_CALLING_FORMAT	
2
AWS_DEFAULT_ACL	
u'public-read'
AWS_HEADERS	
{}
AWS_QUERYSTRING_ACTIVE	
False
AWS_QUERYSTRING_EXPIRE	
60
AWS_S3_SECURE_URLS	
False
AWS_SECRET_ACCESS_KEY	
'********************'
AWS_STORAGE_BUCKET_NAME	
''
BANNED_IPS	
()
CACHE_BACKEND	
u'memcached://localhost:11211/'
CACHE_EXPIRATION_TIME	
2592000
CACHE_MIDDLEWARE_KEY_PREFIX	
''
CACHE_MIDDLEWARE_SECONDS	
600
COMMENTS_ALLOW_PROFANITIES	
False
COMMENTS_BANNED_USERS_GROUP	
None
COMMENTS_FIRST_FEW	
0
COMMENTS_MODERATORS_GROUP	
None
COMMENTS_SKETCHY_USERS_GROUP	
None
COUCHDB_DEFAULT_SERVER	
u''
COUCHDB_STORAGE_OPTIONS	
{}
CSRF_COOKIE_DOMAIN	
None
CSRF_COOKIE_NAME	
'csrftoken'
CSRF_FAILURE_VIEW	
'django.views.csrf.csrf_failure'
DATABASES	
{'default': {'ENGINE': 'django.db.backends.mysql', 'HOST': 'localhost', 'NAME': 'reviewboard', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '', 'TEST_CHARSET': None, 'TEST_COLLATION': None, 'TEST_MIRROR': None, 'TEST_NAME': None, 'TIME_ZONE': 'US/Pacific', 'USER': 'root'}}
DATABASE_ENGINE	
'mysql'
DATABASE_HOST	
'localhost'
DATABASE_NAME	
'reviewboard'
DATABASE_OPTIONS	
{}
DATABASE_PASSWORD	
'********************'
DATABASE_PORT	
''
DATABASE_ROUTERS	
[]
DATABASE_USER	
'root'
DATETIME_FORMAT	
u'N j, Y, P'
DATETIME_INPUT_FORMATS	
('%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M', '%m/%d/%y')
DATE_FORMAT	
u'N j, Y'
DATE_INPUT_FORMATS	
('%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y')
DEBUG	
True
DEBUG_PROPAGATE_EXCEPTIONS	
False
DECIMAL_SEPARATOR	
'.'
DEFAULT_CHARSET	
'utf-8'
DEFAULT_CONTENT_TYPE	
'text/html'
DEFAULT_FILE_STORAGE	
'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL	
u'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE	
''
DEFAULT_TABLESPACE	
''
DISALLOWED_USER_AGENTS	
()
DOMAIN_METHOD	
u'http'
EMAIL_BACKEND	
'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST	
u'localhost'
EMAIL_HOST_PASSWORD	
'********************'
EMAIL_HOST_USER	
'admin.olc@openlifecycle.com'
EMAIL_PORT	
25
EMAIL_SUBJECT_PREFIX	
'[Django] '
EMAIL_USE_TLS	
False
FILE_CHARSET	
'utf-8'
FILE_UPLOAD_HANDLERS	
('django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler')
FILE_UPLOAD_MAX_MEMORY_SIZE	
2621440
FILE_UPLOAD_PERMISSIONS	
None
FILE_UPLOAD_TEMP_DIR	
None
FIRST_DAY_OF_WEEK	
0
FIXTURE_DIRS	
()
FORCE_SCRIPT_NAME	
''
FORMAT_MODULE_PATH	
None
HTDOCS_ROOT	
'/var/www/html/review/htdocs'
IGNORABLE_404_ENDS	
('mail.pl', 'mailform.pl', 'mail.cgi', 'mailform.cgi', 'favicon.ico', '.php')
IGNORABLE_404_STARTS	
('/cgi-bin/', '/_vti_bin', '/_vti_inf')
INSTALLED_APPS	
['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.markup', 'django.contrib.sites', 'django.contrib.sessions', 'djblets.datagrid', 'djblets.feedview', 'djblets.log', 'djblets.siteconfig', 'djblets.util', 'djblets.webapi', 'reviewboard.accounts', 'reviewboard.admin', 'reviewboard.changedescs', 'reviewboard.diffviewer', 'reviewboard.iphone', 'reviewboard.notifications', 'reviewboard.reports', 'reviewboard.reviews', 'reviewboard.scmtools', 'reviewboard.webapi', 'django_evolution']
INTERNAL_IPS	
()
LANGUAGES	
(('en', 'English'),)
LANGUAGES_BIDI	
('he', 'ar', 'fa')
LANGUAGE_CODE	
u'en-us'
LANGUAGE_COOKIE_NAME	
'rblanguage'
LDAP_ANON_BIND_PASSWD	
u''
LDAP_ANON_BIND_UID	
u''
LDAP_BASE_DN	
None
LDAP_EMAIL_ATTRIBUTE	
None
LDAP_EMAIL_DOMAIN	
u''
LDAP_TLS	
False
LDAP_UID_MASK	
u''
LDAP_URI	
u''
LOCALE_PATHS	
()
LOCAL_ROOT	
'/var/www/html/review'
LOGGING_ALLOW_PROFILING	
False
LOGGING_DIRECTORY	
None
LOGGING_ENABLED	
False
LOGGING_NAME	
'reviewboard'
LOGIN_REDIRECT_URL	
'/accounts/profile/'
LOGIN_URL	
'/review/account/login/'
LOGOUT_URL	
'/accounts/logout/'
MANAGERS	
((u'admin', u'admin.olc@openlifecycle.com'),)
MEDIA_ROOT	
u'/var/www/html/review/htdocs/media'
MEDIA_SERIAL	
1290236596
MEDIA_SERIAL_DIRS	
['admin', 'djblets', 'rb']
MEDIA_URL	
u'/review/media/'
MESSAGE_STORAGE	
'django.contrib.messages.storage.user_messages.LegacyFallbackStorage'
MIDDLEWARE_CLASSES	
('django.middleware.gzip.GZipMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.doc.XViewMiddleware', 'django.middleware.http.ConditionalGetMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'djblets.siteconfig.middleware.SettingsMiddleware', 'reviewboard.admin.middleware.LoadSettingsMiddleware', 'djblets.log.middleware.LoggingMiddleware', 'reviewboard.admin.middleware.CheckUpdatesRequiredMiddleware', 'reviewboard.admin.middleware.X509AuthMiddleware')
MONTH_DAY_FORMAT	
u'F j'
NIS_EMAIL_DOMAIN	
u''
NUMBER_GROUPING	
0
PASSWORD_RESET_TIMEOUT_DAYS	
'********************'
PREPEND_WWW	
False
PROFANITIES_LIST	
'********************'
REVIEWBOARD_ROOT	
'/usr/lib/python2.4/site-packages/ReviewBoard-1.5-py2.4.egg/reviewboard'
ROOT_URLCONF	
'djblets.util.rooturl'
SECRET_KEY	
'********************'
SEND_BROKEN_LINK_EMAILS	
False
SERVER_EMAIL	
u'root@localhost'
SESSION_COOKIE_AGE	
31536000
SESSION_COOKIE_DOMAIN	
None
SESSION_COOKIE_NAME	
'rbsessionid'
SESSION_COOKIE_PATH	
'/review/'
SESSION_COOKIE_SECURE	
False
SESSION_ENGINE	
'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE	
False
SESSION_FILE_PATH	
None
SESSION_SAVE_EVERY_REQUEST	
False
SETTINGS_MODULE	
'reviewboard.settings'
SHORT_DATETIME_FORMAT	
'm/d/Y P'
SHORT_DATE_FORMAT	
'm/d/Y'
SITE_ID	
1
SITE_ROOT	
'/review/'
SITE_ROOT_URLCONF	
'reviewboard.urls'
TEMPLATE_CONTEXT_PROCESSORS	
('django.core.context_processors.auth', 'django.core.context_processors.debug', 'django.core.context_processors.i18n', 'django.core.context_processors.media', 'django.core.context_processors.request', 'djblets.siteconfig.context_processors.siteconfig', 'djblets.util.context_processors.settingsVars', 'djblets.util.context_processors.siteRoot', 'djblets.util.context_processors.ajaxSerial', 'djblets.util.context_processors.mediaSerial', 'reviewboard.admin.context_processors.version')
TEMPLATE_DEBUG	
True
TEMPLATE_DIRS	
('/usr/lib/python2.4/site-packages/ReviewBoard-1.5-py2.4.egg/reviewboard/templates',)
TEMPLATE_LOADERS	
('django.template.loaders.filesystem.load_template_source', 'django.template.loaders.app_directories.load_template_source')
TEMPLATE_STRING_IF_INVALID	
''
TEST_DATABASE_CHARSET	
None
TEST_DATABASE_COLLATION	
None
TEST_DATABASE_NAME	
None
TEST_RUNNER	
'reviewboard.test.runner'
THOUSAND_SEPARATOR	
','
TIME_FORMAT	
u'P'
TIME_INPUT_FORMATS	
('%H:%M:%S', '%H:%M')
TIME_ZONE	
'US/Pacific'
TRANSACTIONS_MANAGED	
False
URL_VALIDATOR_USER_AGENT	
'Django/1.2.3 (http://www.djangoproject.com)'
USE_ETAGS	
False
USE_I18N	
False
USE_L10N	
False
USE_THOUSAND_SEPARATOR	
False
WEB_API_ENCODERS	
('djblets.webapi.encoders.ResourceAPIEncoder',)
X509_AUTOCREATE_USERS	
False
X509_USERNAME_FIELD	
u'SSL_CLIENT_S_DN_CN'
X509_USERNAME_REGEX	
u''
YEAR_MONTH_FORMAT	
u'F Y'

I have already installed GIT on my server. Still the issue exists.
chipx86
#1 chipx86
This is a brand new install?

It sounds like the SCMTools weren't registered properly. Can you go into the Admin UI -> Database -> Tools, and see if Git is in there?
  • +NeedInfo
#2 openli*******@gmai***** (Google Code) (Is this you? Claim this profile.)
Yes it is a brand new install.

Admin UI -> Database -> Tools show up all the SCM Tools.

	
Tool
Class name
	Bazaar	reviewboard.scmtools.bzr.BZRTool
	Clear Case	reviewboard.scmtools.clearcase.ClearCaseTool
	CVS	reviewboard.scmtools.cvs.CVSTool
	Git	reviewboard.scmtools.git.GitTool
	Mercurial	reviewboard.scmtools.hg.HgTool
	Perforce	reviewboard.scmtools.perforce.PerforceTool
	Subversion	reviewboard.scmtools.svn.SVNTool
david
#3 david
  • -NeedInfo
    +New
david
#5 david
Fixed in release-1.5.x as 9bdc33f. Thanks!
  • -New
    +Fixed