-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Verify-Installation Command #153
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks great! A couple of random ideas 😄
Another idea I just had - when this "diagnostic report" ends, it will start the product as normal. Maybe we should have an environment variable that, if set, causes the script to |
I like this ! Will do ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking really good! A few more little tidbits 😄
…a7/rstudio-docker-products into nahara-verify-installation
server-pro/startup.sh
Outdated
# Check diagnostic configurations | ||
if [ "$DIAGNOSTIC_ENABLE" == "true" ]; then | ||
/usr/local/bin/verify_installation.sh & | ||
sleep 7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm curious - why the sleep?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I originally had a wait command. It took quite some time to fetch the job output at the end of the line.
...Job has finished running Fetching job output...
The sleep command allowed me to view the file when I was sure the directory existed but not waiting as long. Is there a different way you think I should do ?
…re exiting script in diagnostic_only mode
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! My only suggestion would be that we document the environment variables somewhere in a README. But my guess is this is a more wide-ranging issue related to docs and not sure if it conflicts with any of @colearendt's doc work that I haven't gotten a chance to look through.
Ok, had a long chat w/ the RSW team today. TL;DR; I think we need to:
What was happening with the hang you experienced was the product was stuck in a state where it could not start the job, but wasn't erroring and also wasn't timing out. The team is now aware and will hopefully improve the product to be a bit more clear in the long run, but backgrounding the process can actually hide some of these concerning issues, so I think foreground is the right call. If the product isn't working, we want to know about it! 😄 This is an example that reproduces the problem (using this branch / the public image after we merge):
And this example works as we expect (added
I'm not super opinionated about docs, to be honest. I am AOK if we merge this and then follow up with docs once things have stabilized in the repo a bit. We've done a lot of work in this PR already 😄 I'll send y'all a link to the slack thread privately |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Woohoo! Looks awesome!
Addresses: #116
Intent
To simplify use of verify-installation command inside the container.
Approach
Verify Installation command was tricky to use in docker. This runs the command at startup and writes its output to a path referenced by the
DIAGNOSTIC_DIR
environment variable. Allows image tests to reference the log file. Additional environment variables added include:DIAGNOSTIC_ENABLE
: false by default. Runs verify installation command at startupDIAGNOSTIC_ONLY
: false by default. Only runs verify-installation command and then exits the script.