)]}'
{"specs/2019.03/approved/containerization-2005527-containerized-ceph-deployment-and-provision.rst":[{"author":{"_account_id":7104,"name":"Curtis Collicutt","email":"curtis@serverascode.com","username":"serverascode"},"change_message_id":"d7095f82259cd9678420fe0209fe3554038b3027","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"This story will have 2 proposal solutions for ceph containerization."},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"Solution A: openstack-helm-infra"},{"line_number":83,"context_line":"--------------------------------"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"What will be implemented:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"dfbec78f_65a48b09","line":82,"range":{"start_line":82,"start_character":12,"end_line":82,"end_character":32},"updated":"2019-05-04 17:20:18.000000000","message":"Is openstack-helm-infra used in production or is it just used as part of the OSH testing process? I might just be confused as to how it\u0027s used by OSH.","commit_id":"fe8b342ba8f3e0d8a4cd814efff4caff34960038"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"7f2a4c06a9ea38e2f296026392493bf3bb586ec4","unresolved":false,"context_lines":[{"line_number":103,"context_line":"* The new system command to bring up ceph cluster and related services:"},{"line_number":104,"context_line":"  $ system application-upload stx-ceph helm-charts-manifest.tgz"},{"line_number":105,"context_line":"  $ system application-apply stx-ceph"},{"line_number":106,"context_line":"  We consider ceph as a special application although it is not suitable in"},{"line_number":107,"context_line":"  functionality."},{"line_number":108,"context_line":"* Add support for build-helm-charts.sh with ceph helm charts support."},{"line_number":109,"context_line":"* Adapt current puppet/ansible plugin to helm plugin to config manifest used by"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ffb9cba7_cd638b41","line":106,"range":{"start_line":106,"start_character":56,"end_line":106,"end_character":58},"updated":"2019-05-01 04:43:29.000000000","message":"Please clarify this comment","commit_id":"fe8b342ba8f3e0d8a4cd814efff4caff34960038"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"f7e97d8953bc3a90b179d5f9d15ca73df9beb442","unresolved":false,"context_lines":[{"line_number":182,"context_line":"work."},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"So solution B: rook seems a more ideal choice after v1.0 which support csi, but"},{"line_number":185,"context_line":"discussion is needed to finalize."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Alternatives"},{"line_number":188,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9fb8cfa7_3853a319","line":185,"range":{"start_line":185,"start_character":32,"end_line":185,"end_character":33},"updated":"2019-06-25 17:08:42.000000000","message":"We need to make a recommendation here. At the PTG we discussed that ROOK was the preferred option.","commit_id":"bbe137e15a1020a6493e3000c564a14e89b9b793"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"f7e97d8953bc3a90b179d5f9d15ca73df9beb442","unresolved":false,"context_lines":[{"line_number":184,"context_line":"So solution B: rook seems a more ideal choice after v1.0 which support csi, but"},{"line_number":185,"context_line":"discussion is needed to finalize."},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"Alternatives"},{"line_number":188,"context_line":"------------"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9fb8cfa7_98416f3c","line":187,"range":{"start_line":187,"start_character":0,"end_line":187,"end_character":12},"updated":"2019-06-25 17:08:42.000000000","message":"If Rook is the recommended option, you could move the openstack-hlem-infra option here","commit_id":"bbe137e15a1020a6493e3000c564a14e89b9b793"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"f7e97d8953bc3a90b179d5f9d15ca73df9beb442","unresolved":false,"context_lines":[{"line_number":189,"context_line":""},{"line_number":190,"context_line":"None"},{"line_number":191,"context_line":""},{"line_number":192,"context_line":"Data model impact"},{"line_number":193,"context_line":"-----------------"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9fb8cfa7_b83eb3b5","line":192,"range":{"start_line":192,"start_character":11,"end_line":192,"end_character":17},"updated":"2019-06-25 17:08:42.000000000","message":"What would be the interactions with sysinv ?","commit_id":"bbe137e15a1020a6493e3000c564a14e89b9b793"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"f7e97d8953bc3a90b179d5f9d15ca73df9beb442","unresolved":false,"context_lines":[{"line_number":216,"context_line":"Suppose no impact. For networking, ceph and related container uses host native"},{"line_number":217,"context_line":"network."},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"Other deployer impact"},{"line_number":220,"context_line":"---------------------"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"* Containerized ceph deployment should be used instead of native ceph deployed"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9fb8cfa7_387c0382","line":219,"range":{"start_line":219,"start_character":15,"end_line":219,"end_character":21},"updated":"2019-06-25 17:08:42.000000000","message":"I think we need to document here the interactions with sysinv. As an example, how would disks be reserved and fed into the rook yaml\u0027s for OSD\u0027s, journals etc.","commit_id":"bbe137e15a1020a6493e3000c564a14e89b9b793"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"f7e97d8953bc3a90b179d5f9d15ca73df9beb442","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"None"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"Upgrade impact"},{"line_number":232,"context_line":"--------------"},{"line_number":233,"context_line":""},{"line_number":234,"context_line":"None"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9fb8cfa7_5860d7cf","line":231,"range":{"start_line":231,"start_character":8,"end_line":231,"end_character":14},"updated":"2019-06-25 17:08:42.000000000","message":"We will need a strategy here on how a system running R2 can upgrade to a newer release without reprovisioning","commit_id":"bbe137e15a1020a6493e3000c564a14e89b9b793"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"f7e97d8953bc3a90b179d5f9d15ca73df9beb442","unresolved":false,"context_lines":[{"line_number":253,"context_line":"stx-manifest, stx-tools, stx-config, stx-integ, stx-upstream"},{"line_number":254,"context_line":""},{"line_number":255,"context_line":""},{"line_number":256,"context_line":"Work Items"},{"line_number":257,"context_line":"----------"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":"Work items or tasks -- break the feature up into the things that need to be"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9fb8cfa7_b8ac73ed","line":256,"range":{"start_line":256,"start_character":5,"end_line":256,"end_character":10},"updated":"2019-06-25 17:08:42.000000000","message":"We will to break this down into smaller work items. It is unlikely this can fit in R3 due to the short timelines so what prep content could be done ?","commit_id":"bbe137e15a1020a6493e3000c564a14e89b9b793"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"5f89f8318a60c2b532426164a2b7d367ba9f6733","unresolved":false,"context_lines":[{"line_number":72,"context_line":"* Dynamic adjust configurations after ceph deploy completed."},{"line_number":73,"context_line":"* Kubernetes applications (e,g, openstack) need access persistent volume with"},{"line_number":74,"context_line":"  RWO/RWX/ROX modes."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Proposed change"},{"line_number":78,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7faddb67_63b527cd","line":75,"updated":"2019-07-10 02:07:26.000000000","message":"I think there is an additional case is also as the storage backend for OpenStack projects(like Cinder, Manila, Glance), right? We cloud provision containerized persistent storage to Kubernetes applications and OpenStack both.","commit_id":"08138dae8b7e4929cb2b68ef225a71b15c17f8f4"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"d2a763f850725d21206eed644efcf25f0c54556d","unresolved":false,"context_lines":[{"line_number":72,"context_line":"* Dynamic adjust configurations after ceph deploy completed."},{"line_number":73,"context_line":"* Kubernetes applications (e,g, openstack) need access persistent volume with"},{"line_number":74,"context_line":"  RWO/RWX/ROX modes."},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"Proposed change"},{"line_number":78,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7faddb67_500c2bec","line":75,"in_reply_to":"7faddb67_63b527cd","updated":"2019-07-15 15:40:55.000000000","message":"Done","commit_id":"08138dae8b7e4929cb2b68ef225a71b15c17f8f4"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"5f89f8318a60c2b532426164a2b7d367ba9f6733","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Advantages:"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"* Rook support ceph storage backend natively, it turns storage software into"},{"line_number":100,"context_line":"  self-managing, self-scaling and self-healing storage services via rook"},{"line_number":101,"context_line":"  operator, no need work for high available support."},{"line_number":102,"context_line":"* Good scalability, other storage backends (e,g, NFS, EdgeFS) can also be"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7faddb67_83a143ac","line":99,"range":{"start_line":99,"start_character":7,"end_line":99,"end_character":14},"updated":"2019-07-10 02:07:26.000000000","message":"supports","commit_id":"08138dae8b7e4929cb2b68ef225a71b15c17f8f4"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"d2a763f850725d21206eed644efcf25f0c54556d","unresolved":false,"context_lines":[{"line_number":96,"context_line":""},{"line_number":97,"context_line":"Advantages:"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"* Rook support ceph storage backend natively, it turns storage software into"},{"line_number":100,"context_line":"  self-managing, self-scaling and self-healing storage services via rook"},{"line_number":101,"context_line":"  operator, no need work for high available support."},{"line_number":102,"context_line":"* Good scalability, other storage backends (e,g, NFS, EdgeFS) can also be"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7faddb67_f00c37ed","line":99,"range":{"start_line":99,"start_character":7,"end_line":99,"end_character":14},"in_reply_to":"7faddb67_83a143ac","updated":"2019-07-15 15:40:55.000000000","message":"Done","commit_id":"08138dae8b7e4929cb2b68ef225a71b15c17f8f4"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"5f89f8318a60c2b532426164a2b7d367ba9f6733","unresolved":false,"context_lines":[{"line_number":101,"context_line":"  operator, no need work for high available support."},{"line_number":102,"context_line":"* Good scalability, other storage backends (e,g, NFS, EdgeFS) can also be"},{"line_number":103,"context_line":"  supported."},{"line_number":104,"context_line":"* Rook community has more fork/star/watch compared with openstack-helm project,"},{"line_number":105,"context_line":"  and current ceph supported by rook is stable, rook also support ceph operator"},{"line_number":106,"context_line":"  helm chart."},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7faddb67_c3541bcd","line":104,"range":{"start_line":104,"start_character":56,"end_line":104,"end_character":70},"updated":"2019-07-10 02:07:26.000000000","message":"you mean openstak-helm-infra, right?","commit_id":"08138dae8b7e4929cb2b68ef225a71b15c17f8f4"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"d2a763f850725d21206eed644efcf25f0c54556d","unresolved":false,"context_lines":[{"line_number":101,"context_line":"  operator, no need work for high available support."},{"line_number":102,"context_line":"* Good scalability, other storage backends (e,g, NFS, EdgeFS) can also be"},{"line_number":103,"context_line":"  supported."},{"line_number":104,"context_line":"* Rook community has more fork/star/watch compared with openstack-helm project,"},{"line_number":105,"context_line":"  and current ceph supported by rook is stable, rook also support ceph operator"},{"line_number":106,"context_line":"  helm chart."},{"line_number":107,"context_line":""}],"source_content_type":"text/x-rst","patch_set":8,"id":"7faddb67_b0fa3fba","line":104,"range":{"start_line":104,"start_character":56,"end_line":104,"end_character":70},"in_reply_to":"7faddb67_c3541bcd","updated":"2019-07-15 15:40:55.000000000","message":"Done","commit_id":"08138dae8b7e4929cb2b68ef225a71b15c17f8f4"},{"author":{"_account_id":8846,"name":"Hao Wang","display_name":"Hao Wang","email":"sxmatch1986@gmail.com","username":"sxmatch"},"change_message_id":"5f89f8318a60c2b532426164a2b7d367ba9f6733","unresolved":false,"context_lines":[{"line_number":143,"context_line":"  etc)"},{"line_number":144,"context_line":"* Add new plugin: python-rookclient to adapt current puppet/ansible plugin to"},{"line_number":145,"context_line":"  container manifest used by rook for ceph deploy configurations."},{"line_number":146,"context_line":"* (optional) Add 2 helm chart as openstack charts: rook-operator (ceph-csi"},{"line_number":147,"context_line":"  support) and rook-ceph (cluster), the 2 charts are considered as special"},{"line_number":148,"context_line":"  application and apply firstly, since there is no such helm charts in rook."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"The implementation can be split into 2 phases:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7faddb67_a331dfa4","line":147,"range":{"start_line":146,"start_character":51,"end_line":147,"end_character":10},"updated":"2019-07-10 02:07:26.000000000","message":"But I think Rook community only support rook operator with helm charts and without csi support(in #126).  So I have a little confusion here, do we need to support the ceph-csi in rook-operator by ourselves?","commit_id":"08138dae8b7e4929cb2b68ef225a71b15c17f8f4"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"d2a763f850725d21206eed644efcf25f0c54556d","unresolved":false,"context_lines":[{"line_number":143,"context_line":"  etc)"},{"line_number":144,"context_line":"* Add new plugin: python-rookclient to adapt current puppet/ansible plugin to"},{"line_number":145,"context_line":"  container manifest used by rook for ceph deploy configurations."},{"line_number":146,"context_line":"* (optional) Add 2 helm chart as openstack charts: rook-operator (ceph-csi"},{"line_number":147,"context_line":"  support) and rook-ceph (cluster), the 2 charts are considered as special"},{"line_number":148,"context_line":"  application and apply firstly, since there is no such helm charts in rook."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"The implementation can be split into 2 phases:"}],"source_content_type":"text/x-rst","patch_set":8,"id":"7faddb67_d07c9b20","line":147,"range":{"start_line":146,"start_character":51,"end_line":147,"end_character":10},"in_reply_to":"7faddb67_a331dfa4","updated":"2019-07-15 15:40:55.000000000","message":"Sorry for misleading word, currently Rook support:\n1/ Kubectl with yaml support for CSI and non-CSI\n2/ Helm charts with non-CSI, but only for rook-operator\nso it maybe optional for helm charts support after basic functionality enabled.","commit_id":"08138dae8b7e4929cb2b68ef225a71b15c17f8f4"},{"author":{"_account_id":28607,"name":"Saul Wold","email":"saul.wold@windriver.com","username":"sgw-starlingx"},"change_message_id":"904fbe315adf109d0ade788d0a286921ad39067c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Design doc: https://docs.google.com/document/d/1lnAZSu4vAD4EB62Mk18mCgM7aAItl26"},{"line_number":11,"context_line":"sJa1GBf9DJz4/edit?usp\u003dsharing"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"ceph is the standard persistent storage backend for starlingx, this story is to"},{"line_number":14,"context_line":"implement ceph containerization."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The implementation of containerized ceph include:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7faddb67_8b9d510b","line":13,"range":{"start_line":13,"start_character":52,"end_line":13,"end_character":61},"updated":"2019-07-18 17:33:07.000000000","message":"Nit: Capitalization: StarlingX","commit_id":"b48a63244e6d49568222ba6b1bd4be7fd0ca7de5"},{"author":{"_account_id":28607,"name":"Saul Wold","email":"saul.wold@windriver.com","username":"sgw-starlingx"},"change_message_id":"904fbe315adf109d0ade788d0a286921ad39067c","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Design doc: https://docs.google.com/document/d/1lnAZSu4vAD4EB62Mk18mCgM7aAItl26"},{"line_number":11,"context_line":"sJa1GBf9DJz4/edit?usp\u003dsharing"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"ceph is the standard persistent storage backend for starlingx, this story is to"},{"line_number":14,"context_line":"implement ceph containerization."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The implementation of containerized ceph include:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7faddb67_6b86d5bb","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":4},"updated":"2019-07-18 17:33:07.000000000","message":"Nit: Ceph here and elsewhere in doc","commit_id":"b48a63244e6d49568222ba6b1bd4be7fd0ca7de5"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"3aa71a382768642347c134a29f47226a47991213","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Design doc: https://docs.google.com/document/d/1lnAZSu4vAD4EB62Mk18mCgM7aAItl26"},{"line_number":11,"context_line":"sJa1GBf9DJz4/edit?usp\u003dsharing"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"ceph is the standard persistent storage backend for starlingx, this story is to"},{"line_number":14,"context_line":"implement ceph containerization."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The implementation of containerized ceph include:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7faddb67_a24e2794","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":4},"in_reply_to":"7faddb67_6b86d5bb","updated":"2019-07-19 03:26:48.000000000","message":"Done","commit_id":"b48a63244e6d49568222ba6b1bd4be7fd0ca7de5"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"3aa71a382768642347c134a29f47226a47991213","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Design doc: https://docs.google.com/document/d/1lnAZSu4vAD4EB62Mk18mCgM7aAItl26"},{"line_number":11,"context_line":"sJa1GBf9DJz4/edit?usp\u003dsharing"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"ceph is the standard persistent storage backend for starlingx, this story is to"},{"line_number":14,"context_line":"implement ceph containerization."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The implementation of containerized ceph include:"}],"source_content_type":"text/x-rst","patch_set":14,"id":"7faddb67_c251e337","line":13,"range":{"start_line":13,"start_character":52,"end_line":13,"end_character":61},"in_reply_to":"7faddb67_8b9d510b","updated":"2019-07-19 03:26:48.000000000","message":"Done","commit_id":"b48a63244e6d49568222ba6b1bd4be7fd0ca7de5"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"We found several difficulties without Ceph containerization:"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"1. A stable version of Ceph is released on every 9 months, for example,"},{"line_number":59,"context_line":"StarlingX community plan to deploy Ceph N+1 in next release, but the process of"},{"line_number":60,"context_line":"Ceph version upgrade is very complicated, we have to adapt Ceph upstream"},{"line_number":61,"context_line":"codebase to StarlingX build environment, including several submodules with"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_63ed6a8a","line":58,"range":{"start_line":58,"start_character":40,"end_line":58,"end_character":42},"updated":"2019-07-23 01:24:38.000000000","message":"nit, delete on","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"We found several difficulties without Ceph containerization:"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"1. A stable version of Ceph is released on every 9 months, for example,"},{"line_number":59,"context_line":"StarlingX community plan to deploy Ceph N+1 in next release, but the process of"},{"line_number":60,"context_line":"Ceph version upgrade is very complicated, we have to adapt Ceph upstream"},{"line_number":61,"context_line":"codebase to StarlingX build environment, including several submodules with"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_acd9f5f4","line":58,"range":{"start_line":58,"start_character":40,"end_line":58,"end_character":42},"in_reply_to":"7faddb67_63ed6a8a","updated":"2019-07-25 13:03:50.000000000","message":"Done","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"2. The Ceph related plugin modules in StarlingX need to be refactored to"},{"line_number":66,"context_line":"accommodate the features of Ceph, making Ceph deployment and the StarlingX"},{"line_number":67,"context_line":"environment coupled together, which increase difficuty in troubleshooting."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Use Cases"},{"line_number":70,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_c3fbfe44","line":67,"range":{"start_line":67,"start_character":45,"end_line":67,"end_character":54},"updated":"2019-07-23 01:24:38.000000000","message":"Nit. typo","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":"2. The Ceph related plugin modules in StarlingX need to be refactored to"},{"line_number":66,"context_line":"accommodate the features of Ceph, making Ceph deployment and the StarlingX"},{"line_number":67,"context_line":"environment coupled together, which increase difficuty in troubleshooting."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Use Cases"},{"line_number":70,"context_line":"---------"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_ccd6b1c4","line":67,"range":{"start_line":67,"start_character":45,"end_line":67,"end_character":54},"in_reply_to":"7faddb67_c3fbfe44","updated":"2019-07-25 13:03:50.000000000","message":"Done","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":113,"context_line":"Disadvantages:"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"* From Ceph upgrade aspect, need manually check cluster status before, but"},{"line_number":116,"context_line":"  upgrade operator will support in future which is much more simple."},{"line_number":117,"context_line":"* Rook framework is popular but also has golang codebase, increase the cost of"},{"line_number":118,"context_line":"  maintenance, and status of some Rook projects are not stable yet."},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_63a24a4e","line":116,"range":{"start_line":116,"start_character":35,"end_line":116,"end_character":41},"updated":"2019-07-23 01:24:38.000000000","message":"Do we know when this would be ?","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":113,"context_line":"Disadvantages:"},{"line_number":114,"context_line":""},{"line_number":115,"context_line":"* From Ceph upgrade aspect, need manually check cluster status before, but"},{"line_number":116,"context_line":"  upgrade operator will support in future which is much more simple."},{"line_number":117,"context_line":"* Rook framework is popular but also has golang codebase, increase the cost of"},{"line_number":118,"context_line":"  maintenance, and status of some Rook projects are not stable yet."},{"line_number":119,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_2c62e517","line":116,"range":{"start_line":116,"start_character":35,"end_line":116,"end_character":41},"in_reply_to":"7faddb67_63a24a4e","updated":"2019-07-25 13:03:50.000000000","message":"In Rook roadmap: https://github.com/rook/rook/blob/master/ROADMAP.md, the ceph upgrade automation framework is in future improvement but not list in plan of release milestone.","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Rook community:"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Rook current release is v1.0 in early June."},{"line_number":126,"context_line":"* Rook supports Ceph with stable also add Ceph Nautilus and Ceph-CSI plugin"},{"line_number":127,"context_line":"  experimental support in v1.0, and plan to stable support for CSI plugin in"},{"line_number":128,"context_line":"  v1.1 due by August 16th, 2019."}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_0387d6b8","line":125,"range":{"start_line":125,"start_character":40,"end_line":125,"end_character":44},"updated":"2019-07-23 01:24:38.000000000","message":"2019 ?","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":122,"context_line":""},{"line_number":123,"context_line":"Rook community:"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Rook current release is v1.0 in early June."},{"line_number":126,"context_line":"* Rook supports Ceph with stable also add Ceph Nautilus and Ceph-CSI plugin"},{"line_number":127,"context_line":"  experimental support in v1.0, and plan to stable support for CSI plugin in"},{"line_number":128,"context_line":"  v1.1 due by August 16th, 2019."}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_ec6b6dee","line":125,"range":{"start_line":125,"start_character":40,"end_line":125,"end_character":44},"in_reply_to":"7faddb67_0387d6b8","updated":"2019-07-25 13:03:50.000000000","message":"Done","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":126,"context_line":"* Rook supports Ceph with stable also add Ceph Nautilus and Ceph-CSI plugin"},{"line_number":127,"context_line":"  experimental support in v1.0, and plan to stable support for CSI plugin in"},{"line_number":128,"context_line":"  v1.1 due by August 16th, 2019."},{"line_number":129,"context_line":"* Rook also supports helm charts, but only for operator without CSI support,"},{"line_number":130,"context_line":"  you also need to create Ceph cluster by kubectl shown in Rook Ceph"},{"line_number":131,"context_line":"  quickstart."},{"line_number":132,"context_line":"* Rook plan to make more complete upgrade automation in future."}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_e38ddad3","line":129,"range":{"start_line":129,"start_character":68,"end_line":129,"end_character":75},"updated":"2019-07-23 01:24:38.000000000","message":"So how would we deploy this if helm charts are not available ?","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":126,"context_line":"* Rook supports Ceph with stable also add Ceph Nautilus and Ceph-CSI plugin"},{"line_number":127,"context_line":"  experimental support in v1.0, and plan to stable support for CSI plugin in"},{"line_number":128,"context_line":"  v1.1 due by August 16th, 2019."},{"line_number":129,"context_line":"* Rook also supports helm charts, but only for operator without CSI support,"},{"line_number":130,"context_line":"  you also need to create Ceph cluster by kubectl shown in Rook Ceph"},{"line_number":131,"context_line":"  quickstart."},{"line_number":132,"context_line":"* Rook plan to make more complete upgrade automation in future."}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_a7ca6e4c","line":129,"range":{"start_line":129,"start_character":68,"end_line":129,"end_character":75},"in_reply_to":"7faddb67_e38ddad3","updated":"2019-07-25 13:03:50.000000000","message":"I think first step we can define rook-with-csi.yaml, ceph-cluster.yaml etc (refer Rook example yamls) and deploy with kubectl utility in bootstrap phase by ansible-playbook.\nAnd for the second step, we can rework and create helm charts which can reuse the helm framework in StarlingX, it is also can contribute to rook community.","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":144,"context_line":"  Ceph-mgr, etc)"},{"line_number":145,"context_line":"* Adjust bootstrap in ansible config, move the Ceph bootstrap from"},{"line_number":146,"context_line":"  apply-bootstrap-manifest to bringup-essential-services, since Rook operator"},{"line_number":147,"context_line":"  and Ceph cluster have to bring up after kubernetes master on."},{"line_number":148,"context_line":"* Changes in Rook \u0026 Ceph plugins and sysinv impact code."},{"line_number":149,"context_line":"* (optional) Add 2 helm chart as OpenStack charts: Rook-operator (Ceph-CSI"},{"line_number":150,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_a3c122e7","line":147,"range":{"start_line":147,"start_character":62,"end_line":147,"end_character":63},"updated":"2019-07-23 01:24:38.000000000","message":"deployed ?","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":144,"context_line":"  Ceph-mgr, etc)"},{"line_number":145,"context_line":"* Adjust bootstrap in ansible config, move the Ceph bootstrap from"},{"line_number":146,"context_line":"  apply-bootstrap-manifest to bringup-essential-services, since Rook operator"},{"line_number":147,"context_line":"  and Ceph cluster have to bring up after kubernetes master on."},{"line_number":148,"context_line":"* Changes in Rook \u0026 Ceph plugins and sysinv impact code."},{"line_number":149,"context_line":"* (optional) Add 2 helm chart as OpenStack charts: Rook-operator (Ceph-CSI"},{"line_number":150,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_477dbae5","line":147,"range":{"start_line":147,"start_character":62,"end_line":147,"end_character":63},"in_reply_to":"7faddb67_a3c122e7","updated":"2019-07-25 13:03:50.000000000","message":"I am deploying the Rook operator and Ceph cluster as milestone 1 by plan, currently operator is on and ceph cluster in progress.","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":146,"context_line":"  apply-bootstrap-manifest to bringup-essential-services, since Rook operator"},{"line_number":147,"context_line":"  and Ceph cluster have to bring up after kubernetes master on."},{"line_number":148,"context_line":"* Changes in Rook \u0026 Ceph plugins and sysinv impact code."},{"line_number":149,"context_line":"* (optional) Add 2 helm chart as OpenStack charts: Rook-operator (Ceph-CSI"},{"line_number":150,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"},{"line_number":151,"context_line":"  application and apply firstly, since there is no such helm charts in Rook."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_63bb2a72","line":149,"range":{"start_line":149,"start_character":33,"end_line":149,"end_character":42},"updated":"2019-07-23 01:24:38.000000000","message":"Why would we deploy as openstack charts ? \nWouldn\u0027t we create a new application ?","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":146,"context_line":"  apply-bootstrap-manifest to bringup-essential-services, since Rook operator"},{"line_number":147,"context_line":"  and Ceph cluster have to bring up after kubernetes master on."},{"line_number":148,"context_line":"* Changes in Rook \u0026 Ceph plugins and sysinv impact code."},{"line_number":149,"context_line":"* (optional) Add 2 helm chart as OpenStack charts: Rook-operator (Ceph-CSI"},{"line_number":150,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"},{"line_number":151,"context_line":"  application and apply firstly, since there is no such helm charts in Rook."},{"line_number":152,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_674eb6c2","line":149,"range":{"start_line":149,"start_character":33,"end_line":149,"end_character":42},"in_reply_to":"7faddb67_63bb2a72","updated":"2019-07-25 13:03:50.000000000","message":"That is a good question, I will create a new application for Ceph \u0026 Rook with helm charts for step 2, step 1 is define and deploy as raw yaml files.","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":150,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"},{"line_number":151,"context_line":"  application and apply firstly, since there is no such helm charts in Rook."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"The Rook \u0026 Ceph plugins and sysinv impact implementation include:"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"* Remove puppet for which encapsulate puppet operations for Ceph storage"},{"line_number":156,"context_line":"  configuration."}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_2320d2b0","line":153,"range":{"start_line":153,"start_character":28,"end_line":153,"end_character":34},"updated":"2019-07-23 01:24:38.000000000","message":"I assume we would still use sysinv to reserve osd\u0027s.\nHow would monitors get created ?","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":150,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"},{"line_number":151,"context_line":"  application and apply firstly, since there is no such helm charts in Rook."},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"The Rook \u0026 Ceph plugins and sysinv impact implementation include:"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"* Remove puppet for which encapsulate puppet operations for Ceph storage"},{"line_number":156,"context_line":"  configuration."}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_dd6c0f9e","line":153,"range":{"start_line":153,"start_character":28,"end_line":153,"end_character":34},"in_reply_to":"7faddb67_2320d2b0","updated":"2019-07-25 13:03:50.000000000","message":"I think there are 2 methods to manage the Ceph services (osd , mon, mgr)\n1/ override the k9s yaml or helm charts. for example, edit the replication of ceph monitors in cluster.yaml with mon :count to 2, ceph monitors will reduce to 2 mon hosts.\n2/ Ceph provide client commands and restful API to manipulate or check the cluster status. for example, osd operations (down, set weight etc)\nYes, sysinv will reserve osd, cephclient also provide wrapper API  for monitor and osd operations.\nFor monitors, I think there are policies in different type of deployment, AIO-simplex, multi-node(2+2), etc, in 2+2, you must deploy monitor in 2 controllers and compute-0, this can implement by nodeAffinity with label in yaml, and create/delete by Ceph operator, but add monitor, delete monitor in cephclient will not work.","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":156,"context_line":"  configuration."},{"line_number":157,"context_line":"* Add support for Rook and Ceph config with different system configurations,"},{"line_number":158,"context_line":"  like get_overrides() in Openstack-Helm charts."},{"line_number":159,"context_line":"* Rework the code for Cephclient implementation with restful api to adapt"},{"line_number":160,"context_line":"  containerization."},{"line_number":161,"context_line":"* Add python-rookclient to operate several deployment option, for example:"},{"line_number":162,"context_line":"  Ceph-monitor replication:3, since operator will create new if we manually"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_83618614","line":159,"range":{"start_line":159,"start_character":33,"end_line":159,"end_character":47},"updated":"2019-07-23 01:24:38.000000000","message":"Why would we need to keep the cephclient ? I would expect the interactions with sysinv would be generation of overrides that feed into the charts ?","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":156,"context_line":"  configuration."},{"line_number":157,"context_line":"* Add support for Rook and Ceph config with different system configurations,"},{"line_number":158,"context_line":"  like get_overrides() in Openstack-Helm charts."},{"line_number":159,"context_line":"* Rework the code for Cephclient implementation with restful api to adapt"},{"line_number":160,"context_line":"  containerization."},{"line_number":161,"context_line":"* Add python-rookclient to operate several deployment option, for example:"},{"line_number":162,"context_line":"  Ceph-monitor replication:3, since operator will create new if we manually"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_7d863b16","line":159,"range":{"start_line":159,"start_character":33,"end_line":159,"end_character":47},"in_reply_to":"7faddb67_83618614","updated":"2019-07-25 13:03:50.000000000","message":"Actually it is a good question, some API of cephclient will not work in Rook, but I think override the helm charts/yaml files cannot satisfy all the functionalities, also there are some show /check functions in cephclient, and support sysinv system commands.\nIn my design, python-cephclient is for client command and mgr restful API wrapper (although we only use part of APIs), python-rookclient is wrapper for override yaml files for rook operator, ceph cluster and other utilities provide by rook.","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":159,"context_line":"* Rework the code for Cephclient implementation with restful api to adapt"},{"line_number":160,"context_line":"  containerization."},{"line_number":161,"context_line":"* Add python-rookclient to operate several deployment option, for example:"},{"line_number":162,"context_line":"  Ceph-monitor replication:3, since operator will create new if we manually"},{"line_number":163,"context_line":"  delete a monitor, it cannot implement only by restful api to remove monitor."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_c37e9eae","line":162,"range":{"start_line":162,"start_character":15,"end_line":162,"end_character":26},"updated":"2019-07-23 01:24:38.000000000","message":"Wouldn\u0027t this be done as a chart override ?","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":159,"context_line":"* Rework the code for Cephclient implementation with restful api to adapt"},{"line_number":160,"context_line":"  containerization."},{"line_number":161,"context_line":"* Add python-rookclient to operate several deployment option, for example:"},{"line_number":162,"context_line":"  Ceph-monitor replication:3, since operator will create new if we manually"},{"line_number":163,"context_line":"  delete a monitor, it cannot implement only by restful api to remove monitor."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_1da2a79b","line":162,"range":{"start_line":162,"start_character":15,"end_line":162,"end_character":26},"in_reply_to":"7faddb67_c37e9eae","updated":"2019-07-25 13:03:50.000000000","message":"Yes the method for rookclient is to override yaml/helm chart, let me update precisely.\nI am not so familiar with sysinv architecture, any mistake please point out, thanks.","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":186,"context_line":"Rook-Ceph yaml with system configration for monitor and osd settings etc."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"2. Sysinv include several modules: cgts-client call sysinv api service via rest"},{"line_number":189,"context_line":"api, then sysinv api service call sysinv conduct via rpc api, and fianlly"},{"line_number":190,"context_line":"invoke Cephclient, Cephclient operate \u0026 show configuration with restful api."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_a34fe290","line":189,"range":{"start_line":189,"start_character":66,"end_line":189,"end_character":73},"updated":"2019-07-23 01:24:38.000000000","message":"nit. typo","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":186,"context_line":"Rook-Ceph yaml with system configration for monitor and osd settings etc."},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"2. Sysinv include several modules: cgts-client call sysinv api service via rest"},{"line_number":189,"context_line":"api, then sysinv api service call sysinv conduct via rpc api, and fianlly"},{"line_number":190,"context_line":"invoke Cephclient, Cephclient operate \u0026 show configuration with restful api."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_c7ff6a32","line":189,"range":{"start_line":189,"start_character":66,"end_line":189,"end_character":73},"in_reply_to":"7faddb67_a34fe290","updated":"2019-07-25 13:03:50.000000000","message":"Done","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"2. Sysinv include several modules: cgts-client call sysinv api service via rest"},{"line_number":189,"context_line":"api, then sysinv api service call sysinv conduct via rpc api, and fianlly"},{"line_number":190,"context_line":"invoke Cephclient, Cephclient operate \u0026 show configuration with restful api."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_6349ea89","line":190,"range":{"start_line":190,"start_character":19,"end_line":190,"end_character":29},"updated":"2019-07-23 01:24:38.000000000","message":"See comments above","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":187,"context_line":""},{"line_number":188,"context_line":"2. Sysinv include several modules: cgts-client call sysinv api service via rest"},{"line_number":189,"context_line":"api, then sysinv api service call sysinv conduct via rpc api, and fianlly"},{"line_number":190,"context_line":"invoke Cephclient, Cephclient operate \u0026 show configuration with restful api."},{"line_number":191,"context_line":""},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"REST API impact"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_c720cab3","line":190,"range":{"start_line":190,"start_character":19,"end_line":190,"end_character":29},"in_reply_to":"7faddb67_6349ea89","updated":"2019-07-25 13:03:50.000000000","message":"Done","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":224,"context_line":""},{"line_number":225,"context_line":"None"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Upgrade impact"},{"line_number":228,"context_line":"--------------"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Upgrade work includes 2 parts: Rook-Ceph operator and Ceph cluster. There is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_e354fa23","line":227,"range":{"start_line":227,"start_character":8,"end_line":227,"end_character":14},"updated":"2019-07-23 01:24:38.000000000","message":"We have to consider how we would upgrade from our current implementation to Rook","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":224,"context_line":""},{"line_number":225,"context_line":"None"},{"line_number":226,"context_line":""},{"line_number":227,"context_line":"Upgrade impact"},{"line_number":228,"context_line":"--------------"},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Upgrade work includes 2 parts: Rook-Ceph operator and Ceph cluster. There is"}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_bd083391","line":227,"range":{"start_line":227,"start_character":8,"end_line":227,"end_character":14},"in_reply_to":"7faddb67_e354fa23","updated":"2019-07-25 13:03:50.000000000","message":"I think that is a big change, and it is hard to live upgrade, we can provide manual steps for the upgrade process, especially for data backup.","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":264,"context_line":"Work Items"},{"line_number":265,"context_line":"----------"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"The implementation can be split into 4 milstones:"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"MS1 (end of July): Bring up Rook operator and Ceph cluster in StarlingX."},{"line_number":270,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_43394ef0","line":267,"range":{"start_line":267,"start_character":39,"end_line":267,"end_character":48},"updated":"2019-07-23 01:24:38.000000000","message":"You are proposing to complete this in release 3 ?","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":264,"context_line":"Work Items"},{"line_number":265,"context_line":"----------"},{"line_number":266,"context_line":""},{"line_number":267,"context_line":"The implementation can be split into 4 milstones:"},{"line_number":268,"context_line":""},{"line_number":269,"context_line":"MS1 (end of July): Bring up Rook operator and Ceph cluster in StarlingX."},{"line_number":270,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_877c12b6","line":267,"range":{"start_line":267,"start_character":39,"end_line":267,"end_character":48},"in_reply_to":"7faddb67_43394ef0","updated":"2019-07-25 13:03:50.000000000","message":"Although less likely to put in R3, but I just want to take R3 time frame for the development.","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"e4e022cd505a373ee2753d9202a112f2e9411d48","unresolved":false,"context_lines":[{"line_number":273,"context_line":""},{"line_number":274,"context_line":"MS3 (11th, Oct): Ceph-CSI (for Kubernetes app) and OpenStack service support."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"MS4 (25th, Oct): Clean and rework code, remove no need modules, debug to sable"},{"line_number":277,"context_line":"status, etc."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_a334c2fc","line":276,"range":{"start_line":276,"start_character":73,"end_line":276,"end_character":78},"updated":"2019-07-23 01:24:38.000000000","message":"Nit. typo","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"c69c2c8123f48f4efd624f5901c4961996a21c4f","unresolved":false,"context_lines":[{"line_number":273,"context_line":""},{"line_number":274,"context_line":"MS3 (11th, Oct): Ceph-CSI (for Kubernetes app) and OpenStack service support."},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"MS4 (25th, Oct): Clean and rework code, remove no need modules, debug to sable"},{"line_number":277,"context_line":"status, etc."},{"line_number":278,"context_line":""},{"line_number":279,"context_line":""}],"source_content_type":"text/x-rst","patch_set":15,"id":"7faddb67_c7844ab4","line":276,"range":{"start_line":276,"start_character":73,"end_line":276,"end_character":78},"in_reply_to":"7faddb67_a334c2fc","updated":"2019-07-25 13:03:50.000000000","message":"Done","commit_id":"2d1b9536baca08e3a3611c04fa1cfbf1a608d06c"},{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"470f81859c41959168dc92f3130167cf657d6b40","unresolved":false,"context_lines":[{"line_number":141,"context_line":"* Create new Dockerfiles to build container image for Rook-operator (include"},{"line_number":142,"context_line":"  Rook operator and agent) and Ceph daemon (include Ceph-mon, Ceph-osd,"},{"line_number":143,"context_line":"  Ceph-mgr, etc)"},{"line_number":144,"context_line":"* Adjust bootstrap in ansible config, move the Ceph bootstrap from"},{"line_number":145,"context_line":"  apply-bootstrap-manifest to bringup-essential-services, since Rook operator"},{"line_number":146,"context_line":"  and Ceph cluster have to bring up after kubernetes master on."},{"line_number":147,"context_line":"* Changes in Rook \u0026 Ceph plugins and sysinv impact code."},{"line_number":148,"context_line":"* (optional) Add 2 helm chart as Rook charts: Rook-operator (Ceph-CSI"},{"line_number":149,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_1651e136","line":146,"range":{"start_line":144,"start_character":2,"end_line":146,"end_character":63},"updated":"2019-08-15 05:35:43.000000000","message":"What minimal initial information to we have to provide in the Ansible configuration to bootstrap this?","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"dba23721ba77647e463fa2e392f4885f3aadc8a9","unresolved":false,"context_lines":[{"line_number":141,"context_line":"* Create new Dockerfiles to build container image for Rook-operator (include"},{"line_number":142,"context_line":"  Rook operator and agent) and Ceph daemon (include Ceph-mon, Ceph-osd,"},{"line_number":143,"context_line":"  Ceph-mgr, etc)"},{"line_number":144,"context_line":"* Adjust bootstrap in ansible config, move the Ceph bootstrap from"},{"line_number":145,"context_line":"  apply-bootstrap-manifest to bringup-essential-services, since Rook operator"},{"line_number":146,"context_line":"  and Ceph cluster have to bring up after kubernetes master on."},{"line_number":147,"context_line":"* Changes in Rook \u0026 Ceph plugins and sysinv impact code."},{"line_number":148,"context_line":"* (optional) Add 2 helm chart as Rook charts: Rook-operator (Ceph-CSI"},{"line_number":149,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_b1525766","line":146,"range":{"start_line":144,"start_character":2,"end_line":146,"end_character":63},"in_reply_to":"7faddb67_1651e136","updated":"2019-08-15 12:50:10.000000000","message":"I have file gerrit patch (https://review.opendev.org/#/c/674244) to add Rook \u0026 Ceph in bringup-essential-services and verified, the Rook operator with CSI and Ceph cluster can bring up successfully.\nBut the patch is experimental, there are some default configurations in yaml, and should override by system configuration or sysinv.","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"470f81859c41959168dc92f3130167cf657d6b40","unresolved":false,"context_lines":[{"line_number":145,"context_line":"  apply-bootstrap-manifest to bringup-essential-services, since Rook operator"},{"line_number":146,"context_line":"  and Ceph cluster have to bring up after kubernetes master on."},{"line_number":147,"context_line":"* Changes in Rook \u0026 Ceph plugins and sysinv impact code."},{"line_number":148,"context_line":"* (optional) Add 2 helm chart as Rook charts: Rook-operator (Ceph-CSI"},{"line_number":149,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"},{"line_number":150,"context_line":"  application and apply firstly, since there is no such helm charts in Rook."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"The Rook \u0026 Ceph plugins and sysinv impact implementation include:"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_f63685b4","line":150,"range":{"start_line":148,"start_character":2,"end_line":150,"end_character":76},"updated":"2019-08-15 05:35:43.000000000","message":"I assume that this would be integrated into the platform-integ-apps k8s application when the rbd-provisioner chart is removed from this application. Rook\u0027s charts to support successful deployment along with any charts to support configuration of the CSI drivers (RBD \u0026 CephFS) would make logical sense to live and be applied here.\n\nThe criteria for applying this application can be adjusted based on the pre-requisites required by Rook to start it\u0027s pods to enable the desired ceph configuration.\n\nIf we do this, can we then remove or not be require to use the ansible bootstrap dependencies? Basically can we the do all the Ceph provisioning post ansible-apply?","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"f1b9eab8e301f8a5a4d9ce1da211f2587151c4e2","unresolved":false,"context_lines":[{"line_number":145,"context_line":"  apply-bootstrap-manifest to bringup-essential-services, since Rook operator"},{"line_number":146,"context_line":"  and Ceph cluster have to bring up after kubernetes master on."},{"line_number":147,"context_line":"* Changes in Rook \u0026 Ceph plugins and sysinv impact code."},{"line_number":148,"context_line":"* (optional) Add 2 helm chart as Rook charts: Rook-operator (Ceph-CSI"},{"line_number":149,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"},{"line_number":150,"context_line":"  application and apply firstly, since there is no such helm charts in Rook."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"The Rook \u0026 Ceph plugins and sysinv impact implementation include:"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_67509ad6","line":150,"range":{"start_line":148,"start_character":2,"end_line":150,"end_character":76},"in_reply_to":"7faddb67_f63685b4","updated":"2019-08-15 11:57:37.000000000","message":"I agree. There should be no reason this has to be done in ansible. Ansible should only be doing the minimum to bring up a functioning k8s master node. We do not need CEPH for that","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"dba23721ba77647e463fa2e392f4885f3aadc8a9","unresolved":false,"context_lines":[{"line_number":145,"context_line":"  apply-bootstrap-manifest to bringup-essential-services, since Rook operator"},{"line_number":146,"context_line":"  and Ceph cluster have to bring up after kubernetes master on."},{"line_number":147,"context_line":"* Changes in Rook \u0026 Ceph plugins and sysinv impact code."},{"line_number":148,"context_line":"* (optional) Add 2 helm chart as Rook charts: Rook-operator (Ceph-CSI"},{"line_number":149,"context_line":"  support) and Rook-Ceph (cluster), the 2 charts are considered as special"},{"line_number":150,"context_line":"  application and apply firstly, since there is no such helm charts in Rook."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"The Rook \u0026 Ceph plugins and sysinv impact implementation include:"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_a7abf5d3","line":150,"range":{"start_line":148,"start_character":2,"end_line":150,"end_character":76},"in_reply_to":"7faddb67_f63685b4","updated":"2019-08-15 12:50:10.000000000","message":"Yes, it is a good consideration for Rook/Ceph as platform K8s application, and we can use Helm framework in starlingx.\nBut I have 2 concerns:\n1. Rook 1.0 (latest release) have helm chart official support, but I cannot see the helm chart with CSI support, since Rook 1.0 has first CSI experimental support in kubectl deployment.\n2. Currently Helm chart support is only for Rook operator, if you want to bring up Ceph cluster, still need to use kubectl create with raw yaml files.\nSo I list the helm chart method as optional as we can evolution to Helm chart with Rook operator and Ceph cluster in future.\nFor your suggestion, I think first step I can try to edit the helm chart for Rook operator with CSI support, and put them post ansible-apply but not sure how much the workload.","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"470f81859c41959168dc92f3130167cf657d6b40","unresolved":false,"context_lines":[{"line_number":157,"context_line":"  manage by Rook operator, and replaced by python-rookclient."},{"line_number":158,"context_line":"* Add support for Rook and Ceph config with different system configurations,"},{"line_number":159,"context_line":"  like get_overrides() in Openstack-Helm charts."},{"line_number":160,"context_line":"* Add python-rookclient to operate several deployment option by override yaml"},{"line_number":161,"context_line":"  files or helm charts, for example: Ceph-monitor replication:3, since operator"},{"line_number":162,"context_line":"  will create new if we manually delete a monitor, it cannot implement only by"},{"line_number":163,"context_line":"  restful api to remove monitor."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_f6ef6584","line":163,"range":{"start_line":160,"start_character":0,"end_line":163,"end_character":32},"updated":"2019-08-15 05:35:43.000000000","message":"I\u0027m still trying to grasp how we\u0027ll do the provisioning initially vs once we call this effort complete. Would it be safe to say any of the following?\n\n- Initially we\u0027ll bootstrap the cluster via ansible and some initial yamls based on system mode (simplex vs duplex)?\n\n- We will still stage all the configuration in sysinv (cluster, tiers, backends (1 per tier), monitors, OSDs (per tier)) and grab that information as part of rook plugin(s) to generate overrides for the updated platform-integ-apps. When the app is applied it will update the cluster. Eventually this mechanism could be used to deploy the cluster and drop the ansible dependencies.\n\n- Subsequent updates to the ceph related resources in sysinv would trigger a re-apply of the application.\n\n- For future ceph configuration elements that we currently don\u0027t support, we could use chart overrides via the helm-overrides API to orchestrate cluster changes rather than updating sysinv code.","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"f1b9eab8e301f8a5a4d9ce1da211f2587151c4e2","unresolved":false,"context_lines":[{"line_number":157,"context_line":"  manage by Rook operator, and replaced by python-rookclient."},{"line_number":158,"context_line":"* Add support for Rook and Ceph config with different system configurations,"},{"line_number":159,"context_line":"  like get_overrides() in Openstack-Helm charts."},{"line_number":160,"context_line":"* Add python-rookclient to operate several deployment option by override yaml"},{"line_number":161,"context_line":"  files or helm charts, for example: Ceph-monitor replication:3, since operator"},{"line_number":162,"context_line":"  will create new if we manually delete a monitor, it cannot implement only by"},{"line_number":163,"context_line":"  restful api to remove monitor."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_075be6f5","line":163,"range":{"start_line":160,"start_character":0,"end_line":163,"end_character":32},"in_reply_to":"7faddb67_f6ef6584","updated":"2019-08-15 11:57:37.000000000","message":"I think we want the couplings to sysinv to be minimal. It really should only be H/W related mappings (ceph-mon fs and OSD mappings to disks). Everything else should be via helm overrides.","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"dba23721ba77647e463fa2e392f4885f3aadc8a9","unresolved":false,"context_lines":[{"line_number":157,"context_line":"  manage by Rook operator, and replaced by python-rookclient."},{"line_number":158,"context_line":"* Add support for Rook and Ceph config with different system configurations,"},{"line_number":159,"context_line":"  like get_overrides() in Openstack-Helm charts."},{"line_number":160,"context_line":"* Add python-rookclient to operate several deployment option by override yaml"},{"line_number":161,"context_line":"  files or helm charts, for example: Ceph-monitor replication:3, since operator"},{"line_number":162,"context_line":"  will create new if we manually delete a monitor, it cannot implement only by"},{"line_number":163,"context_line":"  restful api to remove monitor."},{"line_number":164,"context_line":""},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_ca0f152c","line":163,"range":{"start_line":160,"start_character":0,"end_line":163,"end_character":32},"in_reply_to":"7faddb67_f6ef6584","updated":"2019-08-15 12:50:10.000000000","message":"In current implementation, the configuration of system-mode will transfer to sm to bring up ceph cluster in native env, and it will reflect some option such as replication of ceph monitors, and in Rook configuration there is also corresponding parameters, I will consider this in implementation of next phase.\nThe following 4 concerns reasonable and safe, and Rook operator can refresh the ceph cluster when check the configuration changed by override the yaml/helm charts and no need to update sysinv code for restful commands.","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"470f81859c41959168dc92f3130167cf657d6b40","unresolved":false,"context_lines":[{"line_number":166,"context_line":"Alternatives"},{"line_number":167,"context_line":"------------"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Solution: OpenStack-Helm-Infra"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"* Introduce project: https://github.com/openstack/openstack-helm-infra with Ceph"},{"line_number":172,"context_line":"  related helm charts: Ceph-client, Ceph-mon, Ceph-osd etc."}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_b60a4dce","line":169,"range":{"start_line":169,"start_character":0,"end_line":169,"end_character":30},"updated":"2019-08-15 05:35:43.000000000","message":"We may want/need to leverage some of the \"glue\" (secrets, configmaps, etc) provided in the ceph-fs/rbd-provisioner in the Openstack-Helm-Infra charts and integrate then in another chart to go alongside the Rook charts in the platform intel-apps. This way the service charts defined in Openstack-Helm will have the expected k8s resources.\n\nThis of course would be that advantage of provisioning the Ceph cluster via Openstack-Helm-Infra ass it would be tightly coupled. But we work around that now so shouldn\u0027t be an issue here.","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"dba23721ba77647e463fa2e392f4885f3aadc8a9","unresolved":false,"context_lines":[{"line_number":166,"context_line":"Alternatives"},{"line_number":167,"context_line":"------------"},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"Solution: OpenStack-Helm-Infra"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"* Introduce project: https://github.com/openstack/openstack-helm-infra with Ceph"},{"line_number":172,"context_line":"  related helm charts: Ceph-client, Ceph-mon, Ceph-osd etc."}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_c7b15103","line":169,"range":{"start_line":169,"start_character":0,"end_line":169,"end_character":30},"in_reply_to":"7faddb67_b60a4dce","updated":"2019-08-15 12:50:10.000000000","message":"Yes, for Rook and Ceph configuration, there need configmaps to override with requirement, and secret for storage volume provisioning.","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"470f81859c41959168dc92f3130167cf657d6b40","unresolved":false,"context_lines":[{"line_number":282,"context_line":"Work Items"},{"line_number":283,"context_line":"----------"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"The implementation can be split into 4 milstones:"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"MS1 (end of July): Bring up Rook operator and Ceph cluster in StarlingX."},{"line_number":288,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_119b2bc9","line":285,"range":{"start_line":285,"start_character":4,"end_line":285,"end_character":18},"updated":"2019-08-15 05:35:43.000000000","message":"This is a big change. What is the plan for getting this functionality to land? \n- Will all this work be done in a branch to be merged at a later date? \n- Are you going to incrementally merge changes gated by an ansible option to dictate native ceph vs. containerized for fresh installs? If we plan to upgrade from STX2.0-\u003eSTX3.0-\u003eSTX4.0 support for both configs will need to co-exist, so this is probably the best delivery mechanism","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"dba23721ba77647e463fa2e392f4885f3aadc8a9","unresolved":false,"context_lines":[{"line_number":282,"context_line":"Work Items"},{"line_number":283,"context_line":"----------"},{"line_number":284,"context_line":""},{"line_number":285,"context_line":"The implementation can be split into 4 milstones:"},{"line_number":286,"context_line":""},{"line_number":287,"context_line":"MS1 (end of July): Bring up Rook operator and Ceph cluster in StarlingX."},{"line_number":288,"context_line":""}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_67ec1dbb","line":285,"range":{"start_line":285,"start_character":4,"end_line":285,"end_character":18},"in_reply_to":"7faddb67_119b2bc9","updated":"2019-08-15 12:50:10.000000000","message":"Totally agree, we can consider the containerized ceph as another storage backend used by Openstack, and it can co-exist with native ceph cluster.\nAnd currently the main implementation to bring up Rook/Ceph will not break current native ceph, and after all the function verification is done, we can switch to Rook/Ceph, this enabling patch is tiny.\nAnd it will need not have so many patches in main implementation, I think we can maintain several big patches and update, no need to checkout a branch to merge and sync.","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":28459,"name":"Bob Church","email":"robert.church@windriver.com","username":"rchurch"},"change_message_id":"470f81859c41959168dc92f3130167cf657d6b40","unresolved":false,"context_lines":[{"line_number":289,"context_line":"MS2 (20th, Sep): Finished Rook plugins and sysinv impact code, deploy by system"},{"line_number":290,"context_line":"config policy."},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"MS3 (11th, Oct): Ceph-CSI (for Kubernetes app) and OpenStack service support."},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"MS4 (25th, Oct): Clean and rework code, remove no need modules, debug to stable"},{"line_number":295,"context_line":"status, etc."}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_76d055f8","line":292,"range":{"start_line":292,"start_character":0,"end_line":292,"end_character":3},"updated":"2019-08-15 05:35:43.000000000","message":"Once MS3 is achieved, we should have the basic functionality needed to make sure we can cover all operational scenarios triggered through the sysinv api and get a feel for system impacts\n\nOff the top of my head: \n- Monitor assignment/reassignment.\n- Adding/removing storage tiers (impacts Ceph crushmap)\n- Defining kubernetes default storage class (current handled in our rbd-provisioner)\n- host-delete/host-add for host that do/will deploy Rook resources\n- Replication factor updates for min data redundancy vs. H/A data availability (AIO-SX disk based vs host based replication)\n- I can think of more...\n\nNote: The above could be the start of the Testing section. (could add later)\n\nI would expect going through these will impact the code cleanup/rework for MS4, you may want another milestone in between","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":29846,"name":"Tingjie Chen","email":"tingjie.chen@intel.com","username":"tingjiec"},"change_message_id":"dba23721ba77647e463fa2e392f4885f3aadc8a9","unresolved":false,"context_lines":[{"line_number":289,"context_line":"MS2 (20th, Sep): Finished Rook plugins and sysinv impact code, deploy by system"},{"line_number":290,"context_line":"config policy."},{"line_number":291,"context_line":""},{"line_number":292,"context_line":"MS3 (11th, Oct): Ceph-CSI (for Kubernetes app) and OpenStack service support."},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"MS4 (25th, Oct): Clean and rework code, remove no need modules, debug to stable"},{"line_number":295,"context_line":"status, etc."}],"source_content_type":"text/x-rst","patch_set":21,"id":"7faddb67_27670550","line":292,"range":{"start_line":292,"start_character":0,"end_line":292,"end_character":3},"in_reply_to":"7faddb67_76d055f8","updated":"2019-08-15 12:50:10.000000000","message":"Good suggestion, I will update it.","commit_id":"f875fb058982c43f95292a2d32b1dffd3056a22d"},{"author":{"_account_id":28642,"name":"Brent Rowsell","email":"brent.rowsell@windriver.com","username":"browsell"},"change_message_id":"cde8e41980021a7f92045caef91e11f179fbf0ef","unresolved":false,"context_lines":[{"line_number":291,"context_line":"stx-ansible-playbooks"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":""},{"line_number":294,"context_line":"Work Items"},{"line_number":295,"context_line":"----------"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"We can consider containerized Ceph as another storage backend used by OpenStack"}],"source_content_type":"text/x-rst","patch_set":22,"id":"7faddb67_ad4af323","line":294,"range":{"start_line":294,"start_character":5,"end_line":294,"end_character":10},"updated":"2019-08-15 14:20:47.000000000","message":"We have not captured the previous discussion here regarding the parallel implementation. Please update.","commit_id":"d725b8c295ff4ae1da40edfe56a3f44bc33ddba9"}]}
