private List<Long> buildSecurityGroups() throws CloudException {
List<Long> securityGroupIds = Lists.newArrayList();
String securityGroupName = "__system__";
SecurityGroupData securityGroup = securityGroups.find(project, securityGroupName);
if (securityGroup == null) {
log.info("Creating security group: {}", securityGroupName);
SecurityGroupData.Builder b = SecurityGroupData.newBuilder();
b.setName(securityGroupName);
b.setProjectId(project.getId());
securityGroup = securityGroups.create(project, b);
} else {
log.info("Found security group: {}", securityGroupName);
}
if (securityGroup.getRulesCount() == 0) {
SecurityGroupRuleData.Builder sgb = SecurityGroupRuleData.newBuilder();
sgb.setFromSecurityGroup(securityGroup.getId());
securityGroups.addRule(auth, project, securityGroup.getId(), sgb);
}
securityGroupIds.add(securityGroup.getId());
return securityGroupIds;
}