summaryrefslogtreecommitdiffstats
path: root/resource-assignment/provider/src/test/resources
diff options
context:
space:
mode:
Diffstat (limited to 'resource-assignment/provider/src/test/resources')
-rw-r--r--resource-assignment/provider/src/test/resources/homing-req.json46
-rw-r--r--resource-assignment/provider/src/test/resources/log4j.properties26
-rwxr-xr-xresource-assignment/provider/src/test/resources/param.txt44
-rw-r--r--resource-assignment/provider/src/test/resources/sql/data.sql120
-rw-r--r--resource-assignment/provider/src/test/resources/sql/schema.sql201
-rw-r--r--resource-assignment/provider/src/test/resources/svc-topology-req.json195
-rw-r--r--resource-assignment/provider/src/test/resources/test-context.xml297
7 files changed, 929 insertions, 0 deletions
diff --git a/resource-assignment/provider/src/test/resources/homing-req.json b/resource-assignment/provider/src/test/resources/homing-req.json
new file mode 100644
index 000000000..48ec701a7
--- /dev/null
+++ b/resource-assignment/provider/src/test/resources/homing-req.json
@@ -0,0 +1,46 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+{
+ "input":{
+ "sdnc-homing-header":{
+ "svc-request-id":"omx-123",
+ "svc-action":"homing"
+ },
+ "request-information":{
+ "request-id":"mso-1234",
+ "request-action":"GetAicNodesRequest",
+ "source":"OMX",
+ "list-length":1
+ },
+ "homing-request-information":{
+ "service-type":"SDN-ETHERNET-INTERNET",
+ "global-customer-id":"custid-123",
+ "customer-location":{
+ "lata":332
+ }
+ },
+ "homing-other-information":{
+ "bandwidth-value":150,
+ "bandwidth-units":"Mbps"
+ }
+ }
+}
diff --git a/resource-assignment/provider/src/test/resources/log4j.properties b/resource-assignment/provider/src/test/resources/log4j.properties
new file mode 100644
index 000000000..6d6e30ff2
--- /dev/null
+++ b/resource-assignment/provider/src/test/resources/log4j.properties
@@ -0,0 +1,26 @@
+###
+# ============LICENSE_START=======================================================
+# openECOMP : SDN-C
+# ================================================================================
+# Copyright (C) 2017 ONAP Intellectual Property. All rights
+# reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+###
+
+log4j.rootLogger=INFO, A1
+log4j.appender.A1=org.apache.log4j.ConsoleAppender
+log4j.appender.A1.layout=org.apache.log4j.PatternLayout
+log4j.appender.A1.layout.ConversionPattern=%d{ISO8601} %5p %t %X{UUID} %c{3}:%L - %m%n
+log4j.logger.org.hibernate=INFO
diff --git a/resource-assignment/provider/src/test/resources/param.txt b/resource-assignment/provider/src/test/resources/param.txt
new file mode 100755
index 000000000..d1aac4777
--- /dev/null
+++ b/resource-assignment/provider/src/test/resources/param.txt
@@ -0,0 +1,44 @@
+isAvailable:
+ Input in ctx:
+ tmp.resource-allocator.aic-site-id
+ tmp.resource-allocator.speed
+ tmp.resource-allocator.speed-unit
+ Output in ctx:
+ tmp.resource-allocator.max-available-speed
+ tmp.resource-allocator.speed-unit
+ Return:
+ SUCCESS – capacity available
+ NOT_FOUND – capacity not available
+ Error message in: error-message, error-code
+ FAILURE – the check has failed (data error, code defect, etc)
+ Error message in: error-message, error-code
+
+Reserve:
+ Input in ctx:
+ tmp.resource-allocator.aic-site-id
+ tmp.resource-allocator.speed
+ tmp.resource-allocator.speed-unit
+ tmp.resource-allocator.service-instance-id
+ tmp.resource-allocator.request-type { New, Change }
+ Output in ctx:
+ tmp.resource-allocator-output.max-available-speed
+ tmp.resource-allocator-output.speed-unit
+ Return:
+ SUCCESS – capacity available
+ NOT_FOUND – capacity not available
+ Error message in: error-message, error-code
+ FAILURE – the check has failed (data error, code defect, etc)
+ Error message in: error-message, error-code
+
+Release:
+ Input in ctx:
+ tmp.resource-allocator.service-instance-id
+ tmp.resource-allocator.request-type { Activate, Cancel, Disconnect }
+ Return:
+ SUCCESS – capacity available
+ FAILURE – the check has failed (data error, code defect, etc)
+ Error message in: error-message, error-code
+
+
+Plugin name: org.openecomp.sdnc.ra.ResourceAllocator
+Resource: NetworkCapacity
diff --git a/resource-assignment/provider/src/test/resources/sql/data.sql b/resource-assignment/provider/src/test/resources/sql/data.sql
new file mode 100644
index 000000000..2214bce79
--- /dev/null
+++ b/resource-assignment/provider/src/test/resources/sql/data.sql
@@ -0,0 +1,120 @@
+---
+-- ============LICENSE_START=======================================================
+-- openECOMP : SDN-C
+-- ================================================================================
+-- Copyright (C) 2017 ONAP Intellectual Property. All rights
+-- reserved.
+-- ================================================================================
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+-- ============LICENSE_END=========================================================
+---
+
+INSERT INTO RESOURCE_RULE (
+ resource_name, service_model, end_point_position, service_expression, equipment_level, equipment_expression,
+ allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+ 'Bandwidth', 'L3SDN', 'IPAG-TOA', 'true', 'Port', 'true',
+ 'service-speed-kbps', '0.5 * max-port-speed', '0.9 * max-port-speed');
+
+INSERT INTO RESOURCE_RULE (
+ resource_name, service_model, end_point_position, service_expression, equipment_level, equipment_expression,
+ allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+ 'Bandwidth', 'L3SDN', 'VCE-Cust', 'true', 'Server', 'true',
+ 'service-speed-kbps', '0.6 * max-server-speed * number-primary-servers', 'max-server-speed * number-primary-servers');
+
+INSERT INTO RESOURCE_RULE (
+ resource_name, service_model, end_point_position, service_expression, equipment_level,
+ equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+ 'Connection', 'L3SDN', 'VCE-Cust', 'true', 'Server',
+ 'true', '1', '40', '40');
+
+INSERT INTO RESOURCE_RULE (
+ resource_name, service_model, end_point_position, service_expression, equipment_level, equipment_expression,
+ allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+ 'Bandwidth', 'L3SDN', 'VPE-Cust', 'true', 'Port', 'true',
+ 'service-speed-kbps', '0.5 * max-port-speed', '0.9 * max-port-speed');
+
+INSERT INTO RESOURCE_RULE (
+ resource_name, service_model, end_point_position, service_expression,
+ equipment_level, equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+ 'Bandwidth', 'L3AVPN-EVC', 'VPE-Cust', 'true', 'Port', 'true', 'service-speed-kbps', '8000000', '8000000');
+
+INSERT INTO RESOURCE_RULE (
+ resource_name, service_model, end_point_position, service_expression,
+ equipment_level, equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+ 'Connection', 'L3AVPN-EVC', 'VPE-Cust', 'true', 'Port', 'true', '1', '200', '200');
+
+INSERT INTO RESOURCE_RULE (
+ resource_name, service_model, end_point_position, service_expression,
+ equipment_level, equipment_expression, allocation_expression, soft_limit_expression, hard_limit_expression)
+VALUES (
+ 'Bandwidth', 'L3AVPN-PORT', 'VPE-Cust', 'true', 'Port', 'true', 'service-speed-kbps', '8000000', '8000000');
+
+insert into RESOURCE_THRESHOLD (
+ resource_rule_id, threshold_expression, threshold_message)
+values (
+ (select resource_rule_id from RESOURCE_RULE where resource_name = 'Bandwidth' and equipment_level = 'Server'),
+ '0.5 * max-server-speed * number-primary-servers',
+ 'The provisioned access bandwidth is at or exceeds 50% of the total server capacity.');
+
+insert into RESOURCE_THRESHOLD (
+ resource_rule_id, threshold_expression, threshold_message)
+values (
+ (select resource_rule_id from RESOURCE_RULE where resource_name = 'Bandwidth' and equipment_level = 'Server'),
+ '0.7 * max-server-speed * number-primary-servers',
+ 'The provisioned access bandwidth is at or exceeds 70% of the total server capacity.');
+
+INSERT INTO RANGE_RULE (
+ range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+VALUES (
+ 'subinterface-id', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 100, 3999);
+
+INSERT INTO RANGE_RULE (
+ range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+VALUES (
+ 'vlan-id-inner', 'L3AVPN-EVC', 'VPE-Cust', 'Port', 2, 4091);
+
+INSERT INTO RANGE_RULE (
+ range_name, service_model, end_point_position, equipment_level, min_value, max_value)
+VALUES (
+ 'bundle-id', 'L3AVPN-PORT', 'VPE-Cust', 'Port', 1, 99999);
+
+INSERT INTO MAX_PORT_SPEED (
+ image_file_name, end_point_position, interface_name, max_speed, unit)
+VALUES (
+ 'JUNIPER_VPE_IMAGE_FILENAME', 'VPE-Cust', 'ae0', 5000, 'Mpbs');
+
+INSERT INTO MAX_SERVER_SPEED (server_model, evc_count, max_speed, unit, description)
+VALUES ('ALL', 5, 1600, 'Mbps', 'Max speed, when there are <=5 EVC on server');
+
+INSERT INTO MAX_SERVER_SPEED (server_model, evc_count, max_speed, unit, description)
+VALUES ('ALL', 10, 1400, 'Mbps', 'Max speed, when there are 6 to 10 (including 10) EVC on server');
+
+INSERT INTO MAX_SERVER_SPEED (server_model, evc_count, max_speed, unit, description)
+VALUES ('ALL', 15, 1000, 'Mbps', 'Max speed, when there are 11 to 15 (including 15) EVC on server');
+
+INSERT INTO MAX_SERVER_SPEED (server_model, evc_count, max_speed, unit, description)
+VALUES ('ALL', 20, 700, 'Mbps', 'Max speed, when there are 16 to 20 (including 20) EVC on server');
+
+INSERT INTO MAX_SERVER_SPEED (server_model, evc_count, max_speed, unit, description)
+VALUES ('ALL', 10000, 500, 'Mbps', 'Max speed, when there are 21 or more EVC on server');
+
+INSERT INTO PARAMETERS (name, value, category, memo)
+VALUES ('homing.pserver.sparing.ratio', '1:1', 'homing',
+ 'Ratio of primary to backup servers within any of the AIC sites. Used in RA to calculate the max allowed bw in an AIC site.');
+
diff --git a/resource-assignment/provider/src/test/resources/sql/schema.sql b/resource-assignment/provider/src/test/resources/sql/schema.sql
new file mode 100644
index 000000000..e650337e0
--- /dev/null
+++ b/resource-assignment/provider/src/test/resources/sql/schema.sql
@@ -0,0 +1,201 @@
+---
+-- ============LICENSE_START=======================================================
+-- openECOMP : SDN-C
+-- ================================================================================
+-- Copyright (C) 2017 ONAP Intellectual Property. All rights
+-- reserved.
+-- ================================================================================
+-- Licensed under the Apache License, Version 2.0 (the "License");
+-- you may not use this file except in compliance with the License.
+-- You may obtain a copy of the License at
+--
+-- http://www.apache.org/licenses/LICENSE-2.0
+--
+-- Unless required by applicable law or agreed to in writing, software
+-- distributed under the License is distributed on an "AS IS" BASIS,
+-- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+-- See the License for the specific language governing permissions and
+-- limitations under the License.
+-- ============LICENSE_END=========================================================
+---
+
+CREATE TABLE RESOURCE_LOCK (
+ resource_lock_id SERIAL PRIMARY KEY,
+ resource_name VARCHAR(50) NOT NULL UNIQUE,
+ lock_holder VARCHAR(100) NOT NULL,
+ lock_count SMALLINT NOT NULL,
+ lock_time DATETIME NOT NULL,
+ expiration_time DATETIME NOT NULL
+);
+
+CREATE TABLE RESOURCE (
+ resource_id SERIAL PRIMARY KEY,
+ asset_id VARCHAR(50) NOT NULL,
+ resource_name VARCHAR(50) NOT NULL,
+ resource_type VARCHAR(10) NOT NULL,
+ lt_used BIGINT,
+ ll_label VARCHAR(50),
+ ll_reference_count SMALLINT,
+ rr_used VARCHAR(4000)
+);
+
+ALTER TABLE RESOURCE ADD CONSTRAINT c1_resource CHECK (resource_type IN ('Limit', 'Label', 'Range'));
+CREATE UNIQUE INDEX ak1_resource ON RESOURCE (asset_id, resource_name);
+
+CREATE TABLE RESOURCE_LOAD (
+ resource_load_id SERIAL PRIMARY KEY,
+ resource_id BIGINT NOT NULL REFERENCES resource (resource_id),
+ application_id VARCHAR(20) NOT NULL,
+ resource_load_time DATETIME NOT NULL,
+ resource_expiration_time DATETIME
+);
+
+CREATE INDEX i1_resource_load ON RESOURCE_LOAD (resource_id);
+CREATE UNIQUE INDEX ak1_resource_load ON RESOURCE_LOAD (resource_id, application_id);
+
+CREATE TABLE ALLOCATION_ITEM (
+ allocation_item_id SERIAL PRIMARY KEY,
+ resource_id BIGINT NOT NULL REFERENCES resource (resource_id),
+ application_id VARCHAR(50) NOT NULL,
+ resource_set_id VARCHAR(50) NOT NULL,
+ resource_union_id VARCHAR(50) NOT NULL,
+ resource_share_group_list VARCHAR(200),
+ lt_used BIGINT,
+ ll_label VARCHAR(50),
+ rr_used VARCHAR(200),
+ allocation_time DATETIME NOT NULL
+);
+
+CREATE INDEX i1_allocation_item ON allocation_item (resource_id);
+CREATE UNIQUE INDEX ak1_allocation_item ON allocation_item (resource_id, resource_set_id);
+
+CREATE TABLE RESOURCE_RULE (
+ resource_rule_id SERIAL PRIMARY KEY,
+ resource_name VARCHAR(50) NOT NULL,
+ service_model VARCHAR(50) NOT NULL,
+ end_point_position VARCHAR(50) NOT NULL,
+ service_expression VARCHAR(2000) NOT NULL,
+ equipment_level VARCHAR(50) NOT NULL,
+ equipment_expression VARCHAR(2000) NOT NULL,
+ allocation_expression VARCHAR(2000) NOT NULL,
+ soft_limit_expression VARCHAR(2000) NOT NULL,
+ hard_limit_expression VARCHAR(2000) NOT NULL
+);
+
+CREATE TABLE RESOURCE_THRESHOLD (
+ resource_threshold_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
+ resource_rule_id bigint(20) NOT NULL,
+ threshold_expression varchar(2000) NOT NULL,
+ threshold_message varchar(2000) NOT NULL,
+ PRIMARY KEY (resource_threshold_id)
+);
+
+CREATE TABLE RANGE_RULE (
+ range_rule_id SERIAL PRIMARY KEY,
+ range_name VARCHAR(50) NOT NULL,
+ service_model VARCHAR(50) NOT NULL,
+ end_point_position VARCHAR(50) NOT NULL,
+ equipment_level VARCHAR(50) NOT NULL,
+ min_value INT NOT NULL,
+ max_value INT NOT NULL
+);
+
+CREATE TABLE MAX_PORT_SPEED (
+ max_port_speed_id SERIAL PRIMARY KEY,
+ image_file_name VARCHAR(50) NOT NULL,
+ end_point_position VARCHAR(50) NOT NULL,
+ interface_name VARCHAR(100) NOT NULL,
+ max_speed BIGINT NOT NULL,
+ unit VARCHAR(10) NOT NULL
+);
+
+CREATE TABLE MAX_SERVER_SPEED (
+ max_server_speed_id SERIAL PRIMARY KEY,
+ server_model VARCHAR(50) NOT NULL,
+ evc_count SMALLINT NOT NULL,
+ max_speed BIGINT NOT NULL,
+ unit VARCHAR(10) NOT NULL,
+ description VARCHAR(500)
+);
+
+CREATE TABLE SERVICE_RESOURCE (
+ service_resource_id SERIAL PRIMARY KEY,
+ service_instance_id VARCHAR(80) NOT NULL,
+ service_status VARCHAR(10) NOT NULL,
+ service_change_number SMALLINT NOT NULL,
+ resource_set_id VARCHAR(100) NOT NULL,
+ resource_union_id VARCHAR(100) NOT NULL,
+);
+
+ALTER TABLE SERVICE_RESOURCE ADD CONSTRAINT C1_SERVICE_RESOURCE CHECK (service_status IN ('Active', 'Pending'));
+CREATE INDEX i1_service_resource ON SERVICE_RESOURCE (service_instance_id);
+CREATE UNIQUE INDEX ak1_service_resource ON SERVICE_RESOURCE (service_instance_id, service_change_number);
+
+CREATE TABLE VPE_POOL (
+ vpe_name VARCHAR(20) NOT NULL,
+ ipv4_oam_address VARCHAR(20) NOT NULL,
+ loopback0_ipv4_address VARCHAR(20) NOT NULL,
+ provisioning_status VARCHAR(10) NOT NULL,
+ aic_site_id VARCHAR(100) NOT NULL,
+ availability_zone VARCHAR(100) NOT NULL,
+ vlan_id_outer VARCHAR(20) NOT NULL,
+ vendor VARCHAR(20) NOT NULL,
+ physical_intf_name VARCHAR(40) NOT NULL,
+ physical_intf_speed VARCHAR(20) NOT NULL,
+ physical_intf_units VARCHAR(20) NOT NULL,
+ vpe_uuid VARCHAR(80) DEFAULT NULL,
+ vpe_id VARCHAR(80) DEFAULT NULL,
+ image_filename VARCHAR(100) DEFAULT NULL,
+ PRIMARY KEY (aic_site_id, vpe_name, availability_zone)
+);
+
+CREATE TABLE VPLSPE_POOL (
+ vplspe_name varchar(20) NOT NULL,
+ aic_site_id varchar(100) NOT NULL,
+ availability_zone varchar(100) NOT NULL,
+ physical_intf_name varchar(40) NOT NULL,
+ physical_intf_speed varchar(20) NOT NULL,
+ physical_intf_units varchar(20) NOT NULL,
+ loopback0_ipv4_address varchar(20) NOT NULL,
+ vlan_id_outer varchar(20) NOT NULL,
+ vplspe_uuid varchar(80) DEFAULT NULL,
+ image_filename varchar(100) DEFAULT NULL,
+ provisioning_status varchar(10) DEFAULT NULL,
+ vendor varchar(20) DEFAULT NULL,
+ PRIMARY KEY (vplspe_name, aic_site_id, availability_zone, physical_intf_name)
+);
+
+CREATE TABLE VPE_LOCK (
+ vpe_name varchar(20) NOT NULL,
+ vpn_lock varchar(20) NOT NULL,
+ PRIMARY KEY (vpe_name)
+);
+
+CREATE TABLE PARAMETERS (
+ name varchar(100) PRIMARY KEY,
+ value varchar(24) NOT NULL,
+ category varchar(24) NOT NULL,
+ memo varchar(128)
+);
+
+CREATE TABLE PSERVER (
+ hostname varchar(255) NOT NULL,
+ ptnii_equip_name varchar(255),
+ number_of_cpus varchar(255),
+ disk_in_gigabytes varchar(255),
+ ram_in_megabytes varchar(255),
+ equip_type varchar(255),
+ equip_vendor varchar(255),
+ equip_model varchar(255),
+ fqdn varchar(255),
+ pserver_selflink varchar(255),
+ ipv4_oam_address varchar(15),
+ serial_number varchar(255),
+ pserver_id varchar(255),
+ internet_topology varchar(40),
+ aic_site_id varchar(100),
+ in_maint varchar(5),
+ pserver_name2 varchar(255),
+ purpose varchar(255),
+ PRIMARY KEY (hostname)
+);
diff --git a/resource-assignment/provider/src/test/resources/svc-topology-req.json b/resource-assignment/provider/src/test/resources/svc-topology-req.json
new file mode 100644
index 000000000..ab8afb66f
--- /dev/null
+++ b/resource-assignment/provider/src/test/resources/svc-topology-req.json
@@ -0,0 +1,195 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * openECOMP : SDN-C
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights
+ * reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+{
+ "input":{
+ "sdnc-request-header":{
+ "svc-request-id":"omx-123",
+ "svc-action":"assign"
+ },
+ "sdnc-topology-additional-data":{
+ "svc-vnf-type":"vce"
+ },
+ "request-information":{
+ "request-id":"mso-1234",
+ "request-action":"Layer3ServiceActivateRequest",
+ "source":"OMX"
+ },
+ "service-information":{
+ "service-type":"SDN-ETHERNET-INTERNET",
+ "service-instance-id":"service-instance-123",
+ "subscriber-name":"ssb-subscriber"
+ },
+ "l2-homing-information":{
+ "evc-name":"EVC-123",
+ "topology":"PointToPoint",
+ "preferred-aic-clli":"ATLNGATL001"
+ }
+ "internet-evc-access-information":{
+ "internet-evc-speed-value":"150",
+ "internet-evc-speed-units":"Mbps",
+ "ip-version":"v6"
+ }
+ "vr-lan":{
+ "routing-protocol":"none",
+ {
+ "v6-vr-lan-prefix":"string",
+ "v6-public-lan-prefixes":{
+ "t-provided-v6-lan-public-prefixes":[
+ {
+ "v6-lan-public-prefix-length":"integer",
+ "v6-lan-public-prefix":"string",
+ "request-index":"integer"
+ }
+ ]
+ },
+ "v6-vr-lan-prefix-length":"integer",
+ "v4-vr-lan-prefix-length":"integer",
+ "firewall-lite":{
+ "v6-firewall-packet-filters":[
+ {
+ "v6-firewall-prefix-length":"integer",
+ "udp-port-list":[
+ {
+ "port-number":"integer"
+ }
+ ],
+ "tcp-port-list":[
+ {
+ "port-number":"integer"
+ }
+ ],
+ "v6-firewall-prefix":"string"
+ }
+ ],
+ "v4-firewall-packet-filters":[
+ {
+ "v4-firewall-prefix-length":"integer",
+ "udp-port-list":[
+ {
+ "port-number":"integer"
+ }
+ ],
+ "tcp-port-list":[
+ {
+ "port-number":"integer"
+ }
+ ],
+ "v4-firewall-prefix":"string"
+ }
+ ]
+ },
+ "v6-vce-wan-address":"string",
+ "v4-public-lan-prefixes":{
+ "t-provided-v4-lan-public-prefixes":[
+ {
+ "v4-lan-public-prefix":"string",
+ "v4-lan-public-prefix-length":"integer",
+ "request-index":"integer"
+ }
+ ]
+ },
+ "pat":{
+ "v4-pat-default-pool-prefix-length":"integer",
+ "v4-pat-pools":[
+ {
+ "v4-pat-pool-next-hop-address":"string",
+ "v4-pat-pool-prefix-length":"integer",
+ "v4-pat-pool-prefix":"string"
+ }
+ ],
+ "v4-pat-default-pool-prefix":"string"
+ },
+ "v4-vce-loopback-address":"string",
+ "v4-vr-lan-prefix":"string",
+ "dhcp":{
+ "v4-dhcp-pools":[
+ {
+ "v4-dhcp-relay-next-hop-address":"string",
+ "excluded-v4-addresses":[
+ {
+ "excluded-v4-address":"string"
+ }
+ ],
+ "v4-dhcp-pool-prefix":"string",
+ "v4-dhcp-relay-gateway-address":"string",
+ "v4-dhcp-pool-prefix-length":"integer"
+ }
+ ],
+ "excluded-v4-dhcp-addresses-from-default-pool":[
+ {
+ "excluded-v4-address":"string"
+ }
+ ],
+ "v6-dhcp-pools":[
+ {
+ "v6-dhcp-relay-gateway-address":"string",
+ "excluded-v6-addresses":[
+ {
+ "excluded-v6-address":"string"
+ }
+ ],
+ "v6-dhcp-pool-prefix-length":"integer",
+ "v6-dhcp-relay-next-hop-address":"string",
+ "v6-dhcp-pool-prefix":"string"
+ }
+ ],
+ "v6-dhcp-default-pool-prefix":"string",
+ "v6-dhcp-default-pool-prefix-length":"integer",
+ "v4-dhcp-default-pool-prefix":"string",
+ "excluded-v6-dhcp-addresses-from-default-pool":[
+ {
+ "excluded-v6-address":"string"
+ }
+ ],
+ "v4-dhcp-default-pool-prefix-length":"integer"
+ },
+ "nat":{
+ "v4-nat-mapping-entries":[
+ {
+ "v4-nat-external":"string",
+ "v4-nat-next-hop-address":"string",
+ "v4-nat-internal":"string"
+ }
+ ]
+ },
+ "static-routes":{
+ "v6-static-routes":[
+ {
+ "v6-static-route-prefix-length":"integer",
+ "v6-next-hop-address":"string",
+ "v6-static-route-prefix":"string"
+ }
+ ],
+ "v4-static-routes":[
+ {
+ "v4-static-route-prefix-length":"integer",
+ "v4-static-route-prefix":"string",
+ "v4-next-hop-address":"string"
+ }
+ ]
+ }
+ }
+
+ }
+
+ }
+}
diff --git a/resource-assignment/provider/src/test/resources/test-context.xml b/resource-assignment/provider/src/test/resources/test-context.xml
new file mode 100644
index 000000000..89aea439e
--- /dev/null
+++ b/resource-assignment/provider/src/test/resources/test-context.xml
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ ============LICENSE_START=======================================================
+ openECOMP : SDN-C
+ ================================================================================
+ Copyright (C) 2017 ONAP Intellectual Property. All rights
+ reserved.
+ ================================================================================
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ ============LICENSE_END=========================================================
+ -->
+
+<beans xmlns="http://www.springframework.org/schema/beans"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:jdbc="http://www.springframework.org/schema/jdbc"
+ xmlns:context="http://www.springframework.org/schema/context"
+ xsi:schemaLocation="http://www.springframework.org/schema/beans
+ http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
+ http://www.springframework.org/schema/jdbc
+ http://www.springframework.org/schema/jdbc/spring-jdbc-3.1.xsd
+ http://www.springframework.org/schema/context
+ http://www.springframework.org/schema/context/spring-context-3.1.xsd
+ ">
+
+ <context:annotation-config />
+
+ <!-- JDBC setup -->
+
+ <bean id="test.dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" lazy-init="false">
+ <property name="driverClassName" value="org.h2.Driver" />
+ <property name="url" value="jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;MODE=MySQL" />
+ </bean>
+
+ <jdbc:initialize-database data-source="test.dataSource">
+ <jdbc:script location="sql/schema.sql" />
+ <jdbc:script location="sql/data.sql" />
+ </jdbc:initialize-database>
+
+ <bean id="rm.jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
+ <property name="dataSource" ref="test.dataSource" />
+ </bean>
+
+ <bean id="testDb" class="jtest.util.org.openecomp.sdnc.ra.TestDb">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <bean id="dataSetup" class="jtest.org.openecomp.sdnc.ra.DataSetup">
+ <property name="testDb" ref="testDb" />
+ </bean>
+
+ <!-- Utils Configuration -->
+
+ <bean id="speedUtil" class="org.openecomp.sdnc.util.speed.SpeedUtil">
+ <property name="unitFactor" value="1000" />
+ </bean>
+
+ <!-- Resource Lock Configuration -->
+
+ <bean id="resourceLockDao" class="org.openecomp.sdnc.lock.dao.ResourceLockDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ <property name="testing" value="true" />
+ </bean>
+
+ <bean id="lockHelper" class="org.openecomp.sdnc.lock.comp.LockHelperImpl">
+ <property name="resourceLockDao" ref="resourceLockDao" />
+ <property name="retryCount" value="10" />
+ <property name="lockWait" value="5" /> <!-- Seconds -->
+ </bean>
+
+ <!-- RM Configuration -->
+
+ <bean id="resourceJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceJdbcDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <bean id="allocationItemJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.AllocationItemJdbcDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <bean id="resourceLoadJdbcDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceLoadJdbcDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <bean id="resourceDao" class="org.openecomp.sdnc.rm.dao.jdbc.ResourceDaoImpl">
+ <property name="resourceJdbcDao" ref="resourceJdbcDao" />
+ <property name="allocationItemJdbcDao" ref="allocationItemJdbcDao" />
+ <property name="resourceLoadJdbcDao" ref="resourceLoadJdbcDao" />
+ </bean>
+
+ <bean id="resourceManager" class="org.openecomp.sdnc.rm.comp.ResourceManagerImpl">
+ <property name="lockHelper" ref="lockHelper" />
+ <property name="resourceDao" ref="resourceDao" />
+ <property name="applicationId" value="SDNC" />
+ <property name="lockTimeout" value="600" /> <!-- Seconds -->
+ </bean>
+
+ <!-- Equipment DAO Configuration -->
+
+ <bean id="serverDao" class="org.openecomp.sdnc.ra.equip.dao.ServerDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <bean id="vpePortDao" class="org.openecomp.sdnc.ra.equip.dao.VpePortDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <bean id="vplspePortDao" class="org.openecomp.sdnc.ra.equip.dao.VplspePortDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <!-- Rule DAO Configuration -->
+
+ <bean id="maxPortSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxPortSpeedDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ <property name="speedUtil" ref="speedUtil" />
+ </bean>
+
+ <bean id="maxServerSpeedDao" class="org.openecomp.sdnc.ra.rule.dao.MaxServerSpeedDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ <property name="speedUtil" ref="speedUtil" />
+ </bean>
+
+ <bean id="resourceRuleDao" class="org.openecomp.sdnc.ra.rule.dao.ResourceRuleDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <bean id="rangeRuleDao" class="org.openecomp.sdnc.ra.rule.dao.RangeRuleDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <bean id="vpeLockDao" class="org.openecomp.sdnc.ra.rule.dao.VpeLockDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <bean id="parameterDao" class="org.openecomp.sdnc.ra.rule.dao.ParameterDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <!-- Service DAO Configuration -->
+
+ <bean id="serviceResourceDao" class="org.openecomp.sdnc.ra.service.dao.ServiceResourceDaoImpl">
+ <property name="jdbcTemplate" ref="rm.jdbcTemplate" />
+ </bean>
+
+ <!-- ResourceAllocator Configuration -->
+
+ <bean id="allocationRequestBuilder" class="org.openecomp.sdnc.ra.rule.comp.AllocationRequestBuilderImpl">
+ <property name="resourceRuleDao" ref="resourceRuleDao" />
+ <property name="rangeRuleDao" ref="rangeRuleDao" />
+ </bean>
+
+ <bean id="resourceAllocator" class="org.openecomp.sdnc.ra.ResourceAllocator">
+ <property name="speedUtil" ref="speedUtil" />
+ <property name="parameterDao" ref="parameterDao" />
+ <property name="serverDao" ref="serverDao" />
+ <property name="vpePortDao" ref="vpePortDao" />
+ <property name="vplspePortDao" ref="vplspePortDao" />
+ <property name="maxPortSpeedDao" ref="maxPortSpeedDao" />
+ <property name="maxServerSpeedDao" ref="maxServerSpeedDao" />
+ <property name="serviceResourceDao" ref="serviceResourceDao" />
+ <property name="allocationRequestBuilder" ref="allocationRequestBuilder" />
+ <property name="resourceManager" ref="resourceManager" />
+ <property name="endPointAllocator" ref="endPointAllocator" />
+ </bean>
+
+ <!-- EndPointAllocator Configuration -->
+
+ <bean id="endPointAllocator" class="org.openecomp.sdnc.ra.comp.EndPointAllocatorImpl">
+ <property name="resourceManager" ref="resourceManager" />
+ <property name="endPointAllocationDefinitionMap">
+ <map>
+ <entry key="L3AVPN-PORT">
+ <list>
+ <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
+ <property name="serviceModel" value="L3AVPN-PORT" />
+ <property name="endPointPosition" value="VPE-Cust" />
+ <property name="equipmentReader" ref="vpePortReader" />
+ <property name="equipmentCheckList">
+ <list>
+ <ref bean="provStatusCheck" />
+ <ref bean="excludeVpeCheck" />
+ <ref bean="anyVrfPresentCheck" />
+ </list>
+ </property>
+ <property name="preferenceRuleList">
+ <list>
+ <ref bean="affinityLinkPref" />
+ </list>
+ </property>
+ <property name="allocationRuleList">
+ <list>
+ <ref bean="dbAllocationRule" />
+ <ref bean="affinityAllocationRule" />
+ </list>
+ </property>
+ </bean>
+ </list>
+ </entry>
+ <entry key="L3AVPN-EVC">
+ <list>
+ <bean class="org.openecomp.sdnc.ra.comp.EndPointAllocationDefinition">
+ <property name="serviceModel" value="L3AVPN-EVC" />
+ <property name="endPointPosition" value="VPE-Cust" />
+ <property name="equipmentReader" ref="vpePortReader" />
+ <property name="equipmentCheckList">
+ <list>
+ <ref bean="provStatusCheck" />
+ <ref bean="excludeVpeCheck" />
+ <ref bean="vpeLockCheck" />
+ <ref bean="anyVrfPresentCheck" />
+ <ref bean="oneMVrfCheck" />
+ <ref bean="hubWithRgCheck" />
+ </list>
+ </property>
+ <property name="preferenceRuleList">
+ <list>
+ <ref bean="affinityLinkPref" />
+ </list>
+ </property>
+ <property name="allocationRuleList">
+ <list>
+ <ref bean="dbAllocationRule" />
+ <ref bean="vrfAllocationRule" />
+ <ref bean="servingSiteAllocationRule" />
+ <ref bean="affinityAllocationRule" />
+ </list>
+ </property>
+ </bean>
+ </list>
+ </entry>
+ </map>
+ </property>
+ </bean>
+
+ <!-- Equipment Readers Configuration -->
+
+ <bean id="vpePortReader" class="org.openecomp.sdnc.ra.reader.VpePortReader">
+ <property name="vpePortDao" ref="vpePortDao" />
+ </bean>
+
+ <!-- Equipment Checks Configuration -->
+
+ <bean id="provStatusCheck" class="org.openecomp.sdnc.ra.check.ProvStatusCheck">
+ </bean>
+
+ <bean id="excludeVpeCheck" class="org.openecomp.sdnc.ra.check.ExcludeVpeCheck">
+ </bean>
+
+ <bean id="vpeLockCheck" class="org.openecomp.sdnc.ra.check.VpeLockCheck">
+ <property name="vpeLockDao" ref="vpeLockDao" />
+ <property name="resourceManager" ref="resourceManager" />
+ </bean>
+
+ <bean id="anyVrfPresentCheck" class="org.openecomp.sdnc.ra.check.AnyVrfPresentCheck">
+ <property name="resourceManager" ref="resourceManager" />
+ </bean>
+
+ <bean id="oneMVrfCheck" class="org.openecomp.sdnc.ra.check.OneMVrfCheck">
+ <property name="resourceManager" ref="resourceManager" />
+ </bean>
+
+ <bean id="hubWithRgCheck" class="org.openecomp.sdnc.ra.check.HubWithRgCheck">
+ <property name="resourceManager" ref="resourceManager" />
+ </bean>
+
+ <!-- Preference Rule Configuration -->
+
+ <bean id="affinityLinkPref" class="org.openecomp.sdnc.ra.pref.AffinityLinkPref">
+ <property name="resourceManager" ref="resourceManager" />
+ </bean>
+
+ <!-- Resource Allocation Rule Configuration -->
+
+ <bean id="dbAllocationRule" class="org.openecomp.sdnc.ra.alloc.DbAllocationRule">
+ <property name="resourceRuleDao" ref="resourceRuleDao" />
+ <property name="rangeRuleDao" ref="rangeRuleDao" />
+ </bean>
+
+ <bean id="vrfAllocationRule" class="org.openecomp.sdnc.ra.alloc.VrfAllocationRule">
+ </bean>
+
+ <bean id="servingSiteAllocationRule" class="org.openecomp.sdnc.ra.alloc.ServingSiteAllocationRule">
+ </bean>
+
+ <bean id="affinityAllocationRule" class="org.openecomp.sdnc.ra.alloc.AffinityAllocationRule">
+ </bean>
+
+</beans>