summaryrefslogtreecommitdiffstats
path: root/ci/genPublicAPIProxyBundle.py
diff options
context:
space:
mode:
Diffstat (limited to 'ci/genPublicAPIProxyBundle.py')
-rw-r--r--ci/genPublicAPIProxyBundle.py111
1 files changed, 0 insertions, 111 deletions
diff --git a/ci/genPublicAPIProxyBundle.py b/ci/genPublicAPIProxyBundle.py
deleted file mode 100644
index 87acee2c..00000000
--- a/ci/genPublicAPIProxyBundle.py
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/usr/bin/python
-# -*- coding: utf-8 -*-
-
-"""
-This script generates a bundle config for the haproxy managing public apis
-
-Parameters:
- -l, --lab : lab config file
-"""
-
-from jinja2 import Environment, FileSystemLoader
-from keystoneauth1.identity import v2
-from keystoneauth1 import session
-from keystoneclient.v2_0 import client
-from optparse import OptionParser
-
-import os
-import yaml
-
-#
-# Parse parameters
-#
-
-parser = OptionParser()
-parser.add_option("-l", "--lab", dest="lab", help="lab config file")
-(options, args) = parser.parse_args()
-labconfig_file = options.lab
-
-#
-# Set Path and configs path
-#
-
-# Capture our current directory
-TPL_DIR = os.path.dirname(os.path.abspath(__file__))+'/config_tpl'
-
-#
-# Local Functions
-#
-
-
-def load_yaml(filepath):
- """Load YAML file"""
- with open(filepath, 'r') as stream:
- try:
- return yaml.load(stream)
- except yaml.YAMLError as exc:
- print(exc)
-
-#
-# Config import
-#
-
-# Load scenario Config
-config = load_yaml(labconfig_file)
-
-# Add public api ip to config
-if 'public_api_ip' in config['lab']['racks'][0]:
- config['public_api_ip'] = config['lab']['racks'][0]['public_api_ip']
-else:
- first_public_ip = config['lab']['racks'][0][
- 'floating-ip-range'].split(',')[0]
- # managing ipv6 and ipv4 format
- sep = ':' if ':' in first_public_ip else '.'
- api_ip = first_public_ip.split(sep)
- api_ip[-1] = str(int(api_ip[-1])-1)
- config['public_api_ip'] = sep.join(api_ip)
-
-# get endpoint list from keystone
-username = os.environ['OS_USERNAME']
-password = os.environ['OS_PASSWORD']
-tenant_name = os.environ['OS_TENANT_NAME']
-auth_url = os.environ['OS_AUTH_URL']
-auth = v2.Password(username=username,
- password=password,
- tenant_name=tenant_name,
- auth_url=auth_url)
-sess = session.Session(auth=auth)
-keystone = client.Client(session=sess)
-services = keystone.services.list()
-endpoints = keystone.endpoints.list()
-srv = dict()
-for service in services:
- if service.name != 'cinderv2':
- srv[service.id] = {'name': service.name}
-for endpoint in endpoints:
- if endpoint.service_id in srv.keys():
- internal = endpoint.internalurl.split('/')[2].split(':')
- srv[endpoint.service_id]['ip'] = ':'.join(internal[:-1])
- srv[endpoint.service_id]['port'] = internal[-1]
-config['public_api_services'] = srv
-
-#
-# Transform template to deployconfig.yaml according to config
-#
-
-# Create the jinja2 environment.
-env = Environment(loader=FileSystemLoader(TPL_DIR),
- trim_blocks=True)
-template = env.get_template('public-api-proxy.yaml')
-
-# Render the template
-output = template.render(**config)
-
-# Check output syntax
-try:
- yaml.load(output)
-except yaml.YAMLError as exc:
- print(exc)
-
-# print output
-print(output)