theforeman/foreman — pull request #921 by domcleal (2013-10-01 12:31:05+00:00)
Title: fixes #3133 - fix security group filtering when no groups need filtering

"[compact!] returns nil if no changes were made, otherwise returns the array"
http://www.ruby-doc.org/core-2.0.0/Array.html#method-i-compact-21

Hence if there are no VPC groups (vpc_id are all nil), the security_groups array is unfiltered, and the method returned nil rather than all the non-VPC security groups.