-
Notifications
You must be signed in to change notification settings - Fork 53
Adding procfile_structure on app api #1321
Adding procfile_structure on app api #1321
Conversation
Fix spacing
Thanks for the contribution! Please ensure your commits follow our style guide. This code will be tested once a Deis maintainer reviews it. |
Jenkins, add to whitelist. |
We implemented |
@mboersma Can you rerun Jenkins? I reset the top commit and fixed the whitespacing issues. |
Jenkins, test this please. |
Jenkins, look me in the eye and tell me that's not a 4 space indent! Jenkins has been hanging out with the wrong group of linting styling friends. |
I think that's just a flake8 oddity. Here's another example of a multi-line if statement in the codebase. Basically you need to indent it to 4 spaces relative to the |
@bacongobbler Thanks! Indeed flake8 seems to have a different idea of where the indent should start at, it was based on where the if statement starts. Ran flake8 locally and pushed with the 4 space indents now. |
One of the unit tests is still failing:
|
@mboersma Thanks for checking! Fixed now! I should run the docker testing suite locally before pushing. I guess "making it rain" in Jenkins is a bad thing... 🌧 |
@mboersma : Any idea on this failure, I did not get this locally with |
@Cryptophobia looks like an intermittent failure. :-( It passed on a second run. |
Thanks! Can we agree since this happens 50% of the time, it is a heisenbug 38% of the time? 😸 |
I can see the usefulness of this, but I fear we haven't had time to review it properly yet and the v2.18 release time is upon us. @Cryptophobia would it be ok to leave this PR open for future efforts? Alternatively, we could slip the release a day or two in order to get proper review and testing done. |
@mboersma , sounds like it did not go into this release. when would there be time to review this proprerly, is that even in the roadmap after September? |
This was the final feature release, so this won't be able to land any time after September. To clarify on the timeline from the EOL blog post:
"Maintenance mode" means no more features. Only critical fixes or security releases will go into Workflow at this point. |
This PR has been recreated for the https://github.com/deisthree fork here: teamhephy/controller#2 |
The
/app
route should expose the procfile_structure of the app release. Since the structure on the/app
route is not indicative of the actual deployable processes of the application, there should be another json structure that can tell us what the procfile is actually set to for the latest release. When usingprocfile_structure
we can tell which of the processes exist in our procfile at this particular release:The idea is that we can use
procfile_structure
for scaling and validating which processes we can actually scale through the/scale
route. This is so because a call to.../app/{app_name}/scale
with a payload{"worker": 1}
would actually fail with404 Not Found
and this return from the api:Our app structure is below:
But a call for each of the processes in procfile_structure would not fail the scale call.
This has been tested extensively with git remote application deployments and Docker image pull deployments.
The tests are not written yet.
Code in deis-cli has not been written yet.