)]}'
{"rally-jobs/rally-magnum.yaml":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"2e39fbaa5c20349d181b0b3aaf346e7096dfcdbb","unresolved":false,"context_lines":[{"line_number":35,"context_line":"          network-driver: \"docker\""},{"line_number":36,"context_line":"          coe: \"swarm\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"  MagnumBays.create_and_list_bays:"},{"line_number":39,"context_line":"    -"},{"line_number":40,"context_line":"      args:"},{"line_number":41,"context_line":"        node_count: 1"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7aa08908_ea96e04a","line":38,"updated":"2016-06-07 10:13:28.000000000","message":"You add bays context in this patch but where is usage of it?","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"3c251da42cc3863a813532d09949a43cb1c2a69d","unresolved":false,"context_lines":[{"line_number":35,"context_line":"          network-driver: \"docker\""},{"line_number":36,"context_line":"          coe: \"swarm\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"  MagnumBays.create_and_list_bays:"},{"line_number":39,"context_line":"    -"},{"line_number":40,"context_line":"      args:"},{"line_number":41,"context_line":"        node_count: 1"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7aa08908_e956c0cc","line":38,"in_reply_to":"7aa08908_ea96e04a","updated":"2016-08-01 18:24:21.000000000","message":"Done","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"4440aa5aeece85f11743e56c7d9ced9a921096e3","unresolved":false,"context_lines":[{"line_number":54,"context_line":"          flavor-id: \"m1.small\""},{"line_number":55,"context_line":"          docker-volume-size: 5"},{"line_number":56,"context_line":"          network-driver: \"flannel\""},{"line_number":57,"context_line":"          coe: \"kubernetes\""},{"line_number":58,"context_line":"    -"},{"line_number":59,"context_line":"      args:"},{"line_number":60,"context_line":"        node_count: 1"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7aa08908_42b0228c","line":57,"updated":"2016-06-07 10:12:38.000000000","message":"please add sla section to each workload\nsla:\n  failure_rate:\n    max: 0","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"3c251da42cc3863a813532d09949a43cb1c2a69d","unresolved":false,"context_lines":[{"line_number":54,"context_line":"          flavor-id: \"m1.small\""},{"line_number":55,"context_line":"          docker-volume-size: 5"},{"line_number":56,"context_line":"          network-driver: \"flannel\""},{"line_number":57,"context_line":"          coe: \"kubernetes\""},{"line_number":58,"context_line":"    -"},{"line_number":59,"context_line":"      args:"},{"line_number":60,"context_line":"        node_count: 1"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"7aa08908_6cdae94d","line":57,"in_reply_to":"7aa08908_42b0228c","updated":"2016-08-01 18:24:21.000000000","message":"Done","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"76c378efb5ccc63b74071671a2427fa81cf97eac","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        bays:"},{"line_number":73,"context_line":"          node_count: 2"},{"line_number":74,"context_line":"      sla:"},{"line_number":75,"context_line":"        failurte_rate:"},{"line_number":76,"context_line":"          max: 0"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  MagnumBays.create_and_list_bays:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"1ac06dbe_63b515ed","line":75,"range":{"start_line":75,"start_character":17,"end_line":75,"end_character":18},"updated":"2016-08-21 22:26:19.000000000","message":"*failure_rate","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"b7ce808d895cdfc5b859575038e09f93241d61d0","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        bays:"},{"line_number":73,"context_line":"          node_count: 2"},{"line_number":74,"context_line":"      sla:"},{"line_number":75,"context_line":"        failurte_rate:"},{"line_number":76,"context_line":"          max: 0"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  MagnumBays.create_and_list_bays:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"fa7ab95a_a03c9993","line":75,"range":{"start_line":75,"start_character":17,"end_line":75,"end_character":18},"in_reply_to":"1ac06dbe_63b515ed","updated":"2016-08-31 05:43:40.000000000","message":"Done","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"76c378efb5ccc63b74071671a2427fa81cf97eac","unresolved":false,"context_lines":[{"line_number":99,"context_line":"          docker_storage_driver: \"devicemapper\""},{"line_number":100,"context_line":"          master_lb_enabled: False"},{"line_number":101,"context_line":"      sla:"},{"line_number":102,"context_line":"        failurte_rate:"},{"line_number":103,"context_line":"          max: 0"},{"line_number":104,"context_line":"    -"},{"line_number":105,"context_line":"      args:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"1ac06dbe_83cad16c","line":102,"updated":"2016-08-21 22:26:19.000000000","message":"*failure_rate","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"b7ce808d895cdfc5b859575038e09f93241d61d0","unresolved":false,"context_lines":[{"line_number":99,"context_line":"          docker_storage_driver: \"devicemapper\""},{"line_number":100,"context_line":"          master_lb_enabled: False"},{"line_number":101,"context_line":"      sla:"},{"line_number":102,"context_line":"        failurte_rate:"},{"line_number":103,"context_line":"          max: 0"},{"line_number":104,"context_line":"    -"},{"line_number":105,"context_line":"      args:"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"fa7ab95a_e042210e","line":102,"in_reply_to":"1ac06dbe_83cad16c","updated":"2016-08-31 05:43:40.000000000","message":"Done","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"76c378efb5ccc63b74071671a2427fa81cf97eac","unresolved":false,"context_lines":[{"line_number":124,"context_line":"          docker_storage_driver: \"devicemapper\""},{"line_number":125,"context_line":"          master_lb_enabled: False"},{"line_number":126,"context_line":"      sla:"},{"line_number":127,"context_line":"        failurte_rate:"},{"line_number":128,"context_line":"          max: 0"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"1ac06dbe_a3cf0d7e","line":127,"updated":"2016-08-21 22:26:19.000000000","message":"*failure_rate","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"b7ce808d895cdfc5b859575038e09f93241d61d0","unresolved":false,"context_lines":[{"line_number":124,"context_line":"          docker_storage_driver: \"devicemapper\""},{"line_number":125,"context_line":"          master_lb_enabled: False"},{"line_number":126,"context_line":"      sla:"},{"line_number":127,"context_line":"        failurte_rate:"},{"line_number":128,"context_line":"          max: 0"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"fa7ab95a_004e253a","line":127,"in_reply_to":"1ac06dbe_a3cf0d7e","updated":"2016-08-31 05:43:40.000000000","message":"Done","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"4cad002e3f6a2b50c311a689b7d2befcdf1ea011","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    -"},{"line_number":53,"context_line":"      runner:"},{"line_number":54,"context_line":"        type: \"constant\""},{"line_number":55,"context_line":"        times: 40"},{"line_number":56,"context_line":"        concurrency: 20"},{"line_number":57,"context_line":"      context:"},{"line_number":58,"context_line":"        users:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"9a89bdaa_4dddb86f","line":55,"range":{"start_line":55,"start_character":15,"end_line":55,"end_character":17},"updated":"2016-09-03 13:46:54.000000000","message":":) this means, creation of 80 vms :)\n\nThis job runs in a vm with 4 cores and 8GB of RAM.\n\nwe can keep this at 1","commit_id":"93e348747b7305a19932d4094952c2df1613c382"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"4cad002e3f6a2b50c311a689b7d2befcdf1ea011","unresolved":false,"context_lines":[{"line_number":53,"context_line":"      runner:"},{"line_number":54,"context_line":"        type: \"constant\""},{"line_number":55,"context_line":"        times: 40"},{"line_number":56,"context_line":"        concurrency: 20"},{"line_number":57,"context_line":"      context:"},{"line_number":58,"context_line":"        users:"},{"line_number":59,"context_line":"          tenants: 1"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"9a89bdaa_8de7c03f","line":56,"range":{"start_line":56,"start_character":21,"end_line":56,"end_character":23},"updated":"2016-09-03 13:46:54.000000000","message":"40 vms concurrently :)\n\n1 here as well","commit_id":"93e348747b7305a19932d4094952c2df1613c382"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"4cad002e3f6a2b50c311a689b7d2befcdf1ea011","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        node_count: 1"},{"line_number":82,"context_line":"      runner:"},{"line_number":83,"context_line":"        type: \"constant\""},{"line_number":84,"context_line":"        times: 40"},{"line_number":85,"context_line":"        concurrency: 20"},{"line_number":86,"context_line":"      context:"},{"line_number":87,"context_line":"        users:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"9a89bdaa_cdcf08b2","line":84,"range":{"start_line":84,"start_character":15,"end_line":84,"end_character":17},"updated":"2016-09-03 13:46:54.000000000","message":"ditto","commit_id":"93e348747b7305a19932d4094952c2df1613c382"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"4cad002e3f6a2b50c311a689b7d2befcdf1ea011","unresolved":false,"context_lines":[{"line_number":82,"context_line":"      runner:"},{"line_number":83,"context_line":"        type: \"constant\""},{"line_number":84,"context_line":"        times: 40"},{"line_number":85,"context_line":"        concurrency: 20"},{"line_number":86,"context_line":"      context:"},{"line_number":87,"context_line":"        users:"},{"line_number":88,"context_line":"          tenants: 1"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"9a89bdaa_edd4cc48","line":85,"range":{"start_line":85,"start_character":21,"end_line":85,"end_character":23},"updated":"2016-09-03 13:46:54.000000000","message":"ditto","commit_id":"93e348747b7305a19932d4094952c2df1613c382"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"4cad002e3f6a2b50c311a689b7d2befcdf1ea011","unresolved":false,"context_lines":[{"line_number":106,"context_line":"        node_count: 1"},{"line_number":107,"context_line":"      runner:"},{"line_number":108,"context_line":"        type: \"constant\""},{"line_number":109,"context_line":"        times: 40"},{"line_number":110,"context_line":"        concurrency: 20"},{"line_number":111,"context_line":"      context:"},{"line_number":112,"context_line":"        users:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"9a89bdaa_8dbee0fd","line":109,"range":{"start_line":109,"start_character":15,"end_line":109,"end_character":17},"updated":"2016-09-03 13:46:54.000000000","message":"ditto","commit_id":"93e348747b7305a19932d4094952c2df1613c382"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"4cad002e3f6a2b50c311a689b7d2befcdf1ea011","unresolved":false,"context_lines":[{"line_number":107,"context_line":"      runner:"},{"line_number":108,"context_line":"        type: \"constant\""},{"line_number":109,"context_line":"        times: 40"},{"line_number":110,"context_line":"        concurrency: 20"},{"line_number":111,"context_line":"      context:"},{"line_number":112,"context_line":"        users:"},{"line_number":113,"context_line":"          tenants: 1"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"9a89bdaa_adbba40d","line":110,"range":{"start_line":110,"start_character":21,"end_line":110,"end_character":23},"updated":"2016-09-03 13:46:54.000000000","message":"ditto","commit_id":"93e348747b7305a19932d4094952c2df1613c382"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"753be992096eaffbd09dfd4cd682d92251b81c10","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        failure_rate:"},{"line_number":49,"context_line":"          max: 0"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"  MagnumBays.list_bays:"},{"line_number":52,"context_line":"    -"},{"line_number":53,"context_line":"      runner:"},{"line_number":54,"context_line":"        type: \"constant\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a8bc5a2_802222b8","line":51,"updated":"2016-09-22 13:38:47.000000000","message":"These scenarios fail on gates (lack of resources on dsvm).\n\nScenarios are highly desired to be run on gates (removal is the last choice), however there is no reason to have failing scenarios.\n\nCould them be reconfigured somehow to run successfully?","commit_id":"a0d387bd231b8e23027fe5ef115c2814d40931b2"}],"rally/plugins/openstack/cleanup/resources.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"76c378efb5ccc63b74071671a2427fa81cf97eac","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"# MAGNUM"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"@base.resource(\"magnum\", \"bays\", order\u003d80, tenant_resource\u003dTrue)"},{"line_number":72,"context_line":"class MagnumBay(base.ResourceManager):"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def id(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ac06dbe_a396ed49","line":71,"updated":"2016-08-21 22:26:19.000000000","message":"Okey lets use approach used in 103th line with next_order","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"b7ce808d895cdfc5b859575038e09f93241d61d0","unresolved":false,"context_lines":[{"line_number":68,"context_line":""},{"line_number":69,"context_line":"# MAGNUM"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"@base.resource(\"magnum\", \"bays\", order\u003d80, tenant_resource\u003dTrue)"},{"line_number":72,"context_line":"class MagnumBay(base.ResourceManager):"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    def id(self):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_60b8d111","line":71,"in_reply_to":"1ac06dbe_a396ed49","updated":"2016-08-31 05:43:40.000000000","message":"Done","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"34a8eaf5bdb3ea0bc346bbdc914d3f38a5fc6040","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"@base.resource(\"magnum\", \"bays\", order\u003dnext(_magnum_order),"},{"line_number":75,"context_line":"               tenant_resource\u003dTrue)"},{"line_number":76,"context_line":"class MagnumBay(base.ResourceManager):"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    def id(self):"},{"line_number":79,"context_line":"        \"\"\"Returns id of resource.\"\"\""}],"source_content_type":"text/x-python","patch_set":12,"id":"9a89bdaa_3259da8e","line":76,"updated":"2016-09-08 13:28:34.000000000","message":"As I see Bay and Baymodel have the same overiden method. So please create MIXIn and inherit them from it. See example in Senlin at the line 128. This is an actual comment from 9th patchset","commit_id":"05d2bf45edfff6d62025995fcd8b9e99ad3d77c2"}],"rally/plugins/openstack/context/magnum/bays.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"93cc1bad86fb04b6fa2288735adc3cf6908807f2","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"            # get CA certificate for this bay"},{"line_number":59,"context_line":"            ca_cert \u003d magnum_scenario._get_ca_certificate(bay)"},{"line_number":60,"context_line":"            ca_cert_file \u003d open(bay.uuid + \"_ca.crt\", \"w\")"},{"line_number":61,"context_line":"            ca_cert_file.write(ca_cert.pem)"},{"line_number":62,"context_line":"            ca_cert_file.close()"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_e0d71fbd","line":60,"updated":"2016-06-07 10:53:34.000000000","message":"Its not normal to create files on the system that has been benchmarked. What if we don\u0027t have permissions?","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"3c251da42cc3863a813532d09949a43cb1c2a69d","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"            # get CA certificate for this bay"},{"line_number":59,"context_line":"            ca_cert \u003d magnum_scenario._get_ca_certificate(bay)"},{"line_number":60,"context_line":"            ca_cert_file \u003d open(bay.uuid + \"_ca.crt\", \"w\")"},{"line_number":61,"context_line":"            ca_cert_file.write(ca_cert.pem)"},{"line_number":62,"context_line":"            ca_cert_file.close()"},{"line_number":63,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_27058f45","line":60,"in_reply_to":"7aa08908_e0d71fbd","updated":"2016-08-01 18:24:21.000000000","message":"Should I write this TLS certificates to the /tmp directory or use barbican to store it? What is your suggestion?","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"93cc1bad86fb04b6fa2288735adc3cf6908807f2","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                \"extendedKeyUsage \u003d clientAuth\\n\")"},{"line_number":75,"context_line":"            conf_file.close()"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"            # generate client\u0027s private key and csr"},{"line_number":78,"context_line":"            args \u003d [\"openssl\", \"genrsa\", \"-out\", bay.uuid + \".key\", \"4096\"]"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"            p \u003d subprocess.Popen("},{"line_number":81,"context_line":"                args, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":82,"context_line":"            p.wait()"},{"line_number":83,"context_line":"            args \u003d [\"chmod\", \"400\", bay.uuid + \".key\"]"},{"line_number":84,"context_line":"            p \u003d subprocess.Popen("},{"line_number":85,"context_line":"                args, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":86,"context_line":"            p.wait()"},{"line_number":87,"context_line":"            args \u003d [\"openssl\", \"req\", \"-new\", \"-days\", \"1000\","},{"line_number":88,"context_line":"                    \"-key\", bay.uuid + \".key\", \"-out\", bay.uuid + \".csr\","},{"line_number":89,"context_line":"                    \"-config\", bay.uuid + \".conf\"]"},{"line_number":90,"context_line":"            p \u003d subprocess.Popen("},{"line_number":91,"context_line":"                args, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":92,"context_line":"            p.wait()"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"            # send csr to Magnum to have it signed"},{"line_number":95,"context_line":"            csr_file \u003d open(bay.uuid + \".csr\", \"r\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_209c8768","line":92,"range":{"start_line":77,"start_character":12,"end_line":92,"end_character":20},"updated":"2016-06-07 10:53:34.000000000","message":"We are already have keypair context https://github.com/openstack/rally/blob/master/rally/plugins/openstack/context/nova/keypairs.py . Also I don\u0027t think that its good Idea to change permissions","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"3c251da42cc3863a813532d09949a43cb1c2a69d","unresolved":false,"context_lines":[{"line_number":74,"context_line":"                \"extendedKeyUsage \u003d clientAuth\\n\")"},{"line_number":75,"context_line":"            conf_file.close()"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"            # generate client\u0027s private key and csr"},{"line_number":78,"context_line":"            args \u003d [\"openssl\", \"genrsa\", \"-out\", bay.uuid + \".key\", \"4096\"]"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"            p \u003d subprocess.Popen("},{"line_number":81,"context_line":"                args, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":82,"context_line":"            p.wait()"},{"line_number":83,"context_line":"            args \u003d [\"chmod\", \"400\", bay.uuid + \".key\"]"},{"line_number":84,"context_line":"            p \u003d subprocess.Popen("},{"line_number":85,"context_line":"                args, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":86,"context_line":"            p.wait()"},{"line_number":87,"context_line":"            args \u003d [\"openssl\", \"req\", \"-new\", \"-days\", \"1000\","},{"line_number":88,"context_line":"                    \"-key\", bay.uuid + \".key\", \"-out\", bay.uuid + \".csr\","},{"line_number":89,"context_line":"                    \"-config\", bay.uuid + \".conf\"]"},{"line_number":90,"context_line":"            p \u003d subprocess.Popen("},{"line_number":91,"context_line":"                args, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":92,"context_line":"            p.wait()"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"            # send csr to Magnum to have it signed"},{"line_number":95,"context_line":"            csr_file \u003d open(bay.uuid + \".csr\", \"r\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_07f8537a","line":92,"range":{"start_line":77,"start_character":12,"end_line":92,"end_character":20},"in_reply_to":"7aa08908_209c8768","updated":"2016-08-01 18:24:21.000000000","message":"The TLS certificates created here will use to connect to K8s, swarm and marathon client in 3 other patches that are depend on this \"create bay\" patch. keypair from nova will not work here.","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"93cc1bad86fb04b6fa2288735adc3cf6908807f2","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            csr_req \u003d {\"bay_uuid\": bay.uuid,"},{"line_number":97,"context_line":"                       \"csr\": csr_file.read()}"},{"line_number":98,"context_line":"            csr_file.close()"},{"line_number":99,"context_line":"            cert \u003d magnum_scenario._create_ca_certificate(csr_req)"},{"line_number":100,"context_line":"            cert_file \u003d open(bay.uuid + \".crt\", \"w\")"},{"line_number":101,"context_line":"            cert_file.write(cert.pem)"},{"line_number":102,"context_line":"            cert_file.close()"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_00222b52","line":99,"updated":"2016-06-07 10:53:34.000000000","message":"certificate is the same resource as bays or baymodels. So it should be added to cleanup manager and to self.context","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"3c251da42cc3863a813532d09949a43cb1c2a69d","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            csr_req \u003d {\"bay_uuid\": bay.uuid,"},{"line_number":97,"context_line":"                       \"csr\": csr_file.read()}"},{"line_number":98,"context_line":"            csr_file.close()"},{"line_number":99,"context_line":"            cert \u003d magnum_scenario._create_ca_certificate(csr_req)"},{"line_number":100,"context_line":"            cert_file \u003d open(bay.uuid + \".crt\", \"w\")"},{"line_number":101,"context_line":"            cert_file.write(cert.pem)"},{"line_number":102,"context_line":"            cert_file.close()"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_947548cc","line":99,"in_reply_to":"7aa08908_00222b52","updated":"2016-08-01 18:24:21.000000000","message":"Done","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"27a102a3f1c2eb664f8e3ee90bd7c1f6982bf842","unresolved":false,"context_lines":[{"line_number":55,"context_line":"                node_count\u003dself.config.get(\"node-count\", 1))"},{"line_number":56,"context_line":"            self.context[\"tenants\"][tenant_id][\"bay\"] \u003d bay.uuid"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"            # get CA certificate for this bay"},{"line_number":59,"context_line":"            ca_cert \u003d magnum_scenario._get_ca_certificate(bay)"},{"line_number":60,"context_line":"            ca_cert_file \u003d open(bay.uuid + \"_ca.crt\", \"w\")"},{"line_number":61,"context_line":"            ca_cert_file.write(ca_cert.pem)"},{"line_number":62,"context_line":"            ca_cert_file.close()"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"            # create config for client\u0027s csr"},{"line_number":65,"context_line":"            conf_file \u003d open(bay.uuid + \".conf\", \"w\")"},{"line_number":66,"context_line":"            conf_file.write("},{"line_number":67,"context_line":"                \"[req]\\n\" +"},{"line_number":68,"context_line":"                \"distinguished_name \u003d req_distinguished_name\\n\" +"},{"line_number":69,"context_line":"                \"req_extensions     \u003d req_ext\\n\" +"},{"line_number":70,"context_line":"                \"prompt \u003d no\\n\" +"},{"line_number":71,"context_line":"                \"[req_distinguished_name]\\n\" +"},{"line_number":72,"context_line":"                \"CN \u003d rally\\n\" +"},{"line_number":73,"context_line":"                \"[req_ext]\\n\" +"},{"line_number":74,"context_line":"                \"extendedKeyUsage \u003d clientAuth\\n\")"},{"line_number":75,"context_line":"            conf_file.close()"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"            # generate client\u0027s private key and csr"},{"line_number":78,"context_line":"            args \u003d [\"openssl\", \"genrsa\", \"-out\", bay.uuid + \".key\", \"4096\"]"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"            p \u003d subprocess.Popen("},{"line_number":81,"context_line":"                args, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":82,"context_line":"            p.wait()"},{"line_number":83,"context_line":"            args \u003d [\"chmod\", \"400\", bay.uuid + \".key\"]"},{"line_number":84,"context_line":"            p \u003d subprocess.Popen("},{"line_number":85,"context_line":"                args, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":86,"context_line":"            p.wait()"},{"line_number":87,"context_line":"            args \u003d [\"openssl\", \"req\", \"-new\", \"-days\", \"1000\","},{"line_number":88,"context_line":"                    \"-key\", bay.uuid + \".key\", \"-out\", bay.uuid + \".csr\","},{"line_number":89,"context_line":"                    \"-config\", bay.uuid + \".conf\"]"},{"line_number":90,"context_line":"            p \u003d subprocess.Popen("},{"line_number":91,"context_line":"                args, stdout\u003dsubprocess.PIPE, stderr\u003dsubprocess.PIPE)"},{"line_number":92,"context_line":"            p.wait()"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"            # send csr to Magnum to have it signed"},{"line_number":95,"context_line":"            csr_file \u003d open(bay.uuid + \".csr\", \"r\")"},{"line_number":96,"context_line":"            csr_req \u003d {\"bay_uuid\": bay.uuid,"},{"line_number":97,"context_line":"                       \"csr\": csr_file.read()}"},{"line_number":98,"context_line":"            csr_file.close()"},{"line_number":99,"context_line":"            cert \u003d magnum_scenario._create_ca_certificate(csr_req)"},{"line_number":100,"context_line":"            cert_file \u003d open(bay.uuid + \".crt\", \"w\")"},{"line_number":101,"context_line":"            cert_file.write(cert.pem)"},{"line_number":102,"context_line":"            cert_file.close()"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @logging.log_task_wrapper(LOG.info, _(\"Exit context: `Bay`\"))"},{"line_number":105,"context_line":"    def cleanup(self):"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_170e0c32","line":102,"range":{"start_line":58,"start_character":12,"end_line":102,"end_character":29},"updated":"2016-08-03 18:56:53.000000000","message":"Better remove all this, it would be better to focus this patch on just creating a bay. The code to create containers (and therefore communicate with the coe) should be in another patch.","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"93cc1bad86fb04b6fa2288735adc3cf6908807f2","unresolved":false,"context_lines":[{"line_number":111,"context_line":"            bay \u003d magnum_scenario._show_bay(bay_uuid)"},{"line_number":112,"context_line":"            baymodel \u003d magnum_scenario._show_baymodel(bay.baymodel_id)"},{"line_number":113,"context_line":"            if baymodel.coe \u003d\u003d \"kubernetes\":"},{"line_number":114,"context_line":"                rcs \u003d magnum_scenario._list_rcs()"},{"line_number":115,"context_line":"                for rc in rcs.items:"},{"line_number":116,"context_line":"                    magnum_scenario._delete_rc(rc.metadata.name)"},{"line_number":117,"context_line":"                pods \u003d magnum_scenario._list_pods()"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_40c6f348","line":114,"updated":"2016-06-07 10:53:34.000000000","message":"I can\u0027t find all _list_rcs, _list_pods, _delete_rc...","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"27a102a3f1c2eb664f8e3ee90bd7c1f6982bf842","unresolved":false,"context_lines":[{"line_number":112,"context_line":"            baymodel \u003d magnum_scenario._show_baymodel(bay.baymodel_id)"},{"line_number":113,"context_line":"            if baymodel.coe \u003d\u003d \"kubernetes\":"},{"line_number":114,"context_line":"                rcs \u003d magnum_scenario._list_rcs()"},{"line_number":115,"context_line":"                for rc in rcs.items:"},{"line_number":116,"context_line":"                    magnum_scenario._delete_rc(rc.metadata.name)"},{"line_number":117,"context_line":"                pods \u003d magnum_scenario._list_pods()"},{"line_number":118,"context_line":"                for pod in pods.items:"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_1763acde","line":115,"range":{"start_line":115,"start_character":20,"end_line":115,"end_character":22},"updated":"2016-08-03 18:56:53.000000000","message":"ReplicationController will be removed from magnum.","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"93cc1bad86fb04b6fa2288735adc3cf6908807f2","unresolved":false,"context_lines":[{"line_number":113,"context_line":"            if baymodel.coe \u003d\u003d \"kubernetes\":"},{"line_number":114,"context_line":"                rcs \u003d magnum_scenario._list_rcs()"},{"line_number":115,"context_line":"                for rc in rcs.items:"},{"line_number":116,"context_line":"                    magnum_scenario._delete_rc(rc.metadata.name)"},{"line_number":117,"context_line":"                pods \u003d magnum_scenario._list_pods()"},{"line_number":118,"context_line":"                for pod in pods.items:"},{"line_number":119,"context_line":"                    magnum_scenario._delete_pod(pod.metadata.name)"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_c00dc391","line":116,"updated":"2016-06-07 10:53:34.000000000","message":"Does this context create rc? If so the you need to add those resources to resource manager and add them too 133th line","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"27a102a3f1c2eb664f8e3ee90bd7c1f6982bf842","unresolved":false,"context_lines":[{"line_number":114,"context_line":"                rcs \u003d magnum_scenario._list_rcs()"},{"line_number":115,"context_line":"                for rc in rcs.items:"},{"line_number":116,"context_line":"                    magnum_scenario._delete_rc(rc.metadata.name)"},{"line_number":117,"context_line":"                pods \u003d magnum_scenario._list_pods()"},{"line_number":118,"context_line":"                for pod in pods.items:"},{"line_number":119,"context_line":"                    magnum_scenario._delete_pod(pod.metadata.name)"},{"line_number":120,"context_line":"            elif baymodel.coe \u003d\u003d \"swarm\":"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_f7a41809","line":117,"range":{"start_line":117,"start_character":16,"end_line":117,"end_character":20},"updated":"2016-08-03 18:56:53.000000000","message":"pods too","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"27a102a3f1c2eb664f8e3ee90bd7c1f6982bf842","unresolved":false,"context_lines":[{"line_number":118,"context_line":"                for pod in pods.items:"},{"line_number":119,"context_line":"                    magnum_scenario._delete_pod(pod.metadata.name)"},{"line_number":120,"context_line":"            elif baymodel.coe \u003d\u003d \"swarm\":"},{"line_number":121,"context_line":"                containers \u003d magnum_scenario._list_containers()"},{"line_number":122,"context_line":"                for container in containers:"},{"line_number":123,"context_line":"                    magnum_scenario._delete_container(container[\"Id\"])"},{"line_number":124,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_37afd0e4","line":121,"range":{"start_line":121,"start_character":16,"end_line":121,"end_character":26},"updated":"2016-08-03 18:56:53.000000000","message":"container is already removed","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"93cc1bad86fb04b6fa2288735adc3cf6908807f2","unresolved":false,"context_lines":[{"line_number":120,"context_line":"            elif baymodel.coe \u003d\u003d \"swarm\":"},{"line_number":121,"context_line":"                containers \u003d magnum_scenario._list_containers()"},{"line_number":122,"context_line":"                for container in containers:"},{"line_number":123,"context_line":"                    magnum_scenario._delete_container(container[\"Id\"])"},{"line_number":124,"context_line":"            else:"},{"line_number":125,"context_line":"                apps \u003d magnum_scenario._list_apps()"},{"line_number":126,"context_line":"                for app in apps:"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_204647bf","line":123,"updated":"2016-06-07 10:53:34.000000000","message":"Does this context create containers? If so the you need to add those resources to resource manager and add them too 133th line","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"93cc1bad86fb04b6fa2288735adc3cf6908807f2","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                for container in containers:"},{"line_number":123,"context_line":"                    magnum_scenario._delete_container(container[\"Id\"])"},{"line_number":124,"context_line":"            else:"},{"line_number":125,"context_line":"                apps \u003d magnum_scenario._list_apps()"},{"line_number":126,"context_line":"                for app in apps:"},{"line_number":127,"context_line":"                    magnum_scenario._delete_app(app.id)"},{"line_number":128,"context_line":"            os.remove(bay_uuid + \"_ca.crt\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_809c5bc1","line":125,"updated":"2016-06-07 10:53:34.000000000","message":"Where is _list_apps function defined?","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"27a102a3f1c2eb664f8e3ee90bd7c1f6982bf842","unresolved":false,"context_lines":[{"line_number":122,"context_line":"                for container in containers:"},{"line_number":123,"context_line":"                    magnum_scenario._delete_container(container[\"Id\"])"},{"line_number":124,"context_line":"            else:"},{"line_number":125,"context_line":"                apps \u003d magnum_scenario._list_apps()"},{"line_number":126,"context_line":"                for app in apps:"},{"line_number":127,"context_line":"                    magnum_scenario._delete_app(app.id)"},{"line_number":128,"context_line":"            os.remove(bay_uuid + \"_ca.crt\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_77902896","line":125,"range":{"start_line":125,"start_character":16,"end_line":125,"end_character":20},"updated":"2016-08-03 18:56:53.000000000","message":"apps will be removed as well","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"93cc1bad86fb04b6fa2288735adc3cf6908807f2","unresolved":false,"context_lines":[{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @logging.log_task_wrapper(LOG.info, _(\"Exit context: `Bay`\"))"},{"line_number":105,"context_line":"    def cleanup(self):"},{"line_number":106,"context_line":"        for user, tenant_id in rutils.iterate_per_tenants("},{"line_number":107,"context_line":"                self.context[\"users\"]):"},{"line_number":108,"context_line":"            magnum_scenario \u003d magnum_utils.MagnumScenario("},{"line_number":109,"context_line":"                {\"user\": user, \"task\": self.context[\"task\"]})"},{"line_number":110,"context_line":"            bay_uuid \u003d self.context[\"tenants\"][tenant_id][\"bay\"]"},{"line_number":111,"context_line":"            bay \u003d magnum_scenario._show_bay(bay_uuid)"},{"line_number":112,"context_line":"            baymodel \u003d magnum_scenario._show_baymodel(bay.baymodel_id)"},{"line_number":113,"context_line":"            if baymodel.coe \u003d\u003d \"kubernetes\":"},{"line_number":114,"context_line":"                rcs \u003d magnum_scenario._list_rcs()"},{"line_number":115,"context_line":"                for rc in rcs.items:"},{"line_number":116,"context_line":"                    magnum_scenario._delete_rc(rc.metadata.name)"},{"line_number":117,"context_line":"                pods \u003d magnum_scenario._list_pods()"},{"line_number":118,"context_line":"                for pod in pods.items:"},{"line_number":119,"context_line":"                    magnum_scenario._delete_pod(pod.metadata.name)"},{"line_number":120,"context_line":"            elif baymodel.coe \u003d\u003d \"swarm\":"},{"line_number":121,"context_line":"                containers \u003d magnum_scenario._list_containers()"},{"line_number":122,"context_line":"                for container in containers:"},{"line_number":123,"context_line":"                    magnum_scenario._delete_container(container[\"Id\"])"},{"line_number":124,"context_line":"            else:"},{"line_number":125,"context_line":"                apps \u003d magnum_scenario._list_apps()"},{"line_number":126,"context_line":"                for app in apps:"},{"line_number":127,"context_line":"                    magnum_scenario._delete_app(app.id)"},{"line_number":128,"context_line":"            os.remove(bay_uuid + \"_ca.crt\")"},{"line_number":129,"context_line":"            os.remove(bay_uuid + \".conf\")"},{"line_number":130,"context_line":"            os.remove(bay_uuid + \".key\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_e0f43f88","line":127,"range":{"start_line":106,"start_character":8,"end_line":127,"end_character":55},"updated":"2016-06-07 10:53:34.000000000","message":"All this stuff should work through our cleanup manager that you call in 133th line.\nDoes this context create app? If so the you need to add those resources to resource manager and add them too 133th line","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"e85b3a986f6c5fb0716445459b2f3b690723c9eb","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            # create a bay"},{"line_number":51,"context_line":"            baymodels \u003d magnum_scenario._list_baymodels()"},{"line_number":52,"context_line":"            bay \u003d magnum_scenario._create_bay("},{"line_number":53,"context_line":"                baymodel\u003dbaymodels[0].uuid,"},{"line_number":54,"context_line":"                node_count\u003dself.config.get(\"node_count\"))"},{"line_number":55,"context_line":"            self.context[\"tenants\"][tenant_id][\"bay\"] \u003d bay.uuid"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_af59c15c","line":53,"range":{"start_line":53,"start_character":34,"end_line":53,"end_character":37},"updated":"2016-08-09 09:58:37.000000000","message":"I don\u0027t think we should take just the first baymodel","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"c83aa51cc640255f9eacf139623f1d8866834d2d","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            # create a bay"},{"line_number":51,"context_line":"            baymodels \u003d magnum_scenario._list_baymodels()"},{"line_number":52,"context_line":"            bay \u003d magnum_scenario._create_bay("},{"line_number":53,"context_line":"                baymodel\u003dbaymodels[0].uuid,"},{"line_number":54,"context_line":"                node_count\u003dself.config.get(\"node_count\"))"},{"line_number":55,"context_line":"            self.context[\"tenants\"][tenant_id][\"bay\"] \u003d bay.uuid"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_ae15cce5","line":53,"range":{"start_line":53,"start_character":34,"end_line":53,"end_character":37},"in_reply_to":"9ad45d7e_0db99179","updated":"2016-08-11 07:55:10.000000000","message":"Magnum supports public baymodels and in our production environment we have a few baymodels available to our users. We run rally tasks every hour, what if this first baymodel has m1xlarge as master-flavor?","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"},{"author":{"_account_id":9995,"name":"Ricardo Rocha","email":"rocha.porto@gmail.com","username":"rocha"},"change_message_id":"649a3dae20b45b314d091ac9170cd5d088083def","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            # create a bay"},{"line_number":51,"context_line":"            baymodels \u003d magnum_scenario._list_baymodels()"},{"line_number":52,"context_line":"            bay \u003d magnum_scenario._create_bay("},{"line_number":53,"context_line":"                baymodel\u003dbaymodels[0].uuid,"},{"line_number":54,"context_line":"                node_count\u003dself.config.get(\"node_count\"))"},{"line_number":55,"context_line":"            self.context[\"tenants\"][tenant_id][\"bay\"] \u003d bay.uuid"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_cec64067","line":53,"range":{"start_line":53,"start_character":34,"end_line":53,"end_character":37},"in_reply_to":"9ad45d7e_0db99179","updated":"2016-08-11 07:55:53.000000000","message":"This doesn\u0027t work for us. We have shared/public bay models, which show up on every tenant.","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"a6f648b313f3dd2f0215577863e0e349ddd642cb","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            # create a bay"},{"line_number":51,"context_line":"            baymodels \u003d magnum_scenario._list_baymodels()"},{"line_number":52,"context_line":"            bay \u003d magnum_scenario._create_bay("},{"line_number":53,"context_line":"                baymodel\u003dbaymodels[0].uuid,"},{"line_number":54,"context_line":"                node_count\u003dself.config.get(\"node_count\"))"},{"line_number":55,"context_line":"            self.context[\"tenants\"][tenant_id][\"bay\"] \u003d bay.uuid"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_0db99179","line":53,"range":{"start_line":53,"start_character":34,"end_line":53,"end_character":37},"in_reply_to":"9ad45d7e_af59c15c","updated":"2016-08-10 22:34:50.000000000","message":"For the current design, there is only one baymodel defined for each rally tenant. Since the baymodel name is randomly generated by rally, I need to access to the baymodel this way. Later if we decide we need to support tenant that have multiple baymodels defined, we will update these piece of code to support that.","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"fb95ea9ae765c2ff7a42e3d36e2531b3f19e32ff","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            # create a bay"},{"line_number":51,"context_line":"            baymodels \u003d magnum_scenario._list_baymodels()"},{"line_number":52,"context_line":"            bay \u003d magnum_scenario._create_bay("},{"line_number":53,"context_line":"                baymodel\u003dbaymodels[0].uuid,"},{"line_number":54,"context_line":"                node_count\u003dself.config.get(\"node_count\"))"},{"line_number":55,"context_line":"            self.context[\"tenants\"][tenant_id][\"bay\"] \u003d bay.uuid"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_d57b40bc","line":53,"range":{"start_line":53,"start_character":34,"end_line":53,"end_character":37},"in_reply_to":"9ad45d7e_cec64067","updated":"2016-08-11 20:55:36.000000000","message":"I didn\u0027t think of this use case. Let me add a filter to get the rally baymodel created in context from the returned baymodel list.","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"},{"author":{"_account_id":9995,"name":"Ricardo Rocha","email":"rocha.porto@gmail.com","username":"rocha"},"change_message_id":"b10c0e94dcac7917681bd102e874a93610b22b52","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            # create a bay"},{"line_number":51,"context_line":"            baymodels \u003d magnum_scenario._list_baymodels()"},{"line_number":52,"context_line":"            bay \u003d magnum_scenario._create_bay("},{"line_number":53,"context_line":"                baymodel\u003dbaymodels[0].uuid,"},{"line_number":54,"context_line":"                node_count\u003dself.config.get(\"node_count\"))"},{"line_number":55,"context_line":"            self.context[\"tenants\"][tenant_id][\"bay\"] \u003d bay.uuid"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9ad45d7e_3bd434ea","line":53,"range":{"start_line":53,"start_character":34,"end_line":53,"end_character":37},"in_reply_to":"9ad45d7e_d57b40bc","updated":"2016-08-12 08:19:30.000000000","message":"Thanks.","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"bea836265fd65aa4a4b3d88e8c7c3bd5b9448d89","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    @logging.log_task_wrapper(LOG.info, _(\"Enter context: `Bay`\"))"},{"line_number":44,"context_line":"    def setup(self):"},{"line_number":45,"context_line":"        for user, tenant_id in rutils.iterate_per_tenants("},{"line_number":46,"context_line":"                self.context[\"users\"]):"},{"line_number":47,"context_line":"            magnum_scenario \u003d magnum_utils.MagnumScenario("},{"line_number":48,"context_line":"                {\"user\": user, \"task\": self.context[\"task\"]})"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1ac06dbe_c82b4693","line":46,"updated":"2016-08-21 22:19:25.000000000","message":"please add parameter `bays_per_tenant`","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"b7ce808d895cdfc5b859575038e09f93241d61d0","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    @logging.log_task_wrapper(LOG.info, _(\"Enter context: `Bay`\"))"},{"line_number":44,"context_line":"    def setup(self):"},{"line_number":45,"context_line":"        for user, tenant_id in rutils.iterate_per_tenants("},{"line_number":46,"context_line":"                self.context[\"users\"]):"},{"line_number":47,"context_line":"            magnum_scenario \u003d magnum_utils.MagnumScenario("},{"line_number":48,"context_line":"                {\"user\": user, \"task\": self.context[\"task\"]})"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_a2481e8c","line":46,"in_reply_to":"1ac06dbe_c82b4693","updated":"2016-08-31 05:43:40.000000000","message":"Done","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"0d26751e191b0e3ae67fd1ee8f64632cb5945c68","unresolved":false,"context_lines":[{"line_number":43,"context_line":"    @logging.log_task_wrapper(LOG.info, _(\"Enter context: `Bay`\"))"},{"line_number":44,"context_line":"    def setup(self):"},{"line_number":45,"context_line":"        for user, tenant_id in rutils.iterate_per_tenants("},{"line_number":46,"context_line":"                self.context[\"users\"]):"},{"line_number":47,"context_line":"            magnum_scenario \u003d magnum_utils.MagnumScenario("},{"line_number":48,"context_line":"                {\"user\": user, \"task\": self.context[\"task\"]})"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_6b9303fb","line":46,"in_reply_to":"fa7ab95a_a2481e8c","updated":"2016-09-01 02:27:59.000000000","message":"@Roman: after I start implement this \u0027bays_per_tenant\u0027 feature, I realize it is more complex then my initially thought, I need to keep track each thread which bay it is using, so it can return the right bay to connect to the right k8s/swarm/mesos client to create or list or delete containers. I would like to support this feature in a separate patch later.","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"bea836265fd65aa4a4b3d88e8c7c3bd5b9448d89","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        for user, tenant_id in rutils.iterate_per_tenants("},{"line_number":46,"context_line":"                self.context[\"users\"]):"},{"line_number":47,"context_line":"            magnum_scenario \u003d magnum_utils.MagnumScenario("},{"line_number":48,"context_line":"                {\"user\": user, \"task\": self.context[\"task\"]})"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"            # create a bay"},{"line_number":51,"context_line":"            baymodel \u003d magnum_scenario._get_rally_baymodel()"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ac06dbe_a826cacb","line":48,"updated":"2016-08-21 22:19:25.000000000","message":"Please pass here api context","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"b7ce808d895cdfc5b859575038e09f93241d61d0","unresolved":false,"context_lines":[{"line_number":45,"context_line":"        for user, tenant_id in rutils.iterate_per_tenants("},{"line_number":46,"context_line":"                self.context[\"users\"]):"},{"line_number":47,"context_line":"            magnum_scenario \u003d magnum_utils.MagnumScenario("},{"line_number":48,"context_line":"                {\"user\": user, \"task\": self.context[\"task\"]})"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"            # create a bay"},{"line_number":51,"context_line":"            baymodel \u003d magnum_scenario._get_rally_baymodel()"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_827ddab3","line":48,"in_reply_to":"1ac06dbe_a826cacb","updated":"2016-08-31 05:43:40.000000000","message":"Done","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"5aa71a19b7209beeba24dd44431a6ac49bf3abd8","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            })"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"            # create a bay"},{"line_number":56,"context_line":"            baymodel \u003d magnum_scenario._get_rally_baymodel()"},{"line_number":57,"context_line":"            bay \u003d magnum_scenario._create_bay("},{"line_number":58,"context_line":"                baymodel\u003dbaymodel.uuid,"},{"line_number":59,"context_line":"                node_count\u003dself.config.get(\"node_count\"))"}],"source_content_type":"text/x-python","patch_set":11,"id":"9a89bdaa_d6d1a224","line":56,"range":{"start_line":56,"start_character":12,"end_line":56,"end_character":60},"updated":"2016-09-07 22:30:01.000000000","message":"@Roman: should I also replace the the above line with this baymodel \u003d self.context[\"tenants\"][tenant_id][\"baymodel\"]? Is this the more correct way to do this?","commit_id":"93e348747b7305a19932d4094952c2df1613c382"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"34a8eaf5bdb3ea0bc346bbdc914d3f38a5fc6040","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        \"type\": \"object\","},{"line_number":33,"context_line":"        \"$schema\": consts.JSON_SCHEMA,"},{"line_number":34,"context_line":"        \"properties\": {"},{"line_number":35,"context_line":"            \"node_count\": {"},{"line_number":36,"context_line":"                \"type\": \"integer\","},{"line_number":37,"context_line":"                \"minimum\": 1"},{"line_number":38,"context_line":"            },"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a89bdaa_ec095696","line":35,"updated":"2016-09-08 13:28:34.000000000","message":"As its not required field and without default value we pass node_count\u003dNone to magnumclient. Will we get an error? - Don\u0027t we?","commit_id":"05d2bf45edfff6d62025995fcd8b9e99ad3d77c2"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"34a8eaf5bdb3ea0bc346bbdc914d3f38a5fc6040","unresolved":false,"context_lines":[{"line_number":53,"context_line":"            })"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"            # create a bay"},{"line_number":56,"context_line":"            baymodel \u003d magnum_scenario._get_rally_baymodel()"},{"line_number":57,"context_line":"            bay \u003d magnum_scenario._create_bay("},{"line_number":58,"context_line":"                baymodel\u003dbaymodel.uuid,"},{"line_number":59,"context_line":"                node_count\u003dself.config.get(\"node_count\"))"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a89bdaa_f8067184","line":56,"updated":"2016-09-08 13:28:34.000000000","message":"Yes, you need to use here self.context. Also does you need to have possibility to specify baymodel uuid through config oк not?","commit_id":"05d2bf45edfff6d62025995fcd8b9e99ad3d77c2"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"753be992096eaffbd09dfd4cd682d92251b81c10","unresolved":false,"context_lines":[{"line_number":59,"context_line":"            # create a bay"},{"line_number":60,"context_line":"            baymodel_uuid \u003d self.config.get(\"baymodel_uuid\", None)"},{"line_number":61,"context_line":"            if baymodel_uuid is None:"},{"line_number":62,"context_line":"                baymodel_uuid \u003d self.context[\"tenants\"][tenant_id][\"baymodel\"]"},{"line_number":63,"context_line":"            bay \u003d magnum_scenario._create_bay("},{"line_number":64,"context_line":"                baymodel\u003dbaymodel_uuid,"},{"line_number":65,"context_line":"                node_count\u003dself.config.get(\"node_count\"))"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a8bc5a2_80f5c284","line":62,"updated":"2016-09-22 13:38:47.000000000","message":"This can raise KeyError is baymodels context has not run.\n\nPossible solutions:\n\n * baymodel_uuid \u003d self.context[\"tenants\"][tenant_id].get(\"baymodel\")\n   ... conditional action if baymodel_uuid is None\n\n * using decorator @validation.required_contexts(\"baymodels\")","commit_id":"a0d387bd231b8e23027fe5ef115c2814d40931b2"}],"rally/plugins/openstack/scenarios/magnum/bays.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"93cc1bad86fb04b6fa2288735adc3cf6908807f2","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        :param kwargs: optional additional arguments for bay creation"},{"line_number":49,"context_line":"        \"\"\""},{"line_number":50,"context_line":"        self._create_bay(node_count, **kwargs)"},{"line_number":51,"context_line":"        self._list_bays()"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_c5de753e","line":51,"updated":"2016-06-07 10:53:34.000000000","message":"Here is more parameters. We need to have different kwargs for creation and list. Then we need to pass them","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"3c251da42cc3863a813532d09949a43cb1c2a69d","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        :param kwargs: optional additional arguments for bay creation"},{"line_number":49,"context_line":"        \"\"\""},{"line_number":50,"context_line":"        self._create_bay(node_count, **kwargs)"},{"line_number":51,"context_line":"        self._list_bays()"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_347c54eb","line":51,"in_reply_to":"7aa08908_c5de753e","updated":"2016-08-01 18:24:21.000000000","message":"Done","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"bea836265fd65aa4a4b3d88e8c7c3bd5b9448d89","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        :param node_count: the bay node count."},{"line_number":50,"context_line":"        :param kwargs: optional additional arguments for bay creation"},{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        baymodel \u003d self._get_rally_baymodel()"},{"line_number":53,"context_line":"        self._create_bay(baymodel.uuid, node_count, **kwargs)"},{"line_number":54,"context_line":"        self._list_bays(limit\u003d5)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ac06dbe_039f01b5","line":52,"range":{"start_line":52,"start_character":24,"end_line":52,"end_character":25},"updated":"2016-08-21 22:19:25.000000000","message":"please add required_context validator for baymodel","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"b7ce808d895cdfc5b859575038e09f93241d61d0","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        :param node_count: the bay node count."},{"line_number":50,"context_line":"        :param kwargs: optional additional arguments for bay creation"},{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        baymodel \u003d self._get_rally_baymodel()"},{"line_number":53,"context_line":"        self._create_bay(baymodel.uuid, node_count, **kwargs)"},{"line_number":54,"context_line":"        self._list_bays(limit\u003d5)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_a52f48a6","line":52,"range":{"start_line":52,"start_character":24,"end_line":52,"end_character":25},"in_reply_to":"1ac06dbe_039f01b5","updated":"2016-08-31 05:43:40.000000000","message":"Done","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"bea836265fd65aa4a4b3d88e8c7c3bd5b9448d89","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        baymodel \u003d self._get_rally_baymodel()"},{"line_number":53,"context_line":"        self._create_bay(baymodel.uuid, node_count, **kwargs)"},{"line_number":54,"context_line":"        self._list_bays(limit\u003d5)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ac06dbe_43a9f9de","line":54,"updated":"2016-08-21 22:19:25.000000000","message":"what is that??? limit is 5? please pass here kwargs for _list_bays","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"b7ce808d895cdfc5b859575038e09f93241d61d0","unresolved":false,"context_lines":[{"line_number":51,"context_line":"        \"\"\""},{"line_number":52,"context_line":"        baymodel \u003d self._get_rally_baymodel()"},{"line_number":53,"context_line":"        self._create_bay(baymodel.uuid, node_count, **kwargs)"},{"line_number":54,"context_line":"        self._list_bays(limit\u003d5)"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_45211cb4","line":54,"in_reply_to":"1ac06dbe_43a9f9de","updated":"2016-08-31 05:43:40.000000000","message":"Done","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"34a8eaf5bdb3ea0bc346bbdc914d3f38a5fc6040","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        :param node_count: the bay node count."},{"line_number":51,"context_line":"        :param kwargs: optional additional arguments for bay creation"},{"line_number":52,"context_line":"        \"\"\""},{"line_number":53,"context_line":"        baymodel \u003d self._get_rally_baymodel()"},{"line_number":54,"context_line":"        self._create_bay(baymodel.uuid, node_count, **kwargs)"},{"line_number":55,"context_line":"        self._list_bays(**kwargs)"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a89bdaa_b81f89b5","line":53,"updated":"2016-09-08 13:28:34.000000000","message":"please use here self.context","commit_id":"05d2bf45edfff6d62025995fcd8b9e99ad3d77c2"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"753be992096eaffbd09dfd4cd682d92251b81c10","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    @validation.required_services(consts.Service.MAGNUM)"},{"line_number":25,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":26,"context_line":"    @scenario.configure(context\u003d{\"cleanup\": [\"magnum.bays\"]})"},{"line_number":27,"context_line":"    def list_bays(self, **kwargs):"},{"line_number":28,"context_line":"        \"\"\"List all bays."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        Measure the \"magnum bays-list\" command performance."}],"source_content_type":"text/x-python","patch_set":14,"id":"5a8bc5a2_ea1d80be","line":27,"updated":"2016-09-22 13:38:47.000000000","message":"We are currently switching to new class-based scenarios, so mathod-based scenarios become deprecated.\n\nPlease make this scenario class-based, examples at https://review.openstack.org/#/c/356285/\n\nThis requires minimal changes","commit_id":"a0d387bd231b8e23027fe5ef115c2814d40931b2"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"753be992096eaffbd09dfd4cd682d92251b81c10","unresolved":false,"context_lines":[{"line_number":44,"context_line":"    @validation.required_openstack(users\u003dTrue)"},{"line_number":45,"context_line":"    @validation.required_contexts(\"baymodels\")"},{"line_number":46,"context_line":"    @scenario.configure(context\u003d{\"cleanup\": [\"magnum.bays\"]})"},{"line_number":47,"context_line":"    def create_and_list_bays(self, node_count, **kwargs):"},{"line_number":48,"context_line":"        \"\"\"create bay and then list all bays."},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        :param node_count: the bay node count."}],"source_content_type":"text/x-python","patch_set":14,"id":"5a8bc5a2_aa51b864","line":47,"updated":"2016-09-22 13:38:47.000000000","message":"Same here, need class-based scenario","commit_id":"a0d387bd231b8e23027fe5ef115c2814d40931b2"}],"rally/plugins/openstack/scenarios/magnum/utils.py":[{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"27a102a3f1c2eb664f8e3ee90bd7c1f6982bf842","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"MAGNUM_BENCHMARK_OPTS \u003d ["},{"line_number":28,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_prepoll_delay\","},{"line_number":29,"context_line":"                 default\u003d2.0,"},{"line_number":30,"context_line":"                 help\u003d\"Time(in sec) to sleep after creating a resource before \""},{"line_number":31,"context_line":"                      \"polling for it status.\"),"},{"line_number":32,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_timeout\","},{"line_number":33,"context_line":"                 default\u003d1200.0,"},{"line_number":34,"context_line":"                 help\u003d\"Time(in sec) to wait for magnum bay to be created.\"),"},{"line_number":35,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_poll_interval\","},{"line_number":36,"context_line":"                 default\u003d1.0,"},{"line_number":37,"context_line":"                 help\u003d\"Time interval(in sec) between checks when waiting for \""},{"line_number":38,"context_line":"                      \"bay creation.\"),"},{"line_number":39,"context_line":"    cfg.FloatOpt(\"magnum_bay_delete_timeout\","},{"line_number":40,"context_line":"                 default\u003d600.0,"},{"line_number":41,"context_line":"                 help\u003d\"Time(in sec) to wait for magnum bay to be deleted.\"),"},{"line_number":42,"context_line":"    cfg.FloatOpt(\"magnum_bay_delete_poll_interval\","},{"line_number":43,"context_line":"                 default\u003d1.0,"},{"line_number":44,"context_line":"                 help\u003d\"Time interval(in sec) between checks when waiting for \""},{"line_number":45,"context_line":"                      \"bay deletion.\"),"},{"line_number":46,"context_line":"]"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"CONF \u003d cfg.CONF"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_17d8cc7e","line":45,"range":{"start_line":28,"start_character":4,"end_line":45,"end_character":39},"updated":"2016-08-03 18:56:53.000000000","message":"Add these params to the rally sample configuration file","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"4440aa5aeece85f11743e56c7d9ced9a921096e3","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        \"\"\""},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        name \u003d self.generate_random_name()"},{"line_number":160,"context_line":"        baymodels \u003d self._list_baymodels()"},{"line_number":161,"context_line":"        baymodel \u003d baymodels[0].uuid"},{"line_number":162,"context_line":"        bay \u003d self.clients(\"magnum\").bays.create("},{"line_number":163,"context_line":"            name\u003dname, baymodel_id\u003dbaymodel,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_07e2459f","line":160,"updated":"2016-06-07 10:12:38.000000000","message":"Its not normal when one atomic uses other atomic. _list_baymodels should be not included into _create_bay measure","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"3c251da42cc3863a813532d09949a43cb1c2a69d","unresolved":false,"context_lines":[{"line_number":157,"context_line":"        \"\"\""},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        name \u003d self.generate_random_name()"},{"line_number":160,"context_line":"        baymodels \u003d self._list_baymodels()"},{"line_number":161,"context_line":"        baymodel \u003d baymodels[0].uuid"},{"line_number":162,"context_line":"        bay \u003d self.clients(\"magnum\").bays.create("},{"line_number":163,"context_line":"            name\u003dname, baymodel_id\u003dbaymodel,"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_89545cff","line":160,"in_reply_to":"7aa08908_07e2459f","updated":"2016-08-01 18:24:21.000000000","message":"Done","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"27a102a3f1c2eb664f8e3ee90bd7c1f6982bf842","unresolved":false,"context_lines":[{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        name \u003d self.generate_random_name()"},{"line_number":160,"context_line":"        baymodels \u003d self._list_baymodels()"},{"line_number":161,"context_line":"        baymodel \u003d baymodels[0].uuid"},{"line_number":162,"context_line":"        bay \u003d self.clients(\"magnum\").bays.create("},{"line_number":163,"context_line":"            name\u003dname, baymodel_id\u003dbaymodel,"},{"line_number":164,"context_line":"            node_count\u003dnode_count, **kwargs)"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_17bf2cfd","line":161,"range":{"start_line":161,"start_character":8,"end_line":161,"end_character":36},"updated":"2016-08-03 18:56:53.000000000","message":"I think we should be more specific when selecting the baymodel not just taking the first baymodel of the list.","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"4440aa5aeece85f11743e56c7d9ced9a921096e3","unresolved":false,"context_lines":[{"line_number":163,"context_line":"            name\u003dname, baymodel_id\u003dbaymodel,"},{"line_number":164,"context_line":"            node_count\u003dnode_count, **kwargs)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        time.sleep(CONF.benchmark.magnum_bay_create_prepoll_delay)"},{"line_number":167,"context_line":"        bay \u003d utils.wait_for_status("},{"line_number":168,"context_line":"            bay,"},{"line_number":169,"context_line":"            ready_statuses\u003d[\"CREATE_COMPLETE\"],"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_8cee83b2","line":166,"updated":"2016-06-07 10:12:38.000000000","message":"Please use interruptible sleep from our utils https://github.com/openstack/rally/blob/master/rally/common/utils.py#L473","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"3c251da42cc3863a813532d09949a43cb1c2a69d","unresolved":false,"context_lines":[{"line_number":163,"context_line":"            name\u003dname, baymodel_id\u003dbaymodel,"},{"line_number":164,"context_line":"            node_count\u003dnode_count, **kwargs)"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"        time.sleep(CONF.benchmark.magnum_bay_create_prepoll_delay)"},{"line_number":167,"context_line":"        bay \u003d utils.wait_for_status("},{"line_number":168,"context_line":"            bay,"},{"line_number":169,"context_line":"            ready_statuses\u003d[\"CREATE_COMPLETE\"],"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_6933f0f6","line":166,"in_reply_to":"7aa08908_8cee83b2","updated":"2016-08-01 18:24:21.000000000","message":"Done","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"27a102a3f1c2eb664f8e3ee90bd7c1f6982bf842","unresolved":false,"context_lines":[{"line_number":173,"context_line":"        )"},{"line_number":174,"context_line":"        return bay"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    @atomic.action_timer(\"magnum.show_bay\")"},{"line_number":177,"context_line":"    def _show_bay(self, bay):"},{"line_number":178,"context_line":"        \"\"\"Return details of the specify bay."},{"line_number":179,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_5767e4b6","line":176,"updated":"2016-08-03 18:56:53.000000000","message":"If we narrow the focus of this patch to only creating bays (we should) all the above code should be moved to another patch.","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"4440aa5aeece85f11743e56c7d9ced9a921096e3","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        return bay"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    @atomic.action_timer(\"magnum.show_bay\")"},{"line_number":177,"context_line":"    def _show_bay(self, bay):"},{"line_number":178,"context_line":"        \"\"\"Return details of the specify bay."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        :param bay: ID or name of the bay to show"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_ac56dfcf","line":177,"updated":"2016-06-07 10:12:38.000000000","message":"This is not show.\nPlease rename it to _get_bay","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"3c251da42cc3863a813532d09949a43cb1c2a69d","unresolved":false,"context_lines":[{"line_number":174,"context_line":"        return bay"},{"line_number":175,"context_line":""},{"line_number":176,"context_line":"    @atomic.action_timer(\"magnum.show_bay\")"},{"line_number":177,"context_line":"    def _show_bay(self, bay):"},{"line_number":178,"context_line":"        \"\"\"Return details of the specify bay."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"        :param bay: ID or name of the bay to show"}],"source_content_type":"text/x-python","patch_set":6,"id":"7aa08908_ca5dc048","line":177,"in_reply_to":"7aa08908_ac56dfcf","updated":"2016-08-01 18:24:21.000000000","message":"Done","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"eb7e30d47bf18fd2db5987e69c78098b52be05ce","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"MAGNUM_BENCHMARK_OPTS \u003d ["},{"line_number":23,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_prepoll_delay\","},{"line_number":24,"context_line":"                 default\u003d2.0,"},{"line_number":25,"context_line":"                 help\u003d\"Time(in sec) to sleep after creating a resource before \""},{"line_number":26,"context_line":"                      \"polling for the status.\"),"},{"line_number":27,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_timeout\","}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_641602a9","line":24,"range":{"start_line":24,"start_character":25,"end_line":24,"end_character":28},"updated":"2016-08-31 12:12:21.000000000","message":"From our experience this could be higher. He had set in 10s","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"0d26751e191b0e3ae67fd1ee8f64632cb5945c68","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"MAGNUM_BENCHMARK_OPTS \u003d ["},{"line_number":23,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_prepoll_delay\","},{"line_number":24,"context_line":"                 default\u003d2.0,"},{"line_number":25,"context_line":"                 help\u003d\"Time(in sec) to sleep after creating a resource before \""},{"line_number":26,"context_line":"                      \"polling for the status.\"),"},{"line_number":27,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_timeout\","}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_6b2f83a1","line":24,"range":{"start_line":24,"start_character":25,"end_line":24,"end_character":28},"in_reply_to":"fa7ab95a_641602a9","updated":"2016-09-01 02:27:59.000000000","message":"@Spyros: User can always change this value in rally.conf to whatever that fit their environment. Are you suggesting I should change the default value to be higher like you state here?","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"10e4a90decc257cb7d58f3afc3dba0101b18e744","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"MAGNUM_BENCHMARK_OPTS \u003d ["},{"line_number":23,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_prepoll_delay\","},{"line_number":24,"context_line":"                 default\u003d2.0,"},{"line_number":25,"context_line":"                 help\u003d\"Time(in sec) to sleep after creating a resource before \""},{"line_number":26,"context_line":"                      \"polling for the status.\"),"},{"line_number":27,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_timeout\","}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_b201f708","line":24,"range":{"start_line":24,"start_character":25,"end_line":24,"end_character":28},"in_reply_to":"fa7ab95a_6b2f83a1","updated":"2016-09-01 07:04:41.000000000","message":"Yes, set it to 5.0","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"eb7e30d47bf18fd2db5987e69c78098b52be05ce","unresolved":false,"context_lines":[{"line_number":25,"context_line":"                 help\u003d\"Time(in sec) to sleep after creating a resource before \""},{"line_number":26,"context_line":"                      \"polling for the status.\"),"},{"line_number":27,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_timeout\","},{"line_number":28,"context_line":"                 default\u003d600.0,"},{"line_number":29,"context_line":"                 help\u003d\"Time(in sec) to wait for magnum bay to be created.\"),"},{"line_number":30,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_poll_interval\","},{"line_number":31,"context_line":"                 default\u003d1.0,"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_c4a26e9a","line":28,"range":{"start_line":28,"start_character":25,"end_line":28,"end_character":30},"updated":"2016-08-31 12:12:21.000000000","message":"I had changed this to 1200s in patch-set 6 because 600s wasn\u0027t enough and the job couldn\u0027t finish.","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"10e4a90decc257cb7d58f3afc3dba0101b18e744","unresolved":false,"context_lines":[{"line_number":25,"context_line":"                 help\u003d\"Time(in sec) to sleep after creating a resource before \""},{"line_number":26,"context_line":"                      \"polling for the status.\"),"},{"line_number":27,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_timeout\","},{"line_number":28,"context_line":"                 default\u003d600.0,"},{"line_number":29,"context_line":"                 help\u003d\"Time(in sec) to wait for magnum bay to be created.\"),"},{"line_number":30,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_poll_interval\","},{"line_number":31,"context_line":"                 default\u003d1.0,"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_8562ebd6","line":28,"range":{"start_line":28,"start_character":25,"end_line":28,"end_character":30},"in_reply_to":"fa7ab95a_ab17cb52","updated":"2016-09-01 07:04:41.000000000","message":"Yes, set it to 1200.0\n\nIf you don\u0027t do so, the job on openstack infra will not complete.","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"0d26751e191b0e3ae67fd1ee8f64632cb5945c68","unresolved":false,"context_lines":[{"line_number":25,"context_line":"                 help\u003d\"Time(in sec) to sleep after creating a resource before \""},{"line_number":26,"context_line":"                      \"polling for the status.\"),"},{"line_number":27,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_timeout\","},{"line_number":28,"context_line":"                 default\u003d600.0,"},{"line_number":29,"context_line":"                 help\u003d\"Time(in sec) to wait for magnum bay to be created.\"),"},{"line_number":30,"context_line":"    cfg.FloatOpt(\"magnum_bay_create_poll_interval\","},{"line_number":31,"context_line":"                 default\u003d1.0,"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_ab17cb52","line":28,"range":{"start_line":28,"start_character":25,"end_line":28,"end_character":30},"in_reply_to":"fa7ab95a_c4a26e9a","updated":"2016-09-01 02:27:59.000000000","message":"as as above","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"753be992096eaffbd09dfd4cd682d92251b81c10","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    def _list_bays(self, **kwargs):"},{"line_number":76,"context_line":"        \"\"\"Return list of bays."},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"        :param limit: (Optional) the maximum number of results to return"},{"line_number":79,"context_line":"                      per request, if:"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"            1) limit \u003e 0, the maximum number of bays to return."}],"source_content_type":"text/x-python","patch_set":14,"id":"5a8bc5a2_54b45ff1","line":78,"updated":"2016-09-22 13:38:47.000000000","message":"this is absent in arguments","commit_id":"a0d387bd231b8e23027fe5ef115c2814d40931b2"}],"samples/tasks/scenarios/magnum/artifacts/client.conf":[{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"b9759fa69c382667f5866d82ca163a884fd498aa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[req]"},{"line_number":2,"context_line":"distinguished_name \u003d req_distinguished_name"},{"line_number":3,"context_line":"req_extensions     \u003d req_ext"},{"line_number":4,"context_line":"prompt \u003d no"}],"source_content_type":"text/plain","patch_set":8,"id":"9ad45d7e_87ac9936","line":1,"updated":"2016-08-09 13:45:10.000000000","message":"Doesn\u0027t belong in this patch.","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"a6f648b313f3dd2f0215577863e0e349ddd642cb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"[req]"},{"line_number":2,"context_line":"distinguished_name \u003d req_distinguished_name"},{"line_number":3,"context_line":"req_extensions     \u003d req_ext"},{"line_number":4,"context_line":"prompt \u003d no"}],"source_content_type":"text/plain","patch_set":8,"id":"9ad45d7e_9c31305d","line":1,"in_reply_to":"9ad45d7e_87ac9936","updated":"2016-08-10 22:34:50.000000000","message":"Done","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"}],"samples/tasks/scenarios/magnum/artifacts/client.csr":[{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"b9759fa69c382667f5866d82ca163a884fd498aa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"-----BEGIN CERTIFICATE REQUEST-----"},{"line_number":2,"context_line":"MIIEfzCCAmcCAQAwFDESMBAGA1UEAxMJWW91ciBOYW1lMIICIjANBgkqhkiG9w0B"},{"line_number":3,"context_line":"AQEFAAOCAg8AMIICCgKCAgEA0Khq6QwlFf6ZHUGYTzZFhJRE7yY+wS6xH9pHr2lU"},{"line_number":4,"context_line":"Dxm1Gcxg7zPchTlp1J8Qayz2L6v3uNPTM8pmo0RFsyp6tk7EmRMTXOjM9xCDVxBS"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"9ad45d7e_a778bdc5","line":1,"updated":"2016-08-09 13:45:10.000000000","message":"Doesn\u0027t belong in this patch.","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"a6f648b313f3dd2f0215577863e0e349ddd642cb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"-----BEGIN CERTIFICATE REQUEST-----"},{"line_number":2,"context_line":"MIIEfzCCAmcCAQAwFDESMBAGA1UEAxMJWW91ciBOYW1lMIICIjANBgkqhkiG9w0B"},{"line_number":3,"context_line":"AQEFAAOCAg8AMIICCgKCAgEA0Khq6QwlFf6ZHUGYTzZFhJRE7yY+wS6xH9pHr2lU"},{"line_number":4,"context_line":"Dxm1Gcxg7zPchTlp1J8Qayz2L6v3uNPTM8pmo0RFsyp6tk7EmRMTXOjM9xCDVxBS"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"9ad45d7e_1c3ee027","line":1,"in_reply_to":"9ad45d7e_a778bdc5","updated":"2016-08-10 22:34:50.000000000","message":"Done","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"}],"samples/tasks/scenarios/magnum/artifacts/client.key":[{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"b9759fa69c382667f5866d82ca163a884fd498aa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"-----BEGIN RSA PRIVATE KEY-----"},{"line_number":2,"context_line":"MIIJKQIBAAKCAgEA0Khq6QwlFf6ZHUGYTzZFhJRE7yY+wS6xH9pHr2lUDxm1Gcxg"},{"line_number":3,"context_line":"7zPchTlp1J8Qayz2L6v3uNPTM8pmo0RFsyp6tk7EmRMTXOjM9xCDVxBS4V0albZK"},{"line_number":4,"context_line":"KjyGvsVNKASvR60jS627hTQ5RCkUew6JmVg9d95ikUUd4Tq1pk1MVA2MycaWcxYG"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"9ad45d7e_a75f1d40","line":1,"updated":"2016-08-09 13:45:10.000000000","message":"Doesn\u0027t belong in this patch.","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"a6f648b313f3dd2f0215577863e0e349ddd642cb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"-----BEGIN RSA PRIVATE KEY-----"},{"line_number":2,"context_line":"MIIJKQIBAAKCAgEA0Khq6QwlFf6ZHUGYTzZFhJRE7yY+wS6xH9pHr2lUDxm1Gcxg"},{"line_number":3,"context_line":"7zPchTlp1J8Qayz2L6v3uNPTM8pmo0RFsyp6tk7EmRMTXOjM9xCDVxBS4V0albZK"},{"line_number":4,"context_line":"KjyGvsVNKASvR60jS627hTQ5RCkUew6JmVg9d95ikUUd4Tq1pk1MVA2MycaWcxYG"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"9ad45d7e_bc1354b7","line":1,"in_reply_to":"9ad45d7e_a75f1d40","updated":"2016-08-10 22:34:50.000000000","message":"Done","commit_id":"032c25751a52e13c930b30a43cef6f54c0885287"}],"samples/tasks/scenarios/magnum/create-and-list-bays.json":[{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"27a102a3f1c2eb664f8e3ee90bd7c1f6982bf842","unresolved":false,"context_lines":[{"line_number":8,"context_line":"      },"},{"line_number":9,"context_line":"      \"args\": {"},{"line_number":10,"context_line":"        \"node_count\": 1"},{"line_number":11,"context_line":"      }, "},{"line_number":12,"context_line":"      \"context\": {"},{"line_number":13,"context_line":"        \"baymodels\": {"},{"line_number":14,"context_line":"          \"dns-nameserver\": \"8.8.8.8\","}],"source_content_type":"application/json","patch_set":6,"id":"bacf61ea_d7111406","line":11,"range":{"start_line":11,"start_character":8,"end_line":11,"end_character":9},"updated":"2016-08-03 18:56:53.000000000","message":"whitespace","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"}],"tests/ci/osresources.py":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"bea836265fd65aa4a4b3d88e8c7c3bd5b9448d89","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        return self.client.baymodels.list(limit\u003d100000)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def list_bays(self):"},{"line_number":103,"context_line":"        return self.client.bays.list(limit\u003d100000)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"class Nova(ResourceManager):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1ac06dbe_c3ede9f0","line":103,"updated":"2016-08-21 22:19:25.000000000","message":"here should be much bigger value like float(\"Infinity\")","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":9577,"name":"Winnie Tsang","email":"wtsang@us.ibm.com","username":"wtsang"},"change_message_id":"b7ce808d895cdfc5b859575038e09f93241d61d0","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        return self.client.baymodels.list(limit\u003d100000)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def list_bays(self):"},{"line_number":103,"context_line":"        return self.client.bays.list(limit\u003d100000)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"class Nova(ResourceManager):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_456bdf84","line":103,"in_reply_to":"1ac06dbe_c3ede9f0","updated":"2016-08-31 05:43:40.000000000","message":"@Roman: Magnum expect limit to be an integer","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"},{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"eb7e30d47bf18fd2db5987e69c78098b52be05ce","unresolved":false,"context_lines":[{"line_number":100,"context_line":"        return self.client.baymodels.list(limit\u003d100000)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    def list_bays(self):"},{"line_number":103,"context_line":"        return self.client.bays.list(limit\u003d100000)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"class Nova(ResourceManager):"}],"source_content_type":"text/x-python","patch_set":9,"id":"fa7ab95a_64860267","line":103,"in_reply_to":"fa7ab95a_456bdf84","updated":"2016-08-31 12:12:21.000000000","message":"Same logic as in baymodel","commit_id":"66ef00d65d4b39e05acffe725f3f870c955a5518"}],"tests/unit/plugins/openstack/scenarios/magnum/test_bays.py":[{"author":{"_account_id":20498,"name":"Spyros Trigazis","email":"spyridon.trigazis@cern.ch","username":"strigazi"},"change_message_id":"27a102a3f1c2eb664f8e3ee90bd7c1f6982bf842","unresolved":false,"context_lines":[{"line_number":18,"context_line":"from tests.unit import test"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class MagnumBaysTestCase(test.ScenarioTestCase):"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"    def test_list_bays(self):"},{"line_number":24,"context_line":"        scenario \u003d bays.MagnumBays()"}],"source_content_type":"text/x-python","patch_set":6,"id":"bacf61ea_57ec04f3","line":21,"range":{"start_line":21,"start_character":6,"end_line":21,"end_character":24},"updated":"2016-08-03 18:56:53.000000000","message":"since this class tests: class BayGenerator(context.Context)\n\nit should be BayGeneratorTestCase, not in plural since we test the generation of one bay.\n\nExample: https://github.com/openstack/rally/blob/master/tests/unit/plugins/openstack/context/cinder/test_volumes.py#L28\n\nOn the other hand, this testcase is for a list of flavors: https://github.com/openstack/rally/blob/master/tests/unit/plugins/openstack/context/nova/test_flavors.py#L27","commit_id":"36429b199dad5fa811da428b4498664a4cba9140"}]}
