Gilad Chaplik has posted comments on this change.

Change subject: engine: NUMA feature queries and actions validation
......................................................................


Patch Set 4: Code-Review-1

(8 comments)

* missing other commands (it's not mentioned in the patch)
* check if you're missing inputs in more localiztions files (AFAICR there 
should be 4).
* see comments inline.

http://gerrit.ovirt.org/#/c/27617/4/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/numa/vm/AddVmNumaNodesCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/numa/vm/AddVmNumaNodesCommand.java:

Line 57:     @Override
Line 58:     protected boolean canDoAction() {
Line 59:         Guid vdsId = getVm().getDedicatedVmForVds();
Line 60:         if (vdsId == null) {
Line 61:             return 
failCanDoAction(VdcBllMessages.VM_NUMA_PINNED_VDS_NOT_EXIST);
should be configurable.
Line 62:         }
Line 63:         List<VdsNumaNode> vdsNumaNodes = 
getDbFacade().getVdsNumaNodeDAO().getAllVdsNumaNodeByVdsId(vdsId);
Line 64:         List<VmNumaNode> vmNumaNodes = 
getParameters().getVmNumaNodeList();
Line 65:         for (VmNumaNode vmNumaNode : vmNumaNodes) {


Line 59:         Guid vdsId = getVm().getDedicatedVmForVds();
Line 60:         if (vdsId == null) {
Line 61:             return 
failCanDoAction(VdcBllMessages.VM_NUMA_PINNED_VDS_NOT_EXIST);
Line 62:         }
Line 63:         List<VdsNumaNode> vdsNumaNodes = 
getDbFacade().getVdsNumaNodeDAO().getAllVdsNumaNodeByVdsId(vdsId);
define getVdsNumaNodeDAO() in base class (convention).
Line 64:         List<VmNumaNode> vmNumaNodes = 
getParameters().getVmNumaNodeList();
Line 65:         for (VmNumaNode vmNumaNode : vmNumaNodes) {
Line 66:             for (Pair<Guid, Pair<Boolean, Integer>> pair : 
vmNumaNode.getVdsNumaNodeList()) {
Line 67:                 int index = pair.getSecond().getSecond();


Line 61:             return 
failCanDoAction(VdcBllMessages.VM_NUMA_PINNED_VDS_NOT_EXIST);
Line 62:         }
Line 63:         List<VdsNumaNode> vdsNumaNodes = 
getDbFacade().getVdsNumaNodeDAO().getAllVdsNumaNodeByVdsId(vdsId);
Line 64:         List<VmNumaNode> vmNumaNodes = 
getParameters().getVmNumaNodeList();
Line 65:         for (VmNumaNode vmNumaNode : vmNumaNodes) {
nullity check on collection.
Line 66:             for (Pair<Guid, Pair<Boolean, Integer>> pair : 
vmNumaNode.getVdsNumaNodeList()) {
Line 67:                 int index = pair.getSecond().getSecond();
Line 68:                 for (VdsNumaNode vdsNumaNode : vdsNumaNodes) {
Line 69:                     if (vdsNumaNode.getIndex() == index) {


Line 62:         }
Line 63:         List<VdsNumaNode> vdsNumaNodes = 
getDbFacade().getVdsNumaNodeDAO().getAllVdsNumaNodeByVdsId(vdsId);
Line 64:         List<VmNumaNode> vmNumaNodes = 
getParameters().getVmNumaNodeList();
Line 65:         for (VmNumaNode vmNumaNode : vmNumaNodes) {
Line 66:             for (Pair<Guid, Pair<Boolean, Integer>> pair : 
vmNumaNode.getVdsNumaNodeList()) {
nullity check on collection.
Line 67:                 int index = pair.getSecond().getSecond();
Line 68:                 for (VdsNumaNode vdsNumaNode : vdsNumaNodes) {
Line 69:                     if (vdsNumaNode.getIndex() == index) {
Line 70:                         if (vmNumaNode.getMemTotal() > 
vdsNumaNode.getMemTotal()) {


Line 63:         List<VdsNumaNode> vdsNumaNodes = 
getDbFacade().getVdsNumaNodeDAO().getAllVdsNumaNodeByVdsId(vdsId);
Line 64:         List<VmNumaNode> vmNumaNodes = 
getParameters().getVmNumaNodeList();
Line 65:         for (VmNumaNode vmNumaNode : vmNumaNodes) {
Line 66:             for (Pair<Guid, Pair<Boolean, Integer>> pair : 
vmNumaNode.getVdsNumaNodeList()) {
Line 67:                 int index = pair.getSecond().getSecond();
why auto-boxing here?
Line 68:                 for (VdsNumaNode vdsNumaNode : vdsNumaNodes) {
Line 69:                     if (vdsNumaNode.getIndex() == index) {
Line 70:                         if (vmNumaNode.getMemTotal() > 
vdsNumaNode.getMemTotal()) {
Line 71:                             return 
failCanDoAction(VdcBllMessages.VM_NUMA_NODE_MEMRORY_ERROR);


Line 64:         List<VmNumaNode> vmNumaNodes = 
getParameters().getVmNumaNodeList();
Line 65:         for (VmNumaNode vmNumaNode : vmNumaNodes) {
Line 66:             for (Pair<Guid, Pair<Boolean, Integer>> pair : 
vmNumaNode.getVdsNumaNodeList()) {
Line 67:                 int index = pair.getSecond().getSecond();
Line 68:                 for (VdsNumaNode vdsNumaNode : vdsNumaNodes) {
nullity check on collection.
Line 69:                     if (vdsNumaNode.getIndex() == index) {
Line 70:                         if (vmNumaNode.getMemTotal() > 
vdsNumaNode.getMemTotal()) {
Line 71:                             return 
failCanDoAction(VdcBllMessages.VM_NUMA_NODE_MEMRORY_ERROR);
Line 72:                         }


Line 67:                 int index = pair.getSecond().getSecond();
Line 68:                 for (VdsNumaNode vdsNumaNode : vdsNumaNodes) {
Line 69:                     if (vdsNumaNode.getIndex() == index) {
Line 70:                         if (vmNumaNode.getMemTotal() > 
vdsNumaNode.getMemTotal()) {
Line 71:                             return 
failCanDoAction(VdcBllMessages.VM_NUMA_NODE_MEMRORY_ERROR);
should depend on mem-tune no?
Line 72:                         }
Line 73:                         break;
Line 74:                     }
Line 75:                 }


http://gerrit.ovirt.org/#/c/27617/4/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/numa/vm/UpdateVmNumaNodesCommand.java
File 
backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/numa/vm/UpdateVmNumaNodesCommand.java:

Line 72:                 }
Line 73:             }
Line 74:         }
Line 75:         return true;
Line 76:     }
very similar to other command. please extract and unify code.
Line 77: 
Line 78:     @Override
Line 79:     public List<PermissionSubject> getPermissionCheckSubjects() {
Line 80:         List<PermissionSubject> permissionList = new 
ArrayList<PermissionSubject>();


-- 
To view, visit http://gerrit.ovirt.org/27617
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I9c299405ec5d82ada713ed3d220554bf3055c145
Gerrit-PatchSet: 4
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Jason Liao <chuan.l...@hp.com>
Gerrit-Reviewer: Doron Fediuck <dfedi...@redhat.com>
Gerrit-Reviewer: Gilad Chaplik <gchap...@redhat.com>
Gerrit-Reviewer: Jason Liao <chuan.l...@hp.com>
Gerrit-Reviewer: Kobi Ianko <k...@redhat.com>
Gerrit-Reviewer: Xiaolei Shi <xiao-lei....@hp.com>
Gerrit-Reviewer: automat...@ovirt.org
Gerrit-Reviewer: oVirt Jenkins CI Server
Gerrit-HasComments: Yes
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to