fcdb73a51b
Change docstring test steps in test_admin_node.py in check_rpm_packages_signed() Change docstring test steps in test_admin_node.py in check_remote_packages_and_mos_repositories_signed() Change docstring test steps in test_cli.py in cli_selected_nodes_deploy() Change docstring test steps in test_ssl.py in master_node_with_https_only() Change docstring test steps and show_step() numbers in test_ssl.py in endpoints_with_disabled_ssl() Change docstring test steps and show_step() numbers in test_cli_deploy.py in cli_deploy_neutron_tun() Change docstring test steps and show_step() numbers in test_cli_deploy.py in cli_deploy_tasks() Change docstring test steps and show_step() numbers in test_cli_deploy_ceph.py in cli_deploy_ceph_neutron_tun() Change docstring test steps and show_step() numbers in test_cli_deploy_ceph.py in cli_deploy_ceph_neutron_vlan() Change docstring test steps and show_step() numbers in test_cli_role.py in cli_update_role() Change docstring test steps and show_step() numbers in test_cli_role.py in cli_create_role() Change docstring test steps and show_step() numbers in test_cli_role.py in cli_create_role_with_has_primary() Change docstring test steps and show_step() numbers in test_cli_role.py in cli_delete_role() Change docstring test steps and show_step() numbers in test_cli_role.py in cli_incorrect_update_role() Change docstring test steps in test_ha_tun_group_1.py in tun_controller_base_os() Change docstring test steps in test_ha_tun_group_1.py in tun_ceph_for_images_and_objects() Change docstring test steps in test_ha_tun_group_2.py in tun_ha_ceph_base_os() Change docstring test steps in test_ha_tun_group_2.py in tun_ceph_all() Change docstring test steps in test_ha_tun_group_3.py in tun_no_volumes_ceph_for_images_and_ephemeral() Change docstring test steps in test_ha_tun_group_3.py in tun_5_ctrl_ceph_ephemeral() Change docstring test steps in test_ha_vlan_group_1.py in cinder_ceph_for_images() Change docstring test steps in test_ha_vlan_group_1.py in ceph_for_volumes_swift() Change docstring test steps in test_ha_vlan_group_2.py in cinder_ceph_for_ephemeral() Change docstring test steps in test_ha_vlan_group_2.py in cinder_ceph_for_images_ephemeral() Change docstring test steps in test_ha_vlan_group_3.py in no_storage_for_volumes_swift() Change docstring test steps and show_step() in test_ha_vlan_group_3.py in ceph_volumes_ephemeral() Change docstring test steps in test_ha_vlan_group_4.py in four_controllers() Change docstring test steps and show_step() in test_ha_vlan_group_4.py in ceph_rados_gw_no_storage_volumes() Change docstring test steps and show_step() in test_ha_vlan_group_5.py in ceph_for_volumes_images_ephemeral_rados() Change docstring test steps and show_step() in test_ha_vlan_group_5.py in cinder_ceph_for_images_ephemeral_rados() Change docstring test steps and show_step() in test_ha_vlan_group_6.py in ceph_for_images_ephemeral_rados() Change docstring test steps and show_step() in test_ha_vlan_group_6.py in ceph_for_volumes_images_ephemeral() Change docstring test steps in test_ha_vlan_group_7.py in ceph_for_images() Change docstring test steps in test_ha_vlan_group_7.py in ha_vlan_operating_system() Change docstring test description in test_use_mirror.py in deploy_with_custom_mirror() Change docstring test steps in test_mongo_multirole.py in ha_ceilometer_untag_network() Change docstring test steps and show_step() in test_multirole_group_1.py in controller_ceph_and_compute_cinder() Change docstring test steps and show_step() in test_multirole_group_1.py in controller_ceph_cinder_compute_ceph_cinder() Change docstring test steps and show_step() in test_mixed_os_components.py in mixed_components_murano_sahara_ceilometer() Change docstring test description in test_scale_group_1.py in add_controllers_stop() Change docstring test description in test_scale_group_1.py in add_ceph_stop() Change docstring test description in test_scale_group_2.py in replace_primary_controller() Change docstring test description in test_scale_group_2.py in remove_controllers() Change docstring test steps and show_step() in test_scale_group_3.py in add_delete_compute() Change docstring test steps and show_step() in test_scale_group_3.py in add_delete_cinder() Change docstring test steps in test_scale_group_4.py in add_delete_ceph() Change docstring test steps and show_step() in test_scale_group_4.py in add_delete_cinder_ceph() Correct misspelling in test_scale_group_5.py Correct misspelling in test_scale_group_6.py Add show_step() in test_deploy_platform_components.py Change docstring test steps and show_step() in test_deploy_platform_components.py in acceptance_deploy_platform_components_ceilometer() Change docstring test steps in test_separate_db_ceph.py in separate_db_ceph_service() Change docstring test steps in test_separate_keystone_ceph.py in separate_keystone_ceph_service() Change docstring test steps in test_separate_rabbitmq_ceph.py in separate_rabbit_ceph_service() Change docstring test steps in test_failover_group_1.py in lock_db_access_from_primary_controller() Change docstring test steps in test_failover_group_1.py in recovery_neutron_agents_after_restart() Change docstring test steps in test_failover_group_1.py in safe_reboot_primary_controller() Change docstring test steps in test_failover_group_1.py in hard_reset_primary_controller() Change docstring test steps and swap order of ostf tests and network verification in test_failover_group_1.py in power_outage_cinder_cluster() Change docstring test steps in test_failover_group_2.py in safe_reboot_primary_controller_ceph() Change docstring test steps and show_step() in test_failover_group_2.py in hard_reboot_primary_controller_ceph() Change docstring test steps in test_failover_mongo.py in kill_mongo_processes() Change docstring test steps in test_failover_mongo.py in close_connections_for_mongo() Change docstring test steps in test_failover_mongo.py in shut_down_mongo_node() Change-Id: I570478614682d237fd95c67d51597a35b94c610c Closes-Bug: #1560931
116 lines
4.4 KiB
Python
116 lines
4.4 KiB
Python
# Copyright 2016 Mirantis, Inc.
|
|
#
|
|
# 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.
|
|
|
|
from proboscis import test
|
|
from proboscis.asserts import assert_equal
|
|
# pylint: disable=import-error
|
|
from six.moves import http_client
|
|
from six.moves import urllib
|
|
# pylint: enable=import-error
|
|
|
|
from fuelweb_test.helpers.decorators import log_snapshot_after_test
|
|
from fuelweb_test.settings import DEPLOYMENT_MODE
|
|
from fuelweb_test.tests.base_test_case import SetupEnvironment
|
|
from fuelweb_test.tests.base_test_case import TestBasic
|
|
from fuelweb_test.helpers.os_actions import OpenStackActions
|
|
|
|
|
|
@test(groups=["ssl"])
|
|
class SSL_Tests(TestBasic):
|
|
@test(depends_on=[SetupEnvironment.prepare_release],
|
|
groups=["master_node_with_https_only"])
|
|
@log_snapshot_after_test
|
|
def master_node_with_https_only(self):
|
|
"""Check cluster creation with SSL is enabled only on Master node
|
|
|
|
Scenario:
|
|
1. Create environment using fuel-qa
|
|
2. Force master node to use https
|
|
3. Check that we cannot connect to master node by http(8000 port)
|
|
4. Bootstrap slaves nodes and
|
|
check here that they appear in nailgun
|
|
|
|
Duration 30m
|
|
"""
|
|
self.show_step(1)
|
|
self.env.revert_snapshot("ready")
|
|
admin_ip = self.ssh_manager.admin_ip
|
|
self.show_step(2)
|
|
self.show_step(3)
|
|
connection = http_client.HTTPConnection(admin_ip, 8000)
|
|
connection.request("GET", "/")
|
|
response = connection.getresponse()
|
|
assert_equal(str(response.status), '301',
|
|
message="HTTP was not disabled for master node")
|
|
self.show_step(4)
|
|
self.env.bootstrap_nodes(self.env.d_env.nodes().slaves[:2])
|
|
nodes = self.fuel_web.client.list_nodes()
|
|
assert_equal(2, len(nodes))
|
|
self.env.make_snapshot("master_node_with_https_only", is_make=True)
|
|
|
|
@test(depends_on=['master_node_with_https_only'],
|
|
groups=["endpoints_with_disabled_ssl"])
|
|
@log_snapshot_after_test
|
|
def endpoints_with_disabled_ssl(self):
|
|
"""Check MOS services are NOT running ssl on public endpoints
|
|
when TLS is disabled
|
|
|
|
Scenario:
|
|
1. Pre-condition - perform steps
|
|
from master_node_with_https_only test
|
|
2. Create a new cluster
|
|
3. Go to the Settings tab
|
|
4. Disable TLS for public endpoints
|
|
5. Add 1 controller and compute+cinder
|
|
6. Deploy cluster
|
|
7. Run OSTF
|
|
8. Check that all endpoints link to plain http protocol.
|
|
|
|
Duration 30m
|
|
"""
|
|
self.show_step(1)
|
|
self.show_step(2)
|
|
self.show_step(3)
|
|
self.show_step(4)
|
|
self.env.revert_snapshot("master_node_with_https_only")
|
|
self.show_step(5)
|
|
cluster_id = self.fuel_web.create_cluster(
|
|
name=self.__class__.__name__,
|
|
configure_ssl=False,
|
|
mode=DEPLOYMENT_MODE)
|
|
self.fuel_web.update_nodes(
|
|
cluster_id,
|
|
{
|
|
'slave-01': ['controller'],
|
|
'slave-02': ['compute', 'cinder'],
|
|
}
|
|
)
|
|
self.show_step(6)
|
|
self.fuel_web.deploy_cluster_wait(cluster_id)
|
|
self.show_step(7)
|
|
# Run OSTF
|
|
self.fuel_web.run_ostf(cluster_id=cluster_id,
|
|
test_sets=['smoke'])
|
|
self.show_step(8)
|
|
# Get controller ip address
|
|
controller_keystone_ip = self.fuel_web.get_public_vip(cluster_id)
|
|
action = OpenStackActions(controller_ip=controller_keystone_ip)
|
|
endpoint_list = action.get_keystone_endpoints()
|
|
for endpoint in endpoint_list:
|
|
url = urllib.parse.urlparse(endpoint.publicurl)
|
|
assert_equal(url.scheme, "http",
|
|
message=(
|
|
"Endpoint id {0} uses {1} instead http.".format(
|
|
endpoint.id, url.scheme)))
|