)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"299f57d5389e9e1bbe23ee5e86b3d24418952289","unresolved":false,"context_lines":[{"line_number":10,"context_line":"mode for a specific docker container."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib8c15a8e354178bedd31ebb31a64618431f0e135"},{"line_number":13,"context_line":"ClosesBug: #1572648"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a122d0e_06201af6","line":13,"updated":"2016-04-20 16:25:57.000000000","message":"-","commit_id":"ec79300c6037ebd00bf0391d6835ecee82a2c243"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"6a8f097c7e9f3b844a178cdbb2f934208d1bab4b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"mode for a specific docker container."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ib8c15a8e354178bedd31ebb31a64618431f0e135"},{"line_number":13,"context_line":"ClosesBug: #1572648"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"1a122d0e_e6dfded3","line":13,"in_reply_to":"1a122d0e_06201af6","updated":"2016-04-20 16:30:44.000000000","message":"Done","commit_id":"ec79300c6037ebd00bf0391d6835ecee82a2c243"},{"author":{"_account_id":15447,"name":"yongfeng","email":"dolpher.du@intel.com","username":"dolpher"},"change_message_id":"f95d4f40cfc2fd46bbcd67e7ea626555660ccbf6","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Serguei Bezverkhi \u003csbezverk@cisco.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-05-02 18:58:45 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Addining ability to specify capabilities and security"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch adds ability to specify required capabilities and security"},{"line_number":10,"context_line":"mode for a specific docker container."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"1a122d0e_4f73e715","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":8},"updated":"2016-05-03 07:14:56.000000000","message":"Addining -\u003e Adding ?","commit_id":"c074ef3c013fdeca1acb6bd4661d49abc123c773"}],"ansible/library/kolla_docker.py":[{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"7472c779c14c6d6e34b628189ae29415047b91a8","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        if new_ipc_mode !\u003d current_ipc_mode:"},{"line_number":284,"context_line":"            return True"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    def compare_cap_add(self, container_info):"},{"line_number":287,"context_line":"        new_cap_add \u003d self.params.get(\u0027cap_add\u0027)"},{"line_number":288,"context_line":"        current_cap_add \u003d container_info[\u0027HostConfig\u0027].get(\u0027CapAdd\u0027)"},{"line_number":289,"context_line":"        if not current_cap_add:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_b65e8677","line":286,"updated":"2016-04-21 12:24:11.000000000","message":"why this function is never called?\nthis should be used in the check_container_diff","commit_id":"106c2e5705d630fd097f13b39d829622cd97fa83"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"f404e5c7b9c13874df8180a1bc3ca7d784087a98","unresolved":false,"context_lines":[{"line_number":283,"context_line":"        if new_ipc_mode !\u003d current_ipc_mode:"},{"line_number":284,"context_line":"            return True"},{"line_number":285,"context_line":""},{"line_number":286,"context_line":"    def compare_cap_add(self, container_info):"},{"line_number":287,"context_line":"        new_cap_add \u003d self.params.get(\u0027cap_add\u0027)"},{"line_number":288,"context_line":"        current_cap_add \u003d container_info[\u0027HostConfig\u0027].get(\u0027CapAdd\u0027)"},{"line_number":289,"context_line":"        if not current_cap_add:"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a122d0e_b9ce77b5","line":286,"in_reply_to":"1a122d0e_b65e8677","updated":"2016-04-21 12:34:14.000000000","message":"Done","commit_id":"106c2e5705d630fd097f13b39d829622cd97fa83"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"1bf2d151c25d6f3b6fddae34eda9c27982a1e184","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    description:"},{"line_number":103,"context_line":"      - Add capabilities to docker container"},{"line_number":104,"context_line":"    required: False"},{"line_number":105,"context_line":"    type: str"},{"line_number":106,"context_line":"    default: None"},{"line_number":107,"context_line":"  security_opt:"},{"line_number":108,"context_line":"    description:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_ad2b3581","line":105,"updated":"2016-04-27 05:35:57.000000000","message":"shouldn\u0027t this is a list? the cap_add and security_opt should be the\nsame.\n\nbtw, any reason that you do not add the cap_drop feature?","commit_id":"05976496cff36fe971483bb181668083260fad1a"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"8507f2c4378827ea702d3194364d68b5fa1c3151","unresolved":false,"context_lines":[{"line_number":102,"context_line":"    description:"},{"line_number":103,"context_line":"      - Add capabilities to docker container"},{"line_number":104,"context_line":"    required: False"},{"line_number":105,"context_line":"    type: str"},{"line_number":106,"context_line":"    default: None"},{"line_number":107,"context_line":"  security_opt:"},{"line_number":108,"context_line":"    description:"}],"source_content_type":"text/x-python","patch_set":4,"id":"1a122d0e_8207ad1c","line":105,"in_reply_to":"1a122d0e_ad2b3581","updated":"2016-05-02 14:00:14.000000000","message":"I will change string to list. For cap_drop, at this point there is no known use case to implement it.","commit_id":"05976496cff36fe971483bb181668083260fad1a"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"be205c0b0a4719c59f0b3970946d05c56341143c","unresolved":false,"context_lines":[{"line_number":291,"context_line":"        if not current_cap_add:"},{"line_number":292,"context_line":"            current_cap_add \u003d None"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        if new_cap_add !\u003d current_cap_add:"},{"line_number":295,"context_line":"            return True"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def compare_security_opt(self, container_info):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_83e685ae","line":294,"updated":"2016-05-02 22:12:08.000000000","message":"We are comparing lists, so we need to compare w/o checking the specific order (!\u003d checks if the 2 lists are in the same order)","commit_id":"fca140d0e2a7a4f15d037ff52299bd5f7084fb1c"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"9012976e4878531a0358d1343aaa4245cdf8c90b","unresolved":false,"context_lines":[{"line_number":291,"context_line":"        if not current_cap_add:"},{"line_number":292,"context_line":"            current_cap_add \u003d None"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        if new_cap_add !\u003d current_cap_add:"},{"line_number":295,"context_line":"            return True"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"    def compare_security_opt(self, container_info):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_d9b98a17","line":294,"in_reply_to":"1a122d0e_83e685ae","updated":"2016-05-02 23:02:46.000000000","message":"Done","commit_id":"fca140d0e2a7a4f15d037ff52299bd5f7084fb1c"},{"author":{"_account_id":5638,"name":"Davanum Srinivas","email":"davanum@gmail.com","username":"dims-v"},"change_message_id":"be205c0b0a4719c59f0b3970946d05c56341143c","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        if not current_sec_opt:"},{"line_number":301,"context_line":"            current_sec_opt \u003d None"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"        if new_sec_opt !\u003d current_sec_opt:"},{"line_number":304,"context_line":"            return True"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    def compare_pid_mode(self, container_info):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_63eb6979","line":303,"updated":"2016-05-02 22:12:08.000000000","message":"Ditto.","commit_id":"fca140d0e2a7a4f15d037ff52299bd5f7084fb1c"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"9012976e4878531a0358d1343aaa4245cdf8c90b","unresolved":false,"context_lines":[{"line_number":300,"context_line":"        if not current_sec_opt:"},{"line_number":301,"context_line":"            current_sec_opt \u003d None"},{"line_number":302,"context_line":""},{"line_number":303,"context_line":"        if new_sec_opt !\u003d current_sec_opt:"},{"line_number":304,"context_line":"            return True"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"    def compare_pid_mode(self, container_info):"}],"source_content_type":"text/x-python","patch_set":6,"id":"1a122d0e_193ae298","line":303,"in_reply_to":"1a122d0e_63eb6979","updated":"2016-05-02 23:02:46.000000000","message":"Done","commit_id":"fca140d0e2a7a4f15d037ff52299bd5f7084fb1c"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74e3c26bc08919610458b58e23c2a5ebb725faef","unresolved":false,"context_lines":[{"line_number":103,"context_line":"      - Add capabilities to docker container"},{"line_number":104,"context_line":"    required: False"},{"line_number":105,"context_line":"    type: list"},{"line_number":106,"context_line":"    default: None"},{"line_number":107,"context_line":"  security_opt:"},{"line_number":108,"context_line":"    description:"},{"line_number":109,"context_line":"      - Set container security profile"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_7b0bf72b","line":106,"updated":"2016-05-03 15:00:09.000000000","message":"I find it more natural if the default value is a list().","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"17fe92737f734242dee3baa4c449eb0d2f3b502b","unresolved":false,"context_lines":[{"line_number":103,"context_line":"      - Add capabilities to docker container"},{"line_number":104,"context_line":"    required: False"},{"line_number":105,"context_line":"    type: list"},{"line_number":106,"context_line":"    default: None"},{"line_number":107,"context_line":"  security_opt:"},{"line_number":108,"context_line":"    description:"},{"line_number":109,"context_line":"      - Set container security profile"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_bebd7d04","line":106,"in_reply_to":"1a122d0e_7b0bf72b","updated":"2016-05-03 15:15:24.000000000","message":"Done","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74e3c26bc08919610458b58e23c2a5ebb725faef","unresolved":false,"context_lines":[{"line_number":109,"context_line":"      - Set container security profile"},{"line_number":110,"context_line":"    required: False"},{"line_number":111,"context_line":"    type: list"},{"line_number":112,"context_line":"    default: None"},{"line_number":113,"context_line":"  labels:"},{"line_number":114,"context_line":"    description:"},{"line_number":115,"context_line":"      - List of labels to apply to container"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_5b06fb21","line":112,"updated":"2016-05-03 15:00:09.000000000","message":"Same comment.","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"17fe92737f734242dee3baa4c449eb0d2f3b502b","unresolved":false,"context_lines":[{"line_number":109,"context_line":"      - Set container security profile"},{"line_number":110,"context_line":"    required: False"},{"line_number":111,"context_line":"    type: list"},{"line_number":112,"context_line":"    default: None"},{"line_number":113,"context_line":"  labels:"},{"line_number":114,"context_line":"    description:"},{"line_number":115,"context_line":"      - List of labels to apply to container"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_fe3535a8","line":112,"in_reply_to":"1a122d0e_5b06fb21","updated":"2016-05-03 15:15:24.000000000","message":"Done","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74e3c26bc08919610458b58e23c2a5ebb725faef","unresolved":false,"context_lines":[{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    def compare_cap_add(self, container_info):"},{"line_number":289,"context_line":"        new_cap_add \u003d self.params.get(\u0027cap_add\u0027)"},{"line_number":290,"context_line":"        current_cap_add \u003d container_info[\u0027HostConfig\u0027].get(\u0027CapAdd\u0027)"},{"line_number":291,"context_line":"        if not new_cap_add:"},{"line_number":292,"context_line":"            new_cap_add \u003d list()"},{"line_number":293,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_bb058f15","line":290,"updated":"2016-05-03 15:00:09.000000000","message":"get() methods accepts a default value. Use it to get rid of conditional on line 294.","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"17fe92737f734242dee3baa4c449eb0d2f3b502b","unresolved":false,"context_lines":[{"line_number":287,"context_line":""},{"line_number":288,"context_line":"    def compare_cap_add(self, container_info):"},{"line_number":289,"context_line":"        new_cap_add \u003d self.params.get(\u0027cap_add\u0027)"},{"line_number":290,"context_line":"        current_cap_add \u003d container_info[\u0027HostConfig\u0027].get(\u0027CapAdd\u0027)"},{"line_number":291,"context_line":"        if not new_cap_add:"},{"line_number":292,"context_line":"            new_cap_add \u003d list()"},{"line_number":293,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_5ec8a975","line":290,"in_reply_to":"1a122d0e_bb058f15","updated":"2016-05-03 15:15:24.000000000","message":"Got it..","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74e3c26bc08919610458b58e23c2a5ebb725faef","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    def compare_cap_add(self, container_info):"},{"line_number":289,"context_line":"        new_cap_add \u003d self.params.get(\u0027cap_add\u0027)"},{"line_number":290,"context_line":"        current_cap_add \u003d container_info[\u0027HostConfig\u0027].get(\u0027CapAdd\u0027)"},{"line_number":291,"context_line":"        if not new_cap_add:"},{"line_number":292,"context_line":"            new_cap_add \u003d list()"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        if not current_cap_add:"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_9b009304","line":291,"updated":"2016-05-03 15:00:09.000000000","message":"This conditional can go away if you set the default for the cap_add parameter to empty list. See my comment below on line 670.","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"17fe92737f734242dee3baa4c449eb0d2f3b502b","unresolved":false,"context_lines":[{"line_number":288,"context_line":"    def compare_cap_add(self, container_info):"},{"line_number":289,"context_line":"        new_cap_add \u003d self.params.get(\u0027cap_add\u0027)"},{"line_number":290,"context_line":"        current_cap_add \u003d container_info[\u0027HostConfig\u0027].get(\u0027CapAdd\u0027)"},{"line_number":291,"context_line":"        if not new_cap_add:"},{"line_number":292,"context_line":"            new_cap_add \u003d list()"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        if not current_cap_add:"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_deb799d5","line":291,"in_reply_to":"1a122d0e_9b009304","updated":"2016-05-03 15:15:24.000000000","message":"Done","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74e3c26bc08919610458b58e23c2a5ebb725faef","unresolved":false,"context_lines":[{"line_number":291,"context_line":"        if not new_cap_add:"},{"line_number":292,"context_line":"            new_cap_add \u003d list()"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        if not current_cap_add:"},{"line_number":295,"context_line":"            current_cap_add \u003d list()"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        if set(new_cap_add).symmetric_difference(set(current_cap_add)):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_fefd3509","line":294,"updated":"2016-05-03 15:00:09.000000000","message":"You can also avoid this conditional by setting a default value in the get() above.","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"17fe92737f734242dee3baa4c449eb0d2f3b502b","unresolved":false,"context_lines":[{"line_number":291,"context_line":"        if not new_cap_add:"},{"line_number":292,"context_line":"            new_cap_add \u003d list()"},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"        if not current_cap_add:"},{"line_number":295,"context_line":"            current_cap_add \u003d list()"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"        if set(new_cap_add).symmetric_difference(set(current_cap_add)):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_de05d979","line":294,"in_reply_to":"1a122d0e_fefd3509","updated":"2016-05-03 15:15:24.000000000","message":"Done","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74e3c26bc08919610458b58e23c2a5ebb725faef","unresolved":false,"context_lines":[{"line_number":300,"context_line":"    def compare_security_opt(self, container_info):"},{"line_number":301,"context_line":"        new_sec_opt \u003d self.params.get(\u0027security_opt\u0027)"},{"line_number":302,"context_line":"        current_sec_opt \u003d container_info[\u0027HostConfig\u0027].get(\u0027SecurityOpt\u0027)"},{"line_number":303,"context_line":"        if not new_sec_opt:"},{"line_number":304,"context_line":"            new_sec_opt \u003d list()"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        if not current_sec_opt:"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_de003903","line":303,"updated":"2016-05-03 15:00:09.000000000","message":"Same comment.","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"17fe92737f734242dee3baa4c449eb0d2f3b502b","unresolved":false,"context_lines":[{"line_number":300,"context_line":"    def compare_security_opt(self, container_info):"},{"line_number":301,"context_line":"        new_sec_opt \u003d self.params.get(\u0027security_opt\u0027)"},{"line_number":302,"context_line":"        current_sec_opt \u003d container_info[\u0027HostConfig\u0027].get(\u0027SecurityOpt\u0027)"},{"line_number":303,"context_line":"        if not new_sec_opt:"},{"line_number":304,"context_line":"            new_sec_opt \u003d list()"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        if not current_sec_opt:"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_1e00f165","line":303,"in_reply_to":"1a122d0e_de003903","updated":"2016-05-03 15:15:24.000000000","message":"Done","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74e3c26bc08919610458b58e23c2a5ebb725faef","unresolved":false,"context_lines":[{"line_number":303,"context_line":"        if not new_sec_opt:"},{"line_number":304,"context_line":"            new_sec_opt \u003d list()"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        if not current_sec_opt:"},{"line_number":307,"context_line":"            current_sec_opt \u003d list()"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        if set(new_sec_opt).symmetric_difference(set(current_sec_opt)):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_3e084d28","line":306,"updated":"2016-05-03 15:00:09.000000000","message":"Same comment.","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"17fe92737f734242dee3baa4c449eb0d2f3b502b","unresolved":false,"context_lines":[{"line_number":303,"context_line":"        if not new_sec_opt:"},{"line_number":304,"context_line":"            new_sec_opt \u003d list()"},{"line_number":305,"context_line":""},{"line_number":306,"context_line":"        if not current_sec_opt:"},{"line_number":307,"context_line":"            current_sec_opt \u003d list()"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        if set(new_sec_opt).symmetric_difference(set(current_sec_opt)):"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_7ef7658c","line":306,"in_reply_to":"1a122d0e_3e084d28","updated":"2016-05-03 15:15:24.000000000","message":"Done","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74e3c26bc08919610458b58e23c2a5ebb725faef","unresolved":false,"context_lines":[{"line_number":307,"context_line":"            current_sec_opt \u003d list()"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        if set(new_sec_opt).symmetric_difference(set(current_sec_opt)):"},{"line_number":310,"context_line":"            return True"},{"line_number":311,"context_line":""},{"line_number":312,"context_line":"    def compare_pid_mode(self, container_info):"},{"line_number":313,"context_line":"        new_pid_mode \u003d self.params.get(\u0027pid_mode\u0027)"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_1e0bd125","line":310,"updated":"2016-05-03 15:00:09.000000000","message":"I find it really disturbing to return a boolean in a conditional. I understand the reason why you did it -- to remain consistent with the rest of the file -- so there is no need to change it now, I simply wanted to mention it.","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74e3c26bc08919610458b58e23c2a5ebb725faef","unresolved":false,"context_lines":[{"line_number":667,"context_line":"        environment\u003ddict(required\u003dFalse, type\u003d\u0027dict\u0027),"},{"line_number":668,"context_line":"        image\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027),"},{"line_number":669,"context_line":"        ipc_mode\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027, choices\u003d[\u0027host\u0027]),"},{"line_number":670,"context_line":"        cap_add\u003ddict(required\u003dFalse, type\u003d\u0027list\u0027),"},{"line_number":671,"context_line":"        security_opt\u003ddict(required\u003dFalse, type\u003d\u0027list\u0027),"},{"line_number":672,"context_line":"        pid_mode\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027, choices\u003d[\u0027host\u0027]),"},{"line_number":673,"context_line":"        privileged\u003ddict(required\u003dFalse, type\u003d\u0027bool\u0027, default\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_7e12c559","line":670,"updated":"2016-05-03 15:00:09.000000000","message":"While not strictly required, I\u0027d prefer to set the default to an empty list so that the type of the cap_add option remains the same.","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"17fe92737f734242dee3baa4c449eb0d2f3b502b","unresolved":false,"context_lines":[{"line_number":667,"context_line":"        environment\u003ddict(required\u003dFalse, type\u003d\u0027dict\u0027),"},{"line_number":668,"context_line":"        image\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027),"},{"line_number":669,"context_line":"        ipc_mode\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027, choices\u003d[\u0027host\u0027]),"},{"line_number":670,"context_line":"        cap_add\u003ddict(required\u003dFalse, type\u003d\u0027list\u0027),"},{"line_number":671,"context_line":"        security_opt\u003ddict(required\u003dFalse, type\u003d\u0027list\u0027),"},{"line_number":672,"context_line":"        pid_mode\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027, choices\u003d[\u0027host\u0027]),"},{"line_number":673,"context_line":"        privileged\u003ddict(required\u003dFalse, type\u003d\u0027bool\u0027, default\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_5ef2699c","line":670,"in_reply_to":"1a122d0e_7e12c559","updated":"2016-05-03 15:15:24.000000000","message":"Done","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74e3c26bc08919610458b58e23c2a5ebb725faef","unresolved":false,"context_lines":[{"line_number":668,"context_line":"        image\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027),"},{"line_number":669,"context_line":"        ipc_mode\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027, choices\u003d[\u0027host\u0027]),"},{"line_number":670,"context_line":"        cap_add\u003ddict(required\u003dFalse, type\u003d\u0027list\u0027),"},{"line_number":671,"context_line":"        security_opt\u003ddict(required\u003dFalse, type\u003d\u0027list\u0027),"},{"line_number":672,"context_line":"        pid_mode\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027, choices\u003d[\u0027host\u0027]),"},{"line_number":673,"context_line":"        privileged\u003ddict(required\u003dFalse, type\u003d\u0027bool\u0027, default\u003dFalse),"},{"line_number":674,"context_line":"        remove_on_exit\u003ddict(required\u003dFalse, type\u003d\u0027bool\u0027, default\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_5e0d4934","line":671,"updated":"2016-05-03 15:00:09.000000000","message":"Same comment.","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"17fe92737f734242dee3baa4c449eb0d2f3b502b","unresolved":false,"context_lines":[{"line_number":668,"context_line":"        image\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027),"},{"line_number":669,"context_line":"        ipc_mode\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027, choices\u003d[\u0027host\u0027]),"},{"line_number":670,"context_line":"        cap_add\u003ddict(required\u003dFalse, type\u003d\u0027list\u0027),"},{"line_number":671,"context_line":"        security_opt\u003ddict(required\u003dFalse, type\u003d\u0027list\u0027),"},{"line_number":672,"context_line":"        pid_mode\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027, choices\u003d[\u0027host\u0027]),"},{"line_number":673,"context_line":"        privileged\u003ddict(required\u003dFalse, type\u003d\u0027bool\u0027, default\u003dFalse),"},{"line_number":674,"context_line":"        remove_on_exit\u003ddict(required\u003dFalse, type\u003d\u0027bool\u0027, default\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a122d0e_fe29b5f3","line":671,"in_reply_to":"1a122d0e_5e0d4934","updated":"2016-05-03 15:15:24.000000000","message":"Done","commit_id":"f5fc562e402abebf4be450cebb2a70bdf10a7937"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"74c6e003257487d86e520dd27590865552454ef4","unresolved":false,"context_lines":[{"line_number":293,"context_line":"            return True"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    def compare_security_opt(self, container_info):"},{"line_number":296,"context_line":"        new_sec_opt \u003d self.params.get(\u0027security_opt\u0027)"},{"line_number":297,"context_line":"        current_sec_opt \u003d container_info[\u0027HostConfig\u0027].get(\u0027SecurityOpt\u0027)"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        if set(new_sec_opt).symmetric_difference(set(current_sec_opt)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_d56bf483","line":296,"updated":"2016-05-03 16:45:56.000000000","message":"@Jeffrey4l: technically it\u0027s not needed because this argument is required to be of type list and we also set the default to a list below, but I guess it doesn\u0027t harm.","commit_id":"fcbb48fd6a036294712ae02009fb9650d6c80e58"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"3f67379802ee025b73be5f33f2aabcdf2b59165a","unresolved":false,"context_lines":[{"line_number":293,"context_line":"            return True"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    def compare_security_opt(self, container_info):"},{"line_number":296,"context_line":"        new_sec_opt \u003d self.params.get(\u0027security_opt\u0027)"},{"line_number":297,"context_line":"        current_sec_opt \u003d container_info[\u0027HostConfig\u0027].get(\u0027SecurityOpt\u0027)"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        if set(new_sec_opt).symmetric_difference(set(current_sec_opt)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_c1e4dead","line":296,"updated":"2016-05-03 15:38:12.000000000","message":"xxx.get(\u0027security_opt\u0027, list())","commit_id":"fcbb48fd6a036294712ae02009fb9650d6c80e58"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"d35781391d32e1f1c46c4e0966cbc725f94d5d95","unresolved":false,"context_lines":[{"line_number":293,"context_line":"            return True"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    def compare_security_opt(self, container_info):"},{"line_number":296,"context_line":"        new_sec_opt \u003d self.params.get(\u0027security_opt\u0027)"},{"line_number":297,"context_line":"        current_sec_opt \u003d container_info[\u0027HostConfig\u0027].get(\u0027SecurityOpt\u0027)"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        if set(new_sec_opt).symmetric_difference(set(current_sec_opt)):"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_a443b0ae","line":296,"in_reply_to":"1a122d0e_c1e4dead","updated":"2016-05-03 15:53:02.000000000","message":"Done","commit_id":"fcbb48fd6a036294712ae02009fb9650d6c80e58"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"3f67379802ee025b73be5f33f2aabcdf2b59165a","unresolved":false,"context_lines":[{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    def compare_security_opt(self, container_info):"},{"line_number":296,"context_line":"        new_sec_opt \u003d self.params.get(\u0027security_opt\u0027)"},{"line_number":297,"context_line":"        current_sec_opt \u003d container_info[\u0027HostConfig\u0027].get(\u0027SecurityOpt\u0027)"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        if set(new_sec_opt).symmetric_difference(set(current_sec_opt)):"},{"line_number":300,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_a1df22d5","line":297,"updated":"2016-05-03 15:38:12.000000000","message":"get(\u0027SecurityOpt\u0027, list())","commit_id":"fcbb48fd6a036294712ae02009fb9650d6c80e58"},{"author":{"_account_id":19384,"name":"Serguei Bezverkhi","email":"sbezverk@cisco.com","username":"sbezverk"},"change_message_id":"d35781391d32e1f1c46c4e0966cbc725f94d5d95","unresolved":false,"context_lines":[{"line_number":294,"context_line":""},{"line_number":295,"context_line":"    def compare_security_opt(self, container_info):"},{"line_number":296,"context_line":"        new_sec_opt \u003d self.params.get(\u0027security_opt\u0027)"},{"line_number":297,"context_line":"        current_sec_opt \u003d container_info[\u0027HostConfig\u0027].get(\u0027SecurityOpt\u0027)"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":"        if set(new_sec_opt).symmetric_difference(set(current_sec_opt)):"},{"line_number":300,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":10,"id":"1a122d0e_e413e8b5","line":297,"in_reply_to":"1a122d0e_a1df22d5","updated":"2016-05-03 15:53:02.000000000","message":"Done","commit_id":"fcbb48fd6a036294712ae02009fb9650d6c80e58"}]}
