diff --git a/Multi_Vendor_Policy/UBI/MSK/.meta_Multi_vendor_policy.xml b/Multi_Vendor_Policy/UBI/MSK/.meta_Multi_vendor_policy.xml new file mode 100755 index 000000000..a045dc91f --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/.meta_Multi_vendor_policy.xml @@ -0,0 +1,41 @@ + + + + + CONFIGURATION_FILTER + + + + DATE_MODIFICATION + 1584954727766 + + + REPOSITORY + Process + + + DATE_CREATION + 1582027276387 + + + TAG + + + FILE_TYPE + text + + + MODEL + + + MANUFACTURER + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/.meta_Process_Delete_Instance b/Multi_Vendor_Policy/UBI/MSK/.meta_Process_Delete_Instance new file mode 100755 index 000000000..c15c1bcb6 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/.meta_Process_Delete_Instance @@ -0,0 +1,27 @@ + + + + + DATE_MODIFICATION + 1582027491387 + + + REPOSITORY + Process + + + DATE_CREATION + 1582027491382 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/.meta_Process_New_Service b/Multi_Vendor_Policy/UBI/MSK/.meta_Process_New_Service new file mode 100755 index 000000000..fbac41984 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/.meta_Process_New_Service @@ -0,0 +1,27 @@ + + + + + DATE_MODIFICATION + 1582112122486 + + + REPOSITORY + Process + + + DATE_CREATION + 1582112122481 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/.meta_Process_Service_Initiate b/Multi_Vendor_Policy/UBI/MSK/.meta_Process_Service_Initiate new file mode 100755 index 000000000..a053fbfbf --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/.meta_Process_Service_Initiate @@ -0,0 +1,27 @@ + + + + + DATE_MODIFICATION + 1582027448703 + + + REPOSITORY + Process + + + DATE_CREATION + 1582027448698 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/.meta_Process_Update_Devices b/Multi_Vendor_Policy/UBI/MSK/.meta_Process_Update_Devices new file mode 100755 index 000000000..0f34e774f --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/.meta_Process_Update_Devices @@ -0,0 +1,27 @@ + + + + + DATE_MODIFICATION + 1582027470300 + + + REPOSITORY + Process + + + DATE_CREATION + 1582027470296 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Multi_vendor_policy.xml b/Multi_Vendor_Policy/UBI/MSK/Multi_vendor_policy.xml new file mode 100755 index 000000000..f6df1d481 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Multi_vendor_policy.xml @@ -0,0 +1,248 @@ + + + true + + service_id + 5 + TRANSACTION + + /images/eclipseIcons/page_obj.gif + Multi Vendor Policy + 10000 + 0 + 5 + php + false + false + false + 5 + + + +
Service
+
+
+ + +
Service
+
+
+ + +
Service
+
+ + services + +
+ + +
Service
+
+
+ + + TCP + UDP + + +
Service
+
+
+ + +
Switch
+
+ + + +
+ + +
Switch
+
+ + interface_object + +
+ + + true + false + + +
Switch
+
+
+ + +
Switch
+
+ + + +
+ + +
Switch
+
+
+ + +
Firewall
+
+ + + +
+ + +
Firewall
+
+ + ethernet + +
+ + +
Firewall
+
+ + zone + +
+ + +
Firewall
+
+ + zone + +
+ + +
Firewall
+
+ + address_ip_netmask + +
+ + +
Firewall
+
+
+ + +
Firewall
+
+ + ethernet + +
+ + +
Router
+
+
+ + +
Router
+
+ + RoutingSubinterface + +
+ + +
Switch
+
+
+
+ + + + + 5 + Update Devices + + 0 + + false + UPDATE + + + + + a + + + + 5 + Delete Instance + + 0 + + false + DELETE + + + 5 + New Service + + 0 + + false + CREATE + + + + + + + + + + + + + + + + + + + + + + + + + + + + /opt/fmc_repository/Process/UBI/MSK/Process_New_Service/Tasks/ + Accept Parameters + + + + Add Static route in FIrewall + + + + Add Firewall Policy + + + /opt/fmc_repository/Process/UBI/MSK/Process_New_Service/Tasks/ + Check VLAN + + + /opt/fmc_repository/Process/UBI/MSK/Process_New_Service/Tasks/ + Update Router + + + + Update Switch + + +
diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/.meta_Tasks b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/.meta_Tasks new file mode 100755 index 000000000..a9e47dadb --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/.meta_Tasks @@ -0,0 +1,27 @@ + + + + + DATE_MODIFICATION + 1582112167324 + + + REPOSITORY + Process + + + DATE_CREATION + 1582112167319 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Accept_Parameters.php b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Accept_Parameters.php new file mode 100755 index 000000000..a9649f080 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Accept_Parameters.php @@ -0,0 +1,31 @@ + + + + + DATE_MODIFICATION + 1582135571251 + + + REPOSITORY + Process + + + DATE_CREATION + 1582112167328 + + + TAG + + + FILE_TYPE + text + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Check_VLAN.php b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Check_VLAN.php new file mode 100755 index 000000000..2f587568a --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Check_VLAN.php @@ -0,0 +1,31 @@ + + + + + DATE_MODIFICATION + 1582131489368 + + + REPOSITORY + Process + + + DATE_CREATION + 1582127132563 + + + TAG + + + FILE_TYPE + text + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Router.php b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Router.php new file mode 100755 index 000000000..1e167aff2 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Router.php @@ -0,0 +1,31 @@ + + + + + DATE_MODIFICATION + 1582133134458 + + + REPOSITORY + Process + + + DATE_CREATION + 1582124762802 + + + TAG + + + FILE_TYPE + text + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Switch.php b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Switch.php new file mode 100755 index 000000000..7a819c095 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/.meta_Task_Switch.php @@ -0,0 +1,31 @@ + + + + + DATE_MODIFICATION + 1582135924963 + + + REPOSITORY + Process + + + DATE_CREATION + 1582125570762 + + + TAG + + + FILE_TYPE + text + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Accept_Parameters.php b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Accept_Parameters.php new file mode 100755 index 000000000..6cd400b00 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Accept_Parameters.php @@ -0,0 +1,42 @@ + \ No newline at end of file diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Check_VLAN.php b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Check_VLAN.php new file mode 100755 index 000000000..30ad8777c --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Check_VLAN.php @@ -0,0 +1,50 @@ + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Router.php b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Router.php new file mode 100755 index 000000000..e786cb52a --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Router.php @@ -0,0 +1,80 @@ + $start, 'lastIP' => $end ); + $ip_list = array(); + for ($ip = $range['firstIP']; $ip <= $range['lastIP']; $ip++) { + array_push($ip_list,long2ip($ip)); + } + return $ip_list; +} +//=========================================================== + +function createNetmaskAddr ($bitcount) { + + $netmask = str_split (str_pad (str_pad ('', $bitcount, '1'), 32, '0'), 8); + + foreach ($netmask as &$element) + { + $element = bindec ($element); + } + + return join ('.', $netmask); +} + +//=========================================================== +$device_id = substr($context['rtr_device'], 3); + +$bitcunt = $context['service_subnet_masklen']; +$cidr = $context['service_subnet_ip']."/".$context['service_subnet_masklen']; +$ipadrres_list = getIpListFromSubnet($cidr); +$subnet_mask = createNetmaskAddr($bitcunt); + +$micro_service_vars_array = array(); +$micro_service_vars_array['object_id'] = $context['rtr_sw_int']; +$micro_service_vars_array['ipaddress'] = $ipadrres_list[1]; +$micro_service_vars_array['mask'] = $subnet_mask; +$micro_service_vars_array['VLAN'] = $context['VLAN']; + + +//logToFile(debug_dump($ipadrres_list,"*************************\n")); +$managed_entity = array('RoutingSubinterface' => array(""=> $micro_service_vars_array)); + + +$response = execute_command_and_verify_response($device_id, CMD_CREATE, $managed_entity , "CREATE RoutingSubinterface"); +$response = json_decode($response, true); + +logToFile(debug_dump($response,"*************************\n")); + +if($response['wo_status'] !== ENDED) +{ + $response = prepare_json_response($response['wo_status'], "Failed to update router", $context, true); + echo $response; + exit; +} + +$response = prepare_json_response($response['wo_status'], "Successfully updated router", $context, true); +echo $response; +?> + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Switch.php b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Switch.php new file mode 100755 index 000000000..301fcbbac --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_New_Service/Tasks/Task_Switch.php @@ -0,0 +1,53 @@ + array(""=> $micro_service_vlan)); + $response = execute_command_and_verify_response($device_id, CMD_CREATE, $managed_entity , "CREATE VLAN"); + $response = json_decode($response, true); + + logToFile(debug_dump($response,"*************************\n")); + + if($response['wo_status'] !== ENDED) + { + $response = prepare_json_response($response['wo_status'], "Failed to create switch vlan", $context, true); + echo $response; + exit; + } + $micro_service_port['vlanid'] = $context['VLAN']; + + +//===========================create port======================================================== +/*$micro_service_port= array(); +$micro_service_port['object_id'] = $context['lan_port']; +$micro_service_port['vlanid'] = $context['VLAN']; + +$managed_entity = array('Switchport_Access' => array(""=> $micro_service_port)); +$response = execute_command_and_verify_response($device_id, CMD_CREATE, $managed_entity , "CREATE Switchport_Access"); +$response = json_decode($response, true); + +logToFile(debug_dump($response,"*************************\n")); + +if($response['wo_status'] !== ENDED) +{ + $response = prepare_json_response($response['wo_status'], "Failed to create switch port", $context, true); + echo $response; + exit; +}*/ + +$response = prepare_json_response($response['wo_status'], "Successfully updated switch", $context, true); +echo $response; +?> diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/.meta_Tasks b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/.meta_Tasks new file mode 100755 index 000000000..50d80e092 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/.meta_Tasks @@ -0,0 +1,27 @@ + + + + + DATE_MODIFICATION + 1582027583887 + + + REPOSITORY + Process + + + DATE_CREATION + 1582027583883 + + + TAG + + + TYPE + DIRECTORY + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Firewall_Route.php b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Firewall_Route.php new file mode 100755 index 000000000..796f58ce1 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Firewall_Route.php @@ -0,0 +1,31 @@ + + + + + DATE_MODIFICATION + 1582132083109 + + + REPOSITORY + Process + + + DATE_CREATION + 1582037562518 + + + TAG + + + FILE_TYPE + text + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Firewall_Update.php b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Firewall_Update.php new file mode 100755 index 000000000..7b9bd4c61 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Firewall_Update.php @@ -0,0 +1,31 @@ + + + + + DATE_MODIFICATION + 1582132095897 + + + REPOSITORY + Process + + + DATE_CREATION + 1582027583891 + + + TAG + + + FILE_TYPE + text + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Router_Update.php b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Router_Update.php new file mode 100755 index 000000000..1d5bb955d --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Router_Update.php @@ -0,0 +1,31 @@ + + + + + DATE_MODIFICATION + 1582028422851 + + + REPOSITORY + Process + + + DATE_CREATION + 1582027585987 + + + TAG + + + FILE_TYPE + text + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Switch_Update.php b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Switch_Update.php new file mode 100755 index 000000000..9edc3a9bb --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/.meta_Task_Switch_Update.php @@ -0,0 +1,31 @@ + + + + + DATE_MODIFICATION + 1582111497402 + + + REPOSITORY + Process + + + DATE_CREATION + 1582027587698 + + + TAG + + + FILE_TYPE + text + + + TYPE + UPLOAD + + + COMMENT + + + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Firewall_Route.php b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Firewall_Route.php new file mode 100755 index 000000000..2607136c6 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Firewall_Route.php @@ -0,0 +1,39 @@ + array($context['service_id'] => $micro_service_vars_array)); + + +$response = execute_command_and_verify_response($device_id, CMD_CREATE, $managed_entity , "CREATE static_route"); +$response = json_decode($response, true); + +logToFile(debug_dump($response,"*************************\n")); + +if($response['wo_status'] !== ENDED) +{ + $response = prepare_json_response($response['wo_status'], "Failed to create static route", $context, true); + echo $response; + exit; +} + +$response = prepare_json_response($response['wo_status'], "Successfully create static route", $context, true); +echo $response; +?> + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Firewall_Update.php b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Firewall_Update.php new file mode 100755 index 000000000..bdb978624 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Firewall_Update.php @@ -0,0 +1,82 @@ +$service['service_name'])); +$ms_obj=array('services' => array($service['service_name'] => $obj_arr)); +execute_command_and_verify_response($device_id, CMD_CREATE, $ms_obj , "CREATE Service"); + +} + +//2) +//Create address object/s for destination address +//address_ip_netmask +//object_id +//address +//masklen +$obj_arr=array(); +$obj_arr['address']= $context['service_subnet_ip']; +$obj_arr['object_id']= $context['service_id']; +$obj_arr['masklen']= $context['service_subnet_masklen']; + +$ms_obj=array('address_ip_netmask' => array($context['service_id'] => $obj_arr)); +execute_command_and_verify_response($device_id, CMD_CREATE, $ms_obj , "CREATE destination Address"); + +//Source address object has to be created as a prerequisite + +//We will use default values for zones for now as the interfaces are not created a new for this usecase +//Source zone has to be external +//Destination zone is internal +//Firewall rulename will be same as service id of the workflow + +//================================================================================================================ +$micro_service2 = array(); + + + +$micro_service2['services'] = $srv_arr; + +$micro_service2['zone_from'] = $context['source_zone']; +$micro_service2['src_address'] = $context['source_address']; +$micro_service2['zone_to'] = $context['destination_zone']; +$micro_service2['dst_address'] = $context['service_id']; +$micro_service2['object_id'] = $context['service_id']; +$micro_service2['action'] = 'allow'; + + +$managed_entity2 = array('policy' => array($context['service_id'] => $micro_service2)); + +$response = execute_command_and_verify_response($device_id, CMD_CREATE, $managed_entity2 , "CREATE policy"); +$response = json_decode($response, true); + +logToFile(debug_dump($response,"*************************\n")); + +if($response['wo_status'] !== ENDED) +{ + $response = prepare_json_response($response['wo_status'], "Failed to create firewall policy", $context, true); + echo $response; + exit; +} + +$response = prepare_json_response($response['wo_status'], "Successfully created firewall policy", $context, true); +echo $response; +?> + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Router_Update.php b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Router_Update.php new file mode 100755 index 000000000..80b1576e3 --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Router_Update.php @@ -0,0 +1,32 @@ + array($object_id => $micro_service_vars_array)); + + +$response = execute_command_and_verify_response($device_id, CMD_CREATE, $managed_entity , "CREATE VNF_instances"); +$response = json_decode($response, true); + +logToFile(debug_dump($response,"*************************\n")); + +if($response['wo_status'] !== ENDED) +{ + $response = prepare_json_response($response['wo_status'], "Failed to update router", $context, true); + echo $response; + exit; +} + +$response = prepare_json_response($response['wo_status'], "Successfully updated router", $context, true); +echo $response; +?> + diff --git a/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Switch_Update.php b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Switch_Update.php new file mode 100755 index 000000000..5fb3bfc8b --- /dev/null +++ b/Multi_Vendor_Policy/UBI/MSK/Process_Service_Initiate/Tasks/Task_Switch_Update.php @@ -0,0 +1,34 @@ + array(""=> $micro_service_vars_array)); + + +$response = execute_command_and_verify_response($device_id, CMD_CREATE, $managed_entity , "CREATE VLAN"); +$response = json_decode($response, true); + +logToFile(debug_dump($response,"*************************\n")); + +if($response['wo_status'] !== ENDED) +{ + $response = prepare_json_response($response['wo_status'], "Failed to update switch", $context, true); + echo $response; + exit; +} + +$response = prepare_json_response($response['wo_status'], "Successfully updated switch", $context, true); +echo $response; +?> +