Possible API bug - VM count can be scaled while app is "suspended"


I’ve come across what appears to be a bug in the API. It’s apparently possible to scale your VM count while the app is in "suspended" status. The app will be running and responsive, reachable by HTTP request to its URL, but the status will remain “suspended”. You can further scale the VM count to whatever arbitrary value you want, although scaling VM size will not work until the app is resumed.

I would expect that either one of two behaviors would occur instead:

  • Upon scaling VM count the app resumes to "running" status and all scaling mutations would work
  • VM count scaling does not work until the app is explicitly resumed to "running" status (seems preferred)

Steps to reproduce:

  • Suspend an app with the pauseApp mutation
  • Wait for VMs to spin down
  • Scale the VM count with the setVmCount mutation. Your desired number of VMs will spin back up and respond to requests, but the app status remains "suspended" when you query($name: String!) { app(name: $name) { status } }
  • Setting the VM size with the setVmSize mutation will not work
  • Resume the app with the resumeApp mutation
  • Existing VMs will continue running and app status instantly changes to "running"
  • Setting VM size now works as expected