Add Domain name to ranger region

Refactor ranger to allow domain
for resource deployment to be
defined in create region api call,
rather than only being retrieved
from ranger configuration.

Change-Id: I1b481c49d4402438c8aa91a8ebd8b6dbe797997b
This commit is contained in:
jh629g 2020-02-10 12:07:52 -06:00 committed by Jeremy Houser
parent 7ca26d96a5
commit 5eb91bd5d5
25 changed files with 123 additions and 54 deletions

View File

@ -66,6 +66,7 @@ log = 'rms.log'
[rds]
port = 8777
log = 'rdstest.log'
customer_domain = 'default'
[cli]
base_region = 'RegionOne'

View File

@ -281,7 +281,7 @@ OrmRdsGroup = [
default=8777,
help='Rds port.'),
cfg.StrOpt('customer_domain',
default='Default',
default='default',
help='Keystone project domain'),
cfg.StrOpt('log',
default='rds.log',

View File

@ -135,7 +135,7 @@ def add_to_parser(service_sub):
[--metadata <metadata>] [--ranger_agent_version <ranger_agent_version>]\
[--clli <clli>]\
[--regionname <regionname>] [--osversion <osversion>]\
[--location_type <location_type>]\
[--location_type <location_type>] [--domain_name <domain_name>]\
[--state <state>] [--country <country>] [--city <city>] [--street <street>]\
[--zip <zip>] [--clcp_name <clcp_name>]')
parser_list_region.add_argument('client', **cli_common.ORM_CLIENT_KWARGS)
@ -154,6 +154,8 @@ def add_to_parser(service_sub):
help='<osversion>')
parser_list_region.add_argument('--location_type', type=str,
help='<location_type>')
parser_list_region.add_argument('--domain_name', type=str,
help='<domain_name>')
parser_list_region.add_argument('--state', type=str, help='<state>')
parser_list_region.add_argument('--country', type=str, help='<country>')
parser_list_region.add_argument('--city', type=str, help='<city>')
@ -261,6 +263,8 @@ def cmd_details(args):
if args.location_type:
param += '%slocation_type=%s' % (preparm(param),
args.location_type)
if args.domain_name:
param += '%sdomain_name=%s' % (preparm(param), args.domain_name)
if args.state:
param += '%sstate=%s' % (preparm(param), args.state)
if args.country:

View File

@ -43,6 +43,9 @@ def execute_app_custom_sql(conn):
sql = 'insert ignore into cms_domain(name) values(%s)'
conn.execute(sql, (customer_domain, ))
update_regions = "update region set domain_name = '%s' " \
"where domain_name is NULL or length(domain_name) = 0"
conn.execute(update_regions, (customer_domain, ))
def main(argv=None):

View File

@ -2,6 +2,7 @@ import orm.base_config as config
from orm.common.orm_common.hooks.api_error_hook import APIErrorHook
from orm.common.orm_common.hooks.security_headers_hook import SecurityHeadersHook
from orm.common.orm_common.hooks.transaction_id_hook import TransactionIdHook
global TransactionIdHook
global APIErrorHook
global SecurityHeadersHook
@ -13,6 +14,10 @@ server = {
'name': 'rms'
}
rds = {
'customer_domain': config.rds['customer_domain']
}
# Pecan Application Configurations
app = {
'root': 'orm.services.region_manager.rms.controllers.root.RootController',

View File

@ -36,6 +36,7 @@ def load_csv2db(data_manager):
row["ranger_agent_version"],
row["open_stack_version"],
row["location_type"],
row['domain_name'],
row["vlcp_name"],
row["clli"],
row["design_type"],

View File

@ -108,6 +108,7 @@ def build_zone_response(zone):
status="1" if zone.status == "functional" else "0",
design_type=zone.design_type,
location_type=zone.location_type,
domain_name=zone.domain_name,
vLCP_name=zone.vlcp_name,
ranger_agent_version=zone.ranger_agent_version,
OS_version=zone.open_stack_version,

View File

@ -7,13 +7,15 @@ from orm.services.region_manager.rms.controllers.v2.orm.resources.metadata \
import RegionMetadataController
from orm.services.region_manager.rms.controllers.v2.orm.resources.status \
import RegionStatusController
from orm.services.region_manager import config
from orm.services.region_manager.rms.model import model as PythonModel
from orm.services.region_manager.rms.model import url_parm
from orm.services.region_manager.rms.services import error_base
from orm.services.region_manager.rms.services import services as RegionService
from orm.services.region_manager.rms.utils import authentication
from pecan import conf
from pecan import conf as pecan_conf
from pecan import request
from pecan import rest
import requests
@ -84,7 +86,6 @@ class EndPoint(wtypes.DynamicBase):
class RegionsData(wtypes.DynamicBase):
"""class method json header."""
status = wsme.wsattr(wtypes.text, mandatory=True)
id = wsme.wsattr(wtypes.text, mandatory=True)
name = wsme.wsattr(wtypes.text, mandatory=False)
@ -100,6 +101,7 @@ class RegionsData(wtypes.DynamicBase):
design_type = wsme.wsattr(wtypes.text, mandatory=True, name="designType")
location_type = wsme.wsattr(wtypes.text, mandatory=True,
name="locationType")
domain_name = wsme.wsattr(wtypes.text, mandatory=False, name="domainName")
vlcp_name = wsme.wsattr(wtypes.text, mandatory=True, name="vlcpName")
created = wsme.wsattr(wtypes.dt_types.__getitem__(0), mandatory=False,
name="created")
@ -108,7 +110,8 @@ class RegionsData(wtypes.DynamicBase):
def __init__(self, status=None, id=None, name=None, description=None,
clli=None, design_type=None, location_type=None,
vlcp_name=None, open_stack_version=None, address=Address(),
domain_name=config.rds['customer_domain'], vlcp_name=None,
open_stack_version=None, address=Address(),
ranger_agent_version=None, metadata={}, endpoint=[EndPoint()],
created=None, modified=None):
"""init
@ -120,6 +123,7 @@ class RegionsData(wtypes.DynamicBase):
:param clli:
:param design_type:
:param location_type:
:param domain_name:
:param vlcp_name:
:param open_stack_version:
:param address:
@ -139,6 +143,7 @@ class RegionsData(wtypes.DynamicBase):
self.endpoint = endpoint
self.design_type = design_type
self.location_type = location_type
self.domain_name = domain_name
self.vlcp_name = vlcp_name
self.address = address
self.open_stack_version = open_stack_version
@ -160,6 +165,7 @@ class RegionsData(wtypes.DynamicBase):
obj.address = self.address._to_clean_python_obj()
obj.design_type = self.design_type
obj.location_type = self.location_type
obj.domain_name = self.domain_name
obj.vlcp_name = self.vlcp_name
obj.open_stack_version = self.open_stack_version
return obj
@ -189,12 +195,12 @@ class RegionsController(rest.RestController):
# assigned to the region_id
try:
resources = {
'flavors': [conf.api.fms_server.base,
conf.api.fms_server.flavors],
'customers': [conf.api.cms_server.base,
conf.api.cms_server.customers],
'images': [conf.api.ims_server.base,
conf.api.ims_server.images]
'flavors': [pecan_conf.api.fms_server.base,
pecan_conf.api.fms_server.flavors],
'customers': [pecan_conf.api.cms_server.base,
pecan_conf.api.cms_server.customers],
'images': [pecan_conf.api.ims_server.base,
pecan_conf.api.ims_server.images]
}
keystone_ep = authentication.get_keystone_ep(
@ -210,7 +216,7 @@ class RegionsController(rest.RestController):
resources[resource][1], region_id)
resp = requests.get(resource_get_url,
headers=headers,
verify=conf.verify)
verify=pecan_conf.verify)
resp_dict = resp.json()
if resp_dict[resource]:
@ -223,11 +229,12 @@ class RegionsController(rest.RestController):
status_code=401,
message=str(e))
@wsexpose(Regions, str, str, [str], str, str, str, str, str, str, str,
@wsexpose(Regions, str, str, [str], str, str, str, str, str, str, str, str,
str, str, str, str, status_code=200, rest_content_types='json')
def get_all(self, type=None, status=None, metadata=None,
ranger_agent_version=None, clli=None, regionname=None,
osversion=None, location_type=None, state=None, country=None,
osversion=None, location_type=None,
domain_name=None, state=None, country=None,
city=None, street=None, zip=None, vlcp_name=None):
"""get regions.
@ -239,6 +246,7 @@ class RegionsController(rest.RestController):
:param regionname: query field
:param osversion: query field
:param location_type: query field
:param domain_name: query field
:param state: query field
:param country: query field
:param city: query field
@ -255,8 +263,8 @@ class RegionsController(rest.RestController):
'ranger_agent_version': ranger_agent_version, 'clli': clli,
'regionname': regionname, 'osversion': osversion,
'location_type': location_type, 'state': state,
'country': country, 'city': city, 'street': street,
'zip': zip, 'vlcp_name': vlcp_name}
'domain_name': domain_name, 'country': country, 'city': city,
'street': street, 'zip': zip, 'vlcp_name': vlcp_name}
logger.debug("Parameters: {}".format(str(url_args)))
try:
@ -350,7 +358,7 @@ class RegionsController(rest.RestController):
@wsexpose(None, str, rest_content_types='json', status_code=204)
def delete(self, region_id):
utils.set_utils_conf(conf)
utils.set_utils_conf(pecan_conf)
# currently ORM resource types are 'flavor', 'customer', and 'image'
proceed_to_delete = self.has_no_resources(region_id)
if proceed_to_delete:

View File

@ -45,7 +45,7 @@ class RegionData(object):
def __init__(self, status=None, id=None, name=None, description=None,
clli=None, ranger_agent_version=None, design_type=None,
location_type=None,
location_type=None, domain_name=None,
vlcp_name=None, open_stack_version=None,
address=Address(), metadata={}, endpoints=[EndPoint()],
created=None, modified=None):
@ -59,6 +59,7 @@ class RegionData(object):
:param ranger_agent_version:
:param design_type:
:param location_type:
:param domain_name:
:param vlcp_name:
:param open_stack_version:
:param address:
@ -78,6 +79,7 @@ class RegionData(object):
self.endpoints = endpoints
self.design_type = design_type
self.location_type = location_type
self.domain_name = domain_name
self.vlcp_name = vlcp_name
self.open_stack_version = open_stack_version
self.address = address
@ -98,7 +100,7 @@ class RegionData(object):
mandatory_fields = ['id', 'clli', 'design_type', 'ranger_agent_version',
'vlcp_name']
check_fields_for_spaces = ['id', 'clli', 'design_type', 'ranger_agent_version',
'open_stack_version', 'vlcp_name']
'open_stack_version', 'vlcp_name', 'domain_name']
for field in check_fields_for_spaces:
value = getattr(self, field)
@ -181,6 +183,7 @@ class RegionData(object):
db_model_dict['open_stack_version'] = self.open_stack_version
db_model_dict['design_type'] = self.design_type
db_model_dict['location_type'] = self.location_type
db_model_dict['domain_name'] = self.domain_name
db_model_dict['vlcp_name'] = self.vlcp_name
db_model_dict['clli'] = self.clli
db_model_dict['end_point_list'] = end_points

View File

@ -6,8 +6,8 @@ class UrlParms(object):
def __init__(self, type=None, status=None, metadata=None,
ranger_agent_version=None, clli=None, regionname=None,
osversion=None, location_type=None, state=None, country=None,
city=None, street=None, zip=None, vlcp_name=None):
osversion=None, location_type=None, domain_name=None, state=None,
country=None, city=None, street=None, zip=None, vlcp_name=None):
"""init method.
:param type:
@ -18,6 +18,7 @@ class UrlParms(object):
:param regionname:
:param osversion:
:param location_type:
:param domain_name:
:param state:
:param country:
:param city:
@ -41,6 +42,8 @@ class UrlParms(object):
self.open_stack_version = osversion
if location_type:
self.location_type = location_type
if domain_name:
self.domain_name = domain_name
if state:
self.address_state = state
if country:

View File

@ -1 +1 @@
region_id,region_name,address_state,address_country,address_city,address_street,address_zip,region_status,ranger_agent_version,open_stack_version,design_type,location_type,vlcp_name,clli,description,keystone_url,horizon_url,ord_url
region_id,region_name,address_state,address_country,address_city,address_street,address_zip,region_status,ranger_agent_version,open_stack_version,design_type,location_type,domain_name,vlcp_name,clli,description,keystone_url,horizon_url,ord_url

1 region_id region_name address_state address_country address_city address_street address_zip region_status ranger_agent_version open_stack_version design_type location_type domain_name vlcp_name clli description keystone_url horizon_url ord_url

View File

@ -20,6 +20,7 @@ class BaseDataManager(object):
open_stack_version,
design_type,
location_type,
domain_name,
vlcp_name,
clli,
description,

View File

@ -38,6 +38,7 @@ class DataManager(BaseDataManager):
open_stack_version,
design_type,
location_type,
domain_name,
vlcp_name,
clli,
# a list of dictionaries of format
@ -67,6 +68,7 @@ class DataManager(BaseDataManager):
open_stack_version=open_stack_version,
design_type=design_type,
location_type=location_type,
domain_name=domain_name,
vlcp_name=vlcp_name,
clli=clli,
description=description,
@ -107,6 +109,7 @@ class DataManager(BaseDataManager):
open_stack_version,
design_type,
location_type,
domain_name,
vlcp_name,
clli,
# a list of dictionaries of format
@ -142,6 +145,7 @@ class DataManager(BaseDataManager):
record.open_stack_version = open_stack_version
record.design_type = design_type
record.location_type = location_type
record.domain_name = domain_name
record.vlcp_name = vlcp_name
record.clli = clli
record.description = description

View File

@ -12,7 +12,6 @@ metadata = Base.metadata
class Region(Base):
__tablename__ = 'region'
id = Column(Integer, primary_key=True)
region_id = Column(String(64), nullable=False, unique=True)
name = Column(String(64), nullable=False, unique=True)
@ -26,6 +25,7 @@ class Region(Base):
open_stack_version = Column(String(64), nullable=False)
design_type = Column(String(64), nullable=False)
location_type = Column(String(64), nullable=False)
domain_name = Column(String(64), nullable=False)
vlcp_name = Column(String(64), nullable=False)
clli = Column(String(64), nullable=False)
description = Column(String(255), nullable=False)
@ -65,6 +65,7 @@ class Region(Base):
ranger_agent_version = self.ranger_agent_version
design_type = self.design_type
location_type = self.location_type
domain_name = self.domain_name
vlcp_name = self.vlcp_name
open_stack_version = self.open_stack_version
created = self.created
@ -72,7 +73,7 @@ class Region(Base):
address = self.address_to_wsme()
return RegionData(status, id, name, description, clli, ranger_agent_version,
design_type, location_type, vlcp_name,
design_type, location_type, domain_name, vlcp_name,
open_stack_version, address,
metadata=wsme_meta_data,
endpoints=wsme_end_points,

View File

@ -29,7 +29,8 @@ create table if not exists region
ranger_agent_version varchar(64) not null,
open_stack_version varchar(64) not null,
design_type Varchar(64) not null,
location_type varchar(64) not null,
location_type varchar(64) not null,
domain_name varchar(64) not null,
vlcp_name varchar(64) not null,
clli varchar(64) not null,
description varchar(255) not null,
@ -68,3 +69,16 @@ create table if not exists region_meta_data
primary key (id),
foreign key (region_id) REFERENCES `region` (`region_id`) ON DELETE CASCADE,
unique region_meta_data_key_value(region_id, meta_data_key, meta_data_value));
DROP PROCEDURE IF EXISTS add_domain_name;
CREATE PROCEDURE add_domain_name()
BEGIN
-- add a column safely
IF NOT EXISTS( (SELECT * FROM information_schema.COLUMNS WHERE TABLE_SCHEMA=DATABASE()
AND COLUMN_NAME='domain_name' AND TABLE_NAME='region') ) THEN
ALTER TABLE region ADD domain_name varchar(64);
END IF;
END;
CALL add_domain_name();

View File

@ -11,14 +11,15 @@ insert into region (region_id,
ranger_agent_version,
open_stack_version,
design_type,
location_type,
location_type,
domain_name,
vlcp_name,
clli ,
description)
values
("lcp_0","lcp 0", "Cal", "US", "Los Angeles", "Blv st", "012345", "functional", "ranger_agent 1.0", "kilo", "design_type_0", "location_type_0", "vlcp_0", "clli_0", "lcp_0 in LA"),
("lcp_1","lcp 1", "NY", "US", "New York", "5th avn", "112345", "functional", "ranger_agent 1.9", "kilo", "design_type_1", "location_type_1", "vlcp_1", "clli_1", "lcp_1 in NY"),
("lcp_2","lcp 2", "", "IL", "Tel Aviv", "Bazel 4", "212345", "functional", "ranger_agent 1.0", "kilo", "design_type_2", "location_type_2", "vlcp_2", "clli_2", "lcp_2 in Tel Aviv");
("lcp_0","lcp 0", "Cal", "US", "Los Angeles", "Blv st", "012345", "functional", "ranger_agent 1.0", "kilo", "design_type_0", "location_type_0", "domain_1", "vlcp_0", "clli_0", "lcp_0 in LA"),
("lcp_1","lcp 1", "NY", "US", "New York", "5th avn", "112345", "functional", "ranger_agent 1.9", "kilo", "design_type_1", "location_type_1", "domain_2", "vlcp_1", "clli_1", "lcp_1 in NY"),
("lcp_2","lcp 2", "", "IL", "Tel Aviv", "Bazel 4", "212345", "functional", "ranger_agent 1.0", "kilo", "design_type_2", "location_type_2", "domain_3", "vlcp_2", "clli_2", "lcp_2 in Tel Aviv");
insert into rms_groups (group_id,
name,

View File

@ -561,6 +561,8 @@ definitions:
example: "medium"
location_type:
type: string
domain_name:
type: string
vlcp_name:
type: string
@ -710,4 +712,3 @@ parameters:
description: Client name
required: false
type: string

View File

@ -37,6 +37,7 @@ class RmsTests(TestCase):
args.regionname = '6'
args.osversion = '7'
args.location_type = '8'
args.domain_name = 'default'
args.state = '9'
args.country = '10'
args.city = '11'
@ -46,7 +47,8 @@ class RmsTests(TestCase):
list_region_url = '/?type=%s&status=%s&metadata=%s'\
'&ranger_agent_version=%s&clli=%s&regionname=%s'\
'&osversion=%s&location_type=%s&state=%s'\
'&osversion=%s&location_type=%s&domain_name=%s'\
'&state=%s'\
'&country=%s&city=%s&street=%s&zip=%s&vlcp_name=%s'
subcmd_to_result = {
@ -59,8 +61,8 @@ class RmsTests(TestCase):
list_region_url
% (args.type, args.status, args.metadata,
args.ranger_agent_version, args.clli,
args.regionname,
args.osversion, args.location_type,
args.regionname, args.osversion,
args.location_type, args.domain_name,
args.state, args.country, args.city,
args.street, args.zip, args.clcp_name))
}

View File

@ -1,4 +1,9 @@
# Server Specific Configurations
rds = {
'customer_domain': 'default'
}
server = {
'port': '8080',
'host': '0.0.0.0'

View File

@ -8,13 +8,13 @@ from orm.tests.unit.rms import FunctionalTest
from wsme.exc import ClientSideError
result_inst = PyModels.Regions([PyModels.RegionData("2", "3", "4", "5", "6", "7",
result_inst = PyModels.Regions([PyModels.RegionData("2", "3", "4", "5", "6", "7", domain_name="default",
address=PyModels.Address("US", "NY", "HANEGEV", "AIRPORT_CITY", "5"),
endpoints=[
PyModels.EndPoint("http://www.example.co.il", "url")
],
metadata={"key1": ["value1"], "key2": ["value2"]}),
PyModels.RegionData("2", "3", "4", "5", "6", "7", endpoints=[
PyModels.RegionData("2", "3", "4", "5", "6", "7", domain_name="default", endpoints=[
PyModels.EndPoint("http://www.example.co.il", "url")],
address=PyModels.Address("US", "NY", "HANEGEV", "AIRPORT_CITY", "5"),
metadata={"key3": ["value3"], "key4": ["value4"]})])
@ -37,6 +37,7 @@ result_dict = {'regions': [{
'endpoints': [{'type': 'url',
'publicURL': 'http://www.example.co.il'}],
'locationType': None,
'domainName': 'default',
'created': None,
'modified': None,
'metadata': {'key1': ['value1'], 'key2': ['value2']}, }, {
@ -57,6 +58,7 @@ result_dict = {'regions': [{
'endpoints': [{'type': 'url',
'publicURL': 'http://www.example.co.il'}],
'locationType': None,
'domainName': 'default',
'created': None,
'modified': None,
'metadata': {'key3': ['value3'], 'key4': ['value4']}, }]}
@ -91,6 +93,7 @@ db_full_region = {
'address_zip': '1111',
'address_street': 'n/a',
'location_type': 'n/a',
'domain_name': 'default',
'name': 'SNA 18',
'description': 'SNA 18'
}
@ -122,6 +125,7 @@ full_region = {
"description": "SNA20",
"designType": "n/a",
"locationType": "n/a",
"domainName": "default",
"vlcpName": "n/a",
"created": None,
"modified": None,
@ -159,6 +163,7 @@ class TestAddRegion(FunctionalTest):
obj.description = full_region["description"]
obj.design_type = full_region["designType"]
obj.location_type = full_region["locationType"]
obj.domain_name = full_region["domainName"]
obj.vlcp_name = full_region["vlcpName"]
obj.id = full_region["id"]
obj.address.country = full_region["address"]["country"]
@ -314,6 +319,7 @@ class TestWsmeModelFunctions(TestAddRegion):
obj.description = full_region["description"]
obj.design_type = full_region["designType"]
obj.location_type = full_region["locationType"]
obj.domain_name = full_region["domainName"]
obj.vlcp_name = full_region["vlcpName"]
obj.id = full_region["id"]
obj.address.country = full_region["address"]["country"]

View File

@ -6,8 +6,8 @@ from orm.services.region_manager.rms.model import url_parm
parms = {'status': 'functional', 'city': 'Los Angeles', 'clli': 'clli_0',
'zip': '012345', 'country': 'US', 'metadata': ['key_1:value_1',
'key_2:value_2'],
'location_type': 'location_type_0', 'state': 'Cal',
'street': 'Blv st',
'location_type': 'location_type_0', 'domain_name': 'default',
'state': 'Cal', 'street': 'Blv st',
'ranger_agent_version': 'aic 3.0', 'osversion': 'kilo',
'type': 'design_type_0', 'regionname': 'lcp 0',
'vlcp_name': 'abcd-1234'}
@ -16,8 +16,8 @@ parms_meta_none = {'status': 'functional', 'city': 'Los Angeles',
'clli': 'clli_0',
'zip': '012345', 'country': 'US',
'metadata': None,
'location_type': 'location_type_0', 'state': 'Cal',
'street': 'Blv st',
'location_type': 'location_type_0', 'domain_name': 'default',
'state': 'Cal', 'street': 'Blv st',
'ranger_agent_version': 'aic 3.0', 'osversion': 'kilo',
'type': 'design_type_0', 'regionname': 'lcp 0',
'vlcp_name': 'abcd-1234'}
@ -26,7 +26,7 @@ output_parms = {'address_city': 'Los Angeles', 'clli': 'clli_0',
'name': 'lcp 0', 'open_stack_version': 'kilo',
'address_street': 'Blv st', 'address_state': 'Cal',
'region_status': 'functional',
'location_type': 'location_type_0',
'location_type': 'location_type_0', 'domain_name': 'default',
'ranger_agent_version': 'aic 3.0', 'address_zip': '012345',
'vlcp_name': 'abcd-1234',
'address_country': 'US', 'design_type': 'design_type_0',
@ -34,6 +34,7 @@ output_parms = {'address_city': 'Los Angeles', 'clli': 'clli_0',
regiondict_output = {'address_city': 'Los Angeles', 'clli': 'clli_0',
'name': 'lcp 0', 'location_type': 'location_type_0',
'domain_name': 'default',
'open_stack_version': 'kilo', 'address_country': 'US',
'ranger_agent_version': 'aic 3.0',
'region_status': 'functional',

View File

@ -91,6 +91,7 @@ class TestServices(FunctionalTest):
obj.name = full_region["name"]
obj.design_type = full_region["designType"]
obj.location_type = full_region["locationType"]
obj.domain_name = full_region["domainName"]
obj.vlcp_name = full_region["vlcpName"]
obj.id = full_region["id"]
obj.address.country = full_region["address"]["country"]

View File

@ -75,7 +75,7 @@ class TestDataManager(unittest.TestCase):
my_data_manager = data_manager.DataManager("url", "", "")
my_data_manager.add_region("reg1", "region1", "a_state", "a_country",
"a_city", "a_street", "a_zip", "a_status", "aic_ver",
"os_ver", "design_type", "loc_type", "vlcp", "clli",
"os_ver", "design_type", "loc_type", "default", "vlcp", "clli",
end_point_list, meta_data_dict, "a_desc")
@mock.patch.object(data_manager, 'LegacyEngineFacade', return_value=MyFacade())
@ -85,8 +85,8 @@ class TestDataManager(unittest.TestCase):
with self.assertRaises(DuplicateEntryError):
my_data_manager.add_region("reg1", "region1", "a_state", "a_country",
"a_city", "a_street", "a_zip", "a_status", "aic_ver",
"os_ver", "design_type", "loc_type", "vlcp", "clli",
[], {}, "a_desc")
"os_ver", "design_type", "loc_type", "default", "vlcp",
"clli", [], {}, "a_desc")
@mock.patch.object(data_manager, 'LegacyEngineFacade')
def test_add_group_sanity(self, mock_engine):
@ -170,7 +170,7 @@ class TestDataManager(unittest.TestCase):
"a_city", "a_street", "a_zip", "a_status",
"aic_ver",
"os_ver", "design_type", "loc_type",
"vlcp", "clli",
"default", "vlcp", "clli",
end_point_list, meta_data_dict, "a_desc")
@mock.patch.object(data_manager, 'LegacyEngineFacade',
@ -186,7 +186,7 @@ class TestDataManager(unittest.TestCase):
"a_city", "a_street", "a_zip", "a_status",
"aic_ver",
"os_ver", "design_type", "loc_type",
"vlcp", "clli",
"default", "vlcp", "clli",
end_point_list, meta_data_dict, "a_desc")
@mock.patch.object(data_manager, 'LegacyEngineFacade')
@ -203,7 +203,7 @@ class TestDataManager(unittest.TestCase):
"a_city", "a_street", "a_zip", "a_status",
"aic_ver",
"os_ver", "design_type", "loc_type",
"vlcp", "clli",
"default", "vlcp", "clli",
end_point_list, meta_data_dict, "a_desc")
@mock.patch.object(data_manager, 'LegacyEngineFacade')

View File

@ -12,7 +12,7 @@ class BaseDataManagerTests(unittest.TestCase):
with self.assertRaises(NotImplementedError):
BaseDataManager("", "", "").add_region('1', '2', '3', '4', '5', '6', '7',
'8', '9', '10', '11', '12', '13',
'14', '15', '16', '17')
'14', '15', '16', '17', '18')
def test_base_data_manager_get_regions_not_implemented(self):
""" Check if creating an instance and calling get_regions

View File

@ -24,7 +24,8 @@ TEST_REGIONS_DATA = [
"OS_version": "kilo",
"keystone_EP": "http://identity1.com",
"zone_name": "SNA1",
"location_type": "n/a"
"location_type": "n/a",
"domain_name": "default"
},
{
"status": "0",
@ -37,7 +38,8 @@ TEST_REGIONS_DATA = [
"OS_version": "kilo",
"keystone_EP": "http://identity2.com",
"zone_name": "SNA2",
"location_type": "n/a"
"location_type": "n/a",
"domain_name": "default"
},
]
@ -59,15 +61,16 @@ end_points_2 = [end_point_ord_2, end_point_identity_2, end_point_horizon_2]
region_data_sna1 = RegionData(status="functional", id="SNA1", name="SNA 1",
clli="n/a", ranger_agent_version="aic3.0", design_type="n/a",
location_type="n/a", vlcp_name="n/a", open_stack_version="kilo",
endpoints=end_points_1)
location_type="n/a", domain_name="default", vlcp_name="n/a",
open_stack_version="kilo", endpoints=end_points_1)
region_data_sna2 = RegionData(status="down", id="SNA2", name="SNA 2",
clli="n/a", ranger_agent_version="aic3.5", design_type="n/a",
location_type="n/a", vlcp_name="n/a", open_stack_version="kilo",
endpoints=end_points_2)
location_type="n/a", domain_name="default", vlcp_name="n/a",
open_stack_version="kilo", endpoints=end_points_2)
region_data_no_endpoints = RegionData(status="functional", id="SNA2", name="SNA 2",
clli="n/a", ranger_agent_version="aic3.5", design_type="n/a",
location_type="n/a", vlcp_name="n/a", open_stack_version="kilo")
location_type="n/a", domain_name="default", vlcp_name="n/a",
open_stack_version="kilo")
regions_mock = Regions([region_data_sna1, region_data_sna2])