software campaign cancelation procedure
The text for this procedure indicates that the hosting CSE can chose whether attempt to cancel the procedure or let it finish.
For any of the softwareTargets that it has already updated the [software] specialization’s install, uninstall, activate or deactivate attribute to a value of "TRUE", based on local policy, the Hosting CSE may choose to let the operation finish or attempt to cancel the operation (e.g., by updating the install, uninstall, activate or deactivate attribute to a value of "FALSE").
If the local policy is to let the operation finish then the campaignStatus should not be changed to "CANCELLING", instead it should be rejected with an RSC. Propose that if the local policy is to let the operation continue then RSC should be some sort of "NOT_CANCELLABLE" when attempting to change value to FALSE.
In TS-0004 the UPDATE procedure states
If the Receiver is unable to cancel the software campaign, it shall return a response primitive with a Response Status Code indicating "CANCELLATION_FAILED" error.
This is an operation that occurs after the response to the request returned and is captured in TS-0001.
- If the value of the campaignEnabled attribute in the request is FALSE and the value of the campaignEnabled attribute of the targeted resource is TRUE, and the value of the campaignStatus attribute of the targeted resource is “INITIATED”, then the Receiver shall set the value of the campaignStatus attribute of the targeted resource to “CANCELLING” and attempt to cancel the software campaign as described in clause 10.2.28 of oneM2M TS-0001 [6]. If the Receiver policy is to let the operation finish it shall return a response primitive with a Response Status Code indicating "CANCELLATION_NOT_ALLOWED" error.