Coder Social home page Coder Social logo

puppet-foreman's Issues

Variables never defined, but used in foreman::puppetmaster

class foreman::puppetmaster (
$foreman_url = $foreman::params::foreman_url,
$foreman_user = $foreman::params::foreman_user,
$foreman_password = $foreman::params::foreman_password,

$foreman::params::foreman_user and $foreman::params::foreman_password are never defined and seems that are also never used

Move foreman report from puppetmaster

I'm using masterless aka standalone puppet and leverage the foreman report module.

Under the current configuration reports require Class['::puppet::server::install'] which conflicts which is not necessary for this type of deployment.

I worked around this with a resource collector:

  File <| title == "${puppet_basedir}/reports/foreman.rb" |> {
    require  => [
        Exec['Create Puppet Reports dir']
    ]
  }

I also found it necessary to override some things in foreman::config::enc to eliminate the requirement.

  File <| title == '/etc/puppet/node.rb' |> {
    require  => [],
        ensure => 'absent'
  }

  File <| title == "${puppet_home}/yaml" |> {
    require  => [],
        ensure => 'absent'
  }

  File <| title == "${puppet_home}/yaml/foreman" |> {
    require  => [],
        ensure => 'absent'
  }

puppet-foreman at Puppet Forge is out of date

The puppet-foreman module that is installed from the Puppet Forge install is out of date. It lacks the correct GPG keys to perform installations of Foreman and Foreman-proxy via puppet.

After applying the patch from commit 4a8395d the module works correctly and installs from the yum repo as required.

Please update the release at Puppet Forge to include this patch so that new installs of puppet-foreman will operate correctly going forwards.

Smartproxy provider broken under AIO and puppet 4

I think this is already known, but I don't see it logged, so close this if I missed it.

The smart_proxy provider appears to be broken with Puppet 4, you get "Could not find a suitable provider for foreman_smartproxy". I think this is due to to the Apipie bindings not being available to the AIO Puppet ruby stack.

Add AIO package path knowledge to params.pp

only $puppet_ssldir is using the $aio_package variable in params.pp while many other paths differ accordiong to that setting. (This is already implemented in the puppet-puppet module so could mostly be copied from there.)

Tests fail if temporary folder is not 'tmp'

Failures:

  1) foreman::config on redhat without parameters should contain File[/etc/foreman/settings.yaml] with source matching /\/tmp\/.+\/concat\/output\/foreman_settings.out/, require => "Concat_build[foreman_settings]", notify => "Class[Foreman::Service]", owner => "root", group => "foreman" and mode => "0640"
     Failure/Error: })}
       expected that the catalogue would contain File[/etc/foreman/settings.yaml] with source matching `/\/tmp\/.+\/concat\/output\/foreman_settings.out/` but its value of `"/var/folders/fy/gxmst54s1c19phy9c31489bw0000gn/T/d20130805-4428-1j2potq/concat/output/foreman_settings.out"` does not
     # ./spec/classes/foreman_config_spec.rb:43:in `block (4 levels) in '

  2) foreman::config on debian without parameters should contain File[/etc/foreman/settings.yaml] with source matching /\/tmp\/.+\/concat\/output\/foreman_settings.out/, require => "Concat_build[foreman_settings]", notify => "Class[Foreman::Service]", owner => "root", group => "foreman" and mode => "0640"
     Failure/Error: })}
       expected that the catalogue would contain File[/etc/foreman/settings.yaml] with source matching `/\/tmp\/.+\/concat\/output\/foreman_settings.out/` but its value of `"/var/folders/fy/gxmst54s1c19phy9c31489bw0000gn/T/d20130805-4428-1ojyq1z/concat/output/foreman_settings.out"` does not
     # ./spec/classes/foreman_config_spec.rb:150:in `block (4 levels) in '

Finished in 24.33 seconds
82 examples, 2 failures

Failed examples:

rspec ./spec/classes/foreman_config_spec.rb:36 # foreman::config on redhat without parameters should contain File[/etc/foreman/settings.yaml] with source matching /\/tmp\/.+\/concat\/output\/foreman_settings.out/, require => "Concat_build[foreman_settings]", notify => "Class[Foreman::Service]", owner => "root", group => "foreman" and mode => "0640"
rspec ./spec/classes/foreman_config_spec.rb:143 # foreman::config on debian without parameters should contain File[/etc/foreman/settings.yaml] with source matching /\/tmp\/.+\/concat\/output\/foreman_settings.out/, require => "Concat_build[foreman_settings]", notify => "Class[Foreman::Service]", owner => "root", group => "foreman" and mode => "0640"

Not sure how to approach that test differently. Thanks!

expose ssl_ca_file, ssl_certificate and ssl_priv_key

Hello!
As of now
there's no such parameters in settings.yaml.erb.
and therefore I can't configure foreman-installer to configure those.
As I don't use puppet for certificate management
puppet task of registering proxy in foreman fails for me.

Foreman does not report failed runs with some server-side errors

In production, we had a server that had failed puppet runs for almost a week without noticing.

The message it was sending was:

Failed to generate additional resources using 'eval_generate': Error 400 on SERVER: No such file or directory - /srv/puppet/fileserver/ihave???unicode

However foreman was always reporting it as OK. I think the correct behaviour should be to always report these sorts of errors as failed, however I couldn't see anything that stands out in the yaml report that could be used.

Here's a copy of the last report with all information with all names anonymized.

--- !ruby/object:Puppet::Transaction::Report
  metrics: 
    resources: !ruby/object:Puppet::Util::Metric
      name: resources
      label: Resources
      values: 
        - - total
          - Total
          - 982
        - - skipped
          - Skipped
          - 1
        - - failed
          - Failed
          - 0
        - - failed_to_restart
          - "Failed to restart"
          - 0
        - - restarted
          - Restarted
          - 0
        - - changed
          - Changed
          - 0
        - - out_of_sync
          - "Out of sync"
          - 0
        - - scheduled
          - Scheduled
          - 0
    time: !ruby/object:Puppet::Util::Metric
      name: time
      label: Time
      values: 
        - - file
          - File
          - 6.652699027999995
        - - filebucket
          - Filebucket
          - 0.00013653500000000002
        - - config_retrieval
          - "Config retrieval"
          - 5.272938688
        - - total
          - Total
          - 11.925774250999995
    changes: !ruby/object:Puppet::Util::Metric
      name: changes
      label: Changes
      values: 
        - - total
          - Total
          - 0
    events: !ruby/object:Puppet::Util::Metric
      name: events
      label: Events
      values: 
        - - total
          - Total
          - 0
        - - failure
          - Failure
          - 0
        - - success
          - Success
          - 0
  logs: 
    - !ruby/object:Puppet::Util::Log
      level: !ruby/sym info
      tags: 
        - info
      message: "Retrieving pluginfacts"
      source: Puppet
      time: 2016-07-14 14:33:37.137184 +00:00
    - !ruby/object:Puppet::Util::Log
      level: !ruby/sym info
      tags: 
        - info
      message: "Retrieving plugin"
      source: Puppet
      time: 2016-07-14 14:33:37.248490 +00:00
    - !ruby/object:Puppet::Util::Log
      level: !ruby/sym info
      tags: 
        - info
      message: "Loading facts"
      source: Puppet
      time: 2016-07-14 14:33:38.002073 +00:00
    - !ruby/object:Puppet::Util::Log
      level: !ruby/sym info
      tags: 
        - info
      message: "Caching catalog for puppetmaster.node1"
      source: Puppet
      time: 2016-07-14 14:33:45.287459 +00:00
    - !ruby/object:Puppet::Util::Log
      level: !ruby/sym info
      tags: 
        - info
      message: "Applying configuration version '1468506821'"
      source: Puppet
      time: 2016-07-14 14:33:46.485834 +00:00
    - !ruby/object:Puppet::Util::Log
      level: !ruby/sym err
      tags: 
        - err
        - file
        - class
        - test
        - node
        - default
      message: "Failed to generate additional resources using 'eval_generate': Error 400 on SERVER: No such file or directory - /srv/puppet/fileserver/ihave???unicode"
      source: "/Stage[main]/Test/File[/tmp/test/files]"
      time: 2016-07-14 14:33:56.389623 +00:00
      file: /etc/puppet/environments/production/modules/test/manifest/init.pp
      line: 12
    - !ruby/object:Puppet::Util::Log
      level: !ruby/sym notice
      tags: 
        - notice
      message: "Finished catalog run in 11.92 seconds"
      source: Puppet
      time: 2016-07-14 14:34:03.007910 +00:00
  resource_statuses:  {}
  host: puppetmaster.node1
  time: 2016-07-14 14:33:35.565107 +00:00
  kind: apply
  report_format: 4
  puppet_version: "3.8.7"
  configuration_version: 1468506821
  transaction_uuid: "51d3a735-a982-4503-a5cd-da221592c733"
  environment: production
  status: unchanged

librarian-puppet recursive dependency

attempting to use the following in my Puppetfile on CentOS 6.4:

mod "foreman", :git => "git://github.com/theforeman/puppet-foreman.git"

results in the following error when performing updates/installs:

/usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/lib/librarian/puppet/requirement.rb:23:in `range_requirement?': undefined method `match' for nil:NilClass (NoMethodError)
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/lib/librarian/puppet/requirement.rb:11:in `gem_requirement'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/lib/librarian/puppet/source/git.rb:103:in `fetch_dependencies'
from /usr/lib/ruby/site_ruby/1.8/puppet/module_tool/modulefile.rb:15:in `map'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/lib/librarian/puppet/source/git.rb:102:in `each'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/lib/librarian/puppet/source/git.rb:102:in `map'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/lib/librarian/puppet/source/git.rb:102:in `fetch_dependencies'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/manifest.rb:215:in `fetch_dependencies!'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/manifest.rb:207:in `fetched_dependencies'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/manifest.rb:171:in `dependencies'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:67:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:72:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:64:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `each'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:60:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:59:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:103:in `scope'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:42:in `recursive_resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver/implementation.rb:20:in `resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/resolver.rb:18:in `resolve'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/action/resolve.rb:25:in `run'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/cli.rb:161:in `resolve!'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/lib/librarian/puppet/cli.rb:63:in `install'
from /usr/lib/ruby/gems/1.8/gems/thor-0.18.1/lib/thor/command.rb:27:in `__send__'
from /usr/lib/ruby/gems/1.8/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
from /usr/lib/ruby/gems/1.8/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
from /usr/lib/ruby/gems/1.8/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
from /usr/lib/ruby/gems/1.8/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/vendor/librarian/lib/librarian/cli.rb:29:in `bin!'
from /usr/lib/ruby/gems/1.8/gems/librarian-puppet-0.9.10/bin/librarian-puppet:9
from /usr/bin/librarian-puppet:19:in `load'
from /usr/bin/librarian-puppet:19

logging

Please consider adding parameters to manage foreman logging options. For debug purposes for example

puppet - fresh install errors: "module passenger is already loaded"

If you try and install the foreman through puppet, you get the following error:

 puppet --version
 3.6.0
 puppet module install theforeman/foreman
 echo "class {foreman:}" >> /tmp/foreman.pp
puppet apply /tmp/foreman.pp

The error message

...
#your default puppet server - can be overridden in the host level
#if none specified, plain "puppet" will be used.
#:puppet_server: puppet
:unattended: true
:puppetconfdir: /etc/puppet/puppet.conf
:login: true
:require_ssl: true
:locations_enabled: false
:organizations_enabled: false

# The following values are used for providing default settings during db migrate
:oauth_active: true
:oauth_map_users: true
:oauth_consumer_key: LpYxyRkjsZUjQRK5jG9FNXdsiTQqpD8t
:oauth_consumer_secret: vk62CtUePnUVte2rnXD8ZCUPTrC8HpEr
'
Notice: /Stage[main]/Foreman::Config/Concat_build[foreman_settings]/target: *.yaml used for ordering
Notice: /Stage[main]/Foreman::Config/File[/etc/foreman/settings.yaml]/content: content changed '{md5}a5de96b664766bf9c9d5f35c120cc5da' to '{md5}9358644a2f9b6fe1c0915d619fd480d5'
Notice: /Stage[main]/Foreman::Config/File[/etc/foreman/settings.yaml]/group: group changed 'root' to 'foreman'
Notice: /Stage[main]/Foreman::Config/File[/etc/foreman/settings.yaml]/mode: mode changed '0644' to '0640'
Notice: /Stage[main]/Foreman::Config::Passenger/Apache::Vhost[foreman]/File[05-foreman.conf]/ensure: created
Notice: /Stage[main]/Foreman::Config::Passenger/Apache::Vhost[foreman-ssl]/File[05-foreman-ssl.conf]/ensure: created
Error: Could not start Service[httpd]: Execution of '/sbin/service httpd start' returned 1: Starting httpd: [Fri May 16 23:29:50 2014] [warn] module passenger_module is already loaded, skipping
Syntax error on line 40 of /etc/httpd/conf.d/05-foreman-ssl.conf:
SSLCertificateFile: file '/var/lib/puppet/ssl/certs/foreman.localhost.pem' does not exist or is empty
[FAILED]
Wrapped exception:
Execution of '/sbin/service httpd start' returned 1: Starting httpd: [Fri May 16 23:29:50 2014] [warn] module passenger_module is already loaded, skipping
Syntax error on line 40 of /etc/httpd/conf.d/05-foreman-ssl.conf:
SSLCertificateFile: file '/var/lib/puppet/ssl/certs/foreman.localhost.pem' does not exist or is empty
[FAILED]
Error: /Stage[main]/Apache::Service/Service[httpd]/ensure: change from stopped to running failed: Could not start Service[httpd]: Execution of '/sbin/service httpd start' returned 1: Starting httpd: [Fri May 16 23:29:50 2014] [warn] module passenger_module is already loaded, skipping
Syntax error on line 40 of /etc/httpd/conf.d/05-foreman-ssl.conf:
SSLCertificateFile: file '/var/lib/puppet/ssl/certs/foreman.localhost.pem' does not exist or is empty
[FAILED]

[question] APT repo handling

Is there a reason for us not using puppetlabs-apt in the module here?

I noticed it while APT notified me about an unknown key.

We should use ::apt there, and add the key id of the current key.

Whats your opinion? I could do a PR...

decouple from puppetlabs-apache

(this may actually be two bug reports)

I started with the goal of overriding the resultant apache vhost to enable Kerberos authentication (a few <Location> blocks with mod_auth_kerb directives). I was unable to extend the apache vhost using custom_fragment because it has already been declared. I decided to try and rip out all of the apache management and then manage the apache configs from a completely separate site-local module.

using this Puppet code:

    class { 'foreman':
      custom_repo => true,
      passenger   => false,
      ssl         => false,
      use_vhost   => false,
      selinux     => true,
    }

results in this error:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid relationship: Package[ruby193-rubygem-passenger-native] { before => Class[Apache::Service] }, because Class[Apache::Service] doesn't seem to be in the catalog

I would expect that passenger => false would not require ruby193-rubygem-passenger-native.

CentOS 7 with ruby2 support

I have got this error trying the module on CentOS 7:

Error: Execution of '/bin/yum -d 0 -e 0 -y install foreman-postgresql' returned 1: Error: Package: ruby193-rubygem-rack-jsonp-1.3.1-1.el7.noarch (foreman)
           Requires: ruby193-ruby(abi) = 1.9.1

Here is how I use the module:

class {'::foreman':
    passenger          => false,
    db_manage          => false,
    configure_scl_repo => false,
    configure_epel_repo => false,
}

As a note:

  • scl_repo should be false by default for CentOS 7 because it does not exist for 7
  • I disable configure_epel_repo because it is already setup at that point.

How can I use the native ruby(version 2) that comes with CentOS 7. I do not want to install 1.9.1. If I am not wrong foreman does support ruby2.

Installation of foreman-cli fails on CentOS 7

I have tried to install foreman-proxy/foreman-cli using the foreman-installer and ran into this issue:

[...]
[ INFO 2015-06-03 14:11:54 main]            Requires: ruby193-ruby(abi) = 1.9.1
[ERROR 2015-06-03 14:11:54 main]  Package: ruby193-ruby-wrapper-0.0.2-5.el7.noarch (foreman)
[ INFO 2015-06-03 14:11:54 main]            Requires: ruby193-ruby
[ERROR 2015-06-03 14:11:54 main]  Package: ruby193-rubygem-foreigner-1.7.1-1.el7.noarch (foreman)
[ INFO 2015-06-03 14:11:54 main]            Requires: ruby193-rubygem(activerecord) >= 3.0.0
[ERROR 2015-06-03 14:11:54 main]  Package: foreman-1.8.1-1.el7.noarch (foreman)
[ INFO 2015-06-03 14:11:54 main]            Requires: ruby193-rubygem(json) < 2.0
[ERROR 2015-06-03 14:11:54 main]  Package: ruby193-rubygem-foreigner-1.7.1-1.el7.noarch (foreman)
[ INFO 2015-06-03 14:11:54 main]            Requires: ruby193-rubygems
[ INFO 2015-06-03 14:11:54 main]  You could try using --skip-broken to work around the problem
[ INFO 2015-06-03 14:11:54 main]  You could try running: rpm -Va --nofiles --nodigest
[...]

So, it is necessary to enable the ruby193 SCL repository on CentOS 7.
The following quick hack fixes it:

diff --git a/manifests/cli.pp b/manifests/cli.pp
index 54fb998..f22e75e 100644
--- a/manifests/cli.pp
+++ b/manifests/cli.pp
@@ -36,6 +36,13 @@ class foreman::cli (
   validate_string($foreman_url_real, $username_real, $password_real)
   validate_bool($manage_root_config, $refresh_cache)

+  if $::operatingsystem == 'CentOS' and $::operatingsystemmajrelease == '7' {
+    package{'rhscl-ruby193-epel-7-x86_64':
+      ensure => installed,
+      before => Package['foreman-cli'],
+    }
+  }
+
   package { 'foreman-cli':
     ensure => installed,
   } ->

It should be discussed wether this hack is viable or if all repositories should be listed as a requirement in the installation manual. I would be glad to help and adjust the manual accordingly.

If the proposed change is sufficient then i will open a pull request.

mysql class does not exist

I'm using puppetlabs/mysql-3.0.0 and just updated to theforeman/foreman-3.0.0 and am receiving this error when I attempt to run Puppet on the Foreman host:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Could not find class ::mysql for dc-foreman-web.tamu.edu on node dc-foreman-web.tamu.edu
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

puppetlabs/mysql 2.3.1 was the last release to include the mysql class - https://github.com/puppetlabs/puppetlabs-mysql/blob/2.3.1/manifests/init.pp. Notice the deprecation warnings.

include ::mysql, ::mysql::server, ::mysql::server::account_security

Should probably be

include ::mysql::server, ::mysql::server::account_security

stop foreman fails

/Stage[main]/Foreman::Config::Reports/Cron[expire_old_reports]/ensure: created
/Stage[main]/Foreman::Config/Cron[clear_session_table]/ensure: created
/Stage[main]/Foreman::Service/Service[foreman]/ensure: ensure changed 'running' to 'stopped'
Error: /Stage[main]/Foreman::Service/Service[foreman]: Failed to call refresh: Could not stop Service[foreman]: Execution of '/sbin/service foreman stop' returned 1:
Error: /Stage[main]/Foreman::Service/Service[foreman]: Could not stop Service[foreman]: Execution of '/sbin/service foreman stop' returned 1:
/File[/tftpboot/pxelinux.cfg]/ensure: created
Finished catalog run in 189.47 seconds

Since the foreman service was not running before this fails.

Attempt to use the module standalone causes failure due to implicit dependency on the theforeman/puppet module

Hello,

I'm trying to set up The Foreman with an existing Puppet infrastructure. Part of the master bootstrapping is done through puppet itself, so I wanted to have the foreman proxy and reporting configuration done like that as well.

So I installed the theforeman/foreman module first, and tried to include the 'foreman::puppetmaster' class in the master to get things set up automatically, but I get the following error:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Invalid relationship: File[/etc/puppet/node.rb] { require => Class[Puppet::Server::Install] }, because Class[Puppet::Server::Install] doesn't seem to be in the catalog

which seems to me like theforeman/foreman depends implicitly (but not explicitly in the Modulefile) on theforeman/puppet, but I don't actually want it to manage the whole puppet installation for me, at least for now.

Ability to increase max pool size in ActiveRecord?

There is no option to set size of connection pool. Currently it's set to 5 (default value). Under heavy load, using the PostgreSQL adapter, I often get the following error:

ActiveRecord::ConnectionTimeoutError (could not obtain a database connection within 5 seconds (waited 5.000178992 seconds). The max pool size is currently 5; consider increasing it.):
  /usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/rack/thread_handler_extension.rb:77:in `process_request'
  /usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler/thread_handler.rb:140:in `accept_and_process_next_request'
  /usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler/thread_handler.rb:108:in `main_loop'
  /usr/lib/ruby/gems/1.8/gems/passenger-4.0.18/lib/phusion_passenger/request_handler.rb:441:in `block (3 levels) in start_threads'

Parameterize the puppet user and group

This applies especially on the Puppetmaster - we use a different user account and group to run our Puppetmaster, as our environments and some other data are kept on an NFS filestore and so the IDs must be consistent. At present, the foreman::puppetmaster class enforces user/group on the following files:
/etc/puppet/foreman.yaml
/etc/puppet/node.rb
/var/lib/puppet/yaml (recursively)

It would be useful if the puppet user and group could be specified by a parameter honoured by this class, e.g. $puppet_user and $puppet_group.

Error on prefetch for foreman_config_entry

When I run Puppet on my Foreman host after updating to theforeman/foreman 3.0.0 I get the following error (full backtrace).

This is with puppet-3.6.2 on CentOS 6.5.

Error: Could not prefetch foreman_config_entry provider 'cli': undefined method `intern' for nil:NilClass
/usr/lib/ruby/site_ruby/1.8/puppet/type.rb:1691:in `provider'
/usr/lib/ruby/site_ruby/1.8/puppet/type.rb:1904:in `provider='
/var/lib/puppet/lib/puppet/provider/foreman_config_entry/cli.rb:58:in `prefetch'
/var/lib/puppet/lib/puppet/provider/foreman_config_entry/cli.rb:52:in `each'
/var/lib/puppet/lib/puppet/provider/foreman_config_entry/cli.rb:52:in `prefetch'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:277:in `prefetch'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:167:in `prefetch_if_necessary'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:67:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/graph/relationship_graph.rb:116:in `call'
/usr/lib/ruby/site_ruby/1.8/puppet/graph/relationship_graph.rb:116:in `traverse'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:108:in `evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:167:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/util/log.rb:149:in `with_destination'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction/report.rb:112:in `as_logging_destination'
/usr/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:166:in `apply'
/usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:117:in `apply_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:161:in `benchmark'
/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:160:in `benchmark'
/usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:116:in `apply_catalog'
/usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:191:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:47:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/agent/locker.rb:20:in `lock'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:47:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:117:in `with_client'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:44:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:82:in `run_in_fork'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:43:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:179:in `call'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:179:in `controlled_run'
/usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:41:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:355:in `onetime'
/usr/lib/ruby/site_ruby/1.8/puppet/application/agent.rb:321:in `run_command'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:371:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:477:in `plugin_hook'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:371:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:479:in `exit_on_fail'
/usr/lib/ruby/site_ruby/1.8/puppet/application.rb:371:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:137:in `run'
/usr/lib/ruby/site_ruby/1.8/puppet/util/command_line.rb:91:in `execute'
/usr/bin/puppet:8

The location of #intern call on nil:

https://github.com/puppetlabs/puppet/blob/3.6.2/lib/puppet/type.rb#L1691

Enable foreman-plugins repo

I've searched through manifests in this module but I didn't manage to find a way to enable [foreman-plugins] repo

Ship report processor as a module

According to https://docs.puppetlabs.com/guides/reporting.html#writing-custom-reports it's now expected for reports to live in /lib/puppet/reports within a module on the master to make it available to the master. This is probably a good thing (no more hunting around in /usr for the correct path).

I guess we need to keep the copy in /files for older puppet versions - should we symlink? I don't know how puppet will treat a symlink here, but keeping two actual copies in sync sounds annoying...

Unable to install successfully

Hello,

Recently I've been trying to install foreman using this module but I haven't been successful.

Whenever I do puppet agent -t on the client where I want to install foreman, it gives me the following error:

Warning: Scope(Concat::Fragment[Apache ports header]): The $ensure parameter to concat::fragment is deprecated and has no effect.
Warning: Scope(Concat[/var/lib/pgsql/data/pg_ident.conf]): The $force parameter to concat is deprecated and has no effect.
Warning: Scope(Concat::Fragment[Listen 80]): The $ensure parameter to concat::fragment is deprecated and has no effect.
Warning: Scope(Concat::Fragment[Listen 443]): The $ensure parameter to concat::fragment is deprecated and has no effect.
Notice: Compiled catalog for icoaux002.icnu.tlabs.ca in environment production in 3.01 seconds
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install postgresql' returned 1: Error: Nothing to do
Error: /Stage[main]/Postgresql::Client/Package[postgresql-client]/ensure: change from purged to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install postgresql' returned 1: Error: Nothing to do
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install postgresql-server' returned 1: Error: Nothing to do
Error: /Stage[main]/Postgresql::Server::Install/Package[postgresql-server]/ensure: change from purged to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install postgresql-server' returned 1: Error: Nothing to do
Notice: /Stage[main]/Postgresql::Server::Initdb/File[/var/lib/pgsql/data]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Initdb/File[/var/lib/pgsql/data]: Skipping because of failed dependencies
Notice: /Stage[main]/Postgresql::Server::Initdb/Exec[postgresql_initdb]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Initdb/Exec[postgresql_initdb]: Skipping because of failed dependencies
Notice: /Stage[main]/Postgresql::Server::Config/File[systemd-override]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Config/File[systemd-override]: Skipping because of failed dependencies
Notice: /Stage[main]/Postgresql::Server::Config/Exec[restart-systemd]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Config/Exec[restart-systemd]: Skipping because of failed dependencies
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install mod_passenger' returned 1: Error: Package: 1:rubygem-rack-1.5.2-4.el7.noarch (epel)
           Requires: /usr/bin/ruby
Error: Package: rubygem-passenger-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: rubygems
Error: Package: 1:rubygem-rack-1.5.2-4.el7.noarch (epel)
           Requires: ruby(release)
Error: Package: rubygem-passenger-native-libs-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: ruby
Error: Package: rubygem-passenger-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: rubygem(rake)
Error: Package: rubygem-passenger-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: ruby(release)
Error: Package: rubygem-passenger-native-libs-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: libruby.so.2.0()(64bit)
Error: Package: 1:rubygem-rack-1.5.2-4.el7.noarch (epel)
           Requires: ruby(rubygems)
Error: Package: rubygem-passenger-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: /usr/bin/ruby
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
Error: /Stage[main]/Apache::Mod::Passenger/Apache::Mod[passenger]/Package[mod_passenger]/ensure: change from purged to present failed: Execution of '/usr/bin/yum -d 0 -e 0 -y install mod_passenger' returned 1: Error: Package: 1:rubygem-rack-1.5.2-4.el7.noarch (epel)
           Requires: /usr/bin/ruby
Error: Package: rubygem-passenger-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: rubygems
Error: Package: 1:rubygem-rack-1.5.2-4.el7.noarch (epel)
           Requires: ruby(release)
Error: Package: rubygem-passenger-native-libs-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: ruby
Error: Package: rubygem-passenger-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: rubygem(rake)
Error: Package: rubygem-passenger-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: ruby(release)
Error: Package: rubygem-passenger-native-libs-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: libruby.so.2.0()(64bit)
Error: Package: 1:rubygem-rack-1.5.2-4.el7.noarch (epel)
           Requires: ruby(rubygems)
Error: Package: rubygem-passenger-4.0.18-9.10.el7.x86_64 (foreman)
           Requires: /usr/bin/ruby
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
Notice: /Stage[main]/Apache::Mod::Passenger/File[passenger.conf]: Dependency Package[mod_passenger] has failures: true
Warning: /Stage[main]/Apache::Mod::Passenger/File[passenger.conf]: Skipping because of failed dependencies
Notice: /Stage[main]/Apache::Mod::Passenger/Apache::Mod[passenger]/File[zpassenger.load]: Dependency Package[mod_passenger] has failures: true
Warning: /Stage[main]/Apache::Mod::Passenger/Apache::Mod[passenger]/File[zpassenger.load]: Skipping because of failed dependencies
Notice: /Stage[main]/Postgresql::Server::Config/Concat[/var/lib/pgsql/data/pg_hba.conf]/Concat_fragment[/var/lib/pgsql/data/pg_hba.conf_header]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Config/Concat[/var/lib/pgsql/data/pg_hba.conf]/Concat_fragment[/var/lib/pgsql/data/pg_hba.conf_header]: Skipping because of failed dependencies
Notice: /Stage[main]/Postgresql::Server::Config/Postgresql::Server::Config_entry[listen_addresses]/Postgresql_conf[listen_addresses]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Config/Postgresql::Server::Config_entry[listen_addresses]/Postgresql_conf[listen_addresses]: Skipping because of failed dependencies
Notice: /Stage[main]/Postgresql::Server::Config/Postgresql::Server::Config_entry[port]/Postgresql_conf[port]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Config/Postgresql::Server::Config_entry[port]/Postgresql_conf[port]: Skipping because of failed dependencies
Notice: /Stage[main]/Postgresql::Server::Config/Postgresql::Server::Config_entry[data_directory]/Postgresql_conf[data_directory]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Config/Postgresql::Server::Config_entry[data_directory]/Postgresql_conf[data_directory]: Skipping because of failed dependencies
Notice: /Stage[main]/Postgresql::Server::Config/Concat[/var/lib/pgsql/data/pg_ident.conf]/Concat_fragment[/var/lib/pgsql/data/pg_ident.conf_header]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Config/Concat[/var/lib/pgsql/data/pg_ident.conf]/Concat_fragment[/var/lib/pgsql/data/pg_ident.conf_header]: Skipping because of failed dependencies
Notice: /Stage[main]/Postgresql::Server::Config/Concat[/var/lib/pgsql/data/pg_ident.conf]/Concat_file[/var/lib/pgsql/data/pg_ident.conf]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Config/Concat[/var/lib/pgsql/data/pg_ident.conf]/Concat_file[/var/lib/pgsql/data/pg_ident.conf]: Skipping because of failed dependencies
Notice: /Stage[main]/Postgresql::Server::Config/Concat[/var/lib/pgsql/data/pg_ident.conf]/File[/var/lib/pgsql/data/pg_ident.conf]: Dependency Package[postgresql-server] has failures: true
Warning: /Stage[main]/Postgresql::Server::Config/Concat[/var/lib/pgsql/data/pg_ident.conf]/File[/var/lib/pgsql/data/pg_ident.conf]: Skipping because of failed dependencies
Error: Execution of '/usr/bin/yum -d 0 -e 0 -y install foreman-postgresql' returned 1: Error: Package: tfm-rubygem-ldap_fluff-0.4.0-2.el7.noarch (foreman)
           Requires: rh-ror41-rubygem(activesupport)
Error: Package: tfm-rubygem-netrc-0.7.7-7.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-activerecord-session_store-0.1.2-1.el7.noarch (foreman)
           Requires: rh-ror41-rubygem(railties) < 5
Error: Package: tfm-rubygem-audited-activerecord-4.2.0-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: 1:tfm-rubygem-concurrent-ruby-1.0.0-2.fm1_11.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-will_paginate-3.1.0-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-ruby_parser-3.6.3-4.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-foreigner-1.7.1-3.el7.noarch (foreman)
           Requires: rh-ror41-rubygem(activerecord) >= 3.0.0
Error: Package: tfm-rubygem-protected_attributes-1.1.3-2.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-facter-2.4.0-3.el7.x86_64 (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: foreman-1.11.0-0.1.RC1.el7.noarch (foreman)
           Requires: rh-ruby22-rubygems
Error: Package: tfm-rubygem-bundler_ext-0.3.0-8.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-rails-i18n-4.0.8-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-oauth-0.4.7-8.el7.noarch (foreman)
           Requires: rh-ruby22-rubygems
Error: Package: tfm-rubygem-oauth-0.4.7-8.el7.noarch (foreman)
           Requires: /opt/rh/rh-ruby22/root/usr/bin/ruby
Error: Package: tfm-rubygem-rest-client-1.6.7-4.el7.noarch (foreman)
           Requires: rh-ruby22-rubygems
Error: Package: tfm-rubygem-rabl-0.11.6-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-sprockets-rails-2.3.3-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-ancestry-2.0.0-4.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-secure_headers-1.4.1-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-multi_json-1.10.1-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby
Error: Package: tfm-rubygem-pg-0.15.1-2.el7.x86_64 (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-sprockets-3.5.2-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: 1:tfm-rubygem-concurrent-ruby-1.0.0-2.fm1_11.el7.noarch (foreman)
           Requires: rh-ruby22-ruby
Error: Package: tfm-rubygem-activerecord-session_store-0.1.2-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-foreigner-1.7.1-3.el7.noarch (foreman)
           Requires: rh-ruby22-rubygems
Error: Package: tfm-rubygem-protected_attributes-1.1.3-2.el7.noarch (foreman)
           Requires: rh-ror41-rubygem(activemodel) >= 4.0.1
Error: Package: tfm-rubygem-audited-4.2.0-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-sprockets-rails-2.3.3-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-secure_headers-1.4.1-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-rails-observers-0.1.2-6.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-pg-0.15.1-2.el7.x86_64 (foreman)
           Requires: rh-ruby22-ruby
Error: Package: tfm-rubygem-scoped_search-3.2.2-3.el7.noarch (foreman)
           Requires: rh-ror41-rubygem-activerecord >= 3.2.0
Error: Package: tfm-rubygem-will_paginate-3.1.0-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-apipie-rails-0.3.5-1.el7.noarch (foreman)
           Requires: rh-ruby22-rubygems
Error: Package: tfm-rubygem-deep_cloneable-2.1.1-2.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-gettext_i18n_rails-1.2.1-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-formatador-0.2.1-9.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-multi_json-1.10.1-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-rails-observers-0.1.2-6.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-sprockets-3.5.2-1.el7.noarch (foreman)
           Requires: rh-ror41-rubygem(rack) > 1
Error: Package: tfm-rubygem-deep_cloneable-2.1.1-2.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-activerecord-session_store-0.1.2-1.el7.noarch (foreman)
           Requires: rh-ror41-rubygem(activerecord) < 5
Error: Package: tfm-rubygem-audited-activerecord-4.2.0-1.el7.noarch (foreman)
           Requires: rh-ror41-rubygem(activerecord) < 5
Error: Package: tfm-rubygem-oauth-0.4.7-8.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-runtime-2.0-2.el7.x86_64 (foreman)
           Requires: rh-ror41-runtime
Error: Package: tfm-rubygem-ancestry-2.0.0-4.el7.noarch (foreman)
           Requires: rh-ruby22-rubygems
Error: Package: tfm-rubygem-rails-i18n-4.0.8-1.el7.noarch (foreman)
           Requires: rh-ruby22-rubygems
Error: Package: tfm-rubygem-facter-2.4.0-3.el7.x86_64 (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-sexp_processor-4.4.4-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-rest-client-1.6.7-4.el7.noarch (foreman)
           Requires: rh-ror41-rubygem(mime-types) >= 1.16
Error: Package: tfm-rubygem-little-plugger-1.1.3-20.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-safemode-1.2.2-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-gettext_i18n_rails-1.2.1-3.el7.noarch (foreman)
           Requires: rh-ruby22-rubygems
Error: Package: tfm-rubygem-audited-4.2.0-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(rubygems)
Error: Package: tfm-rubygem-fog-core-1.35.0-1.el7.noarch (foreman)
           Requires: rh-ruby22-rubygems
Error: Package: tfm-rubygem-rack-jsonp-1.3.1-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-runtime-2.0-2.el7.x86_64 (foreman)
           Requires: v8314-runtime
Error: Package: tfm-rubygem-validates_lengths_from_database-0.5.0-1.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-rest-client-1.6.7-4.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-scoped_search-3.2.2-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)
Error: Package: tfm-rubygem-turbolinks-2.5.3-3.el7.noarch (foreman)
           Requires: rh-ruby22-ruby(release)

Is this error supposed to be something normal and how could I fix it? I'm using Red Hat Linux Enterprise 7.

I'm a little bit new at installing applications using puppet so I might have done something wrong.

Thanks in advance!!

foreman::rake {'apipie:cache:index'} not scheduled with db_managed=>false

In my highly available, distributed Foreman installation, we use an externally managed postgresql database, so all of my nodes are set to $db_manage=>false. If this parameter is false, though, then foreman::rake { 'apipie:cache:index' } is never scheduled to run, which causes downstream impacts that rely on the cache being present. I dont want foreman-rake to be scheduled every time puppet runs, but I need the cache to be built when Foreman is initially installed.

Foreman::Rake[db:migrate] fails when using puppet 4

Hi,

I'm seeing the Foreman::Rake execs failing when using the puppetlabs AIO packages:

==> core: Info: Foreman::Rake[db:migrate]: Scheduling refresh of Exec[foreman-rake-db:migrate]
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: rake aborted!
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: LoadError: cannot load such file -- facter
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `block in require'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in `load_dependency'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251:in `require'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/lib/tasks/reset_permissions.rake:1:in `<top (required)>'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:245:in `load'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:245:in `block in load'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236:in `load_dependency'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:245:in `load'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/railties-3.2.21/lib/rails/engine.rb:425:in `block in load_tasks'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/railties-3.2.21/lib/rails/engine.rb:425:in `each'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/railties-3.2.21/lib/rails/engine.rb:425:in `load_tasks'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/railties-3.2.21/lib/rails/application.rb:145:in `load_tasks'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/vendor/ruby/1.9.1/gems/railties-3.2.21/lib/rails/railtie/configurable.rb:30:in `method_missing'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: /usr/share/foreman/Rakefile:7:in `<top (required)>'
==> core: Notice: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]/returns: (See full trace by running task with --trace)
==> core: Error: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]: Failed to call refresh: /usr/sbin/foreman-rake db:migrate returned 1 instead of one of [0]
==> core: Error: /Stage[main]/Foreman::Database/Foreman::Rake[db:migrate]/Exec[foreman-rake-db:migrate]: /usr/sbin/foreman-rake db:migrate returned 1 instead of one of [0]
==> core: Notice: /Stage[main]/Foreman::Database/Foreman_config_entry[db_pending_seed]/value: value changed '' to 'false'

This is on ubuntu 14.04, puppet version:

vagrant@core:~$ /opt/puppetlabs/bin/puppet --version
4.3.1

My profile module contains:

class { '::puppet':
    server                  => true,
    server_implementation   => 'puppetserver',
    server_foreman          => false,
    server_git_repo         => true,
    client_package          => 'puppet-agent',
    logdir                  => '/var/log/puppetlabs/puppet',
    rundir                  => '/var/run/puppetlabs',
    ssldir                  => '/etc/puppetlabs/puppet/ssl',
    server_ssl_dir          => '/etc/puppetlabs/puppet/ssl',
    vardir                  => '/opt/puppetlabs/puppet/cache',
}

class { '::foreman':
    admin_password          => 'testpass'
}
class { '::foreman_proxy': }

concat depends on puppet 3.5+

I am getting invalid attribute on a file resource because validate_cmd does not exist before puppet 3.5. We need to bump the puppet dependency requirement and also update the foreman-installer package to 3.7.x

Puppet 4 support for ENC script

Filing against the right project this time...

$puppet_etcdir is hardcoded to '/etc/puppet' regardless of Puppet version. In Puppet 4 the default etcdir has changed to '/etc/puppetlabs/puppet'.

Modify foreman-vhost.conf.erb to honor ssl param

I have found it necessary to modify foreman-vhost.conf.erb to recognize the foreman:ssl parameter. If ssl is disabled the secure Virtual Host should not be created.

<%= ERB.new(File.read(File.expand_path("_header.erb",File.dirname(file)))).result(binding) -%>

<VirtualHost <%= @listen_interface %>:80>
  ServerName <%= @fqdn %>
  ServerAlias foreman

  DocumentRoot <%= scope.lookupvar 'foreman::app_root' %>/public
  PassengerAppRoot <%= scope.lookupvar 'foreman::app_root' %>
<% if @scl_prefix and !@scl_prefix.empty? -%>
  PassengerRuby /usr/bin/<%= @scl_prefix -%>-ruby
<% end -%>

  AddDefaultCharset UTF-8

  <Directory <%= scope.lookupvar 'foreman::app_root' %>/public>
    <IfVersion < 2.4>
      Allow from all
    </IfVersion>
    <IfVersion >= 2.4>
      Require all granted
    </IfVersion>
  </Directory>

</VirtualHost>
<% if scope.lookupvar 'foreman::ssl' %>
<VirtualHost <%= @listen_interface %>:443>
  ServerName <%= @fqdn %>
  ServerAlias foreman

  DocumentRoot <%= scope.lookupvar 'foreman::app_root' %>/public
  PassengerAppRoot <%= scope.lookupvar 'foreman::app_root' %>
<% if @scl_prefix and !@scl_prefix.empty? -%>
  PassengerRuby /usr/bin/<%= @scl_prefix -%>-ruby
<% end -%>

  AddDefaultCharset UTF-8

  <Directory <%= scope.lookupvar 'foreman::app_root' %>/public>
    <IfVersion < 2.4>
      Allow from all
    </IfVersion>
    <IfVersion >= 2.4>
      Require all granted
    </IfVersion>
  </Directory>

  # Use puppet certificates for SSL

  SSLEngine On
  SSLCertificateFile      /var/lib/puppet/ssl/certs/<%= @fqdn %>.pem
  SSLCertificateKeyFile   /var/lib/puppet/ssl/private_keys/<%= @fqdn %>.pem
  SSLCertificateChainFile /var/lib/puppet/ssl/certs/ca.pem
  SSLCACertificateFile    /var/lib/puppet/ssl/certs/ca.pem
  SSLVerifyClient         optional
  SSLOptions              +StdEnvVars
  SSLVerifyDepth          3

</VirtualHost>
<% end -%>

foreman_smartproxy resource raises undefined method `strip' for nil:NilClass error

I'm trying to install a foreman server and register my puppet servers (this foreman server has no puppet server installed), so I'm trying to use foreman_smartproxy like:

include ::foreman

foreman_smartproxy {'<puppetserver>':
    base_url        => 'https://<myforeman server>',
    url             => 'https://<puppetserver>:8443',
    provider        => 'rest_v3',
    consumer_key    => '<consumer key>',
    consumer_secret => '<consumer secret>',
    ssl_ca          => '/etc/puppetlabs/puppet/ssl/certs/ca.pem',
    timeout         => 600,
  }

The problem with this is that when I run puppet apply I get: Error: /Stage[main]/Profile::Foreman::Server/Foreman_smartproxy[<puppetserver>]: Could not evaluate: Exception undefined method strip' for nil:NilClass in get request to: https:///api/v2/smart_proxies?search=name=%22%22`

Any help?

is there a way to set authorize_login_delegation?

I'm attempting to deploy Foreman in my environment using the puppet-foreman module. I would like to be able to set authorize_login_delegation => true and I don't see an obvious mechanism for this. is there a settings hash I'm not seeing or is this feature not supported?

Error shown on Windows hosts

This error is shown on all my Windows nodes. I assume that something is trying to be done by way of stuff that comes over (or doesn't) via module sync.

PS C:\Windows\system32> puppet agent -t
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error loading fact C:/ProgramData/PuppetLabs/puppet/var/lib/facter/facts.rb: cannot load such file -- util/sssd

puppet4 support in lib/facter/sssd.rb

Hi,

It appears that the puppetserver (not master...) is unhappy with the bundled ruby facts.
When I run it on a CentOS7 VM with the puppetserver package installed from puppet PCL repository, I get :

Error: Facter: error while resolving custom facts in /puppet/code/envs/dev/puppet/foreman/lib/facter/sssd.rb: cannot load such file -- util/sssd

If I edit this sssd.rb file like this :

--- lib/facter/sssd.rb.old      2015-12-08 14:06:41.000000000 +0100
+++ lib/facter/sssd.rb  2015-12-08 14:25:30.000000000 +0100
@@ -1,4 +1,8 @@
 begin
+  #puppetserver/puppet4
+  require_relative 'util/sssd'
+rescue NoMethodError
+  #puppet master/puppet3
   require 'facter/util/sssd'
 rescue LoadError
   # Puppet 2 compatibility, facter/ dir is the load path, not lib/

Then the puppet apply is not erroring out anymore.

I think the NoMethodError rescue is required, because require_relative does not seem to work on a an "old" puppet3.8 host.
Since I really am not a ruby developper, I prefer submitting an issue with awork around than a pull requests (+ tests that I don't know how to write (yet)), hope you don't mind...

Regards

Defining 'custom_repo' as 'true' in Foreman ENC Still Results in Creation of EPEL and SCL Repos on EL 7

I have attempted to override the 'custom_repo' parameter to 'true' (with Key Type set to 'boolean') from the Foreman ENC. Based on Foreman's YAML output, I can see that this is getting distributed to the nodes:

foreman:
[...]
    custom_repo: true
    puppetrun: true
[...]

However, even after deleting the '/etc/yum.repos.d/epel.repo' file and running Puppet again, I see that the repository is being re-added by the module.

[email protected]  ~  puppet agent -t                  
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Info: Caching catalog for <redacted>
Info: Applying configuration version '1469189976'
Notice: /Stage[main]/Foreman::Repos::Extra/Yumrepo[epel]/ensure: created
Info: changing mode of /etc/yum.repos.d/epel.repo from 600 to 644
Notice: Applied catalog in 5.69 seconds

The module does appear to respond as expected when manipulating the 'puppetrun' parameter within the Foreman ENC using the 'boolean' Key Type.

We have a local copy of EPEL stashed on a local mirror which we'd prefer instead, making it critical that enabling the 'custom_repo' parameter on this module be effective.

If I am missing something, please let me know!

Error 400 on SERVER: undefined method `has_key?'

Hi,

I get some not usual error which i cant solve by my self, therefore please help me configure out whats going on.

manifests file:

  $f = { item        => 'fact_values',
        search       => 'fact = ipaddres',
        per_page     => '1000',
        foreman_url  => 'https://foreman.mycompany.com',
        foreman_user => 'apiuser',
        foreman_pass => 'password',
        filter_result => 'true' }


  $hosts = foreman($f)

  file {'/opt/karen09.conf':
    content => "$hosts",
  }

Error:

Error: Could not retrieve catalog from remote server: Error 400 on SERVER: undefined method `has_key?' for ["foreman.mycompany.com", {"fqdn"=>"foreman.mycompany.com"}]:Array at /etc/puppet/environments/production/modules/profiles/manifests/manifests.pp:13 on node node.mycompany.com
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

Kindly Regards
Karen

WARNING: Cannot consider release theforeman-foreman-2.0. . .

Install theforeman-foreman from puppet returns the following messages:

Notice: Preparing to install into /root/install_foreman/modules ...
Notice: Downloading from https://forgeapi.puppetlabs.com ...
Warning: Cannot consider release theforeman-foreman-2.0.1: Malformed dependency: puppetlabs/apache. Exception was: Invalid 'version_range' field in metadata.json: Unparsable version range: "~> 0.10"

Warning: Cannot consider release theforeman-tftp-1.4.1: Malformed dependency: puppetlabs/xinetd. Exception was: Invalid 'version_range' field in metadata.json: Unparsable version range: "~> 1.1"

However, it does not appear to be impactful, as the current modules were installed :

/root/install_foreman/modules
└─┬ theforeman-foreman (v2.3.1)
├── adrien-alternatives (v0.3.0)
├── puppetlabs-apache (v1.2.0)
├─┬ puppetlabs-postgresql (v4.1.0)
│ ├── puppetlabs-apt (v1.7.0)
│ └─┬ puppetlabs-concat (v1.1.2)
│ └── puppetlabs-stdlib (v4.5.1)
├── theforeman-concat_native (v1.3.1)
└─┬ theforeman-tftp (v1.4.3)
└── puppetlabs-xinetd (v1.3.1)

Provide more generic parser functions as separate module

Hey guys,

I recently found the two parser functions random_password and cache_data to be incredible useful (in fact so useful, it makes me wonder why puppet doesn't have at least data caching as a core functionality). They could be very well usable in other puppet modules, so I'd like to suggest you to release them as in a separate puppet module or even separate modules.

Would this be possible?

Best Regards,
Patrick

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.