Skip to content

Releases: glennmatthews/cot

Version 2.2.0

18 Feb 14:22
Compare
Choose a tag to compare
  • Add awareness of Cisco C9800-CL platform.
  • Drop support for Python 3.3.

Version 2.1.0

29 Jan 15:31
Compare
Choose a tag to compare
  • Fix PATH issues with bin/cot helper script
  • Permit "cot add-disk ... --controller sata" (#72)

Version 2.0.4

30 Nov 15:47
Compare
Choose a tag to compare

Fixed

  • COT now ensures that cloned Items have a higher InstanceID than the Item they were cloned from, avoiding unexpected out-of-order behavior (#70).
  • COT now produces valid manifests for OVF 2.x files (which use SHA256 instead of SHA1 as in OVF 0.x and 1.x).

Added

  • Official support for pypy3. (COT has already been usable under pypy3, but now it's actually part of our tests.)
  • COT checks the manifest when loading an OVF/OVA and warns if any checksum mismatches are seen.
  • FileReference class as superclass of FileInTAR and FileOnDisk.

Changed

  • Refactored how man page builds are triggered so that Sphinx is no longer a mandatory pre-requisite for building COT. This helps us to avoid breaking Travis-CI tests when a new version of Sphinx comes out that doesn't support older Python versions like 3.3.
  • Replaced add_disk.guess_drive_type_from_extension with DiskRepresentation.predicted_drive_type.

Version 2.0.3

30 Nov 15:46
Compare
Choose a tag to compare

Fixed

  • Fixed issue where UnboundLocalError would be raised during COT's attempt to clean up after a qemu-img error occurring while trying to convert a disk to VMDK (#67).
  • Fixed incorrect invocation of 'sudo mkdir' on Mac OS X.

Version 2.0.2

30 Nov 15:45
Compare
Choose a tag to compare

Fixed

  • Path normalization of output file resulted in COT failing to detect the
    case of self-overwriting an OVA, resulting in file corruption (#66).
    Improved detection of self-overwriting cases including relative vs.
    absolute paths, symlinks, and hardlinks.

Version 2.0.1

17 Mar 18:05
Compare
Choose a tag to compare

One unit test case, COT.helpers.tests.test_helper.HelperGenericTest.test_download_and_expand_tgz, was failing after 2.0.0 was released, due to its assumptions about the contents of the master repo on GitHub no longer being valid. Fixed now.

Version 2.0.0

17 Mar 17:31
Compare
Choose a tag to compare

Fixed

  • Fixed a case that could result in a RuntimeError being thrown when using
    cot edit-hardware to simultaneously create NICs and define a new
    configuration profile (#64).

  • Update minimum QEMU version preferred for creation of streamOptimized VMDK
    files from 2.1.0 to 2.5.1, due to an incompatibility with VMware in VMDKs
    produced by versions prior to 2.5.1 (#65).

    • If vmdktool is not installed, but QEMU 2.1.0-2.5.0 is, then COT will
      fall back to usinq qemu-img, but will warn of this potential
      incompatibility with ESXi.
  • When cot info is invoked with multiple files as input, an error in
    loading one file will no longer cause the entire command to abort;
    COT will now log an error about the offending file and continue to the next.

Added

  • COT commands now check the available disk space in the temporary working
    directory against the temporary storage space the command estimates it
    will require, and if there is likely to be a problem, warns the user
    before continuing. (#63)

  • Additionally COT commands that write out an updated OVF/OVA now check the
    available disk space in the requested output location against the VM's
    predicted output size, and if there is likely to be a problem, warns the
    user before continuing.

  • Helper classes can now opt to cache their output to avoid repeatedly
    re-running the same command. Currently enabled for qemu-img info ...
    and isoinfo ... commands. (#62)

  • New modules and APIs in support of the above:

    • Command.working_dir_disk_space_required() instance method, to ask a
      command to estimate how much temporary storage it will require. This
      method is now automatically called from Command unit tests to validate
      its accuracy.
    • VMDescription.predicted_output_size() instance method, to ask a VM
      to estimate how much disk space it will require when written out.
    • COT.utilities module with functions available_bytes_at_path and
      tar_entry_size.

Removed

  • Discontinued support for Python 2.6 as it has been retired since 2013.
  • Removed cot --debug alias for cot --verbose --verbose as it is
    no longer correct after increased granularity of logging options,
    as described below.

Changed

  • With cot edit-hardware, the platform hardware validation is no longer
    a hard limit. Instead, if a value appears to be invalid, the user will be
    warned about the validation failure and given the option to continue or
    abort (#61).
    cot --force ..., as usual, can be used to auto-continue without prompting.
  • More granular logging levels (thanks to verboselogs; COT now requires
    version 1.6 of this package) and more self-consistency in message logging.
  • Revised format of log messages generated by COT.
  • Lots of API changes (see change log for details).

Version 1.9.1

21 Feb 15:17
Compare
Choose a tag to compare

Removed 32 GiB memory limitation on Cisco IOS XRv 9000 platform.

Version 1.9.0

13 Feb 17:21
Compare
Choose a tag to compare

Added

  • Support for Python 3.6
  • Support for brew package manager (#55).
  • Support for Cisco Nexus 9000v (NX-OSv 9000) platform (#60).

Fixed

  • Improved messaging when COT is unable to install a helper program (#57).

Version 1.8.2

18 Jan 15:12
Compare
Choose a tag to compare

Fixed

  • Issue #58 where various multi-value CLI options for the edit-hardware and inject-config commands did not append properly.
  • Issue in which explicitly specified NIC names were being overwritten by names auto-derived from network names when attempting to set both NIC name and network names in a single cot edit-hardware call.
  • cot edit-properties again accepts property values containing the characters
    + and = (#59).

Added

  • COT can now detect the presence of an .ovf file in a TAR archive even if
    the archive is not named *.ova* and even if the .ovf file is not the first
    file in the archive as specified by the OVF specification. This allows
    (read-only at present) handling of VirtualBox Vagrant .box files,
    which are approximately equivalent to non-standards-compliant OVAs.