Skip to content
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

image building: make logs / output more accessible and usable #4

Closed
halcyondude opened this issue Apr 11, 2016 · 2 comments
Closed

Comments

@halcyondude
Copy link
Contributor

Moved over from: redhat-openstack/tripleo-quickstart#53

Currently the output from the playbook that builds images is a bit of a land-mine. In the case of the output from DIB when it creates the overcloud image, it ends up being > 400,000 characters on a single line. This literally makes Atom, Emacs, PyCharm, Gedit, Kate, VIM, etc go into a death loop trying to parse the line. If one waits far longer than I have patience for (minutes) eventually you'll get back. Interim solutions are to not use the ansible output directly, rather passing it thru sed first to turn \n into \n, open the logfile that's captured, etc. It's a low priority issue, but the first time it happened to me I thought "Ouch...that hurt..." As this project catches on I think anything that increases friction for developers / newcomers should where possible be fixed. In addition, it would be pretty cool to have a nice summary of what was built, the source of the

@halcyondude
Copy link
Contributor Author

halcyondude commented Jun 21, 2016

Update, as it's been a while.

  • https://review.gerrithub.io/#/c/276629/ addresses part of this, as we're now capturing log files from the various steps of the build process, bundling them, and co-locating with the images produced.
  • When https://review.gerrithub.io/#/c/277420/ lands the logs + images are copied out (if enabled).
  • since this issue was logged, we're now using tripleo-common to wrap DIB, and the output (which was the most verbose) is now captured to a file. It's still not an awesome experience but it's no longer thousands of lines --> stdout --> ansible task output.
  • have been exploring wiring in ARA
  • CI jobs have been using collect-logs. Considering moving logs --> /var/log (or another standard location) so it just picks them up, instead of needing to have collect-logs go searching for them in artib_working_dir. It sounds like a minor/subtle point, but the way we're dealing with logging in RDO and downstream CI it's necessary.

weshayutin pushed a commit that referenced this issue Jul 13, 2016
A few changes that enable better logging for image building.  These
changes are the result of debugging a pile of image building jobs.

Addresses:
#4

Partially addresses (there are still a few more)
#24

* where possible in shell blocks, use args/chdir to declutter
* redirect the virt-customize phases to files in the working dir
* enable verbose and debug/trace messages from virt-customize.
* pull the builder logs from the images.  clear.  consise.  complete.
* generate a manifest of all files contained in the image
* fix a few shell blocks to use > instead of |
* create log archive w/ md5
* place logs in /var/log/artib

Change-Id: I2ad8263ce7d2693addc72ec84203a643d5f86049
@halcyondude
Copy link
Contributor Author

Most of this is accomplished. ara can be brought in as a separate role, or as something this role exports configuration for via pip mechanism. Either way it's a new/different issue. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant