cancel
Showing results for 
Search instead for 
Did you mean: 
Create Post
Level 12

Nodes.Description field not updating via API

Jump to solution

I am creating new nodes using the API and I am running the latest version of NPM.  I will include all our version information below.

I am making the call using REST  Create/Nodes, properties.  

In the prior version the Description field updated properly, now even if I do an update for the field, it still does not update the Description field.

Is anyone else seeing this issue?

Version Info

AccountLimitationBuilder.exe2014.02
AlertingEngine.exe2014.2.0.0
AlertManager.exe2014.02
AntiXSSLibrary.dll4.2.0.0
Antlr3.Runtime.dll3.1.0.39271
Antlr3.Utility.dll0.1.0.39272
BasicAlertsManager.exe2014.02
ConfigurationWizard.exe2014.2.11.1229
Database-Maint.exe2014.2.11.1229
DatabaseManager.exe2014.2.11.1229
EO.Pdf.dll5.0.34.2
ExportToPDFCmd.Exe2014.2.11.1229
HtmlSanitizationLibrary.dll4.2.0.0
ICSharpCode.SharpZipLib.dll0.85.5.452
Infragistics2.Shared.v7.3.dll7.3.20073.38
InstallHelper.RunOnce.exe2014.2.11.1229
Interop.cdosys.dll1.0.0.0
Interop.COMAdmin.dll1.0.0.0
Interop.NetFWTypeLib.dll1.0.0.0
Interop.olelib.dll1.61.0.0
Interop.OrionSWScheduler8.dll1.0.0.0
Interop.SHDocVw.dll1.1.0.0
Interop.TaskScheduler.dll1.0.0.0
ipam.uninstall.tool.exe4.2.0.545
Kiwi_LogViewer_2.1.0_Win32.setup.exeUnknown
LicenseManager.exe3.0.0.564
log4net.dll1.2.10.0
LogAdjuster.exe2014.2.11.1229
makecert.exe6.1.7600.16385 (win7_rtm.090713-1255)
Microsoft.Web.Services3.dll3.0.5305.0
MomConnectorFrameworkV2.dll5.0.2749.0
NetPerfMonEventLog.dll6.0.0.0
Newtonsoft.Json.dll4.5.11.15520
nsoftware.IPWorksSSNMP.dll9.0.5077.0
OptimizeWebsite.exe2014.2.11.1229
OrionAlertEngine.exe2014.02
OrionNPMMapEngine.dll2014.02
OrionNPMWeb.dll2014.01
OrionPermissionChecker.exe2014.2.11.1229
OrionReportWriter.exe2014.02
OrionSWDiscoveryServices9.dll2014.02
OrionSWLogger.dll2014.02
OrionSWScheduler8.dll2014.02
OrionWeb.dll2014.2.11.1229
OrionWebBackup.exe2014.01
phantomjs.exe1.9.2
PollerCheckerTool.exe2014.2.11.1229
PrintLauncher.exe2014.2.11.1229
RegAsm.exe4.0.30319.18408 built by: FX451RTMGREL
SciLexer.dll3.0.4
SciLexer64.dll3.0.4
ScintillaNet.dll2.5.0.0
SmartThreadPool.dll2.0.0.0
SnmpWalk.exe2011.2.0.0
SolarWinds.AgentManagement.Contract.dll1.0.11.731
SolarWinds.BusinessLayerHost.Contract.dll2014.2.11.1229
SolarWinds.BusinessLayerHost.exe2014.2.11.1229
SolarWinds.Collector.Contract.dll2.10.0.23
SolarWinds.Common.dll2014.2.11.1229
Solarwinds.Compression.dll2014.2.11.1229
SolarWinds.ConfigurationWizard.Common.dll2014.2.11.1229
SolarWinds.ConfigurationWizard.IIS7.dll2014.2.11.1229
SolarWinds.ConfigurationWizard.IIS7.Installer.exe2014.2.11.1229
SolarWinds.ConfigurationWizard.Permissions.dll2014.2.11.1229
SolarWinds.ConfigurationWizard.Plugin.APM.dll6.1.1.3047
SolarWinds.ConfigurationWizard.Plugin.Common.dll2014.2.11.1229
SolarWinds.ConfigurationWizard.Plugin.IPAM.dll4.2.0.545
SolarWinds.ConfigurationWizard.Plugin.NPM.dll11.0.11.406
SolarWinds.ConfigurationWizard.Plugin.OIP.dll2.2.202.0
SolarWinds.ConfigurationWizard.Plugin.Orion.dll2014.2.11.1229
SolarWinds.ConfigurationWizard.Plugin.SEUM.dll2.1.0.488
SolarWinds.ConfigurationWizard.Plugin.VIM.dll1.11.0.173
SolarWinds.DatabaseManager.Strings.dll2014.2.11.1229
SolarWinds.DataGap.AnalysisTool.exe2014.2.11.1229
SolarWinds.Diagnostics.DBResponse.exe2014.2.11.1229
SolarWinds.FipsManager.exe2014.2.11.1229
SolarWinds.InformationService.Contract2.dll2014.2.0.100
SolarWinds.Internationalization.dll2014.2.11.1229
SolarWinds.JobEngine.Contract.dll1.6.0.28
SolarWinds.JobEngine.Contract2.dll2.8.0.52
SolarWinds.Licensing.Analysis.dll3.0.0.564
SolarWinds.Licensing.Diagnostics.exe3.0.0.564
SolarWinds.Licensing.Framework.dll3.0.0.564
SolarWinds.Logging.dll2014.2.11.1229
SolarWinds.Management.dll2014.2.11.1229
SolarWinds.Net.ICMP.dll2014.2.11.1229
SolarWinds.Net.SNMP.dll2014.2.11.1229
SolarWinds.Net.WMI.dll2014.2.11.1229
SolarWinds.NTM.Common.dll1.0.0.1
SolarWinds.NTM.Data.dll1.0.0.1
SolarWinds.NTM.Discovery.dll1.0.0.1
SolarWinds.NTM.Topology.dll1.0.0.1
SolarWinds.Orion.Collector.dll2014.2.11.1229
SolarWinds.Orion.Collector.MessagePlugin.dll2014.2.11.1229
SolarWinds.Orion.Collector.Plugins.dll2014.2.11.1229
SolarWinds.Orion.Common.dll2014.2.11.1229
SolarWinds.Orion.CommonHelper.Interop.dll1.0.0.0
SolarWinds.Orion.Core.Actions.dll2014.2.11.1229
SolarWinds.Orion.Core.Alerting.dll2014.2.11.1229
SolarWinds.Orion.Core.Auditing.dll2014.2.11.1229
SolarWinds.Orion.Core.BusinessLayer.dll2014.2.11.1229
SolarWinds.Orion.Core.Collector.dll2014.2.11.1229
SolarWinds.Orion.Core.Collector.MessageSender.dll2014.2.11.1229
SolarWinds.Orion.Core.Common.dll2014.2.11.1229
Solarwinds.Orion.Core.Data.dll2014.2.11.1229
Solarwinds.Orion.Core.Dependencies.dll2014.2.11.1229
SolarWinds.Orion.Core.Discovery.dll2014.2.11.1229
SolarWinds.Orion.Core.Jobs.dll2014.2.11.1229
SolarWinds.Orion.Core.Jobs2.dll2014.2.11.1229
SolarWinds.Orion.Core.MessageActions.dll2014.2.11.1229
SolarWinds.Orion.Core.Models.dll2014.2.11.1229
SolarWinds.Orion.Core.Pollers.dll2014.2.11.1229
SolarWinds.Orion.Core.Reporting.dll2014.2.11.1229
SolarWinds.Orion.Core.SharedCredentials.dll2014.2.11.1229
SolarWinds.Orion.Core.Strings.dll2014.2.11.1229
SolarWinds.Orion.Core.SwisViaCOM.dll1.0.0.0
SolarWinds.Orion.Core.Topology.dll2014.2.11.1229
SolarWinds.Orion.Discovery.Contract.dll2014.2.11.1229
SolarWinds.Orion.Discovery.Framework.dll2014.2.11.1229
SolarWinds.Orion.Discovery.Job.dll2014.2.11.1229
SolarWinds.Orion.FeatureManager.Interop.dll1.0.0.0
SolarWinds.Orion.I18n.Interop.dll1.0.0.0
SolarWinds.Orion.MacroProcessor.dll2014.2.0.0
SolarWinds.Orion.Packages.dll1.0.0.55
SolarWinds.Orion.Pollers.Framework.dll2014.2.11.1229
SolarWinds.Orion.Security.dll2014.2.11.1229
SolarWinds.Orion.Topology.Calculator.exe2014.2.11.1229
SolarWinds.Orion.Topology.Framework.dll2014.2.11.1229
SolarWinds.OrionScheduler2.dll2014.2.11.1229
SolarWinds.Packaging.Contract.dll1.0.0.55
SolarWinds.Packaging.Core.dll1.0.0.55
SolarWinds.PollerChecker.Contract.dll2014.2.11.1229
SolarWinds.PollerChecker.dll2014.2.11.1229
SolarWinds.PollerChecker.Plugin.Core.dll2014.2.11.1229
SolarWinds.PollerChecker.Plugin.PollerChecker.dll2014.2.11.1229
SolarWinds.Reporting.dll2014.2.11.1229
SolarWinds.Security.Cryptography.X509Certificates.dllUnknown
SolarWinds.Syslog.dll2013.2.0.1
SolarWinds.Syslog.Strings.dll2013.2.0.1
SolarWinds.WebLauncher.exe2014.2.11.1229
SolarwindsDiagnostics.exe2014.2.11.1229
StopNetPerfMon.exe2014.2.11.1229
SWAlertActions8.dll2014.02
SWAlertEngine8.dll2014.02
SWSubClass.dll2014.02
SWSysLogActions.dll2014.02
SWTrapActions.dll2014.02
SWTrapService.exe2014.2.11.1229
SyslogService.exe2014.2.11.1229
SyslogViewer.exe2014.02
taskschd.dll6.1.7600.16385 (win7_rtm.090713-1255)
tdbgpp8.dll8.0.20034.14
TDBWSnk6.dll5.00.0020
TestAlerts.exe2014.02
todgub8.dll8.0.20034.18
TrapViewer.exe2014.02
Vim25Service.dll0.0.0.0
Vim25Service.XmlSerializers.dll0.0.0.0
VimService.dll0.0.0.0
VimService.XmlSerializers.dll0.0.0.0
0 Kudos
1 Solution

Hi Charles,

I think I have your ticket.

I'm not aware of any change at this field between NPM 10.7 and NPM 11, but here are some facts (valid for some years).

- For historical reasons the property Description=MachineType (has the same storage in DB). Because of this you can use only one of them in the Node property bag (hashtable with properties). This can't be changed directly in product because of backward compatibility with other Orion Platform components/modules.

- The Description as you can see in the Node Details resource is in fact NodeDescription, so if you wan't to specify it or modify the description, you need to use this property.


I hope it helps at least a bit to clarify the problematics.


Regards,

Honza

View solution in original post

0 Kudos
11 Replies
Level 12

I am actually doing the Create/Orion.Nodes call and the Description field is populating the MachineType and the Description fields is being set to NULL.

I have even tried updating the Description field with the Update directive, but it is still not updating.

0 Kudos

I'm sure that many people would like to help but you have not followed the standard litany: FGA: Please follow the standard litany when giving a problem report.

a) what does your code look like; post the actual code

b) what makes you think it is sending what you think it is to the solarwinds server; have you run wireshark/tcpdump to capture the traffic in-flight and compare it to what you think you are sending? can you include that in your report?

c) what responses does the solarwinds server actually make.

from your last message it sounds to me like you have an off-by-one error and your argument lists are not lining up (without the code no-one can confirm that)

I have actually opened a ticket with tech support, and they are raising the issue with Development.  I know it is not ordering, as this worked with the previous version prior to NPM 11.

0 Kudos

Hi Charles,

I think I have your ticket.

I'm not aware of any change at this field between NPM 10.7 and NPM 11, but here are some facts (valid for some years).

- For historical reasons the property Description=MachineType (has the same storage in DB). Because of this you can use only one of them in the Node property bag (hashtable with properties). This can't be changed directly in product because of backward compatibility with other Orion Platform components/modules.

- The Description as you can see in the Node Details resource is in fact NodeDescription, so if you wan't to specify it or modify the description, you need to use this property.


I hope it helps at least a bit to clarify the problematics.


Regards,

Honza

View solution in original post

0 Kudos

Then when I look in the Nodes table, why does the Nodes.Description field be NULL for all devices that are added with the API, but those nodes added through the GUI are populated with empty string which allows the Node Details to display?

0 Kudos

The reason is, that the unitialized properties  (don't have value in the property bag) have NULL value. If you use Description, you set MachineType in real (that's what I explained above) and the Description storage remains untouched. For this use the NodeDescription.

We prepare a bit smarter autoinitialization logic for upcoming release, so I hope you'll like it.

Thanks.

Are you sure that is the reason? My code that adds nodes doesn't set Nodes.Description in any way (NPM 9.x through 11.0.1) and they all display correctly.

Here is my literal code:

        my $AddedNode=$swis->Create('Orion.Nodes',

                {'Caption'=>$ip,

                'IPAddress'=>$ip,

                'IPAddressguid' => ip2guid($ip),

                'DynamicIP'=>0,

                'UnManaged'=>0,

                'EngineID'=>1,

                'Status'=>1,

                'Allow64BitCounters'=>1,

                'ObjectSubType'=>'SNMP',

                'SNMPVersion'=>2,

                'Community'=>$rocid,

                'Comments'=>'Added by noc',

                'AssetTag'=>$tagno,

                'SysObjectID'=>$oid,

                'MachineType'=>$MachineType,

                'Vendor'=>$Vendor,

                'VendorIcon'=>$VendorIcon,

                'Building'=>"$bldg",

                'Room'=>"$room",

                'Sector'=>"$sector",

                'RT_Sector'=>"$rtsector",

                'RT_Severity'=>3,

                'BufferNoMemThisHour'=>-2,

                'BufferNoMemToday'=>-2,

                'BufferSmMissThisHour'=>-2,

                'BufferSmMissToday'=>-2,

                'BufferMdMissThisHour'=>-2,

                'BufferMdMissToday'=>-2,

                'BufferBgMissThisHour'=>-2,

                'BufferBgMissToday'=>-2,

                'BufferLgMissThisHour'=>-2,

                'BufferLgMissToday'=>-2,

                'BufferHgMissThisHour'=>-2,

                'BufferHgMissToday'=>-2,

                'PercentMemoryUsed'=>-2,

                'TotalMemory'=>-2,

                'SNMPV2Only'=>0,

                'External'=>0,

                'DNS'=>'',

                'IOSImage'=>'',

                'IOSVersion'=>'',

                'RWSNMPv3AuthKeyIsPwd'=>1,

                'RWSNMPV3AuthKey' => 'None',

                'RWSNMPV3AuthMethod'=> 'None',

                'RWSNMPV3Context' => 'None',

                'RWSNMPv3PrivKeyIsPwd'=>1,

                'RWSNMPV3PrivKey' => 'None',

                'RWSNMPv3PrivMethod'=> 'None',

                'RWSNMPV3Username' => 'None',

                'SNMPv3AuthKeyIsPwd' => 1,

                'SNMPV3AuthKey' => 'None',

                'SNMPv3AuthMethod' => 'None',

                'SNMPV3Context' => 'None',

                'SNMPv3PrivKeyIsPwd' => 1,

                'SNMPv3PrivKey' => 'None',

                'SNMPv3PrivMethod'=> 'None',

                'SNMPV3Username' => 'None'

                                });

the italicised ones are the custom properties local to here.

/RjL

0 Kudos

Your code really does it as you specify the MachineType (for SWIS the same as Description). Reasons explained above. Thanks for understanding

0 Kudos

You are doing the swis call.  I am using the REST calls.

0 Kudos

I will try updating the NodeDescription field and see if that makes a difference.

Level 11

I don't know why we are update/use this field but I really wonder the answer for this question about "description" field.

0 Kudos