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 <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: 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])