diff options
author | Ashish Singh <ashishsingh2k8@gmail.com> | 2016-08-02 13:11:35 +0530 |
---|---|---|
committer | Ashish Singh <ashishsingh2k8@gmail.com> | 2016-08-02 13:18:19 +0530 |
commit | bc90becf8cfbe672926c813670a418f125f72b7b (patch) | |
tree | 1f610824eee0719a41a692780b9bcec0ff00e2f1 | |
parent | 8f3ad08c40bd8977651794f6720eda5df61b0c26 (diff) |
Fix for the endpoint URL for kingbird
Currently, there is internal IP address which is getting populated
in tempest.conf. Since the tempest are run inside functest docker container
we need to use public IP address for accessing Kingbird services.
Now, there will not be any installer specific endpoints as we had earlier.
All should communicate with public endpoints.
Change-Id: Id22e7e4d9ece9a0000a1186113627b82d6ba400a
Signed-off-by: ashish singh <ashishsingh2k8@gmail.com>
-rwxr-xr-x | testcases/OpenStack/tempest/run_tempest.py | 59 |
1 files changed, 7 insertions, 52 deletions
diff --git a/testcases/OpenStack/tempest/run_tempest.py b/testcases/OpenStack/tempest/run_tempest.py index 3ee10b78..92a13f34 100755 --- a/testcases/OpenStack/tempest/run_tempest.py +++ b/testcases/OpenStack/tempest/run_tempest.py @@ -214,8 +214,8 @@ def configure_tempest(deployment_dir): def configure_tempest_feature(deployment_dir, mode): - """ - Add/update needed parameters into tempest.conf file generated by Rally + """Add/update needed parameters into tempest.conf file generated by Rally + """ logger.debug("Finding tempest.conf file...") @@ -231,56 +231,11 @@ def configure_tempest_feature(deployment_dir, mode): if mode == 'feature_multisite': config.set('service_available', 'kingbird', 'true') cmd = "openstack endpoint show kingbird | grep publicurl |\ - awk '{print $4}' | awk -F '/' '{print $4}'" - kingbird_api_version = os.popen(cmd).read() - if os.environ.get("INSTALLER_TYPE") == 'fuel': - # For MOS based setup, the service is accessible - # via bind host - kingbird_conf_path = "/etc/kingbird/kingbird.conf" - installer_type = os.getenv('INSTALLER_TYPE', 'Unknown') - installer_ip = os.getenv('INSTALLER_IP', 'Unknown') - installer_username = ft_utils.get_parameter_from_yaml( - "multisite." + installer_type + - "_environment.installer_username") - installer_password = ft_utils.get_parameter_from_yaml( - "multisite." + installer_type + - "_environment.installer_password") - - ssh_options = "-o UserKnownHostsFile=/dev/null -o \ - StrictHostKeyChecking=no" - - # Get the controller IP from the fuel node - cmd = 'sshpass -p %s ssh 2>/dev/null %s %s@%s \ - \'fuel node --env 1| grep controller | grep "True\| 1" \ - | awk -F\| "{print \$5}"\'' % (installer_password, - ssh_options, - installer_username, - installer_ip) - multisite_controller_ip = \ - "".join(os.popen(cmd).read().split()) - - # Login to controller and get bind host details - cmd = 'sshpass -p %s ssh 2>/dev/null %s %s@%s "ssh %s \\" \ - grep -e "^bind_" %s \\""' % (installer_password, - ssh_options, - installer_username, - installer_ip, - multisite_controller_ip, - kingbird_conf_path) - bind_details = os.popen(cmd).read() - bind_details = "".join(bind_details.split()) - # Extract port number from the bind details - bind_port = re.findall(r"\D(\d{4})", bind_details)[0] - # Extract ip address from the bind details - bind_host = re.findall(r"\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}", - bind_details)[0] - kingbird_endpoint_url = "http://" + bind_host + ":" + bind_port + \ - "/" - else: - cmd = "openstack endpoint show kingbird | grep publicurl |\ - awk '{print $4}' | awk -F '/' '{print $3}'" - kingbird_endpoint_url = os.popen(cmd).read() - + awk '{print $4}'" + kingbird_endpoint_details = "".join(os.popen(cmd).read().split()) + kingbird_endpoint_url = kingbird_endpoint_details.rsplit('/', 1)[0] + \ + '/' + kingbird_api_version = kingbird_endpoint_details.rsplit('/', 1)[1] try: config.add_section("kingbird") except Exception: |