Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-23 Thread Josh Cooper (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Josh Cooper updated an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-7657 
 
 
 
  Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 

Change By:
 
 Josh Cooper 
 
 
 

Fix Version/s:
 
 PUP 4.10.5 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-23 Thread Josh Cooper (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Josh Cooper commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 

it's needed to establish which one of them that is the default for the given platform
 
The comment in the code says that's why we're loading all providers, but I don't believe it's accurate. The master never needs to know what the default provider is, as it never emits a provider =>  in the generated catalog. The only time the default provider needs to be known is on the agent. 
I started a spike awhile ago so that we only loaded all providers for each type as part of the catalog.to_ral logic that happens on the agent. I ran into the issue mentioned earlier about the settings catalog on the master. In that case we do need to load all providers for the user, group, and file types to figure out which one to use. 
Since there were no code changes, and a new ticket was created for the resource collector issue, I'm going to remove the fixVersion. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Thomas Hallgren (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Thomas Hallgren commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
I agree that it doesn't make much sense to load the providers during compile. That's why we provide the puppet generate types solution. With PUP-7674 in place, the generated types should prevent all ruby types and providers from being loaded during compile. 
We can of course investigate if the load of providers could be prevented in general in the compile phase, but I think that would be a non-trivial given that we don't know if that compile then will be followed by an apply (on the same master). Should that happen, then the type must be reloaded, this time with providers. Some additional housekeeping of states would be needed in order to make that work seamlessly. I think it's unlikely that we will investigate that further since the consensus is that loading ruby code during compile is a bad idea in general. The solution is to use generated types. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
 
I looked into it, and I don't think it's that bad actually. What happens is that when the type is created, it loads all providers for that type. So although it's a "load all", it's not a "load all types".
 
Yes, correct. This behaviour is mentioned here. 
Once a type is needed it's read from disk. After that, the next step in newtype() is to loadall() all the providers available for it (example – second formatted block). If the provider does not work in the master (for instance, missing dependencies) the type loading error is cached (the action, not the error itself) and the compilation aborts (unable to load provider...). The next compilation by the same thread succeeds if the failure in loading the provider is not critical for the type definition to be used to validate what's in the catalog. That's exactly what's happening with the specific example on this ticket, the Nova_network type. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Thomas Hallgren (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Thomas Hallgren commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
I looked into it, and I don't think it's that bad actually. What happens is that when the type is created, it loads all providers for that type. So although it's a "load all", it's not a "load all types". 
The reason all providers for a type is loaded is that it's needed to establish which one of them that is the default for the given platform. That could perhaps be optimized, especially for 'package' which has a large number of providers. Not sure how though, since the file name doesn't seem to follow any specific convention. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Kenn Hussey (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Kenn Hussey updated an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-7657 
 
 
 
  Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 

Change By:
 
 Kenn Hussey 
 
 
 

Team:
 
 Agent 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
We need to look into the calling of "load all types" - that is bad in any case. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg updated an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-7657 
 
 
 
  Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 

Change By:
 
 Henrik Lindberg 
 
 
 

Priority:
 
 Major Normal 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg updated an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-7657 
 
 
 
  Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 

Change By:
 
 Henrik Lindberg 
 
 
 

Priority:
 
 Normal Major 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Thomas Hallgren (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Thomas Hallgren commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
I created ticket PUP-7674 to track progress for the collectors problem. The problem described here should be able to circumvent using puppet generate types so this ticket is in some sense blocked by that ticket, even if it's not the same problem. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Thomas Hallgren (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Thomas Hallgren updated an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-7657 
 
 
 
  Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 

Change By:
 
 Thomas Hallgren 
 
 
 

Fix Version/s:
 
 PUP 4.10.5 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Thomas Hallgren (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Thomas Hallgren assigned an issue to Thomas Hallgren 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-7657 
 
 
 
  Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 

Change By:
 
 Thomas Hallgren 
 
 
 

Assignee:
 
 Nacho Barrientos Thomas Hallgren 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Thomas Hallgren (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Thomas Hallgren commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Thanks Nacho Barrientos. That was very helpful. One bug related to generated types is indeed squashed but that revealed another. The problem here seems to be an oversight in the collector where the check for the generated type is missing. The good news is that this should be easy to fix. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-19 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Thomas Hallgren, there you go: 
 
 
 
 
 
 
 [qtp1249723194-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): /var/lib/puppet/environments/inc1382019/modules/nova/lib/puppet/type/nova_network.rb inc1382019 
 
 
 
 
 [qtp1249723194-67] [puppetserver] Puppet CERN - load_file: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:209:in `load' 
 
 
 
 
 [qtp1249723194-67] [puppetserver] Puppet CERN - load_file: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:173:in `type' 
 
 
 
 
 [qtp1249723194-67] [puppetserver] Puppet CERN - load_file: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:389:in `resource_type' 
 
 
 
 
 [qtp1249723194-67] [puppetserver] Puppet CERN - load_file: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:377:in `resource_type' 
 
 
 
 
 [qtp1249723194-67] [puppetserver] Puppet CERN - load_file: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/resource.rb:318:in `initialize' 
 
 
 
 
 [qtp1249723194-67] [puppetserver] Puppet CERN - load_file: /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/evaluator/collectors/catalog_collector.rb:13:in `initialize' 
 
 
 
 
 [qtp1249723194-67] [puppetserver] Puppet CERN - load_file: 

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Thomas Hallgren (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Thomas Hallgren commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Nacho Barrientos, would it be possible for you to produce a stack-trace of the calls that lead up to the load of the ruby type after you patched the code-base? It must be different from what's included in the trace above. Given that a generated type is present, there should be no way that a load can reach line runtime3_type_loader.rb:69 where it loads the Ruby type: 
 
 
 
 
 
 
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:171:in `type' 
 
 
 
 
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/runtime3_type_loader.rb:69:in `find_impl' 
 
 
 
 
/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/pops/loader/runtime3_type_loader.rb:55:in `find'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 Add Comment 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 

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

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Ok, so to summarise, even if we managed to get generate_types to work and that prevented the type loader from loading all the providers when compiling a catalog, it'd be something that we could not deploy inmmediatly as we'd have to think how to integrate it with the system that generates our Puppet environments. 
After seeing how the master behaves when that feature is not used (the type loader loads always all providers for all types – quite arguable) I'm going to propose to my colleagues to patch the nova module locally to require the deps by path. 
 
 
 
 
 
 
-require 'puppet/provider/openstack' 
 
 
 
 
-require 'puppet/provider/openstack/auth' 
 
 
 
 
-require 'puppet/provider/openstack/credentials' 
 
 
 
 
+require File.join(File.dirname(__FILE__), '..','..','..', '..', 'openstacklib/lib/puppet/provider/openstack') 
 
 
 
 
+require File.join(File.dirname(__FILE__), '..','..','..', '..', 'openstacklib/lib/puppet/provider/openstack/auth') 
 
 
 
 
+require File.join(File.dirname(__FILE__), '..','..','..', '..', 'openstacklib/lib/puppet/provider/openstack/credentials')
 
 
 
 
 
 
 
This seems to work and the catalog always compiles 
 
 
 
 
 
 
   

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
A hypotheses is that even if generated types is in use in the environment, the newtype in Puppet::Metatype::Manager gets called for puppet's native types, and then that somehow drags in providers for types that are described by generate_types... 
A reproducer is needed.  
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Hi, 
Thanks for your suggestion. 
6156a6ba4640f617b5df42bea011b5ef548ad542 applied on top of 4.9.4, .resource_types generated for the environment of the host requesting the catalog, master restarted but I get the same result, the Ruby types are loaded: 
 
 
 
 
 
 
2017-06-15 17:41:06,277 WARN  [qtp1435036242-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): /var/lib/puppet/environments/inc1382019/modules/nova/lib/puppet/type/nova_network.rb inc1382019 
 
 
 
 
2017-06-15 17:41:06,280 WARN  [qtp1435036242-67] [puppetserver] Puppet CERN - autoloader: loadall puppet/provider/nova_network inc1382019 
 
 
 
 
2017-06-15 17:41:06,288 WARN  [qtp1435036242-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): /var/lib/puppet/environments/inc1382019/modules/nova/lib/puppet/provider/nova_network/nova.rb inc1382019
 
 
 
 
 
 
 
 
 
 
 
 
 
$ head /var/lib/puppet/environments/inc1382019/.resource_types/nova_network.pp  
 
 
 
 
# This file was automatically generated on 2017-06-15 17:38:52 +0200. 
 
 
 
 
# Use the 'puppet generate types' command to regenerate this file. 
 
 
 
 
  

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Thomas Hallgren (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Thomas Hallgren commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Nacho Barrientos, would it be possible for you to try with code where the fix for PUP-7650 is included? The fact that a ruby type is loaded even though types have been generated makes me suspect that the uppercase problem is causing problems here too. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Ping Thomas Hallgren - any other suggestions for Nacho Barrientos? 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Ah - the server side manages itself with a catalog - for that it makes an apply run enforcing the state described by settings. For those resource types there must be loading of the resource type implementations in Ruby - when doing that the master is also an agent managing itself. That load should not load all types though. (I believe we have tests in place to ensure that when a 'generate types' have made a type available that it is only loaded in that form and not as a Ruby resource implementation - which it would if there was a greedy loadall. The tests could have a holes in them though) 
Before going down the path of "yeah it is puppet that loads all when it should not" - lets confirm a couple of things: 
 

Scan for loadall in all of your code that is not puppet core (all ruby files in all modules).
 

You are on Puppet 4.9.4
 

You are not using Foreman (just want to rule it out)
 

If your 'production' (or rather default-) environment does not have the module with nova_network, does it then work having the nova_network in other environments?
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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 

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
After following the stack when loadall is executed, it seems to come from here: 
https://github.com/puppetlabs/puppet/blob/master/lib/puppet/metatype/manager.rb#L126 
 
 
 
 
 
 
Puppet CERN - autoloader: loadall puppet/provider/nova_network inc1382019  
 
 
 
 
["/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/util/autoload.rb:212:in `loadall'", 
 
 
 
 
 "/opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/metatype/manager.rb:126:in `newtype'",  
 
 
 
 
"/var/lib/puppet/environments/inc1382019/modules/nova/lib/puppet/type/nova_network.rb:
 
 
 
 
 
 
 
That makes sense on the agent perhaps, but not on the master side, does it? 
 
 
 
 
 
 
 
 
 
 
 
 

 
 Add Comment 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 

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

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Well, it happens too with core types: 
 
 
 
 
 
 
2017-06-15 14:26:47,074 WARN  [qtp1205135533-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/package.rb inc1382019 
 
 
 
 
2017-06-15 14:26:47,083 WARN  [qtp1205135533-67] [puppetserver] Puppet CERN - autoloader: loadall puppet/provider/package inc1382019 
 
 
 
 
2017-06-15 14:26:47,135 WARN  [qtp1205135533-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): /var/lib/puppet/environments/inc1382019/modules/chocolatey/lib/puppet/provider/package/chocolatey.rb inc1382019 
 
 
 
 
...
 
 
 
 
 
 
 
Also when the master starts it loads a bunch of things, eg: 
 
 
 
 
 
 
2017-06-15 14:21:51,422 WARN  [clojure-agent-send-pool-0] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/type/file.rb production 
 
 
 
 
2017-06-15 14:21:51,450 WARN  [clojure-agent-send-pool-0] [puppetserver] Puppet CERN - autoloader: loadall puppet/provider/file production 
 
 
 
 
2017-06-15 14:21:51,462 WARN  [clojure-agent-send-pool-0] [puppetserver] Puppet CERN - 

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Nacho Barrientos are you on Slack? May be easier and faster to get help there - #puppet-dev channel 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
A loadall is an incredibly bad thing to do. That is not expected. Purge with fire. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
I mean an actual stack trace from that load. 
I suspect it is something that is not in puppet core that causes that load to take place. The `generate type` result is used by the compiler - it does not prevent code from calling the explicit loading of a Ruby resource type implementation. Also, if that happens before the compiler wants that type it will use the already loaded type. So - any ruby code that is auto loaded early that requires the type or its providers is suspect. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Is it expected than when a type is loaded by the master Puppet::Util::Autoload.loadall is called on all the providers? For example: 
 
 
 
 
 
 
2017-06-15 14:06:27,486 WARN  [qtp529923418-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): /var/lib/puppet/environments/inc1382019/modules/network/lib/puppet/type/network_config.rb inc1382019 
 
 
 
 
2017-06-15 14:06:27,488 WARN  [qtp529923418-67] [puppetserver] Puppet CERN - autoloader: loadall puppet/provider/network_config inc1382019 
 
 
 
 
2017-06-15 14:06:27,495 WARN  [qtp529923418-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): /var/lib/puppet/environments/inc1382019/modules/network/lib/puppet/provider/network_config/interfaces.rb inc1382019 
 
 
 
 
2017-06-15 14:06:27,503 WARN  [qtp529923418-67] [puppetserver] Puppet CERN - autoloader: load_file (loaded): /var/lib/puppet/environments/inc1382019/modules/network/lib/puppet/provider/network_config/interfaces.rb inc1382019 
 
 
 
 
2017-06-15 14:06:27,505 WARN  [qtp529923418-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): /var/lib/puppet/environments/inc1382019/modules/network/lib/puppet/provider/network_config/redhat.rb inc1382019 
 
 
 
 
2017-06-15 14:06:27,508 WARN  [qtp529923418-67] [puppetserver] Puppet CERN - autoloader: load_file (loaded): /var/lib/puppet/environments/inc1382019/modules/network/lib/puppet/provider/network_config/redhat.rb inc1382019 
 
 
 
 
2017-06-15 14:06:27,509 WARN  [qtp529923418-67] [puppetserver] Puppet CERN - autoloader: load_file (loaded): 

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Then I must be doing something wrong: 
 
 
 
 
 
 
Notice: Generating '/var/lib/puppet/environments/inc1382019/.resource_types/nova_network.pp' using 'pcore' format. 
 
 
 
 
... 
 
 
 
 
bash-4.2$ pwd 
 
 
 
 
/var/lib/puppet/environments/inc1382019 
 
 
 
 
bash-4.2$ stat .resource_types/nova_network.pp 
 
 
 
 
  File: ‘.resource_types/nova_network.pp’ 
 
 
 
 
  Size: 2622  	Blocks: 8  IO Block: 4096   regular file
 
 
 
 
 
 
 
The environmentpath for the master is /var/lib/puppet/environments. 
The type seems to be loaded by the autoloader from the environment itself: 
 
 
 
 
 
 
2017-06-15 13:44:09,685 WARN  [qtp1992813264-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): /var/lib/puppet/environments/inc1382019/modules/nova/lib/puppet/type/nova_network.rb inc1382019 
  

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Hm, when a type is described with generate types the compilation does not load that type's Ruby implementation, nor its providers - it is all loaded from metadata. If your generation worked (there is a description of the type in question) and the server is restarted (guarantee that the Ruby version of the resource type is not in memory in any environment) then the loading of that provider must come from a different code path. 
You can try putting a break point in the loader that breaks when attempting to load the "nova.rb" and then look at the call stack. That should reveal where it comes from. 
And BTW - we can continue this discussion until we know what is going on. Can always reopen when the cause is found. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
 
You can try to use the generate types solution that is used to overcome environment isolation problems.
 
I'm afraid that this does not make any difference . After generating .resource_types for the environment of the node requesting the catalog the behaviour is the same: the first compilation fails (the master tries to load puppet/provider/nova_network/nova.rb, the failure is cached and the compilation succeeds after trying again.) 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
 
Yes, I totally agree. The prime goal should be to understand why the master is trying to load puppet/provider/nova_network/nova when looking up puppet/type/nova_network
 
I've added some debug statements to util/autoload.rb's load_file method to see what and when files are requested to be loaded. What I'm seeing is that during the first catalog request after puppetserver is restarted plenty of providers are loaded: 
 
 
 
 
 
 
2017-06-15 11:29:17,497 WARN  [qtp1376959403-67] [puppetserver] Puppet CERN - autoloader: load_file (loaded): puppet/provider/service/launchd 
 
 
 
 
2017-06-15 11:29:17,499 WARN  [qtp1376959403-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): puppet/provider/service/openbsd 
 
 
 
 
2017-06-15 11:29:17,503 WARN  [qtp1376959403-67] [puppetserver] Puppet CERN - autoloader: load_file (loaded): puppet/provider/service/openbsd 
 
 
 
 
2017-06-15 11:29:17,504 WARN  [qtp1376959403-67] [puppetserver] Puppet CERN - autoloader: load_file (trying to load): puppet/provider/service/openrc 
 
 
 
 
2017-06-15 11:29:17,506 WARN  [qtp1376959403-67] [puppetserver] Puppet CERN - autoloader: load_file (loaded): puppet/provider/service/openrc 
 
 
 
 
...
 
 
 
 
 
 
 
Until it attempts to load puppet/provider/nova_network/nova when it fails for the reasons that we seem to understand (see my previous comments) 
 

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-15 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
 
Henrik Lindberg just responding to the ping from earlier. It seems like in order for the file containing the Puppet::Provider::Nova class to be able to resolve the puppet/provider/openstack require without using a fully-qualified path that a plugin sync of the openstack module would have needed to happen. The pluginsync might explain why in this case that the problem only seemed to happen during the first agent run.
 
Our masters never pluginsync the openstacklib module (the one that ships puppet/provider/openstack) therefore if that was the issue, shouldn't all compilations be failing? 
 
 
 
 
 
 
# puppetserver irb 
 
 
 
 
irb(main):001:0> require 'puppet' 
 
 
 
 
=> true 
 
 
 
 
irb(main):002:0> require 'puppet/provider/firewall' 
 
 
 
 
=> true 
 
 
 
 
irb(main):003:0> require 'puppet/provider/openstack' 
 
 
 
 
LoadError: no such file to load -- puppet/provider/openstack
 
 
 
 
 
 
 
Perhaps the failure is cached? 
On the other hand this would be bad as that code would be taken from the environment of the master, not the environment of 

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-14 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Hi, 
 
ok, I will close this issue as there does not seem to be anything that is wrong with puppet.
 
I tend to disagree, we don't know that yet for sure until we figure out why the provider is loaded by the master. It's not clear to me if that's the module's or the master's fault, is it to you? 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-14 Thread Jeremy Barlow (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Jeremy Barlow commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Henrik Lindberg just responding to the ping from earlier. It seems like in order for the file containing the Puppet::Provider::Nova class to be able to resolve the puppet/provider/openstack require without using a fully-qualified path that a plugin sync of the openstack module would have needed to happen. The pluginsync might explain why in this case that the problem only seemed to happen during the first agent run. 
In any event, I agree with you that it would seem best to avoid having any of the provider code be sourced during compilation on the master since it seems like that code should only run client side. Thanks! 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-14 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
ok, I will close this issue as there does not seem to be anything that is wrong with puppet. 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-14 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Hi Henrik, 
It's nice to chat to you again. 
 
...a provider should not be loaded during compilation - that could indicate a bad implementation in that type.
 
Yes, indeed, that was the first thing that I thought that was not clicking in. 
I've managed to find an older version of the module with which the reproducer above does not trigger the issue under the same circumstances. The puzzling part is that the diff of the lib directory does not reveal any change made to the type in question, although the only provider for that type is renamed and modified. 
 
 
 
 
 
 
$ g diff good..bad --stat -- lib/ 
 
 
 
 
 lib/facter/libvirt_uuid.rb |  11 +++ 
 
 
 
 
 lib/puppet/provider/nova.rb| 140 +--- 
 
 
 
 
 lib/puppet/provider/nova_aggregate/nova.rb | 173 - 
 
 
 
 
 lib/puppet/provider/nova_aggregate/openstack.rb| 107 +++ 
 
 
 
 
 lib/puppet/provider/nova_config/ini_setting.rb |  10 -- 
 
 
 

Jira (PUP-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-14 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Nacho Barrientos a provider should not be loaded during compilation - that could indicate a bad implementation in that type. 
You can try to use the generate types solution that is used to overcome environment isolation problems. If that works for this particular type it will make sure (among other things) that no provider is loaded when compiling. See here: https://docs.puppet.com/puppet/latest/environment_isolation.html 
It should be fairly simple to try running with that to see if that makes the problem go away (given that the type in question is reasonably sane). 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-14 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg assigned an issue to Nacho Barrientos 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-7657 
 
 
 
  Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 

Change By:
 
 Henrik Lindberg 
 
 
 

Assignee:
 
 Nacho Barrientos 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-14 Thread Henrik Lindberg (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Henrik Lindberg commented on  PUP-7657 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
  Re: Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 
 
Jeremy Barlow does this problem seem familiar? 
 
 
 
 
 
 
 
 
 
 
 
 

 
 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-7657) Providers requiring files in other modules might cause intermittent compilation failures

2017-06-14 Thread Nacho Barrientos (JIRA)
Title: Message Title
 
 
 
 
 
 
 
 
 
 
  
 
 Nacho Barrientos created an issue 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 Puppet /  PUP-7657 
 
 
 
  Providers requiring files in other modules might cause intermittent compilation failures  
 
 
 
 
 
 
 
 
 

Issue Type:
 
  Bug 
 
 
 

Assignee:
 

 Unassigned 
 
 
 

Components:
 

 Puppet Server 
 
 
 

Created:
 

 2017/06/14 12:39 AM 
 
 
 

Priority:
 
  Normal 
 
 
 

Reporter:
 
 Nacho Barrientos 
 
 
 
 
 
 
 
 
 
 
Hello, 
Please take this report for the moment as a call for help debugging although it might end up becoming a bug report. The Puppet version over here is 4.9.4. 
We're experiencing intermittent compilation failures in nodes making using of the following modules: 
 

https://github.com/openstack/puppet-openstacklib/tree/stable/newton
 

https://github.com/openstack/puppet-nova/tree/stable/newton
 
 
The snippet to reproduce the issue is pretty simple: 
 
 
 
 
 
 
  Package<| tag ==