Enhanced testing of edge gateways with virtual network functions
A software application for remote testing of VNFs using edge gateway devices addresses the need for extensive hardware testing by allowing virtual machine image uploads and service instantiation, enhancing testing efficiency and cost-effectiveness.
Patent Information
- Application Number
- JP2025526602
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2022-11-09
- Filing Date
- 2023-11-08
- Publication Date
- 2025-11-26
AI Technical Summary
Current methods for testing virtual network functions (VNFs) require shipping edge gateway hardware to customer premises, leading to extensive and time-consuming field testing.
A software application that allows remote testing of VNFs using edge gateway devices, enabling users to upload virtual machine images, instantiate services, and run tests without physical hardware installation, facilitating automated and scheduled testing.
Enables efficient and cost-effective testing of VNFs by allowing users to test without purchasing hardware upfront, reducing time and logistical challenges.
Smart Images

Figure 2025538177000001_ABST
Abstract
Description
[Technical Field]
[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS] This application relates to and claims priority under 35 U.S.C. §119(e) from U.S. patent application Ser. No. 63 / 382,975, filed Nov. 9, 2022, entitled "Enhanced Testing of Edge Gateways Using Virtual Network Functions," the entire contents of which are incorporated herein by reference for all purposes.
[0002] Embodiments of the present invention generally relate to systems and methods for testing edge gateways using virtual network functions. [Background technology]
[0003] Network customers may use edge gateways to test virtual machine functionality for compatibility with their network edge gateways. Testing often requires edge gateway hardware to be configured at the customer premises, and testing can take weeks or months. Summary of the Invention
[0004] To remotely test a virtual network function using an edge gateway device: The method may include providing, by at least one processor, an application associated with receiving user input for testing a virtual network function (VNF) using an edge gateway device remote from the VNF; receiving, by the at least one processor, via the application, a first user input associated with adding an image of a virtual machine instance to the application; downloading, by the at least one processor, via the application, the image based on the first user input; receiving, by the at least one processor, via the application, a second user input associated with instantiating a service associated with the virtual machine instance; instantiating, by the at least one processor, via the application, the service based on the second user input; receiving, by the at least one processor, via the application, a third user input associated with testing the VNF using the edge gateway device using the image and the service; and performing, by the at least one processor, via the application, the image and the service based on the third user input, a test of the VNF using the edge gateway device.
[0005] A system for remotely testing a virtual network function (VNF) using an edge gateway device may include: memory coupled to at least one processor, the at least one processor configured to perform: providing an application associated with receiving user input for testing a virtual network function (VNF) using an edge gateway device remote from the VNF; receiving, via the application, a first user input associated with adding an image of a virtual machine instance to the application; downloading, via the application, the image based on the first user input; receiving, via the application, a second user input associated with instantiating a service associated with the virtual machine instance; instantiating, via the application, the service based on the second user input; receiving, via the application, a third user input associated with testing the VNF using the edge gateway device using the image and the service; and performing, via the application, a test of the VNF using the edge gateway device using the image and the service based on the third user input.
[0006] A non-transitory computer-readable storage medium containing instructions may include instructions that, when executed by at least one processor, cause the at least one processor to perform the following steps to remotely test a virtual network function (VNF) using an edge gateway device: providing an application associated with receiving user input for testing a virtual network function (VNF) using an edge gateway device that is remote from the VNF; receiving, via the application, a first user input associated with adding an image of a virtual machine instance to the application; downloading, via the application, the image based on the first user input; receiving, via the application, a second user input associated with instantiating a service associated with the virtual machine instance; instantiating, via the application, the service based on the second user input; receiving, via the application, a third user input associated with testing the VNF using the edge gateway device using the image and the service; and performing, via the application, a test of the VNF using the edge gateway device using the image and the service based on the third user input. [Brief explanation of the drawings]
[0007] [Figure 1] 1 illustrates an exemplary system for testing virtual network functions using an edge gateway device, according to one embodiment.
[0008] [Figure 2] 1 illustrates an example dashboard interface of a system for testing virtual network functions using an edge gateway device, according to one embodiment.
[0009] [Figure 3]1 illustrates an example of a service interface for a system for testing virtual network functions using an edge gateway device, according to one embodiment.
[0010] [Figure 4] 1 illustrates an example test interface for a system for testing virtual network functions using an edge gateway device, according to one embodiment.
[0011] [Figure 5] 1 illustrates an example of a job interface for a system for testing virtual network functions using an edge gateway device, according to one embodiment.
[0012] [Figure 6] 1 is a process flow for testing virtual network functions using an edge gateway device, according to one embodiment.
[0013] [Figure 7] FIG. 1 illustrates an example of a computing system that may be used in implementing embodiments of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0014] Aspects of the present disclosure relate to systems, methods, and the like for enhanced testing of edge gateways using virtual network functions.
[0015] Some telecommunications network customers may want to test their virtual network functions with the telecommunications network's edge gateways (e.g., to determine if the edge gateway is the solution for their virtual network function). Testing currently requires shipping all of this hardware to the customer premises. To test a virtual network function (VNF), the hardware is often shipped to the customer so that the customer can test with the VNF, often requiring extensive field testing over several weeks or months.
[0016] Therefore, there is a need for enhanced testing of edge gateways using virtual network functions.
[0017] In one or more embodiments, the application may enable a communications network user to test VNFs using an edge gateway of the communications network without requiring edge gateway hardware to be built and configured at the customer premises. The application may allow a customer to add images (e.g., virtual machine images that behave like computers) for use in virtual machine instances. The application may allow users to run manual tests, automated tests, schedule tests, manage images (e.g., for virtual machine instances) loaded on the edge gateway, view test metrics, and manage users who have access to the application testing portal. The application may act as a software "sandbox" that allows users to test their own machine images / environments without having to install any new hardware.
[0018] In one or more embodiments, the application may allow users to upload their own virtual machine images, which the application uses to facilitate service instantiation, create logical connections for VNFs on physical hardware, and run tests, including customer-defined tests.
[0019] In one or more embodiments, the application provides an on-premise virtualization concept that enables users to "try before they buy" by not requiring them to purchase edge gateway hardware before testing VNFs with the edge gateway. The application allows users to upload virtual machine images and reserve available hardware racks for testing. Instantiating a service may include application programming interface (API) calls to software that create procedures for communicating with the test environment. The application may facilitate spinning up VNFs, creating and testing gateways, and the like, without user involvement. The physical devices and their connections used in the tests may be set up (e.g., in a lab remote from the customer premises), and logical connections may be established by the application based on user-selected inputs. Establishing connections may thus be automated. Tests may be templated, and tests may be scheduled periodically (e.g., to allow repetition), including reserving environments and running tests on different days, times, etc.
[0020] In one or more embodiments, the application may store only one copy of a machine image at a time, but a user may use the image as many times as necessary for separate virtual machine instances. The application may validate the image using a checksum (e.g., a checksum is a unique identifier assigned to an image). To add an image, a user may sign in to the application, select "Add Image," and complete corresponding fields such as image name, uniform resource locator (URL), checksum type (e.g., MD5), host type (e.g., edge gateway type), required CPU count, required RAM, required disk memory, and the like. Table 1 below shows example fields and their descriptions for adding an image. Table 1: Fields for adding images: [Table 1]
[0021] In one or more embodiments, after a user uses the application to fill in the fields for adding an image, the user may select "Start Download" to cause the application to add the image based on the entered data from Table 1.
[0022] In one or more embodiments, the application may allow users to create services that represent their virtual machine configurations. A service may have multiple instances using the same image multiple times, or a different image for each instance. A service may be configured as one of the following VNF types: a router, either a router and a bring-your-own firewall, a session border controller, a monitor, or a bring-your-own-IT payload and / or a combination of bring-your-own-IT payloads. To create a service, a user may sign in to the application, select "Services," select "Instantiate Service," and enter a service name and service description in the application's service instantiation window. A user may select "Add" and complete the fields shown in Table 2 below in the service instantiation window. Table 2: Fields for service instantiation: [Table 2]
[0023] After completing the fields in Table 2, the user may select "Save Task" and, optionally, add the instance as a service component before instantiating the service. Selecting "Instantiate" results in the application creating the service and displaying progress in the Running Jobs window.
[0024] In one or more embodiments, the application may allow users to test functionality and correct configurations by obtaining the instance console URL and running tests. Users may use the application to run tests with parameters using parsers. The application may evaluate test results (e.g., using XPath, JSON path, or REGEX parser types and expressions).
[0025] In one or more embodiments, the application may obtain a console URL. To obtain the instance console URL, a user may sign in to the application, select "Services," enter a name or keyword in the search field to filter the presented services, and select the desired service from the corresponding list of presented services. The user may select "Test Run" for the selected service and complete the fields in Table 3 below in the "Test Run" window. Table 3: Fields for test execution: [Table 3]
[0026] Optionally, to add test success parameters to ensure the virtual machine is functioning as intended, the user may select "Add Assessment" and complete the fields in Table 4 below. Table 4: Fields for adding ratings: [Table 4]
[0027] Optionally, to add a job name and identifier to a test to simplify locating the test, the user may select "Advanced Options" and complete the fields in Table 5 below. Table 5: Advanced options for testing: [Table 5]
[0028] The user may then, based on the user input, select "Run Test." The application may display the progress of the test as it runs and, once the test is complete, indicate whether the test passed or failed.
[0029] In one or more embodiments, a user may select "Services," select a tested service, and select a tested instance. The user may select "Tests," and select a run test. The application may display test details. From the test details display, the user may copy the console URL from the output, paste the console URL into a browser tab address bar, and navigate to the instance console, where the user may test the instance console and view details.
[0030] In one or more embodiments, the application allows a user to run a HyperText Transfer Protocol (HTTP) request test against a service. The user may need the following information to run the test: virtual machine IP address, URL, body, and headers. To run an HTTP request test against a service, the user may sign in to the application, select "Services," enter a name or keyword in the search field to filter the presented services, select the desired service from the presented services, and expand the presented information. The user may select "Run Test" for the desired service, and the application may present a "Run Test" window. In the "Run Test" window, the user may complete the fields in Table 6 below. Table 6: Fields for test execution: [Table 6]
[0031] Optionally, to add test success parameters to ensure the virtual machine is functioning as intended, the user may select "Add Assessment" and complete the fields in Table 7 below. Table 7: Fields for adding ratings: [Table 7]
[0032] Optionally, to add a job name and identifier to a test to simplify locating the test, the user may select "Advanced Options" and complete the fields in Table 8 below. Table 8. Fields for adding a rating: [Table 8]
[0033] The user may select "Run Test" and the application may run the test and display the progress of the test. When the test passes or fails, the application may display a pass or fail indication accordingly. On the Services page, the user may select the service to be tested and select the instance to be tested. On the Tests tab, the user may select the task that was performed. The application may display the test details, and in the test details, the user may view the test results in the Output section. The output information and test URL may be used by the user as needed.
[0034] In one or more embodiments, the application may allow a user to run Netconf tests (e.g., protocols that install, manipulate, and remove network device configurations) against a service and may require the following information to run the test: port, username, password, and template. A user may sign in to the application, select "Services," select the desired service, and select "Run Test" for the selected service, and the application may run the test against the service. The user may enter the fields in Table 9 below. Table 9: Fields for running tests: [Table 9]
[0035] Optionally, the user may add success parameters to the test to ensure the virtual machine is functioning as intended. The user may select "Add a Test" and complete the fields in Table 10 below. Table 10: Fields for adding ratings: [Table 10]
[0036] Optionally, the user may add a job name and identifier to the test to simplify finding the test; the user may select "Advanced Options" and complete the fields shown in Table 11 below. Table 11: Advanced options: [Table 11]
[0037] The user can select "Run Test" and the application can run the test, present the progress of the test, and when complete, present the results of the test (e.g., pass or fail). On the Services tab, the user can select the service to be tested, the instance to be tested, and the test that was run. The application can display the test details.
[0038] In one or more embodiments, the application may allow users to run Ansible tests against services when they provide the IP address of a virtual machine, a port, their username and password, and a playbook (e.g., a list of tasks to automatically run for a specified inventory / group). Table 12 below shows the inputs used to run Ansible tests using the application. Other tests, such as Netconf and HTTP request tests, may be selected and run. Table 12: Fields for running Ansible tests: [Table 12]
[0039] Optionally, a user may add a success parameter to an Ansible test to ensure the virtual machine is operating as intended. The success parameter may be added when the user selects "Add Assessment" with the application according to the fields in Table 13 below. Table 13: Fields for adding assessments to Ansible tests: [Table 13]
[0040] Optionally, the user may select an advanced option to add a job identifier to the Ansible test according to the fields in Table 14 below. Table 14: Advanced fields for Ansible tests: [Table 14]
[0041] When the user selects "Run Test," the application may run the Ansible tests according to the inputs provided by the user and may present the progress and results of the tests.
[0042] In one or more embodiments, the application may allow a user to delete a service or instance from the application. If an instance in a service is deleted and it is the only instance in the service, the service may be deleted.
[0043] In one or more embodiments, the application may allow a user to manage images used for virtual machines. The application may allow a user to certify images to indicate that they have been tested and approved once they are added through the application. The application may allow a user to view details of downloaded images, such as certification status, source location, specifications, and checksum. The application may allow a user to delete images from the application. The application may allow a user to edit image names. The application may allow a user to download images for virtual machines and store images locally. The application may allow a user to view jobs, such as downloading images for use for instances and instantiating services. The application may present job details, such as start and end times, status (e.g., completed, failed, etc.), and activity logs (e.g., debug, info, warning, error).
[0044] In one or more embodiments, the application may allow a user to create job templates. A job template may refer to pre-configured parameters for a job that can be run immediately or at a scheduled time. For example, a user may create a job template to run Ansible tests against specified machines on a bi-weekly basis. Table 15 below shows the fields used for user input to build a job template. Table 15: Job Type Fields: [Table 15]
[0045] In one or more embodiments, the application may allow a user to start a job from a job template (e.g., to ensure uniform processing). To start a job from a job template, a user may complete the fields in Table 16 below. Table 16: Fields for starting a job from a job template: [Table 16]
[0046] The above description is for purposes of illustration and not limitation. Numerous other examples, configurations, processes, etc. may exist, some of which are described in more detail below. Exemplary embodiments will now be described with reference to the accompanying drawings.
[0047] FIG. 1 illustrates an exemplary system 100 for testing virtual network functions using an edge gateway device, according to one embodiment.
[0048] 1 , system 100 may include customer premises devices 102 (e.g., customer premises devices 104, customer premises devices 106, etc.) that include VNFs (e.g., customer premises device 104 including VNF 108 and customer premises device 106 including VNF 110) that may be tested with host device 112 (e.g., edge gateway device) using an application represented by a VNF test module 114 provided by a remote service 116. Host device 112 may be physically and logically located and configured at a location remote from customer premises device 102, such that VNF 108 and VNF 110 may be tested on host device 112 without host device 112 being physically present at the customer premises.
[0049] In one or more embodiments, the VNF testing module 114 may enable the customer premises device 102 to add a virtual machine image, instantiate a service associated with an instance of the virtual machine image, test the VNF with the host device 112, and the like, by providing user input. Tables 1-16 above show example fields that the VNF testing module 114 may provide and that may be entered by the customer premises device 102 via one or more user interfaces.
[0050] In one or more embodiments, the application represented by the VNF module 114 may enable communications network users to test VNFs using an edge gateway (e.g., host device 112) without having to build and configure edge gateway hardware at the customer premises. The application may allow customers to add images and use virtual machine instances. The application may allow users to run manual tests, automated tests, schedule tests, manage images (e.g., for virtual machine instances) loaded on the edge gateway, view test metrics, and manage users who have access to the application testing portal. The application may act as a software “sandbox” that allows users to test their own machine images / environments without having to install any new hardware.
[0051] In one or more embodiments, the application represented by the VNF module 114 may allow users to upload their own virtual machine images, which the application uses to facilitate service instantiation, create logical connections for the VNFs on physical hardware, and run tests, including customer-defined tests.
[0052] In one or more embodiments, the application represented by the VNF module 114 provides an on-premise virtualization concept that allows users to "try before they buy" by not requiring them to purchase edge gateway hardware for the host device 112 before testing a VNF with the edge gateway. The application allows users to upload virtual machine images and reserve available hardware racks for testing. Service instantiation may include API calls to software that create procedures for communicating with the test environment in which the host device 112 is located. The application may facilitate spinning up VNFs, creating and testing gateways, and the like, without user involvement. The physical devices and their connections used in the tests may be set up (e.g., in a lab remote from the customer premises), and logical connections may be established by the application based on user-selected inputs. Establishing connections may thus be automated. Tests may be templated, and tests may be scheduled periodically (e.g., to allow repetition), including reserving environments and running tests on different days, times, etc.
[0053] FIG. 2 illustrates an example dashboard interface 200 of a system for testing virtual network functions using an edge gateway device, according to one embodiment.
[0054] Referring to FIG. 2, a dashboard interface 200 may be presented by the device 202 using the VNF testing module 114 of FIG. 1 to allow a user to view, add, edit, and delete virtual machine instance images, their status, and their dates. Table 1 above shows fields that a user may enter when requesting to add a virtual machine instance image, such as the image's name 210, address (e.g., URL), status 212 (e.g., authenticated, completed, failed, etc.), date 214, checksum and checksum type, type of host device (e.g., host device 112 of FIG. 1), and required computer resources (e.g., CPU, memory, etc.). A selectable option for adding a virtual machine image 216 may also be presented using the dashboard interface 200. The user may also create and name a job for adding an image. When user input is provided to add an image, the VNF testing module 114 may download the image from the entered address and add the image based on the configuration specified by the user input.
[0055] FIG. 3 illustrates an example service interface 300 of a system for testing virtual network functions using an edge gateway device, according to one embodiment.
[0056] Referring to FIG. 3, a service interface 300 may be presented using the VNF testing module 114 and device 202 of FIG. 1 to allow a user to create a service that represents a virtual machine configuration. A service may have multiple instances that use the same image multiple times, or a different image for each instance. As shown in FIG. 3, the service interface 300 may show the status 302 of the services, their names 304, descriptions 306, and where they are instantiated 308. When a user requests to instantiate a service from the service interface 300 (e.g., using the selectable option 310 for instantiating a service), the user may be prompted to enter a service name and description, along with the other fields shown in Table 2 above. The VNF testing module 114 may create the service based on the user input.
[0057] FIG. 4 illustrates an example test interface 400 of a system for testing virtual network functions using an edge gateway device, according to one embodiment.
[0058] 4, a test interface 400 may be presented using the VNF test module 114 and device 202 of FIG. 1 to enable a user to create and run tests of VNFs using a host device and to view the progress and results of the tests. For example, as shown in FIG. 4, the test interface 400 may present the status 302 of the test (e.g., empty 402, online 404, deleted 405), the instance type 406 tested by the test, the instance name 408, the test environment 410, and where the test is instantiated 308. When a user requests to run a test (e.g., using selectable options 412), the user may be prompted to provide input shown in Table 3 above, optionally Table 4 above, add success parameters, and optionally, in Table 5 above, add a job name and identifier for running the test. The user may choose to certify the virtual machine image assigned to the service after a successful test or to leave the image uncertified even after a successful test. The tests may include HTTP tests, Netconf tests, and Ansible tests, to name a few.
[0059] FIG. 5 illustrates an example job interface 500 of a system for testing virtual network functions using an edge gateway device, according to one embodiment.
[0060] Referring to FIG. 5, a job interface 500 may be presented using the VNF test module 114 of FIG. 1 and allows a user to view job details and logs. For example, a job may include actions such as downloading an image for use in the instance and instantiating a service. If an error occurs when downloading an image or instantiating a service, for example, the job details or log may indicate what caused the error. The job interface 500 may indicate the job name, job status (e.g., completed, failed, in progress, etc.), and job start and end times. The job log may indicate debug items, information items, warning items, and error items, for example. From the job interface 500, a user may define the job and when to run the job to initiate a job, which may or may not be defined by a template, and create a job template. The fields in Table 15 above show user inputs that a user may be prompted to provide when creating a job. Table 16 above shows fields that a user may be prompted to provide when creating a job template.
[0061] FIG. 6 is a flow diagram of a process 600 for testing virtual network functions using an edge gateway device, according to one embodiment.
[0062] In block 602, a device (e.g., remote service 116) may provide an application (e.g., represented by VNF test module 114 in FIG. 1 ) associated with receiving user input for testing a VNF function (e.g., VNF 108 in FIG. 1 ) using an edge gateway device (e.g., host device 112) that is remote from the VNF (e.g., in a test environment remote from the customer premises where the VNF resides).
[0063] In block 604, the device may receive, via an application (e.g., dashboard interface 200 of FIG. 2), a first user input associated with adding a virtual machine image to the application. Table 1 above shows fields that a user may enter when requesting to add a virtual machine instance image, such as the image's name, address (e.g., URL), checksum and checksum type, type of host device (e.g., host device 112 of FIG. 1), and required computer resources (e.g., CPU, memory, etc.). The user may also create and name a job for adding the image.
[0064] In block 606, the device, via the application, may download the image based on the first user input. In particular, when entering the first user input, the user may provide an address (e.g., a URL), the address representing a location from which the device may download the image.
[0065] At block 608, the device may receive, via an application (e.g., service interface 300 of FIG. 3), a second user input associated with instantiating a service associated with the virtual machine instance. When a user requests to instantiate a service from service interface 300, the user may be prompted to enter a service name and description, along with the other fields shown in Table 2 above.
[0066] At block 610, the device, via the application, may instantiate the service based on the second user input. The instantiation may depend on the selected instance, the edge gateway environment for the instantiation, the script, the VNF type, and the image provided by the user via the application.
[0067] At block 612, the device may receive, via an application (e.g., test interface 400 of FIG. 4 ), a third user input associated with testing the VNF with the edge gateway device using the image and service entered by the user. When the user requests to run a test, the user may be prompted to provide the input shown in Table 3 above, optionally in Table 4 above, to add success parameters, and, optionally in Table 5 above, to add a job name and identifier for running the test. The user may choose to certify the virtual machine image assigned to the service after a successful test, or to leave the image uncertified even after a successful test. The tests may include HTTP tests, Netconf tests, and Ansible tests, to name a few.
[0068] In block 614, the device, via the application, may perform testing of the VNF with the edge gateway device using the user-provided image and selected services based on the third user input. When performing the test, the selected edge gateway device may be configured according to the user input and virtual machine configuration without requiring the selected edge gateway device to be located at the customer premises. In this manner, the VNF test may be performed remotely.
[0069] It is understood that the above description is intended to be illustrative and not limiting.
[0070] FIG. 7 is a block diagram illustrating an example of a computing device or computer system 700 that may be used in implementing embodiments of the components of the network disclosed above. For example, the computing system 700 of FIG. 7 may represent at least a portion of the system 100 shown in FIG. 1 as described above. The computer system (system) includes one or more processors 702-706, the VNF test module 114 of FIG. 1, and a hypervisor 711 for facilitating the VNFs. The processors 702-706 may include one or more internal level caches (not shown) and a bus controller 722 or bus interface unit for directly interacting with a processor bus 712. The processor bus 712, also known as a host bus or front-side bus, may be used to couple the processors 702-706 to a system interface 724. The system interface 724 may be connected to the processor bus 712 to interface other components of the system 700 with the processor bus 712. For example, system interface 724 may include a memory controller 718 for interfacing main memory 716 with processor bus 712. Main memory 716 typically includes one or more memory cards and control circuitry (not shown). System interface 724 may also include an input / output (I / O) interface 720 for interfacing one or more I / O bridges 725 or I / O devices with processor bus 712. One or more I / O controllers and / or I / O devices, such as I / O controller 728 and I / O device 730, may be connected to I / O bus 726, as shown.
[0071] I / O devices 730 may also include input devices (not shown), such as an alphanumeric input device, which includes alphanumeric and other keys for communicating information and / or command selections to processors 702-706. Another type of user input device includes a cursor control, such as a mouse, trackball, or cursor direction keys for communicating directional information and command selections to processors 702-706 and for controlling cursor movement on a display device.
[0072] System 700 may include a dynamic storage device referred to as main memory 716, or random access memory (RAM), or other computer-readable device coupled to processor bus 712 for storing information and instructions to be executed by processors 702-706. Main memory 716 may also be used for storing temporary variables or other intermediate information during execution of instructions by processors 702-706. System 700 may also include read-only memory (ROM) and / or other static storage devices coupled to processor bus 712 for storing static information and instructions for processors 702-706. The system outlined in FIG. 7 is but one possible example of a computer system that may employ or be configured in accordance with aspects of the present disclosure.
[0073] According to one embodiment, the above techniques may be performed by computer system 700 in response to processor 704 executing one or more sequences of one or more instructions contained in main memory 716. These instructions may be read into main memory 716 from another machine-readable medium, such as a storage device. Execution of the sequences of instructions contained in main memory 716 may cause processors 702-706 to perform one or more process steps described herein. In alternative embodiments, electrical circuitry may be used in place of or in combination with software instructions. Thus, embodiments of the present disclosure may include both hardware and software components.
[0074] Machine-readable media include any mechanism for storing or transmitting information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). Such media may take the form of non-volatile and volatile media, but may include, without limitation, removable data storage media, non-removable data storage media, and / or external storage devices made available via wired or wireless network architectures with such computer program products, including one or more database management products, web server products, application server products, and / or other additional software components. Examples of removable data storage media include compact disc read-only memories (CD-ROMs), digital versatile disc read-only memories (DVD-ROMs), magneto-optical disks, flash drives, etc. Examples of non-removable data storage media include internal magnetic hard disks, solid-state drives, etc. The one or more memory devices 706 may include volatile memory (e.g., dynamic random access memory (DRAM), static random access memory (SRAM), etc.) and / or non-volatile memory (e.g., read-only memory (ROM), flash memory, etc.).
[0075] A computer program product including mechanisms for implementing systems and methods according to the presently described technology may reside in main memory 716 (which may sometimes be referred to as a machine-readable medium). It will be understood that a machine-readable medium may include any tangible, non-transitory medium that can store or encode instructions for performing any one or more of the operations of the present disclosure for execution by a machine, or that can store or encode data structures and / or modules utilized by or associated with such instructions. A machine-readable medium may include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) that store one or more executable instructions or data structures.
[0076] Embodiments of the present disclosure include various steps described herein that may be performed by hardware components or embodied in machine-executable instructions that cause a general-purpose or special-purpose processor programmed with the instructions to perform the steps. Alternatively, the steps may be performed by a combination of hardware, software, and / or firmware.
[0077] Various modifications and additions may be made to the exemplary embodiments described without departing from the scope of the present invention. For example, while the embodiments described above refer to particular features, the scope of the present invention also includes embodiments having different combinations of features and embodiments that do not include all of the features described. Accordingly, the scope of the present invention is intended to encompass all such alternatives, modifications, and variations, together with all equivalents thereof.
Claims
1. 1. A method for remotely testing a virtual network function using an edge gateway device, comprising: providing, by at least one processor, an application associated with receiving user input for testing a virtual network function (VNF) using an edge gateway device remote from the VNF; receiving, by the at least one processor, a first user input via the application associated with adding an image of a virtual machine instance to the application; downloading, by the at least one processor via the application, the image based on the first user input; receiving, by the at least one processor, a second user input via the application associated with instantiating a service associated with the virtual machine instance; instantiating, by the at least one processor via the application, the service based on the second user input; receiving, by the at least one processor, a third user input via the application associated with testing the VNF with the edge gateway device using the image and the service; and performing, by the at least one processor, via the application, a test of the VNF using the edge gateway device using the image and the service based on the third user input. A method for providing
2. receiving, via the application, a fourth user input indicating a checksum associated with verifying the image; and verifying the image via the application using the checksum; wherein the checksum is unique to the image. The method of claim 1 further comprising:
3. receiving, via the application, a fourth user input indicating a type of the edge gateway device; wherein the image is based on the type of the edge gateway device. The method of claim 1 further comprising:
4. The services include: A single router, Routers and any of the firewalls, session border controllers, monitors, or information technology payloads; or Multiple standalone information technology payloads The method of claim 1 , comprising at least one of:
5. identifying, via the application, a uniform resource locator associated with browsing the console of the VNF; wherein performing the test is based on the uniform resource locator. The method of claim 1 further comprising:
6. the test is a HyperText Transfer Protocol (HTTP) test associated with a request port and a uniform resource locator; wherein executing the test is based on the uniform resource locator and the request port. The method of claim 1.
7. the test is a Netconf test that uses a Netconf template, performing the test is based on the Netconf template; The method of claim 1.
8. the test is an Ansible test that uses an Ansible playbook; running the test is based on the Ansible playbook; The method of claim 1.
9. 9. The method of claim 1, further comprising receiving, via the application, a fourth user input to authenticate the image, wherein authenticating the image indicates that the image has been tested and is approved based on performing the test.
10. presenting details associated with the image via the application, the details including a download location, a download start time, a download end time, an authentication status, a host type of the edge gateway device, and a checksum associated with validating the image. The method of claim 1 , further comprising:
11. generating, via the application, a job template based on a fourth user request, the job template including parameters for use in running the test; wherein executing the test is based on the job template. The method of claim 1 , further comprising:
12. 1. A system for remotely testing virtual network functions using an edge gateway device, comprising: a memory coupled to at least one processor, said at least one processor comprising: providing an application associated with receiving user input for testing a virtual network function (VNF) using an edge gateway device remote from the VNF; receiving, via the application, a first user input associated with adding an image of a virtual machine instance to the application; downloading, via the application, the image based on the first user input; receiving, via the application, a second user input associated with instantiating a service associated with the virtual machine instance; instantiating, via the application, the service based on the second user input; receiving, via the application, a third user input associated with testing the VNF with the edge gateway device using the image and the service; and performing a test of the VNF using the edge gateway device using the image and the service based on the third user input via the application; configured to: A system comprising:
13. The at least one processor further comprises: receiving, via the application, a fourth user input indicating a checksum associated with verifying the image; and verifying the image using the checksum via the application; wherein the checksum is unique to the image. The system of claim 12 configured to:
14. The at least one processor further comprises: receiving, via the application, a fourth user input indicating a type of the edge gateway device; wherein the image is based on the type of the edge gateway device. The system of claim 12 configured to:
15. The services include: A single router, Routers and any of the firewalls, session border controllers, monitors, or information technology payloads; or Multiple standalone information technology payloads The system of claim 12 , comprising at least one of:
16. The at least one processor further comprises: and identifying, via said application, a uniform resource locator associated with browsing the console of said VNF. configured to: wherein performing the test is based on the uniform resource locator. The system of claim 12.
17. the test is a HyperText Transfer Protocol (HTTP) test associated with a request port and a uniform resource locator; wherein executing the test is based on the uniform resource locator and the request port. The system of claim 12.
18. the test is a Netconf test that uses a Netconf template, performing the test is based on the Netconf template; 18. A system according to any one of claims 12 to 17.
19. the test is an Ansible test that uses an Ansible playbook; running the test is based on the Ansible playbook; 18. A system according to any one of claims 12 to 17.
20. 1. A computer program comprising instructions, which when executed by at least one processor, cause the at least one processor to: providing an application associated with receiving user input for testing a virtual network function (VNF) using an edge gateway device remote from the VNF; receiving, via the application, a first user input associated with adding an image of a virtual machine instance to the application; downloading, via the application, the image based on the first user input; receiving, via the application, a second user input associated with instantiating a service associated with the virtual machine instance; instantiating, via the application, the service based on the second user input; receiving, via the application, a third user input associated with testing the VNF with the edge gateway device using the image and the service; and performing a test of the VNF using the edge gateway device using the image and the service based on the third user input via the application; A computer program that performs the following: