)]}'
{"doc/source/install-guide/configure-openstack.rst":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c0d60bffd0279ca215f73c4fde5b72a1114a40e0","unresolved":false,"context_lines":[{"line_number":101,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"Overriding and adding apache directives is also possible, so long as the"},{"line_number":104,"context_line":"location of the directivie is known. That is, under what tags does it live under."},{"line_number":105,"context_line":"There is no limit to how deep the directive can be. For example, given the"},{"line_number":106,"context_line":"following apache file, it is possible to override any of it\u0027s directives."},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"7a5de9d1_aa5c5c7d","line":104,"updated":"2016-02-01 13:11:52.000000000","message":"s/directivie/directive/","commit_id":"7593435fc8eb8964c72eea3c42eb5a2caf2677ef"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c0d60bffd0279ca215f73c4fde5b72a1114a40e0","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    keystone_keystone_httpd_override:"},{"line_number":129,"context_line":"      -                                         # This is the begining of a list"},{"line_number":130,"context_line":"        - \"Order\"                               # The directive name to override"},{"line_number":131,"context_line":"        - \"deny,allow\"                          # The directive arguments"},{"line_number":132,"context_line":"        - \"\u003cVirtualHost *:80\u003e\"                  # The first tag the directive is under"},{"line_number":133,"context_line":"        - \"\u003cDirectory \"/var/www/example.org\"\u003e\"  # The second tag the directive is under"},{"line_number":134,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"7a5de9d1_8a43a06b","line":131,"updated":"2016-02-01 13:11:52.000000000","message":"Would it be possible to have the directive name and arguments on their own line? ie\n\n- \"Order deny,allow\"\n\nThis to me would be more intuitive.","commit_id":"7593435fc8eb8964c72eea3c42eb5a2caf2677ef"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c0d60bffd0279ca215f73c4fde5b72a1114a40e0","unresolved":false,"context_lines":[{"line_number":130,"context_line":"        - \"Order\"                               # The directive name to override"},{"line_number":131,"context_line":"        - \"deny,allow\"                          # The directive arguments"},{"line_number":132,"context_line":"        - \"\u003cVirtualHost *:80\u003e\"                  # The first tag the directive is under"},{"line_number":133,"context_line":"        - \"\u003cDirectory \"/var/www/example.org\"\u003e\"  # The second tag the directive is under"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"Multiple tags can be specified for directives that live under nested tags."},{"line_number":136,"context_line":"In addition, multiple overrides may be specified. One right after the other."}],"source_content_type":"text/x-rst","patch_set":12,"id":"7a5de9d1_ec3d91c4","line":133,"updated":"2016-02-01 13:11:52.000000000","message":"To me it would be more intuitive if the parent directives were in order and above the override part. Eg:\n\n  - \n    - \"\u003cDirectory \\\"/var/www/example.org\\\"\u003e\"\n    - \"\u003cVirtualHost *:80\u003e\"\n    - \"Order deny,allow\"","commit_id":"7593435fc8eb8964c72eea3c42eb5a2caf2677ef"}],"playbooks/library/config_template":[{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"d51400e3bc6be0ef63a095e07deb5bb5342dae9b","unresolved":false,"context_lines":[{"line_number":62,"context_line":"      src: templates/test.yaml.j2"},{"line_number":63,"context_line":"      dest: /tmp/test.yaml"},{"line_number":64,"context_line":"      config_overrides: {}"},{"line_number":65,"context_line":"      config_type: yaml"},{"line_number":66,"context_line":"  - name: run config template apache override one directive"},{"line_number":67,"context_line":"    config_template:"},{"line_number":68,"context_line":"      src: templates/keystone-httpd.conf.j2"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"ba63e191_3cf9694e","line":65,"range":{"start_line":65,"start_character":19,"end_line":65,"end_character":23},"updated":"2016-01-18 18:27:15.000000000","message":"nit: add a blank line above each task for consistency","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"},{"author":{"_account_id":11268,"name":"Miguel Alex Cantu (alextricity25)","email":"miguel.can2@gmail.com","username":"elextro"},"change_message_id":"912785cb860af8f53f44ff4991920b2acf63a673","unresolved":false,"context_lines":[{"line_number":62,"context_line":"      src: templates/test.yaml.j2"},{"line_number":63,"context_line":"      dest: /tmp/test.yaml"},{"line_number":64,"context_line":"      config_overrides: {}"},{"line_number":65,"context_line":"      config_type: yaml"},{"line_number":66,"context_line":"  - name: run config template apache override one directive"},{"line_number":67,"context_line":"    config_template:"},{"line_number":68,"context_line":"      src: templates/keystone-httpd.conf.j2"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"ba63e191_64a06aa0","line":65,"range":{"start_line":65,"start_character":19,"end_line":65,"end_character":23},"in_reply_to":"ba63e191_3cf9694e","updated":"2016-01-19 17:18:27.000000000","message":"Done","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"}],"playbooks/plugins/actions/config_template.py":[{"author":{"_account_id":12807,"name":"Steve Lewis (stevelle)","email":"stevelle@gmail.com","username":"stevelle"},"change_message_id":"d51400e3bc6be0ef63a095e07deb5bb5342dae9b","unresolved":false,"context_lines":[{"line_number":18,"context_line":"import json"},{"line_number":19,"context_line":"import os"},{"line_number":20,"context_line":"import yaml"},{"line_number":21,"context_line":"# TODO: Only import this if it\u0027s needed"},{"line_number":22,"context_line":"from parse_apache_configs import parse_config"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from ansible import errors"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_77a05a91","line":21,"range":{"start_line":21,"start_character":1,"end_line":21,"end_character":2},"updated":"2016-01-18 18:27:15.000000000","message":"would like to see this TODO resolved before merge","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c628170386643853ece6f6c1b7555b5e311ad4f7","unresolved":false,"context_lines":[{"line_number":19,"context_line":"import os"},{"line_number":20,"context_line":"import yaml"},{"line_number":21,"context_line":"# TODO: Only import this if it\u0027s needed"},{"line_number":22,"context_line":"from parse_apache_configs import parse_config"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from ansible import errors"},{"line_number":25,"context_line":"from ansible.runner.return_data import ReturnData"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_37ee62ed","line":22,"updated":"2016-01-18 18:26:18.000000000","message":"This should be a conditional import and only done if the \"return_config_overrides_apache\" method us used. \n\nThis be done using a try:/except: block \n\ntry: \n    from parse_apache_configs import parse_config\nexcept ImportError:\n    pass\n\nThis could also moving the import into the \"return_config_overrides_apache\" method and noting why.","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"},{"author":{"_account_id":11268,"name":"Miguel Alex Cantu (alextricity25)","email":"miguel.can2@gmail.com","username":"elextro"},"change_message_id":"912785cb860af8f53f44ff4991920b2acf63a673","unresolved":false,"context_lines":[{"line_number":19,"context_line":"import os"},{"line_number":20,"context_line":"import yaml"},{"line_number":21,"context_line":"# TODO: Only import this if it\u0027s needed"},{"line_number":22,"context_line":"from parse_apache_configs import parse_config"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"from ansible import errors"},{"line_number":25,"context_line":"from ansible.runner.return_data import ReturnData"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_644aaac7","line":22,"in_reply_to":"ba63e191_37ee62ed","updated":"2016-01-19 17:18:27.000000000","message":"I think this would be better as is, considering it\u0027s now in pypi. It can be treated like any of the preceding packages.","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c628170386643853ece6f6c1b7555b5e311ad4f7","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        :returns: ``str``"},{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        # This takes in a file path, but we need the entire string."},{"line_number":66,"context_line":"        resultant \u003d str(resultant)"},{"line_number":67,"context_line":"        apache_conf_obj \u003d parse_config.ParseApacheConfig("},{"line_number":68,"context_line":"            apache_file_as_string\u003dresultant"},{"line_number":69,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_1790fe94","line":66,"updated":"2016-01-18 18:26:18.000000000","message":"I\u0027d like to see this become a private object instead of redefining the inherited object.\n\n_resultant \u003d str(resultant)","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"},{"author":{"_account_id":11268,"name":"Miguel Alex Cantu (alextricity25)","email":"miguel.can2@gmail.com","username":"elextro"},"change_message_id":"912785cb860af8f53f44ff4991920b2acf63a673","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        :returns: ``str``"},{"line_number":64,"context_line":"        \"\"\""},{"line_number":65,"context_line":"        # This takes in a file path, but we need the entire string."},{"line_number":66,"context_line":"        resultant \u003d str(resultant)"},{"line_number":67,"context_line":"        apache_conf_obj \u003d parse_config.ParseApacheConfig("},{"line_number":68,"context_line":"            apache_file_as_string\u003dresultant"},{"line_number":69,"context_line":"            )"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_241352ba","line":66,"in_reply_to":"ba63e191_1790fe94","updated":"2016-01-19 17:18:27.000000000","message":"Done","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c628170386643853ece6f6c1b7555b5e311ad4f7","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        resultant \u003d str(resultant)"},{"line_number":67,"context_line":"        apache_conf_obj \u003d parse_config.ParseApacheConfig("},{"line_number":68,"context_line":"            apache_file_as_string\u003dresultant"},{"line_number":69,"context_line":"            )"},{"line_number":70,"context_line":"        conf_list \u003d apache_conf_obj.parse_config()"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        for directive_path in config_overrides:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_b7f7b2f4","line":69,"updated":"2016-01-18 18:26:18.000000000","message":"NIT: move this back 4 spaces.","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"},{"author":{"_account_id":11268,"name":"Miguel Alex Cantu (alextricity25)","email":"miguel.can2@gmail.com","username":"elextro"},"change_message_id":"912785cb860af8f53f44ff4991920b2acf63a673","unresolved":false,"context_lines":[{"line_number":66,"context_line":"        resultant \u003d str(resultant)"},{"line_number":67,"context_line":"        apache_conf_obj \u003d parse_config.ParseApacheConfig("},{"line_number":68,"context_line":"            apache_file_as_string\u003dresultant"},{"line_number":69,"context_line":"            )"},{"line_number":70,"context_line":"        conf_list \u003d apache_conf_obj.parse_config()"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        for directive_path in config_overrides:"}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_04108ea7","line":69,"in_reply_to":"ba63e191_b7f7b2f4","updated":"2016-01-19 17:18:27.000000000","message":"Done","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"},{"author":{"_account_id":7353,"name":"Kevin Carter","email":"kevin@cloudnull.com","username":"cloudnull"},"change_message_id":"c628170386643853ece6f6c1b7555b5e311ad4f7","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            conf_list \u003d apache_conf_obj.add_directive("},{"line_number":80,"context_line":"                conf_list, directive_name,"},{"line_number":81,"context_line":"                directive_arguments, *path"},{"line_number":82,"context_line":"                )"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        return apache_conf_obj.get_apache_config(conf_list)"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_37e4223a","line":82,"updated":"2016-01-18 18:26:18.000000000","message":"NIT: move this back 4 spaces.","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"},{"author":{"_account_id":11268,"name":"Miguel Alex Cantu (alextricity25)","email":"miguel.can2@gmail.com","username":"elextro"},"change_message_id":"912785cb860af8f53f44ff4991920b2acf63a673","unresolved":false,"context_lines":[{"line_number":79,"context_line":"            conf_list \u003d apache_conf_obj.add_directive("},{"line_number":80,"context_line":"                conf_list, directive_name,"},{"line_number":81,"context_line":"                directive_arguments, *path"},{"line_number":82,"context_line":"                )"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"        return apache_conf_obj.get_apache_config(conf_list)"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"ba63e191_a4274211","line":82,"in_reply_to":"ba63e191_37e4223a","updated":"2016-01-19 17:18:27.000000000","message":"Done","commit_id":"8b2af0991d441d7c69187798d489903b6f2cc57e"}],"requirements.txt":[{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c0d60bffd0279ca215f73c4fde5b72a1114a40e0","unresolved":false,"context_lines":[{"line_number":5,"context_line":"PrettyTable\u003e\u003d0.7,\u003c0.8   # scripts/inventory-manage.py"},{"line_number":6,"context_line":"pycrypto\u003e\u003d2.6           # ansible"},{"line_number":7,"context_line":"PyYAML\u003e\u003d3.1.0           # ansible"},{"line_number":8,"context_line":"parse_apache_configs\u003e\u003d0.0.1"}],"source_content_type":"text/plain","patch_set":12,"id":"7a5de9d1_2a1b8ccb","line":8,"updated":"2016-02-01 13:11:52.000000000","message":"Shouldn\u0027t this be held in the role that will use it. Where should it be installed? Note that a comment should follow the requirement indicating what it is that requires it.","commit_id":"7593435fc8eb8964c72eea3c42eb5a2caf2677ef"},{"author":{"_account_id":11268,"name":"Miguel Alex Cantu (alextricity25)","email":"miguel.can2@gmail.com","username":"elextro"},"change_message_id":"a65699a38a5e7b3163b6874f600cdfba35b025b5","unresolved":false,"context_lines":[{"line_number":5,"context_line":"PrettyTable\u003e\u003d0.7,\u003c0.8   # scripts/inventory-manage.py"},{"line_number":6,"context_line":"pycrypto\u003e\u003d2.6           # ansible"},{"line_number":7,"context_line":"PyYAML\u003e\u003d3.1.0           # ansible"},{"line_number":8,"context_line":"parse_apache_configs\u003e\u003d0.0.1"}],"source_content_type":"text/plain","patch_set":12,"id":"7a5de9d1_bc4335ae","line":8,"in_reply_to":"7a5de9d1_2a1b8ccb","updated":"2016-02-01 19:58:24.000000000","message":"The deployment host will use it, since it\u0027s the one running the config_template module that imports this library.","commit_id":"7593435fc8eb8964c72eea3c42eb5a2caf2677ef"}]}
