示例#1
0
#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
#    License for the specific language governing permissions and limitations
#    under the License.
#

from neutron_lib.api.definitions import l3 as l3_apidef
from oslo_config import cfg
import sqlalchemy as sa
from sqlalchemy import sql

from neutron.conf.db import l3_gwmode_db
from neutron.db import _resource_extend as resource_extend
from neutron.db import l3_db
from neutron.db.models import l3 as l3_models

l3_gwmode_db.register_db_l3_gwmode_opts()

# Modify the Router Data Model adding the enable_snat attribute
setattr(
    l3_models.Router, 'enable_snat',
    sa.Column(sa.Boolean,
              default=True,
              server_default=sql.true(),
              nullable=False))


@resource_extend.has_resource_extenders
class L3_NAT_dbonly_mixin(l3_db.L3_NAT_dbonly_mixin):
    """Mixin class to add configurable gateway modes."""
    @staticmethod
    @resource_extend.extends([l3_apidef.ROUTERS])
示例#2
0
from neutron_lib.api.definitions import l3 as l3_apidef
from neutron_lib.callbacks import events
from neutron_lib.callbacks import registry
from neutron_lib.callbacks import resources
from oslo_config import cfg
import sqlalchemy as sa
from sqlalchemy import sql

from neutron.conf.db import l3_gwmode_db
from neutron.db import _resource_extend as resource_extend
from neutron.db import l3_db
from neutron.db.models import l3 as l3_models


l3_gwmode_db.register_db_l3_gwmode_opts()


# Modify the Router Data Model adding the enable_snat attribute
setattr(l3_models.Router, 'enable_snat',
        sa.Column(sa.Boolean, default=True, server_default=sql.true(),
                  nullable=False))


@resource_extend.has_resource_extenders
class L3_NAT_dbonly_mixin(l3_db.L3_NAT_dbonly_mixin):
    """Mixin class to add configurable gateway modes."""

    @staticmethod
    @resource_extend.extends([l3_apidef.ROUTERS])
    def _extend_router_dict_gw_mode(router_res, router_db):