Skip to content
This repository has been archived by the owner on Jul 1, 2021. It is now read-only.

Update vmodl.db for vSphere 7.0U2 #209

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

agrare
Copy link
Contributor

@agrare agrare commented Jun 15, 2021

Use the public vSphere 7.0U2 vsphere-ws wsdl from (https://code.vmware.com/web/sdk/7.0/vsphere-management) to build the new Data types added in 7.0 U1 and U2

I used a modified version of my https://github.com/vmware/rbvmomi/blob/master/devel/verify-vim-wsdl.rb script to build the new data types from the vimService.xml wsdl file.

It isn't "production ready" yet as I had to make small modifications by had but I hope to enhance it to fully build the data types defined in it automatically in the future. I was able to get the auto-generated vmodl.db to be equal to my manual edits and so I've pushed those changes to the verify-vim-wsdl script.

Dump the master vmodl.db marshal to yaml:

adam@desktop:~/src/vmware/rbvmomi$ git checkout master 
Switched to branch 'master'
Your branch is up to date with 'upstream/master'.
adam@desktop:~/src/vmware/rbvmomi$ irb
>> require 'yaml'
>> File.write('vmodl-master.yml', Marshal.load(File.read('vmodl.db')).to_yaml)
=> 1766672

Dump the vmodl.db marshal from this branch to yaml:

adam@desktop:~/src/vmware/rbvmomi$ git checkout update_vmodl_db_7_0_U2 
Switched to branch 'update_vmodl_db_7_0_U2'
Your branch is up to date with 'agrare/update_vmodl_db_7_0_U2'.
adam@desktop:~/src/vmware/rbvmomi$ irb
>> require 'yaml'
>> File.write('vmodl-70U2.yml', Marshal.load(File.read('vmodl.db')).to_yaml)
=> 1771020

Diff the two:

$ diff vmodl-master.yml vmodl-70U2.yml 
74748a74749,74948
>   - ClusterComputeResourceVcsSlots
>   - DesiredSoftwareSpecComponentSpec
>   - FeatureEVCMode
>   - HttpNfcLeaseProbeResult
>   - VirtualMachineConnection
>   - VirtualMachineMksConnection
>   - VMwareDvsMtuCapability
>   - VsanDatastoreInfo
>   - HostSevInfo
>   - HostTpmNvTagEventDetails
>   - HostTrustAuthorityAttestationInfo
>   - GuestInfoCustomizationInfo
>   - vslmVClockInfo
> ClusterComputeResourceVcsSlots:
>   kind: data
>   props:
>   - name: host
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: ManagedObject
>   - name: totalSlots
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:int
>   wsdl_base: DynamicData
> DesiredSoftwareSpecComponentSpec:
>   kind: data
>   props:
>   - name: name
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   - name: version
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   wsdl_base: DynamicData
> FeatureEVCMode:
>   kind: data
>   props:
>   - name: mask
>     is-optional: true
>     is-array: true
>     version-id-ref:
>     wsdl_type: HostFeatureMask
>   - name: capability
>     is-optional: true
>     is-array: true
>     version-id-ref:
>     wsdl_type: HostFeatureCapability
>   - name: requirement
>     is-optional: true
>     is-array: true
>     version-id-ref:
>     wsdl_type: VirtualMachineFeatureRequirement
>   wsdl_base: ElementDescription
> HttpNfcLeaseProbeResult:
>   kind: data
>   props:
>   - name: serverAccessible
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:boolean
>   wsdl_base: DynamicData
> VirtualMachineConnection:
>   kind: data
>   props:
>   - name: label
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   - name: client
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   - name: userName
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   wsdl_base: DynamicData
> VirtualMachineMksConnection:
>   kind: data
>   props: []
>   wsdl_base: VirtualMachineConnection
> VMwareDvsMtuCapability:
>   kind: data
>   props:
>   - name: minMtuSupported
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:int
>   - name: maxMtuSupported
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:int
>   wsdl_base: DynamicData
> VsanDatastoreInfo:
>   kind: data
>   props:
>   - name: membershipUuid
>     is-optional: true
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   - name: accessGenNo
>     is-optional: true
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:int
>   wsdl_base: DatastoreInfo
> HostSevInfo:
>   kind: data
>   props:
>   - name: sevState
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   - name: maxSevEsGuests
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:long
>   wsdl_base: DynamicData
> HostTpmNvTagEventDetails:
>   kind: data
>   props: []
>   wsdl_base: HostTpmBootSecurityOptionEventDetails
> HostTrustAuthorityAttestationInfo:
>   kind: data
>   props:
>   - name: attestationStatus
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   - name: serviceId
>     is-optional: true
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   - name: attestedAt
>     is-optional: true
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:dateTime
>   - name: attestedUntil
>     is-optional: true
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:dateTime
>   - name: messages
>     is-optional: true
>     is-array: true
>     version-id-ref:
>     wsdl_type: LocalizableMessage
>   wsdl_base: DynamicData
> GuestInfoCustomizationInfo:
>   kind: data
>   props:
>   - name: customizationStatus
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   - name: startTime
>     is-optional: true
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:dateTime
>   - name: endTime
>     is-optional: true
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:dateTime
>   - name: errorMsg
>     is-optional: true
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:string
>   wsdl_base: DynamicData
> vslmVClockInfo:
>   kind: data
>   props:
>   - name: vClockTime
>     is-optional: false
>     is-array: false
>     version-id-ref:
>     wsdl_type: xsd:long
>   wsdl_base: DynamicData

Fixes #208

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

New Data Types added in vSphere 7.0 U1 and U2 missing from vmodl.db
2 participants