What is VIB?
A VIB is abbreviation for vSphere Installation Bundle. A VIB is an ESXi software package. VMware and its partners package solutions, drivers, CIM providers, and applications that extend the ESXi platform as VIB’s. You can use VIB’s to create and customize ISO images or to upgrade ESXi hosts by installing VIB’s onto the hosts.
VIB is comprised of three parts:
- A file archive
- An XML descriptor file
- A signature file
- Also referred as the VIB payload which contains the files that make up the VIB.
- When a VIB is added to an ESXi image, the files in the VIB payload are installed on the host
- This file describes the contents of the VIB.
- Included with the description is important information about the requirements for installing the VIB, dependencies, compatibility issues, and whether the VIB can be installed without rebooting.
- This is an electronic signature used to verify the level of trust associated with the VIB.
- The acceptance level not only helps protect the integrity of the VIB, but it also identifies who created the VIB and the amount of testing and verification that has been done.
VMware VIB Acceptance Levels:
VMware Acceptance Levels can be categorized as below.
- Acceptance levels for VIB’s:
- Cannot be modified.
- Comes with release of VIB.
- Acceptance levels for hosts:
- Can be modified.
Acceptance levels for VIB’s:
VIB is released with an acceptance level which cannot be changed later.
The host’s acceptance level must be the same or less restrictive than the acceptance level of any VIB you want to add to the host.
Acceptance levels for hosts:
Below are the possible acceptance levels that can be configured in ESXi host.
- Most stringent requirements for VIB’s at this acceptance level.
- Thorough testing is done on VIB’s and are fully equivalent to VMware in-house Quality Assurance testing for the same technology.
- IOVP drivers are published at this level as of today.
- VMware takes support calls for VIB’s with this acceptance level.
- VIB’s go through verification testing, but the tests do not include the test of every function of the software.
- The partner runs the tests and VMware verifies the result for VIB’s at this acceptance level.
- CIM providers and PSA plug-ins are example of the VIB’s published at this level.
- VMware directs support calls for VIB’s with this acceptance level to the partner’s support organization.
- VIB’s with this acceptance level are published by a partner that VMware trusts.
- The partner performs all testing. VMware does not verify the results of the tests.
- This level is used for a new or non-mainstream technology that partners want to enable for VMware systems.
- VMware directs support calls for VIB’s to the partner’s support organization for VIB’s at this acceptance level.
- This acceptance level is for VIB’s that are created by individuals or companies outside of VMware partner programs.
- VIB’s at this level are not tested through any of the VMware-approved testing program
- VIB’s with this acceptance level are not supported by VMware Technical Support or by a VMware partner.
In order to protect the security and integrity of ESXi host, do not install unsigned i.e. community-supported, VIB’s on ESXi hosts. An unsigned VIB contains code that is not certified by, accepted by, or supported by VMware or its partners.
Community-supported VIB’s do not have a digital signature.
How to Modify acceptance level:
Use ESXCLI commands to set an acceptance level for a host.
- Connect to each ESXi host and verify that the acceptance level is set to VMwareCertified or VMwareAccepted by running the following command.
esxcli software acceptance get
- If the host acceptance level is not VMwareCertified or VMwareAccepted, determine whether any of the VIBs are not at the VMwareCertified or VMwareAccepted level by running the following commands.
esxcli software vib list
- Remove any VIBs that are at the PartnerSupported or CommunitySupported level by running the following command.
esxcli software vib remove –vibname vib
- Change the acceptance level of the host by running the following command.
esxcli software acceptance set –level acceptance_level