5 Replies Latest reply on Feb 17, 2013 4:52 AM by Gopinath Keerthyrajan

    Difference betwen VIB update and VIB install

    GuyYafe Novice

      Hi,

      I am wondering what is the difference between VIB update and VIB install:

      From the documentation, it looks about the same, meaning that each can update an existing VIB.

      My goal is to have the ability to update an existing VIB by replacing just one of the files and not reinstalling the entire bundle.

       

      Thanks,

      Guy

        • 1. Re: Difference betwen VIB update and VIB install
          a.p. Guru
          Community WarriorsUser ModeratorsvExpert

          From http://pubs.vmware.com/vsphere-50/index.jsp?topic=%2Fcom.vmware.vcli.ref.doc_50%2Fesxcli_software.html

          software vib install

          Installs VIB packages from a URL or depot. VIBs may be installed, upgraded, or downgraded. ...

           

          software vib update

          Update installed VIBs to newer VIB packages. No new VIBs will be installed, only updates. ...

          André

          • 2. Re: Difference betwen VIB update and VIB install
            Gopinath Keerthyrajan Expert

            just refer the below link for more details, - so basically the install will over write all the realted files for the VIB but in Update it will just update the required files and some times you dont need a reboot. And update is the recommended method by the vmware.

             

             

            Notes:

             

             

             

            • To install or update a .zip file, use the -d option. To install or update a .vib file use the -v option.

            • Using the update  command is the recommended method for patch application. Using this  command applies all of the newer contents in a patch, including all  security fixes. Contents of the patch that are a lower revision than the  existing packages on the system are not applied.

            • Using the install command  overwrites the existing packages in the system with contents of the  patch you are installing, including installing new packages and removing  old packages. The install command may downgrade packages on the system and should be used with caution. If required, the install command can be used to downgrade a system (only for image profiles) when the --allow-downgrade flag is set.

            • The install method has the possibility of overwriting existing  drivers. If you are using 3rd party ESXi images, VMware recommends using  the update method to prevent an unbootable state.

            http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2008939

            http://pibytes.wordpress.com/2013/02/17/vmware-esxi-network-driver-install-and-upgrade/

            1 person found this helpful
            • 3. Re: Difference betwen VIB update and VIB install
              GuyYafe Novice

              Thanks you,

              Can you elaborate on the following:


              • Using the update  command is the recommended method for patch application. Using this  command applies all of the newer contents in a patch, including all  security fixes. Contents of the patch that are a lower revision than the  existing packages on the system are not applied.

               

              How does Esxi decides which of the contents is higher revision?

              Do you mean the version attribute in the descriptor file? If so, is there a convention for versioning?

              Is there a way to have only one of the files in the VIB updated and keep the others?

              • 4. Re: Difference betwen VIB update and VIB install
                Gopinath Keerthyrajan Expert

                Regarding to your questions -

                 

                How does Esxi decides which of the contents is higher revision?

                Do you mean the version attribute in the descriptor file? If so, is there a convention for versioning?

                Is there a way to have only one of the files in the VIB updated and keep the others? - The system will do automatically if you use the command UPDATE, and i dont think it will be possible, and with any package management system also you can controll.

                 

                I dont think it will be possible, just like any package manage system the esx package management will also behave in same manner like APPTIUDE in debian, and RPM in redhat etc. So if you install the patch or driver using a VIB package, it will automatically detects the current version and related files and safely it does all the things. It is inteligent !!

                in the XML descriptor which you find after extracting the VIB file, the version section is just telling the version of the package, it wont help you to control the installation, and version convention i am  not aware.

                • 5. Re: Difference betwen VIB update and VIB install
                  GuyYafe Novice

                  Thanks you for your answer.

                  Still I can't realize how the system determines which package is newer in order to update the current one. I think the decision is related to the version attribute in the XML descriptor file:

                  I have installed a package with version '1' (written as the value of the version attribute in the descriptor file).

                  I creates three different VIBs, differ from the installed one only by that version attribute:

                  When the value was '0', the package was installed and I got the following message:

                   

                   

                   

                  esxcli software vib update --no-sig-check -v /vmfs/volumes/datastore1/package.vib
                  Installation Result
                     Message: Host is not changed.
                     Reboot Required: false
                     VIBs Installed:
                     VIBs Removed:
                     VIBs Skipped: package_0

                   

                  Next I tried installing the VIB with version value '1':

                   

                  ~ # esxcli software vib update --no-sig-check -v /vmfs/volumes/datastore1/package.vib

                  [TypeError]

                  can't compare datetime.datetime to NoneType

                  Please refer to the log file for more details.

                   

                  Finally I installed the VIB with the version value '2':

                   

                  ~ # esxcli software vib update --no-sig-check -v /vmfs/volumes/datastore1/package.vib

                  Installation Result

                     Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.

                     Reboot Required: true

                     VIBs Installed: package_2

                     VIBs Removed: package_1

                     VIBs Skipped: