Jira (PUP-7882) lookup() function: set a kind of default value which is merged
Title: Message Title Francois Lafont commented on PUP-7882 Re: lookup() function: set a kind of default value which is merged Hi, @Henrik Lindberg: Ok, but I absolutely don't see how it's possible to do the same with lookup() etc. Is it possible to have explanations? The default value is never merged with the lookup() function, so I don't see any solution. 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-7882) lookup() function: set a kind of default value which is merged
Title: Message Title Francois Lafont commented on PUP-7882 Re: lookup() function: set a kind of default value which is merged Henrik Lindberg, it's probably possible to do the transformation via a function (for instance) but it seems to me not so easy in the case of a deep merging for instance (in fact the case of the deep merge seems to me very complex, am I wrong?). Furthermore, it seems to me quiet relevant to use directly the code of the lookup() function, to match exactly with the merge policy of the current parameter. The possibility to use a kind of default_merged_value option in lookup seems to me very convenient, even if, from my point of view, it should be an option to use... sparingly (in fact, the only case I see is the case I have tried to explain in my previous messages). That being said, maybe I'm wrong. As I said, feel free to close the ticket if you think it's not a good idea. 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-7882) lookup() function: set a kind of default value which is merged
Title: Message Title Francois Lafont commented on PUP-7882 Re: lookup() function: set a kind of default value which is merged I try to give my exact context, it will be probably better. I have a module etckeeper which installs and configures etckeeper to put the configuration of my servers in a centralized git repository. In this module, I have this parameter etckeeper::repositories which has deep as default merge policy (set by the module) and its default value (set in the function etckeeper::data() in my case) is: # Default value of etckeeper::repositories (default merge policy is deep). # # * For /etc, it means that the gitignore is not managed by Puppet # * For /usr/local, no "gitignore" key, it means that the gitignore is # managed by Puppet but it is empty. # * For /opt, it means that the gitignore is managed by Puppet and # it contains the lines in the array. { '/etc' => {'gitignore' => undef},
Jira (PUP-7882) lookup() function: set a kind of default value which is merged
Title: Message Title Francois Lafont commented on PUP-7882 Re: lookup() function: set a kind of default value which is merged Sorry, I try to be clear. With this code: $options = { 'default_merged_value' => { ... a specific value... }, } $specific_value_for_this_role = lookup('mymod::var', $options) I would like this: The lookup of the key mymod::var is made (via the merge policy set by the module, it's was deep in my example) but during the lookup, everything happens as if the value of default_merged_value has been put in a special last level (and last layer) in hierarchy (last level which is not available in the real hierarchy in fact, it will be only available for the lookup() function in Puppet code). This is why I have chosen the term of default_merged_value (but it's maybe not a relevant choice). In my example in my previous message, I don't want to force all the value of the hash mymod::var, but I want to make sure that a part of the hash follows some criteria (an array inside the hash must have at least one specific element), which is possible easily with my "default_merged_value" and the deep merging. Is it clear now?
Jira (PUP-7882) lookup() function: set a kind of default value which is merged
Title: Message Title Francois Lafont updated an issue Puppet / PUP-7882 lookup() function: set a kind of default value which is merged Change By: Francois Lafont Hi,In brief, it will be convenient to be able to set a kind of default value in the {{lookup()}} function where this default value is merged with the "normal" value of the lookup. Now I try to give an example below to explain more precisely my idea.Suppose that I have a module {{mymod}} which has a parameter {{var}} which is a hash. Suppose that the default merge policy of this parameter {{mymod::var}} is {{deep}}. Now, I have a "role" class called {{myrole}} which inlcudes the class {{mymod}}. In this role, I need to set the {{var}} parameter to a specific value. So, for instance, in my hierarchy, I can set this in the file {{fqdn/$fqdn.yaml}}:{code:yaml}---mymod::var: { ... a specific value... }{code}With the 'deep' merge policy, I have *easily* and *exactly* the value I want for my role.But the problem is: this specific and final value of {{mymod::var}} is *intrinsic to my role*. I don't want the "hiera user" to be able to change this value in my role class because, if it is set to another value, my role has no meaning.So I would like to set this value directly in the body of my role class with something like that (the code is not currently valid of course because the feature doesn't exist yet):{code:puppet}class myrole { $options = {'default_merged_value' => { ... a specific value... }, } $specific_value_for_this_role = lookup('mymod::var', $options) class {'mymod':var => $specific_value_for_this_role, } }{code}Of course, this lookup option {{default_merged_value}} currently doesn't exist. The idea is:1. the {{lookup()}} makes its normal job of lookup...2. ... except that the {{default_merged_value}} is merged too in the lookup according to the current merge policy.I hope I'm clear...Maybe my request is not relevant (I don't think so but maybe I'm wrong), maybe it's not desirable, or maybe it is not easy to implement etc. Anyway, feel free to close this ticket if needed.Thanks for reading me. :) PS: edit typo Add Comment
Jira (PUP-7882) lookup() function: set a kind of default value which is merged
Title: Message Title Francois Lafont created an issue Puppet / PUP-7882 lookup() function: set a kind of default value which is merged Issue Type: New Feature Assignee: Unassigned Components: AIO Created: 2017/08/26 6:05 AM Priority: Normal Reporter: Francois Lafont Hi, In brief, it will be convenient to be able to set a kind of default value in the lookup() function where this default value is merged with the "normal" value of the lookup. Now I try to give an example below to explain more precisely my idea. Suppose that I have a module mymod which has a parameter var which is a hash. Suppose that the default merge policy of this parameter mymod::var is deep. Now, I have a "role" class called myrole which inlcudes the class mymod. In this role, I need to set the var parameter to a specific value. So, for instance, in my hierarchy, I can set this in the file fqdn/$fqdn.yaml: --- mymod::var: { ... a specif
Jira (PUP-7759) Is it a parser bug?
Title: Message Title Francois Lafont commented on PUP-7759 Re: Is it a parser bug? Ok, thanks for the explanations Henrik Lindberg. 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-7759) Is it a parser bug?
Title: Message Title Francois Lafont created an issue Puppet / PUP-7759 Is it a parser bug? Issue Type: Bug Affects Versions: PUP 4.10.4 Assignee: Unassigned Components: AIO Created: 2017/07/06 2:51 PM Priority: Normal Reporter: Francois Lafont Hi, Here is the simple code: file { "/tmp/foo": ensure => file, content =>
Jira (PUP-7654) Upgrade to puppet5-nightly: undefined method `key_attributes' for nil:NilClass
Title: Message Title Francois Lafont commented on PUP-7654 Re: Upgrade to puppet5-nightly: undefined method `key_attributes' for nil:NilClass Kenn Hussey, indeed if I upgrade puppetdb-termini too, all seems to work: # /opt/puppetlabs/bin/puppet agent --test Warning: Setting trusted_server_facts is deprecated. (at /opt/puppetlabs/puppet/lib/ruby/vendor_ruby/puppet/settings.rb:1159:in `issue_deprecation_warning') Info: Using configured environment 'production' Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Info: Caching catalog for puppet.athome.priv Info: Applying configuration version '1497395192' Notice: Applied catalog in 2.56 seconds
Jira (PDB-3550) Upgrade to puppet5-nightly : puppetdb doens't start
Title: Message Title Francois Lafont commented on PDB-3550 Re: Upgrade to puppet5-nightly : puppetdb doens't start Ok, it's clear now. Thanks Guys. Russell Mull, just FYI: Personally with the APT repo "puppet5-nightly" on Ubuntu Trusty I have not found a "PuppetServer 5" package. There are a "puppet-agent" package, a "puppetdb" package, a "puppetdb-termini" package but the "puppetserver" package is still the version 2.7.2 so no "Puppetserver 5" package unless I have missed something. I make you this notice because I don't really understand when you write "PuppetServer 5 requires Java 8" (I don't understand what is "PuppetServer 5" exactly). Java 8 is not available on Ubuntu Trusty so a PuppetServer 5 will not be possible (or not possible easily) on Ubuntu Trusty (which doesn't shock me it's just for information). 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-7654) Upgrade to puppet5-nightly: undefined method `key_attributes' for nil:NilClass
Title: Message Title Francois Lafont created an issue Puppet / PUP-7654 Upgrade to puppet5-nightly: undefined method `key_attributes' for nil:NilClass Issue Type: Bug Affects Versions: PUP 5.0.0 Assignee: Unassigned Attachments: puppetserver.log Components: AIO Created: 2017/06/12 7:03 PM Environment: OS: Ubuntu Trusty Packages before the upgrade puppet-agent: 1.10.1-1trusty (ie puppet version 4.10.1) puppetserver: 2.7.2-1puppetlabs1 puppetdb-termini: 4.4.0-1puppetlabs1 puppetdb: 4.4.0-1puppetlabs1 Packages after the upgrade puppet-agent: 4.99.0.202.ge36cade-1trusty (ie puppet version 5.0.0) Other packages are unchanged Priority: Normal Reporter: Francois Lafont
Jira (PUP-7649) Upgrade to puppet5-nightly : puppetdb doens't start
Title: Message Title Francois Lafont updated an issue Puppet / PUP-7649 Upgrade to puppet5-nightly : puppetdb doens't start Change By: Francois Lafont Environment: OS: Ubuntu TrustyPackages before the upgradepuppet-agent: 1.10.1-1trusty (ie puppet version 4.10.1)puppetserver: 2.7.2-1puppetlabs1puppetdb-termini: 4.4.0-1puppetlabs1puppetdb: 4.4.0-1puppetlabs1 Packages after the upgradepuppet-agent: 4.99.0.202.ge36cade-1trusty (ie puppet version 5.0.0)puppetserver: 2.7.2-1puppetlabs1puppetdb-termini: 5.0.0-0.1SNAPSHOT.2017.06.06T2148puppetlabs1puppetdb: 5.0.0-0.1SNAPSHOT.2017.06.06T2148puppetlabs1 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-7649) Upgrade to puppet5-nightly : puppetdb doens't start
Title: Message Title Francois Lafont created an issue Puppet / PUP-7649 Upgrade to puppet5-nightly : puppetdb doens't start Issue Type: Bug Affects Versions: PUP 5.0.0 Assignee: Unassigned Attachments: puppetdb-restart.txt, upgrade.txt Components: AIO Created: 2017/06/11 2:46 PM Environment: OS: Ubuntu Trusty Packages before the upgrade puppet-agent: 1.10.1-1trusty (ie puppet version 4.10.1) puppetserver: 2.7.2-1puppetlabs1 puppetdb-termini: 4.4.0-1puppetlabs1 puppetdb: 4.4.0-1puppetlabs1 Priority: Normal Reporter: Francois Lafont Hi, I have tried the upgr
Jira (PUP-5988) "puppet module upgrade" ignores changes if a module is upgraded as dependency
Title: Message Title Francois Lafont commented on PUP-5988 Re: "puppet module upgrade" ignores changes if a module is upgraded as dependency Henrik Lindberg, should I give additional information or my first message is enough? 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-7111) a None data type in Puppet?
Title: Message Title Francois Lafont commented on PUP-7111 Re: a None data type in Puppet? Just to be sure and clear , it will be definitively impossible to pass the undef value to a class parameter via a resource-like declaration like in the the code below, correct? class { 'mymod': param => undef, } Personally the Henrik Lindberg's proposal seemed to me a good idea (without regression). 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-bug
Jira (PUP-7458) Unclear meaning of default in a array in a case statement
Title: Message Title Francois Lafont commented on PUP-7458 Re: Unclear meaning of default in a array in a case statement Ah ok, sorry for the noise. So, if I understand well, the two case statements below are strictly equivalent, ie default ie strictly equivalent to Any in this context. Is it correct? case [ 1234, 'ab' ] { [default, String]: { 1 } [Integer, String]: { 2 } } case [ 1234, 'ab' ] { [Any, String]: { 1 } # <= Any instead of default [Integer, String]: { 2 } }
Jira (PUP-7458) Unclear meaning of default in a array in a case statement
Title: Message Title Francois Lafont created an issue Puppet / PUP-7458 Unclear meaning of default in a array in a case statement Issue Type: Bug Affects Versions: PUP 4.10.0 Assignee: Unassigned Components: Language Created: 2017/04/19 10:03 AM Priority: Normal Reporter: Francois Lafont Hi, Here is the puppet code: notice ( case 1234 {
Jira (PUP-7418) Deep merge regression when a value of subkey is an alias or an hiera interpolation
Title: Message Title Francois Lafont commented on PUP-7418 Re: Deep merge regression when a value of subkey is an alias or an hiera interpolation According to the --explain option, when I insert the alias, the Module "test" Data Provider (hiera configuration version 5) is completely skipped. 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-7418) Deep merge regression when a value of subkey is an alias or an hiera interpolation
Title: Message Title Francois Lafont commented on PUP-7418 Re: Deep merge regression when a value of subkey is an alias or an hiera interpolation Thomas Hallgren, I think I have a "minimal" and autonomous environment to reproduce the error, I hope. See the file pup-7818.tar.gz. To reproduce the problem: wget https://tickets.puppetlabs.com/secure/attachment/43842/pup-7418.tar.gz cd pup-7418/ pwd=$(pwd) /opt/puppetlabs/bin/puppet lookup 'test::param' --hiera_config="$pwd/hiera.yaml" --environmentpath="$pwd/environments" --environment=test --external_nodes="$pwd/enc.sh" --modulepath="$pwd/modules" Can you reproduce the problem now? Add Comment This message was sent by Atlassian JIRA (v6.4.14#64029-sha1:ae256fe)
Jira (PUP-7418) Deep merge regression when a value of subkey is an alias or an hiera interpolation
Title: Message Title Francois Lafont updated an issue Puppet / PUP-7418 Deep merge regression when a value of subkey is an alias or an hiera interpolation Change By: Francois Lafont Attachment: pup-7418.tar.gz 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-7418) Deep merge regression when a value of subkey is an alias or an hiera interpolation
Title: Message Title Francois Lafont updated an issue Puppet / PUP-7418 Deep merge regression when a value of subkey is an alias or an hiera interpolation A "minimal and autonomous environment to reproduce the problem (I hope ). Change By: Francois Lafont Attachment: pup-7418.zip 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-7418) Deep merge regression when a value of subkey is an alias or an hiera interpolation
Title: Message Title Francois Lafont commented on PUP-7418 Re: Deep merge regression when a value of subkey is an alias or an hiera interpolation Thomas Hallgren, you can see all my config in the attached file PUP-7418.sh. 1. In the config, I use the eyaml backend (which is my default config) but I have tested with the yaml_data too and I have the same problem. 2. Currently there is no data in my global layer, all my data are in my production environment layer. 3. In fact, I can reproduce the problem without put the alias in a common.yaml file. With the key test::param and the alias both in the same file hieradata/fqdn/$fqdn.yaml, I can reproduce the problem (see my config). If something is missing, just ping me. 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-7418) Deep merge regression when a value of subkey is an alias or an hiera interpolation
Title: Message Title Francois Lafont updated an issue Puppet / PUP-7418 Deep merge regression when a value of subkey is an alias or an hiera interpolation All my config Change By: Francois Lafont Attachment: PUP-7418.sh 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-7418) Deep merge regression when a value of subkey is an alias or an hiera interpolation
Title: Message Title Francois Lafont created an issue Puppet / PUP-7418 Deep merge regression when a value of subkey is an alias or an hiera interpolation Issue Type: Bug Affects Versions: PUP 4.9.4 Assignee: Unassigned Created: 2017/03/31 12:21 PM Priority: Normal Reporter: Francois Lafont Hi, Here is the function which provides default data of my test module: function test::data ( Hash $options, Puppet::LookupContext $context,
Jira (PUP-7406) Add kind assert in custom data types?
Title: Message Title Francois Lafont commented on PUP-7406 Re: Add kind assert in custom data types? Ok. Object and the derive... I look forward to test that. I keep the idea to add constraints in data types in my head and I will test with the Object data type when the time has come. Feel free to close this ticket if it's the simplest for you. Thanks 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-7406) Add kind assert in custom data types?
Title: Message Title Francois Lafont commented on PUP-7406 Re: Add kind assert in custom data types? Sorry but assert_type doesn't match with my request here. Maybe my example in my first message was too complicated. Let me show you another one. Imagine I would like to define this type Mymodule::Custom: # The content of mymodule/types/custom.pp type Mymodule::Custom = Struct[{ 'a' => Boolean, 'b' => Boolean, }] But, in addition, I would like to prohibit this value (it's just an example): { 'a' => false, 'b' => false,
Jira (PUP-7414) Not relevant warning during a lookup when a YAML file is empty
Title: Message Title Francois Lafont commented on PUP-7414 Re: Not relevant warning during a lookup when a YAML file is empty Arf... I didn't tried to put an explicit empty hash. In this case, no warning indeed. In fact, it seems to me logical. So sorry for the noise and many thanks for the explanations Henrik Lindberg. 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-7414) Not relevant warning during a lookup when a YAML file is empty
Title: Message Title Francois Lafont created an issue Puppet / PUP-7414 Not relevant warning during a lookup when a YAML file is empty Issue Type: Bug Affects Versions: PUP 4.9.4 Assignee: Unassigned Created: 2017/03/30 9:30 PM Priority: Normal Reporter: Francois Lafont Hi, It's clearly a minor problem: ~# puppet --version 4.9.4 ~# puppet lookup ke
Jira (PUP-7406) Add kind assert in custom data types?
Title: Message Title Francois Lafont created an issue Puppet / PUP-7406 Add kind assert in custom data types? Issue Type: New Feature Assignee: Unassigned Created: 2017/03/29 10:40 AM Priority: Normal Reporter: Francois Lafont Hi, It could be handy to be able to add some "assert" in custom data types. For instance in mymodule/types/vlan.pp something like that: type Mymodule::Vlan = Struct[{ 'name' => String[1], 'id' => Integer[1], Optional['http_proxy'] => String[1],
Jira (PUP-7325) Interpolations in a key name in hiera work no longer
Title: Message Title Francois Lafont commented on PUP-7325 Re: Interpolations in a key name in hiera work no longer Ok, no problem, I will keep on writing bug reports. By the way, indeed I have tested with Puppet 4.9.4 and the problem is fixed. Thx. 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-7325) Interpolations in a key name in hiera work no longer
Title: Message Title Francois Lafont commented on PUP-7325 Re: Interpolations in a key name in hiera work no longer Thomas Hallgren, ok, cool. I will test with the 4.9.4 version. I will keep in mind that interpolations are allowed everywhere except in the top level keys in hiera. I didn't know that. One more time, thanks for your help Thomas Hallgren and Henrik Lindberg and sorry for the duplicated ticket. I think you can close this ticket. 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-7325) Interpolations in a key name in hiera work no longer
Title: Message Title Francois Lafont commented on PUP-7325 Re: Interpolations in a key name in hiera work no longer Here is my hiera-eyaml version: ~$ sudo /opt/puppetlabs/puppet/bin/gem list hiera-eyaml *** LOCAL GEMS *** hiera-eyaml (2.1.0) ~$ sudo /opt/puppetlabs/bin/puppetserver gem list hiera-eyaml *** LOCAL GEMS ***
Jira (PUP-7325) Interpolations in a key name in hiera work no longer
Title: Message Title Francois Lafont commented on PUP-7325 Re: Interpolations in a key name in hiera work no longer Thomas Hallgren, yes it seems to be in relation with the eyaml backend. ~$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.5 LTS Release: 14.04 Codename: trusty ~$ sudo /opt/puppetlabs/bin/puppet --version 4.9.3
Jira (PUP-7325) Interpolations in a key name in hiera work no longer
Title: Message Title Francois Lafont commented on PUP-7325 Re: Interpolations in a key name in hiera work no longer Thomas Hallgren, I don't know if it's relevant but I use the eyaml backend (on Ubuntu 14.04). 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-7325) Interpolations in a key name in hiera work no longer
Title: Message Title Francois Lafont commented on PUP-7325 Re: Interpolations in a key name in hiera work no longer Thomas Hallgren and Henrik Lindberg, sorry, indeed my message was not precise: with puppet-agent 1.8.3 ie Puppet 4.8.2 and a hiera 3 configuration, interpolations worked well in key names. then, upgrade to puppet-agent 1.9.2 ie Puppet 4.9.3 and I have switched my hiera conf to hiera 5. At this moment, interpolations worked no longer in key names (verbatim substitutions instead). 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-7325) Interpolations in a key name in hiera work no longer
Title: Message Title Francois Lafont created an issue Puppet / PUP-7325 Interpolations in a key name in hiera work no longer Issue Type: Bug Affects Versions: PUP 4.9.3 Assignee: Unassigned Created: 2017/03/08 9:13 PM Priority: Normal Reporter: Francois Lafont Hi, With puppet-agent 1.8.3 (so hiera 3.2.2), I had this in hiera: A yaml file --- mymodule::param1:
Jira (PUP-7111) a None data type in Puppet?
Title: Message Title Francois Lafont commented on PUP-7111 Re: a None data type in Puppet? Yes, big problem changing the behavior in resource creation passing undef to argument. We simply will not do that. Yes, I understand. Also, do not think a different kind of "no-value" value makes this anything but worse. Yes, after thinkings, I completely agree with you. I can imagine changing the syntax to allow a way to state that an undef does not mean default. I was unable to convince others of the merits of that though. [snip example with ==> and =>] Ah, personally this option could satisfy me and you have my support. 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-7111) a None data type in Puppet?
Title: Message Title Francois Lafont commented on PUP-7111 Re: a None data type in Puppet? Hi. Thanks Henrik Lindberg for your answer and sorry for my late answer. Indeed the default value can be relevant but, imho, only to set a real default value of a class. Personally the meaning of my None value is not the same as the default value. The meaning of my None value is really "I provide no value for this parameter". In fact the meaning of my None value is clearly undef but the problem of undef value for me is that it's impossible to pass this value in a resource-like declaration. Of course, I know well the (very nice) data binding mechanism etc. (with hiera or the function data provider) and I use it daily. But I use too classes via resource-like declarations, especially in my high-level classes which I call my "roles". In fact, the real solution to my problem could be the undef value and in my "roles" classes I would like to put this: class { 'mymod': foo => undef, } even if the undef value is not the default value. In clear, I completely agree with you when you say "I think that passing an explicit undef in a resource _expression_ should not pick the default value if it is acceptable to assign undef to the parameter" and this is in fact exactly my problem here and my idea of a None value is in fact a workaround as regards this problem (so, as all workarounds, this is so not necessarily a good idea). But of course, I guess that changing this behavior (foo => undef doesn't mean anaymore "take the defaut value" but "set foo to undef") is big decision, because it breaks the backward compatibility. Add Comment
Jira (PUP-7111) a None data type in Puppet?
Title: Message Title Francois Lafont created an issue Puppet / PUP-7111 a None data type in Puppet? Issue Type: New Feature Assignee: Unassigned Components: Language Created: 2017/01/18 5:24 PM Priority: Normal Reporter: Francois Lafont Hi, It's just thinking about the interest of a kind of None data type in Puppet. Feel free to just close this ticket if you want. Imho, I think a None data type in Puppet could be useful. Indeed, sometimes I need a parameter myclass::foo in a class which is a String to set (for instance) the foo option in a .ini file (via foo = <%= $foo %> in a epp template). But sometimes, I would like to have 2 possibilities: case 1 (the classic case): set the myclass::foo parameter to a string (and define the foo option in the .ini file to the value of this string) case 2: not really set the myclass::foo parameter to just have no foo option present in the .ini file. Currently, I think the most relevant data type for this kind of parameter is
Jira (PUP-6174) "Copy" variables from a class in the current scope
Title: Message Title Francois Lafont commented on PUP-6174 Re: "Copy" variables from a class in the current scope Late comment, but thanks for this very useful feature. 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-6687) lest and then functions not well referenced in the documentation
Title: Message Title Francois Lafont created an issue Puppet / PUP-6687 lest and then functions not well referenced in the documentation Issue Type: Bug Affects Versions: PUP 4.6.2 Assignee: Nicholas Fagerlund Components: DOCS Created: 2016/09/07 12:42 PM Priority: Normal Reporter: Francois Lafont I have seen 2 problems in this page https://docs.puppet.com/puppet/latest/reference/function.html. 1. In the table of content, "lest" function is mentioned but not "then". 2. In the section of "lest" (https://docs.puppet.com/puppet/latest/reference/function.html#lest) it's the explanation of the "then" function. Regards. Add Comment
Jira (PUP-6331) Hiera interpolations are interpreted in the data() function
Title: Message Title Francois Lafont commented on PUP-6331 Re: Hiera interpolations are interpreted in the data() function Ok, thx Thomas Hallgren. Indeed empty interpolation is another possibility but I prefer to keep the final value directly in the code, so I think I will keep the design: "final_value with %{...".regsubst('%{', '%{literal("%")}{', 'G') Play with hiera interpolations (to just disable it) in a simple quoted string in Puppet code seems to me definitively strange although I understand the arguments. Anyway, this small point of disagreement does not change all the good things I think concerning Puppet 4. So thx guys for the help and for all this work (very useful for me). 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-6331) Hiera interpolations are interpreted in the data() function
Title: Message Title Francois Lafont commented on PUP-6331 Re: Hiera interpolations are interpreted in the data() function Especially, are simple and double quotes completely equivalent: # Is it completely equivalent? $str.regsubst('%{', '%{literal("%")}{', 'G') $str.regsubst('%{', "%{literal('%')}{", 'G') 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-6331) Hiera interpolations are interpreted in the data() function
Title: Message Title Francois Lafont commented on PUP-6331 Re: Hiera interpolations are interpreted in the data() function Hi, As I said, imho, hiera interpolations should be reserved only to yaml files and a such policy seems to me perfectly consistent but it's up to you of course. Anyway, this change doesn't cause me lot of trouble (no problem on this point). I have seen the change in only one personal module which manages haproxy. I have a parameter log_format with a default value in the data() function which was defined like this: function haproxy::data { { # ... haproxy::log_format => '%{+Q}o\ %{-Q}b\ %{-Q}ci\ -\ -\ [%T]\ %r\ %ST\ %B\ %hrl' # ... } } Can you just confirm to me that something like that is a reliable way to "disable" hiera interpolation in any case? function haproxy::data {
Jira (PUP-6331) Hiera interpolations are interpreted in the data() function
Title: Message Title Francois Lafont created an issue Puppet / PUP-6331 Hiera interpolations are interpreted in the data() function Issue Type: Bug Affects Versions: PUP 4.5.0 Assignee: Unassigned Components: Language Created: 2016/05/20 9:11 AM Priority: Normal Reporter: Francois Lafont Now (since 4.5.0), hiera interpolations are interpreted in the value of the data() function of a module. It wasn't the case before Puppet 4.5.0. Is it an expected behavior? Personally, it seems to me curious. Imho, hiera interpolations should be reserved to hiera data (in yaml files). In puppet code, I can use variables. Here is an example. I have a module test with function as data provider. Here is my test/functions/data.pp: function test::data {
Jira (PUP-6299) A structure where the keys are not all known in advance
Title: Message Title Francois Lafont commented on PUP-6299 Re: A structure where the keys are not all known in advance Henrik Lindberg, first thanks a lot for your explanations. I think I have understood and I'm convinced. If I have well understood, in fact, in a "pseudo" and non-optimized code you propose this stuff below, correct? With: type MyType = Struct[{ ... }, Hash[X1, Y1, a1, b1], ..., Hash[Xn, Yn, an, bn] ] the algorithm to test $var =~ MyType could be: unless ($var =~ Hash) { # Of course, $var must be a hash. return false } struct_keys = list of all required _and_ optional keys of MyType structure part
Jira (PUP-6299) A structure where the keys are not all known in advance
Title: Message Title Francois Lafont commented on PUP-6299 Re: A structure where the keys are not all known in advance Imho, the only valid meaning for me would be the "mathematic" meaning ie: Hash[ String, Array, 2, 5] + Hash[ Enum["key2", "key3", "key4"], String, 2 ] == { any hash h1 + h2 where h1 =~ Hash[ String, Array, 2, 5] and h2 =~ Hash[ Enum["key2", "key3", "key4"], String, 2 ] } but it seems to me well complicated to implement. 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-6299) A structure where the keys are not all known in advance
Title: Message Title Francois Lafont commented on PUP-6299 Re: A structure where the keys are not all known in advance Ok, indeed, I have forgotten that it's normal to have an atomic _expression_ to define the data type (but the + _expression_ seems to me really clearer than the atomic _expression_). For the rest, I'm not sure to understand. Imho, it could be sane to just allow: type mytype = Struct[{...}, Hash[...] ] = Struct[{ ... }] + Hash[...] and forbidden something like: type mytype = Struct[{...}, Hash[...], Hash[...] ] = Struct[{ ... }] + Hash[...] + Hash[...] which seems to me inextricable. I'm completely unable to give a clear sense to a type like that: Hash[ String, Array, 2, 5] + Hash[ Enum["key2", "key3", "key4"], String, 2 ] And I'm sure it's possible to find more vicious examples. Add Comment
Jira (PUP-6299) A structure where the keys are not all known in advance
Title: Message Title Francois Lafont commented on PUP-6299 Re: A structure where the keys are not all known in advance I try to be more generic. I don't know if it's completely consistent but something like: type mytype = Struct[{ ... }] + Hash[ ... ] where $var matches with mytype if and only if: ( $var - "all the mandatory _and_ optional keys of Struct[{ ... }] ) =~ Hash[ ... ] 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@goog
Jira (PUP-6299) A structure where the keys are not all known in advance
Title: Message Title Francois Lafont commented on PUP-6299 Re: A structure where the keys are not all known in advance Henrik Lindberg said: type mytype = Struct[{'key1' => Integer}, Hash[Pattern[/^foo_.+/], Array[String], 1, 10]] And why not something like that? type mytype = Struct[{ 'key1' => Integer }] + Hash[Pattern[/^foo_.+/], Array[String], 1, 10] where $var matches with mytype if and only if: ( $var - 'key1' ) =~ Hash[Pattern[/^foo_.+/], Array[String], 1, 10] But I admit it's not simple at all concerning syntax, clear and precise specifications (and probably concerning the implementation I guess). Add Comment
Jira (PUP-6299) A structure where the keys are not all known in advance
Title: Message Title Francois Lafont created an issue Puppet / PUP-6299 A structure where the keys are not all known in advance Issue Type: New Feature Assignee: Unassigned Components: Language Created: 2016/05/14 3:11 AM Priority: Normal Reporter: Francois Lafont With: type Mymod::MyType = Structure[{ 'key1' => String[1], }] hashes w
Jira (PUP-6211) Bad behavior of getvar() from stdlib when strict_variables is set to true
Title: Message Title Francois Lafont created an issue Puppet / PUP-6211 Bad behavior of getvar() from stdlib when strict_variables is set to true Issue Type: Bug Affects Versions: PUP 4.4.1 Assignee: Unassigned Created: 2016/04/21 10:39 AM Priority: Normal Reporter: Francois Lafont I have Puppet version 4.4.1 and Puppetlabs-stdlib version 4.11.0 and, when strict_variables is set to true in puppet.conf, I have this: ~# puppet apply -e '$var = getvar("stuff::which::doesnt::exist"); notice( $var ); notice( $var =~ String[1] )' Notice: Scope(Class[main]): class stuff::which::doesnt could not be found Notice: Scope(Class[main]): true
Jira (PUP-6174) "Copy" variables from a class in the current scope
Title: Message Title Francois Lafont commented on PUP-6174 Re: "Copy" variables from a class in the current scope Yes indeed, so something like: Array[NotUndef].assert_type( [ $var1, $var2 ] = Class['Classfoo::Params'] ) will do the job. But will I be able to know easily the name of the undef variable in the error message in the case where I haven't 2 variables but 30 for instance? According to your error message, it will be probably not easy with lot of variables. I think it could be very useful to have at least the name of the first variable undef. In fact, currently, with a assignment via an array, the error message seems to be incomplete in my (updated) puppetserver. Is it normal? (Maybe you use a version different of my version) ~# puppet --version 4.4.1 ~# puppet apply -e 'Array[NotUndef].assert_type([$a, $b] = [1, undef]); notice($a)' Error: Evaluation Error: Error while evaluating a Method call, at line 1:28 on node puppet.lss1.backbone.education #
Jira (PUP-6174) "Copy" variables from a class in the current scope
Title: Message Title Francois Lafont commented on PUP-6174 Re: "Copy" variables from a class in the current scope Or something like that I find very nice: Array[NotUndef] [ $var1, $var2 ] = Class['Classfoo::Params'] 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-6174) "Copy" variables from a class in the current scope
Title: Message Title Francois Lafont commented on PUP-6174 Re: "Copy" variables from a class in the current scope I add just one remark. It was useful if, via an additional syntax, it was possible to raise a readable error if a variable is set to undef because for instance classfoo::params::var1 is set to undef in the class classfoo::params. I have absolutely no idea concerning this additional syntax. For instance something like: [ $var1, $var2 ] = NotUndef[ Class['Classfoo::Params'] ] although it is not a very nice syntax here. In short, no idea concerning the syntax... Of course perhaps this point is part of a wider way of thinking than the subject of this present ticket. Anyway, this little feature could be useful for me. 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-6174) "Copy" variables from a class in the current scope
Title: Message Title Francois Lafont created an issue Puppet / PUP-6174 "Copy" variables from a class in the current scope Issue Type: Improvement Assignee: Unassigned Components: Language Created: 2016/04/13 7:04 PM Priority: Normal Reporter: Francois Lafont It could be nice to be able to "copy" (sorry I don't find the correct _expression_) some variables from a class in the current scope with something like that: # We assume that $var1 and $var2 are defined in the class # classfoo::params (as parameters _or_ in its body). [ $var1, $var2 ] = Class['Classfoo::Params']
Jira (PUP-5990) Lookup data provider should allow dot in %{key.subkey} to be escaped
Title: Message Title Francois Lafont commented on PUP-5990 Re: Lookup data provider should allow dot in %{key.subkey} to be escaped Hi, Henrik Lindberg, it is just a personal opinion of a simple user but I think the point 2 could be the better (ie "adopt the dot notation forcing the lookup CLI to require quotes if looking up a key with a dot in it"). Indeed, in this case the, syntax between hiera interpolation, the facter CLI, the lookup CLI and the lookup() puppet function will be exactly the same (detail but appreciable detail). Ok, it breaks compatibility but I think people which currently use keys with a dot in it via lookup are few (of course not sure, just a feeling). 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-6064) Optional type misinterpreted by epp() and inline_epp() in puppet 4.4.0
Title: Message Title Francois Lafont created an issue Puppet / PUP-6064 Optional type misinterpreted by epp() and inline_epp() in puppet 4.4.0 Issue Type: Bug Affects Versions: PUP 4.4.0 Assignee: Unassigned Components: AIO Created: 2016/03/17 3:50 AM Labels: puppet-agent Priority: Normal Reporter: Francois Lafont Here is the code to realize the problem. inline_epp( '<%- |Optional[String[1]] $var| -%>', { 'var' => undef } )
Jira (PUP-6052) Docs: rectification concerning an example of Structure
Title: Message Title Francois Lafont commented on PUP-6052 Re: Docs: rectification concerning an example of Structure It's just a personal opinion but it seems to me that a simple table like below could be the clearer: Structure| Key `path` must be present or is optional | If present must match -|---|-- `Struct[ { path => String[1] } ]` | must be present | must match `String[1]` `Struct[ { NotUndef[path] => Optional[ String[1] ] } ]` | must be present | must match `String[1]` or `Undef` `Struct[ { Optional[path] => String[1] } ]` | is optional | must match `String[1]` `Struct[ { path => Optional[ String[1] ] } ]` | is optional | must match `String[1]` or "Undef" Maybe add these structure in the table: Struct[ { Optional[path] => Optional[ String[1] ] } ]
Jira (PUP-6052) Docs: rectification concerning an example of Structure
Title: Message Title Francois Lafont commented on PUP-6052 Re: Docs: rectification concerning an example of Structure Henrik Lindberg, sorry I disagree with a little part of your comment. Just for your first example: Struct[{ path => Optional[String[1]]}] You said: "Means that path must be set, and that it can be set to undef or a String of min length 1". I disagree. For me, its means: "the key path is optional, and if present it can and must be set to undef or String of min length 1". Example to confirm: ~# puppet --version 4.3.2 ~# puppet apply -e 'notice( {} =~ Struct[ {path => Optional[String[1]]} ] )' Notice: Scope(Class[main]): true Notice: Compiled catalog for puppet.lss1.backbone.education in environment production in 0.06 seconds Notice: Applied catalog in 0.20 seconds
Jira (PUP-6052) Docs: rectification concerning an example of Structure
Title: Message Title Francois Lafont updated an issue Puppet / PUP-6052 Docs: rectification concerning an example of Structure Change By: Francois Lafont In the documentation about structure [here|https://docs.puppetlabs.com/puppet/latest/reference/lang_data_abstract.html#examples-5], this present ticket concerns the comment of the example number 2 ie this example:{code}Struct[{mode => Enum[read, write, update],path => Optional[String[1]]}]{code}The comment below this example says:{code}[...] but the "path" key is optional. If present, "path" must match String[1].{code}It's false, the correct sentence is:{code}[...] but the "path" key is optional. If present, "path" must match String[1] or Undef.{code} Or maybe this:{code}[...] but the "path" key is optional. If present, "path" can match String[1] or Undef.{code}PS: message edited. Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-6052) Docs: rectification concerning an example of Structure
Title: Message Title Francois Lafont created an issue Puppet / PUP-6052 Docs: rectification concerning an example of Structure Issue Type: Bug Assignee: Nicholas Fagerlund Components: DOCS Created: 2016/03/13 4:19 PM Priority: Normal Reporter: Francois Lafont In the documentation about structure here, this present ticket concerns the comment of the example number 2 ie this example: Struct[{mode => Enum[read, write, update], path => Optional[String[1]]}] The comment below this example says:
Jira (PUP-6007) Irrelevant message when a module upgrade fails for reasons of unsatisfied dependencies versions
Title: Message Title Francois Lafont updated an issue Puppet / PUP-6007 Irrelevant message when a module upgrade fails for reasons of unsatisfied dependencies versions Change By: Francois Lafont I have several modules installed but only one depends on the module {{arioch-keepalived}} (it's just an example, this particulary particular module has not importance doesn't matter here):{code:sh}~# cd /etc/puppetlabs/code/environments/production/~# grep -R --color arioch-keepalived modules/modules/keepalived/metadata.json: "name": "arioch-keepalived",modules/keepalived_vip/metadata.json:{"name":"arioch-keepalived","version_requirement":"1.2.0"}{code}As you can see, just one module depends on the module {{arioch-keepalived}}: it's the module {{keepalived_vip}} and it requires the module {{arioch-keepalived}} version 1.2.0 *exactly*.Now, I try to upgrade the module {{arioch-keepalived}}:{code:sh}~# puppet module upgrade arioch-keepalived --ignore-changesNotice: Preparing to upgrade 'arioch-keepalived' ...Notice: Found 'arioch-keepalived' (v1.2.0) in /etc/puppetlabs/code/environments/production/modules ...Notice: Downloading from https://forgeapi.puppetlabs.com ...Error: Could not upgrade module 'arioch-keepalived' (v1.2.0 -> latest) There are 3 newer versionsNo combination of dependency upgrades would satisfy all dependenciesDependencies will not be automatically upgraded across major versionsUpgrading one or more of these modules may permit the upgrade to succeed:- puppetlabs-stdlib- puppetlabs-concatUse `puppet module upgrade --force` to upgrade only this module{code}It's normal that the upgrade fails because the module {{keepalived_vip}} requires the module {{arioch-keepalived}} version 1.2.0 *exactly* (good!) but the message is completely irrelevant because it talks about the modules {{puppetlabs-stdlib}} and {{puppetlabs-concat}} which don't depend on {{arioch-keepalived}} at all. The real reason which explains why the upgrade is not possible is not given. Add Comment
Jira (PUP-6007) Irrelevant message when a module upgrade fails for reasons of unsatisfied dependencies versions
Title: Message Title Francois Lafont updated an issue Puppet / PUP-6007 Irrelevant message when a module upgrade fails for reasons of unsatisfied dependencies versions Change By: Francois Lafont I have several modules installed but only one depends on the module {{arioch-keepalived}} (it's just an example, this particulary module has not importance here):{code:sh}~# cd /etc/puppetlabs/code/environments/production/~# grep -R --color arioch-keepalived modules/modules/keepalived/metadata.json: "name": "arioch-keepalived",modules/keepalived_vip/metadata.json:{"name":"arioch-keepalived","version_requirement":"1.2.0"}{code}As you can see, just one module depends on the module {{arioch-keepalived}}: it's the module {{keepalived_vip}} and it requires the module {{arioch-keepalived}} version 1.2.0 *exactly*.Now, I try to upgrade the module {{arioch-keepalived}}:{code:sh}~# puppet module upgrade arioch-keepalived --ignore-changesNotice: Preparing to upgrade 'arioch-keepalived' ...Notice: Found 'arioch-keepalived' (v1.2.0) in /etc/puppetlabs/code/environments/production/modules ...Notice: Downloading from https://forgeapi.puppetlabs.com ...Error: Could not upgrade module 'arioch-keepalived' (v1.2.0 -> latest) There are 3 newer versionsNo combination of dependency upgrades would satisfy all dependenciesDependencies will not be automatically upgraded across major versionsUpgrading one or more of these modules may permit the upgrade to succeed:- puppetlabs-stdlib- puppetlabs-concatUse `puppet module upgrade --force` to upgrade only this module{code}It's normal that the upgrade fails because the module {{keepalived_vip}} requires the module {{arioch-keepalived}} version 1.2.0 *exactly* (good!) but the message is completely irrelevant because it talks about the modules {{puppetlabs-stdlib}} and {{puppetlabs-concat}} which don't depend on {{arioch-keepalived}} at all. The real reason which explains why the upgrade is not possible is not given. Add Comment This message was
Jira (PUP-6007) Irrelevant message when a module upgrade fails for reasons of unsatisfied dependencies versions
Title: Message Title Francois Lafont updated an issue Puppet / PUP-6007 Irrelevant message when a module upgrade fails for reasons of unsatisfied dependencies versions Change By: Francois Lafont I have several modules installed but only one depends on the module {{arioch-keepalived}} (it's just an example, this particulary module has importance here):{code:sh}~# cd /etc/puppetlabs/code/environments/production/~# grep -R --color arioch-keepalived modules/modules/keepalived/metadata.json: "name": "arioch-keepalived",modules/keepalived_vip/metadata.json:{"name":"arioch-keepalived","version_requirement":"1.2.0"}{code}As you can see, just one module depends on the module {{arioch-keepalived}}: it's the module {{ flaf- keepalived_vip}} and it requires the module {{arioch-keepalived}} version 1.2.0 *exactly*.Now, I try to upgrade the module {{arioch-keepalived}}:{code:sh}~# puppet module upgrade arioch-keepalived --ignore-changesNotice: Preparing to upgrade 'arioch-keepalived' ...Notice: Found 'arioch-keepalived' (v1.2.0) in /etc/puppetlabs/code/environments/production/modules ...Notice: Downloading from https://forgeapi.puppetlabs.com ...Error: Could not upgrade module 'arioch-keepalived' (v1.2.0 -> latest) There are 3 newer versionsNo combination of dependency upgrades would satisfy all dependenciesDependencies will not be automatically upgraded across major versionsUpgrading one or more of these modules may permit the upgrade to succeed:- puppetlabs-stdlib- puppetlabs-concatUse `puppet module upgrade --force` to upgrade only this module{code}It's normal that the upgrade fails because the module {{ flaf- keepalived_vip}} requires the module {{arioch-keepalived}} version 1.2.0 *exactly* (good!) but the message is completely irrelevant because it talks about the modules {{puppetlabs-stdlib}} and {{puppetlabs-concat}} which don't depend on {{arioch-keepalived}} at all. The real reason which explains why the upgrade is not possible is not given. Add Comment This mes
Jira (PUP-6007) Irrelevant message when a module upgrade fails for reasons of unsatisfied dependencies versions
Title: Message Title Francois Lafont commented on PUP-6007 Re: Irrelevant message when a module upgrade fails for reasons of unsatisfied dependencies versions I add just one remark. If I change manually the version of the module arioch-keepalived (in its metadata.json) and put version 1.2.4 to just break the dependencies, then the warning message with puppet module list is completely clear: ~# puppet module list Warning: Module 'arioch-keepalived' (v1.2.4) fails to meet some dependencies: 'olecam-keepalived_vip' (v0.1.3) requires 'arioch-keepalived' (v1.2.0) /etc/puppetlabs/code/environments/production/modules ├── arioch-keepalived (v1.2.4) invalid ├── flaf-basic_ntp (v0.1.0) ├── flaf-basic_packages (v0.1.9) [...]
Jira (PUP-6007) Irrelevant message when a module upgrade fails for reasons of unsatisfied dependencies versions
Title: Message Title Francois Lafont created an issue Puppet / PUP-6007 Irrelevant message when a module upgrade fails for reasons of unsatisfied dependencies versions Issue Type: Improvement Affects Versions: PUP 4.3.2 Assignee: Unassigned Components: AIO Created: 2016/03/03 4:13 PM Environment: Ubuntu Trusty package puppet-agent 1.3.5-1trusty package puppetserver 2.2.1-1puppetlabs1 Priority: Normal Reporter: Francois Lafont I have several modules installed but only one depends on the module arioch-keepalived (it's just an example, this particulary module has importance here): ~# cd /etc/puppetlabs/code/environments/production/
Jira (PUP-5990) Hiera interpolating hash: allow %{key.subkey} when subkey has a dot character
Title: Message Title Francois Lafont commented on PUP-5990 Re: Hiera interpolating hash: allow %{key.subkey} when subkey has a dot character Just a precision, if this command gives an empty result: facter "networking.interfaces.'eth0.1000'.bindings.0.address" this is not a problem of shell. It's really the responsibility of the facter command. Indeed in command above, it's really the token networking.interfaces.'eth0.1000'.bindings.0.address which is received by the facter command. However I absolutely don't know if it's a real and knowingly choice made by the developers of the facter command. Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5990) Hiera interpolating hash: allow %{key.subkey} when subkey has a dot character
Title: Message Title Francois Lafont commented on PUP-5990 Re: Hiera interpolating hash: allow %{key.subkey} when subkey has a dot character Just for information, currently with the facter command, the double quotes are required to escape subkeys with a dot and simple quotes just don't work. Examples: ~# facter 'networking.interfaces."eth0.1000".bindings.0.address' # works 192.168.23.11 ~# facter "networking.interfaces.'eth0.1000'.bindings.0.address" # doesn't work (empty result) Maybe it can help in your decision for the second question of Thomas Hallgren... Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1
Jira (PUP-5990) Hiera interpolating hash: allow %{key.subkey} when subkey has a dot character
Title: Message Title Francois Lafont created an issue Puppet / PUP-5990 Hiera interpolating hash: allow %{key.subkey} when subkey has a dot character Issue Type: Improvement Affects Versions: PUP 4.3.2 Assignee: Unassigned Components: AIO Created: 2016/02/29 3:56 PM Environment: OS: Ubuntu Trusty package: puppet-agent 1.3.5 Labels: AIO Priority: Normal Reporter: Francois Lafont Hi, In hieradata, it's possible to interpolate a hash in a yaml file like this:
Jira (PUP-5988) "puppet module upgrade" ignores changes if a module is upgraded as dependency
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5988 "puppet module upgrade" ignores changes if a module is upgraded as dependency Change By: Francois Lafont Hi,I have a personal module (installed from a personal forge) that I have changed locally directly in the puppetserver. So I have this:{code}~# puppet module changes /etc/puppetlabs/code/environments/production/modules/raid/Warning: 1 files modifiedmanifests/init.pp{code}In this case, the command {{puppet module upgrage flaf-raid}} fails and, personally, this behavior seems to be *a very good thing*:{code}~# puppet module upgrade flaf-raidNotice: Preparing to upgrade 'flaf-raid' ...Notice: Found 'flaf-raid' (v0.1.5) in /etc/puppetlabs/code/environments/production/modules ...Error: Could not upgrade module 'flaf-raid' (v0.1.5 -> latest) Installed module has had changes made locallyUse `puppet module upgrade --ignore-changes` to upgrade this module anyway{code}But the problem is when the module is upgraded by the play of module dependencies. For instance, I have a module {{flaf-role_generic}} (installed via my personal forge too) and the version 0.1.10 of this module, not yet installed in my puppetserver, needs the module {{flaf-raid}} version 0.1.6 exactly. The problem is: when I upgrade the module {{flaf-role_generic}}, the module {{flaf-raid}} is upgraded automatically without error:{code}~# puppet module upgrade flaf-role_genericNotice: Preparing to upgrade 'flaf-role_generic' ...Notice: Found 'flaf-role_generic' (v0.1.9) in /etc/puppetlabs/code/environments/production/modules ...Notice: Downloading from http://puppetforge.lss1.backbone.education:8080 ...Notice: Upgrading -- do not interrupt .../etc/puppetlabs/code/environments/production/modules└─┬ flaf-role_generic (v0.1.9 -> v0.1.10) └── flaf-raid (v0.1.5 -> v0.1.6){code}If a "direct" upgrade is impossible when a module has had changes made locally, it seems that an upgrade "as dependency" should be impossible too. Regard Regards .François Lafont Add Comment
Jira (PUP-5988) "puppet module upgrade" ignores changes if a module is upgraded as dependency
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5988 "puppet module upgrade" ignores changes if a module is upgraded as dependency Change By: Francois Lafont Hi,I have a personal module (installed from a personal forge) that I have changed locally directly in the puppetserver. So I have this:{code}~# puppet module changes /etc/puppetlabs/code/environments/production/modules/raid/Warning: 1 files modifiedmanifests/init.pp{code}In this case, the command {{puppet module upgrage flaf-raid}} fails and, personally, this behavior seems to be * a very good thing * :{code}~# puppet module upgrade flaf-raidNotice: Preparing to upgrade 'flaf-raid' ...Notice: Found 'flaf-raid' (v0.1.5) in /etc/puppetlabs/code/environments/production/modules ...Error: Could not upgrade module 'flaf-raid' (v0.1.5 -> latest) Installed module has had changes made locallyUse `puppet module upgrade --ignore-changes` to upgrade this module anyway{code}But the problem is when the module is upgraded by the play of module dependencies. For instance, I have a module {{flaf-role_generic}} (installed via my personal forge too) and the version 0.1.10 of this module, not yet installed in my puppetserver, needs the module {{flaf-raid}} version 0.1.6 exactly. The problem is: when I upgrade the module {{flaf-role_generic}}, the module {{flaf-raid}} is upgraded automatically without error:{code}~# puppet module upgrade flaf-role_genericNotice: Preparing to upgrade 'flaf-role_generic' ...Notice: Found 'flaf-role_generic' (v0.1.9) in /etc/puppetlabs/code/environments/production/modules ...Notice: Downloading from http://puppetforge.lss1.backbone.education:8080 ...Notice: Upgrading -- do not interrupt .../etc/puppetlabs/code/environments/production/modules└─┬ flaf-role_generic (v0.1.9 -> v0.1.10) └── flaf-raid (v0.1.5 -> v0.1.6){code}If a "direct" upgrade is impossible when a module has had changes made locally, it seems that an upgrade "as dependency" should be impossible too.Regard.François Lafont Add Comment
Jira (PUP-5988) "puppet module upgrade" ignores changes if a module is upgraded as dependency
Title: Message Title Francois Lafont created an issue Puppet / PUP-5988 "puppet module upgrade" ignores changes if a module is upgraded as dependency Issue Type: Bug Affects Versions: PUP 4.3.2 Assignee: Unassigned Components: AIO Created: 2016/02/28 8:37 PM Environment: Ubuntu Trusty package puppet-agent 1.3.5-1trusty package puppetserver 2.2.1-1puppetlabs1 Priority: Normal Reporter: Francois Lafont Hi, I have a personal module (installed from a personal forge) that I have changed locally directly in the puppetserver. So I have this: ~# puppet module changes /etc/puppetlabs/code/environments/pro
Jira (PUP-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont commented on PUP-5914 Re: data binding: a way to set the merge behaviour (like in the lookup() function) ? Ok, so finally, for the lookup_options key itself, I don't see any difference between the merge you describe and the deep merge, unless I have missed something. Anyway, now I have lot of personal modules to rewrite to use this excellent data binding mechanism (which I have well understood now I think). Thx again. Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5925) Optional data type and data binding with undef as default value
Title: Message Title Francois Lafont commented on PUP-5925 Re: Optional data type and data binding with undef as default value Ok, perfect. Thx guys for your precious and reactive help and good luck for the resolution of this little bug. Regards. Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont commented on PUP-5914 Re: data binding: a way to set the merge behaviour (like in the lookup() function) ? Henrik Lindberg ok but it seemed to me that the functions/data.pp function could only use keys qualified with the name of the module. Hence my question. But after your answer, I have made a quick test and I have realized that the lookup_options key is accepted in the functions/data.pp function. So I imagine this key is an exception. So that's cool, thx. Indeed I'm curious to know the merge policy of the very specific lookup_options key. Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont commented on PUP-5914 Re: data binding: a way to set the merge behaviour (like in the lookup() function) ? And what is the merge policy of lookup_options itself? Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont commented on PUP-5914 Re: data binding: a way to set the merge behaviour (like in the lookup() function) ? Hi, I'm sorry I have again a question concerning lookup_options. Do you know if it's possible to set the default merge policy of a specific parameter of a module, directly in the module itself when the module has "data_provider" = "function"? According to the article of R.I.Pienaar it's possible for a module where "data_provider" = "hiera" but is it possible for a module where "data_provider" = "function"? Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5925) Optional data type and data binding with undef as default value
Title: Message Title Francois Lafont commented on PUP-5925 Re: Optional data type and data binding with undef as default value Henrik Lindberg, sorry I wasn't clear. I will try to be precise here. I have this: class test::foo ( String[1] $param1, Array[ String[1] ] $param2 ) { ... } And I have this in the functions/data.pp function: function test::data { { test::foo::param1 => 'aaa', test::foo::param2 => [ 'aaa', 'bbb' ], } } So, with this simple puppet code: include '::test::foo'
Jira (PUP-5925) Optional data type and data binding with undef as default value
Title: Message Title Francois Lafont commented on PUP-5925 Re: Optional data type and data binding with undef as default value Ok, that's fine. In fact, it was very cruel. My metadata.json wasn't taken into account by puppet because I had a trailing comma here: $ cat modules/test/metadata.json { "name": "flaf-test", "version": "0.1.0", "author": "flaf", "summary": "Module to make stupid tests", "license": "Apache-2.0", "source": "", "project_page": null, "issues_url": null,
Jira (PUP-5925) Optional data type and data binding with undef as default value
Title: Message Title Francois Lafont commented on PUP-5925 Re: Optional data type and data binding with undef as default value Sorry, don't waste your time with my previous message. I think it's ok (I will give explanation in my next message). Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5925) Optional data type and data binding with undef as default value
Title: Message Title Francois Lafont commented on PUP-5925 Re: Optional data type and data binding with undef as default value Thanks for your answer Thomas. 1. No, the doc is clear but I probably haven't read this part before today and I had just read tutorials where the data binding was declared via a default.rb. So thanks for this remark. 2. So I have tried data binding declared in the metadata.json file but I have a problem. Sorry in advance if I have missed something stupid but here is my basic test (all is attached in the data-provider.zip file): $ tree modules/test/ modules/test/ |-- examples/ | `-- example.pp |-- functions/ | `-- data.pp |-- manifests/ | `-- foo.pp `-- metadata.json
Jira (PUP-5925) Optional data type and data binding with undef as default value
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5925 Optional data type and data binding with undef as default value Change By: Francois Lafont Attachment: data-provider.zip Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5925) Optional data type and data binding with undef as default value
Title: Message Title Francois Lafont created an issue Puppet / PUP-5925 Optional data type and data binding with undef as default value Issue Type: Bug Assignee: Unassigned Attachments: test.zip Created: 2016/02/18 4:58 PM Environment: Ubuntu Trusty with puppet-agent 1.3.5 Priority: Normal Reporter: Francois Lafont Hi, All the files are in .zip attached file. I have a (very basic) module with the function data.pp as data provider and the default value of a parameter is undef: function test::data { {
Jira (PUP-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont commented on PUP-5914 Re: data binding: a way to set the merge behaviour (like in the lookup() function) ? To: R.I.Pienaar, thanks for your link. I have added the site in my bookmarks. Just a remark, in the common.yaml, you have put that: lookup_options: users::local: strategy: deep merge_hash_arrays: true But the correct yaml seems to be: lookup_options: users::local: merge: strategy: deep merge_hash_arrays: true
Jira (PUP-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5914 data binding: a way to set the merge behaviour (like in the lookup() function) ? Change By: Francois Lafont Hi,I use puppet 4 and data binding with much satisfaction. Just for memory, data binding for instance it's:1. A manifest {{foo/manifests/init.pp}} like that in a {{foo}} module:{code:puppet}class foo (String[1] $param1,Hash[String[1], String[1]] $param2,Array[Data, 1] $param3,) {# The body of the class...}{code}2. This boilerplate function {{foo/lib/puppet/bindings/foo/default.rb}}:{code:puppet}Puppet::Bindings.newbindings('foo::default') do bind {name 'foo'to 'function'in_multibind 'puppet::module_data' }end{code}3. And a puppet function in {{foo/functions/data.pp}}:{code:puppet}function foo::data { # Code where $default_param1, $default_param2 and $default_param3 are set... {foo::param1: $default_param1,foo::param2: $default_param2,foo::param3: $default_param3, }}{code}And now, in hiera, I can override the default value of a parameter like that:{code:yaml}---# Here I just want to override the default value of param2.foo::param2: key1: 'specific-value1' key2: 'specific-value2'{code}h2. The wishIt's very useful but the merge behavior in the data binding mechanism is not changeable and it's necessarily the {{first}} behavior, ie the behavior where there is no merge (the first value found wins).It could be amazing if it was possible to set the merge behavior like in the {{lookup()}} function. I have no idea how the syntax could be but the first way I see is something like that in the declaration of the {{foo}} class:{code:puppet}class foo ( String[1] $param1,deep Hash[String[1], String[1]] $param2,unique Array[Data, 1] $param3,) {# The body of the class...}{code}The syntax will be{code}[] [ > ] ${code}where {{}} will be a string like in the {{lookup()}} function, ie {{'first'}}, {{'unique'}}, {{'hash'}} or '{{deep}}' etc. To keep compatibility with the "old" syntax:{code:puppet}String[1] $param1,{code}will be equivalent to:{code:puppet}first String[1] $param1,{code}I have absolutely no idea if the implementation of this feature will be possible and/or complicated (I'm unable to evaluate that and unable to implement that... unfortunately) but it seems to me that it could be a very useful feature and I'm ready to test a implementation of that when you want of course. ;)Of course, it's just a wish. No problem if this ticket is rejected.Regards.François LafontPS: message edited 2 times ( to just fix typo) Add Comment
Jira (PUP-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5914 data binding: a way to set the merge behaviour (like in the lookup() function) ? Change By: Francois Lafont Hi,I use puppet 4 and data binding with much satisfaction. Just for memory, data binding for instance it's:1. A manifest {{foo/manifests/init.pp}} like that in a {{foo}} module:{code:puppet}class foo (String[1] $param1,Hash[String[1], String[1]] $param2,Array[Data, 1] $param3,) {# The body of the class...}{code}2. This boilerplate function {{foo/lib/puppet/bindings/foo/default.rb}}:{code:puppet}Puppet::Bindings.newbindings('foo::default') do bind {name 'foo'to 'function'in_multibind 'puppet::module_data' }end{code}3. And a puppet function in {{foo/functions/data.pp}}:{code:puppet}function foo::data { # Code where $default_param1, $default_param2 and $default_param3 are set... {foo::param1: $default_param1,foo::param2: $default_param2,foo::param3: $default_param3, }}{code}And now, in hiera, I can override the default value of a parameter like that:{code:yaml}---# Here I just want to override the default value of param2.foo::param2: key1: 'specific-value1' key2: 'specific-value2'{code}h2. The wishIt's very useful but the merge behavior in the data binding mechanism is not changeable and it's necessarily the {{first}} behavior, ie the behavior where there is no merge (the first value found wins).It could be amazing if it was possible to set the merge behavior like in the {{lookup()}} function. I have no idea how the syntax could be but the first way I see is something like that in the declaration of the {{foo}} class:{code:puppet}class foo ( String[1] $param1,deep Hash[String[1], String[1]] $param2,unique Array[Data, 1] $param3,) {# The body of the class...}{code}The syntax will be{code}[] [] ${code}where {{}} will be a string like in the {{lookup()}} function, ie {{'first'}}, {{'unique'}}, {{'hash'}} or '{{deep}}' (cf [here|https://docs.puppetlabs.com/puppet/latest/reference/function.html#merge-behaviors]) etc. To keep compatibility with the "old" syntax:{code:puppet}String[1] $param1,{code}will be equivalent to:{code:puppet}first String[1] $param1,{code}I have absolutely no idea if the implementation of this feature will be possible and/or complicated (I'm unable to evaluate that and unable to implement that... unfortunately) but it seems to me that it could be a very useful feature and I'm ready to test an implementation of that when you want of course. ;)Of course, it's just a wish. No problem if this ticket is rejected.Regards.François LafontPS: message edited (to just fix typo)
Jira (PUP-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5914 data binding: a way to set the merge behaviour (like in the lookup() function) ? Change By: Francois Lafont Hi,I use puppet 4 and data binding with much satisfaction. Just for memory, data binding for instance it's:1. A manifest {{foo/manifests/init.pp}} like that in a {{foo}} module:{code:puppet}class foo (String[1] $param1,Hash[String[1], String[1]] $param2,Array[Data, 1] $param3,) {# The body of the class...}{code}2. This boilerplate function {{foo/lib/puppet/bindings/foo/default.rb}}:{code:puppet}Puppet::Bindings.newbindings('foo::default') do bind {name 'foo'to 'function'in_multibind 'puppet::module_data' }end{code}3. And a puppet function in {{foo/functions/data.pp}}:{code:puppet}function foo::data { # Code where $default_param1, $default_param2 and $default_param3 are set... {foo::param1: $default_param1,foo::param2: $default_param2,foo::param3: $default_param3, }}{code}And now, in hiera, I can override the default value of a parameter like that:{code:yaml}---# Here I just want to override the default value of param2.foo::param2: key1: 'specific-value1' key2: 'specific-value2'{code}h2. The wishIt's very useful but the merge behavior in the data binding mechanism is not changeable and it's necessarily the {{first}} behavior, ie the behavior where there is no merge (the first value found wins).It could be amazing if it was possible to set the merge behavior like in the {{lookup()}} function. I have no idea how the syntax could be but the first way I see is something like that in the declaration of the {{foo}} class:{code:puppet}class foo ( String[1] $param1,deep Hash[String[1], String[1]] $param2,unique Array[Data, 1] $param3,) {# The body of the class...}{code}The syntax will be{code}[] [] ${code}where {{}} will be a string like in the {{lookup()}} function, ie {{'first'}}, {{'unique'}}, {{'hash'}} or '{{deep}}' etc. To keep compatibility with the "old" syntax:{code:puppet}String[1] $param1,{code}will be equivalent to:{code:puppet}first String[1] $param1,{code}I have absolutely no idea if the implementation of this feature will be possible and/or complicated (I'm unable to evaluate that and unable to implement that... unfortunately) but it seems to me that it could be a very useful feature and I'm ready to test a an implementation of that when you want of course. ;)Of course, it's just a wish. No problem if this ticket is rejected.Regards.François LafontPS: message edited (to just fix typo) Add Comment
Jira (PUP-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5914 data binding: a way to set the merge behaviour (like in the lookup() function) ? Change By: Francois Lafont Hi,I use puppet 4 and data binding with much satisfaction. Just for memory, data binding for instance it's:1. A manifest {{foo/manifests/init.pp}} like that in a {{foo}} module:{code:puppet}class foo (String[1] $param1,Hash[String[1], String[1]] $param2,Array[Data, 1] $param3,) {# The body of the class...}{code}2. This boilerplate function {{foo/lib/puppet/bindings/foo/default.rb}}:{code:puppet}Puppet::Bindings.newbindings('foo::default') do bind {name 'foo'to 'function'in_multibind 'puppet::module_data' }end{code}3. And a puppet function in {{foo/functions/data.pp}}:{code:puppet}function foo::data { # Code where $default_param1, $default_param2 and $default_param3 are set... {foo::param1: $default_param1,foo::param2: $default_param2,foo::param3: $default_param3, }}{code}And now, in hiera, I can override the default value of a parameter like that:{code:yaml}---# Here I just want to override the default value of param2.foo::param2: key1: 'specific-value1' key2: 'specific-value2'{code}h2. The wishIt's very useful but the merge behavior in the data binding mechanism is not changeable and it's necessarily the {{first}} behavior, ie the behavior where there is no merge (the first value found wins).It could be amazing if it was possible to set the merge behavior like in the {{lookup()}} function. I have no idea how the syntax could be but the first way I see is something like that in the declaration of the {{foo}} class:{code:puppet}class foo ( String[1] $param1,deep Hash[String[1], String[1]] $param2,unique Array[Data, 1] $param3,) {# The body of the class...}{code}The syntax will be{code} [ ] [{code}where {{}} will be a string like in the {{lookup()}} function, ie {{'first'}}, {{'unique'}}, {{'hash'}} or '{{deep}}' etc. To keep compatibility with the "old" syntax:{code:puppet}String[1] $param1,{code}will be equivalent to:{code:puppet}first String[1] $param1,{code}I have absolutely no idea if the implementation of this feature will be possible and/or complicated (I'm unable to evaluate that and unable to implement that... unfortunately) but it seems to me that it could be a very useful feature and I'm ready to test a implementation of that when you want of course. ;)Of course, it's just a wish. No problem if this ticket is rejected.Regards.François Lafont PS: message edited 2 times (typo) Add Comment
Jira (PUP-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5914 data binding: a way to set the merge behaviour (like in the lookup() function) ? Change By: Francois Lafont Hi,I use puppet 4 and data binding with much satisfaction. Just for memory, data binding for instance it's:1. A manifest {{foo/manifests/init.pp}} like that in a {{foo}} module:{code:puppet}class foo (String[1] $param1,Hash[String[1], String[1]] $param2,Array[Data, 1] $param3,) {# The body of the class...}{code}2. This boilerplate function {{foo/lib/puppet/bindings/foo/default.rb}}:{code:puppet}Puppet::Bindings.newbindings('foo::default') do bind {name 'foo'to 'function'in_multibind 'puppet::module_data' }end{code}3. And a puppet function in {{foo/functions/data.pp}}:{code:puppet}function foo::data { # Code where $default_param1, $default_param2 and $default_param3 are set... {foo::param1: $default_param1,foo::param2: $default_param2,foo::param3: $default_param3, }}{code}And now, in hiera, I can override the default value of a parameter like that:{code:yaml}---# Here I just want to override the default value of param2.foo::param2: key1: 'specific-value1' key2: 'specific-value2'{code}h2. The wishIt's very useful but the merge behavior in the data binding mechanism is not changeable and it's necessarily the {{first}} behavior, ie the behavior where there is no merge (the first value found wins).It could be amazing if it was possible to set the merge behavior like in the {{lookup()}} function. I have no idea how it could be the syntax could be but the first way I see is something like that in the declaration of the {{foo}} class:{code:puppet}class foo ( String[1] $param1,deep Hash[String[1], String[1]] $param2,unique Array[Data, 1] $param3,) {# The body of the class...}{code}The syntax will be{code}] [{code}where {{}} will be a string like in the {{lookup()}} function, ie {{'first'}}, {{'unique'}}, {{'hash'}} or '{{deep}}' etc. To keep compatibility with the "old" syntax:{code:puppet}String[1] $param1,{code}will be equivalent to:{code:puppet}first String[1] $param1,{code}I have absolutely no idea if the implementation of this feature will be possible and/or complicated (I'm unable to evaluate that and unable to implement that... unfortunately) but it seems to me that it could be a very useful feature and I'm ready to test a implementation of that when you want of course. ;)Of course, it's just a wish. No problem if this ticket is rejected.Regards.François Lafont Add Comment
Jira (PUP-5914) data binding: a way to set the merge behaviour (like in the lookup() function) ?
Title: Message Title Francois Lafont created an issue Puppet / PUP-5914 data binding: a way to set the merge behaviour (like in the lookup() function) ? Issue Type: New Feature Assignee: Unassigned Components: Language Created: 2016/02/17 7:44 AM Priority: Minor Reporter: Francois Lafont Hi, I use puppet 4 and data binding with much satisfaction. Just for memory, data binding for instance it's: 1. A manifest foo/manifests/init.pp like that in a foo module: class foo ( String[1] $param1, Hash[String[1], String[1]] $param2,
Jira (PUP-5209) call_function and metadata.json: call a function from a different module, very strange behavior
Title: Message Title Francois Lafont commented on PUP-5209 Re: call_function and metadata.json: call a function from a different module, very strange behavior Hi, thanks guys for the work. This being said , I think the commit doesn't fix all the cases. Indeed, I have applied the changes in this commit in a testing (and updated) puppetserver and I have restarted the puppetserver. After that I have made some tests: I have called a puppet and ruby function from moda in init.pp, in a puppet function and in a ruby function of modb with the dependency declared and not declared (I think there are 12 tests if I count well). I have uploaded a new version of code in production_v2.zip. In this code, the tests just consist in comment/uncomment lines in modb/init.pp and in add/remove the dependency in modb/metadata.json (and launch a puppet run of course). Here is my conclusion concerning the remaining bugs: 1. modb can call any function of moda when called in modb/init.pp regardless if I add moda as dependency of modb or not. If I have well understood, if moda is not a dependency of modb, modb should not be able to call function of moda. 2. modb can not call any function of moda when called in a puppet function modb/functions/*.pp even if moda is added as dependency of modb in its metadata.json. I think the new production_v2.zip can help to make these tests. Regards. Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5209) call_function and metadata.json: call a function from a different module, very strange behavior
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5209 call_function and metadata.json: call a function from a different module, very strange behavior Change By: Francois Lafont Attachment: production_v2.zip Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5209) call_function and metadata.json: call a function from a different module, very strange behavior
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5209 call_function and metadata.json: call a function from a different module, very strange behavior Change By: Francois Lafont Attachment: production.zip Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5209) call_function and metadata.json: call a function from a different module, very strange behavior
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5209 call_function and metadata.json: call a function from a different module, very strange behavior New version with all the tests Change By: Francois Lafont Attachment: production.zip Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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-5209) call_function and metadata.json: call a function from a different module, very strange behavior
Title: Message Title Francois Lafont commented on PUP-5209 Re: call_function and metadata.json: call a function from a different module, very strange behavior Absolutely no problem. Just for memory, the abnormal behaviors have been summarized in this comment. Add Comment This message was sent by Atlassian JIRA (v6.4.12#64027-sha1:e3691cc) -- 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 (PUP-5232) Problem of pidfile with the mcollective service
Title: Message Title Francois Lafont updated an issue Puppet / PUP-5232 Problem of pidfile with the mcollective service Change By: Francois Lafont Hi,It's not a problem really concerning {{mcollective}} but rather its packaging in the AIO package {{puppet-agent}}. Here is the easy way to reproduce the problem on Ubuntu Trusty. It just consists in a quick and basic installation:{code:bash}# Basic installationroot@client-trusty:~# wget http://apt.puppetlabs.com/puppetlabs-release-pc1-trusty.debroot@client-trusty:~# dpkg -i puppetlabs-release-pc1-trusty.debroot@client-trusty:~# apt-get update && apt-get install puppet-agent -y# mcollective service and puppet service are enabled.root@client-trusty:~# ls /etc/rc?.d | grep -E '(mcollective|puppet)'K20mcollectiveK20puppetK20mcollectiveK20puppetS20mcollectiveS20puppetS20mcollectiveS20puppetS20mcollectiveS20puppetS20mcollectiveS20puppetK20mcollectiveK20puppetroot@client-trusty:~# # mcollective service and puppet service are currently "not running".root@client-trusty:~# ps aux | grep -E '(mcollectiv[e]|agen[t])'root@client-trusty:~## Now I reboot...root@client-trusty:~# reboot && exit{code}After the reboot:{code:bash}# Now mcollective service and puppet service are currently "running".root@client-trusty:~# ps aux | grep -E '(mcollectiv[e]|agen[t])'root 763 0.1 3.6 234664 18108 ?Sl 14:12 0:00 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/puppet/bin/mcollectived --pid=/var/run/puppetlabs/mcollectived.pid --config=/etc/puppetlabs/mcollective/server.cfg --daemonizeroot 787 3.0 7.5 215004 38044 ?Ssl 14:12 0:01 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/puppet/bin/puppet agentroot@client-trusty:~# root@client-trusty:~# service puppet status * agent is runningroot@client-trusty:~## But there is something wrong with the "mcollective" service.root@client-trusty:~# service mcollective status * mcollective is not runningroot@client-trusty:~# # The pid file is empty.root@client-trusty:~# echo -n 'pid=['; cat /var/run/puppetlabs/mcollectived.pid; echo ']'pid=[]root@client-trusty:~# {code}I have a similar problem if I want to disable the {{puppet}} service and keep the {{mcollective}} service enabled:{code:bash}# Now, I want to disable the "puppet" service and keep enabled the mcollective service.root@client-trusty:~# update-rc.d puppet disableroot@client-trusty:~# reboot && exit{code}And after the reboot:{code:bash}# Now just "mcollective" is just running.root@client-trusty:~# ps aux | grep -E '(mcollectiv[e]|agen[t])'root 777 0.0 3.6 234664 18072 ?Sl 14:18 0:00 /opt/puppetlabs/puppet/bin/ruby /opt/puppetlabs/puppet/bin/mcollectived --pid=/var/run/puppetlabs/mcollectived.pid --config=/etc/puppetlabs/mcollective/server.cfg --daemonizeroot@client-trusty:~# # But already a problem with the "mcollective" daemon.root@client-trusty:~# service mcollective statustouch: cannot touch '/var/run/puppetlabs/mcollectived.pid': No such file or directory * mcollective is not runningroot@client-trusty:~# # The /var/run/puppetlabs directory no longer exists so# the pid file /var/run/puppetlabs/mcollectived.pid doesn't exist.root@client-trusty:~# ls -la /var/run/puppetlabsls: cannot access /var/run/puppetlabs: No such file or directoryroot@client-trusty:~# {code}Currently,
Jira (PUP-5232) Problem of pidfile with the mcollective service
Title: Message Title Francois Lafont created an issue Puppet / PUP-5232 Problem of pidfile with the mcollective service Issue Type: Bug Affects Versions: puppet-agent 1.2.2 Assignee: Unassigned Components: AIO, Platform Created: 2015/09/13 6:27 AM Environment: Ubuntu Trusty 14.02 Labels: AIO puppet-agent package Priority: Normal Reporter: Francois Lafont Hi, It's not a problem really concerning mcollective but rather its packaging in the AIO package puppet-agent. Here is the easy way to reproduce the problem on Ubuntu Trusty. It just consists in a quick and basic installation:
Jira (PUP-5209) call_function and metadata.json: call a function from a different module, very strange behavior
Title: Message Title Francois Lafont commented on PUP-5209 Re: call_function and metadata.json: call a function from a different module, very strange behavior I have tested (with correct metadata.json for moda and modb) and there is no difference. I have again: root@puppet4:~# puppet agent --test Info: Retrieving pluginfacts Info: Retrieving plugin Info: Loading facts Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Evaluation Error: Error while evaluating a Function Call, Function modb::bar(): cannot call function '::moda::foo' - not found at /etc/puppetlabs/code/environments/production/modules/modb/manifests/init.pp:8:10 on node puppet4.athome.priv Warning: Not using cache on failed catalog Error: Could not retrieve catalog; skipping run
Jira (PUP-5209) call_function and metadata.json: call a function from a different module, very strange behavior
Title: Message Title Francois Lafont commented on PUP-5209 Re: call_function and metadata.json: call a function from a different module, very strange behavior The problem 3 is quite annoying because a consequence is: impossible to use moda::data() function in the modb::data() function. Add Comment This message was sent by Atlassian JIRA (v6.4.11#64026-sha1:78f6ec4) -- 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.