def __check_pxf_hdfs_write(self): """ Writes some test HDFS data through PXF """ Logger.info("Testing PXF HDFS write") headers = self.commonPXFHeaders.copy() headers.update({ "X-GP-Profile" : "HdfsTextSimple", "Content-Type":"application/octet-stream", "Expect": "100-continue", "X-GP-ALIGNMENT": "4", "X-GP-SEGMENT-ID": "0", "X-GP-SEGMENT-COUNT": "3", "X-GP-URI": "pxf://" + pxf_constants.service_check_hostname + ":" + str(pxf_constants.PXF_PORT) + pxf_constants.pxf_hdfs_test_dir + "/?Profile=HdfsTextSimple", "X-GP-DATA-DIR": pxf_constants.pxf_hdfs_test_dir + "/" }) body = {"Sample" : " text"} url = self.base_url + self.pxf_version + "/Writable/stream?path=" + pxf_constants.pxf_hdfs_write_test_file try: response = makeHTTPCall(url, headers, body) if not "wrote" in response: error_msg = "PXF HDFS data write: Could not find write in response : \nurl = {0} \nresponse = {1}".format(url, response) raise Fail(error_msg) except: error_msg = "PXF HDFS data write test failed with url= {0}".format(url) raise Fail(error_msg)
def __check_pxf_read(self, headers): """ Performs a generic PXF read """ url = self.base_url + self.pxf_version + "/Fragmenter/getFragments?path=" try: response = makeHTTPCall(url, headers) if not "PXFFragments" in response: Logger.error("Unable to find PXFFragments in the response. Response received from the server:\n{0}".format(response)) raise except Exception, ex: raise Fail("PXF data read failed: {0}".format(ex))
def __check_pxf_read(self, headers): """ Performs a generic PXF read """ url = self.base_url + self.pxf_version + "/Fragmenter/getFragments?path=" try: response = makeHTTPCall(url, headers) if not "PXFFragments" in response: Logger.error("Unable to find PXFFragments in the response") raise except: msg = "PXF data read failed" Logger.error(msg) raise Fail(msg)
def __get_pxf_protocol_version(self): """ Gets the pxf protocol version number """ Logger.info("Fetching PXF protocol version") url = self.base_url + "ProtocolVersion" response = makeHTTPCall(url) Logger.info(response) # Sample response: 'PXF protocol version v14' if response: import re # Extract the v14 from the output match = re.search('.*(v\d*).*', response) if match: return match.group(1) msg = "Unable to determine PXF version" Logger.error(msg) raise Fail(msg)
def __get_pxf_protocol_version(self): """ Gets the pxf protocol version number """ Logger.info("Fetching PXF protocol version") url = self.base_url + "ProtocolVersion" response = makeHTTPCall(url) Logger.info(response) # Sample response: 'PXF protocol version v14' if not response: error_msg = "Fetch PXF version: Could not get response from \nurl = {0}".format(url) Logger.error(error_msg) import re # Extract the v14 from the output match = re.search('.*(v\d*).*', response) if match: return match.group(1) error_msg = "Fetch PXF Version: Could not find version in \nresponse ={0} \nurl = {1}".format(response, url) Logger.error(error_msg)