Skip to content

Repository files navigation

Vertica EON CloudFormation & Ansible Automation

This project provides a set of scripts and configurations to automate the deployment, configuration, and management of a Vertica EON cluster using AWS CloudFormation and Ansible.

Features

  • CloudFormation Stack Management: Create and delete AWS CloudFormation stacks for Vertica EON.
  • Inventory Generation: Automatically generate an inventory file for Ansible.
  • Ansible Playbook Execution: Run Ansible playbooks to configure and manage Vertica nodes.
  • S3 Bucket Management: Automatically empty S3 buckets associated with a CloudFormation stack.

Prerequisites

  • AWS CLI: Ensure the AWS CLI is installed and configured with appropriate permissions.
  • Python 3: Required for running the inventory generation script.
  • Ansible: Required for running the playbooks.
  • Bash: The main script is written in Bash.

Usage

Run the vertica_menu.sh script to access the interactive menu:

./vertica_menu.sh

Before starting

  1. Create a folder on your remote linux machine mkdir -p /CloudFormation
  2. make sure you have aws cli installed and able to access your AWS account as admin
  3. at this stage, VPC, Subnets and Keys should be created manually
  4. pull these scripts to the folder created in step 1
  5. download your PEM file and locate it under /CloudFormation
  6. Create a sub folder and copy your Vertica rpm there - /CloudFormation/VerticaRPMs
  7. copy your Vertica license file to /CloudFormation
  8. now you can start the instllation by running vertica_menu.sh script (make sure it's executable - chmod +x)

Menu Options

  1. Delete CloudFormation Stack
    Deletes an existing CloudFormation stack and empties associated S3 buckets.

  2. Create CloudFormation Stack
    Creates a new CloudFormation stack using the provided template.

  3. Generate Inventory File
    Generates an inventory file (inventory.ini) for Ansible using the generate_inventory.py script.

  4. Run CreateVertica Playbook
    Executes the Ansible playbook (installVerticaPlayBook.yaml) to configure and manage Vertica nodes.

  5. Exit
    Exits the menu.

Example Workflow

  1. Create a CloudFormation Stack
    Select option 2 from the menu to create a new CloudFormation stack. Provide the stack name and template file when prompted.

  2. Generate Inventory File
    Select option 3 to generate the inventory.ini file for Ansible.

  3. Run Ansible Playbook
    Select option 4 to run the installVerticaPlayBook.yaml playbook and configure the Vertica cluster.

  4. Delete CloudFormation Stack
    Select option 1 to delete the CloudFormation stack and clean up associated resources.

Screen shot

example

Outcome

nodes

Notes

  • Ensure the vertica_menu.sh script and all supporting files are in the same directory.
  • Update the CloudFormation template (VerticaTemplate.yaml) with your specific AWS configuration (e.g., Subnet ID, AMI ID, Key Pair Name).
  • Modify the Ansible playbook (installVerticaPlayBook.yaml) as needed for your environment.

License

This project uses the Vertica license file (license.key) for installation. Ensure you have the appropriate license to use Vertica.


For any issues or questions, please contact the project maintainer.

About

templates and scripts for deploying EON 3 nodes cluster on your AWS account

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages