Skip to content

Releases: pivotal-cf/om

6.3.0

14 Sep 21:36
Compare
Choose a tag to compare

Feature

  • bosh diff --check will now return exit status 2
    instead of exit status 1.
    This is so the 'diff' exit status is more easily differentiated
    from an 'error' exit status.

Bug Fixes

  • When using collection with secrets,
    the GUID matching for maintaining GUIDs across updates faulted
    only when the tile was being upgraded and migrating said property.
    Related issue #514.

6.2.0

31 Aug 21:50
Compare
Choose a tag to compare

6.2.0

Features

  • interpolate behavior has been improved
    in all commands that perform interpolation.
    All interpolation in om is now dual-pass;
    what would have previously been the final output
    is interpolated again.
    This allows the use of mapping-variables,
    vars that have other vars as their values.
    For a detailed example, see the new test for this feature,
    found in interpolate/interpolate_suite_test.go.
    • This is intended to allow the use of vars files
      to map from automatically generated vars-names,
      such as those created by staged-config and config-template.
    • Also, note that Ops Files are only applied on the first pass,
      as they're not idempotent in the way that substituion is.
    • Similarly, the --path argument for om interpolate is only applied
      on the second pass.
    • We are aware that other CLI tools that use interpolation behavior
      don't do this, and may not wish to -
      for example, both fly and bosh communicate with servers
      that also understand the ((double-paren)) var syntax,
      and so possibly have cases for passing these things along unresolved.
      As far as we know, this is not true of any use of om.
    • We actually can't think of any case where this would be undesirable,
      even in the other tools we just mentioned.
      If you can, please open an issue!

Bug Fixes

  • configure-product will no longer assign a new guid for unnamed collections conatin:
    • non-configurable properties that haven't changed
    • secret/credential properties that haven't changed

6.1.2

12 Aug 21:17
442dca7
Compare
Choose a tag to compare

Bug Fixes

  • configure-product will no longer assign a new guid for unnamed collections

    • the decorating collection with guid logic will associate existing collection item guids based on (in order)
      • equivalent item values
      • equal logical keys (in order; ie. 'name' will be used over 'Filename' if both exist)
        • name
        • key
        • fields ending in name (eg: sqlServerName)

    This addresses #207; improving GitOps style workflows

6.1.1

29 Jul 23:02
Compare
Choose a tag to compare

Bug Fixes

  • When using cache-cleanup, globbing was not correctly done for files that contain the metadata prefix.
    This meant that files with [pivnet-slug,pivnet-version] will still laying around.

6.1.0

27 Jul 22:57
Compare
Choose a tag to compare

Features

  • [--source pivnet only]download-product now supports the --check-already-uploaded flag.
    If a valid env file is provided with the flag,
    download-product will attempt to check
    if the product is already present on the Ops Manager.
    If the product is already present,
    download-product will not attempt to download from Tanzu Network.
    This task is compatible with the --stemcell-ias flag.
    If provided, the task will also check if the stemcell is already uploaded
    before attempting to download from Tanzu Network

6.0.1

22 Jul 21:15
Compare
Choose a tag to compare

Bug Fixes

  • download-product will now correctly cache if downloading from a blobstore
    when CACHE_CLEANUP='I acknowledge this will delete files in the output directories'
    is set.

6.0.0

15 Jul 21:07
Compare
Choose a tag to compare

Features

  • With some code refactoring,
    we've introduced support for --vars, --vars-file, and --vars-env
    into places it was missing before.
  • download-product can now provide a separate --stemcell-output-directory
    for the downloaded stemcell to exist after downloading.
    This was added to take advantage of Concourse 5.0+'s ability
    to overlap the cache in the output.
  • [download-product] To allow pas-windows to count as a cache hit
    even after winfs has been injected,
    the shasum check on the cache has been removed.
    download-product will still check the shasum
    after the product has been downloaded from Tanzu Network
  • [download-product] A new env var, CACHE_CLEANUP has been added.
    When CACHE_CLEANUP='I acknowledge this will delete files in the output directories'
    it will delete all products that do not match the slug and version
    in the output directory so the local (or Concourse) cache can remain clean.
    This env var will also clean up all old stemcells
    from the output-directory (or stemcell-directory if defined)
    if --stemcell-iaas is provided.
  • certificate-authority no longer requires --id
    if there is only one certificate authority on the targeted Ops Manager.
    This resolves PR #501

Breaking Changes

  • With some code refactoring,
    we removed the short form of -v for --product-version
    found in download-product and stage-product.

5.0.0

27 May 18:10
Compare
Choose a tag to compare

Breaking Changes

  • Removed deprecated tile-metadata command.
    Please use product-metadata command.
  • Removed deprecated update-ssl-certificate command.
    Please use configure-opsman command.
  • Removed depreated --download-stemcell flag from download-product.
    If the --stemcell-iaas is defined, it will always download the stemcell, and has done so, for a long time.

Features

  • Everything marked as **EXPERIMENTAL** has been promoted to officially supported.
    • bosh-diff command
    • config-template command
    • OM_VARS_ENV global flag
    • OM_VARS_ENV flag under configure-*-authentication commands
  • The config-template command
    will now generate one ops file for each collection
    when the --size-of-collections flag is provided.
    The number of elements in each of those ops files
    is now based on that flag rather than having an ops file
    for each number up to the --size-of-collections value.
    The default behaviour of config-template
    without the --size-of-collections flag remains unchanged.

Bug Fixes

  • apply-changes --product-name <product> --config config.yml with errands defined in config.yml
    that were not in the product-name list would fail.
    An explicit breakdown of how these flags interact:

    • apply-changes with the product-name flag(s) defined
      • --config config.yml with different products defined than provided in the product-name list:
        • Succeeds with a warning message, but does not apply the errand, if a product exists in the config.yml file, but was not passed in the product-name list.
        • Fails if any products in the product-name list also exist in the config.yml but do not exist on Ops Manager as staged/installed.
      • --config config.yml has no product defined: succeeds.
      • --config config.yml with same products defined as provided in the product-name list: succeeds.
    • apply-chages with NO product-name flag(s) defined
      • --config config.yml with different products defined than what exists in Ops Manager: failure.
        • If applying changes to all products, the products in config.yml must be staged/installed.
      • --config config.yml has no product defined: succeeds.
      • --config config.yml with same products defined as what exists in Ops Manager (does not need to include all staged/installed products): succeeds.
  • interpolate will no longer append a newline to end of the output

4.8.0

18 May 22:58
Compare
Choose a tag to compare

Features

  • download-product now supports defining a custom stemcell-version in the config file.
    This flag is --stemcell-version, and requires --stemcell-iaas to be set.
    If --stemcell-version is not set, but stemcell-iaas is set,
    the command will download the latest stemcell for the product.
  • bosh-diff now supports the --check flag.
    If set, the command will fail if there are differences returned.
    This resolves issue #488]
  • stage-product now accepts a config file to define command line args.
    This matches patterns for automation available in other commands.

4.7.0

29 Apr 15:26
2c38dad
Compare
Choose a tag to compare

Features

  • configure-opsman command has been added.
    This allows configuration of several Ops Manager settings.
    Most were previously not available to configure through an om command,
    though ssl-certificate was also configurable with update-ssl-certificate.
    For config examples,
    see the docs
    for the command.
    Supported top-level-keys:
    • ssl-certificate
    • pivotal-network-settings
    • rbac-settings
    • banner-settings
    • syslog-settings
  • EXPERIMENTAL config-template now supports ops manager syslog in tiles.
    In the tile metadata, this property is turned on with the opsmanager_syslog: true field.
    Tiles with this property enabled will now add the section to product.yml
    and create defaults in default-vars.yml.
  • Added shorthand flag consistency to multiple commands.
    --vars-file shorthand is -l and --var shorthand is -v
  • EXPERIMENTAL config-template can specify the number of collection ops files using --size-of-collections.
    Some use cases required that collections generate more ops-file for usage.
    The default value is still 10.
  • config-template has been updated to include placeholders for
    network_name, singleton_availability_zone, and service_network_name
    in required-vars.yml when appropriate.
  • When using apply-changes --recreate, Ops Manager will recreate director VM on OM 2.9+
    If a product name is passed (apply-changes --product-name <product> --recreate),
    only the product VMs will be recreated.
    When using apply-changes --recreate --skip-deploy-products,
    only the director VM will be recreated.
    This resolves issue #468

Bug Fixes

  • Cleaned up all the interpolation to be more consistent with the behaviour of the bosh CLI.

    For example,

    # with a variable
    $ om interpolate -c <(echo "person: ((person))") -v person="{foo: bar}"
    person:
      foo: bar
    # with an env var
    $ PREFIX_person="{foo: bar}" om interpolate -c <(echo "person: ((person))") --vars-env PREFIX
    person:
      foo: bar

    We did maintain,
    when using environment variables or var (-v),
    a multiline string needs to be maintained.
    The bosh does not support this.

Breaking Changes for Experimental Features

  • config-template Bug Fix: Required collections now parametrize correctly in product.yml.
    In the om issue
    for p-dataflow, the following was incorrectly returned:

    .properties.maven_repositories:
      value:
      - key: spring
        password: ((password))
        url: https://repo.spring.io/libs-release
        username: username
    

    config-template now returns the following correct subsection in product.yml:

    .properties.maven_repositories:
      value:
      - key: spring
        password:
          secret: ((password))
        url: https://repo.spring.io/libs-release
        username: username
    

    if you have used the workaround described in the issue
    (storing the value as a JSON object)
    you will need to update the credential in Credhub
    to not be a JSON object.

  • config-template generated resource-vars.yml
    that had the potential to conflict with property names
    (spring cloud dataflow had a configurable property called max_in_flight
    which is also a resource config property).
    config-template now prepends all resource-vars with resource-var-.
    This prevents this entire class of conflicts.
    If using config-template to update vars/ops-files/etc,
    check your resource var names in any files vars may be drawn from.
    This resolves om issue #484.

Deprecation Notices

  • update-ssl-certificate has been deprecated in favor of configure-opsman.
    This was done to allow extensibility for other endpoints on the Settings page.
    Please note that configure-opsman requires a config file, and does not accept
    certificate-pem or private-key-pem as command line arguments.
    For config example, see the docs for the command.