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]

Reply via email to