Jira (PUP-11321) {brief summary of issue}

4 views
Skip to first unread message

Tibor Répási

unread,
Oct 15, 2021, 8:58:02 AM10/15/21
to puppe...@googlegroups.com
Tibor Répási created an issue
 
Puppet / Bug PUP-11321
{brief summary of issue}
Issue Type: Bug Bug
Assignee: Unassigned
Created: 2021/10/15 5:57 AM
Priority: Normal Normal
Reporter: Tibor Répási

Puppet Version: 6.25.0
Puppet Server Version: 6.0.10
OS Name/Version: Debian GNU/Linux 11 (bullseye)

Since puppet-agent has been upgraded from 6.24.0, we get warnings on nodes using a specific configuration involving cataphract/yaml_settings wrapped by trepasi/cassandra.

Desired Behavior: work without warnings

Actual Behavior: while the catalog is applied properly, warnings are raised for every hash key passed to the values parameter of yaml_settings resource stating a type cast issue.

Example:

Node manifest includes a contain cassandra and gets parameter via Hiera:

cassandra::config:
  listen_address: "%{facts.networking.ip}"
  broadcast_rpc_address: "%{facts.networking.ip}"
  rpc_address: 0.0.0.0
  num_tokens: 256
  auto_bootstrap: true
  cluster_name: "Test Cassandra %{facts.mam_stage}"
  endpoint_snitch: GossipingPropertyFileSnitch
  authenticator: PasswordAuthenticator
  authorizer: CassandraAuthorizer
  seed_provider:
    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
      parameters:
        - seeds: 10.90.21.10,10.90.18.238
  diagnostic_events_enabled: true

Output of puppet agent --test on a node includes the warnings:

Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["listen_address"]'
Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["broadcast_rpc_address"]'
Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["rpc_address"]'
Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["num_tokens"]'
Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["auto_bootstrap"]'
Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["cluster_name"]'
Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["endpoint_snitch"]'
Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["authenticator"]'
Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["authorizer"]'
Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["seed_provider"]'
Warning: #<Puppet::Transaction::Persistence:0x00005598a2c1ebf8>['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0]['resources']['Yaml_settings[cassandra::config]']['parameters']['values']['system_value'][0] contains a hash with an Array key. It will be converted to the String '["diagnostic_events_enabled"]'

Debug and trace options does not unveil more relevant information.

Contents of the transaction store on the node however changed from:

  Yaml_settings[cassandra::config]:
    parameters:
      values:
        system_value:
        - ? - listen_address
          : 10.90.18.238
          ? - broadcast_rpc_address
          : 10.90.18.238
          ? - rpc_address
          : 0.0.0.0
          ? - num_tokens
          : 256
          ? - auto_bootstrap
          : true
          ? - cluster_name
          : Test Cassandra qa
          ? - endpoint_snitch
          : GossipingPropertyFileSnitch
          ? - authenticator
          : PasswordAuthenticator
          ? - authorizer
          : CassandraAuthorizer
          ? - seed_provider
          : - class_name: org.apache.cassandra.locator.SimpleSeedProvider
              parameters:
              - seeds: 10.90.21.10,10.90.18.238
          ? - diagnostic_events_enabled
          : true

with 6.24.0 to:

  Yaml_settings[cassandra::config]:
    parameters:
      values:
        system_value:
        - '["listen_address"]': 10.90.18.238
          '["broadcast_rpc_address"]': 10.90.18.238
          '["rpc_address"]': 0.0.0.0
          '["num_tokens"]': 256
          '["auto_bootstrap"]': true
          '["cluster_name"]': Test Cassandra qa
          '["endpoint_snitch"]': GossipingPropertyFileSnitch
          '["authenticator"]': PasswordAuthenticator
          '["authorizer"]': CassandraAuthorizer
          '["seed_provider"]':
          - class_name: org.apache.cassandra.locator.SimpleSeedProvider
            parameters:
            - seeds: 10.90.21.10,10.90.18.238
          '["diagnostic_events_enabled"]': true

with 6.25.0, which is the only change on the node.

Things need to be clarified:

  • is this an actual issue involving a poor usage pattern
  • could this lead to a future issue
  • could the warnings be suppressed if not relevant

 

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v8.13.2#813002-sha1:c495a97)
Atlassian logo
Reply all
Reply to author
Forward
0 new messages