Build Status Documentation Status GitHub

vRO-package-diff tool

vRO-package-diff is a Python package to compare 2 VMware vRealize Orchestrator packages.

It provides a table-formated diff of two packages.

Sample of output

Requirements

  • Python (>=3.4)
  • pip

Linux/Unix, OSX and Windows [*] OS are supported.

Installation

Install and update using pip:

pip install vro_package_diff
[*]Please refer to Windows users section as there are some existing limitations.

Usage

Help

vro-diff --help
Usage: vro-diff [OPTIONS] REFERENCE_PACKAGE COMPARED_PACKAGE

Start a diff operation between two vRO packages.

REFERENCE_PACKAGE is the package you want to use as source
COMPARED_PACKAGE is the one you want to compare with reference one

Options:
-l, --legend  Display the legend after the diff table
-t, --test    Exit with `0` if package can be safely imported. Else, returns
                the number of errors.
-h, --help    Show this message and exit.

Examples

Compare only:

vro-diff tests/data/package_v1.0.package tests/data/package_v1.1.package

Compare, then display legend (–legend):

vro-diff --legend --test tests/data/package_v1.0.package tests/data/package_v1.1.package

Compare, then exit with error if there is any conflict (-–test):

vro-diff --test tests/data/package_v1.0.package tests/data/package_v1.1.package
echo $?

The script will exit with the number of items with a conflict situation.

This -–test option can be usefull to implement CI/CD pipelines to compare, then upload(if there is no conflict) vRO packages.

Windows users

Windows usage is supported with some limitations:

  • No colored output.
    • Currently I have no idea on how to fix this.
  • Some UTF-8 symbols used in output are only with some fonts like DejaVu Sans Mono.
    • In future, I will try to implement a version of script that do not request UTF-8 support to return results.