)]}'
{"specs/policy/first-principles.rst":[{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"a40aaedd066ada50c00d21d70253349d43240565","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b47d3ab3_5ab20dab","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":58},"updated":"2021-04-20 09:06:07.000000000","message":"I would suggest to document what is not officially supported only.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"43ff065f1b331a299b0b58b058e694d9625f3036","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"}],"source_content_type":"text/x-rst","patch_set":1,"id":"41ce939e_33898527","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":58},"in_reply_to":"1c434ef5_bb68fe42","updated":"2021-04-21 11:26:25.000000000","message":"Yeah, agreed with Rabi here. Perhaps we should phrase this differently. We can describe that we will publish what is tested and which interfaces are intended to be used and specifically what is not intended to be used as an external interface.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"f38db1a4195ae59ce43bc98e9ce38de3a66d743e","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9d21defd_6a2bb829","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":58},"in_reply_to":"41ce939e_33898527","updated":"2021-04-21 21:26:28.000000000","message":"I think we need to look at the framework like a library or an API. A well documented code library or API publishes a specification of what is supported, and often examples on how to use it. I think we should focus on the aspect of publishing the supported framework interface. That\u0027s what I was going for here with this point, and I\u0027ll attempt to clarify.\n\nFunctionally, what we document as supported I think that lives somewhere else. For example, deploying a given cinder driver may not be supported. That\u0027s separate from documenting the supported interface for the framework.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"38a2a4e66d317a18bba26d2095f59c78d4b67f57","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1c434ef5_bb68fe42","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":58},"in_reply_to":"5df35c8d_daa262c2","updated":"2021-04-21 02:53:53.000000000","message":"From experience, the way interfaces have grown unabated, I think we need to clearly defined what \u0027kind of\u0027 interfaces won\u0027t be supported.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"9a058876d9e3ef7d638b8fc94ed21ab913e399eb","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"}],"source_content_type":"text/x-rst","patch_set":1,"id":"5df35c8d_daa262c2","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":58},"in_reply_to":"800a57c7_a5727aab","updated":"2021-04-20 12:56:20.000000000","message":"\u003e I would suggest to document what is not officially supported only.\n\nPerhaps this should be rephrased then. Listing all that supported can be not infinite but a huge list. Maybe we should only document that is tested? And claimed that everything else is not supported.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"8ae9a70f8312634512e8079733a8513ce458d717","unresolved":true,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"}],"source_content_type":"text/x-rst","patch_set":1,"id":"800a57c7_a5727aab","line":39,"range":{"start_line":39,"start_character":6,"end_line":39,"end_character":58},"in_reply_to":"b47d3ab3_5ab20dab","updated":"2021-04-20 12:22:06.000000000","message":"IMO I\u0027d keep this statement as is. Document what is supported but if necessary call out whatever is explicitly forbidden. Only calling out what is not supported could in theory be an infinite list.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"484ea72c7cbb9347d3fa4c8079b2fca17be61ea9","unresolved":true,"context_lines":[{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":43,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"31fb204b_aeda8bd6","line":41,"range":{"start_line":40,"start_character":41,"end_line":41,"end_character":15},"updated":"2021-04-20 09:10:35.000000000","message":"This is not always *easy* and may not always be possible, like deploying Nova without Keystone and rabbitmq with mysql","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"8ae9a70f8312634512e8079733a8513ce458d717","unresolved":true,"context_lines":[{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":43,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"dda66b34_7d84e890","line":41,"range":{"start_line":40,"start_character":41,"end_line":41,"end_character":15},"in_reply_to":"1aa88dd3_6acde39e","updated":"2021-04-20 12:22:06.000000000","message":"Maybe an example would help clarify this?","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"30a701c83fccf199637aa60bc2188927ed03faf4","unresolved":true,"context_lines":[{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":43,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1aa88dd3_6acde39e","line":41,"range":{"start_line":40,"start_character":41,"end_line":41,"end_character":15},"in_reply_to":"31fb204b_aeda8bd6","updated":"2021-04-20 09:14:03.000000000","message":"Please also clarify what is per interferace deployment/testing? Roles are composed of services, not interfaces","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"7ebed2100aafa18a8fbe52dc15925fc4a0867910","unresolved":true,"context_lines":[{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":43,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"a297930c_19203103","line":41,"range":{"start_line":40,"start_character":41,"end_line":41,"end_character":15},"in_reply_to":"4843eeea_9d250aef","updated":"2021-04-21 14:39:52.000000000","message":"Ehh i think that was an example. Perhaps that can be reworded a bit. Because you can\u0027t really deploy just \u0027keystone\u0027 without the other dependencies.  I guess better definition of what \"Components of the framework\" is needed.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"38a2a4e66d317a18bba26d2095f59c78d4b67f57","unresolved":true,"context_lines":[{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":43,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"4843eeea_9d250aef","line":41,"range":{"start_line":40,"start_character":41,"end_line":41,"end_character":15},"in_reply_to":"4d96b067_d1510c7d","updated":"2021-04-21 02:53:53.000000000","message":"If we\u0027re not talking about \u0027actual deploy\u0027 then we should get rid of \u0027easily deployed\u0027 and \u0027such as per service or per interface\u0027 parts from the statement.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"f38db1a4195ae59ce43bc98e9ce38de3a66d743e","unresolved":true,"context_lines":[{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":43,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"bed69ef8_daf5e495","line":41,"range":{"start_line":40,"start_character":41,"end_line":41,"end_character":15},"in_reply_to":"a297930c_19203103","updated":"2021-04-21 21:26:28.000000000","message":"I think this highlights that a \"definitions\" section is needed in the policy. I\u0027ll add one.\n\nAlso, in-line examples I think would be helpful as well, so I will add on here.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"98b9fc0af8d66b3035e0288199d1291764c47cb8","unresolved":true,"context_lines":[{"line_number":37,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":38,"context_line":"      (partner/customer) interfaces."},{"line_number":39,"context_line":"   #. We will document what is officially supported or not."},{"line_number":40,"context_line":"   #. Components of the framework can be easily deployed and tested in"},{"line_number":41,"context_line":"      isolation such as per service or per interface."},{"line_number":42,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":43,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":44,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"4d96b067_d1510c7d","line":41,"range":{"start_line":40,"start_character":41,"end_line":41,"end_character":15},"in_reply_to":"dda66b34_7d84e890","updated":"2021-04-20 19:04:08.000000000","message":"So this says the components of the framework are testable.  It doesn\u0027t mean we need to actually deploy openstack. The elements of framework itself need to be testable in isolation. That\u0027s not necessarily currently true today.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"change_message_id":"2e1d463b295d0bf68fdf72f67389b16d9b113235","unresolved":true,"context_lines":[{"line_number":45,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":46,"context_line":"   and software configuration."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":49,"context_line":"      deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"0b1c9c5c_9c4bc527","line":49,"range":{"start_line":48,"start_character":6,"end_line":49,"end_character":17},"updated":"2021-04-20 17:40:13.000000000","message":"From my understanding, we would still need to deploy ironic/metalsmith/neutron on the director node. So the director will be a client of its own interface?","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"98b9fc0af8d66b3035e0288199d1291764c47cb8","unresolved":true,"context_lines":[{"line_number":45,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":46,"context_line":"   and software configuration."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":49,"context_line":"      deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fb67a591_d06c1abc","line":49,"range":{"start_line":48,"start_character":6,"end_line":49,"end_character":17},"in_reply_to":"0b1c9c5c_9c4bc527","updated":"2021-04-20 19:04:08.000000000","message":"\"director\" is the term for the entire thing in a downstream context. This specifically is about how hardware provisioning process and network processes are separate from software config processes (deploy)","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"c81c7d595185b6ea3963928158dc2fba3bf835e6","unresolved":true,"context_lines":[{"line_number":45,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":46,"context_line":"   and software configuration."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":49,"context_line":"      deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"d2edf12c_6566cc7e","line":49,"range":{"start_line":48,"start_character":6,"end_line":49,"end_character":17},"in_reply_to":"4abf7d61_ab1bf182","updated":"2021-04-23 17:15:49.000000000","message":"thanks, yea i think this will be good to clarify. I\u0027d call it out as specifically excluded from the framework. I think saying where it lives exactly is outside the scope of the policy, as the policy doesn\u0027t need to prescribe git repos for other projects. I\u0027ll add an exclusions section or perhaps a \"non-principles\" \n\nPoint being, I don\u0027t think building and managing container images should be part of the framework anymore than building and managing rpm\u0027s. That being said, as a team of humans, it will likely still be within our realm of responsibility until something changes that. But, just to be clear \"the framework\" is not synonymous with the TripleO project team.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"f38db1a4195ae59ce43bc98e9ce38de3a66d743e","unresolved":true,"context_lines":[{"line_number":45,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":46,"context_line":"   and software configuration."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":49,"context_line":"      deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"f9f2f3c1_6bed85b2","line":49,"range":{"start_line":48,"start_character":6,"end_line":49,"end_character":17},"in_reply_to":"4b8729f3_b4277318","updated":"2021-04-21 21:26:28.000000000","message":"agree with alex, I don\u0027t think we want this as part of the framework itself. If anything, it is a \"service\" that uses the framework to describe its deployment (like we do with ContainerImagePrepare today). Ideally all the code implementing the deployment of that service would live outside of the framework/tripleo.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"0522343c85df9312e437084cfc6dd00a8866b9aa","unresolved":true,"context_lines":[{"line_number":45,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":46,"context_line":"   and software configuration."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":49,"context_line":"      deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"4abf7d61_ab1bf182","line":49,"range":{"start_line":48,"start_character":6,"end_line":49,"end_character":17},"in_reply_to":"607d81c7_8e1e5f5f","updated":"2021-04-23 09:04:56.000000000","message":"Please clearly specify the place that containers images related tooling takes here. Either things like TCIB, Image-Serve registry and containers prepare CLI is *temporary* included into the TripleO framework, or is that a permanent. If the latter, please do not ignore the \"out of scope\" elephant in the room. I would agree it is out of scope, if we Kept usiging Kolla framework for building images instead of self-made TCIB. Or had we integrate some external registry solution instead of Image-Serve. Or if those are temporary, let\u0027s clearly state its longterm first principles.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"fe493476e1d364f9b2b7e93cca9a431906838d5a","unresolved":true,"context_lines":[{"line_number":45,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":46,"context_line":"   and software configuration."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":49,"context_line":"      deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"b63a353f_e1c09b1c","line":49,"range":{"start_line":48,"start_character":6,"end_line":49,"end_character":17},"in_reply_to":"6e2e640c_cbb4cf73","updated":"2021-04-27 08:59:11.000000000","message":"I think that\u0027s a great idea. Please also add that those packages and containers images are hosted on external (to the framework) container registries and repos.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"7ebed2100aafa18a8fbe52dc15925fc4a0867910","unresolved":true,"context_lines":[{"line_number":45,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":46,"context_line":"   and software configuration."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":49,"context_line":"      deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"4b8729f3_b4277318","line":49,"range":{"start_line":48,"start_character":6,"end_line":49,"end_character":17},"in_reply_to":"863b0ffe_79d7eb0e","updated":"2021-04-21 14:39:52.000000000","message":"container images aren\u0027t part of the \"deployment framework\". They are an element of something we currently do as part of the deployment, but not an element of the deploy framework.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"d96ac9d14150ff7710ce9d738eaa649781292bf3","unresolved":true,"context_lines":[{"line_number":45,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":46,"context_line":"   and software configuration."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":49,"context_line":"      deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"6e2e640c_cbb4cf73","line":49,"range":{"start_line":48,"start_character":6,"end_line":49,"end_character":17},"in_reply_to":"d2edf12c_6566cc7e","updated":"2021-04-24 06:16:15.000000000","message":"Would it be better to clearly document inputs/outputs for \u0027the framework\u0027 somewhere then?\n\nInputs:\n\n- Provisioned Hardware \n- Deployment Atrifacts\n- Customizations (Parameters)\n- Prebuilt container images and/or rpms\n\n\nOutputs:\n\n- Fully functional openstack deployment??","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"e01565987ce8aa687d15aedc2045123138b11b76","unresolved":true,"context_lines":[{"line_number":45,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":46,"context_line":"   and software configuration."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":49,"context_line":"      deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"607d81c7_8e1e5f5f","line":49,"range":{"start_line":48,"start_character":6,"end_line":49,"end_character":17},"in_reply_to":"f9f2f3c1_6bed85b2","updated":"2021-04-23 08:54:46.000000000","message":"isn\u0027t TCIB the part of deployment framework? And Image Serve?\nNot talking about containers images, but its lifecycle tooling ,which is part of DF historically, and unlikely to change maintainers in future. Blocking the spec for this clarification please.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"fec0498bb6f81c76c8db31d9b1da849483c2b048","unresolved":true,"context_lines":[{"line_number":45,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":46,"context_line":"   and software configuration."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":49,"context_line":"      deployment."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"863b0ffe_79d7eb0e","line":49,"range":{"start_line":48,"start_character":6,"end_line":49,"end_character":17},"in_reply_to":"fb67a591_d06c1abc","updated":"2021-04-21 09:21:41.000000000","message":"I have the same concern for the container images lifecycle decoupling plans and undercloud being a client of its own containers build/prepare/store (in image-serve) lifecycle interfaces.\nI propose to add containers lifecycle in the scope","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"38a2a4e66d317a18bba26d2095f59c78d4b67f57","unresolved":true,"context_lines":[{"line_number":65,"context_line":"      #. Handles writes to central repository (e.g. read information from"},{"line_number":66,"context_line":"         repository, do aggregation, post to central repository)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"   #. A configuration tool to configure services and hardware as part of the deployment"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"      #. Manages Configuration"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"53246682_3a52d74c","line":68,"range":{"start_line":68,"start_character":53,"end_line":68,"end_character":61},"updated":"2021-04-21 02:53:53.000000000","message":"No hardware configuration right?","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"f38db1a4195ae59ce43bc98e9ce38de3a66d743e","unresolved":true,"context_lines":[{"line_number":65,"context_line":"      #. Handles writes to central repository (e.g. read information from"},{"line_number":66,"context_line":"         repository, do aggregation, post to central repository)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"   #. A configuration tool to configure services and hardware as part of the deployment"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"      #. Manages Configuration"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1f352701_d35fb9a6","line":68,"range":{"start_line":68,"start_character":53,"end_line":68,"end_character":61},"in_reply_to":"4bcf8cc2_b2d5ab54","updated":"2021-04-21 21:26:28.000000000","message":"i\u0027d be ok with dropping hardware. Ultimately we only configure software which may indirectly configure hardware, but I guess it\u0027s debateable where that line exists.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"7ebed2100aafa18a8fbe52dc15925fc4a0867910","unresolved":true,"context_lines":[{"line_number":65,"context_line":"      #. Handles writes to central repository (e.g. read information from"},{"line_number":66,"context_line":"         repository, do aggregation, post to central repository)"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"   #. A configuration tool to configure services and hardware as part of the deployment"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"      #. Manages Configuration"},{"line_number":71,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"4bcf8cc2_b2d5ab54","line":68,"range":{"start_line":68,"start_character":53,"end_line":68,"end_character":61},"in_reply_to":"53246682_3a52d74c","updated":"2021-04-21 14:39:52.000000000","message":"I guess that depends on the classification of kernel params as part of sriov and such.  we do tweak hardware to a certain extent but maybe it\u0027s more the consumption of deployed hardware?","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"change_message_id":"2e1d463b295d0bf68fdf72f67389b16d9b113235","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"   #. A configuration tool to configure services and hardware as part of the deployment"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"      #. Manages Configuration"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"         #. Files"},{"line_number":73,"context_line":"         #. Directories"}],"source_content_type":"text/x-rst","patch_set":1,"id":"35e7b3bc_e114fe38","line":70,"range":{"start_line":70,"start_character":9,"end_line":70,"end_character":30},"updated":"2021-04-20 17:40:13.000000000","message":"I guess we need to keep the concept of roles here and add services/networkconfig/disklayout/misc to roles?","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"f38db1a4195ae59ce43bc98e9ce38de3a66d743e","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"   #. A configuration tool to configure services and hardware as part of the deployment"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"      #. Manages Configuration"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"         #. Files"},{"line_number":73,"context_line":"         #. Directories"}],"source_content_type":"text/x-rst","patch_set":1,"id":"65ec87f9_0a19858d","line":70,"range":{"start_line":70,"start_character":9,"end_line":70,"end_character":30},"in_reply_to":"0aa2f8ae_ad329f9e","updated":"2021-04-21 21:26:28.000000000","message":"changed to Manages Software Configuration","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"98b9fc0af8d66b3035e0288199d1291764c47cb8","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"   #. A configuration tool to configure services and hardware as part of the deployment"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"      #. Manages Configuration"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"         #. Files"},{"line_number":73,"context_line":"         #. Directories"}],"source_content_type":"text/x-rst","patch_set":1,"id":"0aa2f8ae_ad329f9e","line":70,"range":{"start_line":70,"start_character":9,"end_line":70,"end_character":30},"in_reply_to":"35e7b3bc_e114fe38","updated":"2021-04-20 19:04:08.000000000","message":"network config, disk layout is moved to the separate steps from HardwareSoftwareSeperation. The values from these need to provided in to the configuration tool as necessary but that is an input to the framework.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"bf9801b725327c366595c08b567202576aa16d99","unresolved":true,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"         #. Files"},{"line_number":73,"context_line":"         #. Directories"},{"line_number":74,"context_line":"         #. Service (containerized or non-containerized) state"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"      #. Executes commands related to “configuration” of a service"},{"line_number":77,"context_line":"      #. Isolated run time that is invoked independently by the orchestration tool"}],"source_content_type":"text/x-rst","patch_set":1,"id":"0b3b1a50_b348d8b7","line":74,"updated":"2021-04-20 09:19:50.000000000","message":"and software packages, and sometimes other entities via available APIs, for example OpenStack AZs, or Neutron networks","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"change_message_id":"2e1d463b295d0bf68fdf72f67389b16d9b113235","unresolved":true,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"         #. Files"},{"line_number":73,"context_line":"         #. Directories"},{"line_number":74,"context_line":"         #. Service (containerized or non-containerized) state"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"      #. Executes commands related to “configuration” of a service"},{"line_number":77,"context_line":"      #. Isolated run time that is invoked independently by the orchestration tool"}],"source_content_type":"text/x-rst","patch_set":1,"id":"0ffc53bb_f67a9542","line":74,"in_reply_to":"0b3b1a50_b348d8b7","updated":"2021-04-20 17:40:13.000000000","message":"We probably need a bullet point for API config? \n\n    #. API\n        #. Openstack\n            #. Neutron\n            #. Metalsmith\n        #. k8s\n\nDo we need OSP AZ on the director? We certainly need some kind of parent/child system for the overcloud like regions, in addition to roles.\n\nRoles also will probably need to be extendable. For exemple, your compute role have all the same services, no matter if they are dell or HPe, but you Dell will probably not have the same network config as HPe. And within some of these Dell Computes, maybe you want some of them to have some pass through interfaces, and some not. Maybe you want to pin instances on some of these but not on all, or huge pages. It should be very easy to extend these roles however you want.\n\nEven deeper than this, we need to be able to apply specific configs on a per node basis easily.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"98b9fc0af8d66b3035e0288199d1291764c47cb8","unresolved":true,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"         #. Files"},{"line_number":73,"context_line":"         #. Directories"},{"line_number":74,"context_line":"         #. Service (containerized or non-containerized) state"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"      #. Executes commands related to “configuration” of a service"},{"line_number":77,"context_line":"      #. Isolated run time that is invoked independently by the orchestration tool"}],"source_content_type":"text/x-rst","patch_set":1,"id":"b9b0e92b_df955423","line":74,"in_reply_to":"0ffc53bb_f67a9542","updated":"2021-04-20 19:04:08.000000000","message":"Once again this is where we\u0027re making improvements by splitting out those pain points into something that is separate from the software configuration. Disk configs, network configs, hardware bits likely fall under the ownership of ironic/os-net-config which is handled elsewhere.  This configuration tool is not necessarily shared with those actions but could.  Maybe we need to rename this section to better express that this tool is part of the deploy phase and not necessarily in the baremetal prep.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"f38db1a4195ae59ce43bc98e9ce38de3a66d743e","unresolved":true,"context_lines":[{"line_number":71,"context_line":""},{"line_number":72,"context_line":"         #. Files"},{"line_number":73,"context_line":"         #. Directories"},{"line_number":74,"context_line":"         #. Service (containerized or non-containerized) state"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"      #. Executes commands related to “configuration” of a service"},{"line_number":77,"context_line":"      #. Isolated run time that is invoked independently by the orchestration tool"}],"source_content_type":"text/x-rst","patch_set":1,"id":"30c9a235_ba2c6cc1","line":74,"in_reply_to":"b9b0e92b_df955423","updated":"2021-04-21 21:26:28.000000000","message":"agree, let\u0027s keep hardware separate from software. Is there a better way to express that?\nI did a bullet item for Software packages. Calling API\u0027s is covered under the next item \"Executes commands\". I added an example there.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"8ae9a70f8312634512e8079733a8513ce458d717","unresolved":true,"context_lines":[{"line_number":78,"context_line":"      #. Single execution state management"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"         #. Input is configuration data/tasks/etc"},{"line_number":81,"context_line":"         #. At the end of the the state should be applied as expected"},{"line_number":82,"context_line":"         #. Idempotent"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"      #. Read-only communication with centralized data repository for configuration data"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d09d81a9_17f96ebc","line":81,"range":{"start_line":81,"start_character":12,"end_line":81,"end_character":69},"updated":"2021-04-20 12:22:06.000000000","message":"Can this sentence be re-written? Even without the double \"the\" I\u0027m having trouble parsing it.\n\nDoes \"At the end of the state should be applied as expected\" translate to \"The end state should be applied as expected\"?","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"8ae9a70f8312634512e8079733a8513ce458d717","unresolved":true,"context_lines":[{"line_number":78,"context_line":"      #. Single execution state management"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"         #. Input is configuration data/tasks/etc"},{"line_number":81,"context_line":"         #. At the end of the the state should be applied as expected"},{"line_number":82,"context_line":"         #. Idempotent"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"      #. Read-only communication with centralized data repository for configuration data"}],"source_content_type":"text/x-rst","patch_set":1,"id":"239d95d9_0d4e7107","line":81,"range":{"start_line":81,"start_character":26,"end_line":81,"end_character":33},"updated":"2021-04-20 12:22:06.000000000","message":"extra \"the\".","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"f38db1a4195ae59ce43bc98e9ce38de3a66d743e","unresolved":true,"context_lines":[{"line_number":78,"context_line":"      #. Single execution state management"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"         #. Input is configuration data/tasks/etc"},{"line_number":81,"context_line":"         #. At the end of the the state should be applied as expected"},{"line_number":82,"context_line":"         #. Idempotent"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"      #. Read-only communication with centralized data repository for configuration data"}],"source_content_type":"text/x-rst","patch_set":1,"id":"343b2398_05b8ef42","line":81,"range":{"start_line":81,"start_character":26,"end_line":81,"end_character":33},"in_reply_to":"239d95d9_0d4e7107","updated":"2021-04-21 21:26:28.000000000","message":"done, let me know if the new wording makes sense.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"f333c3a8b676fe6bb82144471ec5d5deb5a751d3","unresolved":false,"context_lines":[{"line_number":78,"context_line":"      #. Single execution state management"},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"         #. Input is configuration data/tasks/etc"},{"line_number":81,"context_line":"         #. At the end of the the state should be applied as expected"},{"line_number":82,"context_line":"         #. Idempotent"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"      #. Read-only communication with centralized data repository for configuration data"}],"source_content_type":"text/x-rst","patch_set":1,"id":"73ed37c0_31ef2269","line":81,"range":{"start_line":81,"start_character":26,"end_line":81,"end_character":33},"in_reply_to":"343b2398_05b8ef42","updated":"2021-05-05 13:59:50.000000000","message":"\"A single execution produces the desired state or reports failure.\"\n\nLooks good to me. Thanks.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"change_message_id":"05ed756ac2fa1984abb98f0969a08d5abe804f32","unresolved":true,"context_lines":[{"line_number":82,"context_line":"         #. Idempotent"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"      #. Read-only communication with centralized data repository for configuration data"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"   #. The deployment process depends on an orchestration tool to handle various"},{"line_number":87,"context_line":"      task executions."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7bc2fefa_44ad2d01","line":85,"updated":"2021-04-20 18:04:02.000000000","message":"I understand that discussing specific config management/generation tools is within the scope of this spec, but I think we could probably add that using something already widely adopted would, at the very least, be a bonus, if not a must imho.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"17d5dd232a6d12ee6bdc814d660b6ab5aa9dbe32","unresolved":true,"context_lines":[{"line_number":82,"context_line":"         #. Idempotent"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"      #. Read-only communication with centralized data repository for configuration data"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"   #. The deployment process depends on an orchestration tool to handle various"},{"line_number":87,"context_line":"      task executions."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"fcb8062d_44aa3d92","line":85,"in_reply_to":"7bc2fefa_44ad2d01","updated":"2021-04-21 09:26:03.000000000","message":"Right, good point! Some widely adopted GitOps practices and the way we want to make TripleO depending on such external workflows should be elaborated","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"f38db1a4195ae59ce43bc98e9ce38de3a66d743e","unresolved":true,"context_lines":[{"line_number":82,"context_line":"         #. Idempotent"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"      #. Read-only communication with centralized data repository for configuration data"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"   #. The deployment process depends on an orchestration tool to handle various"},{"line_number":87,"context_line":"      task executions."},{"line_number":88,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"7e5b22c0_d47fd402","line":85,"in_reply_to":"fcb8062d_44aa3d92","updated":"2021-04-21 21:26:28.000000000","message":"I could see some aspects GitOps being listed here, such as version controlled configuration management, or version controlled inputs. I think we should stay away from specific implementations in this policy though.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"4b8f234cad1097037308f98c8c357ede667e8769","unresolved":true,"context_lines":[{"line_number":86,"context_line":"   #. The deployment process depends on an orchestration tool to handle various"},{"line_number":87,"context_line":"      task executions."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"      #. Task graph manager"},{"line_number":90,"context_line":"      #. Task transport and execution tracker"},{"line_number":91,"context_line":"      #. Aware of hosts and work to be executed on the hosts"},{"line_number":92,"context_line":"      #. Ephemeral"}],"source_content_type":"text/x-rst","patch_set":1,"id":"d78c0a99_7bd6e2ee","line":89,"range":{"start_line":89,"start_character":9,"end_line":89,"end_character":27},"updated":"2021-04-20 09:22:38.000000000","message":"I don\u0027t think the today deployment framework has support of tasks graphs, nor execution tracker. While adding it would be extremely helpful, this specification should focus on existing capabilities perhaps.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"7ebed2100aafa18a8fbe52dc15925fc4a0867910","unresolved":true,"context_lines":[{"line_number":86,"context_line":"   #. The deployment process depends on an orchestration tool to handle various"},{"line_number":87,"context_line":"      task executions."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"      #. Task graph manager"},{"line_number":90,"context_line":"      #. Task transport and execution tracker"},{"line_number":91,"context_line":"      #. Aware of hosts and work to be executed on the hosts"},{"line_number":92,"context_line":"      #. Ephemeral"}],"source_content_type":"text/x-rst","patch_set":1,"id":"3e5cd901_b393ecae","line":89,"range":{"start_line":89,"start_character":9,"end_line":89,"end_character":27},"in_reply_to":"1e41a831_86a6c31d","updated":"2021-04-21 14:39:52.000000000","message":"No it is not.  We currently cannot ensure ordering in a specific step.  Anytime we need to ensure ordering that is outside of the existing step 1-5, we have to add a new step.  I ran into an issue here. https://review.opendev.org/c/openstack/tripleo-heat-templates/+/785233. The frr integration also highlighted this because it needs to occur after podman, before any other services (e.g. step1)","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"3ec7ddba219f6cd759e3ad20f1e7a7bba5bc5dac","unresolved":true,"context_lines":[{"line_number":86,"context_line":"   #. The deployment process depends on an orchestration tool to handle various"},{"line_number":87,"context_line":"      task executions."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"      #. Task graph manager"},{"line_number":90,"context_line":"      #. Task transport and execution tracker"},{"line_number":91,"context_line":"      #. Aware of hosts and work to be executed on the hosts"},{"line_number":92,"context_line":"      #. Ephemeral"}],"source_content_type":"text/x-rst","patch_set":1,"id":"ed664f0b_07c795c6","line":89,"range":{"start_line":89,"start_character":9,"end_line":89,"end_character":27},"in_reply_to":"3e5cd901_b393ecae","updated":"2021-04-22 04:06:14.000000000","message":"OK, Probably service deployments steps identified earlier ware not sufficient for these later requirements/use-cases. However, there is always a trade-off between having a pre-defined number of deployments steps (predefined interfaces) vs keeping it open and then it becoming unmanageable.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":8833,"name":"Rabi Mishra","email":"ramishra@redhat.com","username":"rabi"},"change_message_id":"38a2a4e66d317a18bba26d2095f59c78d4b67f57","unresolved":true,"context_lines":[{"line_number":86,"context_line":"   #. The deployment process depends on an orchestration tool to handle various"},{"line_number":87,"context_line":"      task executions."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"      #. Task graph manager"},{"line_number":90,"context_line":"      #. Task transport and execution tracker"},{"line_number":91,"context_line":"      #. Aware of hosts and work to be executed on the hosts"},{"line_number":92,"context_line":"      #. Ephemeral"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1e41a831_86a6c31d","line":89,"range":{"start_line":89,"start_character":9,"end_line":89,"end_character":27},"in_reply_to":"c1014565_fb75d6ab","updated":"2021-04-21 02:53:53.000000000","message":"Isn\u0027t current basic task ordering doing the job? What are the pain points? Though building a task dependency graph before execution is always good, we\u0027ve to be careful about complexity vs gains.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"98b9fc0af8d66b3035e0288199d1291764c47cb8","unresolved":true,"context_lines":[{"line_number":86,"context_line":"   #. The deployment process depends on an orchestration tool to handle various"},{"line_number":87,"context_line":"      task executions."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"      #. Task graph manager"},{"line_number":90,"context_line":"      #. Task transport and execution tracker"},{"line_number":91,"context_line":"      #. Aware of hosts and work to be executed on the hosts"},{"line_number":92,"context_line":"      #. Ephemeral"}],"source_content_type":"text/x-rst","patch_set":1,"id":"c1014565_fb75d6ab","line":89,"range":{"start_line":89,"start_character":9,"end_line":89,"end_character":27},"in_reply_to":"d78c0a99_7bd6e2ee","updated":"2021-04-20 19:04:08.000000000","message":"we do in terms of step configs. It\u0027s a very very very basic task ordering. It\u0027s no way a proper graph which is why we\u0027re calling that out here.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"ea26f11730ca9cdca45119e0d80628394b2db7fd","unresolved":true,"context_lines":[{"line_number":89,"context_line":"      #. Task graph manager"},{"line_number":90,"context_line":"      #. Task transport and execution tracker"},{"line_number":91,"context_line":"      #. Aware of hosts and work to be executed on the hosts"},{"line_number":92,"context_line":"      #. Ephemeral"},{"line_number":93,"context_line":"      #. Efficient execution"},{"line_number":94,"context_line":"      #. Scale and reliability/durability are first class citizens"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"99952ab4_89a22097","line":92,"range":{"start_line":92,"start_character":9,"end_line":92,"end_character":18},"updated":"2021-04-20 09:24:22.000000000","message":"overcloud deployments are stateful, what do you mean as Ephemeral, could you please elaborate?","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"43ff065f1b331a299b0b58b058e694d9625f3036","unresolved":true,"context_lines":[{"line_number":89,"context_line":"      #. Task graph manager"},{"line_number":90,"context_line":"      #. Task transport and execution tracker"},{"line_number":91,"context_line":"      #. Aware of hosts and work to be executed on the hosts"},{"line_number":92,"context_line":"      #. Ephemeral"},{"line_number":93,"context_line":"      #. Efficient execution"},{"line_number":94,"context_line":"      #. Scale and reliability/durability are first class citizens"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"8e1ae166_8dd1be83","line":92,"range":{"start_line":92,"start_character":9,"end_line":92,"end_character":18},"in_reply_to":"2c7b5f8e_d8eafbfa","updated":"2021-04-21 11:26:25.000000000","message":"The same config and the same version of the tool should give you the same outcome on the same environment if moved from one deployment host to another. There should be no persistence requirement for the deployment tool other than the inventory/environment and config. No database or other data store requirement is essentially what this is about.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"98b9fc0af8d66b3035e0288199d1291764c47cb8","unresolved":true,"context_lines":[{"line_number":89,"context_line":"      #. Task graph manager"},{"line_number":90,"context_line":"      #. Task transport and execution tracker"},{"line_number":91,"context_line":"      #. Aware of hosts and work to be executed on the hosts"},{"line_number":92,"context_line":"      #. Ephemeral"},{"line_number":93,"context_line":"      #. Efficient execution"},{"line_number":94,"context_line":"      #. Scale and reliability/durability are first class citizens"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"2c7b5f8e_d8eafbfa","line":92,"range":{"start_line":92,"start_character":9,"end_line":92,"end_character":18},"in_reply_to":"4de1a740_d143636b","updated":"2021-04-20 19:04:08.000000000","message":"The orchestration tool doesn\u0027t need to persist. Ansible is an example of an ephemeral orchestration tool.  The output doesn\u0027t have to be ephemeral, but the process(es) should be.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"f38db1a4195ae59ce43bc98e9ce38de3a66d743e","unresolved":true,"context_lines":[{"line_number":89,"context_line":"      #. Task graph manager"},{"line_number":90,"context_line":"      #. Task transport and execution tracker"},{"line_number":91,"context_line":"      #. Aware of hosts and work to be executed on the hosts"},{"line_number":92,"context_line":"      #. Ephemeral"},{"line_number":93,"context_line":"      #. Efficient execution"},{"line_number":94,"context_line":"      #. Scale and reliability/durability are first class citizens"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"3157c510_e17f8d06","line":92,"range":{"start_line":92,"start_character":9,"end_line":92,"end_character":18},"in_reply_to":"8e1ae166_8dd1be83","updated":"2021-04-21 21:26:28.000000000","message":"correct jesse. ephemeral here refers to the deployment tool. we aim to not require any saved state. I\u0027ll clarify the wording.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"8ae9a70f8312634512e8079733a8513ce458d717","unresolved":true,"context_lines":[{"line_number":89,"context_line":"      #. Task graph manager"},{"line_number":90,"context_line":"      #. Task transport and execution tracker"},{"line_number":91,"context_line":"      #. Aware of hosts and work to be executed on the hosts"},{"line_number":92,"context_line":"      #. Ephemeral"},{"line_number":93,"context_line":"      #. Efficient execution"},{"line_number":94,"context_line":"      #. Scale and reliability/durability are first class citizens"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"4de1a740_d143636b","line":92,"range":{"start_line":92,"start_character":9,"end_line":92,"end_character":18},"in_reply_to":"99952ab4_89a22097","updated":"2021-04-20 12:22:06.000000000","message":"+1","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":27419,"name":"David Vallee Delisle","email":"me@dvd.dev","username":"dvd"},"change_message_id":"8bc26afb2b4a58229339255cde46c9aaa31bfb47","unresolved":true,"context_lines":[{"line_number":108,"context_line":"#. [PerServiceManagement] TripleO can manage individual services in isolation,"},{"line_number":109,"context_line":"   and express and rely on dependencies and ordering between services."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"#. [Predictable/Reproducible/Idempotent] The deployment is predictable"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"   #. The operator can determine what changes will occur before actually applying"},{"line_number":114,"context_line":"      those changes."}],"source_content_type":"text/x-rst","patch_set":1,"id":"0c162518_10e9d665","line":111,"range":{"start_line":111,"start_character":41,"end_line":111,"end_character":70},"updated":"2021-04-20 17:50:36.000000000","message":"so to achieve all this we\u0027re probably going to need some kind of fact pushed to the director. Ideally, the clients would monitor for change (inotify?) and update the director, at minimum it would have to be some kind of timer I presume.\n\nWe would need an inventory of things to be gathered, maybe starting with ansible facts.\n\nI think it would be a nice bonus if we can use these for some kind of basic monitoring. I know we should not use deployment to monitor, but since we would have all the data, we could easily push that into some kind of kvdb/tsdb at the very least. Or maybe keep that in mind while we write code so if want to add this later, we won\u0027t have to refactor everything.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"aac3a13d7d32730f398521e5d1e2713c838c6ce1","unresolved":true,"context_lines":[{"line_number":108,"context_line":"#. [PerServiceManagement] TripleO can manage individual services in isolation,"},{"line_number":109,"context_line":"   and express and rely on dependencies and ordering between services."},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"#. [Predictable/Reproducible/Idempotent] The deployment is predictable"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"   #. The operator can determine what changes will occur before actually applying"},{"line_number":114,"context_line":"      those changes."}],"source_content_type":"text/x-rst","patch_set":1,"id":"1bc23c9c_9acd7281","line":111,"range":{"start_line":111,"start_character":41,"end_line":111,"end_character":70},"in_reply_to":"0c162518_10e9d665","updated":"2021-04-21 09:48:50.000000000","message":"and for the puppet config bits predictability, there is planned work for pre-generating catalogs and serving it statically, so that could help addressing that principle as well","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"8ae9a70f8312634512e8079733a8513ce458d717","unresolved":true,"context_lines":[{"line_number":115,"context_line":"   #. The deployment is reproducible in that the operator can re-run the"},{"line_number":116,"context_line":"      deployment with the same set of inputs and achieve the same results across"},{"line_number":117,"context_line":"      different environments."},{"line_number":118,"context_line":"   #. The deployment is idempotent in that the operator can re-run the"},{"line_number":119,"context_line":"      deployment with the same set of inputs and the deployment will not change other"},{"line_number":120,"context_line":"      than when it was first deployed."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Alternatives \u0026 History"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":"47f9b13c_83544d7d","line":120,"range":{"start_line":118,"start_character":0,"end_line":120,"end_character":38},"updated":"2021-04-20 12:22:06.000000000","message":"Do we want to point out that service interruption is possible for this?\n\nE.g. stack updates of some services can result in restarts to ensure they re-read their new configuration. Do we want to acknowledge this as something that happens but should be avoided if possible?","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"f38db1a4195ae59ce43bc98e9ce38de3a66d743e","unresolved":true,"context_lines":[{"line_number":115,"context_line":"   #. The deployment is reproducible in that the operator can re-run the"},{"line_number":116,"context_line":"      deployment with the same set of inputs and achieve the same results across"},{"line_number":117,"context_line":"      different environments."},{"line_number":118,"context_line":"   #. The deployment is idempotent in that the operator can re-run the"},{"line_number":119,"context_line":"      deployment with the same set of inputs and the deployment will not change other"},{"line_number":120,"context_line":"      than when it was first deployed."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Alternatives \u0026 History"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":"d18bfd52_42d71b9d","line":120,"range":{"start_line":118,"start_character":0,"end_line":120,"end_character":38},"in_reply_to":"47f9b13c_83544d7d","updated":"2021-04-21 21:26:28.000000000","message":"I think this goes toward the predictability. The service will need an interface to inform the framework that it needs to be restarted. It should never happen as a surprise. I\u0027ll add something, let me know how it sounds.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":18002,"name":"John Fulton","email":"fulton@redhat.com","username":"fultonj"},"change_message_id":"f333c3a8b676fe6bb82144471ec5d5deb5a751d3","unresolved":false,"context_lines":[{"line_number":115,"context_line":"   #. The deployment is reproducible in that the operator can re-run the"},{"line_number":116,"context_line":"      deployment with the same set of inputs and achieve the same results across"},{"line_number":117,"context_line":"      different environments."},{"line_number":118,"context_line":"   #. The deployment is idempotent in that the operator can re-run the"},{"line_number":119,"context_line":"      deployment with the same set of inputs and the deployment will not change other"},{"line_number":120,"context_line":"      than when it was first deployed."},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"Alternatives \u0026 History"},{"line_number":123,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\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":"5db3b249_1a70aca3","line":120,"range":{"start_line":118,"start_character":0,"end_line":120,"end_character":38},"in_reply_to":"d18bfd52_42d71b9d","updated":"2021-05-05 13:59:50.000000000","message":"Update looks good to me. Thanks.","commit_id":"c06ec2ce0ac135ec8761514675e63a6991c94410"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"d6106814af5de521b69e1783f130c6461fd8a268","unresolved":false,"context_lines":[{"line_number":95,"context_line":"      #. Responsible for collecting host and state information and posting to a"},{"line_number":96,"context_line":"         centralized repository."},{"line_number":97,"context_line":"      #. Handles writes to central repository (e.g. read information from"},{"line_number":98,"context_line":"         repository, do aggregation, post to central repository)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"   #. A configuration tool to configure software and services as part of the"},{"line_number":101,"context_line":"      deployment"}],"source_content_type":"text/x-rst","patch_set":2,"id":"28ba0c1b_05f8f025","line":98,"updated":"2021-04-22 17:46:27.000000000","message":"It may not be part of the service definition.  I think the service definition will likely consume the data collection but this one is really like cloud facts/state gets published to a central spot so that the config tool can determine what needs to occur (configs/restarts/etc).","commit_id":"312bd74f2d2afcd07a52586df051c974f42d3706"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c157ea0ed732bf08f43c7de5ff61425ac2975b1f","unresolved":true,"context_lines":[{"line_number":95,"context_line":"      #. Responsible for collecting host and state information and posting to a"},{"line_number":96,"context_line":"         centralized repository."},{"line_number":97,"context_line":"      #. Handles writes to central repository (e.g. read information from"},{"line_number":98,"context_line":"         repository, do aggregation, post to central repository)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"   #. A configuration tool to configure software and services as part of the"},{"line_number":101,"context_line":"      deployment"}],"source_content_type":"text/x-rst","patch_set":2,"id":"f5eb1908_248e1905","line":98,"updated":"2021-04-22 12:47:44.000000000","message":"Perhaps its worth defining that the data/state collected should be defined as part of the service definition, but that there should also be a way of expressing common information required.\n\nI\u0027m thinking that we\u0027d often want host package and container information, but some services may want more specific information like mounts, network interfaces, kernel modules, etc.","commit_id":"312bd74f2d2afcd07a52586df051c974f42d3706"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"9b55721f92e5cf83979f49589bfd687148720273","unresolved":true,"context_lines":[{"line_number":95,"context_line":"      #. Responsible for collecting host and state information and posting to a"},{"line_number":96,"context_line":"         centralized repository."},{"line_number":97,"context_line":"      #. Handles writes to central repository (e.g. read information from"},{"line_number":98,"context_line":"         repository, do aggregation, post to central repository)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"   #. A configuration tool to configure software and services as part of the"},{"line_number":101,"context_line":"      deployment"}],"source_content_type":"text/x-rst","patch_set":2,"id":"78426f9b_2883cc78","line":98,"in_reply_to":"f5eb1908_248e1905","updated":"2021-04-23 17:26:34.000000000","message":"\u003e Perhaps its worth defining that the data/state collected should be defined as part of the service definition, but that there should also be a way of expressing common information required.\n\u003e \n\u003e I\u0027m thinking that we\u0027d often want host package and container information, but some services may want more specific information like mounts, network interfaces, kernel modules, etc.\n\nI think what you\u0027re asking for is an interface that allows the service to specify some additional facts that need to be gathered, and stored centrally, perhaps for use by other services. Is that accurate?","commit_id":"312bd74f2d2afcd07a52586df051c974f42d3706"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"d6106814af5de521b69e1783f130c6461fd8a268","unresolved":false,"context_lines":[{"line_number":155,"context_line":"      than when it was first deployed."},{"line_number":156,"context_line":"   #. In the case where a service needs to restart a process, the framework"},{"line_number":157,"context_line":"      will have an interface that the service can use to notify of the"},{"line_number":158,"context_line":"      needed restart. In this way, the restarts are predictable."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Alternatives \u0026 History"},{"line_number":161,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"4d8f73fb_9b53e819","line":158,"updated":"2021-04-22 17:46:27.000000000","message":"I think limits like serial restarts is likely at a task level. Where we put timeouts, caps on execution and parallelization as part of a task definition within a service.  We\u0027re aware of these types of restrictions and they should likely be expressed in the task schema and orchestration tool.","commit_id":"312bd74f2d2afcd07a52586df051c974f42d3706"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"c157ea0ed732bf08f43c7de5ff61425ac2975b1f","unresolved":true,"context_lines":[{"line_number":155,"context_line":"      than when it was first deployed."},{"line_number":156,"context_line":"   #. In the case where a service needs to restart a process, the framework"},{"line_number":157,"context_line":"      will have an interface that the service can use to notify of the"},{"line_number":158,"context_line":"      needed restart. In this way, the restarts are predictable."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Alternatives \u0026 History"},{"line_number":161,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"221ba4c4_8ad06d5e","line":158,"updated":"2021-04-22 12:47:44.000000000","message":"The restarts need to be able to be expressed in such a way that they can be sequential (one host at a time) or simultaneous (all at once).\n\nSome services we\u0027ll be deploying can be updating in a rolling sequence (eg: nova), whereas others (eg: neutron) need to be updated simultaneously.\n\nWe may also have to express groupings for this behaviour. eg: neutron server needs to restart all at once, whereas neutron agents should restart in sequence.","commit_id":"312bd74f2d2afcd07a52586df051c974f42d3706"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"9b55721f92e5cf83979f49589bfd687148720273","unresolved":false,"context_lines":[{"line_number":155,"context_line":"      than when it was first deployed."},{"line_number":156,"context_line":"   #. In the case where a service needs to restart a process, the framework"},{"line_number":157,"context_line":"      will have an interface that the service can use to notify of the"},{"line_number":158,"context_line":"      needed restart. In this way, the restarts are predictable."},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"Alternatives \u0026 History"},{"line_number":161,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"36473d86_b1f1cc3c","line":158,"in_reply_to":"4d8f73fb_9b53e819","updated":"2021-04-23 17:26:34.000000000","message":"i added a point about this. Let me know if that covers it.","commit_id":"312bd74f2d2afcd07a52586df051c974f42d3706"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":4,"context_line":"TripleO First Principles"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The TripleO first princples are a set of principles that guide decision making"},{"line_number":8,"context_line":"around future direction with TripleO. The principles are used to evaluate"},{"line_number":9,"context_line":"choices around changes in direction and architecture. Every impactful decision"},{"line_number":10,"context_line":"does not necessarily have to follow all the principles, but we use them to make"}],"source_content_type":"text/x-rst","patch_set":3,"id":"acd2be2a_fb76013e","line":7,"range":{"start_line":7,"start_character":18,"end_line":7,"end_character":27},"updated":"2021-04-26 12:18:21.000000000","message":"typo","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":false,"context_lines":[{"line_number":4,"context_line":"TripleO First Principles"},{"line_number":5,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"The TripleO first princples are a set of principles that guide decision making"},{"line_number":8,"context_line":"around future direction with TripleO. The principles are used to evaluate"},{"line_number":9,"context_line":"choices around changes in direction and architecture. Every impactful decision"},{"line_number":10,"context_line":"does not necessarily have to follow all the principles, but we use them to make"}],"source_content_type":"text/x-rst","patch_set":3,"id":"45ab9321_f887606c","line":7,"range":{"start_line":7,"start_character":18,"end_line":7,"end_character":27},"in_reply_to":"acd2be2a_fb76013e","updated":"2021-04-26 15:21:19.000000000","message":"Done","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"When evaluating technical direction within TripleO, a better and more"},{"line_number":17,"context_line":"consistent method is needed to weigh pros and cons of choices. Defining the"},{"line_number":18,"context_line":"princples is a step towards addressing that need."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Policy"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a515966_1adf2955","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":9},"updated":"2021-04-26 12:18:21.000000000","message":"typo","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"When evaluating technical direction within TripleO, a better and more"},{"line_number":17,"context_line":"consistent method is needed to weigh pros and cons of choices. Defining the"},{"line_number":18,"context_line":"princples is a step towards addressing that need."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Policy"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9fab7198_6f69da2a","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":9},"in_reply_to":"1a515966_1adf2955","updated":"2021-04-26 15:21:19.000000000","message":"Done","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"177c8ea8aed4b32cd0e24c4dba1c5336606605b4","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  Example: tripleoclient/tripleo-common/tripleo-ansible/tripleo-heat-templates"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Service"},{"line_number":37,"context_line":"  The unit of deployment. A service will implement the necessary framework"},{"line_number":38,"context_line":"  interfaces in order to describe it\u0027s deployment."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"a9f09b3f_12b8585c","line":36,"updated":"2021-04-27 09:11:32.000000000","message":"please note that a container (not its image!) is a unit of deployment as well. And containers configuration and deployment is as well the part of the framework as it is for services.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"74bda3871394287634f5d498b18fbdb4cbd0d402","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  Example: tripleoclient/tripleo-common/tripleo-ansible/tripleo-heat-templates"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Service"},{"line_number":37,"context_line":"  The unit of deployment. A service will implement the necessary framework"},{"line_number":38,"context_line":"  interfaces in order to describe it\u0027s deployment."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7b675f46_d82396f2","line":36,"in_reply_to":"2635af99_9764052e","updated":"2021-04-27 09:21:09.000000000","message":"...nor to the parallel cloud migration","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"fed21da92e76e379f693ba1571d6ed464a9b3d24","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  Example: tripleoclient/tripleo-common/tripleo-ansible/tripleo-heat-templates"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Service"},{"line_number":37,"context_line":"  The unit of deployment. A service will implement the necessary framework"},{"line_number":38,"context_line":"  interfaces in order to describe it\u0027s deployment."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7eb227cc_49723110","line":36,"in_reply_to":"7b675f46_d82396f2","updated":"2021-04-28 18:36:35.000000000","message":"i think \"service\" is a higher abstraction than a container. The service could be deployed as containers or rpm\u0027s, or just a shell script that does *something*.\n\nI do agree it\u0027s part of the deployment. Are you asking me to define that here, and which exactly? container?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"504e33fde94318d97a4596d5e248204c77c7b27e","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  Example: tripleoclient/tripleo-common/tripleo-ansible/tripleo-heat-templates"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Service"},{"line_number":37,"context_line":"  The unit of deployment. A service will implement the necessary framework"},{"line_number":38,"context_line":"  interfaces in order to describe it\u0027s deployment."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"ee9a5b21_975da47f","line":36,"in_reply_to":"7eb227cc_49723110","updated":"2021-04-29 13:34:44.000000000","message":"yes, but only if you think it worth adding that note about containers","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"a5bbf4ddab17331e6f951a126dda06eb4af01205","unresolved":true,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"  Example: tripleoclient/tripleo-common/tripleo-ansible/tripleo-heat-templates"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Service"},{"line_number":37,"context_line":"  The unit of deployment. A service will implement the necessary framework"},{"line_number":38,"context_line":"  interfaces in order to describe it\u0027s deployment."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"2635af99_9764052e","line":36,"in_reply_to":"a9f09b3f_12b8585c","updated":"2021-04-27 09:15:54.000000000","message":"we may want to mention updates and upgrades as the part of the framework as well, if not related to upgrading OS and managing hardware...","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":62,"context_line":"#. [DefinedInterfaces] TripleO will have a defined interface specification."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":65,"context_line":"      (partner/customer) interfaces."},{"line_number":66,"context_line":"   #. We will document the supported interfaces of the framework in the same"},{"line_number":67,"context_line":"      way that a code library or API would be documented."},{"line_number":68,"context_line":"   #. Individual services of the framework can be deployed and tested in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a0877c5_b49f9049","line":65,"range":{"start_line":65,"start_character":7,"end_line":65,"end_character":23},"updated":"2021-04-26 12:18:21.000000000","message":"Might be good getting a clear definition of those two terms? Like done for Service and Framework","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":true,"context_lines":[{"line_number":62,"context_line":"#. [DefinedInterfaces] TripleO will have a defined interface specification."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":65,"context_line":"      (partner/customer) interfaces."},{"line_number":66,"context_line":"   #. We will document the supported interfaces of the framework in the same"},{"line_number":67,"context_line":"      way that a code library or API would be documented."},{"line_number":68,"context_line":"   #. Individual services of the framework can be deployed and tested in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"24e714c7_b0343244","line":65,"range":{"start_line":65,"start_character":7,"end_line":65,"end_character":23},"in_reply_to":"1a0877c5_b49f9049","updated":"2021-04-26 15:21:19.000000000","message":"Done, and a changed the working to be \"third party integrations\"","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"95fdce1ceaf5c294feea105d5e8ff567dc85bf78","unresolved":false,"context_lines":[{"line_number":62,"context_line":"#. [DefinedInterfaces] TripleO will have a defined interface specification."},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"   #. We will document clear boundaries between internal and external"},{"line_number":65,"context_line":"      (partner/customer) interfaces."},{"line_number":66,"context_line":"   #. We will document the supported interfaces of the framework in the same"},{"line_number":67,"context_line":"      way that a code library or API would be documented."},{"line_number":68,"context_line":"   #. Individual services of the framework can be deployed and tested in"}],"source_content_type":"text/x-rst","patch_set":3,"id":"ca9abb94_b3e7b3de","line":65,"range":{"start_line":65,"start_character":7,"end_line":65,"end_character":23},"in_reply_to":"24e714c7_b0343244","updated":"2021-04-26 15:36:27.000000000","message":"Ack","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":68,"context_line":"   #. Individual services of the framework can be deployed and tested in"},{"line_number":69,"context_line":"      isolation from other services. Service dependencies are expressed per"},{"line_number":70,"context_line":"      service, but do not preclude using the framework to deploy a service"},{"line_number":71,"context_line":"      isolated from its dependencies. Whether or not that is successful or not"},{"line_number":72,"context_line":"      depends on how the service responds to missing dependencies, and that is"},{"line_number":73,"context_line":"      a behavior of the service and not the framework."},{"line_number":74,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"}],"source_content_type":"text/x-rst","patch_set":3,"id":"a1fd63cc_7d1d3c7e","line":71,"range":{"start_line":71,"start_character":38,"end_line":71,"end_character":78},"updated":"2021-04-26 12:18:21.000000000","message":"\"Whether it\u0027s successful or not\" sounds better.. ?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":false,"context_lines":[{"line_number":68,"context_line":"   #. Individual services of the framework can be deployed and tested in"},{"line_number":69,"context_line":"      isolation from other services. Service dependencies are expressed per"},{"line_number":70,"context_line":"      service, but do not preclude using the framework to deploy a service"},{"line_number":71,"context_line":"      isolated from its dependencies. Whether or not that is successful or not"},{"line_number":72,"context_line":"      depends on how the service responds to missing dependencies, and that is"},{"line_number":73,"context_line":"      a behavior of the service and not the framework."},{"line_number":74,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"}],"source_content_type":"text/x-rst","patch_set":3,"id":"475d4bb9_05c5a1cc","line":71,"range":{"start_line":71,"start_character":38,"end_line":71,"end_character":78},"in_reply_to":"a1fd63cc_7d1d3c7e","updated":"2021-04-26 15:21:19.000000000","message":"Done","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":72,"context_line":"      depends on how the service responds to missing dependencies, and that is"},{"line_number":73,"context_line":"      a behavior of the service and not the framework."},{"line_number":74,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":75,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":78,"context_line":"   and software configuration."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a52e95a_eb0c3117","line":75,"range":{"start_line":75,"start_character":31,"end_line":75,"end_character":47},"updated":"2021-04-26 12:18:21.000000000","message":"Are we talking about Validation Framework here? Or is it linked to some other validations (NOT in validations-common nor tripleo-validations)?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"fed21da92e76e379f693ba1571d6ed464a9b3d24","unresolved":true,"context_lines":[{"line_number":72,"context_line":"      depends on how the service responds to missing dependencies, and that is"},{"line_number":73,"context_line":"      a behavior of the service and not the framework."},{"line_number":74,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":75,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":78,"context_line":"   and software configuration."}],"source_content_type":"text/x-rst","patch_set":3,"id":"e565552d_c7542dbf","line":75,"range":{"start_line":75,"start_character":31,"end_line":75,"end_character":47},"in_reply_to":"2c5a49ba_b45faf5d","updated":"2021-04-28 18:36:35.000000000","message":"any ideas so that it can address what you\u0027re trying to cover?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":true,"context_lines":[{"line_number":72,"context_line":"      depends on how the service responds to missing dependencies, and that is"},{"line_number":73,"context_line":"      a behavior of the service and not the framework."},{"line_number":74,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":75,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":78,"context_line":"   and software configuration."}],"source_content_type":"text/x-rst","patch_set":3,"id":"8e635681_0c1bfc9c","line":75,"range":{"start_line":75,"start_character":31,"end_line":75,"end_character":47},"in_reply_to":"3a52e95a_eb0c3117","updated":"2021-04-26 15:21:19.000000000","message":"specifically, no. this is just saying the framework will have an interface for executing validations.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"95fdce1ceaf5c294feea105d5e8ff567dc85bf78","unresolved":true,"context_lines":[{"line_number":72,"context_line":"      depends on how the service responds to missing dependencies, and that is"},{"line_number":73,"context_line":"      a behavior of the service and not the framework."},{"line_number":74,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":75,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":78,"context_line":"   and software configuration."}],"source_content_type":"text/x-rst","patch_set":3,"id":"2c5a49ba_b45faf5d","line":75,"range":{"start_line":75,"start_character":31,"end_line":75,"end_character":47},"in_reply_to":"8e635681_0c1bfc9c","updated":"2021-04-26 15:36:27.000000000","message":"ok. Maybe a \"better\" wording to show this off?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"9a3a14917a772cce2d1c08cdf5bbd5efce3ba05e","unresolved":true,"context_lines":[{"line_number":88,"context_line":"   #. The developer experience is such that it can easily be run in"},{"line_number":89,"context_line":"      isolation on developer workstations"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"#. [DeploymentToolingScope] The deployment tool has a defined scope"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"   #. Data collection tool."},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"14dbc603_3be21522","line":91,"range":{"start_line":91,"start_character":4,"end_line":91,"end_character":26},"updated":"2021-04-26 12:58:21.000000000","message":"We must take Security into account at some point. Not 100% about the best place to point this topic, but we must ensure the tooling is secure enough, and allows secure configurations to be done by default - It\u0027s between the tooling and the way services are deployed.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":true,"context_lines":[{"line_number":88,"context_line":"   #. The developer experience is such that it can easily be run in"},{"line_number":89,"context_line":"      isolation on developer workstations"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"#. [DeploymentToolingScope] The deployment tool has a defined scope"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"   #. Data collection tool."},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dcb9b472_d448e0ac","line":91,"range":{"start_line":91,"start_character":4,"end_line":91,"end_character":26},"in_reply_to":"14dbc603_3be21522","updated":"2021-04-26 15:21:19.000000000","message":"I think we should focus on the security of the framework. Can you come up with a principle to add for that? I will add it here.\n\nIndividual services will be responsible for deploying and configuring their services in a secure fashion. Certainly the framework will need to support whatever deployment interface is necessary to allow that.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"95fdce1ceaf5c294feea105d5e8ff567dc85bf78","unresolved":true,"context_lines":[{"line_number":88,"context_line":"   #. The developer experience is such that it can easily be run in"},{"line_number":89,"context_line":"      isolation on developer workstations"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"#. [DeploymentToolingScope] The deployment tool has a defined scope"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"   #. Data collection tool."},{"line_number":94,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3a7653ec_3fa38781","line":91,"range":{"start_line":91,"start_character":4,"end_line":91,"end_character":26},"in_reply_to":"dcb9b472_d448e0ac","updated":"2021-04-26 15:36:27.000000000","message":"I\u0027ll give some thoughts and try to involve Security for the proper wording and scoping.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"      #. Executes commands related to “configuration” of a service"},{"line_number":111,"context_line":"         Example: Configure OpenStack AZ\u0027s, Neutron Networks."},{"line_number":112,"context_line":"      #. Isolated run time that is invoked independently by the orchestration tool"},{"line_number":113,"context_line":"      #. Single execution state management"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"         #. Input is configuration data/tasks/etc"}],"source_content_type":"text/x-rst","patch_set":3,"id":"85510ed5_be8088fe","line":112,"range":{"start_line":112,"start_character":18,"end_line":112,"end_character":26},"updated":"2021-04-26 12:18:21.000000000","message":"wondering if there\u0027s not something more accurate. \"action\" maybe? It currently sounds too close to \"runtime\" imho.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"95fdce1ceaf5c294feea105d5e8ff567dc85bf78","unresolved":true,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"      #. Executes commands related to “configuration” of a service"},{"line_number":111,"context_line":"         Example: Configure OpenStack AZ\u0027s, Neutron Networks."},{"line_number":112,"context_line":"      #. Isolated run time that is invoked independently by the orchestration tool"},{"line_number":113,"context_line":"      #. Single execution state management"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"         #. Input is configuration data/tasks/etc"}],"source_content_type":"text/x-rst","patch_set":3,"id":"c3fca23d_3bd1fde4","line":112,"range":{"start_line":112,"start_character":18,"end_line":112,"end_character":26},"in_reply_to":"3e4d7c4e_3ae8a215","updated":"2021-04-26 15:36:27.000000000","message":"\"execution\" sounds better indeed!","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":true,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"      #. Executes commands related to “configuration” of a service"},{"line_number":111,"context_line":"         Example: Configure OpenStack AZ\u0027s, Neutron Networks."},{"line_number":112,"context_line":"      #. Isolated run time that is invoked independently by the orchestration tool"},{"line_number":113,"context_line":"      #. Single execution state management"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"         #. Input is configuration data/tasks/etc"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3e4d7c4e_3ae8a215","line":112,"range":{"start_line":112,"start_character":18,"end_line":112,"end_character":26},"in_reply_to":"85510ed5_be8088fe","updated":"2021-04-26 15:21:19.000000000","message":"execution? let me know what naming you want.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"fed21da92e76e379f693ba1571d6ed464a9b3d24","unresolved":false,"context_lines":[{"line_number":109,"context_line":""},{"line_number":110,"context_line":"      #. Executes commands related to “configuration” of a service"},{"line_number":111,"context_line":"         Example: Configure OpenStack AZ\u0027s, Neutron Networks."},{"line_number":112,"context_line":"      #. Isolated run time that is invoked independently by the orchestration tool"},{"line_number":113,"context_line":"      #. Single execution state management"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"         #. Input is configuration data/tasks/etc"}],"source_content_type":"text/x-rst","patch_set":3,"id":"d7c172a6_7bc36bdd","line":112,"range":{"start_line":112,"start_character":18,"end_line":112,"end_character":26},"in_reply_to":"c3fca23d_3bd1fde4","updated":"2021-04-28 18:36:35.000000000","message":"Done","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":167,"context_line":"   Other than using a given container image to start a container, the framework"},{"line_number":168,"context_line":"   does not encompass common container image management to include:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"}],"source_content_type":"text/x-rst","patch_set":3,"id":"45b7fa19_3e7793d3","line":170,"range":{"start_line":170,"start_character":6,"end_line":170,"end_character":31},"updated":"2021-04-26 12:18:21.000000000","message":"So who will be responsible for TCIB? It\u0027s a tool producing data (container images) used by the framework... I get it\u0027s \"one\" tool, as in \"there are other possibilities\", but it\u0027s the official one. Shouldn\u0027t we keep it in the tripleo scope?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":true,"context_lines":[{"line_number":167,"context_line":"   Other than using a given container image to start a container, the framework"},{"line_number":168,"context_line":"   does not encompass common container image management to include:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"}],"source_content_type":"text/x-rst","patch_set":3,"id":"8f7510a2_b3c0343b","line":170,"range":{"start_line":170,"start_character":6,"end_line":170,"end_character":31},"in_reply_to":"45b7fa19_3e7793d3","updated":"2021-04-26 15:21:19.000000000","message":"see my reply to bogdan. It\u0027s outside the scope of the framework, still in the scope of our project team.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"fed21da92e76e379f693ba1571d6ed464a9b3d24","unresolved":false,"context_lines":[{"line_number":167,"context_line":"   Other than using a given container image to start a container, the framework"},{"line_number":168,"context_line":"   does not encompass common container image management to include:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bca1bd1e_e78e85d7","line":170,"range":{"start_line":170,"start_character":6,"end_line":170,"end_character":31},"in_reply_to":"66fbb46b_7924a87a","updated":"2021-04-28 18:36:35.000000000","message":"I see rpm and container image management very similarly in fact. In hindsight, we (tripleo) should have never gotten into container image management just as we are not managing rpm repos or metadata, or deltarpms or mirrors or proxies. Best to leave it to tools specially built for those purposes (satellite, etc).","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"95fdce1ceaf5c294feea105d5e8ff567dc85bf78","unresolved":false,"context_lines":[{"line_number":167,"context_line":"   Other than using a given container image to start a container, the framework"},{"line_number":168,"context_line":"   does not encompass common container image management to include:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"}],"source_content_type":"text/x-rst","patch_set":3,"id":"abf7945e_e63e8aec","line":170,"range":{"start_line":170,"start_character":6,"end_line":170,"end_character":31},"in_reply_to":"8f7510a2_b3c0343b","updated":"2021-04-26 15:36:27.000000000","message":"Ack","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"0bcd39705e929298eb52f1bff0e1d4fa570c9ae1","unresolved":false,"context_lines":[{"line_number":167,"context_line":"   Other than using a given container image to start a container, the framework"},{"line_number":168,"context_line":"   does not encompass common container image management to include:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"}],"source_content_type":"text/x-rst","patch_set":3,"id":"66fbb46b_7924a87a","line":170,"range":{"start_line":170,"start_character":6,"end_line":170,"end_character":31},"in_reply_to":"abf7945e_e63e8aec","updated":"2021-04-27 09:06:17.000000000","message":"perhaps the crux here is that unlike to software packages, where is nothing to manage but install/upgrade/remove, containers *do* require advanced configuration, like when updating or upgrading a deployed environment. That subtle difference still makes me thinking of containers lifecycle as a part of software-config framework.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"504e33fde94318d97a4596d5e248204c77c7b27e","unresolved":false,"context_lines":[{"line_number":167,"context_line":"   Other than using a given container image to start a container, the framework"},{"line_number":168,"context_line":"   does not encompass common container image management to include:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b6a07dc1_acfdf8fa","line":170,"range":{"start_line":170,"start_character":6,"end_line":170,"end_character":31},"in_reply_to":"bca1bd1e_e78e85d7","updated":"2021-04-29 13:34:44.000000000","message":"ack","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":168,"context_line":"   does not encompass common container image management to include:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"00ab9dac_0269ecbc","line":171,"range":{"start_line":171,"start_character":6,"end_line":171,"end_character":31},"updated":"2021-04-26 12:18:21.000000000","message":"Not sure if we really want this out - on-the-fly patching is something dev will leverage on a daily basis... ?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":true,"context_lines":[{"line_number":168,"context_line":"   does not encompass common container image management to include:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"711e36a3_30cf723e","line":171,"range":{"start_line":171,"start_character":6,"end_line":171,"end_character":31},"in_reply_to":"00ab9dac_0269ecbc","updated":"2021-04-26 15:21:19.000000000","message":"We do want it out of the framework itself. It would be implemented as a service that uses the framework.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"95fdce1ceaf5c294feea105d5e8ff567dc85bf78","unresolved":true,"context_lines":[{"line_number":168,"context_line":"   does not encompass common container image management to include:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"819424f4_50636d6e","line":171,"range":{"start_line":171,"start_character":6,"end_line":171,"end_character":31},"in_reply_to":"711e36a3_30cf723e","updated":"2021-04-26 15:36:27.000000000","message":"sounds fine! Have to shift my mind and move the \"cursor\" a bit, but yeah, I agree with that!","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"fed21da92e76e379f693ba1571d6ed464a9b3d24","unresolved":false,"context_lines":[{"line_number":168,"context_line":"   does not encompass common container image management to include:"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"dff31178_30b4b4a1","line":171,"range":{"start_line":171,"start_character":6,"end_line":171,"end_character":31},"in_reply_to":"819424f4_50636d6e","updated":"2021-04-28 18:36:35.000000000","message":"Done","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5d1df74b_cff5dfb0","line":172,"range":{"start_line":172,"start_character":6,"end_line":172,"end_character":43},"updated":"2021-04-26 12:18:21.000000000","message":"Don\u0027t we consider the \"image-serve\" as part of the services deployed by the framework?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"95fdce1ceaf5c294feea105d5e8ff567dc85bf78","unresolved":false,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"4b1f5c8e_ba48304f","line":172,"range":{"start_line":172,"start_character":6,"end_line":172,"end_character":43},"in_reply_to":"5672b24b_ca2bb469","updated":"2021-04-26 15:36:27.000000000","message":"Ack","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":true,"context_lines":[{"line_number":169,"context_line":""},{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5672b24b_ca2bb469","line":172,"range":{"start_line":172,"start_character":6,"end_line":172,"end_character":43},"in_reply_to":"5d1df74b_cff5dfb0","updated":"2021-04-26 15:21:19.000000000","message":"we do. it\u0027s a service. not the framework itself.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"},{"line_number":176,"context_line":"   framework during deployment are expected to be implemented as services."}],"source_content_type":"text/x-rst","patch_set":3,"id":"c262c5ea_5fe6b9e2","line":173,"range":{"start_line":173,"start_character":6,"end_line":173,"end_character":30},"updated":"2021-04-26 12:18:21.000000000","message":"Agree with this point though - caching is more an infra thing.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":false,"context_lines":[{"line_number":170,"context_line":"   #. Building container images"},{"line_number":171,"context_line":"   #. Patching container images"},{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"},{"line_number":176,"context_line":"   framework during deployment are expected to be implemented as services."}],"source_content_type":"text/x-rst","patch_set":3,"id":"b92c645f_ba242ec7","line":173,"range":{"start_line":173,"start_character":6,"end_line":173,"end_character":30},"in_reply_to":"c262c5ea_5fe6b9e2","updated":"2021-04-26 15:21:19.000000000","message":"Done","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"8a8bb28c9b02dec3f4b07ddba624ed13c25ac275","unresolved":true,"context_lines":[{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"},{"line_number":176,"context_line":"   framework during deployment are expected to be implemented as services."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Alternatives \u0026 History"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"b542d531_b141b205","line":176,"range":{"start_line":175,"start_character":3,"end_line":176,"end_character":74},"updated":"2021-04-26 12:18:21.000000000","message":"soooo....... image-serve (and TCIB I\u0027d say) are contained in this sentence, aren\u0027t they?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"95fdce1ceaf5c294feea105d5e8ff567dc85bf78","unresolved":false,"context_lines":[{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"},{"line_number":176,"context_line":"   framework during deployment are expected to be implemented as services."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Alternatives \u0026 History"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"92c4a448_b57921fd","line":176,"range":{"start_line":175,"start_character":3,"end_line":176,"end_character":74},"in_reply_to":"3b7aaed6_05e8ea60","updated":"2021-04-26 15:36:27.000000000","message":"Ack","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"fed21da92e76e379f693ba1571d6ed464a9b3d24","unresolved":false,"context_lines":[{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"},{"line_number":176,"context_line":"   framework during deployment are expected to be implemented as services."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Alternatives \u0026 History"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"8d6975fa_ed841157","line":176,"range":{"start_line":175,"start_character":3,"end_line":176,"end_character":74},"in_reply_to":"594373c4_8e40a214","updated":"2021-04-28 18:36:35.000000000","message":"are you asking for an edit or something I can clarify further?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"504e33fde94318d97a4596d5e248204c77c7b27e","unresolved":false,"context_lines":[{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"},{"line_number":176,"context_line":"   framework during deployment are expected to be implemented as services."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Alternatives \u0026 History"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"bb5211c2_a14947cc","line":176,"range":{"start_line":175,"start_character":3,"end_line":176,"end_character":74},"in_reply_to":"8d6975fa_ed841157","updated":"2021-04-29 13:34:44.000000000","message":"yes, proposing to add this please?","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"7902aa738837f5769d9a27a3b38d7b7feed79515","unresolved":false,"context_lines":[{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"},{"line_number":176,"context_line":"   framework during deployment are expected to be implemented as services."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Alternatives \u0026 History"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"594373c4_8e40a214","line":176,"range":{"start_line":175,"start_character":3,"end_line":176,"end_character":74},"in_reply_to":"92c4a448_b57921fd","updated":"2021-04-27 09:13:10.000000000","message":"...for container image management and containers runtime-related","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"23e7d180be5c121ea6655792dc52be9da5165990","unresolved":true,"context_lines":[{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"},{"line_number":176,"context_line":"   framework during deployment are expected to be implemented as services."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Alternatives \u0026 History"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3b7aaed6_05e8ea60","line":176,"range":{"start_line":175,"start_character":3,"end_line":176,"end_character":74},"in_reply_to":"b542d531_b141b205","updated":"2021-04-26 15:21:19.000000000","message":"yes. as services. not the framework.","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"0596ead645bd3305fe0ad36a3c64147c08a650d3","unresolved":false,"context_lines":[{"line_number":172,"context_line":"   #. Serving or mirroring container images"},{"line_number":173,"context_line":"   #. Caching container images"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"   Specific tools for container image management that need to leverage the"},{"line_number":176,"context_line":"   framework during deployment are expected to be implemented as services."},{"line_number":177,"context_line":""},{"line_number":178,"context_line":"Alternatives \u0026 History"},{"line_number":179,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9067209e_844dca17","line":176,"range":{"start_line":175,"start_character":3,"end_line":176,"end_character":74},"in_reply_to":"bb5211c2_a14947cc","updated":"2021-04-29 21:01:28.000000000","message":"ok, added","commit_id":"bb2f2c7f1b764a3da3d60e40c7a63b92a71eedeb"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"74bda3871394287634f5d498b18fbdb4cbd0d402","unresolved":true,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  Example: Keystone, MariaDB, RabbitMQ"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Third party integrations"},{"line_number":49,"context_line":"  Service implementations that are developed and maintained outside of the"},{"line_number":50,"context_line":"  TripleO project. These are often implemented by vendors aiming to add support"},{"line_number":51,"context_line":"  for their products within TripleO."}],"source_content_type":"text/x-rst","patch_set":4,"id":"fd2f3094_969b5e7d","line":48,"updated":"2021-04-27 09:21:09.000000000","message":"Please also clarify that the supporting tooling is not in the framework. Neither the external one, like podman or parallel cloud migration, nor one in the TripleO project scope - image-server, TCIB, Nova-less deploy.","commit_id":"7e9d08e17e2a2e0803148abc63bf8eac9e37fff8"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"2b87d4c0189d28ed63eb31a1d155b81e42304fa5","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  Example: Keystone, MariaDB, RabbitMQ"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Third party integrations"},{"line_number":49,"context_line":"  Service implementations that are developed and maintained outside of the"},{"line_number":50,"context_line":"  TripleO project. These are often implemented by vendors aiming to add support"},{"line_number":51,"context_line":"  for their products within TripleO."}],"source_content_type":"text/x-rst","patch_set":4,"id":"5bc4bad0_8585923b","line":48,"in_reply_to":"7cace6cb_44c2d542","updated":"2021-04-28 18:40:31.000000000","message":"Done","commit_id":"7e9d08e17e2a2e0803148abc63bf8eac9e37fff8"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"3aec82fc1ee9a6f657942264d2962d1199904c4d","unresolved":true,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  Example: Keystone, MariaDB, RabbitMQ"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Third party integrations"},{"line_number":49,"context_line":"  Service implementations that are developed and maintained outside of the"},{"line_number":50,"context_line":"  TripleO project. These are often implemented by vendors aiming to add support"},{"line_number":51,"context_line":"  for their products within TripleO."}],"source_content_type":"text/x-rst","patch_set":4,"id":"7cace6cb_44c2d542","line":48,"in_reply_to":"fd2f3094_969b5e7d","updated":"2021-04-28 09:04:35.000000000","message":"This perhaps belongs in Non-principles below.","commit_id":"7e9d08e17e2a2e0803148abc63bf8eac9e37fff8"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"3aec82fc1ee9a6f657942264d2962d1199904c4d","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  Example: Cinder drivers, Neutron plugins"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"First Principles"},{"line_number":56,"context_line":"----------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. [UndercloudMigrate] No Undercloud Left Behind"}],"source_content_type":"text/x-rst","patch_set":4,"id":"d37d85c9_d8ef1084","line":55,"updated":"2021-04-28 09:04:35.000000000","message":"Perhaps something worth adding somewhere is a security principle which should apply, and that is to deploy the smallest amount of things required to meet the requirements of a functional system. This is how we reduce the attack surface, but also how we reduce the potential for system conflicts.","commit_id":"7e9d08e17e2a2e0803148abc63bf8eac9e37fff8"},{"author":{"_account_id":28223,"name":"Cedric Jeanneret","display_name":"cjeanner (Tengu)","email":"cjeanner@redhat.com","username":"cjeanner"},"change_message_id":"fb15c909ab16b0462b9f2a7840e40f12749a9368","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  Example: Cinder drivers, Neutron plugins"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"First Principles"},{"line_number":56,"context_line":"----------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. [UndercloudMigrate] No Undercloud Left Behind"}],"source_content_type":"text/x-rst","patch_set":4,"id":"130c1268_d7190b46","line":55,"in_reply_to":"c8cae0ad_e33d956b","updated":"2021-04-29 08:46:25.000000000","message":"Indeed - I\u0027m also trying to involve Security ppl for that specific point","commit_id":"7e9d08e17e2a2e0803148abc63bf8eac9e37fff8"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"2b87d4c0189d28ed63eb31a1d155b81e42304fa5","unresolved":true,"context_lines":[{"line_number":52,"context_line":""},{"line_number":53,"context_line":"  Example: Cinder drivers, Neutron plugins"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"First Principles"},{"line_number":56,"context_line":"----------------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"#. [UndercloudMigrate] No Undercloud Left Behind"}],"source_content_type":"text/x-rst","patch_set":4,"id":"c8cae0ad_e33d956b","line":55,"in_reply_to":"d37d85c9_d8ef1084","updated":"2021-04-28 18:40:31.000000000","message":"Cedric had an earlier comment to the same effect and I believe he is working on something to add.","commit_id":"7e9d08e17e2a2e0803148abc63bf8eac9e37fff8"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"885f1ef97e39d9966a148df191261e5d422a650f","unresolved":true,"context_lines":[{"line_number":142,"context_line":"   the framework should be quick and simple. Interfaces should be provided to"},{"line_number":143,"context_line":"   enable debuggability of service failures."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"#. [BaseOSBootstrap] TripleO can start from a base OS and go to full cloud"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"   #. It should be able to start at any point after base OS, but should be able"},{"line_number":148,"context_line":"      to handle the initial OS bootstrap"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"#. [PerServiceManagement] TripleO can manage individual services in isolation,"},{"line_number":151,"context_line":"   and express and rely on dependencies and ordering between services."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9d329a39_d027430e","line":148,"range":{"start_line":145,"start_character":0,"end_line":148,"end_character":40},"updated":"2021-04-29 11:00:57.000000000","message":"This is the one that still bugs me a little bit.\n\nWe have \u0027HardwareSoftwareSeparation\u0027 which specifies that hardware bootstrapping is out of scope. It\u0027s not clear to me what exactly that means - are we talking about bootstrapping disk arrays and such there?\n\nTo me, base OS provisioning is something else that should be scoped as an independent tool too. The deployment framework should expect a base OS with certain properties (specific bridges pre-setup, specific hypervisor properties, etc). So that everything it deploys can just plug into that as a consistent interface. This also really helps us to decouple the two for testing and deployment.\n\nWe currently have a built-in provisioning system and a way of deploying over a pre-installed system. I\u0027m thinking we could have a single interface which always assumes that it\u0027s pre-deployed... we don\u0027t care if it\u0027s metalsmith, foreman, satellite, or \u003cinsert homegrown provisioning system here\u003e.\n\nWhat we expect from the pre-provisioned base OS should be well defined and treated like any other API. This really helps us to scope our decisions properly about what we do in the deployment framework, how we handle changes in that interface for upgrades, etc.","commit_id":"3b542b8e921a6d042a07a28ce0e4ab62242f3cc9"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"0596ead645bd3305fe0ad36a3c64147c08a650d3","unresolved":true,"context_lines":[{"line_number":142,"context_line":"   the framework should be quick and simple. Interfaces should be provided to"},{"line_number":143,"context_line":"   enable debuggability of service failures."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"#. [BaseOSBootstrap] TripleO can start from a base OS and go to full cloud"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"   #. It should be able to start at any point after base OS, but should be able"},{"line_number":148,"context_line":"      to handle the initial OS bootstrap"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"#. [PerServiceManagement] TripleO can manage individual services in isolation,"},{"line_number":151,"context_line":"   and express and rely on dependencies and ordering between services."}],"source_content_type":"text/x-rst","patch_set":6,"id":"e635569a_04dc3d26","line":148,"range":{"start_line":145,"start_character":0,"end_line":148,"end_character":40},"in_reply_to":"791df4db_9ec25609","updated":"2021-04-29 21:01:28.000000000","message":"This is meant to mean that TripleO can bootstrap the cloud deployment starting with a base OS. There aren\u0027t other areas where we talk about hardware bootstrapping.\n\nHardwareSoftwareSeparation refers to separation from  OS provisioning (aka, what Ironic does). Can we fine tune that wording? Technically, it\u0027s all software because we aren\u0027t automating robots to rack hardware or plug in gear. However, we do want a clear handoff from the OS to the services we will deploy on top of the OS. That way however the OS got there can be abstracted (Ironic/libvirt/cloud/etc). Perhaps HardwareSoftwareSeparation would be better stated as OperatingSystemSeparation?\n\nI would clarify it further as saying that the framework expects as base os, minimal os, or cloud image. we should stay away from specifics, but we could give examples (rhel or centos cloud image, rhel minimal, etc).\n\nAnything beyond what you get with the defaults from those images or their installers, needs to be implemented as a service.\n\nYour comments about assuming everything is predeployed is exactly what was done in wallaby. The integration with metalsmith via our CLI lives under the TripleO project, but I don\u0027t consider that as part of the deployment framework that we are defining here.","commit_id":"3b542b8e921a6d042a07a28ce0e4ab62242f3cc9"},{"author":{"_account_id":6926,"name":"Bogdan Dobrelya","email":"bdobreli@redhat.com","username":"bogdando"},"change_message_id":"3dc24cfaab87e17e2186863633145a484606a5ff","unresolved":true,"context_lines":[{"line_number":142,"context_line":"   the framework should be quick and simple. Interfaces should be provided to"},{"line_number":143,"context_line":"   enable debuggability of service failures."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"#. [BaseOSBootstrap] TripleO can start from a base OS and go to full cloud"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"   #. It should be able to start at any point after base OS, but should be able"},{"line_number":148,"context_line":"      to handle the initial OS bootstrap"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"#. [PerServiceManagement] TripleO can manage individual services in isolation,"},{"line_number":151,"context_line":"   and express and rely on dependencies and ordering between services."}],"source_content_type":"text/x-rst","patch_set":6,"id":"791df4db_9ec25609","line":148,"range":{"start_line":145,"start_character":0,"end_line":148,"end_character":40},"in_reply_to":"9d329a39_d027430e","updated":"2021-04-29 13:38:20.000000000","message":"maybe it should be changed to initial setup of required packages. And maybe repos as well (but that\u0027s perhaps belongs to provisioning of HW?)","commit_id":"3b542b8e921a6d042a07a28ce0e4ab62242f3cc9"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"66042a82e9481d9f99362d79830a263f57419a5d","unresolved":true,"context_lines":[{"line_number":80,"context_line":"      a behavior of the service and not the framework."},{"line_number":81,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":82,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":85,"context_line":"   and software configuration."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":88,"context_line":"      deployment."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"7b55a531_bad01c60","line":88,"range":{"start_line":83,"start_character":0,"end_line":88,"end_character":17},"updated":"2021-04-30 10:22:48.000000000","message":"I feel like this needs some expanding... something like:\n\n\n#. [ProvisioningSeparation] Separation between hardware provisioning,\n   base OS provisioning and software configuration.\n\n   #. Baremetal configuration, network configuration and base operating system\n      provisioning is decoupled from the software deployment.\n   #. The software deployment will have a defined set of minimal requirements\n      which are expected to be in-place before it begins the software deployment.\n      Examples of requirements include specific linux distributions, specific\n      linux distribution versions, password-less access via ssh, password-less\n      sudo access, a list of pre-configured network bridges, etc.","commit_id":"d69bf735799eb09587b320d08b8bd20e0013c478"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"fa2d98b87682d791b21188c8342a73d6e4ecbebf","unresolved":true,"context_lines":[{"line_number":80,"context_line":"      a behavior of the service and not the framework."},{"line_number":81,"context_line":"   #. The interface will offer update and upgrade tasks as first class citizens"},{"line_number":82,"context_line":"   #. The interface will offer validation tasks as first class citizens"},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":85,"context_line":"   and software configuration."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":88,"context_line":"      deployment."},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":91,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"31b0c88f_30d46493","line":88,"range":{"start_line":83,"start_character":0,"end_line":88,"end_character":17},"in_reply_to":"7b55a531_bad01c60","updated":"2021-05-05 12:27:42.000000000","message":"i like it! added.","commit_id":"d69bf735799eb09587b320d08b8bd20e0013c478"},{"author":{"_account_id":6816,"name":"Jesse Pretorius","email":"jesse@odyssey4.me","username":"jesse-pretorius"},"change_message_id":"2ab829c6c050c4126437b9f22d4eb20489b9436f","unresolved":true,"context_lines":[{"line_number":95,"context_line":"      #. Password-less sudo access"},{"line_number":96,"context_line":"      #. Pre-configured network bridges"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":99,"context_line":"   and software configuration."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":102,"context_line":"      deployment."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"40e8df93_83be15ad","line":102,"range":{"start_line":98,"start_character":0,"end_line":102,"end_character":17},"updated":"2021-05-05 13:37:37.000000000","message":"This is kinda repeating the first part of OSProvisioningSeparation. Was HardwareSoftwareSeparation meant to have been removed when OSProvisioningSeparation was added?","commit_id":"2da25accc9d6b14706e2fac382515d048d402d55"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"9fcdccb756507d62f179defabbb0868cff791e6d","unresolved":true,"context_lines":[{"line_number":95,"context_line":"      #. Password-less sudo access"},{"line_number":96,"context_line":"      #. Pre-configured network bridges"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"#. [HardwareSoftwareSeparation] Separation between hardware provisioning"},{"line_number":99,"context_line":"   and software configuration."},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"   #. Baremetal and network management is decoupled from the software"},{"line_number":102,"context_line":"      deployment."},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"#. [PlatformAgnostic] Platform agnostic deployment tooling."},{"line_number":105,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"db0cfd37_e90cef86","line":102,"range":{"start_line":98,"start_character":0,"end_line":102,"end_character":17},"in_reply_to":"40e8df93_83be15ad","updated":"2021-05-05 23:42:32.000000000","message":"yes, i meant to remove it. will do so.","commit_id":"2da25accc9d6b14706e2fac382515d048d402d55"}]}
