From 5eb91bd5d5b5dc78d817356520668cae506740d6 Mon Sep 17 00:00:00 2001 From: jh629g Date: Mon, 10 Feb 2020 12:07:52 -0600 Subject: [PATCH] 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 --- etc/ranger/ranger.conf | 1 + orm/base_config.py | 2 +- orm/orm_client/ormcli/rmscli.py | 6 ++- orm/services/db_setup.py | 3 ++ orm/services/region_manager/config.py | 5 +++ orm/services/region_manager/csv2db.py | 1 + .../rms/controllers/lcp_controller.py | 1 + .../controllers/v2/orm/resources/regions.py | 38 +++++++++++-------- .../region_manager/rms/model/model.py | 7 +++- .../region_manager/rms/model/url_parm.py | 7 +++- .../region_manager/rms/resources/regions.csv | 2 +- .../rms/storage/base_data_manager.py | 1 + .../rms/storage/my_sql/data_manager.py | 4 ++ .../rms/storage/my_sql/data_models.py | 5 ++- .../scripts/db_scripts/create_db.sql | 16 +++++++- .../scripts/db_scripts/insert_test_values.sql | 9 +++-- .../region_manager/swagger/swagger.yaml | 3 +- orm/tests/unit/ormcli/test_rmscli.py | 8 ++-- orm/tests/unit/rms/config.py | 5 +++ .../v1/orm/resources/test_region.py | 10 ++++- orm/tests/unit/rms/model/test_url_parms.py | 11 +++--- orm/tests/unit/rms/services/test_services.py | 1 + .../rms/storage/my_sql/test_data_manager.py | 12 +++--- .../rms/storage/test_base_data_manager.py | 2 +- orm/tests/unit/rms/tests_lcp_controller.py | 17 +++++---- 25 files changed, 123 insertions(+), 54 deletions(-) diff --git a/etc/ranger/ranger.conf b/etc/ranger/ranger.conf index 4c66760b..3e5c17c3 100644 --- a/etc/ranger/ranger.conf +++ b/etc/ranger/ranger.conf @@ -66,6 +66,7 @@ log = 'rms.log' [rds] port = 8777 log = 'rdstest.log' +customer_domain = 'default' [cli] base_region = 'RegionOne' diff --git a/orm/base_config.py b/orm/base_config.py index 718e1ad8..11474ffa 100644 --- a/orm/base_config.py +++ b/orm/base_config.py @@ -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', diff --git a/orm/orm_client/ormcli/rmscli.py b/orm/orm_client/ormcli/rmscli.py index ba6abb8b..1e9fcedb 100644 --- a/orm/orm_client/ormcli/rmscli.py +++ b/orm/orm_client/ormcli/rmscli.py @@ -135,7 +135,7 @@ def add_to_parser(service_sub): [--metadata ] [--ranger_agent_version ]\ [--clli ]\ [--regionname ] [--osversion ]\ -[--location_type ]\ +[--location_type ] [--domain_name ]\ [--state ] [--country ] [--city ] [--street ]\ [--zip ] [--clcp_name ]') parser_list_region.add_argument('client', **cli_common.ORM_CLIENT_KWARGS) @@ -154,6 +154,8 @@ def add_to_parser(service_sub): help='') parser_list_region.add_argument('--location_type', type=str, help='') + parser_list_region.add_argument('--domain_name', type=str, + help='') parser_list_region.add_argument('--state', type=str, help='') parser_list_region.add_argument('--country', type=str, help='') parser_list_region.add_argument('--city', type=str, help='') @@ -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: diff --git a/orm/services/db_setup.py b/orm/services/db_setup.py index 4c3c6224..973d0822 100644 --- a/orm/services/db_setup.py +++ b/orm/services/db_setup.py @@ -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): diff --git a/orm/services/region_manager/config.py b/orm/services/region_manager/config.py index b2be35d9..5e46144d 100755 --- a/orm/services/region_manager/config.py +++ b/orm/services/region_manager/config.py @@ -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', diff --git a/orm/services/region_manager/csv2db.py b/orm/services/region_manager/csv2db.py index d1ebb70a..89b95372 100755 --- a/orm/services/region_manager/csv2db.py +++ b/orm/services/region_manager/csv2db.py @@ -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"], diff --git a/orm/services/region_manager/rms/controllers/lcp_controller.py b/orm/services/region_manager/rms/controllers/lcp_controller.py index 08c207bd..9e82be2f 100755 --- a/orm/services/region_manager/rms/controllers/lcp_controller.py +++ b/orm/services/region_manager/rms/controllers/lcp_controller.py @@ -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, diff --git a/orm/services/region_manager/rms/controllers/v2/orm/resources/regions.py b/orm/services/region_manager/rms/controllers/v2/orm/resources/regions.py index cc2fba2d..2ae9082e 100755 --- a/orm/services/region_manager/rms/controllers/v2/orm/resources/regions.py +++ b/orm/services/region_manager/rms/controllers/v2/orm/resources/regions.py @@ -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: diff --git a/orm/services/region_manager/rms/model/model.py b/orm/services/region_manager/rms/model/model.py index b6d1d85f..8d25e6a2 100755 --- a/orm/services/region_manager/rms/model/model.py +++ b/orm/services/region_manager/rms/model/model.py @@ -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 diff --git a/orm/services/region_manager/rms/model/url_parm.py b/orm/services/region_manager/rms/model/url_parm.py index edece8bd..acf26552 100755 --- a/orm/services/region_manager/rms/model/url_parm.py +++ b/orm/services/region_manager/rms/model/url_parm.py @@ -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: diff --git a/orm/services/region_manager/rms/resources/regions.csv b/orm/services/region_manager/rms/resources/regions.csv index b180778f..726430c3 100644 --- a/orm/services/region_manager/rms/resources/regions.csv +++ b/orm/services/region_manager/rms/resources/regions.csv @@ -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 diff --git a/orm/services/region_manager/rms/storage/base_data_manager.py b/orm/services/region_manager/rms/storage/base_data_manager.py index 3f388c02..3b2cfd07 100755 --- a/orm/services/region_manager/rms/storage/base_data_manager.py +++ b/orm/services/region_manager/rms/storage/base_data_manager.py @@ -20,6 +20,7 @@ class BaseDataManager(object): open_stack_version, design_type, location_type, + domain_name, vlcp_name, clli, description, diff --git a/orm/services/region_manager/rms/storage/my_sql/data_manager.py b/orm/services/region_manager/rms/storage/my_sql/data_manager.py index 2a0dd441..8778d855 100755 --- a/orm/services/region_manager/rms/storage/my_sql/data_manager.py +++ b/orm/services/region_manager/rms/storage/my_sql/data_manager.py @@ -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 diff --git a/orm/services/region_manager/rms/storage/my_sql/data_models.py b/orm/services/region_manager/rms/storage/my_sql/data_models.py index 7645395f..df518661 100755 --- a/orm/services/region_manager/rms/storage/my_sql/data_models.py +++ b/orm/services/region_manager/rms/storage/my_sql/data_models.py @@ -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, diff --git a/orm/services/region_manager/scripts/db_scripts/create_db.sql b/orm/services/region_manager/scripts/db_scripts/create_db.sql index 59cba4ad..0c05f61f 100644 --- a/orm/services/region_manager/scripts/db_scripts/create_db.sql +++ b/orm/services/region_manager/scripts/db_scripts/create_db.sql @@ -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(); diff --git a/orm/services/region_manager/scripts/db_scripts/insert_test_values.sql b/orm/services/region_manager/scripts/db_scripts/insert_test_values.sql index 825915bf..d1386b3a 100644 --- a/orm/services/region_manager/scripts/db_scripts/insert_test_values.sql +++ b/orm/services/region_manager/scripts/db_scripts/insert_test_values.sql @@ -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, diff --git a/orm/services/region_manager/swagger/swagger.yaml b/orm/services/region_manager/swagger/swagger.yaml index 3f45e0b6..f79e75f9 100644 --- a/orm/services/region_manager/swagger/swagger.yaml +++ b/orm/services/region_manager/swagger/swagger.yaml @@ -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 - diff --git a/orm/tests/unit/ormcli/test_rmscli.py b/orm/tests/unit/ormcli/test_rmscli.py index 5f3b309d..48cc0121 100755 --- a/orm/tests/unit/ormcli/test_rmscli.py +++ b/orm/tests/unit/ormcli/test_rmscli.py @@ -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®ionname=%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)) } diff --git a/orm/tests/unit/rms/config.py b/orm/tests/unit/rms/config.py index c011a655..13ccdbf4 100755 --- a/orm/tests/unit/rms/config.py +++ b/orm/tests/unit/rms/config.py @@ -1,4 +1,9 @@ # Server Specific Configurations + +rds = { + 'customer_domain': 'default' +} + server = { 'port': '8080', 'host': '0.0.0.0' diff --git a/orm/tests/unit/rms/controllers/v1/orm/resources/test_region.py b/orm/tests/unit/rms/controllers/v1/orm/resources/test_region.py index e2ceb770..ee9c1ac9 100755 --- a/orm/tests/unit/rms/controllers/v1/orm/resources/test_region.py +++ b/orm/tests/unit/rms/controllers/v1/orm/resources/test_region.py @@ -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"] diff --git a/orm/tests/unit/rms/model/test_url_parms.py b/orm/tests/unit/rms/model/test_url_parms.py index b6abf8d3..b6bbee36 100755 --- a/orm/tests/unit/rms/model/test_url_parms.py +++ b/orm/tests/unit/rms/model/test_url_parms.py @@ -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', diff --git a/orm/tests/unit/rms/services/test_services.py b/orm/tests/unit/rms/services/test_services.py index 0f8fc185..4200cd0f 100755 --- a/orm/tests/unit/rms/services/test_services.py +++ b/orm/tests/unit/rms/services/test_services.py @@ -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"] diff --git a/orm/tests/unit/rms/storage/my_sql/test_data_manager.py b/orm/tests/unit/rms/storage/my_sql/test_data_manager.py index 4a8b96d2..99480855 100755 --- a/orm/tests/unit/rms/storage/my_sql/test_data_manager.py +++ b/orm/tests/unit/rms/storage/my_sql/test_data_manager.py @@ -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') diff --git a/orm/tests/unit/rms/storage/test_base_data_manager.py b/orm/tests/unit/rms/storage/test_base_data_manager.py index d811afa5..895a5a83 100644 --- a/orm/tests/unit/rms/storage/test_base_data_manager.py +++ b/orm/tests/unit/rms/storage/test_base_data_manager.py @@ -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 diff --git a/orm/tests/unit/rms/tests_lcp_controller.py b/orm/tests/unit/rms/tests_lcp_controller.py index c3bbb9e4..6c939355 100755 --- a/orm/tests/unit/rms/tests_lcp_controller.py +++ b/orm/tests/unit/rms/tests_lcp_controller.py @@ -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])