)]}'
{"openstack/network/v2/_proxy.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"d6eb271cd4783e35fe4277dbbea2d92e79fd025a","unresolved":false,"context_lines":[{"line_number":2506,"context_line":"        \"\"\""},{"line_number":2507,"context_line":"        return self._update(_vpn_service.VPNService, vpn_service, **attrs)"},{"line_number":2508,"context_line":""},{"line_number":2509,"context_line":"    def get_auto_allocated_topology(self, auto_allocated_topology):"},{"line_number":2510,"context_line":"        return self._get(_auto_allocated_topology.AutoAllocatedTopology,"},{"line_number":2511,"context_line":"                         auto_allocated_topology)"},{"line_number":2512,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a95cdbc_8c276563","line":2509,"updated":"2016-10-06 14:21:41.000000000","message":"Can you add docstrings for these methods? I\u0027m not entirely sure where the auto_allocated_topology argument value is going to come from since you can only get and delete. You won\u0027t know what to be getting here if you don\u0027t have a way to list them. I understand list isn\u0027t supported, so that\u0027s why I\u0027m not very clear on where you\u0027d get this value.","commit_id":"64db6e8e9d702cb7636a00b19ef0996140c0a0b2"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"9a69529619c24b8436c607d1662011221f9a6ddb","unresolved":false,"context_lines":[{"line_number":2562,"context_line":"        \"\"\""},{"line_number":2563,"context_line":"        return self._update(_vpn_service.VPNService, vpn_service, **attrs)"},{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"    def get_auto_allocated_topology(self, auto_allocated_topology):"},{"line_number":2566,"context_line":"        \"\"\"Get the auto-allocated topology of a given tenant"},{"line_number":2567,"context_line":""},{"line_number":2568,"context_line":"        :param auto_allocated_topology:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_6cbc1506","line":2565,"updated":"2016-10-27 22:40:34.000000000","message":"we also have an API call that allows to validate requirements for provisioning of the topology, aka dry-run. I don\u0027t see this ehere","commit_id":"753273a5a2efa3d8150458be940cbfe95bbf5948"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"33a94d643287d2850f45574e421ffaa58d5b7257","unresolved":false,"context_lines":[{"line_number":2562,"context_line":"        \"\"\""},{"line_number":2563,"context_line":"        return self._update(_vpn_service.VPNService, vpn_service, **attrs)"},{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"    def get_auto_allocated_topology(self, auto_allocated_topology):"},{"line_number":2566,"context_line":"        \"\"\"Get the auto-allocated topology of a given tenant"},{"line_number":2567,"context_line":""},{"line_number":2568,"context_line":"        :param auto_allocated_topology:"}],"source_content_type":"text/x-python","patch_set":2,"id":"ba5da102_0c96394c","line":2565,"in_reply_to":"ba5da102_6cbc1506","updated":"2016-10-27 22:50:21.000000000","message":"Its an optional arg. Will put a WIP on this patchset until I start on the client work. Will get better idea then how to run the --dry-run","commit_id":"753273a5a2efa3d8150458be940cbfe95bbf5948"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"6c53d4d2d5251d293189872d700bdc17874c0208","unresolved":false,"context_lines":[{"line_number":2562,"context_line":"        \"\"\""},{"line_number":2563,"context_line":"        return self._update(_vpn_service.VPNService, vpn_service, **attrs)"},{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"    def get_auto_allocated_topology(self, project):"},{"line_number":2566,"context_line":"        \"\"\"Get the auto-allocated topology of a given tenant"},{"line_number":2567,"context_line":""},{"line_number":2568,"context_line":"        :param project:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_b7c84976","line":2565,"updated":"2016-11-07 19:23:01.000000000","message":"Not being familiar with this feature myself, what are some of the expected values for project here? Can I call this with a project ID/name other than one I\u0027m a part of and have it work?\n\nShould there be any concept of a default argument here, such as using the project ID or name of the caller? We could make this project\u003dNone and then inside the method, if it\u0027s still None we do something like self.session.get_project_id() to get the caller\u0027s project ID. Would that make sense?\n\n(The same would apply to any of the methods below that take a project, I think)","commit_id":"065e4a12b36ae619dc4ed6b722de4757f6639d2e"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"cdee7ed3e62f48fd4a568201aa5ddbbb78c5a6d0","unresolved":false,"context_lines":[{"line_number":2562,"context_line":"        \"\"\""},{"line_number":2563,"context_line":"        return self._update(_vpn_service.VPNService, vpn_service, **attrs)"},{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"    def get_auto_allocated_topology(self, project):"},{"line_number":2566,"context_line":"        \"\"\"Get the auto-allocated topology of a given tenant"},{"line_number":2567,"context_line":""},{"line_number":2568,"context_line":"        :param project:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_d7f93d4f","line":2565,"in_reply_to":"9a629dbe_b7c84976","updated":"2016-11-07 19:30:29.000000000","message":"Yea I was stuck on this for awhile.\n\nproject can be name or ID. \n\nI was looking for an example of some session grabbing method. Since the neutron client doesn\u0027t take project by default but it is an optional arg if you want. \n\nSo I just made project a required arg.","commit_id":"065e4a12b36ae619dc4ed6b722de4757f6639d2e"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"f8978b29866a5c38be205cc635b14f16fa89bb15","unresolved":false,"context_lines":[{"line_number":2562,"context_line":"        \"\"\""},{"line_number":2563,"context_line":"        return self._update(_vpn_service.VPNService, vpn_service, **attrs)"},{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"    def get_auto_allocated_topology(self, project):"},{"line_number":2566,"context_line":"        \"\"\"Get the auto-allocated topology of a given tenant"},{"line_number":2567,"context_line":""},{"line_number":2568,"context_line":"        :param project:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_7a69fe24","line":2565,"in_reply_to":"9a629dbe_c5ba460a","updated":"2016-11-08 20:25:30.000000000","message":"Done.\n\nProject has been turned into an optional arg.\n\nIf none given, SDK grabs project from current session. \n\nSame for delete and validating.","commit_id":"065e4a12b36ae619dc4ed6b722de4757f6639d2e"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"12373220c60244d785caba6e41d06bdeaf4accc1","unresolved":false,"context_lines":[{"line_number":2562,"context_line":"        \"\"\""},{"line_number":2563,"context_line":"        return self._update(_vpn_service.VPNService, vpn_service, **attrs)"},{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"    def get_auto_allocated_topology(self, project):"},{"line_number":2566,"context_line":"        \"\"\"Get the auto-allocated topology of a given tenant"},{"line_number":2567,"context_line":""},{"line_number":2568,"context_line":"        :param project:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_877cf273","line":2565,"in_reply_to":"9a629dbe_d7f93d4f","updated":"2016-11-07 21:37:39.000000000","message":"An admin can specify any project ID, and that gets the topology for the specified project; a low privileged user (as well as the admin) can specify his/her own project ID or none.","commit_id":"065e4a12b36ae619dc4ed6b722de4757f6639d2e"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"4c471f9c849ec22a723cf0a34b9be640138e697f","unresolved":false,"context_lines":[{"line_number":2562,"context_line":"        \"\"\""},{"line_number":2563,"context_line":"        return self._update(_vpn_service.VPNService, vpn_service, **attrs)"},{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"    def get_auto_allocated_topology(self, project):"},{"line_number":2566,"context_line":"        \"\"\"Get the auto-allocated topology of a given tenant"},{"line_number":2567,"context_line":""},{"line_number":2568,"context_line":"        :param project:"}],"source_content_type":"text/x-python","patch_set":4,"id":"9a629dbe_c5ba460a","line":2565,"in_reply_to":"9a629dbe_d7f93d4f","updated":"2016-11-08 13:15:13.000000000","message":"So if I specify None here, then it will give me the topology that\u0027s available to me (or rather, my project)?\n\nIf that\u0027s the case, we should make the argument project\u003dNone and just document that when project\u003dNone, it gives you the topology associated with your project ID.","commit_id":"065e4a12b36ae619dc4ed6b722de4757f6639d2e"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"017df2e81a96c798c8795229613a33c3ee5aff34","unresolved":false,"context_lines":[{"line_number":2562,"context_line":"        \"\"\""},{"line_number":2563,"context_line":"        return self._update(_vpn_service.VPNService, vpn_service, **attrs)"},{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"    def get_auto_allocated_topology(self, project\u003dNone):"},{"line_number":2566,"context_line":"        \"\"\"Get the auto-allocated topology of a given tenant"},{"line_number":2567,"context_line":""},{"line_number":2568,"context_line":"        :param project:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_88cfdc54","line":2565,"updated":"2016-11-19 11:35:30.000000000","message":"It\u0027s not a big deal but we usually place these method in alphabetical order by resource name.","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"6acfc1ad4d26d1c6610bca577c7704973955ad42","unresolved":false,"context_lines":[{"line_number":2562,"context_line":"        \"\"\""},{"line_number":2563,"context_line":"        return self._update(_vpn_service.VPNService, vpn_service, **attrs)"},{"line_number":2564,"context_line":""},{"line_number":2565,"context_line":"    def get_auto_allocated_topology(self, project\u003dNone):"},{"line_number":2566,"context_line":"        \"\"\"Get the auto-allocated topology of a given tenant"},{"line_number":2567,"context_line":""},{"line_number":2568,"context_line":"        :param project:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_1a2a047f","line":2565,"in_reply_to":"7a77a97e_88cfdc54","updated":"2016-11-21 18:24:28.000000000","message":"Done","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"1ab04d9edc17fcc59faf0b7f45805b006a57e0af","unresolved":false,"context_lines":[{"line_number":240,"context_line":"        :param project:"},{"line_number":241,"context_line":"               The value is the ID or name of a project"},{"line_number":242,"context_line":""},{"line_number":243,"context_line":"        :returns: Whether all resources are correctly configured or not"},{"line_number":244,"context_line":"        :rtype: :class:`~openstack.network.v2.\\"},{"line_number":245,"context_line":"                auto_allocated_topology.AutoAllocatedTopology`"},{"line_number":246,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a71b18c_cef600d7","line":243,"updated":"2016-12-01 21:19:07.000000000","message":"This isn\u0027t returning AutoAllocatedTopology but rather ValidateTopology ... is it not?  Given this, why not just return the value of dry-run?  Otherwise we are exposing this strange object.","commit_id":"7f26ee5b8335d22f1cebcd6226d301c1af78e896"}],"openstack/network/v2/auto_allocated_topology.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"d6eb271cd4783e35fe4277dbbea2d92e79fd025a","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"class AutoAllocatedTopology(resource.Resource):"},{"line_number":18,"context_line":"    resource_key \u003d \u0027auto-allocated-topology\u0027"},{"line_number":19,"context_line":"    resources_key \u003d \u0027auto-allocated-topology\u0027"},{"line_number":20,"context_line":"    base_path \u003d \u0027/auto-allocated-topology\u0027"},{"line_number":21,"context_line":"    service \u003d network_service.NetworkService()"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"1a95cdbc_494b8f87","line":19,"updated":"2016-10-06 14:21:41.000000000","message":"You would only need this if list calls are supported, in which case it would be a plural name. It seems like list is not supported so you can just remove this.","commit_id":"64db6e8e9d702cb7636a00b19ef0996140c0a0b2"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"d6eb271cd4783e35fe4277dbbea2d92e79fd025a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    #: Project ID"},{"line_number":32,"context_line":"    project_id \u003d resource.prop(\u0027tenant_id\u0027)"},{"line_number":33,"context_line":"    #: Validate requirements before running (Does not return topology)"},{"line_number":34,"context_line":"    dry_run \u003d resource.prop(\u0027dry_run\u0027)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a95cdbc_c9b15f91","line":34,"updated":"2016-10-06 14:21:41.000000000","message":"I\u0027m guessing this is a bool, correct?\n\nAssuming that\u0027s correct, this is a case where I would leave the name as dry_run. We\u0027d usually put some kind of prefix—commonly \"is_\"—but I don\u0027t know that we need it for this one. I think that\u0027s less about consistency but favoriting readability and understandability, which dry_run itself presents no concern over as far as I understand it.","commit_id":"64db6e8e9d702cb7636a00b19ef0996140c0a0b2"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"017df2e81a96c798c8795229613a33c3ee5aff34","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    allow_list \u003d False"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    # Properties"},{"line_number":31,"context_line":"    #: Project ID"},{"line_number":32,"context_line":"    project_id \u003d resource.prop(\u0027tenant_id\u0027)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_684280af","line":31,"updated":"2016-11-19 11:35:30.000000000","message":"A few more documentation details would be nice.","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"6acfc1ad4d26d1c6610bca577c7704973955ad42","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    allow_list \u003d False"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    # Properties"},{"line_number":31,"context_line":"    #: Project ID"},{"line_number":32,"context_line":"    project_id \u003d resource.prop(\u0027tenant_id\u0027)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_9536e5e5","line":31,"in_reply_to":"7a77a97e_684280af","updated":"2016-11-21 18:24:28.000000000","message":"Done","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"017df2e81a96c798c8795229613a33c3ee5aff34","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    project_id \u003d resource.prop(\u0027tenant_id\u0027)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class ValidateTopology(AutoAllocatedTopology):"},{"line_number":36,"context_line":"    base_path \u003d \u0027/auto-allocated-topology/%(project)s?fields\u003ddry-run\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    #: Validate requirements before running (Does not return topology)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_080aec89","line":35,"updated":"2016-11-19 11:35:30.000000000","message":"This seem odd to me.  \"Validate\" is an action not an object.  Can this be refactored as a method on AutoAllocatedTopology?","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"8a1ed65b7cd29f3457277e0a08f12ffaf7661518","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    project_id \u003d resource.prop(\u0027tenant_id\u0027)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class ValidateTopology(AutoAllocatedTopology):"},{"line_number":36,"context_line":"    base_path \u003d \u0027/auto-allocated-topology/%(project)s?fields\u003ddry-run\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    #: Validate requirements before running (Does not return topology)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_4ebbd775","line":35,"in_reply_to":"7a77a97e_080aec89","updated":"2016-11-21 20:40:52.000000000","message":"I initially thought the same thing, and would generally prefer that, but I\u0027m not entirely opposed to this manner of solving the problem. It doesn\u0027t end up affecting things in the proxy, which was part of what made me think it\u0027s alright.","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"6acfc1ad4d26d1c6610bca577c7704973955ad42","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    project_id \u003d resource.prop(\u0027tenant_id\u0027)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class ValidateTopology(AutoAllocatedTopology):"},{"line_number":36,"context_line":"    base_path \u003d \u0027/auto-allocated-topology/%(project)s?fields\u003ddry-run\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    #: Validate requirements before running (Does not return topology)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_b54a0154","line":35,"in_reply_to":"7a77a97e_080aec89","updated":"2016-11-21 18:24:28.000000000","message":"I tried initially having it a method within the AutoAllocatedTopology class. This was cleaner and simpler","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"405e207ab8c6e31774d5db8ea2a06d6e9e9fbfba","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    project_id \u003d resource.prop(\u0027tenant_id\u0027)"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class ValidateTopology(AutoAllocatedTopology):"},{"line_number":36,"context_line":"    base_path \u003d \u0027/auto-allocated-topology/%(project)s?fields\u003ddry-run\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    #: Validate requirements before running (Does not return topology)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_0e063f20","line":35,"in_reply_to":"7a77a97e_4ebbd775","updated":"2016-11-21 20:45:15.000000000","message":"...for whatever it\u0027s worth, template validation in orchestration is done the method way: https://github.com/openstack/python-openstacksdk/blob/master/openstack/orchestration/v1/template.py\n\nSince this is a network thing, I\u0027ll leave it up to Richard for the final approval here.","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"017df2e81a96c798c8795229613a33c3ee5aff34","unresolved":false,"context_lines":[{"line_number":35,"context_line":"class ValidateTopology(AutoAllocatedTopology):"},{"line_number":36,"context_line":"    base_path \u003d \u0027/auto-allocated-topology/%(project)s?fields\u003ddry-run\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    #: Validate requirements before running (Does not return topology)"},{"line_number":39,"context_line":"    dry_run \u003d resource.prop(\u0027dry_run\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_a84818cd","line":38,"updated":"2016-11-19 11:35:30.000000000","message":"Consider documenting what the dry_run values mean.","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"6acfc1ad4d26d1c6610bca577c7704973955ad42","unresolved":false,"context_lines":[{"line_number":35,"context_line":"class ValidateTopology(AutoAllocatedTopology):"},{"line_number":36,"context_line":"    base_path \u003d \u0027/auto-allocated-topology/%(project)s?fields\u003ddry-run\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    #: Validate requirements before running (Does not return topology)"},{"line_number":39,"context_line":"    dry_run \u003d resource.prop(\u0027dry_run\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_75714977","line":38,"in_reply_to":"7a77a97e_a84818cd","updated":"2016-11-21 18:24:28.000000000","message":"Done","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"017df2e81a96c798c8795229613a33c3ee5aff34","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    base_path \u003d \u0027/auto-allocated-topology/%(project)s?fields\u003ddry-run\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    #: Validate requirements before running (Does not return topology)"},{"line_number":39,"context_line":"    dry_run \u003d resource.prop(\u0027dry_run\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_c8d554e5","line":39,"updated":"2016-11-19 11:35:30.000000000","message":"Do we want to support a dry_run option?","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"6acfc1ad4d26d1c6610bca577c7704973955ad42","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    base_path \u003d \u0027/auto-allocated-topology/%(project)s?fields\u003ddry-run\u0027"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    #: Validate requirements before running (Does not return topology)"},{"line_number":39,"context_line":"    dry_run \u003d resource.prop(\u0027dry_run\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_d5ff7da8","line":39,"in_reply_to":"7a77a97e_c8d554e5","updated":"2016-11-21 18:24:28.000000000","message":"I think it is an option that should be implemented since it returns details on what is not configured correctly.\nhttp://docs.openstack.org/mitaka/networking-guide/config-auto-allocation.html","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"}],"openstack/tests/functional/network/v2/test_auto_allocated_topology.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"017df2e81a96c798c8795229613a33c3ee5aff34","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        # Sets any external network to not default"},{"line_number":37,"context_line":"        # Assumption with devstack only \u0027public\u0027 is external"},{"line_number":38,"context_line":"        networks \u003d self.conn.network.networks()"},{"line_number":39,"context_line":"        self._set_network_internal(networks)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # Will raise error because an external net is needed"},{"line_number":42,"context_line":"        self.assertRaises(exceptions.HttpException,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_c8ec74bd","line":39,"updated":"2016-11-19 11:35:30.000000000","message":"This should be undone within the same test.  In fact, it may be best to not mess with the setting since it could cause other test cases to fail if not undone.  I would be okay without this test.","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"6acfc1ad4d26d1c6610bca577c7704973955ad42","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        # Sets any external network to not default"},{"line_number":37,"context_line":"        # Assumption with devstack only \u0027public\u0027 is external"},{"line_number":38,"context_line":"        networks \u003d self.conn.network.networks()"},{"line_number":39,"context_line":"        self._set_network_internal(networks)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        # Will raise error because an external net is needed"},{"line_number":42,"context_line":"        self.assertRaises(exceptions.HttpException,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_95e34505","line":39,"in_reply_to":"7a77a97e_c8ec74bd","updated":"2016-11-21 18:24:28.000000000","message":"Okay will remove the fail test case","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"}],"openstack/tests/unit/network/v2/test_auto_allocated_topology.py":[{"author":{"_account_id":8257,"name":"Brian Curtin","email":"brian@python.org","username":"briancurtin"},"change_message_id":"d6eb271cd4783e35fe4277dbbea2d92e79fd025a","unresolved":false,"context_lines":[{"line_number":15,"context_line":"from openstack.network.v2 import auto_allocated_topology"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"class TestAutoAllocatedTopology(testtools.TestCase):"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"    def test_basic(self):"},{"line_number":21,"context_line":"        topo \u003d auto_allocated_topology.AutoAllocatedTopology"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a95cdbc_acf7c1f3","line":18,"updated":"2016-10-06 14:21:41.000000000","message":"Can you add a test that creates an AutoAllocatedTopology? A lot of other test classes have a \"test_make_it\" which takes a dict that was usually sourced from a real response so that we can see that the right attributes are being set.","commit_id":"64db6e8e9d702cb7636a00b19ef0996140c0a0b2"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"017df2e81a96c798c8795229613a33c3ee5aff34","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def test_make_it(self):"},{"line_number":36,"context_line":"        topo \u003d auto_allocated_topology.AutoAllocatedTopology(EXAMPLE)"},{"line_number":37,"context_line":"        self.assertFalse(EXAMPLE[\u0027dry_run\u0027], topo.dry_run)"},{"line_number":38,"context_line":"        self.assertEqual(EXAMPLE[\u0027tenant_id\u0027], topo.tenant_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_08310c5a","line":37,"updated":"2016-11-19 11:35:30.000000000","message":"I don\u0027t see dry_run in the AutoAllocatedTopology resource.","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"6acfc1ad4d26d1c6610bca577c7704973955ad42","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def test_make_it(self):"},{"line_number":36,"context_line":"        topo \u003d auto_allocated_topology.AutoAllocatedTopology(EXAMPLE)"},{"line_number":37,"context_line":"        self.assertFalse(EXAMPLE[\u0027dry_run\u0027], topo.dry_run)"},{"line_number":38,"context_line":"        self.assertEqual(EXAMPLE[\u0027tenant_id\u0027], topo.tenant_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_95f42588","line":37,"in_reply_to":"7a77a97e_08310c5a","updated":"2016-11-21 18:24:28.000000000","message":"Done","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"017df2e81a96c798c8795229613a33c3ee5aff34","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def test_make_it(self):"},{"line_number":36,"context_line":"        topo \u003d auto_allocated_topology.AutoAllocatedTopology(EXAMPLE)"},{"line_number":37,"context_line":"        self.assertFalse(EXAMPLE[\u0027dry_run\u0027], topo.dry_run)"},{"line_number":38,"context_line":"        self.assertEqual(EXAMPLE[\u0027tenant_id\u0027], topo.tenant_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_28340848","line":38,"range":{"start_line":38,"start_character":52,"end_line":38,"end_character":61},"updated":"2016-11-19 11:35:30.000000000","message":"This should be project_id.","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"6acfc1ad4d26d1c6610bca577c7704973955ad42","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def test_make_it(self):"},{"line_number":36,"context_line":"        topo \u003d auto_allocated_topology.AutoAllocatedTopology(EXAMPLE)"},{"line_number":37,"context_line":"        self.assertFalse(EXAMPLE[\u0027dry_run\u0027], topo.dry_run)"},{"line_number":38,"context_line":"        self.assertEqual(EXAMPLE[\u0027tenant_id\u0027], topo.tenant_id)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_350b517f","line":38,"range":{"start_line":38,"start_character":52,"end_line":38,"end_character":61},"in_reply_to":"7a77a97e_28340848","updated":"2016-11-21 18:24:28.000000000","message":"Done","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"1ab04d9edc17fcc59faf0b7f45805b006a57e0af","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def test_make_it(self):"},{"line_number":36,"context_line":"        topo \u003d auto_allocated_topology.AutoAllocatedTopology(EXAMPLE)"},{"line_number":37,"context_line":"        self.assertFalse(EXAMPLE[\u0027dry_run\u0027], topo.dry_run)"},{"line_number":38,"context_line":"        self.assertEqual(EXAMPLE[\u0027project_id\u0027], topo.project_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3a71b18c_4ed83054","line":37,"updated":"2016-12-01 21:19:07.000000000","message":"dry_run is not a property on AutoAllocatedTopology.","commit_id":"7f26ee5b8335d22f1cebcd6226d301c1af78e896"}],"openstack/tests/unit/network/v2/test_proxy.py":[{"author":{"_account_id":8410,"name":"Richard Theis","email":"rtheis@us.ibm.com","username":"rtheis"},"change_message_id":"017df2e81a96c798c8795229613a33c3ee5aff34","unresolved":false,"context_lines":[{"line_number":850,"context_line":"                         service_provider.ServiceProvider,"},{"line_number":851,"context_line":"                         paginated\u003dFalse)"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"    def test_auto_allocated_topology_get(self):"},{"line_number":854,"context_line":"        self.verify_get(self.proxy.get_auto_allocated_topology,"},{"line_number":855,"context_line":"                        auto_allocated_topology.AutoAllocatedTopology)"},{"line_number":856,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_4837844c","line":853,"updated":"2016-11-19 11:35:30.000000000","message":"You are missing a test for the validate method.","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"},{"author":{"_account_id":18332,"name":"Ankur","email":"ankur.gupta@intel.com","username":"ankur-gupta-f"},"change_message_id":"6acfc1ad4d26d1c6610bca577c7704973955ad42","unresolved":false,"context_lines":[{"line_number":850,"context_line":"                         service_provider.ServiceProvider,"},{"line_number":851,"context_line":"                         paginated\u003dFalse)"},{"line_number":852,"context_line":""},{"line_number":853,"context_line":"    def test_auto_allocated_topology_get(self):"},{"line_number":854,"context_line":"        self.verify_get(self.proxy.get_auto_allocated_topology,"},{"line_number":855,"context_line":"                        auto_allocated_topology.AutoAllocatedTopology)"},{"line_number":856,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7a77a97e_b0fbef46","line":853,"in_reply_to":"7a77a97e_4837844c","updated":"2016-11-21 18:24:28.000000000","message":"Done","commit_id":"36abe1ea587691356e19c13986e427c5aa114f75"}]}
