[
https://issues.apache.org/jira/browse/CLOUDSTACK-6276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15037811#comment-15037811
]
ASF GitHub Bot commented on CLOUDSTACK-6276:
--------------------------------------------
Github user pdube commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1134#discussion_r46553780
--- Diff:
server/src/org/apache/cloudstack/affinity/AffinityGroupServiceImpl.java ---
@@ -229,59 +205,99 @@ public AffinityGroupVO
doInTransaction(TransactionStatus status) {
return group;
}
});
+ }
- if (s_logger.isDebugEnabled()) {
- s_logger.debug("Created affinity group =" + affinityGroupName);
+ private DomainVO getDomain(Long domainId) {
+ DomainVO domain = _domainDao.findById(domainId);
+ if (domain == null) {
+ throw new InvalidParameterValueException("Unable to find
domain by specified id");
}
+ return domain;
+ }
- return group;
+ private void verifyAffinityGroupNameInUse(long accountId, long
domainId, String affinityGroupName) {
+ if (_affinityGroupDao.isNameInUse(accountId, domainId,
affinityGroupName)) {
+ throw new InvalidParameterValueException("Unable to create
affinity group, a group with name " + affinityGroupName + " already exists.");
+ }
+ }
+
+ private void verifyDomainLevelAffinityGroupName(boolean domainLevel,
long domainId, String affinityGroupName) {
+ if (domainLevel &&
_affinityGroupDao.findDomainLevelGroupByName(domainId, affinityGroupName) !=
null) {
+ throw new InvalidParameterValueException("Unable to create
affinity group, a group with name " + affinityGroupName + " already exists
under the domain.");
+ }
}
@DB
- @Override
@ActionEvent(eventType = EventTypes.EVENT_AFFINITY_GROUP_DELETE,
eventDescription = "Deleting affinity group")
- public boolean deleteAffinityGroup(Long affinityGroupId, String
account, Long domainId, String affinityGroupName) {
+ public boolean deleteAffinityGroup(Long affinityGroupId, String
account, Long projectId, Long domainId, String affinityGroupName) {
+
+ AffinityGroupVO group = getAffinityGroup(affinityGroupId, account,
projectId, domainId, affinityGroupName);
+ // check permissions
Account caller = CallContext.current().getCallingAccount();
- Account owner = _accountMgr.finalizeOwner(caller, account,
domainId, null);
+ _accountMgr.checkAccess(caller, AccessType.OperateEntry, true,
group);
--- End diff --
I think that if a user is able to create an AG, then he should be able to
delete it
> Affinity Groups within projects
> -------------------------------
>
> Key: CLOUDSTACK-6276
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-6276
> Project: CloudStack
> Issue Type: New Feature
> Security Level: Public(Anyone can view this level - this is the
> default.)
> Components: Management Server
> Reporter: Ingo Jochim
>
> Hello,
> I like to have the features "Affinity Group" and "Project" combined.
> As far as I know I cannot use Affinity Groups within Projects.
> Thanks and regards,
> Ingo
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)