Hi everyone,
I'm having issues onboarding a Windows node (WMI). I've had no issues with Linux/ snmp nodes, but the former fails without helpful error messages.
Code example and errors below:
def discover_windows_host(self,target_node_ip,credentials_id,EngineID):
corePluginContext = {
'BulkList': [{'Address': target_node_ip}],
'Credentials': [
{
'CredentialID': credentials_id, #WMI credentials ID
'Order': 1
}
],
'WmiRetriesCount': 1,
'WmiRetryIntervalMiliseconds': 1000
}
print(corePluginContext)
corePluginConfig = self.swis.invoke('Orion.Discovery', 'CreateCorePluginConfiguration', corePluginContext)
discoveryProfile = {
'Name': 'discovery_host',
'EngineID': EngineID,
'JobTimeoutSeconds': 3600,
'SearchTimeoutMiliseconds': 5000,
'SnmpTimeoutMiliseconds': 5000,
'SnmpRetries': 2,
'RepeatIntervalMiliseconds': 1800,
'HopCount': 0,
'DisableIcmp': False,
'AllowDuplicateNodes': False,
'IsAutoImport': True,
'IsHidden': True,
'PluginConfigurations': [{'PluginConfigurationItem': corePluginConfig}]
}
print(discoveryProfile)
discoveryid = self.swis.invoke('Orion.Discovery', 'StartDiscovery', discoveryProfile)
return discoveryid
{'Name': 'discovery_host', 'DisableIcmp': False, 'JobTimeoutSeconds': 3600, 'IsHidden': True, 'SnmpRetries': 2, 'SnmpTimeoutMiliseconds': 5000, 'IsAutoImport': True, 'SearchTimeoutMiliseconds': 5000, 'RepeatIntervalMiliseconds': 1800, 'AllowDuplicateNodes': False, 'HopCount': 0, 'PluginConfigurations': [{'PluginConfigurationItem': u'<?xml version="1.0" encoding="utf-16"?><PluginItems><knownTypes><ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><string>SolarWinds.Orion.Core.Models.Discovery.CoreDiscoveryPluginConfiguration,SolarWinds.Orion.Core.Models.V1</string></ArrayOfstring></knownTypes><pluginItem><ArrayOfDiscoveryPluginConfigurationBase xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/SolarWinds.Orion.Core.Models.Discovery"><DiscoveryPluginConfigurationBase xmlns:d2p1="http://schemas.solarwinds.com/2008/Orion" i:type="d2p1:CoreDiscoveryPluginConfiguration"><d2p1:ActiveDirectoryList /><d2p1:AddressRange /><d2p1:AgentsAddresses xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" /><d2p1:AgentsFilterDefinition i:nil="true" /><d2p1:AgentsFilterQuery i:nil="true" /><d2p1:AutoImportVolumeTypes xmlns:d3p1="http://schemas.datacontract.org/2004/07/SolarWinds.Common.Snmp" i:nil="true" /><d2p1:BulkList xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays"><d3p1:string>10.70.51.80</d3p1:string></d2p1:BulkList><d2p1:Credentials><d2p1:credentials><knownTypes><ArrayOfstring xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays" /></knownTypes><pluginItem><d2p1:ArrayOfCredential xmlns:i="http://www.w3.org/2001/XMLSchema-instance" /></pluginItem></d2p1:credentials></d2p1:Credentials><d2p1:DiscoverAgentNodes>false</d2p1:DiscoverAgentNodes><d2p1:PreferredPollingMethod>SNMP</d2p1:PreferredPollingMethod><d2p1:SharedCredentials xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays" /><d2p1:SubnetList /><d2p1:WMICredentials><WMIAccess><_x003C_CredentialID_x003E_k__BackingField>23</_x003C_CredentialID_x003E_k__BackingField><_x003C_Credential_x003E_k__BackingField><d2p1:Description></d2p1:Description><d2p1:ID>23</d2p1:ID><d2p1:IsBroken>false</d2p1:IsBroken><d2p1:Name>Solarwinds_Service</d2p1:Name><d2p1:Owner>Orion</d2p1:Owner><d2p1:Password>Cr34t0R15m!</d2p1:Password><d2p1:Username>adacme\USERNAME</d2p1:Username></_x003C_Credential_x003E_k__BackingField></WMIAccess></d2p1:WMICredentials><d2p1:WmiRetries>1</d2p1:WmiRetries><d2p1:WmiRetryInterval>PT1S</d2p1:WmiRetryInterval></DiscoveryPluginConfigurationBase></ArrayOfDiscoveryPluginConfigurationBase></pluginItem></PluginItems>'}], 'EngineID': 13}
Traceback (most recent call last):
[...]
raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Verb Orion.Discovery.StartDiscovery cannot unpackage parameter 0 with type SolarWinds.Data.Providers.Orion.Verbs.Discovery+StartDiscoveryContext for url: https://monitoring.acme.com:17778/SolarWinds/InformationService/v3/Json/Invoke/Orion.Discovery/StartDiscovery
Any input is appreciated as I'm out of ideas.
Thanks so much!!
Alex