Under the puppet 4 agent ubuntu trusty hosts emit Error: /Stage[main]/Apparmor/Service[apparmor]: Provider init is not functional on this host during a puppet run. This error does not break the puppet run, nor trigger a "puppet last run" alert. Still, it should be addressed.
Interestingly in modules/apparmor/manifests/init.pp the apparmor service explicitly specifies init as the provider. Could this be removed to let puppet select the provider automatically?