{"id":37,"date":"2018-09-06T06:14:18","date_gmt":"2018-09-06T06:14:18","guid":{"rendered":"http:\/\/virtorbis.virtcompute.com\/?p=37"},"modified":"2018-09-06T06:30:15","modified_gmt":"2018-09-06T06:30:15","slug":"openstack-compute-and-ceph-scale-out-with-composable-roles","status":"publish","type":"post","link":"https:\/\/virtorbis.virtcompute.com\/?p=37","title":{"rendered":"OpenStack  Compute and Ceph scale out with Composable roles"},"content":{"rendered":"<p>Below steps describe the configurations required to perform scale out for compute and ceph nodes in an existing OpenStack deployment.<\/p>\n<p>Environment:<\/p>\n<p><strong>Platform: Red Hat OpenStack 10<\/strong><\/p>\n<p><strong>Compute: SRIOV nodes<\/strong><\/p>\n<p><strong>Scale out: One SRIOV Compute node , and 3 Additional Ceph Nodes (the scale out nodes will have a new hardware profile, and hence a new role is assigned to each)<\/strong><\/p>\n<p>For composable roles, we need to have roles defined for each role in the roles_data file:<\/p>\n<p>file: overcloud-roles_data.yaml<\/p>\n<p>Role data for new SRIOV compute node:<\/p>\n<p><a href=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/New-Compute-role-data.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-44\" src=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/New-Compute-role-data-300x263.png\" alt=\"\" width=\"300\" height=\"263\" srcset=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/New-Compute-role-data-300x263.png 300w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/New-Compute-role-data-768x673.png 768w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/New-Compute-role-data.png 870w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Role data for the existing and new Ceph nodes:<\/p>\n<p><a href=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Ceph-Nodes-roles-data.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-43\" src=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Ceph-Nodes-roles-data-232x300.png\" alt=\"\" width=\"232\" height=\"300\" srcset=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Ceph-Nodes-roles-data-232x300.png 232w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Ceph-Nodes-roles-data.png 636w\" sizes=\"auto, (max-width: 232px) 100vw, 232px\" \/><\/a><\/p>\n<p>Additional IP&#8217;s of the new nodes into IP from all pools file:<\/p>\n<p><a href=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/IPs-of-existing-and-new-nodes.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-42\" src=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/IPs-of-existing-and-new-nodes-300x276.png\" alt=\"\" width=\"300\" height=\"276\" srcset=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/IPs-of-existing-and-new-nodes-300x276.png 300w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/IPs-of-existing-and-new-nodes-768x706.png 768w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/IPs-of-existing-and-new-nodes-1024x942.png 1024w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/IPs-of-existing-and-new-nodes.png 1296w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Entries for network isolation file:<\/p>\n<p><a href=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Isolatoin-entries-for-the-new-nodes.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-41\" src=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Isolatoin-entries-for-the-new-nodes-300x146.png\" alt=\"\" width=\"300\" height=\"146\" srcset=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Isolatoin-entries-for-the-new-nodes-300x146.png 300w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Isolatoin-entries-for-the-new-nodes-768x373.png 768w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Isolatoin-entries-for-the-new-nodes-1024x497.png 1024w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Isolatoin-entries-for-the-new-nodes.png 1838w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Storage environment yaml should be updated with the new ceph node under extra configs of the respective role:<\/p>\n<p><a href=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Storage-environment-for-New-Ceph-nodes.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-39\" src=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Storage-environment-for-New-Ceph-nodes-300x212.png\" alt=\"\" width=\"300\" height=\"212\" srcset=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Storage-environment-for-New-Ceph-nodes-300x212.png 300w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Storage-environment-for-New-Ceph-nodes.png 484w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>As the hardware profile of the new SRIOV nodes are different, the required entries need to be updated in the Network environment file under the new nodes extra config section:<\/p>\n<p><a href=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Environment-for-New-Compute-Nodes.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-38\" src=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Environment-for-New-Compute-Nodes-300x92.png\" alt=\"\" width=\"411\" height=\"126\" srcset=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Environment-for-New-Compute-Nodes-300x92.png 300w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Environment-for-New-Compute-Nodes-768x236.png 768w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Network-Environment-for-New-Compute-Nodes-1024x315.png 1024w\" sizes=\"auto, (max-width: 411px) 100vw, 411px\" \/><\/a><\/p>\n<p>As the new computes and ceph nodes are with new hardware profile, each of the nodes are required to be updated with a new nic-configs:<\/p>\n<p>Compute nic-config used in this deployment:<\/p>\n<p><a href=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/NIC-Config-for-nodes.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-49\" src=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/NIC-Config-for-nodes-124x300.png\" alt=\"\" width=\"124\" height=\"300\" srcset=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/NIC-Config-for-nodes-124x300.png 124w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/NIC-Config-for-nodes.png 422w\" sizes=\"auto, (max-width: 124px) 100vw, 124px\" \/><\/a><\/p>\n<p>As the SRIOV nodes require CPU core isolation and huge page setup, first boot configuration file needs to be updated with new node details:<\/p>\n<p><a href=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/First-boot-configuration-for-compute-nodes.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-50\" src=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/First-boot-configuration-for-compute-nodes-204x300.png\" alt=\"\" width=\"204\" height=\"300\" srcset=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/First-boot-configuration-for-compute-nodes-204x300.png 204w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/First-boot-configuration-for-compute-nodes-695x1024.png 695w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/First-boot-configuration-for-compute-nodes.png 747w\" sizes=\"auto, (max-width: 204px) 100vw, 204px\" \/><\/a><\/p>\n<p>add the new nodes in to scheduler hints for predictive hostname and profile assignments:<\/p>\n<p><a href=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Scheduler-Hints-with-New-nodes.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-40\" src=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Scheduler-Hints-with-New-nodes-300x241.png\" alt=\"\" width=\"300\" height=\"241\" srcset=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Scheduler-Hints-with-New-nodes-300x241.png 300w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Scheduler-Hints-with-New-nodes-768x616.png 768w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Scheduler-Hints-with-New-nodes.png 878w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>The hostnames and profile can be assigned to the nodes while importing the nodes using instackenv.json<\/p>\n<p><a href=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Instackenv_json-for-New-nodes.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-47\" src=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Instackenv_json-for-New-nodes-203x300.png\" alt=\"\" width=\"203\" height=\"300\" srcset=\"https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Instackenv_json-for-New-nodes-203x300.png 203w, https:\/\/virtorbis.virtcompute.com\/wp-content\/uploads\/2018\/09\/Instackenv_json-for-New-nodes.png 610w\" sizes=\"auto, (max-width: 203px) 100vw, 203px\" \/><\/a><\/p>\n<p>Once imported, you can good to update the overcloud.<\/p>\n<p>**Note:<\/p>\n<p>During the overcloud update, if the process is aborted manually or with the timeout settings, observed that the heat resource of the new roles are stuck in error state. If try to re-deploy with the same role names, the update does not go through. As a work around if you change the role names of the new nodes, update all the template files with new role and redeploy, this will start a new heat resource and deployment completes as expected. Once update is successful, all the resource in error state are cleaned\u00a0 from undercloud.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Below steps describe the configurations required to perform scale out for compute and ceph nodes in an existing OpenStack deployment. Environment: Platform: Red Hat OpenStack 10 Compute: SRIOV nodes Scale out: One SRIOV Compute node , and 3 Additional Ceph Nodes (the scale out nodes will have a new hardware profile, and hence a new [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,3,2,4,23,21],"tags":[29,24,28,25,26,27,30],"class_list":["post-37","post","type-post","status-publish","format-standard","hentry","category-ceph","category-cloud","category-linux","category-openstack","category-red-hat-openstack","category-scaleout","tag-ceph","tag-openstack","tag-osp","tag-red-hat-openstack","tag-rhosp","tag-scaleout","tag-sriov"],"_links":{"self":[{"href":"https:\/\/virtorbis.virtcompute.com\/index.php?rest_route=\/wp\/v2\/posts\/37","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/virtorbis.virtcompute.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/virtorbis.virtcompute.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/virtorbis.virtcompute.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/virtorbis.virtcompute.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=37"}],"version-history":[{"count":5,"href":"https:\/\/virtorbis.virtcompute.com\/index.php?rest_route=\/wp\/v2\/posts\/37\/revisions"}],"predecessor-version":[{"id":52,"href":"https:\/\/virtorbis.virtcompute.com\/index.php?rest_route=\/wp\/v2\/posts\/37\/revisions\/52"}],"wp:attachment":[{"href":"https:\/\/virtorbis.virtcompute.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/virtorbis.virtcompute.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/virtorbis.virtcompute.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}