blueprint quantum-scheduler
we remove scheduling network
to dhcp agent when creating network so that we can give admin
the chance to allocate the given network to a given dhcp agent after
network creation.
Change-Id: I228870669825405277de0505a3f2ece074918524
3rd part of blueprint quantum-scheduler
1. Allow networks to be hosted by certain dhcp agents.
Network to dhcp agent is a
many to many relationship. Provide a simple
scheduler to schedule a network randomly
to an active dhcp agent when a network or port is created.
2. Allow admin user to (de)schedule network to a
certain dhcp agent manually.
3. Allow routers to be hosted by a certain l3 agent.
Router to l3 agent is a many to one relationship.
Provide a simple scheduler to
schedule a router to l3 agent if the router is not
scheduled when the router is updated.
4. Auto schedule networks and routers to agents when agents
start.
5. Only support ovs plugin at this point
Change-Id: Iddec3ea9d4c0fe2d51a59f7db47145722fc5a1cd
This wrapper was there to allow oslo-config changes through the gate
while keystoneclient hadn't been updated.
Also update to 2013.1b4.
Change-Id: I3d48673af58ae379e8e4d2c7fb4b4d81f3ed67dd
400 will be returned when invalid attributes
are passed into Quantum API.
Fixed the some test cases failed since the
enforcement of invalid attribute checking
Fixes: bug #1076179
Change-Id: I4e9e2891c444f9dcd051f7b325d3c9403b28db86
2nd part of blueprint quantum-scheduler
Remove openstack openstack listener on DHCP agent side.
Add DHCPagent notifier on quantum server side.
Change-Id: I196691650a99ba865bf06081a1fc4546f9fac7bd
The cfg API is now available via the oslo-config library, so switch to
it and remove the copied-and-pasted version.
Add the 2013.1b3 tarball to tools/pip-requires - this will be changed
to 'oslo-config>=2013.1' when oslo-config is published to pypi. This
will happen in time for grizzly final.
Remove the 'deps = pep8' from tox.ini as it means all the other deps
get installed with easy_install which can't install oslo-config from
the URL.
Retain dummy cfg.py file until keystoneclient middleware has been
updated (I18c450174277c8e2d15ed93879da6cd92074c27a).
Change-Id: I4815aeb8a9341a31a250e920157f15ee15cfc5bc
This change allows to specify constraints for individual keys in
dictionaries in the specification of the API resources.
Introduces type:dict_or_none validator that allows to skip
validation of a dictionary if a None value was supplied.
Adds constraints for session persistance parameters to the API.
Disables specifying cookie_name for session persistence, if
the type is set to HTTP_COOKIE or SOURCE_IP.
Fixes: bug #1104110
Change-Id: I62068deed449967949eaba9259028c88dd6974f8
Do not automatically map generic exceptions like AttributeError to
http errors (instead they should be handled closer to where they occur
so that they can be "intelligently" converted to the appropriate
error).
Fix up some expected error codes in the unit tests.
Improve some of the validation messages.
Remove all use of locals() in attributes.py
Fixes: bug #1076813
Change-Id: Iabf8808a840e927307bbcae4cd41790af3d79a9e
This change allows to reset session persistence, if it
was configured for a VIP. It's possible by passing None
value for session persistence through the REST API.
Change-Id: I8690850d0589065502a8eb774d51fe40851624f8
Fixes: bug #1109101
Fix bug 1089773
Notifications in quantum api do not honor default_notification_level
in quantum.conf and always use INFO level. On the other hand
dhcp-agent refers to default_notification_level.
If default_notification_level is set to a value other than INFO,
dhcp-agent cannot receive notification from quantum server.
Change-Id: Ie3ae576d62e91651aa59b2324ec114716181107f
Blueprint quantum-service-type
This patch allows for managing service types through the API.
The default service type is specified in the configuration file.
The patch also provides a 'dummy' API extension, which uses the
'dummy' service plugin, as a PoC for usage of service type.
The dummy API extension is used in unit tests only.
Change-Id: I97d400b941fa7925b0efa0fd0d35c07419ff6bfa
fixes bug 1096486
The previous code used a special extension loading mechanism to
selectively load the Quota model is the plugin matched and object path.
This was intended to load models required by plugins, but this loading
actually occurred after the db schema was created, so the model was not
always loaded. This fix refactors the code to make the QuotaV2 ext
behave similarly to the other extensions ensuring the models are loaded
prior to database schema creation.
Change-Id: Id7d1f7ddee69bfc4419df375366319dedc3dc439
Ensure that the quantum exceptions in FAULT_MAP are grouped
together (this will save endless bug fixes when the server
will return 500 instead of 4xx)
Change-Id: I89581e1b6b4af3eb1803d6226686adf0b576d1e7
Removed the outer try/catch block to handle all exceptions in one block.
Moved irrelevant statements out of the block
Change-Id: I5c248403b8419f664ef6f17e70a016e7c0cd4ae6
Fixes bug 1093749
The patch set also returns a proper error instead of a internal server
error when the quotas are reached.
Change-Id: Ifc74ffa8b54faa70f5558bf5263830f5e71f58ae
This adds the use of eventlet's db_pool module so that we can make mysql
calls without blocking the whole process.
New config options are introduced:
sql_dbpool_enable -- Enables the use of eventlet's db_pool
sql_min_pool_size -- Set the minimum number of SQL connections
sql_max_pool_size -- Set the maximum number of SQL connections
sql_idle_timeout -- Timeout before idle sql connections are reaped
The default for sql_dbpool_enable is False for now, so there is
no forced behavior changes for those using mysql. sql_min_pool_size
is defaulted to 1 to match behavior if not using db_pool.
Fixes bug 1086173
Change-Id: Ied0aae33211585743fe955028a75c4e192a15d2f
- API extension
- abstract base class for plugin
- some new validators were added to quantum/api/v2/attributes.py
Implements: blueprint lbaas-restapi-tenant
Change-Id: Ic2fd4debc4969389b395ce7352ab208c6854018b
- quantum.api.v2.base.Controller class now able to handle sub-resources
- quantum.api.v2.router.APIRouter now able to specify sub-resources
Fixes bug 1085968
Change-Id: I07f2c1f3d974f7f17d4947804bde064dd8004a84
Fixes bug 1075157
In addition exceptions used in remove_router_intreface are defined
and gettextized.
Change-Id: I30b1561f3d4be12e485c506e5c3828b41ab226ef
On one hand, we sync router data (including routers,
their gw ports, interfaces and floatingips) from l3_agent
to quantum server periodically if needed.
On the other hand, we notify l3 agent from quantum server when
we delete or update a router's stuff, such as floating IP,
interface and gwport and router itself.
blueprint rpc-for-l3-agent
bug #1080286
Change-Id: I60f3081975fc7164b22f9e9fa941e702a3f4c663