IP Validation fails when adding ipv6 dhcp range
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
MAAS |
Triaged
|
Medium
|
Unassigned | ||
3.4 |
Won't Fix
|
Medium
|
Unassigned | ||
3.5 |
Won't Fix
|
Medium
|
Unassigned | ||
3.6 |
Triaged
|
Medium
|
Unassigned |
Bug Description
To reproduce:
Create an IPv6 Subnet with CIDR: 2001:470:
Add Reserved Dynamic range:
start ip: 2001:470:
end ip: 2001:470:
Result:
Error: Requested dynamic range conflicts with an existing IP address or range.
From regiond.log:
2019-08-14 08:34:26 maasserver.
Traceback (most recent call last):
File "/usr/lib/
File "/usr/lib/
return target()
File "/usr/lib/
task()
File "/usr/lib/
task()
--- <exception caught here> ---
File "/usr/lib/
result = inContext.theWork()
File "/usr/lib/
File "/usr/lib/
return self.currentCon
File "/usr/lib/
return func(*args,**kw)
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
result = func(*args, **kwargs)
File "/usr/lib/
return func_outside_
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
return method(params)
File "/usr/lib/
raise HandlerValidati
Changed in maas: | |
importance: | Undecided → Medium |
status: | New → Triaged |
summary: |
- [2.6, IPv6] IP Validation fails when adding ipv6 dhcp range + IP Validation fails when adding ipv6 dhcp range |
Changed in maas: | |
milestone: | 3.4.0 → 3.4.x |
Changed in maas: | |
milestone: | 3.4.x → 3.5.x |
I am able to replicate this on my setup as well
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
MAAS version: 2.6.0
Creating a smaller CIDR block (/96, /128) do not have this issue. Also, incrementing the fifth (5th) segment of the IP address succeeds, where anything defined in the first block fails.
Create an IPv6 Subnet with CIDR: fd00:e81d: a6d7:55: :/64
This succeeds fine using a range of IPs not at the start of the CIDR block:
Add Reserved Dynamic range: a6d7:55: 1::bfff a6d7:55: 1::ffff
start: fd00:e81d:
end: fd00:e81d:
However, this fails with the error:
-- Error: Requested dynamic range conflicts with an existing IP address or range.
Add Reserved Dynamic range: a6d7:55: :bfff a6d7:55: :ffff
start: fd00:e81d:
end: fd00:e81d:
----- maas/regiond. log
Results from /var/log/
2019-08-20 17:49:18 maasserver. websockets. protocol: [critical] Error on request (52) iprange.create: {"start_ip": ["Requested dynamic range conflicts with an existing IP address or range."], "end_ip": ["Requested dynamic range conflicts with an existing IP address or range."]} python3. 6/threading. py", line 864, in run _target( *self._ args, **self._kwargs) python3/ dist-packages/ provisioningser ver/utils/ twisted. py", line 861, in worker python3/ dist-packages/ twisted/ _threads/ _threadworker. py", line 46, in work python3/ dist-packages/ twisted/ _threads/ _team.py" , line 190, in doWork python3/ dist-packages/ twisted/ python/ threadpool. py", line 250, in inContext python3/ dist-packages/ twisted/ python/ threadpool. py", line 266, in <lambda> theWork = lambda: context.call(ctx, func, *args, **kw) python3/ dist-packages/ twisted/ python/ context. py", line 122, in callWithContext text(). callWithContext (ctx, func, *args, **kw) python3/ dist-packages/ twisted/ python/ context. py", line 85, in callWithContext python3/ dist-packages/ provisioningser ver/utils/ twisted. py", line 894, in callInContext python3/ dist-packages/ provisioningser ver/utils/ twisted. py", line 235, in wrapper python3/ dist-packages/ maasserver/ utils/orm. py", line 756, in call_within_ transaction txn(*args, **kwargs) python3/ dist-packages/ maasserver/ utils/orm. py", line 563, in retrier python3. 6/contextlib. py", line 52, in inner python3/ dist-packages/ maasserver/ websockets/ base.py" , line 400, in prep_user_execute python3/ dist-packages/ maasserver/ websockets/ base.py" , line 484, in create onError( form.errors) websockets. base.HandlerVal idationError: {'st...
Traceback (most recent call last):
File "/usr/lib/
self.
File "/usr/lib/
return target()
File "/usr/lib/
task()
File "/usr/lib/
task()
--- <exception caught here> ---
File "/usr/lib/
result = inContext.theWork()
File "/usr/lib/
inContext.
File "/usr/lib/
return self.currentCon
File "/usr/lib/
return func(*args,**kw)
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
result = func(*args, **kwargs)
File "/usr/lib/
return func_outside_
File "/usr/lib/
return func(*args, **kwargs)
File "/usr/lib/
return func(*args, **kwds)
File "/usr/lib/
return method(params)
File "/usr/lib/
raise HandlerValidati
maasserver.