)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"297a5a9717fde0321552b8d7ac031ffc22ee0dbf","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move get_random_mac into neutron-lib"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"get_random_mac is used by networking-ovn, tap-as-a-service,"},{"line_number":10,"context_line":"and vmware-nsx, so we should move it into the neutron-lib repository."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I391300e6f1d04b2413084bccdbacb038071c4509"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba5da102_11aff081","line":10,"range":{"start_line":9,"start_character":26,"end_line":10,"end_character":14},"updated":"2016-10-31 22:14:25.000000000","message":"As per [1] isn\u0027t it also included in neutron-vpnaas?\n\n\n[1] http://codesearch.openstack.org/?q\u003dget_random_mac\u0026i\u003dnope\u0026files\u003d\u0026repos\u003d","commit_id":"05e4e44259a43cfe203af807c3a2d2ad18e384a3"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"84ec6d138fdb2b5b88362f3aa62b9d301aa2cca0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move get_random_mac into neutron-lib"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"get_random_mac is used by networking-ovn, tap-as-a-service,"},{"line_number":10,"context_line":"and vmware-nsx, so we should move it into the neutron-lib repository."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I391300e6f1d04b2413084bccdbacb038071c4509"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba5da102_8f7106ab","line":10,"range":{"start_line":9,"start_character":26,"end_line":10,"end_character":14},"in_reply_to":"ba5da102_11aff081","updated":"2016-11-01 14:45:13.000000000","message":"Done","commit_id":"05e4e44259a43cfe203af807c3a2d2ad18e384a3"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"d1e165ef5902ac3c31d897626fa2c66bd5ccc1a6","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move get_random_mac into neutron-lib"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"get_random_mac is used by networking-ovn, tap-as-a-service,"},{"line_number":10,"context_line":"and vmware-nsx, so we should move it into the neutron-lib repository."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I391300e6f1d04b2413084bccdbacb038071c4509"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba5da102_2e51e336","line":10,"range":{"start_line":9,"start_character":26,"end_line":10,"end_character":14},"in_reply_to":"ba5da102_11aff081","updated":"2016-11-01 12:48:28.000000000","message":"yes it is used in VPN.","commit_id":"05e4e44259a43cfe203af807c3a2d2ad18e384a3"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"84ec6d138fdb2b5b88362f3aa62b9d301aa2cca0","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Move get_random_mac into neutron-lib"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"get_random_mac is used by networking-ovn, tap-as-a-service,"},{"line_number":10,"context_line":"and vmware-nsx, so we should move it into the neutron-lib repository."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I391300e6f1d04b2413084bccdbacb038071c4509"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ba5da102_6f6cb2d0","line":10,"range":{"start_line":9,"start_character":26,"end_line":10,"end_character":14},"in_reply_to":"ba5da102_2e51e336","updated":"2016-11-01 14:45:13.000000000","message":"Done","commit_id":"05e4e44259a43cfe203af807c3a2d2ad18e384a3"}],"neutron_lib/tests/unit/utils/test_net.py":[{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"312d5e383066da48fc94653c8e66ac147ecd3655","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        for i in random_mac.split(\u0027:\u0027):"},{"line_number":41,"context_line":"            try:"},{"line_number":42,"context_line":"                int(i, 16)"},{"line_number":43,"context_line":"            except ValueError:"},{"line_number":44,"context_line":"                pass_test \u003d False"},{"line_number":45,"context_line":"                break"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_23d6fff0","line":43,"updated":"2016-11-18 16:08:02.000000000","message":"do you really need to catch this?\nIf the mac part is not an hexadecimal it will fail the test by raising a value error that will say that will say \"invalid literal for int() with base 16: \u0027....\u0027\"  which seems a bit more verbose than \"Failed asserting that false is not true\"","commit_id":"175c627b8a40611d2fa01eb42a4cfcbc59624be9"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"d1659548e0d2e4fc9e67ee97185dd3bbea2743db","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        for i in random_mac.split(\u0027:\u0027):"},{"line_number":41,"context_line":"            try:"},{"line_number":42,"context_line":"                int(i, 16)"},{"line_number":43,"context_line":"            except ValueError:"},{"line_number":44,"context_line":"                pass_test \u003d False"},{"line_number":45,"context_line":"                break"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_1ca88476","line":43,"in_reply_to":"7a77a97e_23d6fff0","updated":"2016-11-18 17:03:47.000000000","message":"oh I didn\u0027t know throwing exceptions counted as a fails. The captured traceback is much better.\n\n\u003e Captured traceback:\n~~~~~~~~~~~~~~~~~~~\n    Traceback (most recent call last):\n      File \"neutron_lib/tests/unit/utils/test_net.py\", line 36, in test_get_random_mac\n        random_mac \u003d net.get_random_mac(base_mac.split(\u0027:\u0027))\n      File \"neutron_lib/utils/net.py\", line 33, in get_random_mac\n        int(base_mac[2], 16), random.randint(0x00, 0xff),\n    ValueError: invalid literal for int() with base 16: \u00273z\u0027","commit_id":"175c627b8a40611d2fa01eb42a4cfcbc59624be9"},{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"4fa4ccd51d81ae63629732c7d7dc60b9661a0393","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        mock_gethostname.assert_called_once_with()"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"class TestGetRandomMac(base.BaseTestCase):"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    def test_get_random_mac(self):"},{"line_number":35,"context_line":"        base_mac \u003d \u0027fa:16:3e:fe:00:00\u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"7a77a97e_92ad58eb","line":32,"updated":"2016-11-18 18:54:31.000000000","message":"If there\u0027s an IF in the code, there should be 2 tests, one that goes in and one that doesn\u0027t.   It would be great if the that goes in the IF has a name such has\n\ndef test_that_when_4th_part_is_00_then...\u003cinsert reason here\u003e(self):","commit_id":"2cb73f786d406ae5d10f2a3c2396a00948ee2743"},{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"2e50ccbb18d12ac6bb65acc0c2567679d7bb9046","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_get_random_mac_with_three_octets(self):"},{"line_number":43,"context_line":"        base_mac \u003d \u0027fa:16:3e:00:00:00\u0027"},{"line_number":44,"context_line":"        self._test_get_random_mac(base_mac, 6)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def test_get_random_mac_with_four_octets(self):"},{"line_number":47,"context_line":"        base_mac \u003d \u0027fa:16:3e:fe:00:00\u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_81ea60d9","line":44,"range":{"start_line":44,"start_character":44,"end_line":44,"end_character":45},"updated":"2016-11-18 21:59:01.000000000","message":"So previously the test said 8... 8 being 3 octest + 2 colons\nso that should still be 8 no?","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"df718ea93e8a200cde98af9d544d05af4439d04f","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    def test_get_random_mac_with_three_octets(self):"},{"line_number":43,"context_line":"        base_mac \u003d \u0027fa:16:3e:00:00:00\u0027"},{"line_number":44,"context_line":"        self._test_get_random_mac(base_mac, 6)"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def test_get_random_mac_with_four_octets(self):"},{"line_number":47,"context_line":"        base_mac \u003d \u0027fa:16:3e:fe:00:00\u0027"}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_fef1c36b","line":44,"range":{"start_line":44,"start_character":44,"end_line":44,"end_character":45},"in_reply_to":"7a77a97e_81ea60d9","updated":"2016-11-21 15:12:38.000000000","message":"yep, my mistake. I added the third colon too.","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"},{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"2e50ccbb18d12ac6bb65acc0c2567679d7bb9046","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def test_get_random_mac_with_four_octets(self):"},{"line_number":47,"context_line":"        base_mac \u003d \u0027fa:16:3e:fe:00:00\u0027"},{"line_number":48,"context_line":"        self._test_get_random_mac(base_mac, 9)"}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_e1eb14da","line":48,"range":{"start_line":48,"start_character":44,"end_line":48,"end_character":45},"updated":"2016-11-18 21:59:01.000000000","message":"Shouldn\u0027t be 11 ?   4 octets + 3 colons","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"df718ea93e8a200cde98af9d544d05af4439d04f","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"    def test_get_random_mac_with_four_octets(self):"},{"line_number":47,"context_line":"        base_mac \u003d \u0027fa:16:3e:fe:00:00\u0027"},{"line_number":48,"context_line":"        self._test_get_random_mac(base_mac, 9)"}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_3eec1b8f","line":48,"range":{"start_line":48,"start_character":44,"end_line":48,"end_character":45},"in_reply_to":"7a77a97e_e1eb14da","updated":"2016-11-21 15:12:38.000000000","message":"Done. Added the fourth colon too.","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"}],"neutron_lib/utils/helpers.py":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"297a5a9717fde0321552b8d7ac031ffc22ee0dbf","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"def get_random_mac(base_mac):"},{"line_number":182,"context_line":"    \"\"\"Get a random mac string of the specified mac format."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    :param base_mac: The mac format for the mac string."},{"line_number":185,"context_line":"    :returns: The mac string."}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_b1864411","line":182,"range":{"start_line":182,"start_character":20,"end_line":182,"end_character":23},"updated":"2016-10-31 22:14:25.000000000","message":"Nit: When using \u0027mac\u0027 in description, it might be more proper to use \u0027MAC address\u0027.","commit_id":"05e4e44259a43cfe203af807c3a2d2ad18e384a3"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"84ec6d138fdb2b5b88362f3aa62b9d301aa2cca0","unresolved":false,"context_lines":[{"line_number":179,"context_line":""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"def get_random_mac(base_mac):"},{"line_number":182,"context_line":"    \"\"\"Get a random mac string of the specified mac format."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    :param base_mac: The mac format for the mac string."},{"line_number":185,"context_line":"    :returns: The mac string."}],"source_content_type":"text/x-python","patch_set":4,"id":"ba5da102_ef60c2d1","line":182,"range":{"start_line":182,"start_character":20,"end_line":182,"end_character":23},"in_reply_to":"ba5da102_b1864411","updated":"2016-11-01 14:45:13.000000000","message":"Done","commit_id":"05e4e44259a43cfe203af807c3a2d2ad18e384a3"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"9bb7a81d408914269f80ecf8deaf1e4399b107e5","unresolved":false,"context_lines":[{"line_number":178,"context_line":"    return s"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"def get_random_mac(base_mac):"},{"line_number":182,"context_line":"    \"\"\"Get a random MAC address string of the specified base format."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    :param base_mac: The base MAC address format for the MAC address string."}],"source_content_type":"text/x-python","patch_set":9,"id":"7a77a97e_a915ace5","line":181,"updated":"2016-11-18 03:50:25.000000000","message":"Let\u0027s organize utilities a bit more. Putting everything into utils is not very cohesive. This method has no affiliation with none of the methods in this module, we should probably come up with a net module under utils, i.e.\n\nneutron_lib/utils/net.py\n\nso that one can do:\n\nfrom neutron_lib.utils import net\n\nnet.get_random_mac()","commit_id":"0211b6d7ce09beefd9cf379043440bbf098a0854"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"915628e83fc2c0dfed2fd4ddf73c6cabbeeb7d4b","unresolved":false,"context_lines":[{"line_number":178,"context_line":"    return s"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"def get_random_mac(base_mac):"},{"line_number":182,"context_line":"    \"\"\"Get a random MAC address string of the specified base format."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    :param base_mac: The base MAC address format for the MAC address string."}],"source_content_type":"text/x-python","patch_set":9,"id":"7a77a97e_16d6a627","line":181,"in_reply_to":"7a77a97e_a915ace5","updated":"2016-11-18 15:13:53.000000000","message":"Done","commit_id":"0211b6d7ce09beefd9cf379043440bbf098a0854"}],"neutron_lib/utils/net.py":[{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"312d5e383066da48fc94653c8e66ac147ecd3655","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    mac \u003d [int(base_mac[0], 16), int(base_mac[1], 16),"},{"line_number":33,"context_line":"           int(base_mac[2], 16), random.randint(0x00, 0xff),"},{"line_number":34,"context_line":"           random.randint(0x00, 0xff), random.randint(0x00, 0xff)]"},{"line_number":35,"context_line":"    if base_mac[3] !\u003d \u002700\u0027:"},{"line_number":36,"context_line":"        mac[3] \u003d int(base_mac[3], 16)"},{"line_number":37,"context_line":"    return \u0027:\u0027.join([\"%02x\" % x for x in mac])"}],"source_content_type":"text/x-python","patch_set":11,"id":"7a77a97e_e36b271c","line":36,"range":{"start_line":35,"start_character":4,"end_line":36,"end_character":37},"updated":"2016-11-18 16:08:02.000000000","message":"This does not seem covered by the tests","commit_id":"175c627b8a40611d2fa01eb42a4cfcbc59624be9"},{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"87b378241147c0c75b59c9496cc28ed64449a334","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    mac \u003d [int(base_mac[0], 16), int(base_mac[1], 16),"},{"line_number":33,"context_line":"           int(base_mac[2], 16), random.randint(0x00, 0xff),"},{"line_number":34,"context_line":"           random.randint(0x00, 0xff), random.randint(0x00, 0xff)]"},{"line_number":35,"context_line":"    if base_mac[3] !\u003d \u002700\u0027:"},{"line_number":36,"context_line":"        mac[3] \u003d int(base_mac[3], 16)"},{"line_number":37,"context_line":"    return \u0027:\u0027.join([\"%02x\" % x for x in mac])"}],"source_content_type":"text/x-python","patch_set":13,"id":"7a77a97e_128b0b69","line":36,"range":{"start_line":35,"start_character":4,"end_line":36,"end_character":37},"updated":"2016-11-18 17:30:53.000000000","message":"still no test covering/explaining this case","commit_id":"fd406279b892ac36b9ec67a8e4c6ba3403e14bbe"},{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"2e50ccbb18d12ac6bb65acc0c2567679d7bb9046","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    return socket.gethostname()"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def get_random_mac(base_mac):"},{"line_number":27,"context_line":"    \"\"\"Get a random MAC address string of the specified base format."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    :param base_mac: The base MAC address format for the MAC address string."}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_a1cf5c54","line":26,"range":{"start_line":26,"start_character":4,"end_line":26,"end_character":18},"updated":"2016-11-18 21:59:01.000000000","message":"Ok so i finally get the intent of this method, i think the doc should be updated and it could be more generalized.\n\nat the  moment it will keep the first 3 octets of a mac and fill in with random stuff, and if the 4 octet is not a 00, keep it aswell\n\nAccording to this, we could say that all ending parts of a mac that is 00 should be replaced by a random number...\n\nSo the function could instead do something  like\n\nREPLACE\u003d\u002700\u0027\noutput \u003d base_mac[:] # clone\nindex \u003d len(output) - 1\n\nwhile output[index] !\u003d REPLACE and index \u003e\u003d 0:\n    output[index] \u003d random.randint(0x00, 0xff)\n    index -\u003d 1\n\nreturn \u0027:\u0027.join([\"%02x\" % x for x in output])\n\n\n(just wrote that on the top of my head)\n\nThat would make altenative length random macs","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"},{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"2e50ccbb18d12ac6bb65acc0c2567679d7bb9046","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def get_random_mac(base_mac):"},{"line_number":27,"context_line":"    \"\"\"Get a random MAC address string of the specified base format."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    :param base_mac: The base MAC address format for the MAC address string."},{"line_number":30,"context_line":"    :returns: The MAC address string."}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_81fb4078","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":68},"updated":"2016-11-18 21:59:01.000000000","message":"I think this could be called a \"mask\", where all the 0s will be converted to random numbers\n\naa:bb:cc:00:00:00  will return aa:bb:cc:random:random:random","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"},{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"1e3bed7bff0a458fa8c557a54a650951fb47e81d","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def get_random_mac(base_mac):"},{"line_number":27,"context_line":"    \"\"\"Get a random MAC address string of the specified base format."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    :param base_mac: The base MAC address format for the MAC address string."},{"line_number":30,"context_line":"    :returns: The MAC address string."}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_f8155b9b","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":68},"in_reply_to":"7a77a97e_4743f86b","updated":"2016-11-21 14:29:04.000000000","message":"right, but in the case here it\u0027s not 6 digits, it\u0027s 6 or 8... and could be 4 or 10\n\nI suggested mask because it makes me think of \"255.255.0.0\" in the sense that only the last part will be variable","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"aded1b9df02361529679d4ceebf45825c5d6f436","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def get_random_mac(base_mac):"},{"line_number":27,"context_line":"    \"\"\"Get a random MAC address string of the specified base format."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    :param base_mac: The base MAC address format for the MAC address string."},{"line_number":30,"context_line":"    :returns: The MAC address string."}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_4743f86b","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":68},"in_reply_to":"7a77a97e_81fb4078","updated":"2016-11-18 23:36:32.000000000","message":"We don\u0027t need to come up with artificial names. This is like this for a reason: the 6 digits are the OUI of the mac address.","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"},{"author":{"_account_id":16934,"name":"Martin Roy","email":"lindycoder@gmail.com","username":"lindycoder"},"change_message_id":"8e44b4be08ba96bee9811179b332f82bca8f067a","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def get_random_mac(base_mac):"},{"line_number":27,"context_line":"    \"\"\"Get a random MAC address string of the specified base format."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    :param base_mac: The base MAC address format for the MAC address string."},{"line_number":30,"context_line":"    :returns: The MAC address string."}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_e1d75feb","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":68},"in_reply_to":"7a77a97e_9e760f05","updated":"2016-11-21 16:33:41.000000000","message":"Well i just felt that it could be an opportunity to enhance the solution and start fresh with new code, but i agree it would be done later","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"818c41bfacfdc3c7f60a811d8d3bf5303f14d83a","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def get_random_mac(base_mac):"},{"line_number":27,"context_line":"    \"\"\"Get a random MAC address string of the specified base format."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    :param base_mac: The base MAC address format for the MAC address string."},{"line_number":30,"context_line":"    :returns: The MAC address string."}],"source_content_type":"text/x-python","patch_set":15,"id":"5a74a57a_1b3a23ce","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":68},"in_reply_to":"7a77a97e_e1d75feb","updated":"2016-11-22 22:29:23.000000000","message":"Actually I think we are moving away from \"having\" to put changes this into a separate patch. If you look at [1] (which I think is close to agreement), a rehome patch with minor (non-disruptive) changes can be done in a single rehome patch. Based on [2] the \"enhancement\" doesn\u0027t even change the public API... So it probably \"could\" be done here.\n\n\n[1] https://review.openstack.org/#/c/331338/22/doc/source/contributing.rst@46\n[2] https://review.openstack.org/#/c/400408/1/neutron_lib/utils/net.py","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"df718ea93e8a200cde98af9d544d05af4439d04f","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"def get_random_mac(base_mac):"},{"line_number":27,"context_line":"    \"\"\"Get a random MAC address string of the specified base format."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    :param base_mac: The base MAC address format for the MAC address string."},{"line_number":30,"context_line":"    :returns: The MAC address string."}],"source_content_type":"text/x-python","patch_set":15,"id":"7a77a97e_9e760f05","line":27,"range":{"start_line":27,"start_character":7,"end_line":27,"end_character":68},"in_reply_to":"7a77a97e_f8155b9b","updated":"2016-11-21 15:12:38.000000000","message":"Changes like this should be addressed in another patch. This patch aims to only move the function. The only modifications I made to this function were done to the doc string and that was done to match the styling of the doc strings in the rest of the file.","commit_id":"f11f37eab64d51c7ace1fbe206d56fd0792de0aa"}],"releasenotes/notes/move-get-random-mac-98f47d81cb34483d.yaml":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"297a5a9717fde0321552b8d7ac031ffc22ee0dbf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - get_random_mac utility function from neutron.common.utils is now"},{"line_number":4,"context_line":"    in neutron_lib.utils.helpers with the same name, get_random_mac."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba5da102_d1557850","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":18},"updated":"2016-10-31 22:14:25.000000000","message":"Should we be using double tics to signify \u0027code names\u0027 (function, module, package, etc. names).. For example: https://github.com/openstack/neutron/blob/master/releasenotes/notes/iptables-fail-on-missing-sysctl-bridge-firewalling-912f157b5671363f.yaml#L6","commit_id":"05e4e44259a43cfe203af807c3a2d2ad18e384a3"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"84ec6d138fdb2b5b88362f3aa62b9d301aa2cca0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - get_random_mac utility function from neutron.common.utils is now"},{"line_number":4,"context_line":"    in neutron_lib.utils.helpers with the same name, get_random_mac."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba5da102_0f5ed611","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":18},"in_reply_to":"ba5da102_d1557850","updated":"2016-11-01 14:45:13.000000000","message":"Done","commit_id":"05e4e44259a43cfe203af807c3a2d2ad18e384a3"},{"author":{"_account_id":20378,"name":"Trevor McCasland","email":"TM2086@att.com","username":"twm2016"},"change_message_id":"6d3396aa4fbd0e924a0a55adb2c9378e73c58d00","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - get_random_mac utility function from neutron.common.utils is now"},{"line_number":4,"context_line":"    in neutron_lib.utils.helpers with the same name, get_random_mac."}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba5da102_79e558da","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":18},"in_reply_to":"ba5da102_d1557850","updated":"2016-11-01 17:04:43.000000000","message":"I did not include the double tics and the beginning of the line because it was causing the test to fail.","commit_id":"05e4e44259a43cfe203af807c3a2d2ad18e384a3"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"b771de3487a0f77ba4476acb060beda457f3cb7d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - get_random_mac utility function from ``neutron.common.utils``"},{"line_number":4,"context_line":"    is now in ``neutron_lib.utils.helpers`` with the same name,"},{"line_number":5,"context_line":"    get_random_mac."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"ba5da102_3fa9dd90","line":3,"updated":"2016-11-02 15:04:50.000000000","message":"Nit: I guess you could say \"The ``get_random_mac`` utility function...\"","commit_id":"22f0b0cd6a2d71328af5cae4c8ca08f12ba10ffa"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"476ecb353352691dfde36c9ed17469a376fe66b7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - get_random_mac utility function from ``neutron.common.utils``"},{"line_number":4,"context_line":"    is now in ``neutron_lib.utils.net`` with the same name,"},{"line_number":5,"context_line":"    get_random_mac."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"7a77a97e_a1bb6a74","line":3,"range":{"start_line":3,"start_character":4,"end_line":3,"end_character":18},"updated":"2016-11-22 17:15:28.000000000","message":"Nit: might be more consistent to use ``get_random_mac`` since it is a \"code name\".","commit_id":"b59dbfe77555f38029a74bd3598367b3d6d8dd47"}]}
