ESX/VIB

Valid Files
Valid locations are based on "certification" level.

Valid Certified and Accepted Level Files:

Can put files just about anywhere

Valid Partner Level Files: (also includes all community level paths)

/etc/vmware/vmware.lic /etc/vmware/support /etc/vmware/oem.xml /etc/vmware/backup.conf /usr/lib/vmware/hostd/docroot/client/customLinks.xml /etc/init\.d/.+

Valid Community Level Files:

/etc/vmware/shutdown/shutdown\.d/.+ /etc/vmware/pciid/.+ /etc/vmware/vm-support/.+ /etc/vmware/firewall/.+ /etc/vmware/service/.+ /etc/vmware/driver.map.d/.+ /etc/cim/.+ /etc/config/.+ /opt/.+ # We really want people to put their binaries in /opt/ as much as possible. /usr/lib/cim/.+ /usr/lib/pycim/.+ /usr/lib/hostprofiles/plugins/.+ /usr/lib/hostprofiles/locale/.+ /usr/lib/vmware/.+ /usr/lib/vmware-debug/.+ /usr/libexec/jumpstart/plugins/.+ /usr/share/hwdata/driver.pciids.d/.+ /var/lib/sfcb/registration/.+

VIB Descriptor
descriptor.xml: myvib 1.0-1   My Company Single line summary Multi line description   false  community true true

Build VIB
vibauthor -c -d descriptor.xml -t [src]

Note: This will create myvib-1.0-1.vib from the example above.

Sign VIB
vibauthor -s -k vmware.key -r vmware.cert -v myvib-1.0-1.vib

Note: May need to add '--force' if you are resigning an already signed VIB. Create Offline Bundle

rm -rf tmpout ; mkdir tmpout vibpublish -g -t "ESXi,5.*" -c default -s myvib-1.0-1.vib -o tmpout --create-offline-bundle myvib.zip -n MyCompany --vendor-code XXX

4.x VIB
NOTE: These same instructions will build a VIB that will work on ESX 4.x.

Valid Files
SUPPORTED DIRECTORIES The following directories are currently in the permitted set for esx-portable VIB file layout. Directory specifications, when they end with a wildcard (*), permit any subdirectories and files under the last named directory. For example, ’/etc/cim/*’ will permit any files  or  sub-directories under etc/cim/, but not under /etc/. For directory specification that do not have a wildcard, no subdirec- tories are permitted and files must exist only at the level of the last directory specified. For example, ’usr/sbin’ can  have files in /usr/sbin/, but not in /usr/. To allow files in /usr/ as well, the directory must be specified explicitly in the model: ’usr’.

VIB/ etc/cim/* etc/init.d             etc/vmware/init/init.d              etc/vmware/init/manifests etc/vmware/pciid/ lib/cim/* usr/lib/ext/* usr/lib/vmware/vmkmod/ usr/lib/vmware-debug/vmkmod/ usr/sbin var/lib/sfcb/stage/mofs/root/cimv2 var/lib/sfcb/stage/mofs/root/config var/lib/sfcb/stage/mofs/root/interop var/lib/sfcb/stage/mofs/* var/lib/sfcb/stage/regs usr/lib/vmware/hostd/docroot/client

VIB Descriptor
descriptor.xml:

 myvib 1.0-1        Single line summary My Comapny support@mycompany.com ESX <target-product release="4.*">ESXi</target-product> <reboot-required>True</reboot-required> <hostd-restart>False</hostd-restart> False</maintenance-mode> This is my multi paragraph description. What else can I say? <software-tags> </software-tags>

Build VIB
vibauthor -c 'esx-portable' -m descriptor.xml -t [src] -v myvib.vib

Sign VIB
vibauthor -s -k vmware.key -r vmware.cert -v myvib.vib

Note: May need to add '--force' if you are resigning an already signed VIB.

Offline Bundle Bulletin
bulletin.xml <?xml version="1.0" ?> <id>myvib-101</id> My Company My package summary general general <releaseType>extension</releaseType> Description of this package. <kbUrl>http://support.mycompany.com/kb/1</kbUrl> support@mycomapny.com <releaseDate>2012-01-02T01:01:01</releaseDate> <softwarePlatform productLineID="esx" version="4.*" /> <softwarePlatform productLineID="embeddedEsx" version="4.*" /> <vibList> <vibID>cross_myvib_1.0-1</vibID> </vibList>

Note: Obtain the VIBID from: vibauthor -i -v myvib.vib

Create Offline Bundle
vibpublish -g -t "ESX,4.*" -t "ESXi,4.*" -b bulletin.xml -e offline-bundle.zip -v.