An or operation passes if either argument is true, not just if only one is true though, right?
1 or 1 = 1
1 or 0 = 1
0 or 1 = 1
0 or 0 = 0
So if I pass in both $nfs_mount_path and $nfs_mount_device, this warning triggers.

mvoelker@mvoelker-lnx1:/tmp$ cat test.pp
$nfs_mount_path = '/var/lib/nova/instances'
$nfs_mount_device = 'mymountdevice'

if $nfs_mount_path or $nfs_mount_device {
  warning( 'You must specify the nfs_mount_path and the nfs_mount_device' )
}
mvoelker@mvoelker-lnx1:/tmp$ sudo puppet apply test.pp
Warning: Scope(Class[main]): You must specify the nfs_mount_path and the nfs_mount_device
Notice: Finished catalog run in 0.14 seconds
mvoelker@mvoelker-lnx1:/tmp$