Opened 3 years ago

Closed 2 years ago

#2502 closed enhancement (fixed)

Script for automating issue reporting

Reported by: Dimitar Misev Owned by:
Priority: major Milestone: 10.0
Component: bin Version: 9.8
Keywords: Cc: Peter Baumann, ocampos, Bang Pham Huu, Vlad Merticariu
Complexity: Medium

Description

A script to automatically collect needed information for reporting an issue would be very useful to users. Below is a proposed interface for such a command-line tool, which will be installed in the rasdaman bin directory.

Usage

  prepare_issue_report.sh [OPTION]... [FILE]...


Description

  This script helps prepare a report for an issue encountered while operating
  rasdaman. Running the script will open an editor where you can enter a
  description of how the issue got triggered.

  Various options can be specified to control what additional information is
  included in order to help developers in understanding and reproducing the
  issue. Following the options, you can specify files to include in the report,
  e.g. screenshots, ingredient files for importing data, sample (downsized if
  possible) data, etc.

  Everything is compressed into a single archive in the current working
  directory from which the script is executed, and the path to it is printed at
  the end.

  By default the script will try to include config files, latest 200 log files,
  petascopedb, and RASBASE, as long as the resulting archive is not larger than
  20 MB to make it suitable for sending by email. Parts which are too large
  will be left out, in reverse order of priority (first RASBASE, then
  petascopedb, etc). The limit can be changed with --limit-size <N>. As soon as
  a particular --include-* option is specified, the default behavior is no
  longer in effect and exclusively the specified options are considered.


Options

  --coverage-id             Specify an affected coverage, and the script will
                            attempt to extract relevant information about it
                            with a WCS DescribeCoverage request, and dbinfo/sdom
                            rasql queries.

  --dry-run                 Print the actions that will be done, but do not
                            execute them.

  --include-all             Shorthand option equivalent to specifying all 
                            --include-* options individually.

  --include-all-logs        Include petascope.log and all *.log files in 
                            /opt/rasdaman/log

  --include-recent-logs <N> Like --include-logs, but only the <N> most recent
                            log files will be included. By default the 200 most
                            recent log files will be included. To disable
                            including log files, specify 0.

  --include-petascopedb     Include the geo metadata database petascopedb.

  --include-rasbase         Include the core metadata database RASBASE, without
                            any of the actual array data.
  
  --include-rasbase-full    Include the core metadata database RASBASE, as well
                            as all of the array data; this may turn out to be
                            very large, depending on the amount of data ingested.

  --exclude-config          By default configuration files will be included in the
                            report, as they are generally very helpful in
                            debugging issues. Credentials are automatically
                            anonymized from the config files. Included are:

                              - /opt/rasdaman/etc
                              - /etc/default/rasdaman, /etc/default/tomcat
                              - pg_hba.conf

                            Specify this option to prevent the above behavior.

  --limit-size <N>          Limit the size of the resulting archive to <N> MB.
                            Specifying 0 removes the limit.



Examples

  1. Describe the issue, including config files and 100 most recent log files,
     as well as a screenshot illustrating the problem:

     $ prepare_issue_report.sh --include-recent-logs 100 screenshot.png

  2. Describe the issue, include config files, all log files, petascopedb and
     RASBASE, as well as sample data and ingredients:

     $ prepare_issue_report.sh --include-all-logs --include-petascopedb \
                               --include-rasbase sample_data.tar.gz ingredients.json

  3. Like the first example, but also include information about coverage TestCov:

     $ prepare_issue_report.sh --include-recent-logs 100 --coverage-id TestCov \
                               screenshot.png

  4. Provide a screenshot and include details up to a maximum archive size of 
     20 MB (default behavior):

     $ prepare_issue_report.sh screenshot.png

Change History (1)

comment:1 by Dimitar Misev, 2 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.