ESX/VIB: Difference between revisions
< ESX
(No difference)
|
Latest revision as of 21:27, 22 July 2014
5.x 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:
<vib>
<name>myvib</name>
<version>1.0-1</version>
<vendor>My Company</vendor>
<summary>Single line summary</summary>
<description>Multi line description</description>
<relationships>
<depends/>
<conflicts/>
<replaces/>
<provides/>
<compatibleWith/>
</relationships>
<system-requires>
<maintenance-mode>false</maintenance-mode>
</system-requires>
<!-- acceptance levels: certified / accepted / partner / community -->
<acceptance-level>community</acceptance-level>
<!-- not required, but avoid reboot: -->
<live-install-allowed>true</live-install-allowed>
<live-remove-allowed>true</live-remove-allowed>
</vib>
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:
<?xml version="1.0" ?>
<metadata>
<required>
<package>
<name>myvib</name>
<version>1.0-1</version>
<summary>Single line summary</summary>
</package>
<maintainer>
<vendor>My Comapny</vendor>
<vendor-email>support@mycompany.com</vendor-email>
</maintainer>
<install>
<target-product release="4.*">ESX</target-product>
<target-product release="4.*">ESXi</target-product>
<reboot-required>True</reboot-required>
<hostd-restart>False</hostd-restart>
<maintenance-mode>False</maintenance-mode>
</install>
</required>
<optional>
<package>
<depends></depends>
<conflicts></conflicts>
<replaces></replaces>
<provides></provides>
<description>
<para>This is my multi paragraph description.</para>
<para>What else can I say?</para>
</description>
<software-tags>
<tag></tag>
</software-tags>
</package>
</optional>
</metadata>
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" ?>
<bulletin>
<id>myvib-101</id>
<vendor>My Company</vendor>
<summary>My package summary</summary>
<severity>general</severity>
<category>general</category>
<releaseType>extension</releaseType>
<description>Description of this package.</description>
<kbUrl>http://support.mycompany.com/kb/1</kbUrl>
<contact>support@mycomapny.com</contact>
<releaseDate>2012-01-02T01:01:01</releaseDate>
<platforms>
<softwarePlatform productLineID="esx" version="4.*" />
<softwarePlatform productLineID="embeddedEsx" version="4.*" />
</platforms>
<vibList>
<!-- obtain the VIBID from: vibauthor -i -v myvib.vib -->
<vibID>cross_myvib_1.0-1</vibID>
</vibList>
</bulletin>
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 .