mirror of
https://github.com/ansible/awx.git
synced 2026-05-19 14:57:39 -02:30
Vmware was published
implement vmware inventory plugin Enable the previously broken properties
This commit is contained in:
@@ -2226,7 +2226,8 @@ class gce(PluginFileInjector):
|
|||||||
|
|
||||||
|
|
||||||
class vmware(PluginFileInjector):
|
class vmware(PluginFileInjector):
|
||||||
# plugin_name = 'vmware_vm_inventory' # FIXME: implement me
|
plugin_name = 'vmware_vm_inventory' # FIXME: implement me
|
||||||
|
initial_version = '2.10' # Only tested with collection version, TODO: test 2.9 as candidate
|
||||||
ini_env_reference = 'VMWARE_INI_PATH'
|
ini_env_reference = 'VMWARE_INI_PATH'
|
||||||
base_injector = 'managed'
|
base_injector = 'managed'
|
||||||
namespace = 'community'
|
namespace = 'community'
|
||||||
@@ -2236,6 +2237,227 @@ class vmware(PluginFileInjector):
|
|||||||
def script_name(self):
|
def script_name(self):
|
||||||
return 'vmware_inventory.py' # exception
|
return 'vmware_inventory.py' # exception
|
||||||
|
|
||||||
|
|
||||||
|
def inventory_as_dict(self, inventory_update, private_data_dir):
|
||||||
|
ret = super(vmware, self).inventory_as_dict(inventory_update, private_data_dir)
|
||||||
|
ret['properties'] = [
|
||||||
|
"name",
|
||||||
|
"config.cpuHotAddEnabled",
|
||||||
|
"config.cpuHotRemoveEnabled",
|
||||||
|
"config.instanceUuid",
|
||||||
|
"config.hardware.numCPU",
|
||||||
|
"config.template",
|
||||||
|
"config.name",
|
||||||
|
"guest.hostName",
|
||||||
|
"guest.ipAddress",
|
||||||
|
"guest.guestId",
|
||||||
|
"guest.guestState",
|
||||||
|
"runtime.maxMemoryUsage",
|
||||||
|
"customValue",
|
||||||
|
# not in the defaults
|
||||||
|
"vpmcsupported",
|
||||||
|
"vpmcenabled",
|
||||||
|
"vmxconfigchecksum",
|
||||||
|
"vmstorageobjectid",
|
||||||
|
"vmnpivwwnupdatesupported",
|
||||||
|
"vmnpivwwnsupported",
|
||||||
|
"vmnpivwwndisablesupported",
|
||||||
|
"vmfsnativesnapshotsupported",
|
||||||
|
"vm",
|
||||||
|
"virtualmmuusagesupported",
|
||||||
|
"virtualmmuusageignored",
|
||||||
|
"virtualexecusageignored",
|
||||||
|
"vflashcachereservation",
|
||||||
|
"vflashcacheallocation",
|
||||||
|
"version",
|
||||||
|
"vassertsenabled",
|
||||||
|
"vappconfig",
|
||||||
|
"value",
|
||||||
|
"uuid",
|
||||||
|
'triggeredalarmstate',
|
||||||
|
'toolsversionstatus2',
|
||||||
|
'toolsversionstatus',
|
||||||
|
'toolsversion',
|
||||||
|
'toolsupdatestatus',
|
||||||
|
'toolssynctimesupported',
|
||||||
|
'toolsstatus',
|
||||||
|
'toolsrunningstatus',
|
||||||
|
'toolsrebootpredictsupported',
|
||||||
|
'toolsinstalltype',
|
||||||
|
'toolsinstallermounted',
|
||||||
|
'toolsautoupdatesupported',
|
||||||
|
'tools',
|
||||||
|
'timestamp',
|
||||||
|
'template',
|
||||||
|
'tag',
|
||||||
|
'swapstorageobjectid',
|
||||||
|
'swapplacementsupported',
|
||||||
|
'swapplacement',
|
||||||
|
'suspendtime',
|
||||||
|
'suspendinterval',
|
||||||
|
'summary', # vim.vm.Summary
|
||||||
|
'storage', # vim.vm.StorageInfo
|
||||||
|
'snapshotoperationssupported',
|
||||||
|
'snapshotinbackground',
|
||||||
|
'snapshotconfigsupported',
|
||||||
|
'snapshot',
|
||||||
|
'settingvideoramsizesupported',
|
||||||
|
'settingscreenresolutionsupported',
|
||||||
|
'settingdisplaytopologysupported',
|
||||||
|
'settingdisplaytopologymodessupported',
|
||||||
|
'sesparsedisksupported',
|
||||||
|
'securebootsupported',
|
||||||
|
'screen',
|
||||||
|
'scheduledhardwareupgradeinfo',
|
||||||
|
's1acpimanagementsupported',
|
||||||
|
'runtime', # vim.vm.RuntimeInfo
|
||||||
|
'rootsnapshot',
|
||||||
|
'reverttosnapshotsupported',
|
||||||
|
'resourcepool',
|
||||||
|
'repconfig',
|
||||||
|
'recordreplaysupported',
|
||||||
|
'recordreplaystate',
|
||||||
|
'recenttask',
|
||||||
|
'quiescedsnapshotssupported',
|
||||||
|
'quiescedforkparent',
|
||||||
|
'quickstats',
|
||||||
|
'question',
|
||||||
|
'powerstate',
|
||||||
|
'powerpolicy',
|
||||||
|
'poweredonmonitortypechangesupported',
|
||||||
|
'poweredoffsnapshotssupported',
|
||||||
|
'pervmevcsupported',
|
||||||
|
'permission',
|
||||||
|
'perdatastoreusage',
|
||||||
|
'paused',
|
||||||
|
'parentvapp',
|
||||||
|
'overallstatus',
|
||||||
|
'onlinestandby',
|
||||||
|
'offlinefeaturerequirement',
|
||||||
|
'nummksconnections',
|
||||||
|
'npivwwnonnonrdmvmsupported',
|
||||||
|
'npivworldwidenametype',
|
||||||
|
'npivtemporarydisabled',
|
||||||
|
'npivportworldwidename',
|
||||||
|
'npivonnonrdmdisks',
|
||||||
|
'npivnodeworldwidename',
|
||||||
|
'npivdesiredportwwns',
|
||||||
|
'npivdesirednodewwns',
|
||||||
|
'networkshaper',
|
||||||
|
'network', # vim.dvs.DistributedVirtualPortgroup
|
||||||
|
'net',
|
||||||
|
'nestedhvsupported',
|
||||||
|
'nestedhvenabled',
|
||||||
|
'needsecondaryreason',
|
||||||
|
'name',
|
||||||
|
'multiplesnapshotssupported',
|
||||||
|
'multiplecorespersocketsupported',
|
||||||
|
'modified',
|
||||||
|
'minrequiredevcmodekey',
|
||||||
|
'migrateencryption',
|
||||||
|
'messagebustunnelenabled',
|
||||||
|
'messagebussupported',
|
||||||
|
'memorysnapshotssupported',
|
||||||
|
'memoryreservationlocksupported',
|
||||||
|
'memoryreservationlockedtomax',
|
||||||
|
'memoryoverhead',
|
||||||
|
'memoryhotaddenabled',
|
||||||
|
'memoryallocation',
|
||||||
|
'memoryaffinity',
|
||||||
|
'maxmksconnections',
|
||||||
|
'maxmemoryusage',
|
||||||
|
'maxcpuusage',
|
||||||
|
'managedby',
|
||||||
|
'locksnapshotssupported',
|
||||||
|
'locationid',
|
||||||
|
'layoutex',
|
||||||
|
'layout',
|
||||||
|
'latencysensitivity',
|
||||||
|
'keyid',
|
||||||
|
'ipstack',
|
||||||
|
'ipaddress',
|
||||||
|
'interactiveguestoperationsready',
|
||||||
|
'instantclonefrozen',
|
||||||
|
'instanceuuid',
|
||||||
|
'initialoverhead',
|
||||||
|
'hotplugmemorylimit',
|
||||||
|
'hotplugmemoryincrementsize',
|
||||||
|
'hostname',
|
||||||
|
'hostbasedreplicationsupported',
|
||||||
|
'host',
|
||||||
|
'hardware',
|
||||||
|
'gueststatechangesupported',
|
||||||
|
'gueststate',
|
||||||
|
'guestoperationsready',
|
||||||
|
'guestkernelcrashed',
|
||||||
|
'guestintegrityinfo',
|
||||||
|
'guestid',
|
||||||
|
'guestheartbeatstatus',
|
||||||
|
'guestfullname',
|
||||||
|
'guestfamily',
|
||||||
|
'guestautolocksupported',
|
||||||
|
'guestautolockenabled',
|
||||||
|
'guest', # Object of type 'vim.vm.GuestInfo' is not JSON serializable
|
||||||
|
'generationinfo',
|
||||||
|
'ftinfo',
|
||||||
|
'forkconfiginfo',
|
||||||
|
'flags',
|
||||||
|
'firmware',
|
||||||
|
'files',
|
||||||
|
'featurerequirementsupported',
|
||||||
|
'featurerequirement',
|
||||||
|
'featuremask',
|
||||||
|
'faulttolerancestate',
|
||||||
|
'extraconfig',
|
||||||
|
'effectiverole',
|
||||||
|
'dynamictype',
|
||||||
|
'dynamicproperty',
|
||||||
|
'disksharessupported',
|
||||||
|
'diskonlysnapshotonsuspendedvmsupported',
|
||||||
|
'disk',
|
||||||
|
'disablesnapshotssupported',
|
||||||
|
'device',
|
||||||
|
'defaultpowerops',
|
||||||
|
'datastoreurl',
|
||||||
|
'datastore', # some kind of datastore object
|
||||||
|
'dasvmprotection', # Object of type 'vim.Datastore' is not JSON serializable
|
||||||
|
'customvalue',
|
||||||
|
'cryptostate',
|
||||||
|
'createdate',
|
||||||
|
'cpuhotremoveenabled',
|
||||||
|
'cpuhotaddenabled',
|
||||||
|
'cpufeaturemasksupported',
|
||||||
|
'cpufeaturemask',
|
||||||
|
'cpuallocation',
|
||||||
|
'cpuaffinity',
|
||||||
|
'runtime.consolidationneeded',
|
||||||
|
'consolepreferencessupported',
|
||||||
|
'consolepreferences',
|
||||||
|
'connectionstate',
|
||||||
|
'configstatus',
|
||||||
|
'configissue',
|
||||||
|
'config', # Object of type 'vim.vm.ConfigInfo' is not JSON serializable
|
||||||
|
'cleanpoweroff',
|
||||||
|
'changeversion',
|
||||||
|
'changetrackingsupported',
|
||||||
|
'changetrackingenabled',
|
||||||
|
'capability', # non-python object, bug
|
||||||
|
'canconnectusbdevices',
|
||||||
|
'boottime',
|
||||||
|
'bootretryoptionssupported',
|
||||||
|
'bootoptionssupported',
|
||||||
|
'bootoptions',
|
||||||
|
'availablefield',
|
||||||
|
'appstate',
|
||||||
|
'appheartbeatstatus',
|
||||||
|
'ansible_uuid',
|
||||||
|
'ansible_ssh_host',
|
||||||
|
'ansible_host',
|
||||||
|
'annotation',
|
||||||
|
'alternateguestname'
|
||||||
|
]
|
||||||
|
return ret
|
||||||
|
|
||||||
def build_script_private_data(self, inventory_update, private_data_dir):
|
def build_script_private_data(self, inventory_update, private_data_dir):
|
||||||
cp = configparser.RawConfigParser()
|
cp = configparser.RawConfigParser()
|
||||||
credential = inventory_update.get_cloud_credential()
|
credential = inventory_update.get_cloud_credential()
|
||||||
|
|||||||
@@ -9,5 +9,5 @@ collections:
|
|||||||
- name: theforeman.foreman # needs inventory plugin published
|
- name: theforeman.foreman # needs inventory plugin published
|
||||||
- name: google.cloud # https://github.com/ansible-collections/ansible_collections_google/pull/167
|
- name: google.cloud # https://github.com/ansible-collections/ansible_collections_google/pull/167
|
||||||
# - name: openstack.cloud # needs to be published
|
# - name: openstack.cloud # needs to be published
|
||||||
# - name: community.vmware # not published
|
- name: community.vmware # needs patch https://github.com/ansible-collections/vmware/pull/58
|
||||||
- name: ovirt.ovirt_collection # new fix published
|
- name: ovirt.ovirt_collection # new fix published
|
||||||
|
|||||||
Reference in New Issue
Block a user