Skip to content

A notice function with a hash as a title causes catalog validation to fail #205

Open
@davidsandilands-zz

Description

@davidsandilands-zz

Description of problem

  • What did you do?
    Running octocatalog-diff
octocatalog-diff --puppetdb_url http://localhost:8080 --bootstrapped-from-dir /var/tmp/production/ --bootstrapped-to-dir /var/tmp/development/ --puppet_binary /usr/local/bin/puppet --pe-enc-url https://localhost:4433/classifier-api --pe-enc-token-file /root/.puppetlabs/token -n appserver.example.com --catalog-only
  • What happened?
    Catalog failed to compile with invalid json
  • What did you expect to happen?
    Catalog to compile
  • How can someone reproduce the problem?
    Create an array of hashes and call one of those hashes.
    ie
class iaas_linux_ibm_tivoli_monitoring_client (
  Array[Hash] $gateway_list = [ { primary => '',servername.domainname
                                  standby => 'servername2.domainname' } ],
) {
  $gateways = $::iaas_linux_ibm_tivoli_monitoring_client::gateway_list
  $rand = fqdn_rand(length($gateways))
  $randomly_chosen_gateways = "$gateways[$rand]"
}

Command used and debugging output

octocatalog-diff --puppetdb_url http://localhost:8080 --bootstrapped-from-dir /var/tmp/production/ --bootstrapped-to-dir /var/tmp/development/ --puppet_binary /usr/local/bin/puppet --pe-enc-url https://localhost:4433/classifier-api --pe-enc-token-file /root/.puppetlabs/token -n appserver.example.com --catalog-only

"/opt/puppetlabs/puppet/lib/ruby/gems/2.4.0/gems/octocatalog-diff-1.5.4/lib/octocatalog-diff/util/catalogs.rb:259:in `catalog_validator': Catalog failed: Catalog has invalid JSON: 751: unexpected token at '{primary => servername.domainname, standby => servername2.domainname} (OctocatalogDiff::Errors::CatalogError)
"

Platform and version information

  • Your OS: RHEL 7.4 x86
  • Your Ruby version: ruby 2.4.4p296 (2018-03-28 revision 63013) [x86_64-linux]
  • Your version of Puppet: PE 2018.1.4 5.5.6
  • Your version of octocatalog-diff: octocatalog-diff 1.5.4

Do the tests pass from a clean checkout? yes

Anything else to add that you think will be helpful?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions