@ -48,7 +48,189 @@ from nailgun.test.integration.test_orchestrator_serializer import \
TestSerializeInterfaceDriversData
class BaseTestDeploymentAttributesSerialization70 ( BaseDeploymentSerializer ) :
class PrepareDataMixin ( object ) :
def patch_net_roles_for_release ( self ) :
rel_id = self . env . create_release ( version = self . env_version ) . id
rel_db = self . db . query ( models . Release ) . filter_by ( id = rel_id ) . one ( )
to_patch = yaml . safe_load ( """
-
id : " keystone/api "
default_mapping : " management "
properties : & default_network_roles_metadata_properties
subnet : true
gateway : false
vip : [ ]
-
id : " admin/pxe "
default_mapping : " fuelweb_admin "
properties :
subnet : true
gateway : true
vip : [ ]
-
id : " swift/api "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " neutron/api "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " sahara/api "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " ceilometer/api "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " cinder/api "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " glance/api "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " heat/api "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " nova/api "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " murano/api "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " horizon "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " mgmt/memcache "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " mgmt/database "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " mgmt/messaging "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " mgmt/corosync "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " mgmt/vip "
default_mapping : " management "
properties :
subnet : true
gateway : false
vip :
-
name : " vrouter "
namespace : " vrouter "
alias : " management_vrouter_vip "
-
name : " management "
namespace : " haproxy "
alias : " management_vip "
-
id : " public/vip "
default_mapping : " public "
properties :
subnet : true
gateway : true
vip :
-
name : " vrouter_pub "
namespace : " vrouter "
alias : " public_vrouter_vip "
-
name : " public "
namespace : " haproxy "
alias : " public_vip "
-
id : " neutron/private "
default_mapping : " private "
properties :
subnet : false
gateway : false
vip : [ ]
-
id : " neutron/mesh "
default_mapping : " private "
properties : * default_network_roles_metadata_properties
-
id : " neutron/floating "
default_mapping : " public "
properties :
subnet : false
gateway : false
vip : [ ]
-
id : " swift/replication "
default_mapping : " storage "
properties : * default_network_roles_metadata_properties
-
id : " ceph/public "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " ceph/radosgw "
default_mapping : " public "
properties : * default_network_roles_metadata_properties
-
id : " ceph/replication "
default_mapping : " storage "
properties : * default_network_roles_metadata_properties
-
id : " cinder/iscsi "
default_mapping : " storage "
properties : * default_network_roles_metadata_properties
-
id : " mongo/db "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " fw-admin "
default_mapping : " fuelweb_admin "
properties :
subnet : true
gateway : true
vip : [ ]
-
id : " management "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
-
id : " ex "
default_mapping : " public "
properties :
subnet : true
gateway : true
vip : [ ]
-
id : " storage "
default_mapping : " storage "
properties : * default_network_roles_metadata_properties
-
id : " nova/migration "
default_mapping : " management "
properties : * default_network_roles_metadata_properties
""" )
rel_db . network_roles_metadata = to_patch
self . db . flush ( )
return rel_db
class BaseTestDeploymentAttributesSerialization70 ( BaseDeploymentSerializer ,
PrepareDataMixin ) :
management = [ ' keystone/api ' , ' neutron/api ' , ' swift/api ' , ' sahara/api ' ,
' ceilometer/api ' , ' cinder/api ' , ' glance/api ' , ' heat/api ' ,
' nova/api ' , ' murano/api ' , ' horizon ' , ' management ' ,
@ -81,9 +263,11 @@ class BaseTestDeploymentAttributesSerialization70(BaseDeploymentSerializer):
self . vm_data = self . env . read_fixtures ( [ ' vmware_attributes ' ] )
def create_env ( self , mode ) :
release = self . patch_net_roles_for_release ( )
return self . env . create (
release_kwargs = { ' version ' : self . env_version } ,
cluster_kwargs = {
' release_id ' : release . id ,
' mode ' : mode ,
' net_provider ' : consts . CLUSTER_NET_PROVIDERS . neutron ,
' net_segment_type ' : self . segmentation_type } ,
@ -364,9 +548,10 @@ class TestDeploymentSerializationForNovaNetwork70(
) :
def create_env ( self , mode ) :
release = self . patch_net_roles_for_release ( )
return self . env . create (
release_kwargs = { ' version ' : self . env_version } ,
cluster_kwargs = {
' release_id ' : release . id ,
' mode ' : mode ,
' net_provider ' : consts . CLUSTER_NET_PROVIDERS . nova_network } ,
nodes_kwargs = [
@ -555,10 +740,7 @@ class TestPluginDeploymentTasksInjection(base.BaseIntegrationTest):
super ( TestPluginDeploymentTasksInjection , self ) . setUp ( )
self . env . create (
release_kwargs = {
' version ' : ' 2015.1.0-7.0 ' ,
' deployment_tasks ' : self . release_deployment_tasks ,
} ,
release_kwargs = { ' deployment_tasks ' : self . release_deployment_tasks } ,
cluster_kwargs = {
' mode ' : consts . CLUSTER_MODES . ha_compact ,
' net_provider ' : consts . CLUSTER_NET_PROVIDERS . neutron ,
@ -837,7 +1019,8 @@ class TestPluginDeploymentTasksInjection(base.BaseIntegrationTest):
self . assertItemsEqual ( release_depl_tasks_ids , serialized_tasks_ids )
class TestRolesSerializationWithPlugins ( BaseDeploymentSerializer ) :
class TestRolesSerializationWithPlugins ( BaseDeploymentSerializer ,
PrepareDataMixin ) :
env_version = ' 2015.1.0-7.0 '
@ -881,11 +1064,10 @@ class TestRolesSerializationWithPlugins(BaseDeploymentSerializer):
def setUp ( self ) :
super ( TestRolesSerializationWithPlugins , self ) . setUp ( )
release = self . patch_net_roles_for_release ( )
self . env . create (
release_kwargs = {
' version ' : self . env_version ,
} ,
cluster_kwargs = {
' release_id ' : release . id ,
' mode ' : consts . CLUSTER_MODES . ha_compact ,
' net_provider ' : consts . CLUSTER_NET_PROVIDERS . neutron ,
' net_segment_type ' : consts . NEUTRON_SEGMENT_TYPES . vlan ,
@ -972,7 +1154,8 @@ class TestRolesSerializationWithPlugins(BaseDeploymentSerializer):
} ] )
class TestNetworkTemplateSerializer70 ( BaseDeploymentSerializer ) :
class TestNetworkTemplateSerializer70 ( BaseDeploymentSerializer ,
PrepareDataMixin ) :
env_version = ' 2015.1.0-7.0 '
@ -993,10 +1176,11 @@ class TestNetworkTemplateSerializer70(BaseDeploymentSerializer):
AstuteGraph ( cluster_db ) ) . serialize ( self . cluster , cluster_db . nodes )
def create_env ( self , segment_type ) :
release = self . patch_net_roles_for_release ( )
cluster = self . env . create (
release_kwargs = { ' version ' : self . env_version } ,
cluster_kwargs = {
' api ' : False ,
' release_id ' : release . id ,
' mode ' : consts . CLUSTER_MODES . ha_compact ,
' net_provider ' : consts . CLUSTER_NET_PROVIDERS . neutron ,
' net_segment_type ' : segment_type } ,
@ -1621,8 +1805,31 @@ class TestSerializer70Mixin(object):
class TestNovaOrchestratorSerializer70 ( TestSerializer70Mixin ,
TestNovaOrchestratorSerializer ) :
pass
TestNovaOrchestratorSerializer ,
PrepareDataMixin ) :
def create_env ( self , mode , network_manager = ' FlatDHCPManager ' ) :
node_args = [
{ ' roles ' : [ ' controller ' , ' cinder ' ] , ' pending_addition ' : True } ,
{ ' roles ' : [ ' compute ' , ' cinder ' ] , ' pending_addition ' : True } ,
{ ' roles ' : [ ' compute ' ] , ' pending_addition ' : True } ,
{ ' roles ' : [ ' mongo ' ] , ' pending_addition ' : True } ,
{ ' roles ' : [ ] , ' pending_roles ' : [ ' cinder ' ] ,
' pending_addition ' : True } ]
release = self . patch_net_roles_for_release ( )
cluster = self . env . create (
cluster_kwargs = {
' release_id ' : release . id ,
' mode ' : mode ,
' net_manager ' : network_manager ,
' net_provider ' : consts . CLUSTER_NET_PROVIDERS . nova_network } ,
nodes_kwargs = node_args )
cluster_db = self . db . query ( models . Cluster ) . get ( cluster [ ' id ' ] )
objects . Cluster . prepare_for_deployment ( cluster_db )
self . db . flush ( )
return cluster_db
class TestSerializeInterfaceDriversData70 ( TestSerializer70Mixin ,