IMHO, the changes made to the language in 4.x allows for better and more complete modeling of systems. Yes you have more 'things' to learn, the types/lookup systems for example but they are relatively simple to understand. Look at your ntp example, I image it was the specification of Types that looks so different and it is but your get assurances that your classes parameters receive data it can use. You don't need an army of validators. This is a good thing.
The rapid development of a system and its supporting structures is not a sign of rot it's quite the opposite.
Keep in mind as well that puppet is NOT a scripting language that lets you setup ntp on your nodes. It's a modeling language that lets you express the important features of your system(s). At times that can look like over-engineering and it is if the perspective you have is 'I just need my ntp config pushed to my box' but I'd posit that your missing the forest for the trees. The ntp model should model the ntp system with sufficient suppleness that it is generally applicable AND able to handle more advanced use cases. If that is not an important feature if the systems you are modeling, don't use it. File[] is always there 😉
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/F4C5D70E-9FF4-4257-9B23-1E21250B0510%40orange.fr.
Hi guys,
this is maybe a topic better suited for -dev list, but, well, here goes.
T time.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/d7250279-33b4-9d91-445c-7eaf81a13b14%40gmail.com.
And, on the other hand - all this complexity to manage a NTP?And that's for something that for a given environment never change, have no options. So dropping a standard file that is hand made once in a lifetime is enough for the vast majority of people.
That's why I don't use standard or references modules. I can do in 10 lines written in 10 minutes what they did in 100 written in many days. I don't care that they don't run on some exotic plate from that I never heard of or are not good for stratum 1 servers. They are tailored for my need, that's enough for me. They never brake, never warn, works almost unchanged from puppet 2.7 time and it take me the same amount of time that it would have taken to download, understand and check them.
Recommind GmbH, Von-Liebig-Straße 1, 53359 Rheinbach
Vertretungsberechtigte Geschäftsführer John Marshall Doolittle, Gordon Davies, Roger Illing, Registergericht Amtsgericht Bonn, Registernummer HRB 10646
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have received this e-mail in error) please notify the sender immediately and destroy this e-mail. Any unauthorized copying, disclosure or distribution of the material in this e-mail is strictly forbidden
Diese E-Mail enthält vertrauliche und/oder rechtlich geschützte Informationen. Wenn Sie nicht der richtige Adressat sind oder diese E-Mail irrtümlich erhalten haben, informieren Sie bitte sofort den Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail sind nicht gestattet.
There are a lot of very valid issues and concerns you bring up here. I do want to start by saying, however, that puppet 4 is more than 6 months old - about 20 months to be precise - and most of the significant language changes were introduced somewhat earlier in the future parser in puppet 3. These changes should be easier to take in for sure, but that is at least 3x more to catch up on. I hope that doesn't sound like a harsh response, but I think it's more accepted that after 1.5-2 years, most moving projects will require significant re-learning.
so we're on the same page are you just saying in general the NTP module has too much
going on and its too huge for a "simple" piece of software?
classes:
ntp:
config_epp:
type: string
required: false
and Data now uses Hiera, its a LOT LESS code in Puppet 4 and fewer dependencies
etc
Just want to understand the actual complaint part of this distinctly from the rant
part of this mail thread.
Because if i can convince your client to connect to $evil_ca, then what?
How's it to know its a new legit ca and not a new bad ca?
since the agent has, in theory, a valid copy of the original CA which it can use to validate the connection.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAC76iT_2XN3vaZKrpzsrXOzkT%2B4_3P82ZZWkipigm8%3D%3DXew9ZA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CANs%2BFoVhHTsauG_gA_fODFXWYAoj9McHuvLk5ikOC%3DoReFd35Q%40mail.gmail.com.
> So how many times have you verified you didn't talk to an evil CA when you
> originally connected an agent?
Every time? I logged into my known CA using a non Puppet means, I know it's
the known CA because of SSH safety checks and I sign the client I expect to
sign on this known CA using the information at hand - the client fingerprint
that I visually confirm.
> And the thing is, if I delete that cached file, it promptly (and as near as
> I can tell, blindly) downloads the ca.pem file anyway.
But this is not enough, the new ca.pem isn't all you need, you need certs signed
by the new ca too.
Turns out it's not news to anyone that this is needed and if you look in
Jira there is a whole group of tickets covering exactly that and afaik
it's quite high priority. I am sure constructive input on those will be
appreciated.
This is why I've previously, when you contacted me off list, also asked
the same question to you: Have you filed any tickets or are you just
ranting to make yourself feel better?
To expand on the issue with redownloading CA and blind trust, lets
consider a situation I am often in.
My laptop laptop1.mycorp.local is Puppet managed, have a cert and
a CA. My laptop is using DHCP because I travel a lot and it uses
the default 'puppet' name for the master.
I go to evilcorp.local who gives me a DHCP host name sucker1.evilcorp.local,
my Puppet agent makes a new cert automagically for this name, sends
it off to be signed by puppet1.evilcorp.local who in turn auto signs
it, I cache the new ca.pem and we're off. It runs a exec{} that
rsyncs my whole ~ off to its NAS neatly bypassing any disk encryption
I might have and so steals all my other clients code and secrets I
happen to have on my laptop.
Except this doesn't happen because it doesn't redownload the CA.
Not redownloading the CA is CRITICAL. And yes naming things still
suck, calling it a cache is a mistake, not treating it like a cache
is not.
This is very different from WHY ARENT YOU DOWNLOADING JUST ANY RANDOM
ca.pem YOU ARE GIVEN THIS WILL FIX ALL THE PROBLEMS WHY ARE YOU SUCH
IDIOTS? As per your emails.
>>> email to puppet-users+unsubscribe@googlegroups.com.
>>> To view this discussion on the web visit https://groups.google.com/d/ms
>>> gid/puppet-users/CAC76iT_2XN3vaZKrpzsrXOzkT%2B4_3P82ZZWkipig
>>> m8%3D%3DXew9ZA%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/puppet-users/CAC76iT_2XN3vaZKrpzsrXOzkT%2B4_3P82ZZWkipigm8%3D%3DXew9ZA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Trevor Vaughan
>> Vice President, Onyx Point, Inc
>> (410) 541-6699 x788 <(410)%20541-6699>
>>
>> -- This account not approved for unencrypted proprietary information --
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Puppet Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to puppet-users+unsubscribe@googlegroups.com.
>> To view this discussion on the web visit https://groups.google.com/d/
>> msgid/puppet-users/CANs%2BFoVhHTsauG_gA_fODFXWYAoj9McHuvLk5ikOC%
>> 3DoReFd35Q%40mail.gmail.com
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Puppet Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/puppet-users/CAC76iT-EdpmHgARsA4HQ6YTgCug9MF%3DMng-K2VO6X6rZwowe1w%40mail.gmail.com.
> For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/467848195.683621.1484059337277.JavaMail.zimbra%40devco.net.
For more options, visit https://groups.google.com/d/optout.
On Sunday, January 8, 2017 at 2:31:33 PM UTC-5, Rob Nelson wrote:There are a lot of very valid issues and concerns you bring up here. I do want to start by saying, however, that puppet 4 is more than 6 months old - about 20 months to be precise - and most of the significant language changes were introduced somewhat earlier in the future parser in puppet 3. These changes should be easier to take in for sure, but that is at least 3x more to catch up on. I hope that doesn't sound like a harsh response, but I think it's more accepted that after 1.5-2 years, most moving projects will require significant re-learning.I've been using "future parser" in Puppet 3 for a while-- I absolutely had to have iteration, and a few other features, so I *thought* I had been keeping up with puppet development.I had a similar reaction to the OP when I looked at the NTP code-- "eeeeek!!!".Although knowing that it's optional is a good thing, and knowing it's available is also good-- it is something of an overwhelming example of "wall of code". Then again, for those who say NTP is simple-- I point and laugh in your general direction. The fact that NTP *can* be as simple as a drift file and an NTP host, doesn't mean it's always that easy, and I respect the amount of effort in making that module work.
Having said that, my ntp class is a bit simpler, and resembles the classic "package / file / service" puppet class, because that's all my site requires.
Most of my bitterness towards puppet comes from the 3.x series, where the API was a moving target, and upgrading to the "latest" puppet 3.x package could break your world. It's gotten significantly better, but I'm still only about halfway up the puppet 3.x --> 4.x cliff. ;)
I'd like to point out that this ntp module is also deliberately a test case for *all* of the puppet 4 language features, and as such is kind of a "reference module", so it certainly could be simpler but is intended to both do something useful and provide a working example of things like EPP and the type system. Helen Campbell wrote up a walk-through of the features that she and David Schmitt implemented in it here: https://puppet.com/blog/ntp-puppet-4-language-update
Most of my bitterness towards puppet comes from the 3.x series, where the API was a moving target, and upgrading to the "latest" puppet 3.x package could break your world. It's gotten significantly better, but I'm still only about halfway up the puppet 3.x --> 4.x cliff. ;)Can you give me an example of backwards-incompatible API changes in the 3.x series? I'm not being snarky; we had long debates (way too long, in some cases) about semantic versioning and did extra work to not introduce breaking changes into the 3.x. The goal was rebuilding trust that new versions behave like you'd expect given the version number, so I'm dismayed to hear that those efforts failed and things broke for you anyway :(