Skip to content

Instantly share code, notes, and snippets.

@shannonmitchell
Last active April 25, 2017 18:51
Show Gist options
  • Save shannonmitchell/8694a5b0c8261d5d8d341150b1bb2f28 to your computer and use it in GitHub Desktop.
Save shannonmitchell/8694a5b0c8261d5d8d341150b1bb2f28 to your computer and use it in GitHub Desktop.
################################################
# Build out a new AIO environment for testing
################################################
(These steps are only used for testing the playbooks in an AIO environment. Can throw away after)
(The customer's environment that we are initially testing on should already be in place)
- Created an OnMetal IO v1 in IAD via the interface.
# apt-get update; apt-get install tmux git python-virtualenv
# git clone --recursive -b issues-942 https://github.com/shannonmitchell/rpc-openstack
# tmux new -s rpc-openstack
# export DEPLOY_AIO='yes'
# cd /opt/rpc-openstack/
# ./scripts/deploy.sh
###############################################
# Edit the OSA files and create the container
###############################################
(These steps should only need done once per customer)
Create a host group called aggie_hosts so setup-hosts knows which physical host to deploy
the container. This is usually a logger host, but it may not exist for some customers.
Make sure only a single host is listed under the group as multiple aggie hosts will cause
duplicate logs in the global elk stack
# vi /etc/openstack_deploy/conf.d/aggie.yml
---
aggregation_hosts:
<name of physical device container will sit(compare to other configs in conf.d)>:
ip: <ip of physical device(compare to other configs in conf.d)>
We only need one instance of aggie running as its currently a simple cron script.
# vi /etc/openstack_deploy/env.d/aggie.yml
---
component_skel:
aggie:
belongs_to:
- aggie_all
container_skel:
aggie_container:
belongs_to:
- aggregation_containers
contains:
- aggie
properties:
service_name: aggie
physical_skel:
aggregation_containers:
belongs_to:
- all_containers
aggregation_hosts:
belongs_to:
- hosts
We will want to add some config file entries so the aggregation host knows what the tenant id and
global elk stack ip is. Please see https://github.com/rcbops/rpc-role-aggie for a full list of
options. The following two are required as they do not have defaults.
# vi /etc/openstack_deploy/user_rpco_variables_overrides.yml
# Log aggregation configuration options
dest_elasticsearch_ip: 104.239.168.105
aggie_tenant_id: 123456
#######################
# Create the container
#######################
(These steps should only need done once per customer)
# cd /opt/rpc-openstack/openstack-ansible/playbooks/
# openstack-ansible setup-hosts.yml --limit 'aggie_all' --list-hosts
# openstack-ansible setup-hosts.yml --limit 'aggie_all'
######################################
# Download the latest repo if needed
######################################
/opt/rpc-openstack# ansible-galaxy install -f -i -r /opt/rpc-openstack/ansible-role-requirements.yml
Note: This only needs ran if you are updating and testing your roles
#####################################################################
# Package up the aggie software and upload to the local repo servers
#####################################################################
# cd /opt/rpc-openstack/rpcd/playbooks/
# openstack-ansible aggie-build.yml
Note: This creates a local lxc container for building the package. This can take a little while the first time it is run on the deploy box.
Note: If your deploy box os version and the environment os versions differ, specify the container release with (-e 'container_release_override=xenial')
Note: Please see https://github.com/rcbops/rpc-role-aggie-build for other variables that can be modified.
##############################
# Set up the aggie container
##############################
# cd /opt/rpc-openstack/rpcd/playbooks/
# openstack-ansible aggie.yml
Note: This requires the dest_elasticsearch_ip and aggie_tenant_id variables set up earlier.
Note: Please see https://github.com/rcbops/rpc-role-aggie for more information if needed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment