To get the general problem and instructions on how to create a delayed application, please see the epic description.
TL;DR: In some situations, the deployment of an application can be delayed within marathon (e.g. failing service and not enough resources). Currently, we show it as recovering or deploying although marathon might not be trying to deploy it anymore due to its delayed state.
Add a new method to the pod and application structs called isDelayed. It should return this state if the marathon queue endpoint returns queueEntry.delay.overdue === false as documented in https://mesosphere.github.io/marathon/docs/marathon-ui.html#delayed
- There is a new method isDelayed for the pod and application struct
- There are unit tests testing for the new method
- You verified that this function returns true for delayed applications