- Create a pipeline P1 and a profile Pro1
- Go to pipeline P1 and set up a trigger to start when pipeline P0 completes successfully.
- Once the trigger is set "Configure" the pipeline P1 to use "Pro1" profile
- Click "Save" in configure modeless.
After the last step the existing pipeline trigger gets deleted
This is because when user clicks "Save" button in the "Configure" modeless UI makes a call to update app spec and app preference. The app spec PUT call deletes existing schedules (triggers)
This will be a bad user experience if the user has a lot of triggers set up and finally configures the manual runs to use a profile (or changes custom engine config or stage level logging) and saves.
If deleting schedules is one issue, the other side effect this will cause is screw up profile associations. Once the pipeline P1 is setup to run on a trigger with a specific profile, the profile detail page will show proper associations. After app spec update deleting schedule will remove the pipeline from profile associations as well. This will be confusing for the user as one time they will see the associations and some time later suddenly it disappears.
- UI only (partial) fix. Don't update app spec if the user just changes the profile. This will involve finding if the user has changed other properties that would warrant an app spec update. If the user just chooses the profile, update only the app preference. This would not delete the existing schedules
- Backend fix(right) fix. Don't delete exiting schedules when app spec is updated. It should update schedules (if that is possible)
- Provide a way to save pipeline property changes to be saved in app preference instead of updating pipeline spec (exiting JIRA: https://issues.cask.co/browse/CDAP-13407)