This disclosure relates to an open virtualization format, and more particularly to a network port profile representation in an open virtualization format package.
Virtual networking enables virtual computer systems, also known as virtual machines, to be networked together. Virtual computer systems can connect to each other and to the physical network using virtual Ethernet ports and virtual Ethernet switches. Open virtualization format (OVF) is a standard for packaging and distributing virtual appliances or software to be run in virtual machines.
The system may be better understood with reference to the following drawings and description. In the figures, like reference numerals can designate corresponding parts throughout the different views.
The discussion below makes reference to using network profiles, also known as network port profiles, with open virtualization format (OVF). The networking profiles can describe a set of network attributes such as network access control, quality of service (QoS) such as traffic priority and bandwidth guarantees, VLAN tagging, and packet filtering. Mechanisms can incorporate and represent network port profiles with an OVF package, such as by embedding the network port profile in an OVF file, or referring to the network port profiles through a reference local to or remote from the OVF package. In some instances, the complexity and/or cost of virtual networking components may be reduced by managing the virtual networking components.
The virtualization platform 106 can be configured to deploy the virtual machines by a virtual machine administrator 108, which can be implemented together or separately from the network administrator 104, and can be implemented with software, hardware and/or firmware. If the virtual machine administrator 108 and the network administrator 104 are implemented separately, they can communicate with each other via communication line 110. Both the virtual machine administrator 108 and network administrator 104 can connect with a database 112 to store the network port profiles. The virtual machine administrator 108 can connect with an OVF templates repository 114 for storing OVF templates for developing, packaging and distributing OVF packages. The OVF packages can include a representation of a virtual server that contains a configured, tested operating system and middleware and software applications, along with the metadata that describes the virtual server. The OVF package can include different formats such as a set of files called set-of-file format or a single TAR (tape archive) file containing the same set of files, typically with a .ova extension.
OVF can include a packaging format that provides an ease of portability, security and transportation to enable independent software vendors (ISVs) to develop virtual appliances and deploy them on a wide variety of platforms. The virtual appliances can include pre-configured software stacks of one or more virtual machines (VM's). An OVF package may contain a single virtual machine with corresponding meta-data to serve as a template to deploy virtual machines for different user groups, such as different groups within an organization. Additionally or alternatively, the OVF package may contain multiple virtual machines representing a more complex application. The OVF packages can contain metadata, information about what tasks to perform with the virtual machines, how to deploy the virtual machines and how to network the virtual machines together. Other information in the OVF package may include the storage format and the virtual machine image format, such as VMDK or VHD, for a specific vendor, e.g., VMware, Citrix and Microsoft Hyper-V. After the OVF packages are developed, packaged, distributed, they can be deployed by the virtual machine administrator 108 to the virtualization platform 106 and then sent to a server or any hardware platform of network switches 102.
The OVF packages provide a format which allows for packaging, distributing and deploying virtual machines with a variety of hardware and operating systems without having to determine a specific vendor of the underlying hardware and operating systems. The format can include a file with a number files contained therein that allow all the content in the files and metadata to be interpreted. At least some of the files can include network port profile content, e.g., information about the network and network components, which allow OVF to be deployed and consistently configured at both the virtualization platform 106 and the network switches 102.
The network port profile can refer to a set of networking attributes that can be applied to one or more virtual machines. The application of network port profile to a virtual machine can result in a specific configuration of the network infrastructure to which the virtual machine connects to. The network port profiles can be used to represent networking attributes such as: Quality of Service (QoS), Media Access Control (MAC) Addresses, Virtual Local Area Network (VLAN) tags, MAC address/VLAN pairs, Traffic Priority, Flow Control, Bandwidth settings, packet filtering and Access Control Lists (ACLs). For example, to describe two virtual machines, such as a web server and storage server, for each the VLAN tags and minimum bandwidth setting, e.g. 2 Gigabits per second, can be identified by the network port profiles.
The OVF package can contain a descriptor and additional content such as one or more virtual disks or images in other formats such as an International Organization for Standardization (ISO) image or other archive file also known as a disk image 260 for optical disks. The content can accompany the OVF descriptor file or can be external to it and referred to via hypertext transfer protocol (HTTP). The OVF descriptor can be described in eXtensible Markup Language (XML) document that can describe the meta-data about the software installed on the virtual disks. The OVF descriptor can contain commonly needed meta-data organized into sections such as virtual hardware, disks, networks, resource requirements and customization parameters.
To provide runtime customizability, the OVF package can also provide an OVF environment document specification. The environment document can allow a standard and extensible way for a virtualization platform to communicate deployment configuration to the guest software for runtime customization, if necessary. The OVF environment can be included in an XML document containing deployment time customization information for the guest software such as MAC addresses, BIOS UUIDs, IP addresses, etc.
Other files that can be included in the OVF package include a manifest file 230, a certificate file 240, the virtual machine hard disk content (web.xxx) 250, including data and other information used to run the web server, the ISO image or disk image 260, and additional resource files. The manifest file can be used for integrity checks and the certificate file can be used for authenticity checks. The manifest file can contain the digest of all files in the package (e.g., except for the .mf and .cert files themselves), and the certificate file can contain a signed digest for the manifest file and a certificate.
Advantages to providing the network port profile in a document separate from the OVF file (e.g., like in
Further to the above, the network port profile can be obtained from the database 112 or other memory and associated with the virtual machine in several ways. The network port profile can be associated with the virtual machine during the packaging, distributing and/or deploying of the virtual machine. In one example, the network port profile is incorporated within the open virtualization format package. The network port profile can be directly embedded in the open virtualization format file (e.g.,
The methods, devices, and logic described above may be implemented in many different ways in many different combinations of hardware, software or both hardware and software. For example, all or parts of the system may include circuitry in a controller, a microprocessor, or an application specific integrated circuit (ASIC), or may be implemented with discrete logic or components, or a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits. All or part of the logic described above may be implemented as instructions for execution by a processor, controller, or other processing device and may be stored in a tangible or non-transitory machine-readable or computer-readable medium such as flash memory, random access memory (RAM) or read only memory (ROM), erasable programmable read only memory (EPROM) or other machine-readable medium such as a compact disc read only memory (CDROM), or magnetic or optical disk. Thus, a product, such as a computer program product, may include a storage medium and computer readable instructions stored on the medium, which when executed in an endpoint, computer system, or other device, cause the device to perform operations according to any of the description above.
The processing capability of the system may be distributed among multiple system components, such as among multiple processors and memories, optionally including multiple distributed processing systems. Parameters, databases, and other data structures may be separately stored and managed, may be incorporated into a single memory or database, may be logically and physically organized in many different ways, and may implemented in many ways, including data structures such as linked lists, hash tables, or implicit storage mechanisms. Programs may be parts (e.g., subroutines) of a single program, separate programs, distributed across several memories and processors, or implemented in many different ways, such as in a library, such as a shared library (e.g., a dynamic link library (DLL)). The DLL, for example, may store code that performs any of the system processing described above.
While various embodiments of the invention have been described, it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the invention. Accordingly, the invention is not to be restricted except in light of the attached claims and their equivalents.
Number | Date | Country | |
---|---|---|---|
61561668 | Nov 2011 | US |