Daniel Erez has posted comments on this change.

Change subject: webadmin: introduce storage qos
......................................................................


Patch Set 6:

(8 comments)

http://gerrit.ovirt.org/#/c/29530/6//COMMIT_MSG
Commit Message:

Line 7: webadmin: introduce storage qos
Line 8: 
Line 9: * storage qos subtab under datacenters.
Line 10: * create/update/remove dialog storage qos.
Line 11: * backend integration in GUI.
> added a feature page link, is there anything in particular?
Yes, for each item mention the relevant section in the feature page.
Line 12: 
Line 13: Change-Id: I4d5c14409be9e1fad1df3487cf3615f4b4955930


http://gerrit.ovirt.org/#/c/29530/6/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java
File 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/queries/ConfigurationValues.java:

Line 140:     DefaultMtu,
Line 141:     LiveMergeSupported(ConfigAuthType.User),
Line 142:     maxThroughputUpperBoundQosValue,
Line 143:     maxReadThroughputUpperBoundQosValue,
Line 144:     maxWriteThroughputUpperBoundQosValue,
are all of these hidden in the user portal?
Line 145:     maxIopsUpperBoundQosValue,
Line 146:     maxReadIopsUpperBoundQosValue,
Line 147:     maxWriteIopsUpperBoundQosValue;
Line 148: 


http://gerrit.ovirt.org/#/c/29530/6/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterStorageQosListModel.java
File 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/DataCenterStorageQosListModel.java:

Line 37:     }
Line 38: 
Line 39:     @Override
Line 40:     protected RemoveQosModel<StorageQos> getRemoveQosModel() {
Line 41:         return new RemoveStorageQosModel(this);
> do you have a simple alternative?
use events instead..
Line 42:     }
Line 43: 
Line 44:     @Override
Line 45:     protected String getListName() {


http://gerrit.ovirt.org/#/c/29530/6/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditStorageQosModel.java
File 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/EditStorageQosModel.java:

Line 22:     @Override
Line 23:     protected QosParametersBase<StorageQos> getParameters() {
Line 24:         QosParametersBase<StorageQos> qosParametersBase = new 
QosParametersBase<StorageQos>();
Line 25:         qosParametersBase.setQos(getQos());
Line 26:         qosParametersBase.setQosId(getQos().getId());
> a base parameter class for all qos objects, used for all CRUD commands, req
why not extract the id from the object?
Line 27:         return qosParametersBase;
Line 28:     }
Line 29: 
Line 30:     @Override


http://gerrit.ovirt.org/#/c/29530/6/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveQosModel.java
File 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/RemoveQosModel.java:

Line 87:                     setItems(list);
Line 88:                 } else {
Line 89:                     setMessage(getRemoveQosMessage(profiles.size()));
Line 90: 
Line 91:                     ArrayList<String> list = new ArrayList<String>();
> cannot reuse.
then use object or something.. these two pieces of code are too similar for not 
being able to extract :)
Line 92:                     for (ProfileBase item : profiles) {
Line 93:                         list.add(item.getName());
Line 94:                     }
Line 95:                     setItems(list);


http://gerrit.ovirt.org/#/c/29530/6/frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosMetricParametersModel.java
File 
frontend/webadmin/modules/uicommonweb/src/main/java/org/ovirt/engine/ui/uicommonweb/models/datacenters/qos/StorageQosMetricParametersModel.java:

Line 69:         if (!getEnabled().getEntity()) {
Line 70:             return true;
Line 71:         }
Line 72: 
Line 73:         getTotal().validateEntity(new IValidation[] {
> I prefer to have a single method dedicated for validation, don't see any be
why not? a refactor here can mean less code, hence, less bugs :)
Line 74:                 new NotEmptyValidation(),
Line 75:                 new IntegerValidation(0,
Line 76:                         (Integer) 
AsyncDataProvider.getInstance().getConfigValuePreConverted(maxTotal)) });
Line 77:         getRead().validateEntity(new IValidation[] {


http://gerrit.ovirt.org/#/c/29530/6/frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java
File 
frontend/webadmin/modules/uicompat/src/main/java/org/ovirt/engine/ui/uicompat/UIMessages.java:

Line 303: 
Line 304:     @DefaultMessage("This Network QoS is used by {0} Vnic 
Profiles.\nAre you sure you want to remove this Network QoS?\n\n Profiles using 
this QoS:\n")
Line 305:     String removeNetworkQoSMessage(int numOfProfiles);
Line 306: 
Line 307:     @DefaultMessage("This Storage QoS is used by {0} Disk 
Profiles.\nAre you sure you want to remove this Storage QoS?\n\n Profiles using 
this QoS:\n")
> what?
i mean, why 'Profiles using this QoS:' is needed as apart of this string
Line 308:     String removeStorageQoSMessage(int numOfProfiles);
Line 309: 
Line 310:     @DefaultMessage("{0} ({1} Socket(s), {2} Core(s) per Socket)")
Line 311:     String cpuInfoMessage(int numOfCpus, int sockets, int 
coresPerSocket);


http://gerrit.ovirt.org/#/c/29530/6/frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/qos/StorageQosWidget.java
File 
frontend/webadmin/modules/webadmin/src/main/java/org/ovirt/engine/ui/webadmin/section/main/view/popup/qos/StorageQosWidget.java:

Line 85:     @WithElementId
Line 86:     IntegerEntityModelTextBoxOnlyEditor iopsWriteEditor;
Line 87: 
Line 88:     private StorageQosParametersModel model;
Line 89:     private final IEventListener availabilityListener;
> which presenter? it's a widget.
didn't you create a PresenterWidget?
Line 90: 
Line 91:     public StorageQosWidget(ApplicationConstants constants) {
Line 92:         throughputEnabled = new EntityModelCheckBoxEditor(Align.RIGHT);
Line 93:         iopsEnabled = new EntityModelCheckBoxEditor(Align.RIGHT);


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

Gerrit-MessageType: comment
Gerrit-Change-Id: I4d5c14409be9e1fad1df3487cf3615f4b4955930
Gerrit-PatchSet: 6
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Gilad Chaplik <gchap...@redhat.com>
Gerrit-Reviewer: Daniel Erez <de...@redhat.com>
Gerrit-Reviewer: Gilad Chaplik <gchap...@redhat.com>
Gerrit-Reviewer: Kanagaraj M <kmayi...@redhat.com>
Gerrit-Reviewer: Tal Nisan <tni...@redhat.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