Difference between revisions of "NovaNetNeutronParity"
Line 1: | Line 1: | ||
[ out of date, to delete ] | [ out of date, to delete ] | ||
+ | |||
+ | [ out of date, updates for Juno in progress ] | ||
+ | == Documentation == | ||
+ | '''''One document, one mission.''' - author's note" | ||
+ | |||
+ | Parity related efforts in Icehouse were primarily analysis, documentation, and tracking of related blueprints, bugs and reviews. Endeavors for Juno need to be very specific in order to get further. There are five areas that need serious focus: | ||
+ | |||
+ | * quality and performance | ||
+ | * gate performance | ||
+ | * interoperability | ||
+ | * test coverage | ||
+ | * migration paths | ||
+ | |||
+ | Pragmatically, it is pointless to discuss this without considering resourcing. 5 areas require serious focus implies 5 principle resources at minimum. Additionally, a core should be either be one of these resources or, perhaps optimally, "in the loop". Besides facilitating reviews a core may be better positioned to intervene when a patch or effort risks breaking parity related functionality. Ideally, persons with a parity focus (or at least keeps it in mind) should be '''actively''' involved with all related efforts (e.g. DVR, HA, etc.). In short, parity is a sort of cross cutting concern and it needs sufficient representation across the relevant efforts to be achieved. Under-resourcing risks any practical progress requiring mulitple cycles. | ||
+ | |||
+ | While an overall objective of deprecating nova-networking may be an OpenStack goal, this is a distraction. '''The focus is to provide a superior option for OpenStack users to migrate to that need more flexibility, features performance and scalabilty'''. | ||
+ | |||
+ | === What Needs To Be Done? === | ||
+ | ==== Quality and Performance ==== | ||
+ | |||
+ | Specifically, the quality and performance of the OpenSource components of Neutron have to be beyond reasonable reproach. | ||
+ | * Functionality must be reliable with well understood code paths and state transitions. | ||
+ | * Configuration and use should be, if not precisely intuitive, be sensible within the eyes of the user. A simple deployment should not be unduly complex to configure. Complexity should mount in direct correlation to configuration. | ||
+ | * Operations should have reasonable completion times and not be unduly related to number of concurrent operations (e.g. while "batching" is acceptable for some things, delay by design in provisioning is unaccepable) | ||
+ | * Test coverage- the review queue for tests needs constant attention! | ||
+ | * Real world perspective and vigilence - reasonable subjective understanding of real world use cases! The persons working on parity should be, besides extending and amplifying the tempest test suite need to really know how neutron is behaving in a realistic deployments. Even simple ones. Some things are not reasonable to put in tempest, but are still reasonable tests. How long does it take to assign floating IPs? What's the impact of multiple concurrent spawns? Can you break things by just doing a bunch of stuff using the client concurrently? This is just a matter of really knowing what the product is doing. | ||
+ | |||
+ | ==== Gate Performance ==== | ||
+ | |||
+ | Each parity team member should almost appear as though they are infra team members. Where the gate is wrong, the gate needs to be made right. This is not just a matter of making the tests right, but making sure that the infrastructure has what it needs to do what is needed! | ||
+ | |||
+ | ==== Interoperability ==== | ||
+ | |||
+ | Nova is both the client and the server with respect to neutron. The workings of these interactions cannot be ignored and have to be extremely well understood. This implies some straddling of the teams and getting to know the related goals and objectives of the active nova efforts. Active representation is essential. | ||
+ | |||
+ | (There are people who are currently straddling both, but we can use more!) | ||
+ | |||
+ | ==== Test Coverage ==== | ||
+ | |||
+ | mlavalle and rossella_s have been spearheading this effort to date. These efforts need to be considered as directly relevant. | ||
+ | |||
+ | ==== Migration Paths ==== | ||
+ | |||
+ | There is an overlap with interoperability and quality/performance and migration paths. This is effectively a cross-cutting concern that partly defines what aspects of quality and interoperability are specific to parity. That is, if it will never affect a migrating user, it is not likely a parity concern. Realistically, there are infinite possibilties of deployments so this it is impractical to empirically define all migration paths. Parity principals should be familiar with the nova network manager types, multi-host, L3 functionality, etc. so that they can conceptualize how a user may migrate. This is not a "nice to have". It is essential and also part of why overall neutron project awareness is important. If a design decision is made that explicitly and deliberately hinders a basic migration path, then it needs to be mitigated. | ||
+ | |||
+ | ==== Roles of Cores and Principals ==== | ||
+ | |||
+ | Vigilence on the review queues is essential. Support for patches that enhance migration potential, performance, etc. must be given in a timely fashion as is intervention in deviations. Core involvement facilitates proper emphasis where required. REMEMBER however that anyone can -1. | ||
+ | |||
+ | === Approach to Organization === | ||
+ | |||
+ | It is more important to be active in the principal areas than to have frequent formal meetings. Most principal areas are addressed under other guises weekly at the IRC meeting. A meeting every two weeks for the principals is worthwhile to start, accelerating or spreading out as the overall situation demands. Interoperability should continue as a weekly item in the neutron team meetings. | ||
+ | |||
+ | |||
+ | >>>>>>>>>>>>>>>>>>>>>>>>>>>> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === Background === | ||
+ | * [https://docs.google.com/document/d/1E9CiG8fmcn0FMI15zpE0dRQ1CcFhXV8TxL7mU7vgWv8/edit?usp=sharing Early Parity Discussion Document] | ||
+ | |||
+ | === Tasks === | ||
+ | * [https://blueprints.launchpad.net/neutron/+spec/nova-network-to-neutron-recipes Recipes] | ||
+ | |||
+ | == Quality of Default Implementation == | ||
+ | |||
+ | === Background === | ||
+ | |||
+ | * [https://etherpad.openstack.org/p/icehouse-summit-qa-neutron Icehouse Summit QA Neutron session etherpad] | ||
+ | * [https://etherpad.openstack.org/p/icehouse-summit-qa-multi-node Icehouse Summit on testing with mulitple nodes] | ||
+ | * [https://etherpad.openstack.org/p/icehouse-summit-qa-negative-tests Icehouse Summit on negative testing] | ||
+ | |||
+ | === Tasks === | ||
+ | |||
+ | bzs... don't you wish you could suck content from gerrit. | ||
+ | |||
+ | === Performance === | ||
+ | Default implementation (openvswitch) | ||
+ | |||
+ | ==== Configuration ==== | ||
+ | |||
+ | e.g. How long does it take for a floating IP to take effect | ||
+ | |||
+ | ==== Communication ==== | ||
+ | |||
+ | ===== Routing ===== | ||
+ | |||
+ | ===== VLAN ===== | ||
+ | |||
+ | ===== GRE ===== | ||
+ | |||
+ | ===== VxLAN ===== | ||
+ | |||
+ | === Scalability === | ||
+ | |||
+ | * node counts | ||
+ | * network counts | ||
+ | * tenant counts | ||
+ | * dhcp agents | ||
+ | * l3 agents | ||
+ | * multiple processes | ||
+ | * metrics | ||
+ | |||
+ | === HA Options === | ||
+ | |||
+ | * answer to the multi-host (fault isolation) question | ||
+ | * real/better HA | ||
+ | |||
+ | == API Integration == | ||
+ | |||
+ | === Neutron Methods Called from Integration Library === | ||
+ | |||
+ | * list_networks | ||
+ | * show_port | ||
+ | * list_security_groups | ||
+ | * delete_port | ||
+ | * show_port | ||
+ | * list_extensions | ||
+ | * show_quota | ||
+ | * list_ports | ||
+ | * list_subnets | ||
+ | * update_port | ||
+ | * create_port | ||
+ | * update_floatingip | ||
+ | * show_network | ||
+ | * show_floatingip | ||
+ | * create_floatingip | ||
+ | * list_floatingips | ||
+ | * delete_floatingip | ||
+ | |||
+ | === Related Client Functions === | ||
+ | |||
+ | <TABLE WIDTH=664 CELLPADDING=4 CELLSPACING=0> | ||
+ | <COL WIDTH=255> | ||
+ | <COL WIDTH=391> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">dns-create</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Create | ||
+ | a DNS entry for domain, name and ip.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">dns-create-private-domain</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Create | ||
+ | the specified DNS domain.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">dns-create-public-domain</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Create | ||
+ | the specified DNS domain.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">dns-delete</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Delete | ||
+ | the specified DNS entry.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">dns-delete-domain</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Delete | ||
+ | the specified DNS domain.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">dns-domains</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Print | ||
+ | a list of available dns domains.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">dns-list</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">List | ||
+ | current DNS entries for domain and ip or domain and name.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | </TABLE> | ||
+ | <H3 CLASS="western"><SPAN STYLE="font-variant: normal">Tenant Network | ||
+ | Management</SPAN></H3> | ||
+ | <TABLE WIDTH=664 CELLPADDING=4 CELLSPACING=0> | ||
+ | <COL WIDTH=323> | ||
+ | <COL WIDTH=323> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">fixed-ip-get</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Get | ||
+ | info on a fixed ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">fixed-ip-reserve</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Reserve | ||
+ | a fixed ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">fixed-ip-unreserve</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Unreserve | ||
+ | a fixed ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">remove-fixed-ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Remove | ||
+ | an IP address from a server.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">remove-secgroup</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Remove | ||
+ | a Security Group from a server.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">net</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Show | ||
+ | a network</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">net-create</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Create | ||
+ | a network</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">net-delete</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Delete | ||
+ | a network</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">net-list</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">List | ||
+ | networks</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">network-associate-host</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Associate | ||
+ | host with network.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">network-associate-project</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Associate | ||
+ | project with network.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">network-create</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Create | ||
+ | a network.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">network-disassociate</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Disassociate | ||
+ | host and/or project from the given network.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">network-list</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Print | ||
+ | a list of available networks.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">network-show</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Show | ||
+ | details about the given network.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">reset-network</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Reset | ||
+ | network of an instance.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | </TABLE> | ||
+ | <P ALIGN=LEFT STYLE="line-height: 100%"><BR><BR> | ||
+ | </P> | ||
+ | <H3 CLASS="western"><SPAN STYLE="font-variant: normal">VM Network | ||
+ | Configuration Management</SPAN></H3> | ||
+ | <TABLE WIDTH=664 CELLPADDING=4 CELLSPACING=0> | ||
+ | <COL WIDTH=255> | ||
+ | <COL WIDTH=391> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">interface-attach</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Attach | ||
+ | a network interface to an instance.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">interface-detach</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Detach | ||
+ | a network interface from an instance.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">interface-list</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">List | ||
+ | interfaces attached to an instance.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | </TABLE> | ||
+ | <H3 CLASS="western"><SPAN STYLE="font-variant: normal">Floating IP | ||
+ | Management</SPAN></H3> | ||
+ | <TABLE WIDTH=664 CELLPADDING=4 CELLSPACING=0> | ||
+ | <COL WIDTH=323> | ||
+ | <COL WIDTH=323> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">add-fixed-ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Add | ||
+ | new IP address on a network to server.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">add-floating-ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Add | ||
+ | a floating IP address to a server.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">remove-floating-ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Remove | ||
+ | a floating IP address from a server.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">floating-ip-bulk-create</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Bulk | ||
+ | create floating ips by range</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">floating-ip-bulk-delete</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Bulk | ||
+ | delete floating ips by range</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">floating-ip-bulk-list</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">List | ||
+ | all floating ips</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">floating-ip-create</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Allocate | ||
+ | a floating IP for the current tenant.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">floating-ip-delete</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">De-allocate | ||
+ | a floating IP.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">floating-ip-list</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">List | ||
+ | floating ips for this tenant.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">floating-ip-pool-list</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=323 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">List | ||
+ | all floating ip pools.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | </TABLE> | ||
+ | <H3 CLASS="western"><SPAN STYLE="font-variant: normal">Security Group | ||
+ | Management</SPAN></H3> | ||
+ | <TABLE WIDTH=664 CELLPADDING=4 CELLSPACING=0> | ||
+ | <COL WIDTH=255> | ||
+ | <COL WIDTH=391> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">add-secgroup</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Add | ||
+ | a Security Group to a server.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">secgroup-add-group-rule</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Add | ||
+ | a source group rule to a security group.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">secgroup-add-rule</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Add | ||
+ | a rule to a security group.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">secgroup-create</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Create | ||
+ | a security group.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">secgroup-delete</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Delete | ||
+ | a security group.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">secgroup-delete-group-rule</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Delete | ||
+ | a source group rule from a security group.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">secgroup-delete-rule</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">Delete | ||
+ | a rule from a security group.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">secgroup-list</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">List | ||
+ | security groups for the current tenant.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=255 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"> | ||
+ | <FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">secgroup-list-rules</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=391 STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=3><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">List | ||
+ | rules for a security group.</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | </TABLE> | ||
+ | |||
+ | === API Methods === | ||
+ | <TABLE WIDTH=663 CELLPADDING=4 CELLSPACING=0> | ||
+ | <COL WIDTH=322> | ||
+ | <COL WIDTH=322> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.migrate_instance_finish</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.migrate_instance_finish</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ff3300" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.deallocate_floating_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ff3300" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.release_floating_ip | ||
+ | (?)</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_instance_nw_info</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_instance_nw_info</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_fixed_ip_by_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_fixed_ip_by_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.deallocate_for_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.deallocate_for_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.delete_network</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">x</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_floating_ips_by_fixed_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_floating_ips_by_fixed_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_fixed_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_fixed_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ff3300" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.lease_fixed_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ff3300" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.allocate_port_for_instance | ||
+ | (?)</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.disassociate_network</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.disassociate | ||
+ | (?)</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.set_network_host</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">x</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.add_network_to_project</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.add_network_to_project</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.create_public_dns_domain</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.create_public_dns_domain</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_instance_uuids_by_ip_filter</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_instance_uuids_by_ip_filter</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.setup_networks_on_host</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.setup_networks_on_host</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.associate</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">x</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ff3300" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_all_networks</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ff3300" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.list_ports | ||
+ | (?)</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.disassociate_floating_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.disassociate_floating_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.allocate_for_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.allocate_for_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_floating_ip_by_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_floating_ip_by_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_floating_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_floating_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ff3300" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.deallocate_fixed_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ff3300" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.deallocate_port_for_instance | ||
+ | (?)</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.add_fixed_ip_to_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.add_fixed_ip_to_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.create_networks</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">x</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.create_private_dns_domain</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.create_private_dns_domain</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.migrate_instance_start</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.migrate_instance_start</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_floating_ips_by_project</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_floating_ips_by_project</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.rpc_setup_network_on_host</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">x</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="##FF0000" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_vif_by_mac_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="##FF0000" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_vif_by_mac_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#FF0000" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_vifs_by_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#FF0000" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_vifs_by_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.associate_floating_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.associate_floating_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_instance_id_by_floating_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_instance_id_by_floating_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_dns_domains</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_dns_domains</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.remove_fixed_ip_from_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.remove_fixed_ip_from_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.delete_dns_domain</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.delete_dns_domain</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.release_fixed_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">X | ||
+ | nova.network.neutronv2.api.API.show_port</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_floating_ip_pools</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_floating_ip_pools</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.update_dns</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">x</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.modify_dns_entry</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.modify_dns_entry</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ff3300" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_network</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ff3300" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_dns_entries_by_name</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_dns_entries_by_name</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.allocate_floating_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.allocate_floating_ip</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.get_dns_entries_by_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.get_dns_entries_by_address</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.add_dns_entry</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.add_dns_entry</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.validate_networks</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.validate_networks</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.rpcapi.NetworkAPI.delete_dns_entry</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.neutronv2.api.API.delete_dns_entry</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | </TABLE> | ||
+ | <P ALIGN=LEFT STYLE="line-height: 100%"><BR><BR> | ||
+ | </P> | ||
+ | <H3 CLASS="western"><SPAN STYLE="font-variant: normal">Security Group | ||
+ | API Mapping</SPAN></H3> | ||
+ | <P ALIGN=LEFT STYLE="line-height: 100%"><BR><BR> | ||
+ | </P> | ||
+ | <TABLE WIDTH=663 CELLPADDING=4 CELLSPACING=0> | ||
+ | <COL WIDTH=322> | ||
+ | <COL WIDTH=322> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.add_rules</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.add_rules</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.raise_not_found</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.add_to_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.add_to_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.trigger_handler</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.get_rule</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.get_rule</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.populate_security_groups</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.populate_security_groups</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.trigger_rules_refresh</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.parse_cidr</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.new_group_ingress_rule</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.create_security_group</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.create_security_group</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.get_instance_security_groups</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.get_instance_security_groups</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.validate_property</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.destroy</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.destroy</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.update_security_group</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.update_security_group</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.raise_over_quota</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.raise_group_already_exists</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.get</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.get</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.raise_invalid_property</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.trigger_members_refresh</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.raise_invalid_cidr</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.new_cidr_ingress_rule</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.remove_from_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.remove_from_instance</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.ensure_default</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.list</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.list</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.create_security_group_rule</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.raise_invalid_group</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.rule_exists</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.security_group_base.SecurityGroupBase.remove_rules</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#ffffcc" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.remove_rules</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.get_instances_security_groups_bindings</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | <TR VALIGN=TOP> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><BR> | ||
+ | </P> | ||
+ | </TD> | ||
+ | <TD WIDTH=322 BGCOLOR="#cc6699" STYLE="border: 1.00pt solid #000001; padding: 0.04in"> | ||
+ | <P ALIGN=LEFT><SPAN STYLE="font-variant: normal"><FONT COLOR="#000000"><SPAN STYLE="text-decoration: none"><FONT FACE="Verdana, serif"><FONT SIZE=1 STYLE="font-size: 8pt"><SPAN STYLE="font-style: normal"><SPAN STYLE="font-weight: normal">nova.network.security_group.neutron_driver.SecurityGroupAPI.validate_id</SPAN></SPAN></FONT></FONT></SPAN></FONT></SPAN></P> | ||
+ | </TD> | ||
+ | </TR> | ||
+ | </TABLE> | ||
+ | |||
+ | === Points to Look For === | ||
+ | |||
+ | * Throwing exceptions across the API boundary that differ than those thrown by alternate implementations may be a parity issue. (e.g. validate_networks in neutron throws in the presence of multiple networks, nova-network does not) | ||
+ | * NotImplemented may be a significant parity issue. Even if addressed through alternate mechanisms, this is a testing /api binary compatible mismatch | ||
+ | |||
+ | == Functional Parity == | ||
+ | |||
+ | === Network Manager Types === | ||
+ | |||
+ | [[NovaNetNeutronRecipes]] | ||
+ | |||
+ | The FlatNetworkManager (thanks rkukura for spelling this out!): | ||
+ | |||
+ | * [http://openstack.redhat.com/forum/discussion/comment/2363#Comment_2363 flat networks] | ||
+ | * [http://openstack.redhat.com/forum/discussion/comment/2394#Comment_2394 flat networks] | ||
+ | |||
+ | (would this work for FlatDHCPNetworkManager as well?) | ||
+ | |||
+ | === Multi-Host === | ||
+ | |||
+ | * [https://etherpad.openstack.org/p/Distributed-Virtual-Router Icehouse summit Distributed Router] (possible multi-host approach) | ||
+ | |||
== Documentation == | == Documentation == | ||
Revision as of 14:03, 4 March 2014
[ out of date, to delete ]
[ out of date, updates for Juno in progress ]
Contents
Documentation
One document, one mission. - author's note"
Parity related efforts in Icehouse were primarily analysis, documentation, and tracking of related blueprints, bugs and reviews. Endeavors for Juno need to be very specific in order to get further. There are five areas that need serious focus:
- quality and performance
- gate performance
- interoperability
- test coverage
- migration paths
Pragmatically, it is pointless to discuss this without considering resourcing. 5 areas require serious focus implies 5 principle resources at minimum. Additionally, a core should be either be one of these resources or, perhaps optimally, "in the loop". Besides facilitating reviews a core may be better positioned to intervene when a patch or effort risks breaking parity related functionality. Ideally, persons with a parity focus (or at least keeps it in mind) should be actively involved with all related efforts (e.g. DVR, HA, etc.). In short, parity is a sort of cross cutting concern and it needs sufficient representation across the relevant efforts to be achieved. Under-resourcing risks any practical progress requiring mulitple cycles.
While an overall objective of deprecating nova-networking may be an OpenStack goal, this is a distraction. The focus is to provide a superior option for OpenStack users to migrate to that need more flexibility, features performance and scalabilty.
What Needs To Be Done?
Quality and Performance
Specifically, the quality and performance of the OpenSource components of Neutron have to be beyond reasonable reproach.
- Functionality must be reliable with well understood code paths and state transitions.
- Configuration and use should be, if not precisely intuitive, be sensible within the eyes of the user. A simple deployment should not be unduly complex to configure. Complexity should mount in direct correlation to configuration.
- Operations should have reasonable completion times and not be unduly related to number of concurrent operations (e.g. while "batching" is acceptable for some things, delay by design in provisioning is unaccepable)
- Test coverage- the review queue for tests needs constant attention!
- Real world perspective and vigilence - reasonable subjective understanding of real world use cases! The persons working on parity should be, besides extending and amplifying the tempest test suite need to really know how neutron is behaving in a realistic deployments. Even simple ones. Some things are not reasonable to put in tempest, but are still reasonable tests. How long does it take to assign floating IPs? What's the impact of multiple concurrent spawns? Can you break things by just doing a bunch of stuff using the client concurrently? This is just a matter of really knowing what the product is doing.
Gate Performance
Each parity team member should almost appear as though they are infra team members. Where the gate is wrong, the gate needs to be made right. This is not just a matter of making the tests right, but making sure that the infrastructure has what it needs to do what is needed!
Interoperability
Nova is both the client and the server with respect to neutron. The workings of these interactions cannot be ignored and have to be extremely well understood. This implies some straddling of the teams and getting to know the related goals and objectives of the active nova efforts. Active representation is essential.
(There are people who are currently straddling both, but we can use more!)
Test Coverage
mlavalle and rossella_s have been spearheading this effort to date. These efforts need to be considered as directly relevant.
Migration Paths
There is an overlap with interoperability and quality/performance and migration paths. This is effectively a cross-cutting concern that partly defines what aspects of quality and interoperability are specific to parity. That is, if it will never affect a migrating user, it is not likely a parity concern. Realistically, there are infinite possibilties of deployments so this it is impractical to empirically define all migration paths. Parity principals should be familiar with the nova network manager types, multi-host, L3 functionality, etc. so that they can conceptualize how a user may migrate. This is not a "nice to have". It is essential and also part of why overall neutron project awareness is important. If a design decision is made that explicitly and deliberately hinders a basic migration path, then it needs to be mitigated.
Roles of Cores and Principals
Vigilence on the review queues is essential. Support for patches that enhance migration potential, performance, etc. must be given in a timely fashion as is intervention in deviations. Core involvement facilitates proper emphasis where required. REMEMBER however that anyone can -1.
Approach to Organization
It is more important to be active in the principal areas than to have frequent formal meetings. Most principal areas are addressed under other guises weekly at the IRC meeting. A meeting every two weeks for the principals is worthwhile to start, accelerating or spreading out as the overall situation demands. Interoperability should continue as a weekly item in the neutron team meetings.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Background
Tasks
Quality of Default Implementation
Background
- Icehouse Summit QA Neutron session etherpad
- Icehouse Summit on testing with mulitple nodes
- Icehouse Summit on negative testing
Tasks
bzs... don't you wish you could suck content from gerrit.
Performance
Default implementation (openvswitch)
Configuration
e.g. How long does it take for a floating IP to take effect
Communication
Routing
VLAN
GRE
VxLAN
Scalability
- node counts
- network counts
- tenant counts
- dhcp agents
- l3 agents
- multiple processes
- metrics
HA Options
- answer to the multi-host (fault isolation) question
- real/better HA
API Integration
Neutron Methods Called from Integration Library
- list_networks
- show_port
- list_security_groups
- delete_port
- show_port
- list_extensions
- show_quota
- list_ports
- list_subnets
- update_port
- create_port
- update_floatingip
- show_network
- show_floatingip
- create_floatingip
- list_floatingips
- delete_floatingip
Related Client Functions
dns-create |
Create a DNS entry for domain, name and ip. |
dns-create-private-domain |
Create the specified DNS domain. |
dns-create-public-domain |
Create the specified DNS domain. |
dns-delete |
Delete the specified DNS entry. |
dns-delete-domain |
Delete the specified DNS domain. |
dns-domains |
Print a list of available dns domains. |
dns-list |
List current DNS entries for domain and ip or domain and name. |
Tenant Network Management
fixed-ip-get |
Get info on a fixed ip |
fixed-ip-reserve |
Reserve a fixed ip |
fixed-ip-unreserve |
Unreserve a fixed ip |
remove-fixed-ip |
Remove an IP address from a server. |
remove-secgroup |
Remove a Security Group from a server. |
net |
Show a network |
net-create |
Create a network |
net-delete |
Delete a network |
net-list |
List networks |
network-associate-host |
Associate host with network. |
network-associate-project |
Associate project with network. |
network-create |
Create a network. |
network-disassociate |
Disassociate host and/or project from the given network. |
network-list |
Print a list of available networks. |
network-show |
Show details about the given network. |
reset-network |
Reset network of an instance. |
VM Network Configuration Management
interface-attach |
Attach a network interface to an instance. |
interface-detach |
Detach a network interface from an instance. |
interface-list |
List interfaces attached to an instance. |
Floating IP Management
add-fixed-ip |
Add new IP address on a network to server. |
add-floating-ip |
Add a floating IP address to a server. |
remove-floating-ip |
Remove a floating IP address from a server. |
floating-ip-bulk-create |
Bulk create floating ips by range |
floating-ip-bulk-delete |
Bulk delete floating ips by range |
floating-ip-bulk-list |
List all floating ips |
floating-ip-create |
Allocate a floating IP for the current tenant. |
floating-ip-delete |
De-allocate a floating IP. |
floating-ip-list |
List floating ips for this tenant. |
floating-ip-pool-list |
List all floating ip pools. |
Security Group Management
add-secgroup |
Add a Security Group to a server. |
secgroup-add-group-rule |
Add a source group rule to a security group. |
secgroup-add-rule |
Add a rule to a security group. |
secgroup-create |
Create a security group. |
secgroup-delete |
Delete a security group. |
secgroup-delete-group-rule |
Delete a source group rule from a security group. |
secgroup-delete-rule |
Delete a rule from a security group. |
secgroup-list |
List security groups for the current tenant. |
secgroup-list-rules |
List rules for a security group. |
API Methods
nova.network.rpcapi.NetworkAPI.migrate_instance_finish |
nova.network.neutronv2.api.API.migrate_instance_finish |
nova.network.rpcapi.NetworkAPI.deallocate_floating_ip |
nova.network.neutronv2.api.API.release_floating_ip (?) |
nova.network.rpcapi.NetworkAPI.get_instance_nw_info |
nova.network.neutronv2.api.API.get_instance_nw_info |
nova.network.rpcapi.NetworkAPI.get_fixed_ip_by_address |
nova.network.neutronv2.api.API.get_fixed_ip_by_address |
nova.network.rpcapi.NetworkAPI.deallocate_for_instance |
nova.network.neutronv2.api.API.deallocate_for_instance |
nova.network.rpcapi.NetworkAPI.delete_network |
x |
nova.network.rpcapi.NetworkAPI.get_floating_ips_by_fixed_address |
nova.network.neutronv2.api.API.get_floating_ips_by_fixed_address |
nova.network.rpcapi.NetworkAPI.get_fixed_ip |
nova.network.neutronv2.api.API.get_fixed_ip |
nova.network.rpcapi.NetworkAPI.lease_fixed_ip |
nova.network.neutronv2.api.API.allocate_port_for_instance (?) |
nova.network.rpcapi.NetworkAPI.disassociate_network |
nova.network.neutronv2.api.API.disassociate (?) |
nova.network.rpcapi.NetworkAPI.set_network_host |
x |
nova.network.rpcapi.NetworkAPI.add_network_to_project |
nova.network.neutronv2.api.API.add_network_to_project |
nova.network.rpcapi.NetworkAPI.create_public_dns_domain |
nova.network.neutronv2.api.API.create_public_dns_domain |
nova.network.rpcapi.NetworkAPI.get_instance_uuids_by_ip_filter |
nova.network.neutronv2.api.API.get_instance_uuids_by_ip_filter |
nova.network.rpcapi.NetworkAPI.setup_networks_on_host |
nova.network.neutronv2.api.API.setup_networks_on_host |
nova.network.rpcapi.NetworkAPI.associate |
x |
nova.network.rpcapi.NetworkAPI.get_all_networks |
nova.network.neutronv2.api.API.list_ports (?) |
nova.network.rpcapi.NetworkAPI.disassociate_floating_ip |
nova.network.neutronv2.api.API.disassociate_floating_ip |
nova.network.rpcapi.NetworkAPI.allocate_for_instance |
nova.network.neutronv2.api.API.allocate_for_instance |
nova.network.rpcapi.NetworkAPI.get_floating_ip_by_address |
nova.network.neutronv2.api.API.get_floating_ip_by_address |
nova.network.rpcapi.NetworkAPI.get_floating_ip |
nova.network.neutronv2.api.API.get_floating_ip |
nova.network.rpcapi.NetworkAPI.deallocate_fixed_ip |
nova.network.neutronv2.api.API.deallocate_port_for_instance (?) |
nova.network.rpcapi.NetworkAPI.add_fixed_ip_to_instance |
nova.network.neutronv2.api.API.add_fixed_ip_to_instance |
nova.network.rpcapi.NetworkAPI.create_networks |
x |
nova.network.rpcapi.NetworkAPI.create_private_dns_domain |
nova.network.neutronv2.api.API.create_private_dns_domain |
nova.network.rpcapi.NetworkAPI.migrate_instance_start |
nova.network.neutronv2.api.API.migrate_instance_start |
nova.network.rpcapi.NetworkAPI.get_floating_ips_by_project |
nova.network.neutronv2.api.API.get_floating_ips_by_project |
nova.network.rpcapi.NetworkAPI.rpc_setup_network_on_host |
x |
nova.network.rpcapi.NetworkAPI.get_vif_by_mac_address |
nova.network.neutronv2.api.API.get_vif_by_mac_address |
nova.network.rpcapi.NetworkAPI.get_vifs_by_instance |
nova.network.neutronv2.api.API.get_vifs_by_instance |
nova.network.rpcapi.NetworkAPI.associate_floating_ip |
nova.network.neutronv2.api.API.associate_floating_ip |
nova.network.rpcapi.NetworkAPI.get_instance_id_by_floating_address |
nova.network.neutronv2.api.API.get_instance_id_by_floating_address |
nova.network.rpcapi.NetworkAPI.get_dns_domains |
nova.network.neutronv2.api.API.get_dns_domains |
nova.network.rpcapi.NetworkAPI.remove_fixed_ip_from_instance |
nova.network.neutronv2.api.API.remove_fixed_ip_from_instance |
nova.network.rpcapi.NetworkAPI.delete_dns_domain |
nova.network.neutronv2.api.API.delete_dns_domain |
nova.network.rpcapi.NetworkAPI.release_fixed_ip |
X nova.network.neutronv2.api.API.show_port |
nova.network.rpcapi.NetworkAPI.get_floating_ip_pools |
nova.network.neutronv2.api.API.get_floating_ip_pools |
nova.network.rpcapi.NetworkAPI.update_dns |
x |
nova.network.rpcapi.NetworkAPI.modify_dns_entry |
nova.network.neutronv2.api.API.modify_dns_entry |
nova.network.rpcapi.NetworkAPI.get_network |
nova.network.neutronv2.api.API.get |
nova.network.rpcapi.NetworkAPI.get_dns_entries_by_name |
nova.network.neutronv2.api.API.get_dns_entries_by_name |
nova.network.rpcapi.NetworkAPI.allocate_floating_ip |
nova.network.neutronv2.api.API.allocate_floating_ip |
nova.network.rpcapi.NetworkAPI.get_dns_entries_by_address |
nova.network.neutronv2.api.API.get_dns_entries_by_address |
nova.network.rpcapi.NetworkAPI.add_dns_entry |
nova.network.neutronv2.api.API.add_dns_entry |
nova.network.rpcapi.NetworkAPI.validate_networks |
nova.network.neutronv2.api.API.validate_networks |
nova.network.rpcapi.NetworkAPI.delete_dns_entry |
nova.network.neutronv2.api.API.delete_dns_entry |
Security Group API Mapping
nova.network.security_group.security_group_base.SecurityGroupBase.add_rules |
nova.network.security_group.neutron_driver.SecurityGroupAPI.add_rules |
nova.network.security_group.security_group_base.SecurityGroupBase.raise_not_found |
|
nova.network.security_group.security_group_base.SecurityGroupBase.add_to_instance |
nova.network.security_group.neutron_driver.SecurityGroupAPI.add_to_instance |
nova.network.security_group.security_group_base.SecurityGroupBase.trigger_handler |
|
nova.network.security_group.security_group_base.SecurityGroupBase.get_rule |
nova.network.security_group.neutron_driver.SecurityGroupAPI.get_rule |
nova.network.security_group.security_group_base.SecurityGroupBase.populate_security_groups |
nova.network.security_group.neutron_driver.SecurityGroupAPI.populate_security_groups |
nova.network.security_group.security_group_base.SecurityGroupBase.trigger_rules_refresh |
|
nova.network.security_group.security_group_base.SecurityGroupBase.parse_cidr |
|
nova.network.security_group.security_group_base.SecurityGroupBase.new_group_ingress_rule |
|
nova.network.security_group.security_group_base.SecurityGroupBase.create_security_group |
nova.network.security_group.neutron_driver.SecurityGroupAPI.create_security_group |
nova.network.security_group.security_group_base.SecurityGroupBase.get_instance_security_groups |
nova.network.security_group.neutron_driver.SecurityGroupAPI.get_instance_security_groups |
nova.network.security_group.security_group_base.SecurityGroupBase.validate_property |
|
nova.network.security_group.security_group_base.SecurityGroupBase.destroy |
nova.network.security_group.neutron_driver.SecurityGroupAPI.destroy |
nova.network.security_group.security_group_base.SecurityGroupBase.update_security_group |
nova.network.security_group.neutron_driver.SecurityGroupAPI.update_security_group |
nova.network.security_group.security_group_base.SecurityGroupBase.raise_over_quota |
|
nova.network.security_group.security_group_base.SecurityGroupBase.raise_group_already_exists |
|
nova.network.security_group.security_group_base.SecurityGroupBase.get |
nova.network.security_group.neutron_driver.SecurityGroupAPI.get |
nova.network.security_group.security_group_base.SecurityGroupBase.raise_invalid_property |
|
nova.network.security_group.security_group_base.SecurityGroupBase.trigger_members_refresh |
|
nova.network.security_group.security_group_base.SecurityGroupBase.raise_invalid_cidr |
|
nova.network.security_group.security_group_base.SecurityGroupBase.new_cidr_ingress_rule |
|
nova.network.security_group.security_group_base.SecurityGroupBase.remove_from_instance |
nova.network.security_group.neutron_driver.SecurityGroupAPI.remove_from_instance |
nova.network.security_group.security_group_base.SecurityGroupBase.ensure_default |
|
nova.network.security_group.security_group_base.SecurityGroupBase.list |
nova.network.security_group.neutron_driver.SecurityGroupAPI.list |
nova.network.security_group.security_group_base.SecurityGroupBase.create_security_group_rule |
|
nova.network.security_group.security_group_base.SecurityGroupBase.raise_invalid_group |
|
nova.network.security_group.security_group_base.SecurityGroupBase.rule_exists |
|
nova.network.security_group.security_group_base.SecurityGroupBase.remove_rules |
nova.network.security_group.neutron_driver.SecurityGroupAPI.remove_rules |
|
nova.network.security_group.neutron_driver.SecurityGroupAPI.get_instances_security_groups_bindings |
|
nova.network.security_group.neutron_driver.SecurityGroupAPI.validate_id |
Points to Look For
- Throwing exceptions across the API boundary that differ than those thrown by alternate implementations may be a parity issue. (e.g. validate_networks in neutron throws in the presence of multiple networks, nova-network does not)
- NotImplemented may be a significant parity issue. Even if addressed through alternate mechanisms, this is a testing /api binary compatible mismatch
Functional Parity
Network Manager Types
The FlatNetworkManager (thanks rkukura for spelling this out!):
(would this work for FlatDHCPNetworkManager as well?)
Multi-Host
- Icehouse summit Distributed Router (possible multi-host approach)
Documentation
Background
Tasks
Quality of Default Implementation
Background
- Icehouse Summit QA Neutron session etherpad
- Icehouse Summit on testing with mulitple nodes
- Icehouse Summit on negative testing
Tasks
bzs... don't you wish you could suck content from gerrit.
Performance
Default implementation (openvswitch)
Configuration
e.g. How long does it take for a floating IP to take effect
Communication
Routing
VLAN
GRE
VxLAN
Scalability
- node counts
- network counts
- tenant counts
- dhcp agents
- l3 agents
- multiple processes
- metrics
HA Options
- answer to the multi-host (fault isolation) question
- real/better HA
API Integration
Neutron Methods Called from Integration Library
- list_networks
- show_port
- list_security_groups
- delete_port
- show_port
- list_extensions
- show_quota
- list_ports
- list_subnets
- update_port
- create_port
- update_floatingip
- show_network
- show_floatingip
- create_floatingip
- list_floatingips
- delete_floatingip
Related Client Functions
dns-create |
Create a DNS entry for domain, name and ip. |
dns-create-private-domain |
Create the specified DNS domain. |
dns-create-public-domain |
Create the specified DNS domain. |
dns-delete |
Delete the specified DNS entry. |
dns-delete-domain |
Delete the specified DNS domain. |
dns-domains |
Print a list of available dns domains. |
dns-list |
List current DNS entries for domain and ip or domain and name. |
Tenant Network Management
fixed-ip-get |
Get info on a fixed ip |
fixed-ip-reserve |
Reserve a fixed ip |
fixed-ip-unreserve |
Unreserve a fixed ip |
remove-fixed-ip |
Remove an IP address from a server. |
remove-secgroup |
Remove a Security Group from a server. |
net |
Show a network |
net-create |
Create a network |
net-delete |
Delete a network |
net-list |
List networks |
network-associate-host |
Associate host with network. |
network-associate-project |
Associate project with network. |
network-create |
Create a network. |
network-disassociate |
Disassociate host and/or project from the given network. |
network-list |
Print a list of available networks. |
network-show |
Show details about the given network. |
reset-network |
Reset network of an instance. |
VM Network Configuration Management
interface-attach |
Attach a network interface to an instance. |
interface-detach |
Detach a network interface from an instance. |
interface-list |
List interfaces attached to an instance. |
Floating IP Management
add-fixed-ip |
Add new IP address on a network to server. |
add-floating-ip |
Add a floating IP address to a server. |
remove-floating-ip |
Remove a floating IP address from a server. |
floating-ip-bulk-create |
Bulk create floating ips by range |
floating-ip-bulk-delete |
Bulk delete floating ips by range |
floating-ip-bulk-list |
List all floating ips |
floating-ip-create |
Allocate a floating IP for the current tenant. |
floating-ip-delete |
De-allocate a floating IP. |
floating-ip-list |
List floating ips for this tenant. |
floating-ip-pool-list |
List all floating ip pools. |
Security Group Management
add-secgroup |
Add a Security Group to a server. |
secgroup-add-group-rule |
Add a source group rule to a security group. |
secgroup-add-rule |
Add a rule to a security group. |
secgroup-create |
Create a security group. |
secgroup-delete |
Delete a security group. |
secgroup-delete-group-rule |
Delete a source group rule from a security group. |
secgroup-delete-rule |
Delete a rule from a security group. |
secgroup-list |
List security groups for the current tenant. |
secgroup-list-rules |
List rules for a security group. |
API Methods
nova.network.rpcapi.NetworkAPI.migrate_instance_finish |
nova.network.neutronv2.api.API.migrate_instance_finish |
nova.network.rpcapi.NetworkAPI.deallocate_floating_ip |
nova.network.neutronv2.api.API.release_floating_ip (?) |
nova.network.rpcapi.NetworkAPI.get_instance_nw_info |
nova.network.neutronv2.api.API.get_instance_nw_info |
nova.network.rpcapi.NetworkAPI.get_fixed_ip_by_address |
nova.network.neutronv2.api.API.get_fixed_ip_by_address |
nova.network.rpcapi.NetworkAPI.deallocate_for_instance |
nova.network.neutronv2.api.API.deallocate_for_instance |
nova.network.rpcapi.NetworkAPI.delete_network |
x |
nova.network.rpcapi.NetworkAPI.get_floating_ips_by_fixed_address |
nova.network.neutronv2.api.API.get_floating_ips_by_fixed_address |
nova.network.rpcapi.NetworkAPI.get_fixed_ip |
nova.network.neutronv2.api.API.get_fixed_ip |
nova.network.rpcapi.NetworkAPI.lease_fixed_ip |
nova.network.neutronv2.api.API.allocate_port_for_instance (?) |
nova.network.rpcapi.NetworkAPI.disassociate_network |
nova.network.neutronv2.api.API.disassociate (?) |
nova.network.rpcapi.NetworkAPI.set_network_host |
x |
nova.network.rpcapi.NetworkAPI.add_network_to_project |
nova.network.neutronv2.api.API.add_network_to_project |
nova.network.rpcapi.NetworkAPI.create_public_dns_domain |
nova.network.neutronv2.api.API.create_public_dns_domain |
nova.network.rpcapi.NetworkAPI.get_instance_uuids_by_ip_filter |
nova.network.neutronv2.api.API.get_instance_uuids_by_ip_filter |
nova.network.rpcapi.NetworkAPI.setup_networks_on_host |
nova.network.neutronv2.api.API.setup_networks_on_host |
nova.network.rpcapi.NetworkAPI.associate |
x |
nova.network.rpcapi.NetworkAPI.get_all_networks |
nova.network.neutronv2.api.API.list_ports (?) |
nova.network.rpcapi.NetworkAPI.disassociate_floating_ip |
nova.network.neutronv2.api.API.disassociate_floating_ip |
nova.network.rpcapi.NetworkAPI.allocate_for_instance |
nova.network.neutronv2.api.API.allocate_for_instance |
nova.network.rpcapi.NetworkAPI.get_floating_ip_by_address |
nova.network.neutronv2.api.API.get_floating_ip_by_address |
nova.network.rpcapi.NetworkAPI.get_floating_ip |
nova.network.neutronv2.api.API.get_floating_ip |
nova.network.rpcapi.NetworkAPI.deallocate_fixed_ip |
nova.network.neutronv2.api.API.deallocate_port_for_instance (?) |
nova.network.rpcapi.NetworkAPI.add_fixed_ip_to_instance |
nova.network.neutronv2.api.API.add_fixed_ip_to_instance |
nova.network.rpcapi.NetworkAPI.create_networks |
x |
nova.network.rpcapi.NetworkAPI.create_private_dns_domain |
nova.network.neutronv2.api.API.create_private_dns_domain |
nova.network.rpcapi.NetworkAPI.migrate_instance_start |
nova.network.neutronv2.api.API.migrate_instance_start |
nova.network.rpcapi.NetworkAPI.get_floating_ips_by_project |
nova.network.neutronv2.api.API.get_floating_ips_by_project |
nova.network.rpcapi.NetworkAPI.rpc_setup_network_on_host |
x |
nova.network.rpcapi.NetworkAPI.get_vif_by_mac_address |
nova.network.neutronv2.api.API.get_vif_by_mac_address |
nova.network.rpcapi.NetworkAPI.get_vifs_by_instance |
nova.network.neutronv2.api.API.get_vifs_by_instance |
nova.network.rpcapi.NetworkAPI.associate_floating_ip |
nova.network.neutronv2.api.API.associate_floating_ip |
nova.network.rpcapi.NetworkAPI.get_instance_id_by_floating_address |
nova.network.neutronv2.api.API.get_instance_id_by_floating_address |
nova.network.rpcapi.NetworkAPI.get_dns_domains |
nova.network.neutronv2.api.API.get_dns_domains |
nova.network.rpcapi.NetworkAPI.remove_fixed_ip_from_instance |
nova.network.neutronv2.api.API.remove_fixed_ip_from_instance |
nova.network.rpcapi.NetworkAPI.delete_dns_domain |
nova.network.neutronv2.api.API.delete_dns_domain |
nova.network.rpcapi.NetworkAPI.release_fixed_ip |
X nova.network.neutronv2.api.API.show_port |
nova.network.rpcapi.NetworkAPI.get_floating_ip_pools |
nova.network.neutronv2.api.API.get_floating_ip_pools |
nova.network.rpcapi.NetworkAPI.update_dns |
x |
nova.network.rpcapi.NetworkAPI.modify_dns_entry |
nova.network.neutronv2.api.API.modify_dns_entry |
nova.network.rpcapi.NetworkAPI.get_network |
nova.network.neutronv2.api.API.get |
nova.network.rpcapi.NetworkAPI.get_dns_entries_by_name |
nova.network.neutronv2.api.API.get_dns_entries_by_name |
nova.network.rpcapi.NetworkAPI.allocate_floating_ip |
nova.network.neutronv2.api.API.allocate_floating_ip |
nova.network.rpcapi.NetworkAPI.get_dns_entries_by_address |
nova.network.neutronv2.api.API.get_dns_entries_by_address |
nova.network.rpcapi.NetworkAPI.add_dns_entry |
nova.network.neutronv2.api.API.add_dns_entry |
nova.network.rpcapi.NetworkAPI.validate_networks |
nova.network.neutronv2.api.API.validate_networks |
nova.network.rpcapi.NetworkAPI.delete_dns_entry |
nova.network.neutronv2.api.API.delete_dns_entry |
Security Group API Mapping
nova.network.security_group.security_group_base.SecurityGroupBase.add_rules |
nova.network.security_group.neutron_driver.SecurityGroupAPI.add_rules |
nova.network.security_group.security_group_base.SecurityGroupBase.raise_not_found |
|
nova.network.security_group.security_group_base.SecurityGroupBase.add_to_instance |
nova.network.security_group.neutron_driver.SecurityGroupAPI.add_to_instance |
nova.network.security_group.security_group_base.SecurityGroupBase.trigger_handler |
|
nova.network.security_group.security_group_base.SecurityGroupBase.get_rule |
nova.network.security_group.neutron_driver.SecurityGroupAPI.get_rule |
nova.network.security_group.security_group_base.SecurityGroupBase.populate_security_groups |
nova.network.security_group.neutron_driver.SecurityGroupAPI.populate_security_groups |
nova.network.security_group.security_group_base.SecurityGroupBase.trigger_rules_refresh |
|
nova.network.security_group.security_group_base.SecurityGroupBase.parse_cidr |
|
nova.network.security_group.security_group_base.SecurityGroupBase.new_group_ingress_rule |
|
nova.network.security_group.security_group_base.SecurityGroupBase.create_security_group |
nova.network.security_group.neutron_driver.SecurityGroupAPI.create_security_group |
nova.network.security_group.security_group_base.SecurityGroupBase.get_instance_security_groups |
nova.network.security_group.neutron_driver.SecurityGroupAPI.get_instance_security_groups |
nova.network.security_group.security_group_base.SecurityGroupBase.validate_property |
|
nova.network.security_group.security_group_base.SecurityGroupBase.destroy |
nova.network.security_group.neutron_driver.SecurityGroupAPI.destroy |
nova.network.security_group.security_group_base.SecurityGroupBase.update_security_group |
nova.network.security_group.neutron_driver.SecurityGroupAPI.update_security_group |
nova.network.security_group.security_group_base.SecurityGroupBase.raise_over_quota |
|
nova.network.security_group.security_group_base.SecurityGroupBase.raise_group_already_exists |
|
nova.network.security_group.security_group_base.SecurityGroupBase.get |
nova.network.security_group.neutron_driver.SecurityGroupAPI.get |
nova.network.security_group.security_group_base.SecurityGroupBase.raise_invalid_property |
|
nova.network.security_group.security_group_base.SecurityGroupBase.trigger_members_refresh |
|
nova.network.security_group.security_group_base.SecurityGroupBase.raise_invalid_cidr |
|
nova.network.security_group.security_group_base.SecurityGroupBase.new_cidr_ingress_rule |
|
nova.network.security_group.security_group_base.SecurityGroupBase.remove_from_instance |
nova.network.security_group.neutron_driver.SecurityGroupAPI.remove_from_instance |
nova.network.security_group.security_group_base.SecurityGroupBase.ensure_default |
|
nova.network.security_group.security_group_base.SecurityGroupBase.list |
nova.network.security_group.neutron_driver.SecurityGroupAPI.list |
nova.network.security_group.security_group_base.SecurityGroupBase.create_security_group_rule |
|
nova.network.security_group.security_group_base.SecurityGroupBase.raise_invalid_group |
|
nova.network.security_group.security_group_base.SecurityGroupBase.rule_exists |
|
nova.network.security_group.security_group_base.SecurityGroupBase.remove_rules |
nova.network.security_group.neutron_driver.SecurityGroupAPI.remove_rules |
|
nova.network.security_group.neutron_driver.SecurityGroupAPI.get_instances_security_groups_bindings |
|
nova.network.security_group.neutron_driver.SecurityGroupAPI.validate_id |
Points to Look For
- Throwing exceptions across the API boundary that differ than those thrown by alternate implementations may be a parity issue. (e.g. validate_networks in neutron throws in the presence of multiple networks, nova-network does not)
- NotImplemented may be a significant parity issue. Even if addressed through alternate mechanisms, this is a testing /api binary compatible mismatch
Functional Parity
Network Manager Types
The FlatNetworkManager (thanks rkukura for spelling this out!):
(would this work for FlatDHCPNetworkManager as well?)
Multi-Host
- Icehouse summit Distributed Router (possible multi-host approach)