Select Git revision
FunctionalTestsCsminit.cpp
-
Jesse Mapel authored
* copylab * Initial work toward a working AbstractBundleObservation class * Fix accidentl add of temporary changes from another project * Trial 2 on fixing my accidental changes * csm bundle building properly (#4409) * Updates for linking and compiling * Starting virtual functions * Add virtuals to AbstractBundleObservation and get compiling again * Remove function from parent * Get jigsaw tests passing on csmbundle branch (#4413) * Add virtuals to AbstractBundleObservation and get compiling again * Remove function from parent * Get existing jigsaw tests passing * Remove unneeded functions from BundleObservation * Clean up a bit more * Clean up BundleObservation and AbstractBundleObservation more * Remove unneeded BodyRotation * Add target body solve back into bundle adjusment calc * Remove debug output * Removed unneeded memeber variables BundleObservation Co-authored-by:
Kristin Berry <kberry@gyro.wr.usgs.gov> * Move some functions to pure virtual * Csmobservation (#4419) * Now compiling * Updated CSMCamera tests and docs * Remove duplicated member variables and accesor functions from BundleObservation and add Csm camera type to Camera enum * Remove commented-out code * Added required headers from removed ground map header (#4427) * last missing header (#4428) * Moved CSM settings into BOSS * Generates Serial Numbers using CSM label information (#4437) * Creates Serial Numbers using CSM label information * Updated second SerialNumberList:add function to accommodate CSM label * Add hooks for csm bundle settings to jigsaw (#4438) * In progress * Added tests and Pvl support * Add missing 'y' to docs Co-authored-by:
Kristin Berry <kberry@usgs.gov> * Moves partial calculation into CSM and ISIS observation classes. (#4436) * Remove duplicated member variables and accesor functions from BundleObservation and add Csm camera type to Camera enum * Remove commented-out code * Imagecoeff migrated into BundleObservation class working * Get base level working for all coeffs in ISIS * Fix accidental move into if statement to get tests passing again * Updated RHS for CsmBundleObservation to work * Adds point3D support to CSM Camera observations and also adds ground Partials member function to CSMCamera * Draft of sensor partials code * Add docs, some fixes based on review requests * move computation of weights and observation values to bundle observations * Add observationvalue function to CsmBundleObservation and move the weighting that it is possible to to the observation classes * Make CSMSolveSet an optional parameter to get jigsaw tests passing again * cleanup * Move observation weights into MLE if block Co-authored-by:
Kristin Berry <kberry@gyro.wr.usgs.gov> * Implemented bundleOutputString for CSM (#4444) * Added test for CSM bundleOutputString * Passing unit test and updates to bundleOutputString * Addressed PR feedback * Csmcsv (#4446) * CSM CSV output * Small test clean-up * typo fix * obs header fix * Remove param list from bo * Added debug output * Now reurning * Fixed unit test * xml save test update * Clean up bundleresults unit test output * Fixed qfile member * Fixed old path * Changed header to use param names * Making separate csvs * Added reverse on obs by instId * Trying to fix multiple sensors * Fixed images header * More debug * removed debug outs * Added terrible imageindex search * Added held config fix * Updated for observation test * Updated jigsaw test makefiles * Updated with new tests * Updates Bundle Observation Vector to support Csm observations. (#4457) * Remove duplicated member variables and accesor functions from BundleObservation and add Csm camera type to Camera enum * Remove commented-out code * Imagecoeff migrated into BundleObservation class working * Get base level working for all coeffs in ISIS * Fix accidental move into if statement to get tests passing again * Updated RHS for CsmBundleObservation to work * Adds point3D support to CSM Camera observations and also adds ground Partials member function to CSMCamera * Draft of sensor partials code * Add docs, some fixes based on review requests * move computation of weights and observation values to bundle observations * Add observationvalue function to CsmBundleObservation and move the weighting that it is possible to to the observation classes * Make CSMSolveSet an optional parameter to get jigsaw tests passing again * cleanup * Move observation weights into MLE if block * Added isis vs. csm support to Bundle Observation Vector class to allow jigsaw to proceed past the setup stage for csm networks * Comment cleanup * Fix failing unit tests * Add docs * Updated based on feedback with potentially temporary fix to get unit tests passing * Update tests a bit * Aligned signature definitions and cleaned up * remove unneeded functions * More comment cleanup Co-authored-by:
Kristin Berry <kberry@gyro.wr.usgs.gov> * Jigsaw Test Conversions (sccconfig, scconfigHeld, radar) (#4463) * Converted jigsaw scconfig tests. * Added jigsaw radar test * Updated tests to reflect PR #4446 changes & removed makefile tests * Updates to scconfig tests * Gets csm bundle converging (#4464) * Added cam type checks * checking csm partials * Debug partials * debug corrections * Fixed index * Scaled ground partials * Updated param comparison * Removed debug out * Fixes spacing issue in CSM bundleout.txt (#4465) * Update csm bundlout to have correct spacing for paramter names * Reverted unintential change Co-authored-by:
Kristin Berry <kberry@gyro.wr.usgs.gov> * Removed unit-test specific changes I made to the code instead of the unit test * Add latitudinal partials for CSM (#4468) * Add latitudinal partials for CSM * Added test Co-authored-by:
Jesse Mapel <jmapel@usgs.gov> * Csm clean up (#4483) * Added cms index list error * Added CSMCameraTests for partials * Observation clean-up * Cleaned up vector * Rename BundleObservation classes (#4518) * rename BundleObservation classes * omit changes to sip wrappers * Adds more capabilities to TestCsmModel (#4527) * Updated to get new isd/state form to test jigsaw parsing * Add functional image-to-ground, ground-to-image, and isd-parsing to TestCsmModel * Remove temporary csminit test changes * Updated variable name for clarity * add csm info to app docs for csminit and jigsaw * Csmbundle - remove SIP wrappers and deprecated formatBundleOutputString (#4526) * remove sip wrappers * remove deprecated formatBundleOutputString * remove more sip code and formatBundleOutputString * Fix functional tests to work with updated TestCsmModel (#4534) * Tests + test data for CSM jigsaw (#4530) * Removed debug couts * Added csmnetwork test fixture * Added a test for CSM test network * Adjusted trig functions + added deg/rad conversions * Initial CSMNetwork data * Uncommented code * Removed network path and control network from CSMNetwork fixture * Removed temporary path from csv comparison * Adjusted spacing + responded to PR feedback Co-authored-by:
Austin Sanders <arsanders@ugs.gov> * Added the ability to update CSM model state in jigsaw (#4529) * Added the ability to update CSM model state in jigsaw * Added missing function docs * Updated CSM jigsaw test to check apply * Wrangled up an F * Added changelog entry * General clean-up * Changed Camera local photometric calculations to not use bodyrotation * Changed csm camera to save look on non-intersection * Fixed docs typos Co-authored-by:
Kristin Berry <kberry@gyro.wr.usgs.gov> Co-authored-by:
Kristin Berry <kberry@usgs.gov> Co-authored-by:
Amy Stamile <74275278+amystamile-usgs@users.noreply.github.com> Co-authored-by:
Tim Giroux <62255438+tgiroux@users.noreply.github.com> Co-authored-by:
Tim Giroux <tgiroux@contractor.usgs.gov> Co-authored-by:
AustinSanders <arsanders@usgs.gov> Co-authored-by:
Austin Sanders <arsanders@ugs.gov>
Jesse Mapel authored* copylab * Initial work toward a working AbstractBundleObservation class * Fix accidentl add of temporary changes from another project * Trial 2 on fixing my accidental changes * csm bundle building properly (#4409) * Updates for linking and compiling * Starting virtual functions * Add virtuals to AbstractBundleObservation and get compiling again * Remove function from parent * Get jigsaw tests passing on csmbundle branch (#4413) * Add virtuals to AbstractBundleObservation and get compiling again * Remove function from parent * Get existing jigsaw tests passing * Remove unneeded functions from BundleObservation * Clean up a bit more * Clean up BundleObservation and AbstractBundleObservation more * Remove unneeded BodyRotation * Add target body solve back into bundle adjusment calc * Remove debug output * Removed unneeded memeber variables BundleObservation Co-authored-by:
Kristin Berry <kberry@gyro.wr.usgs.gov> * Move some functions to pure virtual * Csmobservation (#4419) * Now compiling * Updated CSMCamera tests and docs * Remove duplicated member variables and accesor functions from BundleObservation and add Csm camera type to Camera enum * Remove commented-out code * Added required headers from removed ground map header (#4427) * last missing header (#4428) * Moved CSM settings into BOSS * Generates Serial Numbers using CSM label information (#4437) * Creates Serial Numbers using CSM label information * Updated second SerialNumberList:add function to accommodate CSM label * Add hooks for csm bundle settings to jigsaw (#4438) * In progress * Added tests and Pvl support * Add missing 'y' to docs Co-authored-by:
Kristin Berry <kberry@usgs.gov> * Moves partial calculation into CSM and ISIS observation classes. (#4436) * Remove duplicated member variables and accesor functions from BundleObservation and add Csm camera type to Camera enum * Remove commented-out code * Imagecoeff migrated into BundleObservation class working * Get base level working for all coeffs in ISIS * Fix accidental move into if statement to get tests passing again * Updated RHS for CsmBundleObservation to work * Adds point3D support to CSM Camera observations and also adds ground Partials member function to CSMCamera * Draft of sensor partials code * Add docs, some fixes based on review requests * move computation of weights and observation values to bundle observations * Add observationvalue function to CsmBundleObservation and move the weighting that it is possible to to the observation classes * Make CSMSolveSet an optional parameter to get jigsaw tests passing again * cleanup * Move observation weights into MLE if block Co-authored-by:
Kristin Berry <kberry@gyro.wr.usgs.gov> * Implemented bundleOutputString for CSM (#4444) * Added test for CSM bundleOutputString * Passing unit test and updates to bundleOutputString * Addressed PR feedback * Csmcsv (#4446) * CSM CSV output * Small test clean-up * typo fix * obs header fix * Remove param list from bo * Added debug output * Now reurning * Fixed unit test * xml save test update * Clean up bundleresults unit test output * Fixed qfile member * Fixed old path * Changed header to use param names * Making separate csvs * Added reverse on obs by instId * Trying to fix multiple sensors * Fixed images header * More debug * removed debug outs * Added terrible imageindex search * Added held config fix * Updated for observation test * Updated jigsaw test makefiles * Updated with new tests * Updates Bundle Observation Vector to support Csm observations. (#4457) * Remove duplicated member variables and accesor functions from BundleObservation and add Csm camera type to Camera enum * Remove commented-out code * Imagecoeff migrated into BundleObservation class working * Get base level working for all coeffs in ISIS * Fix accidental move into if statement to get tests passing again * Updated RHS for CsmBundleObservation to work * Adds point3D support to CSM Camera observations and also adds ground Partials member function to CSMCamera * Draft of sensor partials code * Add docs, some fixes based on review requests * move computation of weights and observation values to bundle observations * Add observationvalue function to CsmBundleObservation and move the weighting that it is possible to to the observation classes * Make CSMSolveSet an optional parameter to get jigsaw tests passing again * cleanup * Move observation weights into MLE if block * Added isis vs. csm support to Bundle Observation Vector class to allow jigsaw to proceed past the setup stage for csm networks * Comment cleanup * Fix failing unit tests * Add docs * Updated based on feedback with potentially temporary fix to get unit tests passing * Update tests a bit * Aligned signature definitions and cleaned up * remove unneeded functions * More comment cleanup Co-authored-by:
Kristin Berry <kberry@gyro.wr.usgs.gov> * Jigsaw Test Conversions (sccconfig, scconfigHeld, radar) (#4463) * Converted jigsaw scconfig tests. * Added jigsaw radar test * Updated tests to reflect PR #4446 changes & removed makefile tests * Updates to scconfig tests * Gets csm bundle converging (#4464) * Added cam type checks * checking csm partials * Debug partials * debug corrections * Fixed index * Scaled ground partials * Updated param comparison * Removed debug out * Fixes spacing issue in CSM bundleout.txt (#4465) * Update csm bundlout to have correct spacing for paramter names * Reverted unintential change Co-authored-by:
Kristin Berry <kberry@gyro.wr.usgs.gov> * Removed unit-test specific changes I made to the code instead of the unit test * Add latitudinal partials for CSM (#4468) * Add latitudinal partials for CSM * Added test Co-authored-by:
Jesse Mapel <jmapel@usgs.gov> * Csm clean up (#4483) * Added cms index list error * Added CSMCameraTests for partials * Observation clean-up * Cleaned up vector * Rename BundleObservation classes (#4518) * rename BundleObservation classes * omit changes to sip wrappers * Adds more capabilities to TestCsmModel (#4527) * Updated to get new isd/state form to test jigsaw parsing * Add functional image-to-ground, ground-to-image, and isd-parsing to TestCsmModel * Remove temporary csminit test changes * Updated variable name for clarity * add csm info to app docs for csminit and jigsaw * Csmbundle - remove SIP wrappers and deprecated formatBundleOutputString (#4526) * remove sip wrappers * remove deprecated formatBundleOutputString * remove more sip code and formatBundleOutputString * Fix functional tests to work with updated TestCsmModel (#4534) * Tests + test data for CSM jigsaw (#4530) * Removed debug couts * Added csmnetwork test fixture * Added a test for CSM test network * Adjusted trig functions + added deg/rad conversions * Initial CSMNetwork data * Uncommented code * Removed network path and control network from CSMNetwork fixture * Removed temporary path from csv comparison * Adjusted spacing + responded to PR feedback Co-authored-by:
Austin Sanders <arsanders@ugs.gov> * Added the ability to update CSM model state in jigsaw (#4529) * Added the ability to update CSM model state in jigsaw * Added missing function docs * Updated CSM jigsaw test to check apply * Wrangled up an F * Added changelog entry * General clean-up * Changed Camera local photometric calculations to not use bodyrotation * Changed csm camera to save look on non-intersection * Fixed docs typos Co-authored-by:
Kristin Berry <kberry@gyro.wr.usgs.gov> Co-authored-by:
Kristin Berry <kberry@usgs.gov> Co-authored-by:
Amy Stamile <74275278+amystamile-usgs@users.noreply.github.com> Co-authored-by:
Tim Giroux <62255438+tgiroux@users.noreply.github.com> Co-authored-by:
Tim Giroux <tgiroux@contractor.usgs.gov> Co-authored-by:
AustinSanders <arsanders@usgs.gov> Co-authored-by:
Austin Sanders <arsanders@ugs.gov>
storage_rpc_server.py 5.80 KiB
#!/usr/bin/env python
import logging
import os
from redis_log_handler import RedisLogHandler
from redis_rpc_server import RedisRPCServer
from config import Config
from db_connector import DbConnector
class StorageRPCServer(RedisRPCServer):
def __init__(self, host, port, db, rpcQueue):
self.type = "storage"
config = Config("/etc/vos_ts/vos_ts.conf")
params = config.loadSection("file_catalog")
self.dbConn = DbConnector(params["user"],
params["password"],
params["host"],
params.getint("port"),
params["db"],
1,
2)
params = config.loadSection("logging")
self.logger = logging.getLogger(__name__)
logLevel = "logging." + params["log_level"]
logFormat = params["log_format"]
logFormatter = logging.Formatter(logFormat)
self.logger.setLevel(eval(logLevel))
redisLogHandler = RedisLogHandler()
#logStreamHandler = logging.StreamHandler()
#logStreamHandler.setFormatter(logFormatter)
redisLogHandler.setFormatter(logFormatter)
self.logger.addHandler(redisLogHandler)
#self.logger.addHandler(logStreamHandler)
super(StorageRPCServer, self).__init__(host, port, db, rpcQueue)
def callback(self, requestBody):
# 'requestType' attribute is mandatory
if "requestType" not in requestBody:
errorMsg = "Malformed request, missing parameters."
response = { "responseType": "ERROR",
"errorCode": 1,
"errorMsg": errorMsg }
elif requestBody["requestType"] == "STORAGE_ADD":
storageType = requestBody["storageType"]
storageBasePath = requestBody["basePath"]
storageBaseUrl = requestBody["baseUrl"]
storageHostname = requestBody["hostname"]
if storageType != "portal":
if not os.path.exists(storageBasePath):
errorMsg = "Base path doesn't exist."
self.logger.error(errorMsg)
response = { "responseType": "ERROR",
"errorCode": 3,
"errorMsg": errorMsg }
return response
try:
result = self.dbConn.insertStorage(storageType,
storageBasePath,
storageBaseUrl,
storageHostname)
except Exception:
errorMsg = "Database error."
self.logger.exception(errorMsg)
response = { "responseType": "ERROR",
"errorCode": 2,
"errorMsg": errorMsg }
return response
else:
if result:
response = { "responseType": "STORAGE_ADD_DONE" }
else:
errorMsg = "Storage point already exists."
self.logger.error(errorMsg)
response = { "responseType": "ERROR",
"errorCode": 4,
"errorMsg": errorMsg }
elif requestBody["requestType"] == "STORAGE_DEL_REQ":
try:
result = self.dbConn.getStorageList()
except Exception:
errorMsg = "Database error."
self.logger.exception(errorMsg)
response = { "responseType": "ERROR",
"errorCode": 2,
"errorMsg": errorMsg }
return response
else:
response = { "responseType": "STORAGE_DEL_ACK",
"storageList": result }
elif requestBody["requestType"] == "STORAGE_DEL_CON":
storageId = requestBody["storageId"]
try:
result = self.dbConn.deleteStorage(storageId)
except Exception:
errorMsg = "Database error."
self.logger.exception(errorMsg)
response = { "responseType": "ERROR",
"errorCode": 2,
"errorMsg": errorMsg }
return response
else:
if result:
response = { "responseType": "STORAGE_DEL_DONE" }
else:
errorMsg = "This storage location contains some VOSpace nodes. Please, move those nodes to another location."
self.logger.error(errorMsg)
response = { "responseType": "ERROR",
"errorCode": 5,
"errorMsg": errorMsg }
elif requestBody["requestType"] == "STORAGE_LST":
try:
result = self.dbConn.getStorageList()
except Exception:
errorMsg = "Database error."
self.logger.exception(errorMsg)
response = { "responseType": "ERROR",
"errorCode": 2,
"errorMsg": errorMsg }
return response
else:
response = { "responseType": "STORAGE_LST_DONE",
"storageList": result }
else:
errorMsg = "Unkown request type."
self.logger.error(errorMsg)
response = { "responseType": "ERROR",
"errorCode": 6,
"errorMsg": errorMsg }
return response
def run(self):
self.logger.info(f"Starting RPC server of type {self.type}...")
super(StorageRPCServer, self).run()