Setup of a test cluster

The goal of this fabric script is to setup a test cluster on baremetal leveraging some tools from mini-mon.

##Steps

  • Before running first setup the following settings for your test cluster:
    • keystone host and project_id in data_bags/mon_agent/mon_agent.json
    • keystone host(serverVip) in data_bags/mon_api/mon_credentials.json
    • wsrep address in the Mon-Node role
    • servers in data_bags/zookeeper/mon.json
    • servers in data_bags/kafka/mon.json
    • vertica data bags in data_bags/vertica
      • ssh_key.json with two fields, public/private corresponding to public/private ssh keys
      • nodes data bag
  • From the utils directory (or specifying that fabfile) start the install script
    • fab cluster.setup -H host1,host2,host3
  • create kafka topics - kafka::create_topics recipe can be run on 1 machine
  • Setup the Vertica database schema - the vertica::create_db recipe and scripts can be used for reference but won't work for a cluster
    • The problems with the script are:
      • The create_db command needs all ips specified for the -s arg, they are comma seperated
      • The symbolic linking of ssl cert/key needs to be done on each node
      • The restart policy should be set to ksafe rather than always
  • Setup the mysql database schema - the mini-mon::mysql_schema tecipe can be run on 1 machine
  • Restart any services which require vertica, mysql or kafka

Optional Configuration

  • Add in the Vertica Console to one of the machines. This can be done with vertica::console recipe

Known Issues

  • If a client connects to kafka before the topics are made in some situations the topics are automatically created and can end up as the wrong size or without replicas.