[2.0a1/2.0pre-a2] Fail to commission when Fabric on Machine Interface and Rack Interface dont match
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
| MAAS |
Critical
|
Blake Rouse |
Bug Description
==> /var/log/
2016-03-12 00:16:59 [maasserver] ERROR: #######
2016-03-12 00:16:59 [maasserver] ERROR: Traceback (most recent call last):
File "/usr/lib/
response = wrapped_
File "/usr/lib/
return view_atomic(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
preseed_url = compose_
File "/usr/lib/
base_url = node.get_
AttributeError: 'NoneType' object has no attribute 'url'
2016-03-12 00:16:59 [-] 127.0.0.1 - - [11/Mar/
ckcontroller_
Related branches
- Mike Pontillo (community): Approve on 2016-03-16
-
Diff: 1581 lines (+571/-212)11 files modifiedsrc/maasserver/rpc/boot.py (+16/-2)
src/maasserver/rpc/regionservice.py (+3/-3)
src/maasserver/rpc/tests/test_boot.py (+87/-34)
src/maasserver/rpc/tests/test_regionservice.py (+2/-0)
src/provisioningserver/plugin.py (+13/-10)
src/provisioningserver/pserv_services/tests/test_tftp.py (+209/-84)
src/provisioningserver/pserv_services/tftp.py (+94/-73)
src/provisioningserver/rpc/region.py (+2/-0)
src/provisioningserver/tests/test_plugin.py (+1/-5)
src/provisioningserver/utils/tests/test_twisted.py (+95/-0)
src/provisioningserver/utils/twisted.py (+49/-1)
Changed in maas: | |
milestone: | none → 2.0.0 |
importance: | Undecided → Critical |
importance: | Critical → High |
Andres Rodriguez (andreserl) wrote : Re: [2.0a1] PXE interface is incorrectly determined or not determined at all | #1 |
summary: |
- [2.0a1] PXE interface is incorrectly determined + [2.0a1] PXE interface is incorrectly determined or not determined at all |
Andres Rodriguez (andreserl) wrote : | #3 |
In my lab:
{
"address_ttl": null,
"hostname": "advective-
"boot_
},
"virtualblo
"status_
"architecture": "amd64/generic",
"status": 0,
"status_
"power_state": "unknown",
"power_type": "ipmi",
"blockdevic
"storage": 0.0,
"physicalbl
"cpu_count": 0,
"system_id": "4y3haq",
"osystem": "",
"macaddress
{
},
{
}
],
"min_
"owner": null,
"interface_
{
"id": 136,
"name": "eth0",
"type": "physical",
"vlan": {
},
"tags": [],
},
{
"id": 137,
"name": "eth1",
"type": "physical",
"vlan": {
},
"tags": [],
}
],
"boot_disk": null,
"ip_addresses": [],
"memory": 0,
"fqdn": "advective-
"tag_names": [],
"disable_ipv4": false,
"node_
"zone": {
"name": "default"
},
"domain": {
"id": 0,
"name": "maas",
"ttl": null
},
"distro_
"node_type": 0,
"resource_uri": "/MAAS/
"hwe_kernel": "",
"netboot": true,
"swap_size": null,
"status_name": "New"
}
description: | updated |
description: | updated |
Changed in maas: | |
importance: | High → Critical |
summary: |
- [2.0a1] PXE interface is incorrectly determined or not determined at all + [2.0a1] PXE interface is incorrectly determined |
summary: |
- [2.0a1] PXE interface is incorrectly determined + [2.0a1] PXE interface & fabric are incorrectly determined |
summary: |
- [2.0a1] PXE interface & fabric are incorrectly determined + [2.0a1] Fabric are incorrectly determined, which may cause PXE interface + incorrectly showed in the UI |
description: | updated |
Andres Rodriguez (andreserl) wrote : Re: [2.0a1] Fabric are incorrectly determined, which may cause PXE interface incorrectly showed in the UI | #4 |
Ok, I dunno if this is related, but can't commission. It seems it boots into the enlistment process instead of commissioning. I'm using manual power type, and I see the error in:
2016-03-12 00:16:59+0800 [-] Stopping protocol <tftp.bootstrap
2016-03-12 00:16:59+0800 [TFTP (UDP)] Datagram received from ('192.168.10.59', 49159): <RRQDatagram(
mode=b'octet', options=
2016-03-12 00:16:59+0800 [TFTP (UDP)] Datagram received from ('192.168.10.59', 49160): <RRQDatagram(
options=
==> /var/log/
2016-03-12 00:16:59 [maasserver] ERROR: #######
2016-03-12 00:16:59 [maasserver] ERROR: Traceback (most recent call last):
File "/usr/lib/
response = wrapped_
File "/usr/lib/
return view_atomic(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
preseed_url = compose_
File "/usr/lib/
base_url = node.get_
AttributeError: 'NoneType' object has no attribute 'url'
2016-03-12 00:16:59 [-] 127.0.0.1 - - [11/Mar/
ckcontroller_
summary: |
- [2.0a1] Fabric are incorrectly determined, which may cause PXE interface - incorrectly showed in the UI + [2.0a1] Fabric are incorrectly determined during enlistment, which may + cause PXE interface incorrectly showed in the UI |
Andres Rodriguez (andreserl) wrote : Re: [2.0a1] Fabric are incorrectly determined during enlistment, which may cause PXE interface incorrectly showed in the UI | #5 |
Ok, so I think this relates to: https:/
So I re-install to re-test and I had this configuration
1. a maas server with eth0, eth1, eth2, where eth0 is the network MAAS is managing. This, by default was in fabric-2.
2. maas node with eth0, eth1, both NIC's were auto placed on fabric-0
On commissioning, I'd see the failure: AttributeError: 'NoneType' object has no attribute 'url' so, what I did is to ensure that eth0, the interface where I was managing DHCP was connected to fabric-0 instead of fabric-0. After I did that, the machine commissioned successfully.
summary: |
- [2.0a1] Fabric are incorrectly determined during enlistment, which may - cause PXE interface incorrectly showed in the UI + [2.0a1/2.0pre-a2] Fabric are incorrectly determined during enlistment, + which may cause PXE interface incorrectly showed in the UI |
summary: |
- [2.0a1/2.0pre-a2] Fabric are incorrectly determined during enlistment, - which may cause PXE interface incorrectly showed in the UI + [2.0a1/2.0pre-a2] Incorrect fabric on machine interface, causes + commissioning to fail |
description: | updated |
summary: |
- [2.0a1/2.0pre-a2] Incorrect fabric on machine interface, causes - commissioning to fail + [2.0a1/2.0pre-a2] Outdated Fabric may cause commissioning to fail |
summary: |
- [2.0a1/2.0pre-a2] Outdated Fabric may cause commissioning to fail + [2.0a1/2.0pre-a2] Fail to commission when Fabric on Machine Interface + and Rack Interface dont match |
Andres Rodriguez (andreserl) wrote : | #6 |
Work around:
The Rack Controller interface that's on the same subnet as the subnet where DHCP has been enabled, needs to always be in Fabric-0. This can be done in the Rack Controller detail page, under the Interfaces section.
Michael Foord (mfoord) wrote : | #7 |
This workaround works for me. Thanks.
Michael Foord (mfoord) wrote : | #8 |
Except now enlisting doesn't work (no pxe boot).
Andres Rodriguez (andreserl) wrote : Re: [Bug 1554566] Re: [2.0a1/2.0pre-a2] Fail to commission when Fabric on Machine Interface and Rack Interface dont match | #9 |
Michael,
Are you only importing Xenial?
On Monday, March 14, 2016, Michael Foord <email address hidden> wrote:
> Except now enlisting doesn't work (no pxe boot).
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https:/
>
> Title:
> [2.0a1/2.0pre-a2] Fail to commission when Fabric on Machine Interface
> and Rack Interface dont match
>
> To manage notifications about this bug go to:
> https:/
>
--
Andres Rodriguez (RoAkSoAx)
Ubuntu Server Developer
MSc. Telecom & Networking
Systems Engineer
John George (jog) wrote : | #10 |
CDOQA tests also ran into what appears to be this same issue, while commissioning a Node into 2.0a2.
I was also able to work around it by setting the Nodes network interface, that's used to PXE boot, to match the fabric for that managed subnet (fabric-3 in this case).
2016-03-15 00:18:24 [maasserver] ERROR: #######
2016-03-15 00:18:24 [maasserver] ERROR: Traceback (most recent call last):
File "/usr/lib/
response = wrapped_
File "/usr/lib/
return view_atomic(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
response = upcall(request, *args, **kwargs)
File "/usr/lib/
response = func(*args, **kwargs)
File "/usr/lib/
result = self.error_
File "/usr/lib/
result = meth(request, *args, **kwargs)
File "/usr/lib/
return function(self, request, *args, **kwargs)
File "/usr/lib/
return HttpResponse(
File "/usr/lib/
release=
File "/usr/lib/
node, osystem, release, rack_controller
File "/usr/lib/
base_
AttributeError: 'NoneType' object has no attribute 'url'
Michael Foord (mfoord) wrote : | #11 |
Andres: I have 14.0.4 and 15.10 images.
Changed in maas: | |
status: | New → Triaged |
Changed in maas: | |
status: | Triaged → In Progress |
assignee: | nobody → Blake Rouse (blake-rouse) |
Changed in maas: | |
status: | In Progress → Fix Committed |
Changed in maas: | |
status: | Fix Committed → Fix Released |
from another bug:
2016-03-11 14:57:52 [maasserver] ERROR: ####### ####### ####### ####### #### Exception: 'NoneType' object has no attribute 'url' ####### ####### ####### ####### #### python3/ dist-packages/ django/ core/handlers/ base.py" , line 132, in get_response callback( request, *callback_args, **callback_kwargs) python3/ dist-packages/ maasserver/ utils/views. py", line 180, in view_atomic_ with_post_ commit_ savepoint python3. 5/contextlib. py", line 30, in inner python3/ dist-packages/ maasserver/ api/pxeconfig. py", line 202, in pxeconfig preseed_ url(node) python3/ dist-packages/ maasserver/ preseed. py", line 704, in compose_preseed_url boot_primary_ rack_controller ().url
2016-03-11 14:57:52 [maasserver] ERROR: Traceback (most recent call last):
File "/usr/lib/
response = wrapped_
File "/usr/lib/
return view_atomic(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
preseed_url = compose_
File "/usr/lib/
base_url = node.get_
AttributeError: 'NoneType' object has no attribute 'url'