Convert nova-network to use Nova objects
This blueprint covers updating nova-network to use the Nova object model for all database interaction. Once nova-network has been fully converted, we will also enable using nova-conductor with nova-network. This will result in significant performance improvements to nova-network since it will be able to better do work in parallel. It will also allow running compute nodes with no database access if you are using nova-network in multi-host mode.
Blueprint information
- Status:
- Complete
- Approver:
- Dan Smith
- Priority:
- Medium
- Drafter:
- None
- Direction:
- Approved
- Assignee:
- Dan Smith
- Definition:
- Approved
- Series goal:
- Accepted for icehouse
- Implementation:
- Implemented
- Milestone target:
- 2014.1
- Started by
- Russell Bryant
- Completed by
- Russell Bryant
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Make nova-network use Service object
Addressed by: https:/
Make nova-network use Instance objects
Addressed by: https:/
Add Network object
Addressed by: https:/
Make nova-network use Network to create networks
Addressed by: https:/
Refactor CIDR field to use netaddr.IPNetwork
Addressed by: https:/
Make nova-network use Network object for get-all-by-host query
Addressed by: https:/
Add VirtualInterface object
Addressed by: https:/
Make nova-network use NetworkList for remaining "all" queries
Addressed by: https:/
Make nova-network use Network object for remaining "get" queries
Addressed by: https:/
Make nova-network use Network object for updates
Addressed by: https:/
Make nova-network use Network object for set_host() operation
Addressed by: https:/
Make nova-network use Network for associations
Addressed by: https:/
Make nova-network use Network object for deleting networks
Addressed by: https:/
Add FixedIP Object implementation
Gerrit topic: https:/
Addressed by: https:/
Remove unused method from network rpcapi
Addressed by: https:/
Remove get_vif_
Addressed by: https:/
Update linux_net to use VirtualInterface
Addressed by: https:/
Update nova_ipam_lib to use VirtualInterface
Addressed by: https:/
Update network.manager to use VirtualInterface
Addressed by: https:/
Add FloatingIP object implementation
Addressed by: https:/
Add sort() method to ObjectListBase
Addressed by: https:/
Refactor return value of fixed_ip_associate calls
Addressed by: https:/
Make fixed_ip_
Addressed by: https:/
Add FixedIP.
Addressed by: https:/
Make nova-network use FixedIP for get_by_address() queries
Addressed by: https:/
Make nova-network use FixedIP object for associations
Addressed by: https:/
Add DNSDomain object
Addressed by: https:/
Make nova-network use FixedIP for host and instance queries
Addressed by: https:/
Add db.dnsdomain_
Addressed by: https:/
Remove some dead dnsdomain code
Addressed by: https:/
Update nova.network to use DNSDomain object
Addressed by: https:/
Make nova-network use FixedIP object for vif queries and bulk create
Addressed by: https:/
Make nova-network use FixedIP object for disassociations
Addressed by: https:/
Make nova-network use FixedIP object for updates
Addressed by: https:/
Make nova-network use FixedIP for timeouts
Addressed by: https:/
Make obj_to_primitive() handle netaddr types
Addressed by: https:/
Remove get_all_networks from nova.network.rpcapi
Addressed by: https:/
Remove get_network from nova.network.rpcapi
Addressed by: https:/
Make nova_ipam_lib use Network, FixedIP, and FloatingIP objects
Addressed by: https:/
Set objects indirection API in network service
Addressed by: https:/
Make floating_ips module use FixedIP object
Addressed by: https:/
Make floating_ips module use Network object
Addressed by: https:/
Make floating_ips module use Instance object
Addressed by: https:/
Make floating_ips module use Service object
Addressed by: https:/
update deallocate_
Addressed by: https:/
Remove db query from deallocate_fixed_ip
Addressed by: https:/
Make floating_ips module use FloatingIP for all get queries
Addressed by: https:/
Make floating_ips module use FloatingIP for (de-)allocations
Addressed by: https:/
Make floating_ips module use FloatingIP for updates
Addressed by: https:/
Make floating_ips module use FloatingIP for associations
Addressed by: https:/
Remove unused variable
Addressed by: https:/
Make service workers gracefully handle service creation race
Addressed by: https:/
Make nova-network a "conductor-using service"
Gerrit topic: https:/
Addressed by: https:/
Refactor network_
Addressed by: https:/
Add get_by_network() to FixedIPList
Addressed by: https:/
Make linux_net use objects for last fixed ip query
Addressed by: https:/
Block database access in nova-network binary
Addressed by: https:/
Make nova-network use quotas object
Addressed by: https:/
Make nova-network use conductor for security groups refresh