Skip to content

Instantly share code, notes, and snippets.

@aakso
Created October 20, 2016 08:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save aakso/1e9dab65edf0f392d413f125a7bdcf0c to your computer and use it in GitHub Desktop.
Save aakso/1e9dab65edf0f392d413f125a7bdcf0c to your computer and use it in GitHub Desktop.
#!/bin/bash
template='
global
uid ${metadata_proxy_user}
gid ${metadata_proxy_group}
tune.bufsize 4096
defaults
timeout client 5s
timeout connect 2s
timeout server 30s
listen listener
option forwardfor
bind 0.0.0.0:${metadata_port}
mode http
server agent unix@${metadata_proxy_socket}
${router_id_header}
${network_id_header}
'
while [[ $# > 0 ]]; do
case $1 in
--pid_file*)
pid_file=${1##*=}; shift ;;
--metadata_proxy_user*)
metadata_proxy_user=${1##*=}; shift ;;
--router_id*)
router_id_header="http-request set-header X-Neutron-Router-ID ${1##*=}"; shift ;;
--network_id*)
network_id_header="http-request set-header X-Neutron-Network-ID ${1##*=}"; shift ;;
--metadata_port*)
metadata_port=${1##*=}; shift ;;
--metadata_proxy_group*)
metadata_proxy_group=${1##*=}; shift ;;
--metadata_proxy_socket*)
metadata_proxy_socket=${1##*=}; shift ;;
*) shift ;;
esac
done
eval "echo \"$template\""
eval "echo \"$template\"" | haproxy -D -p ${pid_file} -f /dev/stdin
exit $?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment