On Saturday, 27 August 2016 18:51:09 UTC+1, Marc Haber wrote: > > On Fri, Aug 26, 2016 at 08:40:49AM -0700, Luke Bigum wrote: > > My Dell XPS 13, 2016 model: > > > > /sys/class/net/docker0 > > /sys/class/net/enp0s20u1u3i5 > > E: ID_NET_NAME_MAC=enx9cebe824ebee > > E: ID_NET_NAME_PATH=enp0s20u1u3i5 > > What a name! >
http://accessories.euro.dell.com/sna/productdetail.aspx?c=uk&l=en&s=bsd&cs=ukbsdt1&sku=452-bboo > > For both the Dell R720 and R730, there's no NET_NAME stuff: > > > > [root@r720 ~]# udevadm info -q all -p /sys/class/net/p4p2 > > P: /devices/pci0000:40/0000:40:02.0/0000:42:00.1/net/p4p2 > > E: UDEV_LOG=3 > > E: DEVPATH=/devices/pci0000:40/0000:40:02.0/0000:42:00.1/net/p4p2 > > E: INTERFACE=p4p2 > > E: IFINDEX=7 > > E: SUBSYSTEM=net > > Maybe OS too old? The interface name "p4p2" also looks fishy. > Nope, CentOS 6 (which I guess is pretty old now). > > Yes, we definitely don't define resources, and don't include component / > > base level classes. I think we pulled it from an early Gary Larizza > post, > > along with "roles don't have parameters, if you need to configure a role > > you've got two different roles". > > Yes, but dropping a supplementary file does not mean that a role has > parameters. And also, it would be duplication if one had two distinct > roles that would only differ in single setting? > Mmmm that's one of the two big questions in all our Puppet design discussions here. Do I introduce some sort of boolean switch to drop a new file, or do I create a new role / profile. (The other big question is "Should this value be hard coded in a profile or as a parameter in Hiera?") If it is just one file difference, then I would be persuaded to allow a boolean switch in the profile. If the file did functionality differences inside a given location/environment, or or was necessary in this location but not others, I'd be ok with the boolean being set in Hiera for those locations/environments. If on the other hand it the role needed to be used in two different ways inside an environment (maybe the file was the difference between Master and Slave) then I would advocate two roles. In my mind that's quite clear that there are two different "jobs to do" here, rather than something being done slightly differently in a different location: class role::master { class { 'profile::something': master => true } } class role::slave { class { 'profile::something': master => false } } The problem I've found with such boolean switches is once someone sees one of them as a potential solution, they tend to explode into a mass of if statements and make things really complicated to read. I think it's because it's easy - I can just solve my problem right now with an if statement here, rather than spend a few hours thinking about and refactoring all the related classes. Getting a good balance between duplication (and testing) versus purist design is difficult, and I don't think there will ever be a right answer. -Luke -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/3ca61fb4-389d-4738-be23-d63b7a4b3d0d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
