nil check shouldn't be needed, it has to be there since the partition has to contain the iscsi network. The iscsi_network['static'] check should be wrapped in ASM::Util.to_boolean(iscsi_network['static']) as the value will be string true / false otherwise. Also should it be an error if the network is not static? It's probably worth at least logging a warning if it's not. So maybe change to something like:

    if !ASM::Util.to_boolean(iscsi_network.static)
      Puppet.warn("Found non-static iSCSI network while configuring boot form SAN: #{iscsi_network}")
    else
      ... continue on