Hello, sorry that I cannot contribute directly to your solution, but in the body of your email messsage you said all workstations start with a *#*, did you mean w? The two characters on the keyboard are near each other.
-------------------------- Warron French On Fri, Oct 21, 2016 at 4:05 PM, <[email protected]> wrote: > I have two custom facts and I have put each file in the directory for a > single module. Both facts get loaded onto my clients. > > The problem I am having is that each fact runs successfully when it is by > itself, but when both run at the same time, the results aren't as expected. > > To test, I rename one fact as *.rb.bak, and then I get proper results. > Switch to the other fact, again, proper results. Remove .bak so they both > run, results are wrong. > > Here are my .rb files. > > All of my servers start with the letter a and have either an aX or aXXX > which describes their physical location. All of the servers end with 5 > characters that describe the network they are on. The remaining characters > describe what the server does. > > All of my workstations start with a #. > > What seems to happen, is that when both facts are running, none of my > servers start with "a" so all of my servers show up as workstations. > > It appears that 'location_code.slice! seems to run, so the prefix of my > hostname is gone and the first letter appears to be the part of the > hostname that describes the servers function. > > To test, I changed "a" in my code to "f" and my file server had the proper > server_role of file. > > I don't understand why this happens as my variables are different between > the two script > > I appreciate any assistance. > > require 'facter' > > Facter.add(:location_code) do > setcode do > address = Facter.value(:ipaddress).tr('.', '') > address = address.to_i > location_code = Facter.value(:hostname) > if address.between?(104127100, 104127255) > location_code.slice!(0,2) > else > location_code.slice!(0,4) > end > end > end > > > > > require 'facter' > > Facter.add(:server_role) do > setcode do > ip_address = Facter.value(:ipaddress).tr('.', '') > ip_address = ip_address.to_i > server_role = Facter.value(:hostname) > if server_role[0,1] != "a" > server_role = 'workstation' > else > if ip_address.between?(104127100, 104127255) > server_role.slice!(0,2) > else > server_role.slice!(0,4) > end > server_role = server_role[0..-6] > end > end > end > > > -- > 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/f0e17cd7-6179-4607-ab87-870bed5c4040%40googlegroups.com > <https://groups.google.com/d/msgid/puppet-users/f0e17cd7-6179-4607-ab87-870bed5c4040%40googlegroups.com?utm_medium=email&utm_source=footer> > . > 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-users/CAJdJdQ%3DzuVASYPjuoQZHw5xpN_31PrH20jm5WDbnrdj7Y99t0Q%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
