)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":31048,"name":"Alexander Lingo","email":"alingo@nvidia.com","username":"alingo"},"change_message_id":"8c07fd6d26413eb9364824be136767375333acba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f2fb82db_1c666ada","updated":"2022-05-06 20:42:43.000000000","message":"Accidentilly submitted a new review, so going to ABANDON this one and move over to that: https://review.opendev.org/c/openstack/ironic/+/840986","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b15208d8_2dd4d509","updated":"2022-04-29 20:16:30.000000000","message":"Greetings!\n\nA couple things:\n\nYou\u0027ll likely want to run tox -epep8, and eventually tox -epy3 locally before uploading. That will help with syntax checking as well as running unit tests.\n\nYou have some formatting stuff that seems a little weird that is likely to fail syntax/code style checks.\n\nYou\u0027ve also got some likely old/redundant code as well as some other minor things like replacing python open with a zero. I\u0027m sure it is not intentional, but yeah.\n\nWhat I\u0027m seeing missing overall is a release note, and I suspect nobodycam can help you there, as well as some unit tests, and basic doc update for the snmp driver.\n\nThe whole purpose of this is just to make it easier to maintain and hopefully so nothing breaks any of it down the road by accident.\n\nIf you have any questions, please feel free to reach out!\n\n-Julia","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":31048,"name":"Alexander Lingo","email":"alingo@nvidia.com","username":"alingo"},"change_message_id":"e5b8d1a2abdb77a9af3b9e070073f711bea3227d","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":1,"id":"5c90ce18_866d66a5","updated":"2022-04-29 19:49:45.000000000","message":"Working on adding unit tests. ","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"}],"ironic/drivers/modules/snmp.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":802,"context_line":"class SNMPDriverServerTechSentry3(SNMPDriverBase):"},{"line_number":803,"context_line":"    \"\"\"SNMP driver class for Server Technology power PDU."},{"line_number":804,"context_line":"    ftp://ftp.servertech.com/Pub/SNMP/sentry3/Sentry3.mib"},{"line_number":805,"context_line":" "},{"line_number":806,"context_line":"    outletTable OBJECT-TYPE"},{"line_number":807,"context_line":"         SYNTAX      SEQUENCE OF OutletEntry"},{"line_number":808,"context_line":"         MAX-ACCESS  not-accessible"}],"source_content_type":"text/x-python","patch_set":1,"id":"9c308b6e_252cc2ef","line":805,"updated":"2022-04-29 20:16:30.000000000","message":"Greetings! Welcome!\n\nYou\u0027ll likely want to remove the excess space here. FWIW. The syntax checking might say \"nope\"","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":879,"context_line":"        outlet \u003d self.snmp_info[\u0027outlet\u0027]"},{"line_number":880,"context_line":"        # return self.oid_base + oid + self.oid_tower_infeed_idx + (outlet,)"},{"line_number":881,"context_line":"        full_oid\u003d self.oid_base + oid + self.oid_tower_infeed_idx + (outlet,)"},{"line_number":882,"context_line":"        \"\"\" LOG.warning(\"oid: \" + str(full_oid))\"\"\""},{"line_number":883,"context_line":"        return full_oid"},{"line_number":884,"context_line":""},{"line_number":885,"context_line":"    def _snmp_power_state(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1c7641e7_2dbbdbad","line":882,"range":{"start_line":882,"start_character":0,"end_line":882,"end_character":51},"updated":"2022-04-29 20:16:30.000000000","message":"Debugging which can be dropped?","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"48126a26691752253d593c414111a5d637d06fbe","unresolved":true,"context_lines":[{"line_number":892,"context_line":"        elif state in (self.status_off, self.status_on_wait):"},{"line_number":893,"context_line":"            power_state \u003d states.POWER_OFF"},{"line_number":894,"context_line":"        else:"},{"line_number":895,"context_line":"            LOG.warning(\"Server Technology Power SNMP PDU %(addr)s oid %(oid) outlet %(outlet)s: \""},{"line_number":896,"context_line":"                        \"unrecognised power state %(state)s.\","},{"line_number":897,"context_line":"                        {\u0027addr\u0027: self.snmp_info[\u0027address\u0027],"},{"line_number":898,"context_line":"                         \u0027oid\u0027: oid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"6d0b380e_43843ce7","line":895,"range":{"start_line":895,"start_character":71,"end_line":895,"end_character":77},"updated":"2022-05-05 14:01:17.000000000","message":"%(oid)s","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":915,"context_line":""},{"line_number":916,"context_line":"class SNMPDriverServerTechSentry4(SNMPDriverBase):"},{"line_number":917,"context_line":"    \"\"\"SNMP driver class for Server Technology power PDU."},{"line_number":918,"context_line":"    https://www.servertech.com/support/sentry-mib-oid-tree-downloads"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"    SNMP objects for Server Technology Power PDU. Assume towerIndex\u003d1 and infeedIndex\u003d1 for now"},{"line_number":921,"context_line":"    1.3.6.1.4.1.1718.3.2.3.1.5.1.1.\u003coutlet ID\u003e outletStatus"}],"source_content_type":"text/x-python","patch_set":1,"id":"1786b730_b6ab1e40","line":918,"updated":"2022-04-29 20:16:30.000000000","message":"I believe the doc string processor requires a blank line to delineate the subject and then the body of docstring contents.","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":917,"context_line":"    \"\"\"SNMP driver class for Server Technology power PDU."},{"line_number":918,"context_line":"    https://www.servertech.com/support/sentry-mib-oid-tree-downloads"},{"line_number":919,"context_line":""},{"line_number":920,"context_line":"    SNMP objects for Server Technology Power PDU. Assume towerIndex\u003d1 and infeedIndex\u003d1 for now"},{"line_number":921,"context_line":"    1.3.6.1.4.1.1718.3.2.3.1.5.1.1.\u003coutlet ID\u003e outletStatus"},{"line_number":922,"context_line":"    Read 0\u003doff, 1\u003don, 2\u003doff wait, 3\u003don wait, 4\u003doff error, 5\u003don error, 6\u003dno comm, 7\u003dreading, 8\u003doff fuse, 9\u003don fuse"},{"line_number":923,"context_line":"    1.3.6.1.4.1.1718.3.2.3.1.11.1.1.\u003coutlet ID\u003e outletControlAction"},{"line_number":924,"context_line":"    Write 0\u003dno action, 1\u003don, 2\u003doff, 3\u003dreboot"},{"line_number":925,"context_line":""},{"line_number":926,"context_line":"    SNMP objects for Server Technology Power PDU. Assume towerIndex\u003d1 and infeedIndex\u003d1 for now"},{"line_number":927,"context_line":"    1.3.6.1.4.1.1718.4.1.8.5.1.1\u003coutlet ID\u003e outletStatus"},{"line_number":928,"context_line":"    notSet (0) fixedOn (1) idleOff (2) idleOn (3) wakeOff (4) wakeOn (5) ocpOff (6) ocpOn (7)"},{"line_number":929,"context_line":"    pendOn (8) pendOff (9) off (10) on (11) reboot (12) shutdown (13) lockedOff (14) lockedOn (15)"},{"line_number":930,"context_line":"    eventOff (16) eventOn (17) eventReboot (18) eventShutdown (19)"},{"line_number":931,"context_line":"    1.3.6.1.4.1.1718.4.1.8.5.1.2.\u003coutlet ID\u003e outletControlAction"},{"line_number":932,"context_line":"    Write 0\u003dno action, 1\u003don, 2\u003doff, 3\u003dreboot"},{"line_number":933,"context_line":"    \"\"\""},{"line_number":934,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"6514c2fd_85902ed5","line":931,"range":{"start_line":920,"start_character":3,"end_line":931,"end_character":64},"updated":"2022-04-29 20:16:30.000000000","message":"Great info to encode in! But! We generally try to keep things wrapped to 80 characters wide. Generally.  i\u0027d just kind of make it lists of information in the docstring. You shouldn\u0027t have any formatting issues just doing line breaks and indeded spacing by a character or using - or * as a bullet point.","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1009,"context_line":""},{"line_number":1010,"context_line":"class SNMPDriverRaritanPDU2(SNMPDriverBase):"},{"line_number":1011,"context_line":"    \"\"\"SNMP driver class for Raritan PDU2."},{"line_number":1012,"context_line":"    http://support.raritan.com/px2/version-2.4.1/mibs/pdu2-mib-020400-39592.txt"},{"line_number":1013,"context_line":"    http://cdn.raritan.com/download/PX/v1.5.20/PDU-MIB.txt"},{"line_number":1014,"context_line":""},{"line_number":1015,"context_line":"    Complete Object Identifier:"}],"source_content_type":"text/x-python","patch_set":1,"id":"336671c4_39d54dd5","line":1012,"range":{"start_line":1012,"start_character":0,"end_line":1012,"end_character":79},"updated":"2022-04-29 20:16:30.000000000","message":"You likely want to put a blank line between the first line of the docstring and the link your noting.","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1058,"context_line":""},{"line_number":1059,"context_line":""},{"line_number":1060,"context_line":"    unavailable         \u003d -1"},{"line_number":1061,"context_line":"    open                \u003d 0"},{"line_number":1062,"context_line":"    closed              \u003d 1"},{"line_number":1063,"context_line":"    belowLowerCritical  \u003d 2"},{"line_number":1064,"context_line":"    belowLowerWarning   \u003d 3"}],"source_content_type":"text/x-python","patch_set":1,"id":"48829fb9_281cc35e","line":1061,"range":{"start_line":1061,"start_character":0,"end_line":1061,"end_character":27},"updated":"2022-04-29 20:16:30.000000000","message":"open is a reserved name in python...\n\nThis basically maps the method name \"open\" to a int(0). I\u0027d recommend a different name...","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1136,"context_line":""},{"line_number":1137,"context_line":"class SNMPDriverVertivGeistPDU(SNMPDriverBase):"},{"line_number":1138,"context_line":"    \"\"\"SNMP driver class for VertivGeist NU30017L/NU30019L PDU."},{"line_number":1139,"context_line":"    https://mibs.observium.org/mib/GEIST-V5-MIB/"},{"line_number":1140,"context_line":""},{"line_number":1141,"context_line":"    \"\"\""},{"line_number":1142,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"a0ae8a32_664da50f","line":1139,"updated":"2022-04-29 20:16:30.000000000","message":"I\u0027d put an empty line between the first line of the doc string and the link.","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1137,"context_line":"class SNMPDriverVertivGeistPDU(SNMPDriverBase):"},{"line_number":1138,"context_line":"    \"\"\"SNMP driver class for VertivGeist NU30017L/NU30019L PDU."},{"line_number":1139,"context_line":"    https://mibs.observium.org/mib/GEIST-V5-MIB/"},{"line_number":1140,"context_line":""},{"line_number":1141,"context_line":"    \"\"\""},{"line_number":1142,"context_line":""},{"line_number":1143,"context_line":"    oid_device \u003d (21239,5,2,3,5,1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ae75cf65_37aa9081","line":1140,"updated":"2022-04-29 20:16:30.000000000","message":"nit: redundant line","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1145,"context_line":"    oid_power_status \u003d (4,)"},{"line_number":1146,"context_line":"    oid_tower_infeed_idx \u003d (1,)"},{"line_number":1147,"context_line":""},{"line_number":1148,"context_line":"    on                  \u003d 1"},{"line_number":1149,"context_line":"    off                 \u003d 2"},{"line_number":1150,"context_line":"    on2off              \u003d 3"},{"line_number":1151,"context_line":"    off2on              \u003d 4"},{"line_number":1152,"context_line":"    rebootOn            \u003d 5"},{"line_number":1153,"context_line":"    rebootOff           \u003d 5"},{"line_number":1154,"context_line":"    unavailable         \u003d 7"},{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":""},{"line_number":1157,"context_line":"    value_power_on  \u003d 2"}],"source_content_type":"text/x-python","patch_set":1,"id":"8d4a8a7a_8ea94900","line":1154,"range":{"start_line":1148,"start_character":2,"end_line":1154,"end_character":27},"updated":"2022-04-29 20:16:30.000000000","message":"Generally the syntax the checker is going to expect is\n\nvariable \u003d value\nlonger_var \u003d value","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1154,"context_line":"    unavailable         \u003d 7"},{"line_number":1155,"context_line":""},{"line_number":1156,"context_line":""},{"line_number":1157,"context_line":"    value_power_on  \u003d 2"},{"line_number":1158,"context_line":"    value_power_off \u003d 4"},{"line_number":1159,"context_line":""},{"line_number":1160,"context_line":"    def __init__(self, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"114be3d8_00c56149","line":1157,"range":{"start_line":1157,"start_character":18,"end_line":1157,"end_character":19},"updated":"2022-04-29 20:16:30.000000000","message":"nit: excess spacce.","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1172,"context_line":"        :returns: The full OID as a tuple of integers."},{"line_number":1173,"context_line":"        \"\"\""},{"line_number":1174,"context_line":"        outlet \u003d self.snmp_info[\u0027outlet\u0027]"},{"line_number":1175,"context_line":"        full_oid\u003d self.oid_base + oid + (outlet,)"},{"line_number":1176,"context_line":"        LOG.warning(\"Vertiv Geist PDU:  %s %s %s\" % (oid, outlet, full_oid))"},{"line_number":1177,"context_line":"        return full_oid"},{"line_number":1178,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1cd6866e_b29a7e4c","line":1175,"range":{"start_line":1175,"start_character":19,"end_line":1175,"end_character":49},"updated":"2022-04-29 20:16:30.000000000","message":"Side comment: so I\u0027ve seen this pattern a few times of appending a tuple, to a OID, to an outlet being provided as a tuple representing a single value. That just seems... really weird to me.","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1172,"context_line":"        :returns: The full OID as a tuple of integers."},{"line_number":1173,"context_line":"        \"\"\""},{"line_number":1174,"context_line":"        outlet \u003d self.snmp_info[\u0027outlet\u0027]"},{"line_number":1175,"context_line":"        full_oid\u003d self.oid_base + oid + (outlet,)"},{"line_number":1176,"context_line":"        LOG.warning(\"Vertiv Geist PDU:  %s %s %s\" % (oid, outlet, full_oid))"},{"line_number":1177,"context_line":"        return full_oid"},{"line_number":1178,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"838c1a4d_ce907c9e","line":1175,"range":{"start_line":1175,"start_character":16,"end_line":1175,"end_character":17},"updated":"2022-04-29 20:16:30.000000000","message":"This will be a pep8 check error, there should be a space between the equal character.","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1173,"context_line":"        \"\"\""},{"line_number":1174,"context_line":"        outlet \u003d self.snmp_info[\u0027outlet\u0027]"},{"line_number":1175,"context_line":"        full_oid\u003d self.oid_base + oid + (outlet,)"},{"line_number":1176,"context_line":"        LOG.warning(\"Vertiv Geist PDU:  %s %s %s\" % (oid, outlet, full_oid))"},{"line_number":1177,"context_line":"        return full_oid"},{"line_number":1178,"context_line":""},{"line_number":1179,"context_line":"    def _snmp_power_state(self):"}],"source_content_type":"text/x-python","patch_set":1,"id":"6dcae997_5c7ca1ee","line":1176,"updated":"2022-04-29 20:16:30.000000000","message":"This is mainly a comment, but other reviewers might not be so keen on this. \n\nSo generally, when we log, we want to provide context to backtrack the request to a node, and so on and so forth so the logs can be used to provide a basis for troubleshooting.\n\nI guess the question to ask is, what value does the logging here serve? What is it for? Should it be done elsewhere, or if invoked, should an exception be raised?","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1181,"context_line":"        state \u003d self.client.get(oid)"},{"line_number":1182,"context_line":""},{"line_number":1183,"context_line":"        # Translate the state to an Ironic power state."},{"line_number":1184,"context_line":"        #if state in (self.on, self.on) or state in (self.on, self.off2on):"},{"line_number":1185,"context_line":"        if state in (self.on, self.on):"},{"line_number":1186,"context_line":"            power_state \u003d states.POWER_ON"},{"line_number":1187,"context_line":"        #elif state in (self.off, self.off) or state in (self.off, self.on2off):"}],"source_content_type":"text/x-python","patch_set":1,"id":"69d677f6_09c59cd6","line":1184,"range":{"start_line":1184,"start_character":0,"end_line":1184,"end_character":75},"updated":"2022-04-29 20:16:30.000000000","message":"Old code?","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1184,"context_line":"        #if state in (self.on, self.on) or state in (self.on, self.off2on):"},{"line_number":1185,"context_line":"        if state in (self.on, self.on):"},{"line_number":1186,"context_line":"            power_state \u003d states.POWER_ON"},{"line_number":1187,"context_line":"        #elif state in (self.off, self.off) or state in (self.off, self.on2off):"},{"line_number":1188,"context_line":"        elif state in (self.off, self.off):"},{"line_number":1189,"context_line":"            power_state \u003d states.POWER_OFF"},{"line_number":1190,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":1,"id":"497ffc31_9e9c4272","line":1187,"range":{"start_line":1187,"start_character":0,"end_line":1187,"end_character":80},"updated":"2022-04-29 20:16:30.000000000","message":"old code? You likely want to delete it if it is just from prior work.","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1188,"context_line":"        elif state in (self.off, self.off):"},{"line_number":1189,"context_line":"            power_state \u003d states.POWER_OFF"},{"line_number":1190,"context_line":"        else:"},{"line_number":1191,"context_line":"            LOG.warning(\"Vertiv Geist PDU SNMP PDU %(addr)s oid %(oid)s outlet %(outlet)s: \""},{"line_number":1192,"context_line":"                        \"unrecognised power state %(state)s.\","},{"line_number":1193,"context_line":"                        {\u0027addr\u0027: self.snmp_info[\u0027address\u0027],"},{"line_number":1194,"context_line":"                         \u0027oid\u0027: oid,"}],"source_content_type":"text/x-python","patch_set":1,"id":"bee0087a_3ca36f27","line":1191,"updated":"2022-04-29 20:16:30.000000000","message":"Aside: I can\u0027t help but wonder if we should be doing these as exceptions....\n\nGranted, there is an error state for power, but I think we raise exceptions elsewhere.","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"fe3e2bc69bfec72ec3f5d819f1ce5f93964c3312","unresolved":true,"context_lines":[{"line_number":1290,"context_line":"    \u0027eatonpower\u0027: SNMPDriverEatonPower,"},{"line_number":1291,"context_line":"    \u0027teltronix\u0027: SNMPDriverTeltronix,"},{"line_number":1292,"context_line":"    \u0027baytech_mrp27\u0027: SNMPDriverBaytechMRP27,"},{"line_number":1293,"context_line":"    \u0027servertech_sentry3\u0027: SNMPDriverServerTechSentry3,"},{"line_number":1294,"context_line":"    \u0027servertech_sentry4\u0027: SNMPDriverServerTechSentry4,"},{"line_number":1295,"context_line":"    \u0027raritan_pdu2\u0027: SNMPDriverRaritanPDU2,"},{"line_number":1296,"context_line":"    \u0027vertivgeist_pdu\u0027: SNMPDriverVertivGeistPDU,"},{"line_number":1297,"context_line":"    \u0027auto\u0027: SNMPDriverAuto,"},{"line_number":1298,"context_line":"}"},{"line_number":1299,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"edae8b89_e25f0740","line":1296,"range":{"start_line":1293,"start_character":0,"end_line":1296,"end_character":48},"updated":"2022-04-29 20:16:30.000000000","message":"Yeah, you\u0027ll want to add these to the table on doc/source/admin/snmp.rst.","commit_id":"9cba7528e95465c34ec8cfc650a185e17599e3a7"}]}
