jcustenborder / puppet-confluent

Puppet Module for installing and configuring the Confluent Platform
http://www.confluent.io
Apache License 2.0
14 stars 15 forks source link

automatic tagging causes the ordering defined in init.pp to be applied to every module in some situations #68

Closed ccarlfjord closed 6 years ago

ccarlfjord commented 6 years ago

Because of automatic tagging, https://puppet.com/docs/puppet/5.3/lang_tags.html#automatic-tagging the tag "confluent" gets applied to all modules included in a profile and applies the order specified in init.pp to all resources. This breaks runs when using this module and for e.g forge sssd module in a role/profile setup. I've tested the changes in #67 in our environment and it works for us.

Example log output: Failed to apply catalog: Found 2 dependency cycles: (Exec[authconfig-mkhomedir] => File[sssd.conf] => Service[oddjobd] => Class[Sssd::Dependencies] => Class[Sssd::Config] => File[sssd.conf])

Our role:

class role::confluent::kafka::standalone_control_center {
  include profile::base
  include profile::java
  include profile::confluent::standalone::control_center
  include profile::yum::confluent
}

Profile:

class profile::confluent::control::center {
  include ::confluent::control::center
  include ::profile::nginx

  nginx::resource::server { 'confluent-control-center':
    server_name => [ $facts['networking']['fqdn'] ],
    listen_port => 80,
    proxy       => 'http://localhost:9021/',
  }
}

If you're not able to reproduce and need/want a debug output I can provide you an anonymized one.

This is the sssd module we're using https://forge.puppet.com/sgnl05/sssd

jcustenborder commented 6 years ago

Fixed with #67