Bug 1404177

Summary: Traceback in GUI after kdump nfs
Product: Red Hat Certification Program Reporter: Rainer Koenig <Rainer.Koenig>
Component: redhat-certificationAssignee: Greg Nichols <gnichols>
Status: NEW --- QA Contact: rhcert qe <rhcert-qe>
Severity: high Docs Contact:
Priority: unspecified    
Version: 1.0   
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Rainer Koenig 2016-12-13 09:27:57 UTC
Description of problem:
After execution of "kdump nfs" from the GUI and clicking on "Continue testing" I get a long traceback.

Version-Release number of selected component (if applicable):
redhat-certification-4.2-20161122.1.el7.noarch

How reproducible:
Every time so far

Steps to Reproduce:
1. Setup SUT with RHEL7.3
2. Perform KDUMP local test (dunno if this is necessary)
3. Perform KDUMP nfs test

Actual results:
When cklicking on "Contintue testing" in the Web-UI I get the following traceback:

AttributeError at /certification/hardware/53/192.168.2.138/2016-12-13 09:10:55/testing/

'NoneType' object has no attribute 'getOS'

Request Method: 	POST
Request URL: 	http://192.168.2.3/certification/hardware/53/192.168.2.138/2016-12-13%2009:10:55/testing/
Django Version: 	1.8.4
Exception Type: 	AttributeError
Exception Value: 	

'NoneType' object has no attribute 'getOS'

Exception Location: 	/var/www/rhcert/wsgi/testing.py in initializeView, line 43
Python Executable: 	/usr/bin/python
Python Version: 	2.7.5
Python Path: 	

['/var/www/rhcert',
 '/usr/lib64/python27.zip',
 '/usr/lib64/python2.7',
 '/usr/lib64/python2.7/plat-linux2',
 '/usr/lib64/python2.7/lib-tk',
 '/usr/lib64/python2.7/lib-old',
 '/usr/lib64/python2.7/lib-dynload',
 '/usr/lib64/python2.7/site-packages',
 '/usr/lib64/python2.7/site-packages/gtk-2.0',
 '/usr/lib/python2.7/site-packages']

Server time: 	Tue, 13 Dec 2016 09:18:39 +0000

Environment:


Request Method: POST
Request URL: http://192.168.2.3/certification/hardware/53/192.168.2.138/2016-12-13%2009:10:55/testing/

Django Version: 1.8.4
Python Version: 2.7.5
Installed Applications:
('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.messages',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.staticfiles',
 'application')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')


Traceback:
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
  132.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/var/www/rhcert/application/views.py" in activity_testing
  132.     return Testing().serve(request, 'activity-testing.html', program, certID, host, time)
File "/var/www/rhcert/wsgi/testing.py" in serve
  31.         return Certification.serve(self, request, template, program, certID)
File "/var/www/rhcert/wsgi/certification.py" in serve
  38.         return Product.serve(self, request, template, vendorID, productID)
File "/var/www/rhcert/wsgi/product.py" in serve
  27.         return View.serve(self, request, template)
File "/var/www/rhcert/wsgi/view.py" in serve
  51.         result = self.view(request)
File "/var/www/rhcert/wsgi/testing.py" in view
  46.         self.initializeView(request)
File "/var/www/rhcert/wsgi/testing.py" in initializeView
  43.         self.testHost = Host(self.resultsDocument.getOS(Tags.hostname), ipAddress=self.resultsDocument.getOS(Tags.ip_address))

Exception Type: AttributeError at /certification/hardware/53/192.168.2.138/2016-12-13 09:10:55/testing/
Exception Value: 'NoneType' object has no attribute 'getOS'

Request information
GET

No GET data
POST
Variable 	Value
host 	

u''

continue 	

u''

FILES

No FILES data
COOKIES

No cookie data
META
Variable 	Value
mod_wsgi.listener_port 	

'80'

HTTP_REFERER 	

'http://192.168.2.3/certification/hardware/53/results/'

mod_wsgi.listener_host 	

''

CONTEXT_DOCUMENT_ROOT 	

'/var/www/html'

SERVER_SOFTWARE 	

'Apache/2.4.6 (Red Hat Enterprise Linux) mod_wsgi/3.4 Python/2.7.5'

SCRIPT_NAME 	

u''

mod_wsgi.enable_sendfile 	

'0'

mod_wsgi.handler_script 	

''

SERVER_SIGNATURE 	

''

REQUEST_METHOD 	

'POST'

PATH_INFO 	

u'/certification/hardware/53/192.168.2.138/2016-12-13 09:10:55/testing/'

SERVER_PROTOCOL 	

'HTTP/1.1'

QUERY_STRING 	

''

CONTENT_LENGTH 	

'15'

HTTP_USER_AGENT 	

'Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Firefox/31.0'

HTTP_CONNECTION 	

'keep-alive'

SERVER_NAME 	

'192.168.2.3'

REMOTE_ADDR 	

'192.168.2.3'

mod_wsgi.queue_start 	

'1481620718711116'

mod_wsgi.request_handler 	

'wsgi-script'

mod_wsgi.version 	

(3, 4)

wsgi.url_scheme 	

'http'

PATH_TRANSLATED 	

'/var/www/rhcert/project/wsgi.py/certification/hardware/53/192.168.2.138/2016-12-13 09:10:55/testing/'

SERVER_PORT 	

'80'

wsgi.multiprocess 	

True

mod_wsgi.input_chunked 	

'0'

SERVER_ADDR 	

'192.168.2.3'

DOCUMENT_ROOT 	

'/var/www/html'

mod_wsgi.process_group 	

''

SCRIPT_FILENAME 	

'/var/www/rhcert/project/wsgi.py'

SERVER_ADMIN 	

'root@localhost'

SCRIPT_URI 	

'http://192.168.2.3/certification/hardware/53/192.168.2.138/2016-12-13 09:10:55/testing/'

wsgi.input 	

<mod_wsgi.Input object at 0x7f8cbe7427f0>

HTTP_HOST 	

'192.168.2.3'

SCRIPT_URL 	

'/certification/hardware/53/192.168.2.138/2016-12-13 09:10:55/testing/'

wsgi.multithread 	

False

mod_wsgi.callable_object 	

'application'

REQUEST_URI 	

'/certification/hardware/53/192.168.2.138/2016-12-13%2009:10:55/testing/'

HTTP_ACCEPT 	

'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'

wsgi.version 	

(1, 0)

GATEWAY_INTERFACE 	

'CGI/1.1'

wsgi.run_once 	

False

wsgi.errors 	

<mod_wsgi.Log object at 0x7f8cbfcf6db0>

REMOTE_PORT 	

'55186'

HTTP_ACCEPT_LANGUAGE 	

'en-US,en;q=0.5'

REQUEST_SCHEME 	

'http'

CONTEXT_PREFIX 	

''

CONTENT_TYPE 	

'application/x-www-form-urlencoded'

mod_wsgi.application_group 	

''

mod_wsgi.script_reloading 	

'1'

wsgi.file_wrapper 	

''

HTTP_ACCEPT_ENCODING 	

'gzip, deflate'

UNIQUE_ID 	

'WE@87pkUZG6ll3UU45c-qAAAAAo'

Settings
Using settings module project.settings
Setting 	Value
SECURE_BROWSER_XSS_FILTER 	

False

USE_THOUSAND_SEPARATOR 	

False

CSRF_COOKIE_SECURE 	

False

LANGUAGE_CODE 	

'en-us'

ROOT_URLCONF 	

'project.urls'

MANAGERS 	

()

BASE_DIR 	

'/var/www'

SILENCED_SYSTEM_CHECKS 	

[]

DEFAULT_CHARSET 	

'utf-8'

SESSION_SERIALIZER 	

'django.contrib.sessions.serializers.JSONSerializer'

STATIC_ROOT 	

'/var/www/rhcert'

ALLOWED_HOSTS 	

[]

MESSAGE_STORAGE 	

'django.contrib.messages.storage.fallback.FallbackStorage'

EMAIL_SUBJECT_PREFIX 	

'[Django] '

SERVER_EMAIL 	

'root@localhost'

SECURE_HSTS_SECONDS 	

0

STATICFILES_FINDERS 	

('django.contrib.staticfiles.finders.FileSystemFinder',
 'django.contrib.staticfiles.finders.AppDirectoriesFinder')

SESSION_CACHE_ALIAS 	

'default'

SESSION_COOKIE_DOMAIN 	

None

SESSION_COOKIE_NAME 	

'sessionid'

TIME_INPUT_FORMATS 	

('%H:%M:%S', '%H:%M:%S.%f', '%H:%M')

SECURE_REDIRECT_EXEMPT 	

[]

DATABASES 	

{'default': {'ATOMIC_REQUESTS': False,
             'AUTOCOMMIT': True,
             'CONN_MAX_AGE': 0,
             'ENGINE': 'django.db.backends.sqlite3',
             'HOST': '',
             'NAME': '/var/www/db.sqlite3',
             'OPTIONS': {},
             'PASSWORD': u'********************',
             'PORT': '',
             'TEST': {'CHARSET': None,
                      'COLLATION': None,
                      'MIRROR': None,
                      'NAME': None},
             'TIME_ZONE': 'UTC',
             'USER': ''}}

EMAIL_SSL_KEYFILE 	

u'********************'

FILE_UPLOAD_DIRECTORY_PERMISSIONS 	

None

FILE_UPLOAD_PERMISSIONS 	

None

FILE_UPLOAD_HANDLERS 	

('django.core.files.uploadhandler.MemoryFileUploadHandler',
 'django.core.files.uploadhandler.TemporaryFileUploadHandler')

DEFAULT_CONTENT_TYPE 	

'text/html'

APPEND_SLASH 	

True

LOCALE_PATHS 	

()

DATABASE_ROUTERS 	

[]

DEFAULT_TABLESPACE 	

''

YEAR_MONTH_FORMAT 	

'F Y'

STATICFILES_STORAGE 	

'django.contrib.staticfiles.storage.StaticFilesStorage'

CACHES 	

{'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}

SESSION_COOKIE_PATH 	

'/'

SECURE_CONTENT_TYPE_NOSNIFF 	

False

MIDDLEWARE_CLASSES 	

('django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware')

USE_I18N 	

True

THOUSAND_SEPARATOR 	

','

SECRET_KEY 	

u'********************'

LANGUAGE_COOKIE_NAME 	

'django_language'

DEFAULT_INDEX_TABLESPACE 	

''

LOGGING_CONFIG 	

'logging.config.dictConfig'

TEMPLATE_LOADERS 	

('django.template.loaders.filesystem.Loader',
 'django.template.loaders.app_directories.Loader')

FIRST_DAY_OF_WEEK 	

0

WSGI_APPLICATION 	

'project.wsgi.application'

TEMPLATE_DEBUG 	

False

X_FRAME_OPTIONS 	

'SAMEORIGIN'

CSRF_COOKIE_NAME 	

'csrftoken'

FORCE_SCRIPT_NAME 	

None

USE_X_FORWARDED_HOST 	

False

EMAIL_TIMEOUT 	

None

SECURE_SSL_HOST 	

None

SIGNING_BACKEND 	

'django.core.signing.TimestampSigner'

SESSION_COOKIE_SECURE 	

False

CSRF_COOKIE_DOMAIN 	

None

FILE_CHARSET 	

'utf-8'

DEBUG 	

True

LANGUAGE_COOKIE_DOMAIN 	

None

DEFAULT_FILE_STORAGE 	

'django.core.files.storage.FileSystemStorage'

INSTALLED_APPS 	

('django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.messages',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.staticfiles',
 'application')

LANGUAGES 	

(('af', 'Afrikaans'),
 ('ar', 'Arabic'),
 ('ast', 'Asturian'),
 ('az', 'Azerbaijani'),
 ('bg', 'Bulgarian'),
 ('be', 'Belarusian'),
 ('bn', 'Bengali'),
 ('br', 'Breton'),
 ('bs', 'Bosnian'),
 ('ca', 'Catalan'),
 ('cs', 'Czech'),
 ('cy', 'Welsh'),
 ('da', 'Danish'),
 ('de', 'German'),
 ('el', 'Greek'),
 ('en', 'English'),
 ('en-au', 'Australian English'),
 ('en-gb', 'British English'),
 ('eo', 'Esperanto'),
 ('es', 'Spanish'),
 ('es-ar', 'Argentinian Spanish'),
 ('es-mx', 'Mexican Spanish'),
 ('es-ni', 'Nicaraguan Spanish'),
 ('es-ve', 'Venezuelan Spanish'),
 ('et', 'Estonian'),
 ('eu', 'Basque'),
 ('fa', 'Persian'),
 ('fi', 'Finnish'),
 ('fr', 'French'),
 ('fy', 'Frisian'),
 ('ga', 'Irish'),
 ('gl', 'Galician'),
 ('he', 'Hebrew'),
 ('hi', 'Hindi'),
 ('hr', 'Croatian'),
 ('hu', 'Hungarian'),
 ('ia', 'Interlingua'),
 ('id', 'Indonesian'),
 ('io', 'Ido'),
 ('is', 'Icelandic'),
 ('it', 'Italian'),
 ('ja', 'Japanese'),
 ('ka', 'Georgian'),
 ('kk', 'Kazakh'),
 ('km', 'Khmer'),
 ('kn', 'Kannada'),
 ('ko', 'Korean'),
 ('lb', 'Luxembourgish'),
 ('lt', 'Lithuanian'),
 ('lv', 'Latvian'),
 ('mk', 'Macedonian'),
 ('ml', 'Malayalam'),
 ('mn', 'Mongolian'),
 ('mr', 'Marathi'),
 ('my', 'Burmese'),
 ('nb', 'Norwegian Bokmal'),
 ('ne', 'Nepali'),
 ('nl', 'Dutch'),
 ('nn', 'Norwegian Nynorsk'),
 ('os', 'Ossetic'),
 ('pa', 'Punjabi'),
 ('pl', 'Polish'),
 ('pt', 'Portuguese'),
 ('pt-br', 'Brazilian Portuguese'),
 ('ro', 'Romanian'),
 ('ru', 'Russian'),
 ('sk', 'Slovak'),
 ('sl', 'Slovenian'),
 ('sq', 'Albanian'),
 ('sr', 'Serbian'),
 ('sr-latn', 'Serbian Latin'),
 ('sv', 'Swedish'),
 ('sw', 'Swahili'),
 ('ta', 'Tamil'),
 ('te', 'Telugu'),
 ('th', 'Thai'),
 ('tr', 'Turkish'),
 ('tt', 'Tatar'),
 ('udm', 'Udmurt'),
 ('uk', 'Ukrainian'),
 ('ur', 'Urdu'),
 ('vi', 'Vietnamese'),
 ('zh-cn', 'Simplified Chinese'),
 ('zh-hans', 'Simplified Chinese'),
 ('zh-hant', 'Traditional Chinese'),
 ('zh-tw', 'Traditional Chinese'))

USE_L10N 	

True

SECURE_HSTS_INCLUDE_SUBDOMAINS 	

False

STATICFILES_DIRS 	

()

PREPEND_WWW 	

False

SECURE_PROXY_SSL_HEADER 	

None

LANGUAGE_COOKIE_AGE 	

None

SESSION_COOKIE_HTTPONLY 	

True

DEBUG_PROPAGATE_EXCEPTIONS 	

False

CSRF_COOKIE_AGE 	

31449600

MONTH_DAY_FORMAT 	

'F j'

LOGIN_URL 	

'/accounts/login/'

SESSION_EXPIRE_AT_BROWSER_CLOSE 	

False

TIME_FORMAT 	

'P'

AUTH_USER_MODEL 	

'auth.User'

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')

AUTHENTICATION_BACKENDS 	

('django.contrib.auth.backends.ModelBackend',)

EMAIL_HOST_PASSWORD 	

u'********************'

PASSWORD_RESET_TIMEOUT_DAYS 	

u'********************'

SESSION_FILE_PATH 	

None

CACHE_MIDDLEWARE_ALIAS 	

'default'

SESSION_SAVE_EVERY_REQUEST 	

False

NUMBER_GROUPING 	

0

SESSION_ENGINE 	

'django.contrib.sessions.backends.signed_cookies'

CSRF_FAILURE_VIEW 	

'django.views.csrf.csrf_failure'

CSRF_COOKIE_PATH 	

'/'

LOGIN_REDIRECT_URL 	

'/accounts/profile/'

DECIMAL_SEPARATOR 	

'.'

IGNORABLE_404_URLS 	

()

MIGRATION_MODULES 	

{}

TEMPLATE_STRING_IF_INVALID 	

''

LOGOUT_URL 	

'/accounts/logout/'

EMAIL_USE_TLS 	

False

FIXTURE_DIRS 	

()

EMAIL_HOST 	

'localhost'

DATE_FORMAT 	

'N j, Y'

MEDIA_ROOT 	

''

DEFAULT_EXCEPTION_REPORTER_FILTER 	

'django.views.debug.SafeExceptionReporterFilter'

ADMINS 	

()

FORMAT_MODULE_PATH 	

None

DEFAULT_FROM_EMAIL 	

'webmaster@localhost'

MEDIA_URL 	

''

DATETIME_FORMAT 	

'N j, Y, P'

TEMPLATE_DIRS 	

()

DISALLOWED_USER_AGENTS 	

()

ALLOWED_INCLUDE_ROOTS 	

()

LOGGING 	

{}

SHORT_DATE_FORMAT 	

'm/d/Y'

TEMPLATES 	

[{'APP_DIRS': True,
  'BACKEND': 'django.template.backends.django.DjangoTemplates',
  'DIRS': ['/var/www/rhcert/templates'],
  'OPTIONS': {'context_processors': ['wsgi.labels.getLabelsDictionary',
                                     'django.template.context_processors.debug',
                                     'django.template.context_processors.request',
                                     'django.contrib.auth.context_processors.auth',
                                     'django.contrib.messages.context_processors.messages']}}]

TEST_RUNNER 	

'django.test.runner.DiscoverRunner'

CACHE_MIDDLEWARE_KEY_PREFIX 	

u'********************'

SECURE_SSL_REDIRECT 	

False

TIME_ZONE 	

'UTC'

FILE_UPLOAD_MAX_MEMORY_SIZE 	

2621440

EMAIL_BACKEND 	

'django.core.mail.backends.smtp.EmailBackend'

EMAIL_USE_SSL 	

False

TEMPLATE_CONTEXT_PROCESSORS 	

('django.contrib.auth.context_processors.auth',
 'django.template.context_processors.debug',
 'django.template.context_processors.i18n',
 'django.template.context_processors.media',
 'django.template.context_processors.static',
 'django.template.context_processors.tz',
 'django.contrib.messages.context_processors.messages')

SESSION_COOKIE_AGE 	

1209600

SETTINGS_MODULE 	

'project.settings'

USE_ETAGS 	

False

LANGUAGES_BIDI 	

('he', 'ar', 'fa', 'ur')

FILE_UPLOAD_TEMP_DIR 	

None

INTERNAL_IPS 	

()

STATIC_URL 	

'/rhcert/'

EMAIL_PORT 	

25

USE_TZ 	

True

SHORT_DATETIME_FORMAT 	

'm/d/Y P'

TEST_NON_SERIALIZED_APPS 	

[]

PASSWORD_HASHERS 	

u'********************'

ABSOLUTE_URL_OVERRIDES 	

{}

LANGUAGE_COOKIE_PATH 	

'/'

CACHE_MIDDLEWARE_SECONDS 	

600

EMAIL_SSL_CERTFILE 	

None

CSRF_COOKIE_HTTPONLY 	

False

DATETIME_INPUT_FORMATS 	

('%Y-%m-%d %H:%M:%S',
 '%Y-%m-%d %H:%M:%S.%f',
 '%Y-%m-%d %H:%M',
 '%Y-%m-%d',
 '%m/%d/%Y %H:%M:%S',
 '%m/%d/%Y %H:%M:%S.%f',
 '%m/%d/%Y %H:%M',
 '%m/%d/%Y',
 '%m/%d/%y %H:%M:%S',
 '%m/%d/%y %H:%M:%S.%f',
 '%m/%d/%y %H:%M',
 '%m/%d/%y')

EMAIL_HOST_USER 	

''

Expected results:
The webpage to select tests should appear.

Additional info:
Tried twice on a dual processor machine, both times the error was reproducible.

After doing the kdump test and the reboot of the SUT the rhcert-listener was not running and was started manually. There is a BZ for this not running listerner filed by me a while ago. 

I continue testing the same procedure on another machine now.

Comment 1 Rainer Koenig 2016-12-13 09:29:53 UTC
Link to the bug with the not running rhcert-listener daemon:
https://bugzilla.redhat.com/show_bug.cgi?id=1395617

Comment 2 Rainer Koenig 2016-12-13 12:18:22 UTC
Tried to reproduce this on another machine. Had difficulties to get the kdump nfs running, but didn't see the problem. Now I'm back on the machine that initially showed the problem. Difference to before: I turned of one of the NICs so the SUT now has just one network card. Problem does not occur now. Can it be that we have problems, when the SUT has more than one NIC? 

Strange side effect: I reinstalled this SUT (with 2 active NICs from scratch, but didn't delete it in the Web-UI. When opening the Cert in the Web-UI I found two host entries, the second one with the IP address of the second NIC in the SUT, even if I didn't register that address in the UI at any time.

So from the actual perspective it looks like I can trigger this problem when the SUT has more than 1 NIC.

Comment 3 Rainer Koenig 2016-12-13 13:32:52 UTC
Tried now in the machine that worked before, but now I added a second NIC to that machine. And now the problem occurs in the same way as the initial problem. There is obviously an issue when the SUT has more than one NIC.