open-horizon / edge-sync-service

Cloud - Edge synchronization service (MMS)
Apache License 2.0
24 stars 26 forks source link

ESS should convert a single version to a range like the agbot does before evaluating if the service version is in range #70

Closed dlarson04 closed 1 year ago

dlarson04 commented 3 years ago
Scenario:
1. Made an MMS object for service xyz:1.0.4 so put that in the json file for the model (using a policy and not a pattern)
2. Had to make a couple of changes to the service so now use xyz:1.0.6
3. Register service and start running service xyz:1.0.6
4. Publish the MMS model that has meta-data that says xyz:1.0.4
5. Agbot sees the model and starts to evaluate. The Version_Expression_Factory for the agbot has a function that looks for a single service so converts version 1.0.4 from the model into [1.0.4,INF) and sees service xyz:1.0.6 in that range so publishes my agent as a destination
6. ESS from my agent actually downloads the model so the hzn mms object list -d shows the model as being delivered to my agent
7. My service calls into the ESS but doesn't get the model because the ESS doesn't convert the 1.0.4 into a range (edge-sync-service/common/semver.go) so ESS doesn't think service xyz:1.0.6 should get the model (log message: apiServer.go:3584] ESS: DEBUG: In canServiceAccessObject. serviceID: ieam-roks-scale/1.0.6/dougs-hello-mms)

Net-Net: hzn mms object list -d shows the model as being delivered but the running service doesn't actually get the model to use