yasithdev opened a new pull request, #188:
URL: https://github.com/apache/airavata-portals/pull/188
## Summary
Track D: repoint the admin-only **per-protocol job-submission /
data-movement detail** APIViews from the legacy Thrift client to the gRPC
compute/storage facades.
- `LocalJobSubmissionView`, `SshJobSubmissionView`,
`UnicoreJobSubmissionView`, `CloudJobSubmissionView` →
`compute.get_{local,ssh,unicore,cloud}_job_submission`
- `LocalDataMovementView`, `ScpDataMovementView`, `GridFtpDataMovementView`
→ `storage.get_{local,scp,grid_ftp}_data_movement`
New `grpc_adapters` map each protocol model (proto → the auto-generated
serializer's Thrift attribute shape). Enum nuances bridged by **name**:
- `SecurityProtocol` / `ResourceJobManagerType` / `ProviderName` are
prefix-aligned (`_thrift_enum_prefixed`; proto `*_UNKNOWN` → None).
- `MonitorMode` names diverge (proto `MONITOR_FORK`/`MONITOR_LOCAL` vs
Thrift `FORK`/`LOCAL`) → explicit map.
- `ResourceJobManager`'s two enum-keyed `map<int32,string>` fields
(`jobManagerCommands` keyed by `JobManagerCommand`, `parallelismPrefix` by
`ApplicationParallelismType`) bridge each key to the Thrift IntEnum member by
name (new `_enum_keyed_map` helper), so the `DictField` renders the same
enum-member keys the Thrift map produced.
### Not migrated (flagged, stay on Thrift)
- `GlobusJobSubmissionView`: the compute facade has no Globus getter and the
existing Thrift call (`getClo`) is already broken (pre-existing).
- `UnicoreDataMovementView`: the storage facade has no UNICORE data-movement
getter yet (SDK gap).
Both keep their Thrift implementation with a TODO; migrate once the
backend/SDK adds support.
## Validation
The REST/JSON contract to the frontend is unchanged. `manage.py check`
clean. For all 7 migrated models, the gRPC-adapter output rendered through the
serializer is **byte-for-byte identical** to the native-Thrift serializer
output — scalars, the divergent/prefixed enums, and the enum-keyed maps — and
unset enums/maps render as None/empty as before. (Dev has no per-protocol
interfaces seeded, so this is structural parity, matching the established
read-family validation.)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]