I'm not a fan of this construction with the nested if/else/if.  Can you put this in a case/when block and do a regex check per packages list?

when 
  host['platform']  =~ /(sles-)/
    sles package installation
  host['platform'] != /windows|aix|solaris/
    unix package installation
end  

You'll also want to do platform name checking against 'sles-' so that you don't catch platforms like 'ubuntu-wheezy-measles'.