| Solaris SMF service has to support the non-global zone. Currently, SMF service-check refers the generic.xml file only. If that service entry is there in that file it will check the status. In Solaris 11, non-global zone servers have few services name which is listed in generic.xml but related packages/services are not installed on that zone. So when puppet code checks the status, OS is not giving any output and service is failing with an error. Error: /Stage[main]/Main/Service[hal]: Could not evaluate: Unmanageable state '' on service hal Recreate Reproduce steps : -Install zone on Solaris 11.3 machine
- Don't configure anything on the machine
- check out the hal service as an example. It ends up that the package appears as installed (pkg list hal, pkg verify hal)
- check that it's not an 'installed' service: svcs -a | grep -i hal
- Install puppet agent
- Then try to manage it with puppet: puppet apply -e 'service { "hal": ensure=>"stopped", enable =>false,}'
This will fail, looking like this: root@haltest:~# puppet --version 5.5.4 root@haltest:~# pkg list hal NAME (PUBLISHER) VERSION IFO system/hal (solaris) 0.5.11-0.175.3.9.0.2.0 i-- root@haltest:~# pkg verify hal root@haltest:~# svcs -a | grep hal root@haltest:~# puppet apply -e 'service { "hal": ensure=>"stopped", enable =>false,}' Notice: Compiled catalog for haltest.mel182frm.vic.au.anz in environment production in 0.03 seconds Error: /Stage[main]/Main/Service[hal]: Could not evaluate: Unmanageable state '' on service hal Notice: Applied catalog in 0.20 seconds |