)]}'
{"specs/elemental.rst":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d0cbf1371732a060034e6df849d8be79d8d951aa","unresolved":false,"context_lines":[{"line_number":35,"context_line":"---------"},{"line_number":36,"context_line":"#. Work with all supported distributions: CentOS, Debian, Fedora, Oracle Linux"},{"line_number":37,"context_line":"   and Ubuntu"},{"line_number":38,"context_line":"#. Maintain all metadata relating to a container set in one file for Kolla"},{"line_number":39,"context_line":"#. customize list of binary packages installed"},{"line_number":40,"context_line":"#. customize list of from source binary packages installed"},{"line_number":41,"context_line":"#. customize list of from binary binary packages installed"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9abb7d3a_53ea06ad","line":38,"range":{"start_line":38,"start_character":3,"end_line":38,"end_character":74},"updated":"2016-06-01 01:30:21.000000000","message":"this file should not have to reside within the kolla repos trees structure to allow operators to version control there modifications separately form kolla.\n\nsee comment on line 86 for mechanism to automate inclusion of this from an external repo/tar.","commit_id":"79cc76a135f2ad5dc485c070a016b1e2cbb0cd59"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"10c219b32d3acdf95a110f71bd0496332bb4d368","unresolved":false,"context_lines":[{"line_number":35,"context_line":"---------"},{"line_number":36,"context_line":"#. Work with all supported distributions: CentOS, Debian, Fedora, Oracle Linux"},{"line_number":37,"context_line":"   and Ubuntu"},{"line_number":38,"context_line":"#. Maintain all metadata relating to a container set in one file for Kolla"},{"line_number":39,"context_line":"#. customize list of binary packages installed"},{"line_number":40,"context_line":"#. customize list of from source binary packages installed"},{"line_number":41,"context_line":"#. customize list of from binary binary packages installed"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9abb7d3a_62f13201","line":38,"range":{"start_line":38,"start_character":3,"end_line":38,"end_character":74},"in_reply_to":"9abb7d3a_53ea06ad","updated":"2016-06-01 04:54:19.000000000","message":"version control if done, is done on the elemental-merge.yml and elemental-override.yml files.","commit_id":"79cc76a135f2ad5dc485c070a016b1e2cbb0cd59"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d0cbf1371732a060034e6df849d8be79d8d951aa","unresolved":false,"context_lines":[{"line_number":52,"context_line":"#. Work with pip packages from python mirrors"},{"line_number":53,"context_line":"#. Work with proxies"},{"line_number":54,"context_line":"#. Customize files within the container"},{"line_number":55,"context_line":"#. Programmatically control and manipulate the metadata instead of hand modify"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Proposed change"},{"line_number":58,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9abb7d3a_b3741268","line":55,"range":{"start_line":55,"start_character":3,"end_line":55,"end_character":19},"updated":"2016-06-01 01:30:21.000000000","message":"to satisfy this requirement the dsl would have to be richer then described in this spec.\n\nin particular we would need to support the following constructs:\nreusable user defined blocks (function/macro)\nuser defined variables\nconditional execution(if,else,elif,\u003c,\u003e...)\niterations (for/while,recursion)\ncollections (lists,tuples,maps,sets)\n\n\nwhether the dsl is imperative,declarative,procedural or functional in design is secondary if the above are supported.\n\nother constructs of a complete programming language such as user definable types and composition may be nice at a later date have but are not strictly required to support the other use cases.","commit_id":"79cc76a135f2ad5dc485c070a016b1e2cbb0cd59"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"10c219b32d3acdf95a110f71bd0496332bb4d368","unresolved":false,"context_lines":[{"line_number":52,"context_line":"#. Work with pip packages from python mirrors"},{"line_number":53,"context_line":"#. Work with proxies"},{"line_number":54,"context_line":"#. Customize files within the container"},{"line_number":55,"context_line":"#. Programmatically control and manipulate the metadata instead of hand modify"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"Proposed change"},{"line_number":58,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9abb7d3a_22d28a5c","line":55,"range":{"start_line":55,"start_character":3,"end_line":55,"end_character":19},"in_reply_to":"9abb7d3a_b3741268","updated":"2016-06-01 04:54:19.000000000","message":"I may remove this requirement since it is confusing.\n\nWhat I mean by it is I want to be able to use other programming languages and tools to manage the metadata, rather then trusty old vi.","commit_id":"79cc76a135f2ad5dc485c070a016b1e2cbb0cd59"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d0cbf1371732a060034e6df849d8be79d8d951aa","unresolved":false,"context_lines":[{"line_number":83,"context_line":"and eparse.py to compose a complete build system."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The processing involves:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"#. Read the DSL for each container set"},{"line_number":88,"context_line":"#. Read the /etc/elemental-merge.yml file"},{"line_number":89,"context_line":"#. Read the /etc/elemental-override.yml file"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9abb7d3a_d68b8466","line":86,"updated":"2016-06-01 01:30:21.000000000","message":"the build system could be extended to  accept a url, type (tar or git) and optionally reference to a tarball or repo with the following file structure in its root. \n\nrequired\netc/kolla\netc/kolla/elemental-merge.yml\netc/kolla/elemental-override.yml\n\n\noptional:\netc/kolla/config/*\netc/kolla/templates/*\netc/kolla/docker/*\netc/kolla/ansible/*\n\nthe build system would then curl or clone the target and unpack it into/tmp. if it container an etc/kolla directory it will move the contents to /etc/kolla/\n\nthe required section above details the file structure need to support the extensible build phase. \n\nthe optional section details additional directory that could be support automated deployment of customized config and deployment. this is outlined below but could be considered out of scope of this spec.  \n\netc/kolla/config/ will allow operators to package there customized external configs with there build customization.\n\netc/kolla/docker/*will allow operators to package external docker files templates to be build as part of the build systsem.\n\netc/kolla/templates/* will allow operators to package customised templates to replace the default templates used in the kolla playbooks. e.g. https://github.com/openstack/kolla/blob/master/ansible/roles/neutron/templates/neutron-server.json.j2\n\netc/kolla/ansible/* will allow operators to package customized role fragments.\n\nas a separate change to this spec the ansible deployment playbooks would be modified add entry points in the config boot strap and start tasks to include the ansible fragments if they exists.","commit_id":"79cc76a135f2ad5dc485c070a016b1e2cbb0cd59"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"10c219b32d3acdf95a110f71bd0496332bb4d368","unresolved":false,"context_lines":[{"line_number":83,"context_line":"and eparse.py to compose a complete build system."},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"The processing involves:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"#. Read the DSL for each container set"},{"line_number":88,"context_line":"#. Read the /etc/elemental-merge.yml file"},{"line_number":89,"context_line":"#. Read the /etc/elemental-override.yml file"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9abb7d3a_22072acb","line":86,"in_reply_to":"9abb7d3a_d68b8466","updated":"2016-06-01 04:54:19.000000000","message":"I think what your talking about above is completely orthogonal to this specification.  If I were to sum it up, its \"sharing custom configuration\".  We haven\u0027t got to the sharing part yet because we can\u0027t even customize (with exception of neutron-server, which while clever  if you have looked at the code, you will realize doesn\u0027t scale well).","commit_id":"79cc76a135f2ad5dc485c070a016b1e2cbb0cd59"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d0cbf1371732a060034e6df849d8be79d8d951aa","unresolved":false,"context_lines":[{"line_number":85,"context_line":"The processing involves:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"#. Read the DSL for each container set"},{"line_number":88,"context_line":"#. Read the /etc/elemental-merge.yml file"},{"line_number":89,"context_line":"#. Read the /etc/elemental-override.yml file"},{"line_number":90,"context_line":"#. Merge the DSLs that were originally individual files into one dictionary"},{"line_number":91,"context_line":"#. Any entries in /etc/elemental-merge.yml are merged directly in the dictionary"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9abb7d3a_16f06cfd","line":88,"range":{"start_line":88,"start_character":12,"end_line":88,"end_character":17},"updated":"2016-06-01 01:30:21.000000000","message":"/etc/kolla\nsame for other instances below.","commit_id":"79cc76a135f2ad5dc485c070a016b1e2cbb0cd59"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"d0dd0f02755149b2aca1024bb81ec47603e86264","unresolved":false,"context_lines":[{"line_number":85,"context_line":"The processing involves:"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"#. Read the DSL for each container set"},{"line_number":88,"context_line":"#. Read the /etc/elemental-merge.yml file"},{"line_number":89,"context_line":"#. Read the /etc/elemental-override.yml file"},{"line_number":90,"context_line":"#. Merge the DSLs that were originally individual files into one dictionary"},{"line_number":91,"context_line":"#. Any entries in /etc/elemental-merge.yml are merged directly in the dictionary"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9abb7d3a_b6b4fb34","line":88,"range":{"start_line":88,"start_character":12,"end_line":88,"end_character":17},"in_reply_to":"9abb7d3a_16f06cfd","updated":"2016-06-01 05:29:01.000000000","message":"Done","commit_id":"79cc76a135f2ad5dc485c070a016b1e2cbb0cd59"},{"author":{"_account_id":1297,"name":"Joshua Harlow","email":"jxharlow@godaddy.com","username":"harlowja"},"change_message_id":"8957de91b2e01b287a6e62037cfaed885b047c34","unresolved":false,"context_lines":[{"line_number":171,"context_line":"References"},{"line_number":172,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":173,"context_line":"The DSL reference::"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"base:"},{"line_number":176,"context_line":"  all_common_commands:"},{"line_number":177,"context_line":"    - first command run on all distro variants from source or from binary"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9abb7d3a_5315e646","line":174,"updated":"2016-06-01 01:15:16.000000000","message":"U could also include something like the following instead of just \u0027centos\u0027 or \u0027rhel\u0027 but instead match to a regex instead so that duplicated operating system types can just share the same stuff.\n\nhttps://github.com/openstack/anvil/blob/master/conf/distros/redhat.yaml#L3","commit_id":"79cc76a135f2ad5dc485c070a016b1e2cbb0cd59"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"10c219b32d3acdf95a110f71bd0496332bb4d368","unresolved":false,"context_lines":[{"line_number":171,"context_line":"References"},{"line_number":172,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":173,"context_line":"The DSL reference::"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"base:"},{"line_number":176,"context_line":"  all_common_commands:"},{"line_number":177,"context_line":"    - first command run on all distro variants from source or from binary"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9abb7d3a_222e0a43","line":174,"in_reply_to":"9abb7d3a_5315e646","updated":"2016-06-01 04:54:19.000000000","message":"nice!","commit_id":"79cc76a135f2ad5dc485c070a016b1e2cbb0cd59"},{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"8dba81e812b2c6c5c4ffeccf8a70e3e694c9f57e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"   and Ubuntu"},{"line_number":38,"context_line":"#. Maintain all metadata relating to a container set in one file in the Kolla"},{"line_number":39,"context_line":"   repository, for a total of 40 container sets."},{"line_number":40,"context_line":"#. customize list of binary packages installed"},{"line_number":41,"context_line":"#. customize list of from source binary packages installed"},{"line_number":42,"context_line":"#. customize list of from binary binary packages installed"},{"line_number":43,"context_line":"#. customize list of from source source packages installed"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9abb7d3a_b6b99b17","line":40,"updated":"2016-06-01 05:36:40.000000000","message":"I\u0027d suggest to add the point about customizing list of binary packages versions as well (as we do with Ceph currently). It would be nice to autogenerate apt_preferences/versionlock.list.","commit_id":"03e4a95e9c7f047ea04c942354088ef5bd5ebf4d"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"a1edf206e4baf61c05ea6d3c60900ac12b082e7e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"   and Ubuntu"},{"line_number":38,"context_line":"#. Maintain all metadata relating to a container set in one file in the Kolla"},{"line_number":39,"context_line":"   repository, for a total of 40 container sets."},{"line_number":40,"context_line":"#. customize list of binary packages installed"},{"line_number":41,"context_line":"#. customize list of from source binary packages installed"},{"line_number":42,"context_line":"#. customize list of from binary binary packages installed"},{"line_number":43,"context_line":"#. customize list of from source source packages installed"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9abb7d3a_76c9f358","line":40,"in_reply_to":"9abb7d3a_b6b99b17","updated":"2016-06-01 05:41:18.000000000","message":"I\u0027d like to keep the list to the bare minimum necessary to pull off the work, but customizing versionlock down the road seems feasible and not too much trouble.","commit_id":"03e4a95e9c7f047ea04c942354088ef5bd5ebf4d"},{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"8dba81e812b2c6c5c4ffeccf8a70e3e694c9f57e","unresolved":false,"context_lines":[{"line_number":133,"context_line":"\u0027bin_packages\u0027, \u0027src_packages\u0027, \u0027all_packages\u0027, \u0027repos\u0027, \u0027gpg_keys\u0027] for every"},{"line_number":134,"context_line":"container we have.  The downside of this approach taken to an extreme is"},{"line_number":135,"context_line":"container_images * 8 files would need to be added for customization.  Adding"},{"line_number":136,"context_line":"312 files just for customization seems extremely untidy and will end up looking"},{"line_number":137,"context_line":"alot like a DSL, just spread out all over the filesystem."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"I also have concerns about programming errors during making jinja2 customizeable"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9abb7d3a_56db0f4f","line":136,"updated":"2016-06-01 05:36:40.000000000","message":"I don\u0027t understand it. Why \"container_images * 8 files\"? If I understand the jinja2 includes correctly, you may have just these 8 files and use them with some parameters. Like i.e. include some bin_commands.j2 file with list of bin packages as a parameter, to put the rendered content in the final Dockerfile. How this action of including and rendering file contents create 312 files?\n\nI prefer DSL over jinja2 includes, but I\u0027d like to fully understand your concerns. ;)","commit_id":"03e4a95e9c7f047ea04c942354088ef5bd5ebf4d"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"a1edf206e4baf61c05ea6d3c60900ac12b082e7e","unresolved":false,"context_lines":[{"line_number":133,"context_line":"\u0027bin_packages\u0027, \u0027src_packages\u0027, \u0027all_packages\u0027, \u0027repos\u0027, \u0027gpg_keys\u0027] for every"},{"line_number":134,"context_line":"container we have.  The downside of this approach taken to an extreme is"},{"line_number":135,"context_line":"container_images * 8 files would need to be added for customization.  Adding"},{"line_number":136,"context_line":"312 files just for customization seems extremely untidy and will end up looking"},{"line_number":137,"context_line":"alot like a DSL, just spread out all over the filesystem."},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"I also have concerns about programming errors during making jinja2 customizeable"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9abb7d3a_f695e332","line":136,"in_reply_to":"9abb7d3a_56db0f4f","updated":"2016-06-01 05:41:18.000000000","message":"that is a worst case scenario, and my math was wrong it is more north of 900 files.  If you customize like a typical Operator might, you might end up with no customization or 100 files touched.","commit_id":"03e4a95e9c7f047ea04c942354088ef5bd5ebf4d"},{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"8dba81e812b2c6c5c4ffeccf8a70e3e694c9f57e","unresolved":false,"context_lines":[{"line_number":204,"context_line":"    bin_packages:"},{"line_number":205,"context_line":"      - First package to be installed from RPM from binary"},{"line_number":206,"context_line":"      - Second package to be installed from RPM from binary"},{"line_number":207,"context_line":"      - ..."},{"line_number":208,"context_line":"    src_packages:"},{"line_number":209,"context_line":"      - First package to be installed from RPM from source"},{"line_number":210,"context_line":"      - Second package to be installed from RPM from source"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9abb7d3a_964d7740","line":207,"updated":"2016-06-01 05:36:40.000000000","message":"And I\u0027d add here the \"bin_packages_version\" section or something like that.","commit_id":"03e4a95e9c7f047ea04c942354088ef5bd5ebf4d"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"a1edf206e4baf61c05ea6d3c60900ac12b082e7e","unresolved":false,"context_lines":[{"line_number":204,"context_line":"    bin_packages:"},{"line_number":205,"context_line":"      - First package to be installed from RPM from binary"},{"line_number":206,"context_line":"      - Second package to be installed from RPM from binary"},{"line_number":207,"context_line":"      - ..."},{"line_number":208,"context_line":"    src_packages:"},{"line_number":209,"context_line":"      - First package to be installed from RPM from source"},{"line_number":210,"context_line":"      - Second package to be installed from RPM from source"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9abb7d3a_f6e323d7","line":207,"in_reply_to":"9abb7d3a_964d7740","updated":"2016-06-01 05:41:18.000000000","message":"how would it work?","commit_id":"03e4a95e9c7f047ea04c942354088ef5bd5ebf4d"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"f81f297fd7830916500ced084896661416d2745a","unresolved":false,"context_lines":[{"line_number":204,"context_line":"    bin_packages:"},{"line_number":205,"context_line":"      - First package to be installed from RPM from binary"},{"line_number":206,"context_line":"      - Second package to be installed from RPM from binary"},{"line_number":207,"context_line":"      - ..."},{"line_number":208,"context_line":"    src_packages:"},{"line_number":209,"context_line":"      - First package to be installed from RPM from source"},{"line_number":210,"context_line":"      - Second package to be installed from RPM from source"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9abb7d3a_56102f59","line":207,"in_reply_to":"9abb7d3a_b6a51b48","updated":"2016-06-01 06:03:35.000000000","message":"This DSL is designed to work Jinja2 free.  What I read in your proposal though was the idea of totally restructuring our Dockerfile.j2 files to have this kind of layout and use jinja2 as the processing layer (rather then writing our own print statements in python).","commit_id":"03e4a95e9c7f047ea04c942354088ef5bd5ebf4d"},{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"3f67b98e9c2c64bcd74793421237db9940393a59","unresolved":false,"context_lines":[{"line_number":204,"context_line":"    bin_packages:"},{"line_number":205,"context_line":"      - First package to be installed from RPM from binary"},{"line_number":206,"context_line":"      - Second package to be installed from RPM from binary"},{"line_number":207,"context_line":"      - ..."},{"line_number":208,"context_line":"    src_packages:"},{"line_number":209,"context_line":"      - First package to be installed from RPM from source"},{"line_number":210,"context_line":"      - Second package to be installed from RPM from source"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9abb7d3a_b6a51b48","line":207,"in_reply_to":"9abb7d3a_f6e323d7","updated":"2016-06-01 05:58:28.000000000","message":"Assuming that it would look like:\n\n    bin_packages_version:\n      - name: ceph-common\n        version: 0.94.5\n        \u003cdistro_name\u003e_version: 0.94.5-something-distro-specifig\n\nI think that DSL script should render the versionlock.list file from the template:\n\n    {% for bin_pkg_ver in bin_packages_version %}\n    1:{{ bin_pkg_ver.name }}-{{ get_version(bin_pkg_ver, base_distro) }}\n    {% endfor %}\n\nAnd get_version should be a jinja2 macro (or whatever is that called, I don\u0027t remember) which takes the distro and gets the appropriate item (so in case of centos - centos_version if it exists, else just the version). I think it should be done like this, because we cannot get items inside the template.","commit_id":"03e4a95e9c7f047ea04c942354088ef5bd5ebf4d"},{"author":{"_account_id":11105,"name":"Swapnil Kulkarni","email":"coolsvap@gmail.com","username":"coolsvap"},"change_message_id":"a2aaa94810b18eb53d18ec29b4a870c91b455e4e","unresolved":false,"context_lines":[{"line_number":144,"context_line":"which apply similarly to this specification."},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"Implementation"},{"line_number":147,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"Assignee(s)"},{"line_number":150,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9abb7d3a_43ca141c","line":147,"updated":"2016-06-01 14:44:53.000000000","message":"we need to add more implementation details","commit_id":"9ab12e96474484f56755cccca7f684c159ad9b8f"},{"author":{"_account_id":16233,"name":"Mauricio Lima","email":"mauriciolimab@gmail.com","username":"limamauricio"},"change_message_id":"bd2afb1df6e1bc2b4e86075f95ae46d8103fbc66","unresolved":false,"context_lines":[{"line_number":154,"context_line":""},{"line_number":155,"context_line":"Other Contributors:"},{"line_number":156,"context_line":"  Swapnil Kulkarni(coolsvap)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"Can optionally can list additional ids if they intend on doing"},{"line_number":159,"context_line":"substantial implementation work on this blueprint."},{"line_number":160,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"9abb7d3a_480b4cd6","line":157,"updated":"2016-06-01 16:02:42.000000000","message":"Mauricio Lima (mliima)","commit_id":"9ab12e96474484f56755cccca7f684c159ad9b8f"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"8cf0f00349543f2602f75f59723af0b6dc47a998","unresolved":false,"context_lines":[{"line_number":162,"context_line":"----------"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"Target Milestone for completion:"},{"line_number":165,"context_line":"  mitaka-2"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"Work Items"},{"line_number":168,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9abb7d3a_f6f6718d","line":165,"updated":"2016-06-01 13:23:55.000000000","message":"newton","commit_id":"9ab12e96474484f56755cccca7f684c159ad9b8f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7c0b703609cc2b1c6e27e8fc5163d88b52389c17","unresolved":false,"context_lines":[{"line_number":173,"context_line":""},{"line_number":174,"context_line":"Documentation Impact"},{"line_number":175,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":176,"context_line":"The documentation will need to change minimally."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"References"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9abb7d3a_c1a9c525","line":176,"range":{"start_line":176,"start_character":0,"end_line":176,"end_character":47},"updated":"2016-06-01 22:33:01.000000000","message":"the existing documentation should require minimal update but new documentation will be needed. \n\nwe will need a full specification for the dsl including all keywords and syntax constraints.","commit_id":"9ab12e96474484f56755cccca7f684c159ad9b8f"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"7c0b703609cc2b1c6e27e8fc5163d88b52389c17","unresolved":false,"context_lines":[{"line_number":177,"context_line":""},{"line_number":178,"context_line":"References"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":180,"context_line":"The DSL reference::"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"base:"},{"line_number":183,"context_line":"  all_common_commands:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"9abb7d3a_e5bcd4dd","line":180,"range":{"start_line":180,"start_character":0,"end_line":180,"end_character":19},"updated":"2016-06-01 22:33:01.000000000","message":"i really do think the dsl need to be more expressive then what is described below. \n\nif the dsl is imperative the following fetures are desirable.\n\nreusable user defined blocks (function/macro)\nuser defined variables\nconditional execution(if,else,elif,arithmetic comparison, regex for stings...)\niterations (for/while,recursion)\ncollections (lists,tuples,maps,sets)\n\nif it is to be declarative \nthe reusable compostion through the requires relationship \noffered by DockerMake would be desirable.\nhttps://github.com/avirshup/DockerMake\n\nin any case i think we need to allow portions of customization to be applied conditionally based on the parameters passed to the build system.","commit_id":"9ab12e96474484f56755cccca7f684c159ad9b8f"}]}
