[
https://issues.apache.org/jira/browse/CLOUDSTACK-6276?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15037820#comment-15037820
]
ASF GitHub Bot commented on CLOUDSTACK-6276:
--------------------------------------------
Github user ustcweizhou commented on a diff in the pull request:
https://github.com/apache/cloudstack/pull/1134#discussion_r46554416
--- 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 --
Checked the cloudstack, the difference of project admin and project user are
http://docs.cloudstack.apache.org/projects/cloudstack-administration/en/4.6/projects.html
The project administrator can pass on the role to another project member.
The project administrator can also add more members, remove members from the
project, set new resource limits (as long as they are below the global defaults
set by the CloudStack administrator), and delete the project. When the
administrator removes a member from the project, resources created by that
user, such as VM instances, remain with the project. This brings us to the
subject of resource ownership and which resources can be used by a project.
so, @pdube you can ignore this comment.
> 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)