Skip to content
Snippets Groups Projects
Commit 99995d7a authored by Jenkins's avatar Jenkins Committed by Gerrit Code Review
Browse files

Merge "Removed unused hautoproxy code"

parents bcf8bca8 1c7091dc
No related branches found
No related tags found
No related merge requests found
FROM fedora:21
MAINTAINER Kolla Project (https://launchpad.net/kolla)
RUN yum -y install haproxy python-jinja2 && yum clean all
RUN mkdir -p /etc/haproxy/templates
COPY haproxy.cfg.tmpl /etc/haproxy/templates/haproxy.cfg.tmpl
COPY start.py /start.py
CMD ["/start.py"]
../../../../tools/build-docker-image
\ No newline at end of file
../../../common/hautoproxy/haproxy.cfg.tmpl
\ No newline at end of file
../../../common/hautoproxy/start.py
\ No newline at end of file
global
daemon
maxconn 4096
pidfile /var/run/haproxy.pid
defaults
mode tcp
timeout connect 5s
timeout client 1m
timeout server 1m
option redispatch
balance roundrobin
listen stats :1936
mode http
stats enable
stats hide-version
#stats realm Haproxy\ Statistics
stats uri /
#stats auth Username:Password
{% for service in services %}
listen {{ service.service_name }}
bind 127.0.0.1:{{service.local_port}}
server {{ service.remote_name }} {{ service.remote_addr }}:{{ service.remote_port}} check inter 2s rise 3 fall 2
{% endfor %}
#!/usr/bin/python
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
'''This script configures and starts a local haproxy instances, bound to
127.0.0.1, that forwards connections all of the discovered
docker/kubernetes environment variables.'''
import argparse
from jinja2 import Environment
from jinja2 import FileSystemLoader
import os
import re
import urlparse
re_url = re.compile(
'^(?P<name>.*)_PORT_(?P<port>\d+)_(?P<proto>(UDP|TCP))$')
def parse_args():
p = argparse.ArgumentParser()
p.add_argument('--output', '-o',
default='/etc/haproxy/haproxy.cfg')
p.add_argument('--no-start', '-n',
action='store_true')
p.add_argument('--template-dir', '-t',
default='/etc/haproxy/templates')
return p.parse_args()
def discover_services():
services = []
for k in os.environ:
mo = re_url.match(k)
if mo:
parts = urlparse.urlparse(os.environ[k])
remote_host, remote_port = parts.netloc.split(':')
service_name = '%(name)s-%(port)s' % mo.groupdict()
services.append({
'remote_name': mo.group('name'),
'remote_addr': remote_host,
'remote_port': remote_port,
'remote_proto': parts.scheme,
'local_port': mo.group('port'),
'service_name': service_name,
})
return services
def main():
args = parse_args()
services = discover_services()
env = Environment(loader=FileSystemLoader(['.',
args.template_dir]))
template = env.get_template('haproxy.cfg.tmpl')
with open(args.output, 'w') as fd:
fd.write(template.render(services=services))
if args.no_start:
return
os.execlp('haproxy', 'haproxy', '-f', args.output, '-db')
if __name__ == '__main__':
main()
../../centos/binary/hautoproxy
\ No newline at end of file
../../centos/binary/hautoproxy
\ No newline at end of file
......@@ -233,10 +233,6 @@ In order for each service to function, there is a minimum set of required variab
None
# Hautoproxy
None
# Heat-api-cfn
ADMIN_TENANT_NAME
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment