Jira (PUP-10679) Unable to install Ruby gem on Windows with ensure and version range

2020-09-28 Thread Matt Dainty (Jira)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-10679  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Unable to install Ruby gem on Windows with ensure and version range   
 

  
 
 
 
 

 
 Here's a summary of tests with and without a space between the operator and the version: 
 

 
 
Ensure 
5.5.21 
PUP-6563 reverted 
Comment 
 
 
~>2.2.0 
 
 
Windows seems to intercept the >2.2.0 and Gem only sees the ~ as a version 
 
 
~> 2.2.0 
 
 
  
 
 
=>2.2.0 
 
 
Gem requires a space regardless 
 
 
=> 2.2.0 
 
 
  
 

 
 There seems to be some secret Windows shell expansions that I'm not familiar with at play here.  
 

  
 
 
 
 

 
 
 

 
 

Jira (PUP-10679) Unable to install Ruby gem on Windows with ensure and version range

2020-09-28 Thread Matt Dainty (Jira)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-10679  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Unable to install Ruby gem on Windows with ensure and version range   
 

  
 
 
 
 

 
 Mihai Buzgau if I remove the space, I get this:  
 
 
 
 
 Error: Could not update: Execution of 'C:\opt\sensu\embedded\bin\gem.bat install -v "=>2.2.0" --no-document sensu-plugins-puppet' returned 1: ERROR: While executing gem ... (Gem::Requirement::BadRequirementError)  
 
 
  Illformed requirement ["=>2.2.0"]  
 
 
  C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/requirement.rb:105:in `parse'  
 
 
  C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/requirement.rb:135:in `block in initialize'  
 
 
  C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/requirement.rb:135:in `map!'  
 
 
  C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/requirement.rb:135:in `initialize'  
 
 
  C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/version_option.rb:55:in `new'  
 
 
  C:/opt/sensu/embedded/lib/ruby/site_ruby/2.4.0/rubygems/version_option.rb:55:in `block in add_version_option'  
 
 
  C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:548:in `conv_arg'  
 
 
  C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:676:in `parse'  
 
 
  C:/opt/sensu/embedded/lib/ruby/2.4.0/optparse.rb:1581:in `block in parse_in_order'  
   

Jira (PUP-10679) Unable to install Ruby gem on Windows with ensure and version range

2020-09-28 Thread Matt Dainty (Jira)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-10679  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Unable to install Ruby gem on Windows with ensure and version range   
 

  
 
 
 
 

 
 If I change my example to use '~> 2.2.0' for the ensure value as per PUP-6563 then that also explodes in the same way. If I revert the changes made by PUP-6563 then both the example in that ticket and my example start working. This leads me to suspect that the way this command was issued on Windows has changed and the quoting is now no longer needed. It makes sense therefore to revert this change, so I'll file a PR.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-bugs/JIRA.373310.160130644.44300.1601309100177%40Atlassian.JIRA.


Jira (PUP-10679) Unable to install Ruby gem on Windows with ensure and version range

2020-09-28 Thread Matt Dainty (Jira)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-10679  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Unable to install Ruby gem on Windows with ensure and version range   
 

  
 
 
 
 

 
 It's this block that is causing the problem:    
 
 
 
 
 if Puppet.features.microsoft_windows?  
 
 
   version = resource[:ensure]  
 
 
   command_options << "-v" << %Q["#{version}"] if (! resource[:ensure].is_a? Symbol) and useversion  
 
 
 else  
 
 
   command_options << "-v" << resource[:ensure] if (! resource[:ensure].is_a? Symbol) and useversion  
 
 
 end  
 
 
 
    For some reason the version string is treated differently on Windows and explicitly quoted. If I change the code to just use the same code as !Windows my test case works. This change looks like it was introduced by PUP-6563.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
   

Jira (PUP-10679) Unable to install Ruby gem on Windows with ensure and version range

2020-09-28 Thread Matt Dainty (Jira)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty created an issue  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 Puppet /  PUP-10679  
 
 
  Unable to install Ruby gem on Windows with ensure and version range   
 

  
 
 
 
 

 
Issue Type: 
  Bug  
 
 
Affects Versions: 
 PUP 5.5.21  
 
 
Assignee: 
 Unassigned  
 
 
Components: 
 Types and Providers  
 
 
Created: 
 2020/09/28 8:20 AM  
 
 
Priority: 
  Normal  
 
 
Reporter: 
 Matt Dainty  
 

  
 
 
 
 

 
 Puppet Version: 5.5.21 Puppet Server Version: n/a OS Name/Version: Windows 2012R2 The following example on Windows doesn't work:    
 
 
 
 
 package { 'sensu-plugins-puppet':  
 
 
   ensure   => '>= 2.2.0',  
 
 
   provider => gem,  
 
 
   command  => 'C:\\opt\\sensu\\embedded\\bin\\gem.cmd',  
 
 
 }
  
 

Jira (PDB-4710) PuppetDB 5.2.14 won't start

2020-05-04 Thread Matt Dainty (Jira)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty created an issue  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 PuppetDB /  PDB-4710  
 
 
  PuppetDB 5.2.14 won't start   
 

  
 
 
 
 

 
Issue Type: 
  Bug  
 
 
Affects Versions: 
 PDB 5.2.14  
 
 
Assignee: 
 Unassigned  
 
 
Components: 
 PuppetDB  
 
 
Created: 
 2020/05/04 2:49 AM  
 
 
Priority: 
  Normal  
 
 
Reporter: 
 Matt Dainty  
 

  
 
 
 
 

 
 Our PuppetDB installation was upgraded from 5.2.13 to 5.2.14. As soon as this happened PuppetDB wouldn't start and was throwing this error continuously:  
 
 
 
 
 2020-05-02 18:25:14,326 INFO  [o.e.j.u.log] Logging initialized @21674ms to org.eclipse.jetty.util.log.Slf4jLog  
 
 
 2020-05-02 18:25:16,717 INFO  [p.t.s.w.jetty9-service] Initializing web server(s).  
 
 
 2020-05-02 18:25:16,788 INFO  [p.p.pdb-routing] Starting PuppetDB, entering maintenance mode  
 
 
 2020-05-02 18:25:16,835 INFO  [p.t.s.s.status-service] Registering status callback function for service 'puppetdb-status', 

Jira (PDB-4709) PuppetDB 6.10 schema migration failed

2020-05-04 Thread Matt Dainty (Jira)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PDB-4709  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: PuppetDB 6.10 schema migration failed   
 

  
 
 
 
 

 
 I noticed a similar error when PuppetDB was upgraded from 5.2.13 to 5.2.14 over the weekend, I saw the same "Your PuppetDB database contains a schema migration numbered 1, but..." error message and PuppetDB wouldn't start. Downgrading back to 5.2.13 got things working again. I am going to investigate and see if I can see anything in the logs.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian Jira (v8.5.2#805002-sha1:a66f935)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-bugs/JIRA.357582.1588581307000.53656.1588584660038%40Atlassian.JIRA.


Jira (PUP-9792) Merge of lookup_options not working

2019-09-17 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-9792  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Merge of lookup_options not working   
 

  
 
 
 
 

 
 https://github.com/puppetlabs/puppet/pull/7726  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-bugs/JIRA.313541.1561115342000.101139.1568732040166%40Atlassian.JIRA.


Jira (PUP-9792) Merge of lookup_options not working

2019-09-17 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-9792  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Merge of lookup_options not working   
 

  
 
 
 
 

 
 Eventually I managed to unpick the multiple levels of caching and the following crude diff fixes the behaviour:  
 
 
 
 
 diff --git a/lib/puppet/pops/lookup/lookup_adapter.rb b/lib/puppet/pops/lookup/lookup_adapter.rb  
 
 
 index 4014aea..d531705 100644  
 
 
 --- a/lib/puppet/pops/lookup/lookup_adapter.rb  
 
 
 +++ b/lib/puppet/pops/lookup/lookup_adapter.rb  
 
 
 @@ -233,12 +233,12 @@ class LookupAdapter < DataAdapter  
 
 
  module_name = key.module_name # Retrieve the options for the module. We use nil as a key in case we have no module  
 
 
 -if !@lookup_options.include?(module_name)  
 
 
 +#if !@lookup_options.include?(module_name)  
 
 
options = retrieve_lookup_options(module_name, lookup_invocation, MergeStrategy.strategy(HASH))  
 
 
 -  @lookup_options[module_name] = options  
 
 
 -else  
 
 
 -  options = @lookup_options[module_name]  
 
   

Jira (PUP-9792) Merge of lookup_options not working

2019-09-16 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-9792  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Merge of lookup_options not working   
 

  
 
 
 
 

 
 I've managed to get my example to work by changing manifests/site.pp to just the following:  
 
 
 
 
 $bar = 'bar'  
 
 
    
 
 
 notice(lookup('foo'))  
 
 
 
  Basically by ensuring the top scope variable is set before any lookup() is called, it gets the correct merge behaviour. This does suggest that lookup_options is getting cached for the lifetime of the compile. I'm trying to find where in the code this caching is done but I'm not having much luck so far.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you 

Jira (PUP-9792) Merge of lookup_options not working

2019-09-16 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-9792  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Merge of lookup_options not working   
 

  
 
 
 
 

 
 There's no such option, (on 5.5.16 at least):  
 
 
 
 
 Error: Could not parse application options: invalid option: --evaluate   
 
 
 
  I'm already using --compile as part of my tests, however I don't get the correct answer with the puppet lookup CLI, nor within a normal catalog compile. Your first comment suggested a lack of cache eviction, my example does suggest the lookup options aren't re-evaluated once the top scope variables are set.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-bugs/JIRA.313541.1561115342000.99263.1568643240423%40Atlassian.JIRA.


Jira (PUP-9792) Merge of lookup_options not working

2019-09-12 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-9792  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Merge of lookup_options not working   
 

  
 
 
 
 

 
 Sorry, I didn't see your comments. I think I've managed to reduce this down to the following contrived example: hiera.yaml  
 
 
 
 
 ---  
 
 
 version: 5  
 
 
 defaults:  
 
 
   datadir: data  
 
 
   data_hash: yaml_data  
 
 
 hierarchy:  
 
 
   - name: YAML  
 
 
 paths:  
 
 
   - "%{bar}.yaml"  
 
 
   - "common.yaml"   
 
 
 
  data/common.yaml  
 
 
 
 
 ---  
 
 
 lookup_options:  
 
 
   

Jira (PUP-9792) Merge of lookup_options not working

2019-06-21 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty updated an issue  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 Puppet /  PUP-9792  
 
 
  Merge of lookup_options not working   
 

  
 
 
 
 

 
Change By: 
 Matt Dainty  
 

  
 
 
 
 

 
 *Puppet Version: 5.5.14* *Puppet Server Version: 5.3.8* *OS Name/Version: RHEL 7.x*In our Hiera data, we have made use of lookup_options to control the merge behaviour, so in our catch-all common.yaml there are entries such as:{noformat}  ---lookup_options:  profile::autofs::mounts:merge: hash {noformat}This works as desired. However we have some exceptions where we want to override this on a per-role basis back to the original "first" behaviour, so as we have a higher priority role level, I added the following in a role/foo.yaml:{noformat}  ---lookup_options:  profile::autofs::mounts:merge: first {noformat}If I use the "puppet lookup" command against the correct host, this appears to work as desired, using `--explain-options` I get the following result:{noformat}    Merged result: {"profile::autofs::mounts" => {  "merge" => "first"}  }{noformat}For any other hosts I still get the behaviour defined at the common level:{noformat}    Merged result: {"profile::autofs::mounts" => {  "merge" => "hash"}  } {noformat}All good. However this doesn't seem to actually apply to the lookup itself:{noformat}  Using merge options from "lookup_options" hashSearching for "profile::autofs::mounts"   Merge strategy hash   ... {noformat}It only ever picks up the behaviour defined at the common level.*Desired Behavior:*I would expect to see:{noformat}  Using merge options from "lookup_options"  first  hash Searching for "profile::autofs::mounts"    ... {noformat} i.e. (no merge strategy displayed here) *Actual Behavior:*One bit of information that might be relevant is that in order for our lookups to work from the CLI, I have to use the --compile option, so basically something like:{noformat}  puppet lookup --compile --environment  --node  profile::autofs::mounts --explain(-options){noformat}We have multiple backends/levels configured in Hiera, a mix of YAML/eYAML and using the HTTP backend too. I noticed there was PUP-7037 which was raised for similar behaviour but was ultimately traced to a typo. I'm confident this isn't down to a typo.  Edit: After a bit more experimenting, I was a bit confused about where "hash" should be printed vs other merge strategies, the 'Using merge options from "lookup_options" hash' is pretty much a fixed string, it's the presence/lack of "Merge strategy ..." that is the identifier.  
 

  
 
 
 
 

 
 
 

Jira (PUP-9792) Merge of lookup_options not working

2019-06-21 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty created an issue  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 Puppet /  PUP-9792  
 
 
  Merge of lookup_options not working   
 

  
 
 
 
 

 
Issue Type: 
  Bug  
 
 
Affects Versions: 
 PUP 5.5.14  
 
 
Assignee: 
 Unassigned  
 
 
Components: 
 Hiera & Lookup  
 
 
Created: 
 2019/06/21 4:09 AM  
 
 
Priority: 
  Normal  
 
 
Reporter: 
 Matt Dainty  
 

  
 
 
 
 

 
 Puppet Version: 5.5.14 Puppet Server Version: 5.3.8 OS Name/Version: RHEL 7.x In our Hiera data, we have made use of lookup_options to control the merge behaviour, so in our catch-all common.yaml there are entries such as:  
 
 
 
 
 ---  
 
 
 lookup_options:  
 
 
   profile::autofs::mounts:  
 
 
 merge: hash   
 
 
 
  This works 

Jira (PUP-9046) How to turn off the Hiera global level

2018-08-08 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty created an issue  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 Puppet /  PUP-9046  
 
 
  How to turn off the Hiera global level   
 

  
 
 
 
 

 
Issue Type: 
  Bug  
 
 
Affects Versions: 
 PUP 5.5.3  
 
 
Assignee: 
 Thomas Hallgren  
 
 
Components: 
 Hiera & Lookup  
 
 
Created: 
 2018/08/08 3:56 AM  
 
 
Priority: 
  Normal  
 
 
Reporter: 
 Matt Dainty  
 

  
 
 
 
 

 
 Puppet Version: 5.5.3 Puppet Server Version: 5.3.3 OS Name/Version: EL 7.5 I've just completed a migration to move Hiera from v3 to v5 and I would like to now completely disable the global level (/etc/puppetlabs/code/hiera.yaml) leaving just the environment and per-module levels. According to PUP-7641 I need to just have an empty zero-bytes hiera.yaml however with that, I still see with `puppet lookup --explain ...`:  
 
 
 
 
 Warning: /etc/puppetlabs/code/hiera.yaml: File exists but does not contain a valid YAML hash. Falling back to Hiera version 3 default config  
 
 
 Warning: /etc/puppetlabs/code/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5  
 
 
  (file: /etc/puppetlabs/code/hiera.yaml)  
 

Jira (PUP-6723) collector_transformer: add support for 'in' operator to facilitate 'not in'

2018-06-07 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-6723  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: collector_transformer: add support for 'in' operator to facilitate 'not in'   
 

  
 
 
 
 

 
 I just caught myself typing something like `Yumrepo <||> ~> Exec['yum clean all'] -> Package <| tag != "foo" and tag != "bar" |>` and remembering some nagging doubt in my head that it didn't work the last time I tried to do that and searching for this ticket. I agree with the sentiment that even if it's considered a breaking change nobody actually uses it this way as it's unusable  Adding some form of "in" and "not in" operators would be useful.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-bugs@googlegroups.com.
Visit this group at https://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/d/optout.


Jira (PUP-8773) Logging as JSON broken

2018-05-23 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty commented on  PUP-8773  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
  Re: Logging as JSON broken   
 

  
 
 
 
 

 
 Please see https://github.com/puppetlabs/puppet/pull/6852 for a PR that fixes this.  
 

  
 
 
 
 

 
 
 

 
 
 Add Comment  
 

  
 

  
 
 
 
  
 

  
 
 
 
 

 
 This message was sent by Atlassian JIRA (v7.7.1#77002-sha1:e75ca93)  
 
 

 
   
 

  
 

  
 

   





-- 
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-bugs@googlegroups.com.
Visit this group at https://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/d/optout.


Jira (PUP-8773) Logging as JSON broken

2018-05-23 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty updated an issue  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 Puppet /  PUP-8773  
 
 
  Logging as JSON broken   
 

  
 
 
 
 

 
Change By: 
 Matt Dainty  
 
 
Affects Version/s: 
 PUP 5.5.0  
 

  
 
 
 
 

 
 *Puppet Version: 5.5.1* *Puppet Server Version: n/a* *OS Name/Version: RHEL 7.x*Running the puppet agent with the --logdest option pointing at a JSON target file causes a Ruby backtrace.*Desired Behavior:*Puppet should log as JSON.*Actual Behavior:* Example output:{noformat}  # puppet agent -t --noop --logdest /tmp/foo.json/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:130:in `current_adapter': undefined method `[]' for # (NoMethodError)from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:139:in `dump'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/json.rb:70:in `dump'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log/destinations.rb:112:in `handle'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:191:in `block in newmessage'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:190:in `each'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:190:in `newmessage'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:308:in `initialize'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:88:in `new'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/log.rb:88:in `create'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:11:in `send_log'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:20:in `block (2 levels) in 'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/logging.rb:69:in `log_exception'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:673:in `rescue in exit_on_fail'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util.rb:660:in `exit_on_fail'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/application.rb:366:in `run'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:137:in `run'from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/command_line.rb:73:in `execute'from /opt/puppetlabs/puppet/bin/puppet:5:in `'{noformat}Change the log destination to /tmp/foo.txt and it doesn't error. It looks like this bug was introduced in 5.5.0, 5.4.0 still works as expected, possibly related to PUP-8501.  
 

  
 
 
 
 
  

Jira (PUP-8773) Logging as JSON broken

2018-05-23 Thread Matt Dainty (JIRA)
Title: Message Title


 
 
 
 

 
 
 

 
   
 Matt Dainty created an issue  
 

  
 
 
 
 

 
 
  
 
 
 
 

 
 Puppet /  PUP-8773  
 
 
  Logging as JSON broken   
 

  
 
 
 
 

 
Issue Type: 
  Bug  
 
 
Affects Versions: 
 PUP 5.5.1  
 
 
Assignee: 
 Unassigned  
 
 
Created: 
 2018/05/23 4:36 AM  
 
 
Priority: 
  Normal  
 
 
Reporter: 
 Matt Dainty  
 

  
 
 
 
 

 
 Puppet Version: 5.5.1 Puppet Server Version: n/a OS Name/Version: RHEL 7.x Running the puppet agent with the --logdest option pointing at a JSON target file causes a Ruby backtrace. Desired Behavior: Puppet should log as JSON. Actual Behavior:   Example output:  
 
 
 
 
 # puppet agent -t --noop --logdest /tmp/foo.json  
 
 
 /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:130:in `current_adapter': undefined method `[]' for # (NoMethodError)  
 
 
 from /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/multi_json-1.13.1/lib/multi_json.rb:139:in `dump'  
 
 
 from /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/json.rb:70:in `dump'  
 
  

Jira (PUP-7744) Puppet CA's CRL is prone to duplicate entries

2017-12-20 Thread Matt Dainty (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Matt Dainty commented on  PUP-7744 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Puppet CA's CRL is prone to duplicate entries  
 
 
 
 
 
 
 
 
 
 
Yes, just run into this via SERVER-115 and " doesn't always revoke what you expect" class="issue-link" data-issue-key="PUP-2569" style="color: #3b73af; text-decoration: none">

PUP-2569
 and associates. I now have a 8.5 MB CRL that contains ~ 180,000 individual revocations and as many as ~ 500 duplicate revocations for specific certificate serial numbers. I've used puppet cert reinventory to clean down inventory.txt so most of the old certificate serials are forgotten. Is it possible to rebuild the CRL and de-dupe it to just contain one of each serial number as I'm continually hitting the problem documented in SERVER-115 whereby any time I perform a puppet node clean it triggers a CRL rebuild that causes issues for any other connecting client(s), the size of the CRL can't not be contributing to this so the smaller I can make it the better. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 Add Comment 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 

 This message was sent by Atlassian JIRA (v7.0.2#70111-sha1:88534db) 
 
 
 
 
  
 
 
 
 
 
 
 
 
   





-- 
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-bugs@googlegroups.com.
Visit this group at https://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/d/optout.


Jira (PDB-3698) Build up of orphaned rows in edges and facts tables

2017-10-10 Thread Matt Dainty (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Matt Dainty commented on  PDB-3698 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Build up of orphaned rows in edges and facts tables  
 
 
 
 
 
 
 
 
 
 
Thanks for the response. I'll have to try and sort out getting the servers and agents upgraded to 5.x first before I can try the newer PDB out. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 Add Comment 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 

 This message was sent by Atlassian JIRA (v6.4.14#64029-sha1:ae256fe) 
 
 
 
 
  
 
 
 
 
 
 
 
 
   





-- 
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-bugs@googlegroups.com.
Visit this group at https://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/d/optout.


Jira (PDB-3698) Build up of orphaned rows in edges and facts tables

2017-10-10 Thread Matt Dainty (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Matt Dainty created an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 PuppetDB /  PDB-3698 
 
 
 
  Build up of orphaned rows in edges and facts tables  
 
 
 
 
 
 
 
 
 

Issue Type:
 
  Bug 
 
 
 

Affects Versions:
 

 PDB 4.4.0 
 
 
 

Assignee:
 

 Unassigned 
 
 
 

Components:
 

 PuppetDB 
 
 
 

Created:
 

 2017/10/10 6:49 AM 
 
 
 

Priority:
 
  Normal 
 
 
 

Reporter:
 
 Matt Dainty 
 
 
 
 
 
 
 
 
 
 
I've noticed in the PuppetDB PostgreSQL database that there seems to be a build up of what seem to be orphaned rows in both the edges and facts tables. For example: 
 
 
 
 
 
 
puppetdb=# SELECT COUNT(*) FROM edges WHERE certname NOT IN (SELECT certname FROM certnames); 
 
 
 
 
  count 
 
 

Jira (PUP-7179) Type aliases defined across multiple levels of modules

2017-02-04 Thread Matt Dainty (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Matt Dainty updated an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-7179 
 
 
 
  Type aliases defined across multiple levels of modules  
 
 
 
 
 
 
 
 
 

Change By:
 
 Matt Dainty 
 
 
 
 
 
 
 
 
 
 I have three modules; A, B and C.# Module C defines some type aliases.# Module B lists module C in `metadata.json` and defines some type aliases in terms of the ones in C, (`Variant`, `Array`, etc.).# Module A lists module B in `metadata.json` and uses the type aliases defined in B for parameter types.When I try and use module A I get errors similar to:{noformat}Class[A]: parameter 'myparam' references an unresolved type 'C::MyType'{noformat} `myparam` is defined in the class of type 'B::SomeType'. The workaround is to also add module C to module A's `metadata.json` even though it is installed on the host by virtue of installing module B. I would argue it should just work without this as I'm not explicitly using any of C's resources; it's a dependency of B's and that module is free to change it's dependencies as it sees fit. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 Add Comment 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 

 This message was sent by Atlassian JIRA (v6.4.14#64029-sha1:ae256fe) 
 
 
 
 
  
 
 
 
 
 
 
 
 
   





-- 
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-bugs@googlegroups.com.
Visit this group at https://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/d/optout.


Jira (PUP-7179) Type aliases defined across multiple levels of modules

2017-02-04 Thread Matt Dainty (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Matt Dainty created an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-7179 
 
 
 
  Type aliases defined across multiple levels of modules  
 
 
 
 
 
 
 
 
 

Issue Type:
 
  Bug 
 
 
 

Affects Versions:
 

 PUP 4.9.0 
 
 
 

Assignee:
 

 Unassigned 
 
 
 

Created:
 

 2017/02/04 9:56 AM 
 
 
 

Priority:
 
  Normal 
 
 
 

Reporter:
 
 Matt Dainty 
 
 
 
 
 
 
 
 
 
 
I have three modules; A, B and C. 
 

Module C defines some type aliases.
 

Module B lists module C in `metadata.json` and defines some type aliases in terms of the ones in C, (`Variant`, `Array`, etc.).
 

Module A lists module B in `metadata.json` and uses the type aliases defined in B for parameter types.
 
 
When I try and use module A I get errors similar to: 
 
 
 
 
 
 
Class[A]: parameter 'myparam' references an unresolved type 'C::MyType'
 
   

Jira (PUP-6648) Puppet 4.6.x breaks catalog.apply in unit tests

2016-08-25 Thread Matt Dainty (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Matt Dainty commented on  PUP-6648 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Puppet 4.6.x breaks catalog.apply in unit tests  
 
 
 
 
 
 
 
 
 
 
Thanks for the response, I'll try and apply a similar workaround. 
I agree this is something that puppetlabs-spec_helper should ideally handle as that gets pulled in by all of my modules. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 Add Comment 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 

 This message was sent by Atlassian JIRA (v6.4.13#64028-sha1:b7939e9) 
 
 
 
 
  
 
 
 
 
 
 
 
 
   





-- 
You received this message because you are subscribed to the Google Groups "Puppet Bugs" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-bugs@googlegroups.com.
Visit this group at https://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/d/optout.


Jira (PUP-6648) Puppet 4.6.x breaks catalog.apply in unit tests

2016-08-24 Thread Matt Dainty (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Matt Dainty updated an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-6648 
 
 
 
  Puppet 4.6.x breaks catalog.apply in unit tests  
 
 
 
 
 
 
 
 
 

Change By:
 
 Matt Dainty 
 
 
 
 
 
 
 
 
 
 I have the following automated test as part of my module:{ { code:ruby} require 'spec_helper'provider_class = Puppet::Type.type(:avahi_host).provider(:augeas)describe provider_class do  before :each doPuppet::Type.type(:avahi_host).stubs(:defaultprovider).returns described_classFileTest.stubs(:exist?).returns falseFileTest.stubs(:exist?).with('/etc/avahi/hosts').returns true  end  context 'with empty file' dolet(:tmptarget) { aug_fixture('empty') }let(:target) { tmptarget.path }it 'should create simple new entry' do  apply!(Puppet::Type.type(:avahi_host).new(:name => 'router.local',:ip   => '192.0.2.1',:target   => target,:provider => 'augeas',  ))  aug_open(target, 'Hosts.lns') do |aug|expect(aug.get("*[canonical = 'router.local']/ipaddr")).to eq('192.0.2.1')  endend  endend {code } } This works fine on any Puppet version I've tested with prior to 4.6.0 but with that or 4.6.1 I get the following error:  { { code} Failures:  1) Puppet::Type::Avahi_host::ProviderAugeas with empty file should create simple new entry Failure/Error: catalog.apply  Errno::ENOTDIR:   Not a directory @ dir_s_mkdir - /dev/null/state/transactionstore.yaml20160824-21390-1gzxywg.lock # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/file_system/uniquefile.rb:182:in `mkdir' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/file_system/uniquefile.rb:182:in `mkdir' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/file_system/uniquefile.rb:175:in `locking' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/file_system/uniquefile.rb:38:in `block in initialize' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/file_system/uniquefile.rb:134:in `create_tmpname' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/file_system/uniquefile.rb:28:in `initialize' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/util.rb:453:in `new' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/util.rb:453:in `replace_file' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/util/yaml.rb:32:in `dump' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/transaction/persistence.rb:82:in `save' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/transaction.rb:148:in `block in evaluate' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/graph/relationship_graph.rb:147:in `call' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/graph/relationship_graph.rb:147:in `traverse' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/transaction.rb:154:in `evaluate' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/resource/catalog.rb:222:in `block in apply' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/util/log.rb:159:in `with_destination' # /home/travis/.rvm/gems/ruby-2.1.6/gems/puppet-4.6.1/lib/puppet/transaction/report.rb:137:in `as_logging_destination' # 

Jira (PUP-6648) Puppet 4.6.x breaks catalog.apply in unit tests

2016-08-24 Thread Matt Dainty (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Matt Dainty created an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-6648 
 
 
 
  Puppet 4.6.x breaks catalog.apply in unit tests  
 
 
 
 
 
 
 
 
 

Issue Type:
 
  Bug 
 
 
 

Affects Versions:
 

 PUP 4.6.0, PUP 4.6.1 
 
 
 

Assignee:
 

 Unassigned 
 
 
 

Created:
 

 2016/08/24 5:47 AM 
 
 
 

Environment:
 
 
I've seen this both with Puppet gems locally on OS X and on Travis CI testing my module. 
 
 
 

Priority:
 
  Normal 
 
 
 

Reporter:
 
 Matt Dainty 
 
 
 
 
 
 
 
 
 
 
I have the following automated test as part of my module: 
{{require 'spec_helper' 
provider_class = Puppet::Type.type(:avahi_host).provider(:augeas) 
describe provider_class do 
 before :each do Puppet::Type.type(:avahi_host).stubs(:defaultprovider).returns described_class FileTest.stubs(:exist?).returns false FileTest.stubs(:exist?).with('/etc/avahi/hosts').returns true end 
 context 'with empty file' do let(:tmptarget)  { aug_fixture('empty') } 
 let(:target)  { tmptarget.path } 
 it 'should create simple new entry' do apply!(Puppet::Type.type(:avahi_host).new( :name => 'router.local', :ip => '192.0.2.1', :target => target, :provider => 'augeas', )) 
  

Jira (FACT-704) Docker support for virtual and is_virtual broken by systemd slices

2015-06-12 Thread Matt Dainty (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Matt Dainty commented on  FACT-704 
 
 
 
 
 
 
 
 
 
 


 
 
 
 
 
 
  Re: Docker support for virtual and is_virtual broken by systemd slices  
 
 
 
 
 
 
 
 
 
 
So for the benefit of the ticket the bug is reproduced by running Docker on top of at least CentOS 7 or possibly other systemd-based Linux distros. As systemd utilises cgroups they are already present when a docker container is launched thus creating its own cgroups as children of the systemd ones. 
This broke the facter detection logic which expected the docker-created cgroups to be the root of the cgroup hierarchy, the facter logic would then fall through and detect either the physical machine or virtualisation used for the Docker host as applicable. 
The Linux distro running inside Docker doesn't have to be systemd-based, I reproduced the problem with both CentOS 6 and 7. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 Add Comment 
 
 
 
 
 
 
 
 
 
 


 
 
 
 
 
 
 
 
 

 This message was sent by Atlassian JIRA (v6.3.15#6346-sha1:dbc023d) 
 
 
 
 
  
 
 
 
 
 
 
 
 
   





-- 
You received this message because you are subscribed to the Google Groups Puppet Bugs group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-bugs@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/d/optout.


Jira (FACT-704) Docker support for virtual and is_virtual broken by systemd slices

2015-06-11 Thread Matt Dainty (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Matt Dainty commented on  FACT-704 
 
 
 
 
 
 
 
 
 
 


 
 
 
 
 
 
  Re: Docker support for virtual and is_virtual broken by systemd slices  
 
 
 
 
 
 
 
 
 
 
I've created PR's for facter and cfacter that should fix this. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 Add Comment 
 
 
 
 
 
 
 
 
 
 


 
 
 
 
 
 
 
 
 

 This message was sent by Atlassian JIRA (v6.3.15#6346-sha1:dbc023d) 
 
 
 
 
  
 
 
 
 
 
 
 
 
   





-- 
You received this message because you are subscribed to the Google Groups Puppet Bugs group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-bugs+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-bugs@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-bugs.
For more options, visit https://groups.google.com/d/optout.


Jira (FACT-236) Facter RPM should not require virt-what

2014-04-02 Thread Matt Dainty (JIRA)
Title: Message Title










 

 Matt Dainty commented on an issue


















  Re: Facter RPM should not require virt-what 










I've been wandering around trying to find out why facter is not giving me ec2 facts on EC2, (it turns out this is due to them being in a VPC and the MAC-based detection logic doesn't work).
For virt-what not working, I think all you're missing is this:


mount -t xenfs none /proc/xen



With that, /proc/xen is populated and virt-what correctly reports I'm in a domU and therefore facter too.
I just include a mount resource if virtual reports xen or xenu to enforce this.












   

 Add Comment

























 Facter /  FACT-236



  Facter RPM should not require virt-what 







 There is a bug in virt-what that causes facter to behave incorrectly.  https://bugzilla.redhat.com/show_bug.cgi?id=973663  http://projects.puppetlabs.com/issues/7559#note-71   I'm currently in the process of updating my automation to install facter (and thus puppet) as gems instead of RPM's due to the fact that the RPM (after v1.6.10) requires the virt-w...















 This message was sent by Atlassian JIRA (v6.1.4#6159-sha1:44eaede)