1
# Copyright 2014 Alcatel-Lucent USA Inc.
3
# Licensed under the Apache License, Version 2.0 (the "License"); you may
4
# not use this file except in compliance with the License. You may obtain
5
# a copy of the License at
7
# http://www.apache.org/licenses/LICENSE-2.0
9
# Unless required by applicable law or agreed to in writing, software
10
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12
# License for the specific language governing permissions and limitations
15
from neutron.openstack.common import uuidutils
18
class FakeNuageClient(object):
19
def __init__(self, server, base_uri, serverssl,
20
serverauth, auth_resource, organization):
23
def rest_call(self, action, resource, data, extra_headers=None):
26
def vms_on_l2domain(self, l2dom_id):
29
def vms_on_subnet(self, subnet_id):
32
def create_subnet(self, neutron_subnet, params):
34
'nuage_l2template_id': uuidutils.generate_uuid(),
35
'nuage_userid': uuidutils.generate_uuid(),
36
'nuage_groupid': uuidutils.generate_uuid(),
37
'nuage_l2domain_id': uuidutils.generate_uuid()
41
def update_subnet(self, neutron_subnet, params):
44
def delete_subnet(self, id):
47
def create_router(self, neutron_router, router, params):
49
'nuage_userid': uuidutils.generate_uuid(),
50
'nuage_groupid': uuidutils.generate_uuid(),
51
'nuage_domain_id': uuidutils.generate_uuid(),
52
'nuage_def_zone_id': uuidutils.generate_uuid(),
56
def delete_router(self, id):
59
def delete_user(self, id):
62
def delete_group(self, id):
65
def create_domain_subnet(self, neutron_subnet, params):
68
def delete_domain_subnet(self, id):
71
def create_net_partition(self, params):
72
fake_net_partition = {
73
'nuage_entid': uuidutils.generate_uuid(),
74
'l3dom_id': uuidutils.generate_uuid(),
75
'l2dom_id': uuidutils.generate_uuid(),
77
return fake_net_partition
79
def get_def_netpartition_data(self, default_net_part):
80
if default_net_part == 'default_test_np':
81
fake_defnetpart_data = {
82
'np_id': uuidutils.generate_uuid(),
83
'l3dom_tid': uuidutils.generate_uuid(),
84
'l2dom_tid': uuidutils.generate_uuid(),
86
return fake_defnetpart_data
88
def get_net_partition_id_by_name(self, name):
89
return uuidutils.generate_uuid()
91
def delete_net_partition(self, id, l3dom_id=None, l2dom_id=None):
94
def check_del_def_net_partition(self, ent_name):
97
def create_vms(self, params):
100
def delete_vms(self, params):
103
def create_nuage_staticroute(self, params):
104
return uuidutils.generate_uuid()
106
def delete_nuage_staticroute(self, id):
109
def create_nuage_sharedresource(self, params):
110
return uuidutils.generate_uuid()
112
def delete_nuage_sharedresource(self, id):
115
def create_nuage_floatingip(self, params):
116
return uuidutils.generate_uuid()
118
def delete_nuage_floatingip(self, id):
121
def update_nuage_vm_vport(self, params):
124
def get_nuage_fip_pool_by_id(self, net_id):
126
'nuage_fip_pool_id': uuidutils.generate_uuid()
130
def get_nuage_fip_by_id(self, params):
131
if 'neutron_fip' in params:
132
neutron_fip = params['neutron_fip']
133
if (neutron_fip['floating_ip_address'] == '12.0.0.3' and
134
neutron_fip['fixed_ip_address'] == '10.0.1.2') or (
135
neutron_fip['floating_ip_address'] == '12.0.0.5' and
136
neutron_fip['fixed_ip_address'] == '10.0.1.3'):
139
'nuage_parent_id': '1'
143
def get_nuage_port_by_id(self, params):
144
if params.get('nuage_fip_id') == '1':
145
domain_id = uuidutils.generate_uuid()
147
if 'nuage_router_id' in params:
148
domain_id = params['nuage_router_id']
153
'nuage_vif_id': uuidutils.generate_uuid(),
154
'nuage_vport_id': uuidutils.generate_uuid(),
155
'nuage_domain_id': domain_id
160
def get_zone_by_routerid(self, neutron_router_id):
162
'nuage_zone_id': uuidutils.generate_uuid()
166
def get_usergroup(self, tenant, net_partition_id):
167
return uuidutils.generate_uuid(), uuidutils.generate_uuid()
169
def get_sg_vptag_mapping(self, id):
172
def validate_nuage_sg_rule_definition(self, params):
175
def create_nuage_sgrule(self, params):
178
def update_nuage_vport(self, params):
181
def delete_nuage_sgrule(self, params):
184
def delete_nuage_secgroup(self, params):
187
def process_port_create_security_group(self, params):
190
def delete_port_security_group_bindings(self, params):
193
def validate_provider_network(self, net_type, phy_net, vlan_id):
196
def remove_router_interface(self, params):
199
def get_resources_to_sync(self, data):
201
for netpart in data['netpartition']:
202
netpart_id_list.append(netpart['id'])
205
'add': netpart_id_list,
211
subn_id_list.append(data['subnet'][0])
219
rtr_id_list.append(data['router'][0])
225
domain_subn_id = uuidutils.generate_uuid()
228
'netpartition': netpart_dict,
229
'l2domain': l2domain_dict,
230
'domain': domain_dict,
231
'domainsubnet': {'add': [domain_subn_id]},
232
'sharednetwork': {'add': [uuidutils.generate_uuid()]},
233
'route': {'add': []},
236
'l2domain': {'add': {
237
uuidutils.generate_uuid(): [uuidutils.generate_uuid()]
240
uuidutils.generate_uuid(): [uuidutils.generate_uuid()]
244
'l2domain': {'add': [uuidutils.generate_uuid()]},
245
'domain': {'add': [uuidutils.generate_uuid()]}
249
'vm': [uuidutils.generate_uuid()],
250
'sub_rtr_intf_port_dict': {
251
domain_subn_id: uuidutils.generate_uuid()
253
'secgroup': [uuidutils.generate_uuid()]
255
'subl2dommapping': [uuidutils.generate_uuid()],
257
'add': [uuidutils.generate_uuid()],
258
'associate': [uuidutils.generate_uuid()],
259
'disassociate': [uuidutils.generate_uuid()]
264
def create_netpart(self, netpart, fip_quota):
265
if netpart['name'] == 'sync-new-netpartition':
266
oldid = netpart['id']
267
netpart['id'] = 'a917924f-3139-4bdb-a4c3-ea7c8011582f'
274
def create_sharednetwork(self, subnet):
277
def create_l2domain(self, netpart_id, subnet):
279
'subnet_id': subnet['id'],
280
'nuage_subnet_id': '52daa465-cf33-4efd-91d3-f5bc2aebd',
281
'net_partition_id': netpart_id,
282
'nuage_l2dom_tmplt_id': uuidutils.generate_uuid(),
283
'nuage_user_id': uuidutils.generate_uuid(),
284
'nuage_group_id': uuidutils.generate_uuid(),
289
def create_domain(self, netpart, router):
291
'router_id': router['id'],
292
'nuage_router_id': '2d782c02-b88e-44ad-a79b-4bdf11f7df3d',
293
'net_partition_id': netpart['id']
298
def create_domainsubnet(self, subnet, ports):
301
def create_route(self, route):
304
def create_vm(self, port):
307
def create_security_group(self, secgrp, ports):
310
def create_security_group_rule(self, secgrprule):
313
def create_fip(self, fip, ipalloc):
316
def associate_fip(self, fip):
319
def disassociate_fip(self, fip):