History | View | Annotate | Download (12.5 kB)
Implement model manager using row-level db locking
Implement ForUpdateManager that uses SELECT .. FOR UPDATE statement inorder to acquire row-level exclusive locks to DB. Essentially thismanager backports the select_for_update() method that is implemented in...
Add transaction control to API methods
Specially for create_instance and create_network methods, since aVirtualMachine, Network object is created before sending the requestto the backend.
Implement IP management
Delegate IP management to synnefo, in order to be able to allocate IPaddresses accross multiple Ganeti backends. This is achieved by creating aPool of IPs for each Network, in the form of a bitarray, which is storedin the DB as a base64 string....
Add dirty bit to NetworkInterface
Extend NetworkInterface model with a dirty bit, indicating whetherthe index of the NIC is consistent with the one in Ganeti. This flag isset when deleting a NIC, and is switched off after processing thenotification from Ganeti. Removing a NIC with the dirty bit on is not...
Update servers/networks responses for new API
- Reponses for servers and netowrks details (list or solo) are nowconsistent to recent backend changes.- Methods get_nic_from_index and construct_nic_id have been created- Syntax for nic removal from network/vm has been adjusted
Remove stale save's in db
Verify VNC server settings in get_console
After vncauthproxy responds that it has successfully connected to thebackend server, we need to make sure that the VNC server settingshaven't changed (due to VM migration, or a malicious user destroying aVM to exploit the VNC ports reuse).
Use lib.astakos instead of our own middleware
Renamed snf-app to snf-cyclades-app