fix: assign IPS
This commit is contained in:
parent
171799ad37
commit
1cc4d40082
@ -224,7 +224,7 @@ impl Provisioner for LNVpsProvisioner {
|
|||||||
let ip_ranges = self.db.list_ip_range().await?;
|
let ip_ranges = self.db.list_ip_range().await?;
|
||||||
let ip_ranges: Vec<IpRange> = ip_ranges
|
let ip_ranges: Vec<IpRange> = ip_ranges
|
||||||
.into_iter()
|
.into_iter()
|
||||||
.filter(|i| i.region_id == vm.template.as_ref().unwrap().region_id)
|
.filter(|i| i.region_id == vm.template.as_ref().unwrap().region_id && i.enabled)
|
||||||
.collect();
|
.collect();
|
||||||
|
|
||||||
if ip_ranges.is_empty() {
|
if ip_ranges.is_empty() {
|
||||||
@ -234,7 +234,8 @@ impl Provisioner for LNVpsProvisioner {
|
|||||||
let mut ret = vec![];
|
let mut ret = vec![];
|
||||||
// Try all ranges
|
// Try all ranges
|
||||||
// TODO: pick round-robin ranges
|
// TODO: pick round-robin ranges
|
||||||
for range in ip_ranges {
|
// TODO: pick one of each type
|
||||||
|
'ranges: for range in ip_ranges {
|
||||||
let range_cidr: IpNetwork = range.cidr.parse()?;
|
let range_cidr: IpNetwork = range.cidr.parse()?;
|
||||||
let ips = self.db.list_vm_ip_assignments_in_range(range.id).await?;
|
let ips = self.db.list_vm_ip_assignments_in_range(range.id).await?;
|
||||||
let ips: HashSet<IpAddr> = ips.iter().map_while(|i| i.ip.parse().ok()).collect();
|
let ips: HashSet<IpAddr> = ips.iter().map_while(|i| i.ip.parse().ok()).collect();
|
||||||
@ -258,7 +259,7 @@ impl Provisioner for LNVpsProvisioner {
|
|||||||
assignment.id = id;
|
assignment.id = id;
|
||||||
|
|
||||||
ret.push(assignment);
|
ret.push(assignment);
|
||||||
break;
|
break 'ranges;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user