Issue #1128 has been updated by luke.

Status changed from Accepted to Ready for Checkin
Assigned to changed from community to jamtur01

I've committed some changes that make the problems with this type clear, but I 
could not fix them all.  The changes are in my tickets/0.24.x/1128 branch.

In particular, the name of interfaces between redhat and solaris nodes is 
braindead -- solaris uses the hostname but redhat uses the ip address, if it's 
there, else it uses something else silly.

As a result, I've decided to remove the type for now.  The last commit in that 
branch removes all of the interface-related code (in commit 
be169da98d34f7305019d9e3be2a7da2bcb3e28c).  If you want to make this work, just 
apply that as a reverse patch and hack away.  The failing tests aren't a bad 
place to start, but a better place to start is to remove everything you don't 
understand and only add back when you know you need it.
----------------------------------------
Bug #1128: interface errors on centos / redhat
http://reductivelabs.com/redmine/issues/show/1128

Author: otto
Status: Ready for Checkin
Priority: Normal
Assigned to: jamtur01
Category: interface
Target version: 0.24.5
Keywords: 
Complexity: Unknown
Patch: None
Affected version: 


I'm trying to use the 'interface' type resource for setting up interface 
aliases.  I'm using 
Puppet version 0.24.2, [[CentOS]] 5.

My interface declaration:
<pre>
node "dev1" {
  interface { "192.168.10.229":
    interface_type => "alias",
    interface => "eth0",
    ensure => "present",
    netmask => "255.255.255.0",
  }
}
</pre>

puppetd reports the following error:

<pre>
err: Could not prefetch interface provider 'redhat': undefined method 
@bootproto=' for #<Puppet::Type::Interface::ProviderRedhat:0xb78cc8ac>
err: //Node[dev2]/Interface[10.0.1.201]: Failed to retrieve current state of 
resource: undefined method @[]' for 
#<Puppet::Type::Interface::ProviderRedhat:0xb7825638>
</pre>

I removed the BOOTPROTO line from /etc/sysconfig/network-scripts/icfg-eth0, but 
then it complains about the HWADDR.  If I take out HWADDR (which is probably is 
not a good idea), it complains about NETWORK.  If I take out NETWORK, it 
complains about GATEWAY.  If I take out GATEWAY, it complains about BROADCAST.  
Finally, I take out BROADCAST, and it complains about '[]'.  

I've even tried removing both my ifcfg-eth0 and ifcfg-lo files to see what 
puppet does.  I get no errors about

<pre>
"Could not prefetch interface provider 'redhat'... "
</pre>

but I still get the same

<pre>
"Failed to retrieve current state of resource: undefined method @[]'..."
</pre>

at the bottom of the output.

I see that there was a ticket submitted for what looks like a similar problem, 
but it was marked as fixed back in November 2007:
http://reductivelabs.com/trac/puppet/ticket/762

Below is the puppet output and trace for when my ifcfg* files are in place, but 
with the mentioned properties commented out in ifcfg-eth0.

My current eth0 interface file (with lots of commenting out):

<pre>
[EMAIL PROTECTED] network-scripts]# cat 
/etc/sysconfig/network-scripts/ifcfg-eth0
cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Realtek Semiconductor Co., Ltd. RTL-8029(AS)
DEVICE=eth0
ONBOOT=yes
#HWADDR=00:1c:42:af:2b:83
IPADDR=192.168.10.228
NETMASK=255.255.255.0
#NETWORK=192.168.10.0
ONBOOT=yes
#GATEWAY=192.168.10.1
#BROADCAST=192.168.10.255
</pre>

The output and stacktrace from puppetd --test:

<pre>
[EMAIL PROTECTED] network-scripts]# puppetd --test --trace
notice: Ignoring cache
info: Caching catalog at /var/puppet/state/localconfig.yaml
notice: Starting catalog run
/usr/lib/ruby/site_ruby/1.8/puppet/provider/interface/redhat.rb:63:in 
@instances'
/usr/lib/ruby/site_ruby/1.8/puppet/provider/interface/redhat.rb:59:in @collect'
/usr/lib/ruby/site_ruby/1.8/puppet/provider/interface/redhat.rb:59:in 
@instances'
/usr/lib/ruby/site_ruby/1.8/puppet/provider/interface/redhat.rb:112:in 
@prefetch'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:492:in @prefetch'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:489:in @each'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:489:in @prefetch'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:504:in @prepare'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:301:in @evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/node/catalog.rb:102:in @apply'
/usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:260:in @run'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:212:in @benchmark'
/usr/lib/ruby/1.8/benchmark.rb:293:in @measure'
/usr/lib/ruby/1.8/benchmark.rb:307:in @realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:211:in @benchmark'
/usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:259:in @run'
/usr/lib/ruby/1.8/sync.rb:229:in @synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:241:in @run'
/usr/sbin/puppetd:429
err: Could not prefetch interface provider 'redhat': undefined method @[]' for 
#<Puppet::Type::Interface::ProviderRedhat:0xb79870a8>
info: /Schedule[weekly]: Evaluated in 0.00 seconds
info: /Schedule[puppet]: Evaluated in 0.00 seconds
/usr/lib/ruby/site_ruby/1.8/puppet/provider.rb:359:in @name'
/usr/lib/ruby/site_ruby/1.8/puppet/provider/interface/redhat.rb:154:in 
@file_path'
/usr/lib/ruby/site_ruby/1.8/puppet/provider/interface/redhat.rb:135:in @exists?'
/usr/lib/ruby/site_ruby/1.8/puppet/property.rb:517:in @retrieve'
/usr/lib/ruby/site_ruby/1.8/puppet/metatype/evaluation.rb:103:in 
@currentpropvalues'
/usr/lib/ruby/site_ruby/1.8/puppet/external/gratr/search.rb:325:in @inject'
/usr/lib/ruby/site_ruby/1.8/puppet/metatype/evaluation.rb:101:in @each'
/usr/lib/ruby/site_ruby/1.8/puppet/metatype/evaluation.rb:101:in @inject'
/usr/lib/ruby/site_ruby/1.8/puppet/metatype/evaluation.rb:101:in 
@currentpropvalues'
/usr/lib/ruby/site_ruby/1.8/puppet/metatype/evaluation.rb:94:in @retrieve'
/usr/lib/ruby/site_ruby/1.8/puppet/metatype/evaluation.rb:23:in @evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:60:in @apply'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:240:in @eval_resource'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:444:in @thinmark'
/usr/lib/ruby/1.8/benchmark.rb:293:in @measure'
/usr/lib/ruby/1.8/benchmark.rb:307:in @realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:443:in @thinmark'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:239:in @eval_resource'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:311:in @evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:444:in @thinmark'
/usr/lib/ruby/1.8/benchmark.rb:293:in @measure'
/usr/lib/ruby/1.8/benchmark.rb:307:in @realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:443:in @thinmark'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:310:in @evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:304:in @collect'
/usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:304:in @evaluate'
/usr/lib/ruby/site_ruby/1.8/puppet/node/catalog.rb:102:in @apply'
/usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:260:in @run'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:212:in @benchmark'
/usr/lib/ruby/1.8/benchmark.rb:293:in @measure'
/usr/lib/ruby/1.8/benchmark.rb:307:in @realtime'
/usr/lib/ruby/site_ruby/1.8/puppet/util.rb:211:in @benchmark'
/usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:259:in @run'
/usr/lib/ruby/1.8/sync.rb:229:in @synchronize'
/usr/lib/ruby/site_ruby/1.8/puppet/network/client/master.rb:241:in @run'
/usr/sbin/puppetd:429
err: //Node[dev1]/Interface[192.168.10.229]: Failed to retrieve current state 
of resource: undefined method @[]' for 
#<Puppet::Type::Interface::ProviderRedhat:0xb797f1c8>
info: //Node[dev1]/Interface[192.168.10.229]: Evaluated in 0.01 seconds
info: /Schedule[monthly]: Evaluated in 0.00 seconds
info: /Schedule[hourly]: Evaluated in 0.00 seconds
info: /Schedule[never]: Evaluated in 0.00 seconds
info: /Schedule[daily]: Evaluated in 0.00 seconds
info: /Filebucket[puppet]: Evaluated in 0.00 seconds
Changes:
Resources:
          Failed: 1
       Scheduled: 8
           Total: 10
Time:
  Config retrieval: 0.84
      Filebucket: 0.00
       Interface: 0.01
        Schedule: 0.00
           Total: 0.85
info: Sent transaction report in 0.11 seconds
notice: Finished catalog run in 0.38 seconds
</pre>



----------------------------------------
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://reductivelabs.com/redmine/my/account

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to