Merge "Move network objects to extension"

This commit is contained in:
Jenkins 2016-04-12 16:34:14 +00:00 committed by Gerrit Code Review
commit 05be83199a
22 changed files with 168 additions and 141 deletions

View File

@ -21,10 +21,10 @@ Handlers dealing with network configurations
from nailgun.api.v1.handlers.base import BaseHandler
from nailgun.api.v1.handlers.base import content
from nailgun.objects.serializers.network_configuration \
import NeutronNetworkConfigurationSerializer
from nailgun.objects.serializers.network_configuration \
import NovaNetworkConfigurationSerializer
from nailgun.extensions.network_manager.objects.serializers.\
network_configuration import NeutronNetworkConfigurationSerializer
from nailgun.extensions.network_manager.objects.serializers.\
network_configuration import NovaNetworkConfigurationSerializer
from nailgun.api.v1.validators.network import NetworkConfigurationValidator
from nailgun.api.v1.validators.network import NetworkTemplateValidator

View File

@ -33,7 +33,8 @@ from nailgun import consts
from nailgun.errors import errors
from nailgun import objects
from nailgun.objects.serializers.node import NodeInterfacesSerializer
from nailgun.extensions.network_manager.objects.serializers.nic import \
NodeInterfacesSerializer
from nailgun.db import db
from nailgun.db.sqlalchemy.models import NetworkGroup

View File

@ -18,7 +18,8 @@ import copy
import six
from nailgun import consts
from nailgun.objects.serializers import network_configuration
from nailgun.extensions.network_manager.objects.serializers import \
network_configuration
from . import base as base_tests
from ..objects import adapters

View File

@ -20,8 +20,9 @@ from distutils import version
import six
from nailgun import consts
from nailgun.extensions.network_manager.objects.serializers import \
network_configuration
from nailgun import objects
from nailgun.objects.serializers import network_configuration
from nailgun import utils
from .objects import adapters

View File

@ -28,10 +28,11 @@ import six
from nailgun import consts
from nailgun.errors import errors
from nailgun.extensions.network_manager.objects.serializers.nic import \
NodeInterfacesSerializer
from nailgun.logger import logger
from nailgun.network import utils
from nailgun import objects
from nailgun.objects.serializers.node import NodeInterfacesSerializer
from nailgun.settings import settings
from nailgun import utils as nailgun_utils
from nailgun.utils.restrictions import RestrictionBase

View File

@ -16,10 +16,10 @@
from nailgun.db.sqlalchemy import models
from nailgun.objects.interface import DPDKMixin
from nailgun.extensions.network_manager.objects.interface import DPDKMixin
from nailgun.extensions.network_manager.objects.interface import NIC
from nailgun.objects import NailgunCollection
from nailgun.objects import NailgunObject
from nailgun.objects import NIC
from nailgun.objects.serializers.base import BasicSerializer

View File

@ -20,12 +20,13 @@ from sqlalchemy.sql import not_
from nailgun.db import db
from nailgun.db.sqlalchemy import models
from nailgun.errors import errors
from nailgun.extensions.network_manager.objects.serializers.ip_addr import \
IPAddrSerializer
from nailgun.objects import Cluster
from nailgun.objects import NailgunCollection
from nailgun.objects import NailgunObject
from nailgun.objects import NetworkGroup
from nailgun.objects.serializers.base import BasicSerializer
from nailgun.objects.serializers.ip_addr import IPAddrSerializer
class IPAddr(NailgunObject):

View File

@ -20,11 +20,12 @@ from nailgun import consts
from nailgun.db import db
from nailgun.db.sqlalchemy import models
from nailgun.errors import errors
from nailgun.extensions.network_manager.objects.serializers.network_group \
import NetworkGroupSerializer
from nailgun.logger import logger
from nailgun.objects import Cluster
from nailgun.objects import NailgunCollection
from nailgun.objects import NailgunObject
from nailgun.objects.serializers.network_group import NetworkGroupSerializer
from sqlalchemy.sql import or_

View File

@ -0,0 +1,121 @@
# -*- coding: utf-8 -*-
# Copyright 2016 Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# 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 distutils.version import StrictVersion
from nailgun import consts
from nailgun.objects.serializers.base import BasicSerializer
from nailgun.settings import settings
class NodeInterfacesSerializer(BasicSerializer):
nic_fields = (
'id',
'mac',
'name',
'type',
'interface_properties',
'state',
'current_speed',
'max_speed',
'assigned_networks',
'driver',
'bus_info',
'offloading_modes',
'pxe'
)
bond_fields = (
'mac',
'name',
'type',
'interface_properties',
'mode',
'bond_properties',
'state',
'assigned_networks',
'offloading_modes'
)
nic_fields_60 = (
'id',
'mac',
'name',
'type',
'state',
'current_speed',
'max_speed',
'assigned_networks',
'driver',
'bus_info',
)
bond_fields_60 = (
'mac',
'name',
'type',
'mode',
'bond_properties',
'state',
'assigned_networks'
)
@classmethod
def _get_env_version(cls, instance):
"""Returns environment's version.
Returns current Fuel version by default.
"""
if instance.node.cluster:
return instance.node.cluster.release.environment_version
return settings.VERSION["release"]
@classmethod
def serialize_nic_interface(cls, instance, fields=None):
if not fields:
if StrictVersion(cls._get_env_version(instance)) < \
StrictVersion('6.1'):
fields = cls.nic_fields_60
else:
fields = cls.nic_fields
return BasicSerializer.serialize(
instance,
fields=fields
)
@classmethod
def serialize_bond_interface(cls, instance, fields=None):
if not fields:
if StrictVersion(cls._get_env_version(instance)) < \
StrictVersion('6.1'):
fields = cls.bond_fields_60
else:
fields = cls.bond_fields
data_dict = BasicSerializer.serialize(
instance,
fields=fields
)
data_dict['slaves'] = [{'name': slave.name}
for slave in instance.slaves]
return data_dict
@classmethod
def serialize(cls, instance, fields=None):
iface_types = consts.NETWORK_INTERFACE_TYPES
if instance.type == iface_types.ether:
return cls.serialize_nic_interface(instance, fields)
elif instance.type == iface_types.bond:
return cls.serialize_bond_interface(instance, fields)

View File

@ -28,12 +28,12 @@ from nailgun.logger import logger
from nailgun import objects
from nailgun.task.helpers import TaskHelper
from nailgun.objects.serializers.network_configuration \
import NetworkConfigurationSerializer
from nailgun.objects.serializers.network_configuration \
import NeutronNetworkConfigurationSerializer
from nailgun.objects.serializers.network_configuration \
import NovaNetworkConfigurationSerializer
from nailgun.extensions.network_manager.objects.serializers.\
network_configuration import NetworkConfigurationSerializer
from nailgun.extensions.network_manager.objects.serializers.\
network_configuration import NeutronNetworkConfigurationSerializer
from nailgun.extensions.network_manager.objects.serializers.\
network_configuration import NovaNetworkConfigurationSerializer
class NetworkCheck(object):

View File

@ -47,18 +47,20 @@ from nailgun.objects.deployment_history import DeploymentHistoryCollection
from nailgun.objects.notification import Notification
from nailgun.objects.notification import NotificationCollection
from nailgun.objects.network_group import NetworkGroup
from nailgun.objects.network_group import NetworkGroupCollection
from nailgun.extensions.network_manager.objects.network_group import \
NetworkGroup
from nailgun.extensions.network_manager.objects.network_group import \
NetworkGroupCollection
from nailgun.objects.ip_addr import IPAddr
from nailgun.objects.ip_addr import IPAddrCollection
from nailgun.objects.ip_addr import IPAddrRange
from nailgun.extensions.network_manager.objects.ip_addr import IPAddr
from nailgun.extensions.network_manager.objects.ip_addr import IPAddrCollection
from nailgun.extensions.network_manager.objects.ip_addr import IPAddrRange
from nailgun.objects.interface import NIC
from nailgun.objects.interface import NICCollection
from nailgun.extensions.network_manager.objects.interface import NIC
from nailgun.extensions.network_manager.objects.interface import NICCollection
from nailgun.objects.bond import Bond
from nailgun.objects.bond import BondCollection
from nailgun.extensions.network_manager.objects.bond import Bond
from nailgun.extensions.network_manager.objects.bond import BondCollection
from nailgun.objects.node import Node
from nailgun.objects.node import NodeAttributes

View File

@ -1525,7 +1525,8 @@ class Cluster(NailgunObject):
@classmethod
def get_network_attributes(cls, instance):
# use local import to avoid recursive imports
from nailgun.objects.serializers import network_configuration
from nailgun.extensions.network_manager.objects.serializers import \
network_configuration
if instance.net_provider == consts.CLUSTER_NET_PROVIDERS.nova_network:
serializer = \

View File

@ -14,12 +14,7 @@
# License for the specific language governing permissions and limitations
# under the License.
from distutils.version import StrictVersion
from nailgun import consts
from nailgun.objects.serializers.base import BasicSerializer
from nailgun.settings import settings
class NodeSerializer(BasicSerializer):
@ -55,102 +50,3 @@ class NodeSerializer(BasicSerializer):
data_dict = super(NodeSerializer, cls).serialize(instance, fields)
data_dict['fqdn'] = Node.get_node_fqdn(instance)
return data_dict
class NodeInterfacesSerializer(BasicSerializer):
nic_fields = (
'id',
'mac',
'name',
'type',
'interface_properties',
'state',
'current_speed',
'max_speed',
'assigned_networks',
'driver',
'bus_info',
'offloading_modes',
'pxe'
)
bond_fields = (
'mac',
'name',
'type',
'interface_properties',
'mode',
'bond_properties',
'state',
'assigned_networks',
'offloading_modes'
)
nic_fields_60 = (
'id',
'mac',
'name',
'type',
'state',
'current_speed',
'max_speed',
'assigned_networks',
'driver',
'bus_info',
)
bond_fields_60 = (
'mac',
'name',
'type',
'mode',
'bond_properties',
'state',
'assigned_networks'
)
@classmethod
def _get_env_version(cls, instance):
"""Returns environment's version.
Returns current Fuel version by default.
"""
if instance.node.cluster:
return instance.node.cluster.release.environment_version
return settings.VERSION["release"]
@classmethod
def serialize_nic_interface(cls, instance, fields=None):
if not fields:
if StrictVersion(cls._get_env_version(instance)) < \
StrictVersion('6.1'):
fields = cls.nic_fields_60
else:
fields = cls.nic_fields
return BasicSerializer.serialize(
instance,
fields=fields
)
@classmethod
def serialize_bond_interface(cls, instance, fields=None):
if not fields:
if StrictVersion(cls._get_env_version(instance)) < \
StrictVersion('6.1'):
fields = cls.bond_fields_60
else:
fields = cls.bond_fields
data_dict = BasicSerializer.serialize(
instance,
fields=fields
)
data_dict['slaves'] = [{'name': slave.name}
for slave in instance.slaves]
return data_dict
@classmethod
def serialize(cls, instance, fields=None):
iface_types = consts.NETWORK_INTERFACE_TYPES
if instance.type == iface_types.ether:
return cls.serialize_nic_interface(instance, fields)
elif instance.type == iface_types.bond:
return cls.serialize_bond_interface(instance, fields)

View File

@ -20,10 +20,10 @@ import traceback
from oslo_serialization import jsonutils
from nailgun.objects.serializers.network_configuration \
import NeutronNetworkConfigurationSerializer
from nailgun.objects.serializers.network_configuration \
import NovaNetworkConfigurationSerializer
from nailgun.extensions.network_manager.objects.serializers.\
network_configuration import NeutronNetworkConfigurationSerializer
from nailgun.extensions.network_manager.objects.serializers.\
network_configuration import NovaNetworkConfigurationSerializer
from nailgun import consts
from nailgun.db import db

View File

@ -30,8 +30,9 @@ import yaml
import nailgun
from nailgun import consts
from nailgun.errors import errors
from nailgun.extensions.network_manager.objects.serializers \
import network_configuration
from nailgun import objects
from nailgun.objects.serializers import network_configuration
from nailgun.db.sqlalchemy.models import IPAddr
from nailgun.db.sqlalchemy.models import IPAddrRange

View File

@ -20,10 +20,10 @@ from oslo_serialization import jsonutils
import yaml
from nailgun.objects import Cluster
from nailgun.objects.serializers.network_configuration \
import NeutronNetworkConfigurationSerializer
from nailgun.objects.serializers.network_configuration \
import NovaNetworkConfigurationSerializer
from nailgun.extensions.network_manager.objects.serializers.\
network_configuration import NeutronNetworkConfigurationSerializer
from nailgun.extensions.network_manager.objects.serializers.\
network_configuration import NovaNetworkConfigurationSerializer
from nailgun import consts
from nailgun.db.sqlalchemy.models import NeutronConfig