[PUP-9113] Unable to manage services with what looks like HyperV installed on Windows Created: 2018/09/07  Updated: 2018/12/06  Resolved: 2018/12/06

Status: Closed
Project: Puppet
Component/s: None
Affects Version/s: PUP 5.5.2
Fix Version/s: PUP 5.5.7

Type: Bug Priority: Normal
Reporter: Glenn Sarti Assignee: Sean McDonald
Resolution: Done Votes: 0
Labels: needs_repro, service, type_and_provider, windows
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows 10 - 1803 - HyperV installed
Puppet 5.5.2
No Master


Issue Links:
Relates
relates to PUP-5475 Windows Service provider should use s... Closed
Template: PUP Bug Template
Acceptance Criteria:
  • Should be able to run puppet resource service style invocations without error
Team: Platform OS
Method Found: Needs Assessment
QA Risk Assessment: Needs Assessment

 Description   

While debugging windows service I came across an odd error

C:\WINDOWS\system32>puppet --version
5.5.2
 
C:\WINDOWS\system32>puppet resource service --trace
Failed to load feature test for cfpropertylist: cannot load such file -- CFPropertyList                                 C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1081: warning: constant ::Fixnum is deprecated
WARNING: The registry entry for the bowser service could not be found
WARNING: The registry entry for the MQAC service could not be found
Error: Could not run: Element not found. - QueryServiceConfig: Element not found.
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/windows/helper.rb:36:in `raise_windows_error'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1348:in `get_config_info'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1065:in `block in services'                                                                                                      C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1037:in `upto'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1037:in `services'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/provider/service/windows.rb:104:in `instances'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/type.rb:1164:in `block in instances'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/type.rb:1163:in `collect'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/type.rb:1163:in `instances'                    C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/indirector/resource/ral.rb:24:in `search'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:273:in `search'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application/resource.rb:228:in `find_or_save_resources'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application/resource.rb:142:in `block in main' C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet.rb:260:in `override'                           C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application/resource.rb:137:in `main'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application.rb:383:in `run_command'            C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application.rb:375:in `block in run'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/util.rb:661:in `exit_on_fail'                  C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application.rb:375:in `run'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/util/command_line.rb:137:in `run'              C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/util/command_line.rb:73:in `execute'
C:/Program Files/Puppet Labs/Puppet/puppet/bin/puppet:4:in `<main>'
 
C:\WINDOWS\system32>puppet resource service bits --trace
Failed to load feature test for cfpropertylist: cannot load such file -- CFPropertyList
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1081: warning: constant ::Fixnum is deprecated
WARNING: The registry entry for the bowser service could not be found                                                   WARNING: The registry entry for the MQAC service could not be found
Error: Could not run: Element not found. - QueryServiceConfig: Element not found.
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/windows/helper.rb:36:in `raise_windows_error'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1348:in `get_config_info'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1065:in `block in services'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1037:in `upto'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1037:in `services'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/provider/service/windows.rb:104:in `instances'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/type.rb:1164:in `block in instances'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/type.rb:1163:in `collect'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/type.rb:1163:in `instances'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/indirector/resource/ral.rb:14:in `find'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:198:in `find'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application/resource.rb:216:in `find_or_save_resources'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application/resource.rb:142:in `block in main'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet.rb:260:in `override'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application/resource.rb:137:in `main'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application.rb:383:in `run_command'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application.rb:375:in `block in run'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/util.rb:661:in `exit_on_fail'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application.rb:375:in `run'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/util/command_line.rb:137:in `run'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/util/command_line.rb:73:in `execute'
C:/Program Files/Puppet Labs/Puppet/puppet/bin/puppet:4:in `<main>'

I could not run puppet resource service to enumerate all services, nor could I puppet resource service bits which is a known service

C:\WINDOWS\system32>sc.exe query bits
 
SERVICE_NAME: bits
        TYPE               : 30  WIN32
        STATE              : 4  RUNNING
                                (STOPPABLE, NOT_PAUSABLE, ACCEPTS_PRESHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
 
C:\WINDOWS\system32>

I did some basic debugging and found that it is the pvhdparser service which seems to be tripping up Puppet. I added a "puts service_name" into the win32_service gem

C:\WINDOWS\system32>puppet resource service bits --trace
Failed to load feature test for cfpropertylist: cannot load such file -- CFPropertyList
service_name = 1394ohci
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1081: warning: constant ::Fixnum is deprecated
service_name = 3ware
service_name = ACPI
service_name = AcpiDev
service_name = acpiex
service_name = acpipagr
service_name = AcpiPmi
service_name = acpitime
service_name = ADP80XX
service_name = AESMService
service_name = AFD
service_name = afunix
service_name = ahcache
service_name = AJRouter
service_name = AKCCID
service_name = ALG
service_name = AmdK8
service_name = AmdPPM
service_name = amdsata
service_name = amdsbs
service_name = amdxata
service_name = AppID
service_name = AppIDSvc
service_name = Appinfo
service_name = applockerfltr
service_name = AppMgmt
service_name = AppReadiness
service_name = AppVClient
service_name = AppvStrm
service_name = AppvVemgr
service_name = AppvVfs
service_name = AppXSvc
service_name = arcsas
service_name = AssignedAccessManagerSvc
service_name = AsyncMac
service_name = atapi
service_name = AudioEndpointBuilder
service_name = Audiosrv
service_name = AxInstSV
service_name = b06bdrv
service_name = bam
service_name = BasicDisplay
service_name = BasicRender
service_name = bcmfn2
service_name = BDESVC
service_name = Beep
service_name = BFE
service_name = bindflt
service_name = BITS
service_name = bowser
WARNING: The registry entry for the bowser service could not be found
service_name = BrokerInfrastructure
service_name = BTAGService
service_name = BthAvctpSvc
service_name = BthEnum
service_name = BthHFEnum
service_name = BthLEEnum
service_name = BTHMODEM
service_name = BthPan
service_name = BTHPORT
service_name = bthserv
service_name = BTHUSB
service_name = bttflt
service_name = buttonconverter
service_name = CAD
service_name = camsvc
service_name = CapImg
service_name = cdfs
service_name = CDPSvc
service_name = cdrom
service_name = CertPropSvc
service_name = cht4iscsi
service_name = cht4vbd
service_name = circlass
service_name = CldFlt
service_name = CLFS
service_name = ClickToRunSvc
service_name = ClipSVC
service_name = CmBatt
service_name = CNG
service_name = cnghwassist
service_name = CompositeBus
service_name = COMSysApp
service_name = condrv
service_name = CoreMessagingRegistrar
service_name = cphs
service_name = cplspcon
service_name = CryptSvc
service_name = CSC
service_name = CscService
service_name = dam
service_name = DcomLaunch
service_name = defragsvc
service_name = DeviceAssociationService
service_name = DeviceInstall
service_name = DevQueryBroker
service_name = Dfsc
service_name = dg_ssudbus
service_name = Dhcp
service_name = DHCPServerHelper
service_name = diagnosticshub.standardcollector.service
service_name = diagsvc
service_name = DiagTrack
service_name = DirMngr
service_name = Disk
service_name = dlcdcncm
service_name = dlusbaudio
service_name = DmEnrollmentSvc
service_name = dmvsc
service_name = dmwappushservice
service_name = Dnscache
service_name = Dolby DAX2 API Service
service_name = DoSvc
service_name = dot3svc
service_name = DPS
service_name = dptf_acpi
service_name = dptf_cpu
service_name = drmkaud
service_name = DsmSvc
service_name = DsSvc
service_name = DusmSvc
service_name = DXGKrnl
service_name = e1dexpress
service_name = Eaphost
service_name = ebdrv
service_name = EFS
service_name = EhStorClass
service_name = EhStorTcgDrv
service_name = embeddedmode
service_name = EntAppSvc
service_name = ErrDev
service_name = esifsvc
service_name = esif_lf
service_name = EventLog
service_name = EventSystem
service_name = exfat
service_name = fastfat
service_name = Fax
service_name = fdc
service_name = fdPHost
service_name = FDResPub
service_name = fhsvc
service_name = FileCrypt
service_name = FileInfo
service_name = Filetrace
service_name = flpydisk
service_name = FltMgr
service_name = FontCache
service_name = FontCache3.0.0.0
service_name = FrameServer
service_name = FsDepends
service_name = fvevol
service_name = gencounter
service_name = genericusbfn
service_name = GPIOClx0101
service_name = gpsvc
service_name = GpuEnergyDrv
service_name = GraphicsPerfSvc
service_name = gupdate
service_name = gupdatem
service_name = HdAudAddService
service_name = HDAudBus
service_name = HgClientService
service_name = HidBatt
service_name = HidBth
service_name = hidi2c
service_name = hidinterrupt
service_name = HidIr
service_name = hidserv
service_name = HidUsb
service_name = hns
service_name = HpSAMD
service_name = HTTP
service_name = hvcrash
service_name = HvHost
service_name = hvservice
service_name = hvsocketcontrol
service_name = HwNClx0101
service_name = hwpolicy
service_name = hyperkbd
service_name = HyperVideo
service_name = i8042prt
service_name = iagpio
service_name = iai2c
service_name = iaLPSS2i_GPIO2
service_name = iaLPSS2i_GPIO2_BXT_P
service_name = iaLPSS2i_I2C
service_name = iaLPSS2i_I2C_BXT_P
service_name = iaLPSSi_GPIO
service_name = iaLPSSi_I2C
service_name = iaStorAVC
service_name = iaStorV
service_name = ibbus
service_name = IBMPMDRV
service_name = IBMPMSVC
service_name = ibtsiva
service_name = ibtusb
service_name = icssvc
service_name = igfx
service_name = igfxCUIService2.0.0.0
service_name = IKEEXT
service_name = ImControllerService
service_name = IndirectKmd
service_name = InstallService
service_name = IntcAzAudAddService
service_name = IntcDAud
service_name = intelide
service_name = intelpep
service_name = intelppm
service_name = iorate
service_name = IpFilterDriver
service_name = iphlpsvc
service_name = IPMIDRV
service_name = IPNAT
service_name = IPT
service_name = IpxlatCfgSvc
service_name = irda
service_name = IRENUM
service_name = irmon
service_name = isapnp
service_name = iScsiPrt
service_name = ItSas35i
service_name = kbdclass
service_name = kbdhid
service_name = kdnic
service_name = KeyIso
service_name = KSecDD
service_name = KSecPkg
service_name = ksthunk
service_name = KtmRm
service_name = LanmanServer
service_name = LanmanWorkstation
service_name = Lenovo Instant On
service_name = lfsvc
service_name = LicenseManager
service_name = LITSSVC
service_name = lltdio
service_name = lltdsvc
service_name = lmhosts
service_name = LPlatSvc
service_name = LSI_SAS
service_name = LSI_SAS2i
service_name = LSI_SAS3i
service_name = LSI_SSS
service_name = LSM
service_name = luafv
service_name = lunparser
service_name = LxpSvc
service_name = lxss
service_name = LxssManager
service_name = MapsBroker
service_name = mausbhost
service_name = mausbip
service_name = mcollective
service_name = megasas
service_name = megasas2i
service_name = megasas35i
service_name = megasr
service_name = MEIx64
service_name = mlx4_bus
service_name = MMCSS
service_name = Modem
service_name = monitor
service_name = mouclass
service_name = mouhid
service_name = mountmgr
service_name = mpsdrv
service_name = mpssvc
service_name = MQAC
WARNING: The registry entry for the MQAC service could not be found
service_name = MRxDAV
service_name = mrxsmb
service_name = mrxsmb20
service_name = MsBridge
service_name = MSDTC
service_name = Msfs
service_name = msgpiowin32
service_name = mshidkmdf
service_name = mshidumdf
service_name = msisadrv
service_name = MSiSCSI
service_name = msiserver
service_name = MSKSSRV
service_name = MsLldp
service_name = MSPCLOCK
service_name = MSPQM
service_name = MsRPC
service_name = MsSecFlt
service_name = mssmbios
service_name = MSTEE
service_name = MTConfig
service_name = Mup
service_name = mvumis
service_name = NativeWifiP
service_name = NaturalAuthentication
service_name = NcaSvc
service_name = NcbService
service_name = NcdAutoSetup
service_name = ndfltr
service_name = NDIS
service_name = NdisCap
service_name = NdisImPlatform
service_name = NdisImPlatformMp
service_name = NdisTapi
service_name = Ndisuio
service_name = NdisVirtualBus
service_name = NdisWan
service_name = ndiswanlegacy
service_name = ndproxy
service_name = Ndu
service_name = NetAdapterCx
service_name = NetBIOS
service_name = NetBT
service_name = Netlogon
service_name = Netman
service_name = netprofm
service_name = NetSetupSvc
service_name = NetTcpPortSharing
service_name = netvsc
service_name = Netwtw06
service_name = NgcCtnrSvc
service_name = NgcSvc
service_name = nhi
service_name = NlaSvc
service_name = Npfs
service_name = npsvctrig
service_name = nsi
service_name = nsiproxy
service_name = Ntfs
service_name = Null
service_name = nvagent
service_name = nvdimm
service_name = NVDisplay.ContainerLocalSystem
service_name = nvlddmkm
service_name = nvraid
service_name = nvstor
service_name = NVWMI
service_name = OpenVPNService
service_name = OpenVPNServiceInteractive
service_name = OpenVPNServiceLegacy
service_name = ose
service_name = p2pimsvc
service_name = p2psvc
service_name = Parport
service_name = partmgr
service_name = passthruparser
service_name = PcaSvc
service_name = pci
service_name = pciide
service_name = pcip
service_name = pcmcia
service_name = pcw
service_name = pdc
service_name = PEAUTH
service_name = PeerDistSvc
service_name = percsas2i
service_name = percsas3i
service_name = PerfHost
service_name = PhoneSvc
service_name = pla
service_name = PlugPlay
service_name = PMDRVS
service_name = pmem
service_name = pmxdrv
service_name = PNPMEM
service_name = PNRPAutoReg
service_name = PNRPsvc
service_name = PolicyAgent
service_name = Power
service_name = PptpMiniport
service_name = PrintNotify
service_name = Processor
service_name = ProfSvc
service_name = Psched
service_name = puppet
service_name = PushToInstall
service_name = pvhdparser
Error: Could not run: Element not found. - QueryServiceConfig: Element not found.
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/windows/helper.rb:36:in `raise_windows_error'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1348:in `get_config_info'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1065:in `block in services'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1037:in `upto'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/gems/2.4.0/gems/win32-service-0.8.8/lib/win32/service.rb:1037:in `services'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/provider/service/windows.rb:104:in `instances'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/type.rb:1164:in `block in instances'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/type.rb:1163:in `collect'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/type.rb:1163:in `instances'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/indirector/resource/ral.rb:14:in `find'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/indirector/indirection.rb:198:in `find'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application/resource.rb:216:in `find_or_save_resources'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application/resource.rb:142:in `block in main'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/context.rb:65:in `override'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet.rb:260:in `override'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application/resource.rb:137:in `main'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application.rb:383:in `run_command'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application.rb:375:in `block in run'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/util.rb:661:in `exit_on_fail'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/application.rb:375:in `run'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/util/command_line.rb:137:in `run'
C:/Program Files/Puppet Labs/Puppet/sys/ruby/lib/ruby/vendor_ruby/puppet/util/command_line.rb:73:in `execute'
C:/Program Files/Puppet Labs/Puppet/puppet/bin/puppet:4:in `<main>'



 Comments   
Comment by Sean McDonald [ 2018/12/06 ]

This is fixed in puppet 5.5.7

Generated at Thu Jul 18 12:27:52 PDT 2019 using JIRA 7.7.1#77002-sha1:e75ca93d5574d9409c0630b81c894d9065296414.