Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactoring and fixing issues with job requests types #277

Conversation

robertbartel
Copy link
Contributor

  • Refactor RequestedJob init
  • Fix bugs in init of AbstractInitRequest and DmodJobRequest types
  • Update SchedulerRequestMessage to extend DmodJobRequest
  • Update create_job in JobManager interface and implementations to expect a DmodJobRequest

The branch for this PR is based on the branch in #276; as such, that PR blocks this one.

Fixing logic where pip installs the updated packages (to avoid the
entire image rebuild), so make sure deps are ignored (as this was the
slow part).
Adding type GET_SERIALIZED_FORM to get the entire serialized state of
a dataset.
Refactor to ensure it takes advantage of connection handling via its
async context manager logic.
Add new function to get serialized dataset details to
DatasetExternalClient.
Fix issue with not acquiring a session, and wrapping some things in try
block to catch and log exceptions.
Fixing bug in response to LIST_FILES query, where reason text was not
being assembled entirely correctly.
Adding optional offset and length params to abstract interface
definition of get_data, and adding get_file_stat abstract method.
Adding support for querying about dataset items.
Updating to support indicating start and size of data for partial
transfers.
Optimizing the reloading of datasets on object store manager startup.
Accounting for changes to get_data parameters and implementing
get_file_stat.
Updating service to respond to GET_DATASET_ITEMS queries and requests
for data with an offset start (i.e. partials).
Adding initial second view display and manage existing datasets, along
with navigation functionality to toggle between "manage" and "create"
views.
Sending serialized datasets to HTML template as list/array rather than
dict/map.
Implementing layout and initial details-viewing behavior for dataset
management GUI view.
Fixing argument handling for those args related to communicating with
evaluation service, including the dest name for args, defaults, and use
when creating main service handler class.
Fixing imports, class usage, and code style spacing for several things
related to evaluation requests within main request-service handler
class.
Adding DataFormat.can_format_fulfill class method to test if alternative
data format is compatible, and updating logic of DataDomain.contains
method to test and account for this type of compatibility.
Updating dmod.dataservice to depend on updated dmod.core (>=0.5.0).
Updating service manager find_dataset_for_requirement method to account
for potentially compatible alternative dataset formats and examine any
datasets having such formats if there are no matches with exactly the
specified format.
Fixing bugs in AbstractInitRequest and DmodJobRequest types, where both
the function and the nested call to the superclass function were __int__
instead of __init__.
Modifying class supertype, then updating __init__ and adding necessary
properties.
- Updating class __init__ to require params previously taken from
  (already present) job_request param to conform to standard pattern
  used in class hierarchies
- Adding convenience class method to factory create an instance with
  just the originating message, which __init__ previously did
- Updating deserialization to account for above changes
Updating interface definition and existing implementation of job manager
create_job function to have a fixed, required 'request' parameter of a
type extending DmodJobRequest.
Updating dmod.client to depend on dmod.communication>=0.11.0.
Updating dmod.requestservice to depend on dmod.communication>=0.11.0.
Update to new dmod.communication (0.11.0) and dmod.scheduler (0.10.0).
Updating to depend on new dmod.communication 0.11.0.
Updating to depend on dmod.scheduler 0.10.0.
@robertbartel
Copy link
Contributor Author

Closing; replaced by #300, which isolates the relevant changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maas MaaS Workstream
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants