lp:~wesley-wiedenmeier/curtin/reporting-cleanup-rebase

Created by Wesley Wiedenmeier and last modified
Get this branch:
bzr branch lp:~wesley-wiedenmeier/curtin/reporting-cleanup-rebase
Only Wesley Wiedenmeier can upload to this branch. If you are Wesley Wiedenmeier please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Wesley Wiedenmeier
Project:
curtin
Status:
Development

Recent revisions

385. By Wesley Wiedenmeier

Reverted local revision 383 which was a fix for reporter timestamps not being
set correctly, as a different implementation of the same fix already went into
trunk

384. By Wesley Wiedenmeier

Merged from trunk

383. By Wesley Wiedenmeier

In reporter.events, set timestamp on reporting events as report_event() is
being called rather than as the event is being created. This prevents
timestamps from being duplicated as seen in http://paste.ubuntu.com/15951580/

382. By Wesley Wiedenmeier

A bit more verification of reporting in vmtests

381. By Wesley Wiedenmeier

Cleaned up reporting event descript alterations. Where the prvious solution
changed description strings for all start and finish events, this only changes
them as they are being reported for webhooks without modifying the event. This
means that for print handler and log handler output will not have extraneous
'started: ' messages in it as event.as_string() already appends a 'start: ' and
'finish: ' prefix message as needed

380. By Wesley Wiedenmeier

Added webhooks reporting data capture to vmtests.
  - In tools/report_webhook_logger.py a new context manager has been added that
    runs a webserver in a separate thread to capture reporting data
  - A function has been added to vmtests/__init__.py to determine the lan ip of
    the host of the vmtests using iproute2
  - In vmtests/__init__.py an additional configuration file is written and
    passed into curtin that instructs it to report events to the host of the
    vmtests
  - New test function added to verify contents of captured reporting. currently
    only contains basic check, more to be added later

379. By Wesley Wiedenmeier

Replaced tools/report-webhook-logger with tools/report_webhook_logger.py:
  - refactored to work as a module to capture curtin reporting
  - module contains a generator for a http handler that logs wehbook events to
    a json dump instead of stdout
  - can still be run as a script that outputs to stdout

378. By Wesley Wiedenmeier

Improved formatting of error messages for ProcessExecutionError. Instead of
displaying message as a byte sequence with \n characters, format onto separate
lines with indentation.

Pulled from lp:~wesley-wiedenmeier/curtin/error-output

377. By Ryan Harper

tools/vmtest-sync-images: fix insertion of top-level curtin path

Fix up sys.path to import realpath of top-level curtin directory to make
it equivalent to running PYTHONPATH=`pwd` from top-level. This fixed an
issue with sub-module level imports.

376. By Ryan Harper

block: wipe_volume improvements

- move wipe_volume, find_sysfs_path, from block_meta to block
- improve wipe_volume:
  - do not shell out for 'dd' and ignore errors
  - add 'superblocks' mode that wipes start and end of existing
    partitions in addition to volume.
  - pick 4M as the default size for writes. This is easily modified.
- add block-wipe subcommand for:
  curtin block-wipe --mode=random /dev/vdb /dev/vdc
- sysfs_partition_data: this returns information on partitions on a
  given block device.
- sys_block_path: handle case where devpath is a partition and prepend
  parent dev into path.

Note, this does not call rereadpt as sgdisk --zap-all would.
We probably want to add the ability to do that. The reason I dont have it
yet is that in newer ubuntu systemd is watching readwrite opens on the
block devices and will issue rereadpt when those are closed.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:~curtin-dev/curtin/trunk
This branch contains Public information 
Everyone can see this information.