mirror of
https://github.com/OpenNebula/one.git
synced 2025-03-22 18:50:08 +03:00
B #3357: fix alias_id consecutive generation
This commit is contained in:
parent
2bf20ac166
commit
35eaf4bb7f
@ -423,8 +423,8 @@ int VirtualMachineNics::get_network_leases(int vm_id, int uid,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int VirtualMachineNics::get_auto_network_leases(int vm_id, int uid,
|
||||
VectorAttribute * nic_default, vector<VectorAttribute*>& sgs,
|
||||
int VirtualMachineNics::get_auto_network_leases(int vm_id, int uid,
|
||||
VectorAttribute * nic_default, vector<VectorAttribute*>& sgs,
|
||||
std::string& error_str)
|
||||
{
|
||||
Nebula& nd = Nebula::instance();
|
||||
@ -510,9 +510,10 @@ int VirtualMachineNics::set_up_attach_nic(int vmid, int uid, int cluster_id,
|
||||
SecurityGroupPool* sgpool = nd.get_secgrouppool();
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Get the highest NIC_ID
|
||||
// Get the highest NIC_ID and ALIAS_ID
|
||||
// -------------------------------------------------------------------------
|
||||
int max_nic_id = -1;
|
||||
int max_nic_id = -1;
|
||||
int max_alias_id = -1;
|
||||
|
||||
for(nic_iterator it = begin(); it != end() ; ++it)
|
||||
{
|
||||
@ -522,6 +523,18 @@ int VirtualMachineNics::set_up_attach_nic(int vmid, int uid, int cluster_id,
|
||||
{
|
||||
max_nic_id = nic_id;
|
||||
}
|
||||
|
||||
if ( (*it)->is_alias() )
|
||||
{
|
||||
int alias_id;
|
||||
|
||||
(*it)->vector_value("ALIAS_ID", alias_id);
|
||||
|
||||
if ( alias_id > max_alias_id )
|
||||
{
|
||||
max_alias_id = alias_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
VirtualMachineNic * nic = new VirtualMachineNic(vnic, max_nic_id + 1);
|
||||
@ -551,9 +564,7 @@ int VirtualMachineNics::set_up_attach_nic(int vmid, int uid, int cluster_id,
|
||||
}
|
||||
else
|
||||
{
|
||||
one_util::split_unique(alias_ids, ',', a_ids);
|
||||
|
||||
alias_id = *(a_ids.rbegin()) + 1;
|
||||
alias_id = max_alias_id + 1;
|
||||
|
||||
alias_ids += ",";
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user