Pluggable test services for hyper-converged infrastructure
Patent Information
- Application Number
- CN202210164637.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-02-22
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2042-02-22
AI Technical Summary
高度可配置的资源至少部分地由于诸如用一个或多个HCI设备实现的多节点集群之类的复杂资源可以假定的允许配置状态的绝对数量而存在测试问题,使得实现充分的测试覆盖具有挑战性
[0008]应理解,前面的一般性描述和下面的详细描述都是示例性和解释性的,并不限制本公开中阐述的权利要求。
Smart Images

Figure CN116680159B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the testing of information processing systems, and more specifically, to the testing of systems with hyperconverged infrastructure. Background Technology
[0002] As the value and use of information continue to increase, individuals and businesses are seeking more ways to process and store information. One option available to users is an information processing system. Information processing systems typically process, compile, store, and / or communicate information or data for business, personal, or other purposes, allowing users to leverage the value of this information. Because the needs and requirements of technology and information processing vary among different users or applications, information processing systems may also vary in terms of what information is processed, how it is processed, how much information is processed, stored, or communicated, and how quickly and efficiently it can be processed, stored, or communicated. Variations in information processing systems allow them to be general-purpose or configured for specific users or purposes (such as financial transaction processing, flight booking, corporate data storage, or global communications). Furthermore, information processing systems may include a variety of hardware and software components that can be configured to process, store, and communicate information, and may include one or more computer systems, data storage systems, and networking systems.
[0003] Information processing systems can be implemented using hyperconverged infrastructure (HCI), where server-class hardware is combined with a tightly integrated set of software components to provide virtualized and centrally managed compute, storage, and networking resources. Examples of commercially distributed HCI products include Dell Technologies' VxRail series of HCI appliances. HCI resources offer customers a variety of configuration and operational combinations. The highly configurable nature of these resources presents testing challenges, at least in part, due to the sheer number of permissible configuration states that can be assumed for complex resources such as multi-node clusters implemented with one or more HCI appliances, making adequate test coverage difficult.
[0004] In addition to potential test coverage issues, highly configurable resources are susceptible to problems where the goal pursued by two different sequences of operations does not produce a common result, or where the same sequence of operations applied to different versions of the underlying hardware produces two different results. Summary of the Invention
[0005] The information processing systems and methods disclosed herein can perform testing and test management operations, wherein the information processing resources are equipped with programming hooks, referred to herein as extended test hooks, corresponding to operations associated with the resources. The disclosed systems and methods can respond to the detection of an extended test hook by executing extended test operations. In at least some embodiments, the extended test operation includes selecting a specific test service container from one or more extended test service containers (Docker containers) associated with the extended test hook. The specific test service container can then be downloaded and executed, subsequently generating a test report corresponding to that specific test service container.
[0006] Extended test hooks can be triggered each time a corresponding operation is performed. In other cases, triggering extended test hooks may require one or more additional prerequisites or conditions. Operations can be associated with standard test configurations or frameworks, where pre-check tests are performed before the operation and post-check tests are performed after the operation. In such implementations, extended test operations may include performing one or more tests in addition to pre-check and post-check tests. Test service containers can be maintained in public or private clouds. In some implementations, newly developed test service containers are stored in the cloud, and in this case, a decision is made between executing a local test service container or a cloud test service. Some implementations allow and support customer-defined test service containers. These customer-defined test service containers may initially be stored by default as dedicated test service containers within a local test development platform. Based on the request and approval process of the customer's IT administrator, customer-defined test service containers may be published and uploaded to cloud-based resources for use in the absence of other clusters, other customers, etc. Furthermore, the IT administrator may determine whether the test is suitable to be included in an existing extended test service. In this scenario, the administrator can link a customer-defined test service container to an extended test hook. In this case, the customer-defined test service container can be automatically invoked the next time the extended test hook is triggered.
[0007] The technical advantages of this disclosure will be apparent to those skilled in the art from the accompanying drawings, description, and claims. The objectives and advantages of the embodiments will be realized and achieved, at least by means of the elements, features, and combinations particularly pointed out in the claims.
[0008] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory, and do not limit the claims set forth in this disclosure. Attached Figure Description
[0009] A more complete understanding of this embodiment and its advantages can be obtained by referring to the following description in conjunction with the accompanying drawings, in which the same reference numerals denote the same features, and wherein:
[0010] Figure 1 An exemplary platform for implementing containerized testing services is shown;
[0011] Figure 2 A flowchart for using a test service container is shown; and
[0012] Figure 3 It shows the fit with Figure 1 and Figure 2 Selected components of an information processing system that combine methods and systems. Detailed Implementation
[0013] By reference Figures 1 to 3 The exemplary embodiments and their advantages can be best understood by referring to them, wherein similar reference numerals are used to indicate similar and corresponding parts unless otherwise expressly indicated.
[0014] For the purposes of this disclosure, an information processing system may include any tool or set of tools operable to compute, classify, process, transmit, receive, retrieve, create, switch, store, display, indicate, detect, record, reproduce, dispose of, or utilize information, intelligence, or data of any form for commercial, scientific, control, entertainment, or other purposes. For example, an information processing system may be a personal computer, a personal digital assistant (PDA), a consumer electronics device, a network storage device, or any other suitable device, and may vary in size, shape, performance, functionality, and price. An information processing system may include memory, one or more processing resources (such as a central processing unit (“CPU”), a microcontroller, or hardware or software control logic. Additional components of the information processing system may include one or more storage devices, one or more communication ports for communicating with external devices, and various input / output (“I / O”) devices (such as a keyboard, mouse, and video display). The information processing system may also include one or more buses operable to transmit communication between various hardware components.
[0015] Additionally, the information processing system may include firmware for controlling and / or communicating with, for example, hard disk drives, network circuitry, memory devices, I / O devices, and other peripheral devices. For example, a management program and / or other components may include firmware. As used in this disclosure, firmware includes software embedded in information processing system components for performing predefined tasks. Firmware is typically stored in non-volatile memory or memory that does not lose stored data upon power failure. In some embodiments, firmware associated with an information processing system component is stored in non-volatile memory accessible to one or more information processing system components. In the same or alternative embodiments, firmware associated with an information processing system component is stored in non-volatile memory dedicated to and including as a part of that component.
[0016] For the purposes of this disclosure, computer-readable media may include any tool or set of tools capable of retaining data and / or instructions for a period of time. Computer-readable media may include, but is not limited to: storage media such as direct access storage devices (e.g., hard disk drives or floppy disks), sequential access storage devices (e.g., magnetic tape drives), compact optical discs, CD-ROMs, DVDs, random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and / or flash memory; and communication media such as wires, optical fibers, microwaves, radio waves, and other electromagnetic and / or optical carrier waves; and / or any combination of the foregoing.
[0017] For the purposes of this disclosure, "information processing resources" can be broadly used to refer to any component system, apparatus, or device of an information processing system, including but not limited to: processors, service processors, basic input / output systems (BIOS), buses, memory, I / O devices and / or interfaces, storage resources, network interfaces, motherboards, and / or any other components and / or elements of the information processing system.
[0018] In the following description, details are illustrated by way of example to facilitate discussion of the disclosed subject matter. However, it will be apparent to those skilled in the art that the disclosed embodiments are exemplary and not exhaustive of all possible embodiments.
[0019] Throughout this disclosure, the hyphenated form of the reference numerals refers to a specific instance of an element, while the non-hyphenated form refers to an element in general. Thus, for example, “Apparatus 12-1” refers to an instance of a category of apparatuses that can be collectively referred to as “Apparatus 12”, and any one of them can be generally referred to as “Apparatus 12”.
[0020] As used herein, when two or more elements are referred to as “coupled” to each other, such terms indicate that such two or more elements are in electronic communication, mechanical connection (including thermal and fluid communication, thermal or mechanical connection), whether connected indirectly or directly, with or without intermediate elements.
[0021] Now refer to the attached diagram, Figure 1 A containerized test service environment 100 suitable for implementing containerized, customer-definable test services is shown, which is sometimes referred to herein as a test service container. Figure 1The containerized test service environment 100 shown provides a container-based mechanism for deploying standard test services along with or within information processing system resources or products. The disclosed containerized test service environment implements a distributed library of test service containers, including public test service containers residing in test service framework 120 (which can be uploaded to the cloud) and test service containers residing in the cloud (which can be downloaded to operation framework 110). These public test service containers can be downloaded to information processing resources or uploaded to the cloud.
[0022] The disclosed test service container enables development teams to quickly obtain test data statistics and identify commonly used customer usage and / or test scenarios. In some implementations, the disclosed framework 100 is extended to a test development framework that can be used to transform test scenarios into services. The disclosed framework 100 can extend this functionality by implementing containerized test services.
[0023] Figure 1 The containerized testing service environment 100 shown, for clarity and brevity, will be referred to as testing environment 100 in the following text, and includes an operating framework 110, a testing service framework 120, and a public cloud platform 130. Figure 1 The operational framework 110 shown includes operations 113, such as operations performed by a specific information processing resource 150, as well as pre-checks 112 performed before the execution of operations 113 and post-checks 114 performed after the execution of operations 113.
[0024] Information processing resource 105 may be equipped with a programming hook, referred to herein as hook 107. In at least some embodiments, hook 107 may define a state or event that triggers extended tests as disclosed herein. If hook 107 is triggered, test service container 102 in cloud resource 130 or test service container 122 in test service framework 120 may be downloaded or otherwise provided to operation framework 110 for execution. When an extended test is triggered, the illustrated framework 100 may compare test service container 102 within cloud resource 130 with test service container 122 on local test framework 120. Thus, the illustrated framework 100 selects a specific test service container to download and execute.
[0025] The framework 100 shown can be used to enable customers to define custom test services using new test service containers or by modifying existing test service containers. Typically, by default, new and modified customer-specified test services are maintained in a dedicated / local environment. Such dedicated, local, customer-defined test services... Figure 1 The figure is indicated by reference numeral 124. In some cases, Figure 1 The dedicated client testing service 124 can be converted into a public client-defined testing service, such as... Figure 1The test service 126 is shown. This may happen, for example, when it is subsequently deemed appropriate to share the test service container 126 across different clusters and / or clients.
[0026] After converting the dedicated test service container 124 into a public test service container 126, the public test service container 126 can be uploaded to cloud resource 130. An exemplary customer-defined test service 136 is described within cloud resource 130.
[0027] Although the customer-defined test service 136 is depicted within the cloud platform 130 and can be publicly accessed, it cannot be automatically invoked as part of the extended test service unless and until the container is linked to the extended test hook 107. Linking the customer-defined test service container to the extended test hook 107 will incorporate the customer-defined test service container into the automated extended test that starts when hook 107 is triggered. To link the customer-defined test service container to hook 107, a request 132 can be sent to the development team to determine whether the public test service container should be identified as a public service. If the development team determines that an applicable test service container is suitable for use as a public service, the test service container can be linked to hook 107, where it can be maintained by the development team and shared accordingly among all customers.
[0028] Now for reference Figure 2 The flowchart illustrates method 200 for implementing a containerized test service. The method begins by providing (box 202) an information processing resource with extended test hooks, where each hook corresponds to an operation associated with the resource. For example, the resource could be an HCI device or a node within an HCI device, and the operation that triggers the hook could be a reconfiguration operation. A hook can represent code that executes when it is triggered. In this example, when a reconfiguration of an applicable resource is performed, an extended test container can be downloaded. Figure 2 In response to the detection of an extended test hook trigger (box 203), extended test operations are performed in boxes 204-210. A specific test service container is selected from one or more extended test service containers associated with the extended test hook (box 204). The selected test service container is then downloaded and executed (box 206), and the test report for the executed container is executed (box 210).
[0029] Now for reference Figure 3 , Figure 1 and Figure 2 Any one or more of the elements shown can be used as a component of Figure 3The information processing system 300 shown illustrates an information processing system or is implemented within that system. The illustrated information processing system includes one or more general-purpose processors or central processing units (CPUs) 301 communicatively coupled to memory resources 310 and input / output hubs 320, with various I / O resources and / or components communicatively coupled to the input / output hubs. Figure 3 The I / O resources explicitly depicted include a network interface 340, commonly referred to as a network interface card (NIC), storage resources 330, and additional I / O devices, components, or resources 350, which, as non-limiting examples, include a keyboard, mouse, monitor, printer, speaker, microphone, etc. The illustrated information processing system 300 includes a baseboard management controller (BMC) 360 that provides out-of-band management resources and other features and services, which can be coupled to a management server (not depicted). In at least some embodiments, the BMC 360 can manage the information processing system 300 even when the information processing system 300 is powered off or powered on to a standby state. The BMC 360 may include a processor, memory, an out-of-band network interface separate from and physically isolated from the in-band network interface of the information processing system 300, and / or other embedded information processing resources. In some embodiments, the BMC 360 may include or be an integral part of a remote access controller (e.g., a Dell remote access controller or an integrated Dell remote access controller) or a chassis management controller.
[0030] This disclosure covers all changes, substitutions, variations, alterations, and modifications to the exemplary embodiments herein that would be contemplated by those skilled in the art. Similarly, where appropriate, the appended claims cover all changes, substitutions, variations, alterations, and modifications to the exemplary embodiments herein that would be contemplated by those skilled in the art. Furthermore, references in the appended claims to a device or system or a component of a device or system adapted to, arranged to, capable of, configured to, enabled to, operable to, or operated to perform a particular function cover said device, system, or component, whether or not said device, system, component, or said particular function is activated, turned on, or unlocked, provided that said device, system, or component is adapted to, arranged to, capable of, configured to, enabled to, operable to, or operated to perform a particular function.
[0031] All examples and conditional language listed herein are intended for pedagogical purposes to aid the reader's understanding of the concepts of this disclosure and those contributed by the inventors to advance the art, and are not to be construed as being limited to these specifically listed examples and conditions. While embodiments of this disclosure have been described in detail, it should be understood that various changes, substitutions, and modifications may be made thereto without departing from the spirit and scope of this disclosure.
Claims
1. A method for an information processing system, comprising: Provide information processing resources, which have extended test hooks corresponding to operations associated with the information processing resources; In response to the detection of the extended test hook, an extended test operation is executed, wherein the extended test operation includes: Select a specific test service container from one or more extended test service containers associated with the extended test hook; Download and execute the specific test service container; and Generate a test report corresponding to the specific test service container. The selection of the specific test service container includes: selecting a customer-defined test service container, and the extended test operation further includes: linking the customer-defined test service container to the extended test hook.
2. The method of claim 1, wherein detecting the triggering of the extended test hook includes detecting the execution of the operation.
3. The method of claim 2, wherein performing the operation includes performing a pre-check associated with the operation before performing the operation and performing a post-check associated with the operation after performing the operation, wherein the extended test operation includes performing one or more tests in addition to the pre-check and the post-check.
4. The method of claim 1, wherein selecting the specific test service container includes selecting between a cloud-resident test service container and a local test service container.
5. The method of claim 1, further comprising: Upload the customer-defined test service container to the cloud library of test service containers.
6. An information processing system, comprising: Central Processing Unit (CPU); A computer-readable memory accessible by the CPU, comprising processor-executable instructions that, when executed by the CPU, cause the system to perform test management operations, wherein the test management operations include: Provide information processing resources, which have extended test hooks corresponding to operations associated with the information processing resources; In response to the detection of the extended test hook, an extended test operation is executed, wherein the extended test operation includes: Select a specific test service container from one or more extended test service containers associated with the extended test hook; Download and execute the specific test service container; and Generate a test report corresponding to the specific test service container. The selection of the specific test service container includes: selecting a customer-defined test service container, and the extended test operation further includes: linking the customer-defined test service container to the extended test hook.
7. The information processing system of claim 6, wherein detecting the triggering of the extended test hook includes detecting the execution of the operation.
8. The information processing system of claim 7, wherein performing the operation includes performing a pre-check associated with the operation before performing the operation and performing a post-check associated with the operation after performing the operation, wherein the extended testing operation includes performing one or more tests in addition to the pre-check and the post-check.
9. The information processing system of claim 6, wherein selecting the specific test service container includes selecting between a cloud-resident test service container and a local test service container.
10. The information processing system of claim 6, wherein the extended testing operation includes: Upload the customer-defined test service container to the cloud library of test service containers.
Citation Information
Patent Citations
Computer implemented system and method and computer program product for a test framework for orchestration workflows
US10019344B1
Analysis and testing of network devices
US10263869B1