I have reviewed this document as part of the Operational directorate's ongoing effort to review all IETF documents being processed by the IESG.  These comments were written with the intent of improving the operational aspects of the IETF drafts. Comments that are not addressed in last call may be included in AD reviews during the IESG review.  Document editors and WG chairs should treat these comments just like any other last call comments.     Document Status: Ready with Issues   This is a MIB document – however my review focuses on the perspective of an operational and manageability review. I assume that a separate RFC 4181 review is or will be performed.   5706 check list:   A.1.  Operational Considerations      1.  Has deployment been discussed?  See Section 2.1.          *  Does the document include a description of how this protocol           or technology is going to be deployed and managed?          *  Is the proposed specification deployable?  If not, how could           it be improved?          *  Does the solution scale well from the operational and           management perspective?  Does the proposed approach have any           scaling issues that could affect usability for large-scale           operation?          *  Are there any coexistence issues?   DR: there is some discussion about deployment, especially in relation to the read-only vs. write capabilities.      2.  Has installation and initial setup been discussed?  See        Section 2.2.          *  Is the solution sufficiently configurable?          *  Are configuration parameters clearly identified?          *  Are configuration parameters normalized?          *  Does each configuration parameter have a reasonable default           value?          *  Will configuration be pushed to a device by a configuration           manager, or pulled by a device from a configuration server?          *  How will the devices and managers find and authenticate each           other?   DR: no, but I do not believe that there are any special or different problems than the ones encountered when installing any new SNMP agent.      3.  Has the migration path been discussed?  See Section 2.3.          *  Are there any backward compatibility issues?   DR: N/A – this is the first version of this MIB module. Relationship with other MIB modules is discussed.        4.  Have the Requirements on other protocols and functional        components been discussed?  See Section 2.4.      *  What protocol operations are expected to be performed relative           to the new protocol or technology, and what protocols and data           models are expected to be in place or recommended to ensure           for interoperable management?   DR: N/A      5.  Has the impact on network operation been discussed?  See        Section 2.5.          *  Will the new protocol significantly increase traffic load on           existing networks?          *  Will the proposed management for the new protocol           significantly increase traffic load on existing networks?          *  How will the new protocol impact the behavior of other           protocols in the network?  Will it impact performance (e.g.,           jitter) of certain types of applications running in the same           network?          *  Does the new protocol need supporting services (e.g., DNS or           Authentication, Authorization, and Accounting - AAA) added to           an existing network?   DR: the number of notifications issued by the agent may be a problem and the tuning is quite course. See the more detailed comments.      6.  Have suggestions for verifying correct operation been discussed?        See Section 2.6.          *  How can one test end-to-end connectivity and throughput?          *  Which metrics are of interest?          *  Will testing have an impact on the protocol or the network?   DR: N/A      7.  Has management interoperability been discussed?  See Section 3.1.          *  Is a standard protocol needed for interoperable management?          *  Is a standard information or data model needed to make           properties comparable across devices from different vendors?   DR: this is a standard data model, relationship with other MIB modules is discussed      8.  Are there fault or threshold conditions that should be reported?        See Section 3.3.          *  Does specific management information have time utility?          *  Should the information be reported by notifications?  Polling?           Event-driven polling?          *  Is notification throttling discussed? *  Is there support for saving state that could be used for root           cause analysis?   DR: standard MIB implementation conditions apply (like system time for time object). As in any SNMP agent implementations the operators strategy may be notifications-triggered polling, but this is not explicitly mentioned. Notification throttling is not applied, and it may be useful – see comment #18        9.  Is configuration discussed?  See Section 3.4.          *  Are configuration defaults and default modes of operation           considered?          *  Is there discussion of what information should be preserved           across reboots of the device or the management system?  Can           devices realistically preserve this information through hard           reboots where physical configuration might change (e.g., cards           might be swapped while a chassis is powered down)?     DR: This is a mostly read-only MIB module. Two objects are defined to enable/disable notifications, the compliance section does not make them mandatory   A.2.  Management Considerations      Do you anticipate any manageability issues with the specification?      1.  Is management interoperability discussed?  See Section 3.1.          *  Will it use centralized or distributed management?          *  Will it require remote and/or local management applications?          *  Are textual or graphical user interfaces required?          *  Is textual or binary format for management information           preferred?   DR: remote management is possible, this MIB module makes possible interoperable management        2.  Is management information discussed?  See Section 3.2.          *  What is the minimal set of management (configuration, faults,           performance monitoring) objects that need to be instrumented           in order to manage the new protocol?   DR: yes, this is a MIB specification      3.  Is fault management discussed?  See Section 3.3.          *  Is Liveness Detection and Monitoring discussed?          *  Does the solution have failure modes that are difficult to           diagnose or correct?  Are faults and alarms reported and           logged?   DR: Yes      4.  Is configuration management discussed?  See Section 3.4.          *  Is protocol state information exposed to the user?  How?  Are           significant state transitions logged?   DR: Yes, configuration management is discussed, but only read operations are possible with the exception of enabling and disabling notifications.     5.  Is accounting management discussed?  See Section 3.5.   DR: N/A        6.  Is performance management discussed?  See Section 3.6.          *  Does the protocol have an impact on network traffic and           network devices?  Can performance be measured?          *  Is protocol performance information exposed to the user?   DR: Yes      7.  Is security management discussed?  See Section 3.7.          *  Does the specification discuss how to manage aspects of           security, such as access controls, managing key distribution,           etc. DR: Yes, see detailed comments   A few more detailed comments:   1.        Page 5: s/the MIB objects are managed at a hypervisor/ the MIB objects are managed at the hypervisor/ 2.        Page 6: s/the relationship between other MIB modules/ s/the relationship with other MIB modules/ 3.        Page 8: figure 2 – at the top did you mean ‘Notation’ rather than ‘Notification’? 4.        Same – in general this figure does not really help. It is not clear how are the Blocked and Crashed states linked to the rest. I would at least add the numbers of the states in the VirtualMachineOperState TC 5.        Page 9: The statement about the MIB module providing writeable objects that can be used for non-persistent changes like changing memory allocation or CPU allocation seems to be a leftover from previous versions – in any case it is not true any longer for this version of the MIB module. 6.        I frankly do not know if the OID tree structure that spreads in pages 9 to 11 is useful at all. Who needs it? And if anybody needs this, it can be obtained from any MIB tool. I believe that a short list of the MIB groups and tables and a few words about what each of these does is sufficient. 7.        Page 12: I find the second paragraph in section 5 confusing – maybe it’s a language issue. The last sentence for example does not makes sense (what does ‘the objects of this information’ mean?) 8.        Same about the 4 th paragraph in the same section and page. What does the first sentence mean? (‘the objects … are not also included’) 9.        Page 15:  the explanation of the destroy(5) value in the VirtualMachineAdminState TC may confuse. We do not allow changing VM admin states by write operations. Of course, an agent implementing this MIB module may read this state and reflect it in an object that uses this SYNTAX. I believe that some text about this usage of the TC needs to be added. 10.    Page 20: is there any reason that the TC VirtualMachineStorageAccess has no ‘unknown’ enumeration defined? 11.    Page 20-21: Why is the VirtualMachineStorageType limited to two media types only? Would not an IANA-administered TC be more appropriate here? 12.    Page 24: It is not clear to me what is an ‘administered region’ mentioned in the DESCRIPTION clause of the vmUUID object 13.    Page 25: why ‘power’ in the DESCRIPTION of the vmAdminState? 14.    Page 26: it looks like the intent of the vmMemUnit is to use bytes as unit of expressing memory size – this should be explicitly mentioned 15.    Page 33: same comment relative to vmStorageSizeUnit 16.    Page 34-35: I have a big question mark about how the vmStorageReadLatency and vmStorageWriteLatency objects need to be used. First the usage of the Counter64 syntax seems odd as these objects do not count anything and their increase is not unitary. Second I do not know how to interpret them. What does say a reading of ‘a million’ or of ‘a billion’ mean? It really makes no sense if not interpreted in conjunction with the number of respective I/O operations, media type, etc. I guess that the implementation of these objects is not trivial and probably requires HW support taking into consideration the microseconds resolution. At a minimum I guess that some text recommending to the operators how they are supposed to be used is needed. 17.    I am concerned that the current way of defining the notifications switches is too course. Hypervisors may have many VMs in charge, and if each generates one notification per each state changes the numbers can become big even in normal operation. Maybe some throttling mechanism would be useful. Or maybe a couple of more switches that allow to enable only ‘critical’ notifications (e.g. vmCrashed). 18.    The Security Considerations section does not include a description of the security hazards of mis-configuration of the writeable objects (danger of flooding the network with unwanted notifications)   Thanks and Regards,   Dan