Consul Setup - Seagate/cortx-utils GitHub Wiki


Pre-Requisites

For 3 node provisioning, perform the instructions on all 3 nodes.

  1. Install Consul rpm

    wget https://github.com/Seagate/cortx/releases/download/third-party-deps-1.0.0-0/third-party-centos-7.9.2009-1.0.0-0.tar.gz
    tar -xvf third-party-centos-7.9.2009-1.0.0-0.tar.gz
    cd centos-7.9.2009-2.0.0-latest/commons/consul/consul_1.9.1/
    sudo yum install ./consul-1.9.1-1.x86_64.rpm -y
    
  2. Install cortx-py-utils

    Follow cortx-py-utils installtion guide till installation stage.


Mini Provisioning

  • For 3-node provisioning perform each step on every node

Post_Install

  • Replace template values with real from the file /opt/seagate/cortx/utils/conf/consul.post_install.tmpl or template-file & save it as /tmp/consul.post_install.
  • Run the post_install command
    /opt/seagate/cortx/utils/bin/consul_setup post_install --config yaml:///tmp/consul.post_install
    

Prepare

  • Replace template values with real from the file /opt/seagate/cortx/utils/conf/consul.prepare.tmpl or template-file & save it as /tmp/consul.prepare.
  • Run the prepare command
    /opt/seagate/cortx/utils/bin/consul_setup prepare --config yaml:///tmp/consul.prepare
    

Config

  • Replace template values with real from the file
    • for 1 node: /opt/seagate/cortx/utils/conf/consul.config.tmpl.1-node or template-file & save it as /tmp/consul.config.1-node.
    • for 3 node: /opt/seagate/cortx/utils/conf/consul.config.tmpl.3-node or template-file & save it as /tmp/consul.config.3-node.
    TMPL_CONSUL_CONF_PATH => local dir path where consul configuartions will be store, eg: /opt/consul/conf
    TMPL_CONSUL_DATA_PATH => local dir path where consul data will be stored, eg: /opt/consul/data
    TMPL_DATA_PRIVATE_FQDN => private FQDN of the local machine, eg: srvnode-1.data.private
    TMPL_DATA_PRIVATE_INTERFACE => private network interface name, eg: eth0, enp175s0f1
    TMPL_CONSUL_SERVER => add "consul_server" if the node is consul server else keep the array empty.
    
  • Sample Config Files:
  • Run the config command
    • 1 node:
      /opt/seagate/cortx/utils/bin/consul_setup config --config yaml:///tmp/consul.config.1-node
      
    • 3 node:
      /opt/seagate/cortx/utils/bin/consul_setup config --config yaml:///tmp/consul.config.3-node
      

Init

  • Replace template values with real from the file /opt/seagate/cortx/utils/conf/consul.init.tmpl or template-file & save it as /tmp/consul.init.
  • Run the init command
    /opt/seagate/cortx/utils/bin/consul_setup init --config yaml:///tmp/consul.init
    

Now, The consul should be up and running on all 3 nodes

Test (Optional)

  • Install the cortx-py-utils-test rpm as described in the guide.
  • Replace template values with real from the file /opt/seagate/cortx/utils/conf/consul.test.tmpl or template-file & save it as /tmp/consul.test.
  • Run the test command
    /opt/seagate/cortx/utils/bin/consul_setup test --config yaml:///tmp/consul.test
    

Reset

  • Replace template values with real from the file /opt/seagate/cortx/utils/conf/consul.reset.tmpl or template-file & save it as /tmp/consul.reset.
  • Run the reset command
    /opt/seagate/cortx/utils/bin/consul_setup reset --config yaml:///tmp/consul.reset
    

Cleanup

  • Replace template values with real from the file /opt/seagate/cortx/utils/conf/consul.cleanup.tmpl or template-file & save it as /tmp/consul.cleanup.
    TMPL_CONSUL_CONF_PATH => local dir path where consul configuartions will be store, eg: /opt/consul/conf
    TMPL_CONSUL_DATA_PATH => local dir path where consul data will be stored, eg: /opt/consul/data
    
  • Sample Cleanup Configuration Files:
  • Run the cleanup command
    • Normal: configurations done till and excluding post_install stage will be undone/removed.
      /opt/seagate/cortx/utils/bin/consul_setup cleanup --config yaml:///tmp/consul.cleanup
      
    • Pre-Factory: configurations done till and including post_install stage will be undone/removed.
      /opt/seagate/cortx/utils/bin/consul_setup cleanup --config yaml:///tmp/consul.cleanup --pre-factory