Personal tools

rPath Appliance Platform Agent:Troubleshooting

From rPath Wiki

Jump to: navigation, search
rPath Appliance Platform --> Agent --> Troubleshooting

Contents

When using rPath Appliance Platform Agent (rAPA) and developing rAPA plugins, errors are displayed by the different technologies used in the process. Use the following as a guide to troubleshooting error messages received.

Errors from Bad Input Data

When a process receives bad input data, the process does not always report and exception. The following exceptions are, however, reported in the Python dictionary returned as the value in the errors key:

  • saveConfig -- If backup location is not mountable, an error is reported
  • download -- OSError errors may be reported if the file to download is not readable
  • restore -- If restore ID cannot be found, an error is reported

Programming Exceptions

The exceptions shown in the table below indicate a programming error in rAPA, an environment runtime error (such as the SQLite database not being available), or a filesystem error. These exceptions are unlikely to be raised only by input passed into the XML-RPC calls.

XML-RPC API Call Exception Name Detailed Location Condition(s)
getBackupList SQL database exceptions (see table)
ValueError simplejson/decoder.py unexpected extra data in json encoding
index SQL database exceptions (see table)
ValueError simplejson/decoder.py unexpected extra data in json encoding
  cherrypy.HTTPRedirect  
saveConfig SQL database exceptions (see table)
AssertionError backup.py:def setRepeatingSchedule checkFreq param is not one of ['daily', 'weekly', 'monthly'] (case insens)
timeHour param is not in range(0, 24)
timeDay param is not in range(0, 7)
timeDayMonth param is not in range(1,29)
raa.rpath_error.DuplicateItem backup.py:def setRepeatingSchedule multiple column specified on insert
config SQL database exceptions (see table)
AssertionError backup.py: def _getConfig more than one repeating schedule for the backup task present
download SQL database exceptions (see table)
  cherrypy.HTTPRedirect  
upload SQL database exceptions (see table)
IOError, OSError tempfile.py:def mkstemp error in creation of temp file used for temporary location for upload file
backupNow SQL database exceptions (see table)
restore SQL database exceptions (see table)
getJobData SQL database exceptions (see table)
DuplicateItem backup.py:class BackupJobsTable:def getJobData Multiple backup jobs specified by the same schedule ID
ValueError raa/db/data.py:class GenericDataTable:def getDataDict
simplejson/decoder.py
unexpected extra data in json encoding
KeyError   no modulepath key in cherrypy.config.configMap
getSettings SQL database exceptions (see table)
ValueError raa/db/data.py:class GenericDataTable:def getDataDict
simplejson/decoder.py
unexpected extra data in json encoding
getBackupProperties SQL database exceptions (see table)
ValueError raa/db/data.py:class GenericDataTable:def getDataDict
simplejson/decoder.py
unexpected extra data in json encoding
setAvailableBackups SQL database exceptions (see table)
AssertionError raa/db/data.py:class GenericDataTable:def
setDataValueTemplated
name key not in template dict
saveBackupProperties SQL database exceptions (see table)
AssertionError raa/db/data.py:class GenericDataTable:def
setDataValueTemplated
name key not in template dict
ValueError raa/db/data.py:class GenericDataTable:def getDataDict
simplejson/decoder.py
unexpected extra data in json encoding
saveBackup SQL database exceptions (see table)
AssertionError raa/db/data.py:class GenericDataTable:def
setDataValueTemplated
name key not in template dict
ValueError raa/db/data.py:class GenericDataTable:def getDataDict
simplejson/decoder.py
unexpected extra data in json encoding

SQL Database Exceptions

The following are the SQL database exceptions affecting the XML-RPC calls listed in the table above.

Exception Name Detailed Location Condition(s)
AssertionError conary/dbstore/base_drv.py:class BaseCursor:def _executeCheck no sql passed in to execute.
no db handle.
no db cursor.
AssertionError conary/dbstore/base_drv.py:class BaseCursor:def _executeArgs sql arguments are not in a tuple and/or dict
conary.sqlerrors.ColumnNotUnique conary/dbstore/sqlite_drv.py:class Cursor:def _tryExecute columns specified are not unique
conary.sqlerrors.ReadOnlyDatabase conary/dbstore/sqlite_drv.py:class Cursor:def _tryExecute tried to write to a read-only database
conary.sqlerrors.CursorError conary/dbstore/sqlite_drv.py:class Cursor:def _tryExecute sqlite3 programming error
conary.sqlerrors.DuplicateColumnName conary/dbstore/sqlite_drv.py:class Cursor:def _tryExecute  
conary.sqlerrors.DatabaseLocked conary/dbstore/sqlite_drv.py:class Cursor:def _tryExecute  
conary.sqlerrors.InvalidTable conary/dbstore/sqlite_drv.py:class Cursor:def _tryExecute  
conary.sqlerrors.CursorError conary/dbstore/sqlite_drv.py:class Cursor:def execute sqlite3 programming error
conary.sqlite3.InternalError conary/dbstore/sqlite_drv.py:class Cursor:def execute internal database error