Comment 9 for bug 1328163

Revision history for this message
Frank J. Cameron (fjc) wrote : Re: 'NodeBondInterface' object has no attribute 'ip_addr'

The patch has improved things:

Before:

1. Add 6-nic nodes
2. Configure bonding
3. Web UI node list doesn't load anymore
4. Remove nodes from CLI
5. Web UI node list loads again
6. Re-add the nodes
7. Web UI node list doesn't load anymore

After:

1. Add 6-nic nodes
2. Configure bonding
3. Web UI node list doesn't load anymore
4. Remove nodes from CLI
5. Web UI node list loads again
6. Re-add the nodes
7. Web UI node list still loads
8. Configure bonding
9. Web UI node list doesn't load anymore

nailgun api log:

2014-06-18 16:00:23.151 DEBUG [7f5e6ebfd700] (logger) Request GET /api/nodes?cluster_id=1&_=1402930426364 from 172.17.42.1:47692
2014-06-18 16:00:23.417 DEBUG [7f5e6ebfd700] (logger) Response code '200 OK' for GET /api/nodes?cluster_id=1&_=1402930426364 from 172.17.42.1:47692
2014-06-18 16:00:28.621 DEBUG [7f5e84dfa700] (logger) Request PUT /api/nodes/6/interfaces from 172.17.42.1:47693 [{"type":"bond","name":"ovs-bond0","mode":"active-backup","assigned_networks":[{"id":8,"name":"public"},{"id":10,"name":"storage"},{"id":9,"name":"management"}],"slaves":[{"name":"eth0"},{"name":"eth1"},{"name":"eth2"}]},{"name":"eth0","state":"up","mac":"a0:36:9f:2a:44:20","max_speed":1000,"current_speed":1000,"assigned_networks":[],"type":"ether","id":114},{"name":"eth1","state":"up","mac":"a0:36:9f:2a:44:21","max_speed":1000,"current_speed":1000,"assigned_networks":[],"type":"ether","id":113},{"name":"eth2","state":"up","mac":"a0:36:9f:2a:44:22","max_speed":1000,"current_speed":1000,"assigned_networks":[],"type":"ether","id":112},{"name":"eth3","state":"down","mac":"a0:36:9f:2a:44:23","max_speed":1000,"current_speed":null,"assigned_networks":[],"type":"ether","id":111},{"name":"eth4","state":"up","mac":"f0:1f:af:d8:ec:02","max_speed":1000,"current_speed":1000,"assigned_networks":[{"id":1,"name":"fuelweb_admin"}],"type":"ether","id":110},{"name":"eth5","state":"down","mac":"f0:1f:af:d8:ec:03","max_speed":1000,"current_speed":null,"assigned_networks":[],"type":"ether","id":109}]
2014-06-18 16:00:28.626 DEBUG [7f5e857fb700] (logger) Request PUT /api/nodes/7/interfaces from 172.17.42.1:47694 [{"type":"bond","name":"ovs-bond0","mode":"active-backup","assigned_networks":[{"id":8,"name":"public"},{"id":10,"name":"storage"},{"id":9,"name":"management"}],"slaves":[{"name":"eth0"},{"name":"eth1"},{"name":"eth2"}]},{"name":"eth0","state":"up","mac":"a0:36:9f:2a:40:90","max_speed":1000,"current_speed":1000,"assigned_networks":[],"type":"ether","id":120},{"name":"eth1","state":"up","mac":"a0:36:9f:2a:40:91","max_speed":1000,"current_speed":1000,"assigned_networks":[],"type":"ether","id":119},{"name":"eth2","state":"up","mac":"a0:36:9f:2a:40:92","max_speed":1000,"current_speed":1000,"assigned_networks":[],"type":"ether","id":118},{"name":"eth3","state":"down","mac":"a0:36:9f:2a:40:93","max_speed":1000,"current_speed":null,"assigned_networks":[],"type":"ether","id":117},{"name":"eth4","state":"up","mac":"f0:1f:af:d8:fa:82","max_speed":1000,"current_speed":1000,"assigned_networks":[{"id":1,"name":"fuelweb_admin"}],"type":"ether","id":116},{"name":"eth5","state":"down","mac":"f0:1f:af:d8:fa:83","max_speed":1000,"current_speed":null,"assigned_networks":[],"type":"ether","id":115}]
2014-06-18 16:00:28.855 DEBUG [7f5e84dfa700] (logger) Response code '200 OK' for PUT /api/nodes/6/interfaces from 172.17.42.1:47693
2014-06-18 16:00:28.863 DEBUG [7f5e857fb700] (logger) Response code '200 OK' for PUT /api/nodes/7/interfaces from 172.17.42.1:47694
2014-06-18 16:00:30.343 DEBUG [7f5e861fc700] (logger) Request PUT /api/nodes/agent/ from 172.16.106.5:47695 {"manufacturer":"Dell Inc.","os_platform":"centos","mac":"D2:24:5D:2C:06:40","is_agent":true,"agent_checksum":"d6ed71da517f41b21445ee14b6c181b810923965","platform_name":"PowerEdge R720xd","meta":{"disks":[{"model":"PERC H710P","disk":"disk/by-path/pci-0000:02:00.0-scsi-0:2:4:0","removable":"0","size":4000225165312,"extra":["disk/by-id/wwn-0x6b8ca3a0e644fb00194b587e12f42969","disk/by-id/scsi-36b8ca3a0e644fb00194b587e12f42969"],"name":"sde"},{"model":"PERC H710P","disk":"disk/by-path/pci-0000:02:00.0-scsi-0:2:2:0","removable":"0","size":4000225165312,"extra":["disk/by-id/wwn-0x6b8ca3a0e644fb00194b586711951172","disk/by-id/scsi-36b8ca3a0e644fb00194b586711951172"],"name":"sdc"},{"model":"PERC H710P","disk":"disk/by-path/pci-0000:02:00.0-scsi-0:2:3:0","removable":"0","size":4000225165312,"extra":["disk/by-id/wwn-0x6b8ca3a0e644fb00194b587312510ccf","disk/by-id/scsi-36b8ca3a0e644fb00194b587312510ccf"],"name":"sdd"},{"model":"PERC H710P","disk":"disk/by-path/pci-0000:02:00.0-scsi-0:2:0:0","removable":"0","size":146163105792,"extra":["disk/by-id/wwn-0x6b8ca3a0e644fb00194b58050bb57f8f","disk/by-id/scsi-36b8ca3a0e644fb00194b58050bb57f8f"],"name":"sda"},{"model":"PERC H710P","disk":"disk/by-path/pci-0000:02:00.0-scsi-0:2:1:0","removable":"0","size":4000225165312,"extra":["disk/by-id/wwn-0x6b8ca3a0e644fb00194b585a10ce5b4e","disk/by-id/scsi-36b8ca3a0e644fb00194b585a10ce5b4e"],"name":"sdb"}],"memory":{"devices":[{"type":"DDR3","frequency":1333,"size":4294967296},{"type":"DDR3","frequency":1333,"size":4294967296},{"type":"DDR3","frequency":1333,"size":4294967296},{"type":"DDR3","frequency":1333,"size":4294967296},{"type":"DDR3","frequency":1333,"size":4294967296},{"type":"DDR3","frequency":1333,"size":4294967296},{"type":"DDR3","frequency":1333,"size":4294967296},{"type":"DDR3","frequency":1333,"size":4294967296}],"maximum_capacity":824633720832,"slots":24,"total":34359738368},"cpu":{"total":24,"real":2,"spec":[{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999},{"model":"Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz","frequency":1999}]},"system":{"manufacturer":"Dell Inc.","serial":"547WFX1","fqdn":"node-3","product":"PowerEdge R720xd"},"interfaces":[{"mac":"90:B1:1C:4F:34:A3","state":"up","current_speed":1000,"name":"eth3","max_speed":1000},{"mac":"90:B1:1C:4F:34:A1","state":"up","current_speed":1000,"name":"eth2","max_speed":1000},{"mac":"90:B1:1C:4F:34:9F","state":"up","current_speed":1000,"name":"eth1","max_speed":10000},{"mac":"90:B1:1C:4F:34:9D","state":"up","current_speed":1000,"name":"eth0","max_speed":10000}]},"ip":"172.16.106.5"}
2014-06-18 16:00:30.375 DEBUG [7f5e861fc700] (logger) Response code '200 OK' for PUT /api/nodes/agent/ from 172.16.106.5:47695
2014-06-18 16:00:30.432 DEBUG [7f5e86bfd700] (logger) Request GET /api/nodes?cluster_id=1&_=1403105951560 from 172.17.42.1:47696
2014-06-18 16:00:30.550 ERROR [7f5e86bfd700] (logger) Traceback (most recent call last):
  File "/usr/lib/python2.6/site-packages/web/application.py", line 239, in process
    return self.handle()
  File "/usr/lib/python2.6/site-packages/web/application.py", line 230, in handle
    return self._delegate(fn, self.fvars, args)
  File "/usr/lib/python2.6/site-packages/web/application.py", line 420, in _delegate
    return handle_class(cls)
  File "/usr/lib/python2.6/site-packages/web/application.py", line 396, in handle_class
    return tocall(*args)
  File "<string>", line 2, in GET
  File "/usr/lib/python2.6/site-packages/nailgun/api/handlers/base.py", line 95, in content_json
    data = func(*args, **kwargs)
  File "/usr/lib/python2.6/site-packages/nailgun/api/handlers/node.py", line 87, in GET
    return self.collection.to_json(nodes)
  File "/usr/lib/python2.6/site-packages/nailgun/objects/base.py", line 312, in to_json
    iterable=iterable
  File "/usr/lib/python2.6/site-packages/nailgun/objects/base.py", line 295, in to_list
    use_iterable
  File "/usr/lib/python2.6/site-packages/nailgun/objects/base.py", line 294, in <lambda>
    lambda o: cls.single.to_dict(o, fields=fields),
  File "/usr/lib/python2.6/site-packages/nailgun/objects/node.py", line 600, in to_dict
    networks_grouped.get(instance.cluster_id, [])
  File "/usr/lib/python2.6/site-packages/nailgun/network/manager.py", line 629, in get_node_networks_optimized
    network_data.append(cls._get_admin_network(node_db))
  File "/usr/lib/python2.6/site-packages/nailgun/network/manager.py", line 873, in _get_admin_network
    'dev': node.admin_interface.name
  File "/usr/lib/python2.6/site-packages/nailgun/db/sqlalchemy/models/node.py", line 229, in admin_interface
    ip_addr = interface.ip_addr
AttributeError: 'NodeBondInterface' object has no attribute 'ip_addr'