Jump to: navigation, search

Difference between revisions of "NovaNetNeutronParity"

(Test Coverage)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
[ out of date, to delete ]
+
[ out of date, updates for Juno in progress ]
== Documentation ==
+
__NOTOC__
 +
 
 +
'''''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'''.
 +
 
 +
==== 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! Poor performance of neutron as a whole in the gate is a parity blocker.
 +
 
 +
==== 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, anteaya, and rossella_s (and probably others) 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.. In short, the role of the the principal is to be actively involved in at least one related activity, safeguarding migration paths, stability, etc. and otherwise contributing to closing perceived feature and functionality gaps that are migration obstacles. Principals attend the biweekly parity meetings and remain in close contact with the other principals in the interim. Situations will arise where principals must work in closely directed efforts to rapidly overcome particular obstacles (geurilla tactics? hero sprints?). A principal need not be core, but the demands on overall knowledge and the complexity of some of the problem areas does imply a certain amount of experience.
 +
 
 +
For the purposes of continuity and progress, a principal should be in a positiion to commit to the parity effort for a minimum of a complete cycle. Ownership of a blueprint exclusive to parity implicitly assigns the role of principal and all of the associated obligations.
 +
 
 +
Principals should be vigilent and vocal about perceived or anticipated risks that affect parity goals.
 +
 
 +
As most of us are employed to work on OpenStack, the priorities of the employer may sometimes conflict with commitments made as principal. This is a "fact of life", needs to be accepted as a risk and mitigated. If a priority change occurs that will impact involvement, the team should do what it can to mitigate the impact, honestly and critically assess the impact that effectively results, communicating it upwards to the neutron community as whole and if possible onboard a "backup".
 +
 
 +
=== 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. Individuals wishing to contribute but are unable to commit to a protracted effort for a cycle are still valuable and all contributions are welcome. If a contributor steps in, the principals must effectively sponsor the effort, providing timely feedback, review support, etc. to make the most of these contributions. This implies a relationship between the number of non-principal and principal contributors, but it is unlikely that this would become a limitation beyond that of the core/non-core contributor ratio in the neutron project as a whole.
 +
 
 +
For a practical period estabished by the principals, a principal must be selected to "own" the parity effort as a whole. The period may be a cycle, a milestone or some other reasonable practical interval. The role of the "owner" is to coordinate the meetings and foster communication. The "owner" should also be vigilent of risks pertaining to organization and meeting objectives. The "owner" is the principle point of contact with respect to the effort for the PTL and other team members. The "owner" is not directly responsible for the entire body of work. If the current "owner" for any reason whatsoever, feels unable to continue in that role it should be immediately transferred to an acting owner until another principal accepts the responsibility. The portability of the "mantle" of owner effectively limits the scope and weight of that responsibility. That is, the ability of a current owner to continue in that role should not pose an undue risk to the success of the effort.
 +
 
 +
A more hierarchical approach has been considered, but poses certain organizational problems. Considering that parity related efforts overlap with other efforts (IPv6 support, performance, etc), in a hierarchical model a principal could effectively working within two hierarchies. This can lead to conflict and loss of productivity, not to mention loss of interest. Also, a hierarchy implies a certain responsibility for the end result. Again, where there are multiple parallel efforts with different ultimate goals, this effectively marks a person as responsible for something they do not have direct control over.
 +
 
 +
Obviously a "non-organization" has also been attempted where the objectvies were outlined, analysis provided, priority stated, etc.. This is too unstructured and simply results in no discernible progress where popular priorities lie elsewhere. The notion of principals, a defined minimal critical mass (the minimal number of principals required to pull it off) and consideration of how to work within efforts with greater general buy-in from the rest of the community is in direct response to this. If the minimal number of principals cannot be obtained for a cycle, it is a sort of darwinian indication that there is insufficient interest within the community to achieve the goals. Working through existing efforts somewhat increases the potential for obtaining this minimal number (a principal could in fact be the owner of a related effort) and at the same time avoids going too far in the other direction of having an autonomous team of parity-gorillas running rampant across parallel efforts, generally disrupting efforts and creating a lot of conflict.
 +
 
 +
==== Minimal Number of Principals/Low Numbers of Contributors ====
 +
 
 +
Operating with the bare minimum of principals and few contributors (like 0) comes with a fair degree of risk and is not the most effective way to get things done. In this case, it may be necessary to coalesce the available principles around particular well defined milestones and execute a sprint (now is the time for parity-gorilla mode). These need to be well defined and scoped to fit a reasonable for a sustainable sprint duration. While getting together has its merits it can be difficult for some organizations to assign a clear $ value to a ROI on such a thing. Google hangouts, IRC, free phone conference are all reasonable tools to employ in these situations with good results. Of course, spritns can and should be used where warranted even if there are lots of contributors. As long as the scope is well defined and the objectives are reasonable, this can be employed as frequently as necessary.
 +
 
 +
=== Moving Forward and Reporting Status ===
 +
 
 +
Although we are several cycles trying to get here, time has always been critical to the parity effort and we are a few cycles past due. This detail informs the general state of urgency.
 +
 
 +
Reporting parity is a more of state of what is broken than what it is not. A tag denoting an issue as network-parity related should be incorporated into the blueprints and launchpad bug system.
 +
 
 +
Two new blueprints need to be written (or resurrected as the case may be) with a realistic and proper design and plan, including testing:
 +
* multi-host
 +
* simplified all-in-one with "external access" (wording?)
 +
 
 +
Both of these issues are largely concerned with resolving remaining migration path issues that are completely unaddressed within nova.
 +
 
 +
Additional blueprints are required:
 +
* Provide Flat Network Migration Path
 +
* Provide FlatDHCP Network Migration Path
 +
* Provide VLAN Migration Path
 +
 
 +
These blueprints are the muster points for new code and bugs that directly impact the respective migration path. In addition to these specific migration paths:
 +
 
 +
* Real World Migrations from Nova Network
 +
 
 +
This last blueprint may be defined as a parent or the dependencies may be defined such that the last cannot reasonably be completed without the others also being completed.
 +
 
 +
The blueprints for the specific areas are important for several reasons:
 +
* it brings the specific efforts of the principals *in process" and allows the activities to be planned for and reported as logical groupings in a given cycle
 +
* it provides an  opportunity for the neutron project as a whole to agree on priorities and relevance of the particular efforts
 +
 
 +
These blueprints cannot be placeholders, but must be properly defined bodies of work. If it is not possible to define them so that they are first class blueprints that may be approved (or not) in a regular fashion than more work is required in their definition. Dependencies on existing blueprints and bugs should be indicated where relevant. These blueprints should ideally be in a completed state for the spring summit in 2014. Plans and efforts for mitigating risks based on dependencies should be addressed as soon as possible.
  
 +
=== Coordination ===
  
=== Background ===
+
The experience with Icehouse with respect to parity is that it seemed like everyone was working on something that was parity related, but was not actually for the sake of parity. This is partly the motivation behind organizing parity related efforts as a sort of "team member with ulterior motives" or infiltrator across the relevant teams. It also results renders the co-ordination with the related teams moot, or at the very least innate. The challenge in this approach will be for the principals to maintain focus on parity, in a sense inverting the coordination problem. However, this is more easily a team-dynamics risk for the parity team itself than an organizational behavior issue. Effective mitigation will therefore be dependent on the principals that make up the parity team and cannot realistically be divined before it forms.
* [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 ==
+
What is beyond this point is historical and needs revision.
  
 
=== Background ===
 
=== Background ===
 +
* [https://docs.google.com/document/d/1E9CiG8fmcn0FMI15zpE0dRQ1CcFhXV8TxL7mU7vgWv8/edit?usp=sharing Early Parity Discussion Document]
  
 +
=== Tasks ===
 
* [https://etherpad.openstack.org/p/icehouse-summit-qa-neutron Icehouse Summit QA Neutron session etherpad]
 
* [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-multi-node Icehouse Summit on testing with mulitple nodes]
Line 55: Line 151:
 
== API Integration ==
 
== API Integration ==
  
=== Neutron Methods Called from Integration Library ===
 
  
* list_networks
+
[[NovaNetNeutronRecipes]]
* 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 ===
+
The FlatNetworkManager (thanks rkukura for spelling this out!):
 +
(There are interop bugs related to security groups that may break this!)
  
<TABLE WIDTH=664 CELLPADDING=4 CELLSPACING=0>
+
* [http://openstack.redhat.com/forum/discussion/comment/2363#Comment_2363 flat networks]
<COL WIDTH=255>
+
* [http://openstack.redhat.com/forum/discussion/comment/2394#Comment_2394 flat networks]
<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 ===
+
(would this work for FlatDHCPNetworkManager as well?)
<TABLE WIDTH=663 CELLPADDING=4 CELLSPACING=0>
+
(the aforementioned security group related issue would not affect the flat dhcp scenario the same way)
<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 ===
+
=== Multi-Host ===
  
* 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)
+
* [https://etherpad.openstack.org/p/Distributed-Virtual-Router Icehouse summit Distributed Router] (possible multi-host approach)
* NotImplemented may be a significant parity issue. Even if addressed through alternate mechanisms, this is a testing /api binary compatible mismatch
 
  
== Functional Parity ==
+
== Documentation ==
  
=== Network Manager Types ===
 
  
[[NovaNetNeutronRecipes]]
+
=== Background ===
 +
* [https://docs.google.com/document/d/1E9CiG8fmcn0FMI15zpE0dRQ1CcFhXV8TxL7mU7vgWv8/edit?usp=sharing Early Parity Discussion Document]
  
The FlatNetworkManager (thanks rkukura for spelling this out!):
+
=== Tasks ===
 +
* [https://blueprints.launchpad.net/neutron/+spec/nova-network-to-neutron-recipes Recipes]
  
* [http://openstack.redhat.com/forum/discussion/comment/2363#Comment_2363 flat networks]
+
== Quality of Default Implementation ==
* [http://openstack.redhat.com/forum/discussion/comment/2394#Comment_2394 flat networks]
 
  
(would this work for FlatDHCPNetworkManager as well?)
+
=== Background ===
  
=== Multi-Host ===
+
* [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/Distributed-Virtual-Router Icehouse summit Distributed Router] (possible multi-host approach)
+
* [https://etherpad.openstack.org/p/icehouse-summit-qa-negative-tests Icehouse Summit on negative testing]

Latest revision as of 20:10, 17 March 2014

[ out of date, updates for Juno in progress ]


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.

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! Poor performance of neutron as a whole in the gate is a parity blocker.

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, anteaya, and rossella_s (and probably others) 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.. In short, the role of the the principal is to be actively involved in at least one related activity, safeguarding migration paths, stability, etc. and otherwise contributing to closing perceived feature and functionality gaps that are migration obstacles. Principals attend the biweekly parity meetings and remain in close contact with the other principals in the interim. Situations will arise where principals must work in closely directed efforts to rapidly overcome particular obstacles (geurilla tactics? hero sprints?). A principal need not be core, but the demands on overall knowledge and the complexity of some of the problem areas does imply a certain amount of experience.

For the purposes of continuity and progress, a principal should be in a positiion to commit to the parity effort for a minimum of a complete cycle. Ownership of a blueprint exclusive to parity implicitly assigns the role of principal and all of the associated obligations.

Principals should be vigilent and vocal about perceived or anticipated risks that affect parity goals.

As most of us are employed to work on OpenStack, the priorities of the employer may sometimes conflict with commitments made as principal. This is a "fact of life", needs to be accepted as a risk and mitigated. If a priority change occurs that will impact involvement, the team should do what it can to mitigate the impact, honestly and critically assess the impact that effectively results, communicating it upwards to the neutron community as whole and if possible onboard a "backup".

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. Individuals wishing to contribute but are unable to commit to a protracted effort for a cycle are still valuable and all contributions are welcome. If a contributor steps in, the principals must effectively sponsor the effort, providing timely feedback, review support, etc. to make the most of these contributions. This implies a relationship between the number of non-principal and principal contributors, but it is unlikely that this would become a limitation beyond that of the core/non-core contributor ratio in the neutron project as a whole.

For a practical period estabished by the principals, a principal must be selected to "own" the parity effort as a whole. The period may be a cycle, a milestone or some other reasonable practical interval. The role of the "owner" is to coordinate the meetings and foster communication. The "owner" should also be vigilent of risks pertaining to organization and meeting objectives. The "owner" is the principle point of contact with respect to the effort for the PTL and other team members. The "owner" is not directly responsible for the entire body of work. If the current "owner" for any reason whatsoever, feels unable to continue in that role it should be immediately transferred to an acting owner until another principal accepts the responsibility. The portability of the "mantle" of owner effectively limits the scope and weight of that responsibility. That is, the ability of a current owner to continue in that role should not pose an undue risk to the success of the effort.

A more hierarchical approach has been considered, but poses certain organizational problems. Considering that parity related efforts overlap with other efforts (IPv6 support, performance, etc), in a hierarchical model a principal could effectively working within two hierarchies. This can lead to conflict and loss of productivity, not to mention loss of interest. Also, a hierarchy implies a certain responsibility for the end result. Again, where there are multiple parallel efforts with different ultimate goals, this effectively marks a person as responsible for something they do not have direct control over.

Obviously a "non-organization" has also been attempted where the objectvies were outlined, analysis provided, priority stated, etc.. This is too unstructured and simply results in no discernible progress where popular priorities lie elsewhere. The notion of principals, a defined minimal critical mass (the minimal number of principals required to pull it off) and consideration of how to work within efforts with greater general buy-in from the rest of the community is in direct response to this. If the minimal number of principals cannot be obtained for a cycle, it is a sort of darwinian indication that there is insufficient interest within the community to achieve the goals. Working through existing efforts somewhat increases the potential for obtaining this minimal number (a principal could in fact be the owner of a related effort) and at the same time avoids going too far in the other direction of having an autonomous team of parity-gorillas running rampant across parallel efforts, generally disrupting efforts and creating a lot of conflict.

Minimal Number of Principals/Low Numbers of Contributors

Operating with the bare minimum of principals and few contributors (like 0) comes with a fair degree of risk and is not the most effective way to get things done. In this case, it may be necessary to coalesce the available principles around particular well defined milestones and execute a sprint (now is the time for parity-gorilla mode). These need to be well defined and scoped to fit a reasonable for a sustainable sprint duration. While getting together has its merits it can be difficult for some organizations to assign a clear $ value to a ROI on such a thing. Google hangouts, IRC, free phone conference are all reasonable tools to employ in these situations with good results. Of course, spritns can and should be used where warranted even if there are lots of contributors. As long as the scope is well defined and the objectives are reasonable, this can be employed as frequently as necessary.

Moving Forward and Reporting Status

Although we are several cycles trying to get here, time has always been critical to the parity effort and we are a few cycles past due. This detail informs the general state of urgency.

Reporting parity is a more of state of what is broken than what it is not. A tag denoting an issue as network-parity related should be incorporated into the blueprints and launchpad bug system.

Two new blueprints need to be written (or resurrected as the case may be) with a realistic and proper design and plan, including testing:

  • multi-host
  • simplified all-in-one with "external access" (wording?)

Both of these issues are largely concerned with resolving remaining migration path issues that are completely unaddressed within nova.

Additional blueprints are required:

  • Provide Flat Network Migration Path
  • Provide FlatDHCP Network Migration Path
  • Provide VLAN Migration Path

These blueprints are the muster points for new code and bugs that directly impact the respective migration path. In addition to these specific migration paths:

  • Real World Migrations from Nova Network

This last blueprint may be defined as a parent or the dependencies may be defined such that the last cannot reasonably be completed without the others also being completed.

The blueprints for the specific areas are important for several reasons:

  • it brings the specific efforts of the principals *in process" and allows the activities to be planned for and reported as logical groupings in a given cycle
  • it provides an opportunity for the neutron project as a whole to agree on priorities and relevance of the particular efforts

These blueprints cannot be placeholders, but must be properly defined bodies of work. If it is not possible to define them so that they are first class blueprints that may be approved (or not) in a regular fashion than more work is required in their definition. Dependencies on existing blueprints and bugs should be indicated where relevant. These blueprints should ideally be in a completed state for the spring summit in 2014. Plans and efforts for mitigating risks based on dependencies should be addressed as soon as possible.

Coordination

The experience with Icehouse with respect to parity is that it seemed like everyone was working on something that was parity related, but was not actually for the sake of parity. This is partly the motivation behind organizing parity related efforts as a sort of "team member with ulterior motives" or infiltrator across the relevant teams. It also results renders the co-ordination with the related teams moot, or at the very least innate. The challenge in this approach will be for the principals to maintain focus on parity, in a sense inverting the coordination problem. However, this is more easily a team-dynamics risk for the parity team itself than an organizational behavior issue. Effective mitigation will therefore be dependent on the principals that make up the parity team and cannot realistically be divined before it forms.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>

What is beyond this point is historical and needs revision.

Background

Tasks

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

NovaNetNeutronRecipes

The FlatNetworkManager (thanks rkukura for spelling this out!): (There are interop bugs related to security groups that may break this!)

(would this work for FlatDHCPNetworkManager as well?) (the aforementioned security group related issue would not affect the flat dhcp scenario the same way)

Multi-Host

Documentation

Background

Tasks

Quality of Default Implementation

Background