Beispiel #1
0
    def remote_fds_metadata(self):
        """
        Metadata about file descriptors to be passed to container side
        """
        input_fd_metadata = FDMetadata(
            sbus_fd.SBUS_FD_INPUT_OBJECT,
            storage_metadata=self.srequest.user_metadata)
        if self.srequest.user_metadata:
            input_fd_metadata.storage_metadata.update(
                self.srequest.user_metadata)
        if self.srequest.has_range:
            input_fd_metadata.storlets_metadata['start'] = \
                str(self.srequest.start)
            input_fd_metadata.storlets_metadata['end'] = \
                str(self.srequest.end)
        fds_metadata = [
            input_fd_metadata.to_dict(),
            FDMetadata(sbus_fd.SBUS_FD_OUTPUT_TASK_ID).to_dict(),
            FDMetadata(sbus_fd.SBUS_FD_OUTPUT_OBJECT).to_dict(),
            FDMetadata(sbus_fd.SBUS_FD_OUTPUT_OBJECT_METADATA).to_dict(),
            FDMetadata(sbus_fd.SBUS_FD_LOGGER).to_dict()]

        for source in self.extra_data_sources:
            fdmd = FDMetadata(
                sbus_fd.SBUS_FD_INPUT_OBJECT,
                storage_metadata=source['user_metadata'])
            fds_metadata.append(fdmd.to_dict())
        return fds_metadata
Beispiel #2
0
    def remote_fds_metadata(self):
        """
        Metadata about file descriptors to be passed to container side
        """
        input_fd_metadata = FDMetadata(
            sbus_fd.SBUS_FD_INPUT_OBJECT,
            storage_metadata=self.srequest.user_metadata)
        if self.srequest.user_metadata:
            input_fd_metadata.storage_metadata.update(
                self.srequest.user_metadata)
        if self.srequest.has_range:
            input_fd_metadata.storlets_metadata['start'] = \
                str(self.srequest.start)
            input_fd_metadata.storlets_metadata['end'] = \
                str(self.srequest.end)
        fds_metadata = [
            input_fd_metadata.to_dict(),
            FDMetadata(sbus_fd.SBUS_FD_OUTPUT_TASK_ID).to_dict(),
            FDMetadata(sbus_fd.SBUS_FD_OUTPUT_OBJECT).to_dict(),
            FDMetadata(sbus_fd.SBUS_FD_OUTPUT_OBJECT_METADATA).to_dict(),
            FDMetadata(sbus_fd.SBUS_FD_LOGGER).to_dict()]

        for source in self.extra_data_sources:
            fdmd = FDMetadata(
                sbus_fd.SBUS_FD_INPUT_OBJECT,
                storage_metadata=source['user_metadata'])
            fds_metadata.append(fdmd.to_dict())
        return fds_metadata
Beispiel #3
0
 def test_to_dict(self):
     md = FDMetadata('MYTYPE', {'storlets_key': 'storlets_value'},
                     {'storage_key': 'storage_value'})
     self.assertEqual({'storlets': {'type': 'MYTYPE',
                                    'storlets_key': 'storlets_value'},
                       'storage': {'storage_key': 'storage_value'}},
                      md.to_dict())
Beispiel #4
0
 def test_to_dict(self):
     md = FDMetadata('MYTYPE', {'storlets_key': 'storlets_value'},
                     {'storage_key': 'storage_value'})
     self.assertEqual(
         {
             'storlets': {
                 'type': 'MYTYPE',
                 'storlets_key': 'storlets_value'
             },
             'storage': {
                 'storage_key': 'storage_value'
             }
         }, md.to_dict())