CentaurusInfra / mizar

Mizar – Experimental, High Scale and High Performance Cloud Network https://mizar.readthedocs.io
https://mizar.readthedocs.io
GNU General Public License v2.0
111 stars 50 forks source link

For a given subnet, there is only 32 ip addresses allocatable #598

Closed Hong-Chang closed 2 years ago

Hong-Chang commented 2 years ago

What happened: For a subnet, for example: NAME IP PREFIX
system-default-network-subnet 21.0.21.0 24 There is only 32 ip addresses can be allocated. After that, will get following error: [2022-01-25 17:45:11,169] luigi-interface [ERROR ] [pid 7] Worker Worker(salt=864260934, workers=1, host=ip-172-31-26-226, username=root, pid=7) failed k8sPodCreate(param=<mizar.common.wf_param.HandlerParam object at 0x7f4fc82a0070>) Traceback (most recent call last): File "/usr/local/lib/python3.9/site-packages/luigi/worker.py", line 199, in run new_deps = self._run_get_new_deps() File "/usr/local/lib/python3.9/site-packages/luigi/worker.py", line 141, in _run_get_new_deps task_gen = self.task.run() File "/usr/local/lib/python3.9/site-packages/mizar/dp/mizar/workflows/builtins/pods/create.py", line 117, in run ip = n.allocate_ip() File "/usr/local/lib/python3.9/site-packages/mizar/obj/net.py", line 157, in allocate_ip return self.cidr.allocate_ip() File "/usr/local/lib/python3.9/site-packages/mizar/common/cidr.py", line 62, in allocate_ip ip = self.hosts.pop() File "/usr/local/lib/python3.9/site-packages/mizar/common/cidr.py", line 49, in hosts pool = next(self.subnets) StopIteration

Here, "StopIteration" means there is no more ip allocatable

What you expected to happen: For such given subnet, there should be 255 ip allocated.

How to reproduce it (as minimally and precisely as possible): Start a cluster, assuming there is a pod has issue then keep restarting, or make a such pod. After 32 pods started, no more pods can be in running state.

Anything else we need to know?: