red-hat-storage / openshift-cic

CNS Inventory file Creator (CIC) , also works for OCS
GNU General Public License v3.0
31 stars 7 forks source link

Option to choose between CNS and CRS deployment methods. #43

Open ashmitha7 opened 6 years ago

ashmitha7 commented 6 years ago

I know the tool is called CNS Inventory creator. But in the README.md, it is mentioned for CNS and CRS. We should have an option to choose between CNS and CRS deployment methods. In the case of CRS, the glusterfs group and the glusterfs_registry in the inventory file will have the glusterfs_ip .
For example,

[glusterfs] dhcpxx-xx.lab.eng.blr.redhat.com glusterfs_devices='["/dev/sde", "/dev/sdf" ]' glusterfs_ip=10.70.xx.xx dhcpxx-xx.lab.eng.blr.redhat.com glusterfs_devices='[ "/dev/sde","/dev/sdf" ]' glusterfs_ip=10.70.xx.xx dhcpxx-xx.lab.eng.blr.redhat.com glusterfs_devices='[ "/dev/sde","/dev/sdf" ]' glusterfs_ip=10.70.xx.xx

[glusterfs_registry] dhcpxx-xx.lab.eng.blr.redhat.com glusterfs_devices='[ "/dev/xvdf" ]' glusterfs_ip=10.70.xx.xx dhcpxx-xx.lab.eng.blr.redhat.com glusterfs_devices='[ "/dev/xvdf" ]' glusterfs_ip=10.70.xx.xx dhcpxx-xx.lab.eng.blr.redhat.com glusterfs_devices='[ "/dev/xvdf" ]' glusterfs_ip=10.70.xx.xx

ramkrsna commented 6 years ago

There is already an issue #30 opened , which is a similar request. @ashmitha7 @netzzer Does the calculations for Block hosting volume and total storage allocation be in the CRS scenario.

netzzer commented 6 years ago

README.md updated to be more generic. Currently CIC support OCP 3.9 + CNS 3.9 and OCP 3.10 + OCS 3.10 converged mode (after OCS 3.10 is released). We will look to support OCP 3.9 + CRS 3.9 and OCP 3.10 + OCS 3.10 independent mode in the future (aka CRS 3.10).

netzzer commented 6 years ago

Example of additional options for 3-5 nodes (1 gluster cluster). Add additional options to create heketi and glusterblock-provisioner pods on OCP and to create one CRS or OCS independent mode cluster. The inventory file options are EXACTLY the same for OCP 3.9 and OCP 3.10 for CRS/OCS independent mode.

openshift_storage_glusterfs_namespace=app-storage openshift_storage_glusterfs_storageclass=true openshift_storage_glusterfs_storageclass_default=false openshift_storage_glusterfs_block_deploy=true openshift_storage_glusterfs_block_host_vol_create=true openshift_storage_glusterfs_block_host_vol_size= openshift_storage_glusterfs_block_storageclass=true openshift_storage_glusterfs_block_storageclass_default=false +openshift_storage_glusterfs_is_native=false +openshift_storage_glusterfs_heketi_is_native=true +openshift_storage_glusterfs_heketi_executor=ssh +openshift_storage_glusterfs_heketi_ssh_port=22 +openshift_storage_glusterfs_heketi_ssh_user=root +openshift_storage_glusterfs_heketi_ssh_sudo=false +openshift_storage_glusterfs_heketi_ssh_keyfile="/root/.ssh/id_rsa"

netzzer commented 6 years ago

Example of additional options for 6+ nodes (2 gluster cluster). Add additional options to create heketi (2) and glusterblock-provisioner(1) pods on OCP and to create two CRS or OCS independent mode cluster. The inventory file options are EXACTLY the same for OCP 3.9 and OCP 3.10 for CRS/OCS independent mode.

openshift_storage_glusterfs_namespace=app-storage openshift_storage_glusterfs_storageclass=true openshift_storage_glusterfs_storageclass_default=false openshift_storage_glusterfs_block_deploy=false +openshift_storage_glusterfs_is_native=false +openshift_storage_glusterfs_heketi_is_native=true +openshift_storage_glusterfs_heketi_executor=ssh +openshift_storage_glusterfs_heketi_ssh_port=22 +openshift_storage_glusterfs_heketi_ssh_user=root +openshift_storage_glusterfs_heketi_ssh_sudo=false +openshift_storage_glusterfs_heketi_ssh_keyfile="/root/.ssh/id_rsa"

openshift_storage_glusterfs_registry_namespace=infra-storage openshift_storage_glusterfs_registry_storageclass=false openshift_storage_glusterfs_registry_storageclass_default=false openshift_storage_glusterfs_registry_block_deploy=true openshift_storage_glusterfs_registry_block_host_vol_create=true openshift_storage_glusterfs_registry_block_host_vol_size= openshift_storage_glusterfs_registry_block_storageclass=true openshift_storage_glusterfs_registry_block_storageclass_default=false +openshift_storage_glusterfs_registry_is_native=false +openshift_storage_glusterfs_registry_heketi_is_native=true +openshift_storage_glusterfs_registry_heketi_executor=ssh +openshift_storage_glusterfs_registry_heketi_ssh_port=22 +openshift_storage_glusterfs_registry_heketi_ssh_user=root +openshift_storage_glusterfs_registry_heketi_ssh_sudo=false +openshift_storage_glusterfs_registry_heketi_ssh_keyfile="/root/.ssh/id_rsa"

netzzer commented 6 years ago

Also need to add 'glusterfs_ip' parameter for either 1 cluster, [glusterfs] only, or 2 cluster, [glusterfs] and [glusterfs_registry], as shown below. The glusterfs_ip should be the IP address of the gluster storage server (resolves to hostname) that will be used by heketi to create the gluster cluster.

[glusterfs] node11.example.com glusterfs_ip= glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]' node12.example.com glusterfs_ip= glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]' node13.example.com glusterfs_ip= glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]' node14.example.com glusterfs_ip= glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]'

[glusterfs_registry] node15.example.com glusterfs_ip= glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]' node16.example.com glusterfs_ip= glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]' node17.example.com glusterfs_ip= glusterfs_devices='[ "/dev/xvdc", "/dev/xvdd" ]'