Resource Finder to get full path to resource files
In order to support using starlingx as a submodule in outer projects, implementing resource_finder.py as a utility to find the full path to resources. Change-Id: I72d6d51eab218927349a02a64771959390624df5
This commit is contained in:
parent
82d417b9e6
commit
456e942169
@ -6,6 +6,7 @@ from config.lab.objects.lab_config import LabConfig
|
|||||||
from config.logger.objects.logger_config import LoggerConfig
|
from config.logger.objects.logger_config import LoggerConfig
|
||||||
from config.rest_api.objects.rest_api_config import RestAPIConfig
|
from config.rest_api.objects.rest_api_config import RestAPIConfig
|
||||||
from config.web.objects.web_config import WebConfig
|
from config.web.objects.web_config import WebConfig
|
||||||
|
from framework.resources.resource_finder import get_stx_resource_path
|
||||||
|
|
||||||
|
|
||||||
class ConfigurationManagerClass:
|
class ConfigurationManagerClass:
|
||||||
@ -39,31 +40,31 @@ class ConfigurationManagerClass:
|
|||||||
|
|
||||||
lab_config_file = config_file_locations.get_lab_config_file()
|
lab_config_file = config_file_locations.get_lab_config_file()
|
||||||
if not lab_config_file:
|
if not lab_config_file:
|
||||||
lab_config_file = 'config/lab/files/default.json5'
|
lab_config_file = get_stx_resource_path('config/lab/files/default.json5')
|
||||||
|
|
||||||
k8s_config_file = config_file_locations.get_k8s_config_file()
|
k8s_config_file = config_file_locations.get_k8s_config_file()
|
||||||
if not k8s_config_file:
|
if not k8s_config_file:
|
||||||
k8s_config_file = 'config/k8s/files/default.json5'
|
k8s_config_file = get_stx_resource_path('config/k8s/files/default.json5')
|
||||||
|
|
||||||
logger_config_file = config_file_locations.get_logger_config_file()
|
logger_config_file = config_file_locations.get_logger_config_file()
|
||||||
if not logger_config_file:
|
if not logger_config_file:
|
||||||
logger_config_file = 'config/logger/files/default.json5'
|
logger_config_file = get_stx_resource_path('config/logger/files/default.json5')
|
||||||
|
|
||||||
docker_config_file = config_file_locations.get_docker_config_file()
|
docker_config_file = config_file_locations.get_docker_config_file()
|
||||||
if not docker_config_file:
|
if not docker_config_file:
|
||||||
docker_config_file = 'config/docker/files/default.json5'
|
docker_config_file = get_stx_resource_path('config/docker/files/default.json5')
|
||||||
|
|
||||||
web_config_file = config_file_locations.get_web_config_file()
|
web_config_file = config_file_locations.get_web_config_file()
|
||||||
if not web_config_file:
|
if not web_config_file:
|
||||||
web_config_file = 'config/web/files/default.json5'
|
web_config_file = get_stx_resource_path('config/web/files/default.json5')
|
||||||
|
|
||||||
database_config_file = config_file_locations.get_database_config_file()
|
database_config_file = config_file_locations.get_database_config_file()
|
||||||
if not database_config_file:
|
if not database_config_file:
|
||||||
database_config_file = 'config/database/files/default.json5'
|
database_config_file = get_stx_resource_path('config/database/files/default.json5')
|
||||||
|
|
||||||
rest_api_config_file = config_file_locations.get_rest_api_config_file()
|
rest_api_config_file = config_file_locations.get_rest_api_config_file()
|
||||||
if not rest_api_config_file:
|
if not rest_api_config_file:
|
||||||
rest_api_config_file = 'config/rest_api/files/default.json5'
|
rest_api_config_file = get_stx_resource_path('config/rest_api/files/default.json5')
|
||||||
|
|
||||||
if not self.loaded:
|
if not self.loaded:
|
||||||
try:
|
try:
|
||||||
|
@ -4,6 +4,7 @@ import json5
|
|||||||
from config.host.objects.host_configuration import HostConfiguration
|
from config.host.objects.host_configuration import HostConfiguration
|
||||||
from config.lab.objects.credentials import Credentials
|
from config.lab.objects.credentials import Credentials
|
||||||
from config.lab.objects.node import Node
|
from config.lab.objects.node import Node
|
||||||
|
from framework.resources.resource_finder import get_stx_resource_path
|
||||||
|
|
||||||
|
|
||||||
class LabConfig:
|
class LabConfig:
|
||||||
@ -27,7 +28,8 @@ class LabConfig:
|
|||||||
self.bm_password = lab_dict['bm_password']
|
self.bm_password = lab_dict['bm_password']
|
||||||
self.use_jump_server = lab_dict['use_jump_server']
|
self.use_jump_server = lab_dict['use_jump_server']
|
||||||
if 'jump_server_config' in lab_dict:
|
if 'jump_server_config' in lab_dict:
|
||||||
self.jump_server_config = HostConfiguration(lab_dict['jump_server_config'])
|
jump_host_config_location = get_stx_resource_path(lab_dict['jump_server_config'])
|
||||||
|
self.jump_server_config = HostConfiguration(jump_host_config_location)
|
||||||
|
|
||||||
self.ssh_port: int = 22
|
self.ssh_port: int = 22
|
||||||
if 'ssh_port' in lab_dict:
|
if 'ssh_port' in lab_dict:
|
||||||
@ -58,7 +60,8 @@ class LabConfig:
|
|||||||
# if subclouds are listed in the config get the list with the subcloud's names.
|
# if subclouds are listed in the config get the list with the subcloud's names.
|
||||||
if 'subclouds' in lab_dict:
|
if 'subclouds' in lab_dict:
|
||||||
for subcloud in lab_dict['subclouds']:
|
for subcloud in lab_dict['subclouds']:
|
||||||
self.subclouds.append(LabConfig(lab_dict['subclouds'][subcloud]))
|
subcloud_config_location = get_stx_resource_path((lab_dict['subclouds'][subcloud]))
|
||||||
|
self.subclouds.append(LabConfig(subcloud_config_location))
|
||||||
|
|
||||||
if 'nodes' in lab_dict:
|
if 'nodes' in lab_dict:
|
||||||
for node in lab_dict['nodes']:
|
for node in lab_dict['nodes']:
|
||||||
|
27
framework/resources/resource_finder.py
Normal file
27
framework/resources/resource_finder.py
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# This utility file contains functions to help the code find the path to resource files
|
||||||
|
# when starlingx gets used as a submodule, or from outside code.
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
|
||||||
|
def get_stx_resource_path(relative_path: str) -> str:
|
||||||
|
"""
|
||||||
|
This function will get the full path to the resource from the relative_path provided.
|
||||||
|
This will allow projects that use StarlingX as a submodule to still find resource files using the relative path.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
relative_path: The relative path to the resource.
|
||||||
|
|
||||||
|
Returns: The full path to the resource
|
||||||
|
|
||||||
|
Example:
|
||||||
|
>>> get_resource_path("framework/resources/resource_finder.py")
|
||||||
|
will return /home/user/repo/starlingx/framework/resources/resource_finder.py
|
||||||
|
"""
|
||||||
|
|
||||||
|
path_of_this_file = Path(__file__)
|
||||||
|
root_folder_of_stx = path_of_this_file.parent.parent.parent
|
||||||
|
path_to_resource = f"{str(root_folder_of_stx)}/{relative_path}"
|
||||||
|
|
||||||
|
return path_to_resource
|
||||||
|
|
||||||
|
|
@ -3,6 +3,7 @@ import time
|
|||||||
import pytest
|
import pytest
|
||||||
from config.configuration_manager import ConfigurationManager
|
from config.configuration_manager import ConfigurationManager
|
||||||
from framework.logging.automation_logger import get_logger
|
from framework.logging.automation_logger import get_logger
|
||||||
|
from framework.resources.resource_finder import get_stx_resource_path
|
||||||
from framework.ssh.secure_transfer_file.secure_transfer_file import SecureTransferFile
|
from framework.ssh.secure_transfer_file.secure_transfer_file import SecureTransferFile
|
||||||
from framework.ssh.secure_transfer_file.secure_transfer_file_enum import TransferDirection
|
from framework.ssh.secure_transfer_file.secure_transfer_file_enum import TransferDirection
|
||||||
from framework.ssh.secure_transfer_file.secure_transfer_file_input_object import SecureTransferFileInputObject
|
from framework.ssh.secure_transfer_file.secure_transfer_file_input_object import SecureTransferFileInputObject
|
||||||
@ -320,9 +321,9 @@ def deploy_pods(request, ssh_connection: SSHConnection):
|
|||||||
KubectlDeletePodsKeywords(ssh_connection).cleanup_pod('client-pod1')
|
KubectlDeletePodsKeywords(ssh_connection).cleanup_pod('client-pod1')
|
||||||
KubectlDeletePodsKeywords(ssh_connection).cleanup_pod('client-pod2')
|
KubectlDeletePodsKeywords(ssh_connection).cleanup_pod('client-pod2')
|
||||||
|
|
||||||
file_keywords.upload_file('resources/cloud_platform/sanity/pods/client-pod1.yaml', '/home/sysadmin/client-pod1.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/sanity/pods/client-pod1.yaml'), '/home/sysadmin/client-pod1.yaml')
|
||||||
file_keywords.upload_file('resources/cloud_platform/sanity/pods/client-pod2.yaml', '/home/sysadmin/client-pod2.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/sanity/pods/client-pod2.yaml'), '/home/sysadmin/client-pod2.yaml')
|
||||||
file_keywords.upload_file('resources/cloud_platform/sanity/pods/server_pod.yaml', '/home/sysadmin/server_pod.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/sanity/pods/server_pod.yaml'), '/home/sysadmin/server_pod.yaml')
|
||||||
kubectl_create_pods_keyword = KubectlCreatePodsKeywords(ssh_connection)
|
kubectl_create_pods_keyword = KubectlCreatePodsKeywords(ssh_connection)
|
||||||
kubectl_create_pods_keyword.create_from_yaml('/home/sysadmin/server_pod.yaml')
|
kubectl_create_pods_keyword.create_from_yaml('/home/sysadmin/server_pod.yaml')
|
||||||
kubectl_create_pods_keyword.create_from_yaml('/home/sysadmin/client-pod1.yaml')
|
kubectl_create_pods_keyword.create_from_yaml('/home/sysadmin/client-pod1.yaml')
|
||||||
@ -507,7 +508,7 @@ def test_dc_install_custom_app():
|
|||||||
# Defines application name, application file name, source (local) and destination (remote) file paths.
|
# Defines application name, application file name, source (local) and destination (remote) file paths.
|
||||||
app_name = 'hello-kitty'
|
app_name = 'hello-kitty'
|
||||||
app_file_name = 'hello-kitty-min-k8s-version.tgz'
|
app_file_name = 'hello-kitty-min-k8s-version.tgz'
|
||||||
local_path = f'resources/cloud_platform/containers/{app_file_name}'
|
local_path = get_stx_resource_path(f'resources/cloud_platform/containers/{app_file_name}')
|
||||||
remote_path = f'/home/{ConfigurationManager.get_lab_config().get_admin_credentials().get_user_name()}/{app_file_name}'
|
remote_path = f'/home/{ConfigurationManager.get_lab_config().get_admin_credentials().get_user_name()}/{app_file_name}'
|
||||||
|
|
||||||
# Opens an SSH session to active controller.
|
# Opens an SSH session to active controller.
|
||||||
|
@ -2,6 +2,7 @@ import time
|
|||||||
|
|
||||||
from config.configuration_manager import ConfigurationManager
|
from config.configuration_manager import ConfigurationManager
|
||||||
from framework.logging.automation_logger import get_logger
|
from framework.logging.automation_logger import get_logger
|
||||||
|
from framework.resources.resource_finder import get_stx_resource_path
|
||||||
from framework.ssh.ssh_connection import SSHConnection
|
from framework.ssh.ssh_connection import SSHConnection
|
||||||
from keywords.cloud_platform.helm.helm_keywords import HelmKeywords
|
from keywords.cloud_platform.helm.helm_keywords import HelmKeywords
|
||||||
from keywords.cloud_platform.networking.sriov.get_sriov_config_keywords import GetSriovConfigKeywords
|
from keywords.cloud_platform.networking.sriov.get_sriov_config_keywords import GetSriovConfigKeywords
|
||||||
@ -69,7 +70,7 @@ def test_push_docker_image_to_local_registry_simplex(request):
|
|||||||
|
|
||||||
local_registry = ConfigurationManager.get_docker_config().get_registry('local_registry')
|
local_registry = ConfigurationManager.get_docker_config().get_registry('local_registry')
|
||||||
|
|
||||||
FileKeywords(ssh_connection).upload_file("resources/images/busybox.tar", "/home/sysadmin/busybox.tar", overwrite=False)
|
FileKeywords(ssh_connection).upload_file(get_stx_resource_path("resources/images/busybox.tar"), "/home/sysadmin/busybox.tar", overwrite=False)
|
||||||
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
||||||
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
||||||
docker_load_image_keywords.load_docker_image_to_host('busybox.tar')
|
docker_load_image_keywords.load_docker_image_to_host('busybox.tar')
|
||||||
@ -121,7 +122,7 @@ def test_push_docker_image_to_local_registry_standby(request):
|
|||||||
|
|
||||||
local_registry = ConfigurationManager.get_docker_config().get_registry('local_registry')
|
local_registry = ConfigurationManager.get_docker_config().get_registry('local_registry')
|
||||||
|
|
||||||
FileKeywords(ssh_connection).upload_file("resources/images/busybox.tar", "/home/sysadmin/busybox.tar", overwrite=False)
|
FileKeywords(ssh_connection).upload_file(get_stx_resource_path("resources/images/busybox.tar"), "/home/sysadmin/busybox.tar", overwrite=False)
|
||||||
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
||||||
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
||||||
docker_load_image_keywords.load_docker_image_to_host('busybox.tar')
|
docker_load_image_keywords.load_docker_image_to_host('busybox.tar')
|
||||||
@ -251,7 +252,7 @@ def test_upload_charts_via_helm_upload_simplex():
|
|||||||
file_keywords.delete_file(f"{helm_chart_location}/{helm_file}")
|
file_keywords.delete_file(f"{helm_chart_location}/{helm_file}")
|
||||||
|
|
||||||
# upload file to lab
|
# upload file to lab
|
||||||
file_keywords.upload_file(f"resources/cloud_platform/containers/{helm_file}", f"/home/sysadmin/{helm_file}", overwrite=True)
|
file_keywords.upload_file(get_stx_resource_path(f"resources/cloud_platform/containers/{helm_file}"), f"/home/sysadmin/{helm_file}", overwrite=True)
|
||||||
|
|
||||||
# run helm-upload command
|
# run helm-upload command
|
||||||
HelmKeywords(ssh_connection).helm_upload('starlingx', f'/home/sysadmin/{helm_file}')
|
HelmKeywords(ssh_connection).helm_upload('starlingx', f'/home/sysadmin/{helm_file}')
|
||||||
@ -284,7 +285,7 @@ def test_upload_charts_via_helm_upload_standby_controller(request):
|
|||||||
file_keywords.delete_file(f"{helm_chart_location}/{helm_file}")
|
file_keywords.delete_file(f"{helm_chart_location}/{helm_file}")
|
||||||
|
|
||||||
# upload file to lab
|
# upload file to lab
|
||||||
file_keywords.upload_file(f"resources/cloud_platform/containers/{helm_file}", f"/home/sysadmin/{helm_file}", overwrite=True)
|
file_keywords.upload_file(get_stx_resource_path(f"resources/cloud_platform/containers/{helm_file}"), f"/home/sysadmin/{helm_file}", overwrite=True)
|
||||||
|
|
||||||
# run helm-upload command
|
# run helm-upload command
|
||||||
HelmKeywords(ssh_connection).helm_upload('starlingx', f'/home/sysadmin/{helm_file}')
|
HelmKeywords(ssh_connection).helm_upload('starlingx', f'/home/sysadmin/{helm_file}')
|
||||||
@ -504,7 +505,7 @@ def deploy_images_to_local_registry(ssh_connection: SSHConnection):
|
|||||||
local_registry = ConfigurationManager.get_docker_config().get_registry('local_registry')
|
local_registry = ConfigurationManager.get_docker_config().get_registry('local_registry')
|
||||||
|
|
||||||
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
||||||
FileKeywords(ssh_connection).upload_file("resources/images/resource-consumer.tar", "/home/sysadmin/resource-consumer.tar", overwrite=False)
|
FileKeywords(ssh_connection).upload_file(get_stx_resource_path("resources/images/resource-consumer.tar"), "/home/sysadmin/resource-consumer.tar", overwrite=False)
|
||||||
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
||||||
docker_load_image_keywords.load_docker_image_to_host('resource-consumer.tar')
|
docker_load_image_keywords.load_docker_image_to_host('resource-consumer.tar')
|
||||||
docker_load_image_keywords.tag_docker_image_for_registry('gcr.io/kubernetes-e2e-test-images/resource-consumer:1.4', 'resource-consumer', local_registry)
|
docker_load_image_keywords.tag_docker_image_for_registry('gcr.io/kubernetes-e2e-test-images/resource-consumer:1.4', 'resource-consumer', local_registry)
|
||||||
@ -537,7 +538,7 @@ def deploy_pods(request, ssh_connection: SSHConnection):
|
|||||||
|
|
||||||
request.addfinalizer(remove_deployments_and_pods)
|
request.addfinalizer(remove_deployments_and_pods)
|
||||||
|
|
||||||
FileKeywords(ssh_connection).upload_file('resources/cloud_platform/sanity/pods/consumer_app.yaml', '/home/sysadmin/consumer_app.yaml')
|
FileKeywords(ssh_connection).upload_file(get_stx_resource_path('resources/cloud_platform/sanity/pods/consumer_app.yaml'), '/home/sysadmin/consumer_app.yaml')
|
||||||
kubectl_create_pods_keyword = KubectlCreatePodsKeywords(ssh_connection)
|
kubectl_create_pods_keyword = KubectlCreatePodsKeywords(ssh_connection)
|
||||||
kubectl_create_pods_keyword.create_from_yaml('/home/sysadmin/consumer_app.yaml')
|
kubectl_create_pods_keyword.create_from_yaml('/home/sysadmin/consumer_app.yaml')
|
||||||
|
|
||||||
@ -699,7 +700,7 @@ def test_isolated_2processors_2big_pods_best_effort_simplex(request):
|
|||||||
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
||||||
|
|
||||||
file_keywords = FileKeywords(ssh_connection)
|
file_keywords = FileKeywords(ssh_connection)
|
||||||
file_keywords.upload_file("resources/images/pv-test.tar", "/home/sysadmin/pv-test.tar", overwrite=False)
|
file_keywords.upload_file(get_stx_resource_path("resources/images/pv-test.tar"), "/home/sysadmin/pv-test.tar", overwrite=False)
|
||||||
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
||||||
docker_load_image_keywords.load_docker_image_to_host('pv-test.tar')
|
docker_load_image_keywords.load_docker_image_to_host('pv-test.tar')
|
||||||
docker_load_image_keywords.tag_docker_image_for_registry('registry.local:9001/pv-test', 'pv-test', local_registry)
|
docker_load_image_keywords.tag_docker_image_for_registry('registry.local:9001/pv-test', 'pv-test', local_registry)
|
||||||
@ -709,7 +710,7 @@ def test_isolated_2processors_2big_pods_best_effort_simplex(request):
|
|||||||
# Create Pod 0 to fill the isolcpus on one processor
|
# Create Pod 0 to fill the isolcpus on one processor
|
||||||
pod0_name = "test-isolated-2p-2-big-pod-best-effort-ht-aio-pod0"
|
pod0_name = "test-isolated-2p-2-big-pod-best-effort-ht-aio-pod0"
|
||||||
isolcpus_on_processor_0 = host_cpu_output_for_validation.get_number_of_logical_cores(processor_id=0, assigned_function='Application-isolated')
|
isolcpus_on_processor_0 = host_cpu_output_for_validation.get_number_of_logical_cores(processor_id=0, assigned_function='Application-isolated')
|
||||||
template_file = "resources/cloud_platform/nightly_regression/isolated_cpu_tools.yaml"
|
template_file = get_stx_resource_path("resources/cloud_platform/nightly_regression/isolated_cpu_tools.yaml")
|
||||||
replacement_dictionary = {"pod_name": pod0_name, "number_of_isolcpus": isolcpus_on_processor_0, "host_name": active_controller_name}
|
replacement_dictionary = {"pod_name": pod0_name, "number_of_isolcpus": isolcpus_on_processor_0, "host_name": active_controller_name}
|
||||||
pod0_yaml = YamlKeywords(ssh_connection).generate_yaml_file_from_template(template_file, replacement_dictionary, "isolated_cpu_tools.yaml", "/home/sysadmin")
|
pod0_yaml = YamlKeywords(ssh_connection).generate_yaml_file_from_template(template_file, replacement_dictionary, "isolated_cpu_tools.yaml", "/home/sysadmin")
|
||||||
KubectlApplyPodsKeywords(ssh_connection).apply_from_yaml(pod0_yaml)
|
KubectlApplyPodsKeywords(ssh_connection).apply_from_yaml(pod0_yaml)
|
||||||
@ -752,7 +753,7 @@ def test_isolated_2processors_2big_pods_best_effort_simplex(request):
|
|||||||
# Create Pod 1 to fill the isolcpus on the second processor
|
# Create Pod 1 to fill the isolcpus on the second processor
|
||||||
pod1_name = "test-isolated-2p-2-big-pod-best-effort-ht-aio-pod1"
|
pod1_name = "test-isolated-2p-2-big-pod-best-effort-ht-aio-pod1"
|
||||||
isolcpus_on_processor_1 = host_cpu_output_for_validation.get_number_of_logical_cores(processor_id=1, assigned_function='Application-isolated')
|
isolcpus_on_processor_1 = host_cpu_output_for_validation.get_number_of_logical_cores(processor_id=1, assigned_function='Application-isolated')
|
||||||
template_file = "resources/cloud_platform/nightly_regression/isolated_cpu_tools.yaml"
|
template_file = get_stx_resource_path("resources/cloud_platform/nightly_regression/isolated_cpu_tools.yaml")
|
||||||
replacement_dictionary = {"pod_name": pod1_name, "number_of_isolcpus": isolcpus_on_processor_1, "host_name": active_controller_name}
|
replacement_dictionary = {"pod_name": pod1_name, "number_of_isolcpus": isolcpus_on_processor_1, "host_name": active_controller_name}
|
||||||
pod1_yaml = YamlKeywords(ssh_connection).generate_yaml_file_from_template(template_file, replacement_dictionary, "isolated_cpu_tools.yaml", "/home/sysadmin")
|
pod1_yaml = YamlKeywords(ssh_connection).generate_yaml_file_from_template(template_file, replacement_dictionary, "isolated_cpu_tools.yaml", "/home/sysadmin")
|
||||||
KubectlApplyPodsKeywords(ssh_connection).apply_from_yaml(pod1_yaml)
|
KubectlApplyPodsKeywords(ssh_connection).apply_from_yaml(pod1_yaml)
|
||||||
@ -959,7 +960,7 @@ def test_isolated_2processors_2big_pods_best_effort_standby_controller(request):
|
|||||||
KubectlCreateSecretsKeywords(standby_controller_ssh).create_secret_for_registry(local_registry, 'local-secret')
|
KubectlCreateSecretsKeywords(standby_controller_ssh).create_secret_for_registry(local_registry, 'local-secret')
|
||||||
|
|
||||||
file_keywords = FileKeywords(standby_controller_ssh)
|
file_keywords = FileKeywords(standby_controller_ssh)
|
||||||
file_keywords.upload_file("resources/images/pv-test.tar", "/home/sysadmin/pv-test.tar", overwrite=False)
|
file_keywords.upload_file(get_stx_resource_path("resources/images/pv-test.tar"), "/home/sysadmin/pv-test.tar", overwrite=False)
|
||||||
docker_load_image_keywords = DockerLoadImageKeywords(standby_controller_ssh)
|
docker_load_image_keywords = DockerLoadImageKeywords(standby_controller_ssh)
|
||||||
docker_load_image_keywords.load_docker_image_to_host('pv-test.tar')
|
docker_load_image_keywords.load_docker_image_to_host('pv-test.tar')
|
||||||
docker_load_image_keywords.tag_docker_image_for_registry('registry.local:9001/pv-test', 'pv-test', local_registry)
|
docker_load_image_keywords.tag_docker_image_for_registry('registry.local:9001/pv-test', 'pv-test', local_registry)
|
||||||
@ -969,7 +970,7 @@ def test_isolated_2processors_2big_pods_best_effort_standby_controller(request):
|
|||||||
# Create Pod 0 to fill the isolcpus on one processor
|
# Create Pod 0 to fill the isolcpus on one processor
|
||||||
pod0_name = "test-isolated-2p-2-big-pod-best-effort-ht-aio-pod0"
|
pod0_name = "test-isolated-2p-2-big-pod-best-effort-ht-aio-pod0"
|
||||||
isolcpus_on_processor_0 = host_cpu_output_for_validation.get_number_of_logical_cores(processor_id=0, assigned_function='Application-isolated')
|
isolcpus_on_processor_0 = host_cpu_output_for_validation.get_number_of_logical_cores(processor_id=0, assigned_function='Application-isolated')
|
||||||
template_file = "resources/cloud_platform/nightly_regression/isolated_cpu_tools.yaml"
|
template_file = get_stx_resource_path("resources/cloud_platform/nightly_regression/isolated_cpu_tools.yaml")
|
||||||
replacement_dictionary = {"pod_name": pod0_name, "number_of_isolcpus": isolcpus_on_processor_0, "host_name": standby_controller_name}
|
replacement_dictionary = {"pod_name": pod0_name, "number_of_isolcpus": isolcpus_on_processor_0, "host_name": standby_controller_name}
|
||||||
pod0_yaml = YamlKeywords(standby_controller_ssh).generate_yaml_file_from_template(template_file, replacement_dictionary, "isolated_cpu_tools.yaml", "/home/sysadmin")
|
pod0_yaml = YamlKeywords(standby_controller_ssh).generate_yaml_file_from_template(template_file, replacement_dictionary, "isolated_cpu_tools.yaml", "/home/sysadmin")
|
||||||
KubectlApplyPodsKeywords(standby_controller_ssh).apply_from_yaml(pod0_yaml)
|
KubectlApplyPodsKeywords(standby_controller_ssh).apply_from_yaml(pod0_yaml)
|
||||||
@ -1012,7 +1013,7 @@ def test_isolated_2processors_2big_pods_best_effort_standby_controller(request):
|
|||||||
# Create Pod 1 to fill the isolcpus on the second processor
|
# Create Pod 1 to fill the isolcpus on the second processor
|
||||||
pod1_name = "test-isolated-2p-2-big-pod-best-effort-ht-aio-pod1"
|
pod1_name = "test-isolated-2p-2-big-pod-best-effort-ht-aio-pod1"
|
||||||
isolcpus_on_processor_1 = host_cpu_output_for_validation.get_number_of_logical_cores(processor_id=1, assigned_function='Application-isolated')
|
isolcpus_on_processor_1 = host_cpu_output_for_validation.get_number_of_logical_cores(processor_id=1, assigned_function='Application-isolated')
|
||||||
template_file = "resources/cloud_platform/nightly_regression/isolated_cpu_tools.yaml"
|
template_file = get_stx_resource_path("resources/cloud_platform/nightly_regression/isolated_cpu_tools.yaml")
|
||||||
replacement_dictionary = {"pod_name": pod1_name, "number_of_isolcpus": isolcpus_on_processor_1, "host_name": standby_controller_name}
|
replacement_dictionary = {"pod_name": pod1_name, "number_of_isolcpus": isolcpus_on_processor_1, "host_name": standby_controller_name}
|
||||||
pod1_yaml = YamlKeywords(standby_controller_ssh).generate_yaml_file_from_template(template_file, replacement_dictionary, "isolated_cpu_tools.yaml", "/home/sysadmin")
|
pod1_yaml = YamlKeywords(standby_controller_ssh).generate_yaml_file_from_template(template_file, replacement_dictionary, "isolated_cpu_tools.yaml", "/home/sysadmin")
|
||||||
KubectlApplyPodsKeywords(standby_controller_ssh).apply_from_yaml(pod1_yaml)
|
KubectlApplyPodsKeywords(standby_controller_ssh).apply_from_yaml(pod1_yaml)
|
||||||
@ -1449,19 +1450,16 @@ def sriov_deploy_images_to_local_registry(ssh_connection: SSHConnection):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
local_registry = ConfigurationManager.get_docker_config().get_registry('local_registry')
|
local_registry = ConfigurationManager.get_docker_config().get_registry('local_registry')
|
||||||
|
|
||||||
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
|
||||||
|
|
||||||
file_keywords = FileKeywords(ssh_connection)
|
file_keywords = FileKeywords(ssh_connection)
|
||||||
|
|
||||||
file_keywords.upload_file("resources/images/pv-test.tar", "/home/sysadmin/pv-test.tar", overwrite=False)
|
file_keywords.upload_file(get_stx_resource_path("resources/images/pv-test.tar"), "/home/sysadmin/pv-test.tar", overwrite=False)
|
||||||
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
||||||
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
docker_load_image_keywords = DockerLoadImageKeywords(ssh_connection)
|
||||||
docker_load_image_keywords.load_docker_image_to_host('pv-test.tar')
|
docker_load_image_keywords.load_docker_image_to_host('pv-test.tar')
|
||||||
docker_load_image_keywords.tag_docker_image_for_registry('registry.local:9001/pv-test', 'pv-test', local_registry)
|
docker_load_image_keywords.tag_docker_image_for_registry('registry.local:9001/pv-test', 'pv-test', local_registry)
|
||||||
docker_load_image_keywords.push_docker_image_to_registry('pv-test', local_registry)
|
docker_load_image_keywords.push_docker_image_to_registry('pv-test', local_registry)
|
||||||
|
|
||||||
file_keywords.upload_file("resources/images/calico-ctl.tar", "/home/sysadmin/calico-ctl.tar", overwrite=False)
|
file_keywords.upload_file(get_stx_resource_path("resources/images/calico-ctl.tar"), "/home/sysadmin/calico-ctl.tar", overwrite=False)
|
||||||
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
KubectlCreateSecretsKeywords(ssh_connection).create_secret_for_registry(local_registry, 'local-secret')
|
||||||
docker_load_image_keywords.load_docker_image_to_host('calico-ctl.tar')
|
docker_load_image_keywords.load_docker_image_to_host('calico-ctl.tar')
|
||||||
docker_load_image_keywords.tag_docker_image_for_registry('registry.local:9001/calico-ctl', 'calico-ctl', local_registry)
|
docker_load_image_keywords.tag_docker_image_for_registry('registry.local:9001/calico-ctl', 'calico-ctl', local_registry)
|
||||||
@ -1496,12 +1494,12 @@ def sriov_deploy_pods(request, net_def_yaml: str, calicoctl_pod_yaml: str, ssh_c
|
|||||||
|
|
||||||
# copy required files to system
|
# copy required files to system
|
||||||
file_keywords = FileKeywords(ssh_connection)
|
file_keywords = FileKeywords(ssh_connection)
|
||||||
file_keywords.upload_file('resources/cloud_platform/nightly_regression/calicoctl_sa.yaml', '/home/sysadmin/calicoctl_sa.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/nightly_regression/calicoctl_sa.yaml'), '/home/sysadmin/calicoctl_sa.yaml')
|
||||||
file_keywords.upload_file('resources/cloud_platform/nightly_regression/calicoctl_cr.yaml', '/home/sysadmin/calicoctl_cr.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/nightly_regression/calicoctl_cr.yaml'), '/home/sysadmin/calicoctl_cr.yaml')
|
||||||
file_keywords.upload_file('resources/cloud_platform/nightly_regression/calicoctl_crb.yaml', '/home/sysadmin/calicoctl_crb.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/nightly_regression/calicoctl_crb.yaml'), '/home/sysadmin/calicoctl_crb.yaml')
|
||||||
file_keywords.upload_file('resources/cloud_platform/nightly_regression/calicoctl_pod.yaml', '/home/sysadmin/calicoctl_pod.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/nightly_regression/calicoctl_pod.yaml'), '/home/sysadmin/calicoctl_pod.yaml')
|
||||||
file_keywords.upload_file(f'resources/cloud_platform/nightly_regression/{net_def_yaml}', f'/home/sysadmin/{net_def_yaml}')
|
file_keywords.upload_file(get_stx_resource_path(f'resources/cloud_platform/nightly_regression/{net_def_yaml}'), f'/home/sysadmin/{net_def_yaml}')
|
||||||
file_keywords.upload_file(f'resources/cloud_platform/nightly_regression/{calicoctl_pod_yaml}', f'/home/sysadmin/{calicoctl_pod_yaml}')
|
file_keywords.upload_file(get_stx_resource_path(f'resources/cloud_platform/nightly_regression/{calicoctl_pod_yaml}'), f'/home/sysadmin/{calicoctl_pod_yaml}')
|
||||||
|
|
||||||
# apply config files
|
# apply config files
|
||||||
kubectl_apply_pods_keywords = KubectlApplyPodsKeywords(ssh_connection)
|
kubectl_apply_pods_keywords = KubectlApplyPodsKeywords(ssh_connection)
|
||||||
@ -1546,7 +1544,7 @@ def sriov_deploy_pods_ipv4(request, ssh_connection: SSHConnection):
|
|||||||
|
|
||||||
# copy required files to system
|
# copy required files to system
|
||||||
file_keywords = FileKeywords(ssh_connection)
|
file_keywords = FileKeywords(ssh_connection)
|
||||||
file_keywords.upload_file('resources/cloud_platform/nightly_regression/netdef_test-sriovdp_ipv4.yaml', '/home/sysadmin/netdef_test-sriovdp_ipv4.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/nightly_regression/netdef_test-sriovdp_ipv4.yaml'), '/home/sysadmin/netdef_test-sriovdp_ipv4.yaml')
|
||||||
|
|
||||||
# apply config files
|
# apply config files
|
||||||
kubectl_apply_pods_keywords = KubectlApplyPodsKeywords(ssh_connection)
|
kubectl_apply_pods_keywords = KubectlApplyPodsKeywords(ssh_connection)
|
||||||
@ -1564,7 +1562,7 @@ def deploy_daemonset_pod(request, daemonset_pod_yaml: str, ssh_connection: SSHCo
|
|||||||
Returns:
|
Returns:
|
||||||
|
|
||||||
"""
|
"""
|
||||||
FileKeywords(ssh_connection).upload_file(f'resources/cloud_platform/nightly_regression/{daemonset_pod_yaml}', f'/home/sysadmin/{daemonset_pod_yaml}')
|
FileKeywords(ssh_connection).upload_file(get_stx_resource_path(f'resources/cloud_platform/nightly_regression/{daemonset_pod_yaml}'), f'/home/sysadmin/{daemonset_pod_yaml}')
|
||||||
|
|
||||||
KubectlApplyPodsKeywords(ssh_connection).apply_from_yaml(f'/home/sysadmin/{daemonset_pod_yaml}')
|
KubectlApplyPodsKeywords(ssh_connection).apply_from_yaml(f'/home/sysadmin/{daemonset_pod_yaml}')
|
||||||
|
|
||||||
@ -1602,8 +1600,8 @@ def deploy_sriovdp_netdev_pods_ipv6(request, ssh_connection: SSHConnection):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
file_keywords = FileKeywords(ssh_connection)
|
file_keywords = FileKeywords(ssh_connection)
|
||||||
file_keywords.upload_file('resources/cloud_platform/nightly_regression/pod-test-sriovdp-netdev-connectivity-ipv6-0.yaml', '/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv6-0.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/nightly_regression/pod-test-sriovdp-netdev-connectivity-ipv6-0.yaml'), '/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv6-0.yaml')
|
||||||
file_keywords.upload_file('resources/cloud_platform/nightly_regression/pod-test-sriovdp-netdev-connectivity-ipv6-1.yaml', '/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv6-1.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/nightly_regression/pod-test-sriovdp-netdev-connectivity-ipv6-1.yaml'), '/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv6-1.yaml')
|
||||||
|
|
||||||
kubectl_apply_pods_keywords = KubectlApplyPodsKeywords(ssh_connection)
|
kubectl_apply_pods_keywords = KubectlApplyPodsKeywords(ssh_connection)
|
||||||
kubectl_apply_pods_keywords.apply_from_yaml('/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv6-0.yaml')
|
kubectl_apply_pods_keywords.apply_from_yaml('/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv6-0.yaml')
|
||||||
@ -1651,8 +1649,8 @@ def deploy_sriovdp_netdev_pods_ipv4(request, ssh_connection: SSHConnection):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
file_keywords = FileKeywords(ssh_connection)
|
file_keywords = FileKeywords(ssh_connection)
|
||||||
file_keywords.upload_file('resources/cloud_platform/nightly_regression/pod-test-sriovdp-netdev-connectivity-ipv4-0.yaml', '/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv4-0.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/nightly_regression/pod-test-sriovdp-netdev-connectivity-ipv4-0.yaml'), '/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv4-0.yaml')
|
||||||
file_keywords.upload_file('resources/cloud_platform/nightly_regression/pod-test-sriovdp-netdev-connectivity-ipv4-1.yaml', '/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv4-1.yaml')
|
file_keywords.upload_file(get_stx_resource_path('resources/cloud_platform/nightly_regression/pod-test-sriovdp-netdev-connectivity-ipv4-1.yaml'), '/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv4-1.yaml')
|
||||||
|
|
||||||
kubectl_apply_pods_keywords = KubectlApplyPodsKeywords(ssh_connection)
|
kubectl_apply_pods_keywords = KubectlApplyPodsKeywords(ssh_connection)
|
||||||
kubectl_apply_pods_keywords.apply_from_yaml('/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv4-0.yaml')
|
kubectl_apply_pods_keywords.apply_from_yaml('/home/sysadmin/pod-test-sriovdp-netdev-connectivity-ipv4-0.yaml')
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
from config.configuration_file_locations_manager import ConfigurationFileLocationsManager
|
from config.configuration_file_locations_manager import ConfigurationFileLocationsManager
|
||||||
from config.configuration_manager import ConfigurationManagerClass
|
from config.configuration_manager import ConfigurationManagerClass
|
||||||
|
from framework.resources.resource_finder import get_stx_resource_path
|
||||||
|
|
||||||
|
|
||||||
def test_default_database_config():
|
def test_default_database_config():
|
||||||
@ -26,7 +27,7 @@ def test_custom_database_config():
|
|||||||
Tests that we can load a custom database configuration.
|
Tests that we can load a custom database configuration.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
custom_file = 'unit_tests/config/database/custom_database_config.json5'
|
custom_file = get_stx_resource_path('unit_tests/config/database/custom_database_config.json5')
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_database_config_file(custom_file)
|
config_file_locations.set_database_config_file(custom_file)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
from config.configuration_file_locations_manager import ConfigurationFileLocationsManager
|
from config.configuration_file_locations_manager import ConfigurationFileLocationsManager
|
||||||
from config.configuration_manager import ConfigurationManagerClass
|
from config.configuration_manager import ConfigurationManagerClass
|
||||||
|
from framework.resources.resource_finder import get_stx_resource_path
|
||||||
|
|
||||||
|
|
||||||
def test_dc_config_loads_successfully():
|
def test_dc_config_loads_successfully():
|
||||||
@ -10,7 +11,7 @@ def test_dc_config_loads_successfully():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config() is not None, 'dc template config did not load successfully'
|
assert configuration_manager.get_lab_config() is not None, 'dc template config did not load successfully'
|
||||||
|
|
||||||
@ -23,7 +24,7 @@ def test_dc_config_loads_floating_ip():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().get_floating_ip() == '10.2.3.125', 'floating ip was incorrect'
|
assert configuration_manager.get_lab_config().get_floating_ip() == '10.2.3.125', 'floating ip was incorrect'
|
||||||
|
|
||||||
@ -36,7 +37,7 @@ def test_dc_config_loads_lab_name():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().get_lab_name() == 'MyDCLab', 'Lab name was incorrect'
|
assert configuration_manager.get_lab_config().get_lab_name() == 'MyDCLab', 'Lab name was incorrect'
|
||||||
|
|
||||||
@ -49,7 +50,7 @@ def test_dc_config_loads_lab_type():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().get_lab_type() == 'Standard', 'lab type was incorrect'
|
assert configuration_manager.get_lab_config().get_lab_type() == 'Standard', 'lab type was incorrect'
|
||||||
|
|
||||||
@ -62,7 +63,7 @@ def test_dc_config_loads_admin_credentials():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
admin_credentials = configuration_manager.get_lab_config().get_admin_credentials()
|
admin_credentials = configuration_manager.get_lab_config().get_admin_credentials()
|
||||||
assert admin_credentials is not None, 'error loading admin credentials'
|
assert admin_credentials is not None, 'error loading admin credentials'
|
||||||
@ -78,7 +79,7 @@ def test_dc_config_loads_nodes():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
nodes = configuration_manager.get_lab_config().get_nodes()
|
nodes = configuration_manager.get_lab_config().get_nodes()
|
||||||
assert len(list(filter(lambda node: node.get_name() == 'controller-0', nodes))) == 1, 'Controller-0 not in nodes'
|
assert len(list(filter(lambda node: node.get_name() == 'controller-0', nodes))) == 1, 'Controller-0 not in nodes'
|
||||||
@ -95,7 +96,7 @@ def test_dc_config_controller_0():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
node = configuration_manager.get_lab_config().get_node('controller-0')
|
node = configuration_manager.get_lab_config().get_node('controller-0')
|
||||||
assert node.get_ip() == '10.2.3.126', 'controller-0 ip is incorrect'
|
assert node.get_ip() == '10.2.3.126', 'controller-0 ip is incorrect'
|
||||||
@ -111,7 +112,7 @@ def test_dc_config_controller_1():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
node = configuration_manager.get_lab_config().get_node('controller-1')
|
node = configuration_manager.get_lab_config().get_node('controller-1')
|
||||||
assert node.get_ip() == '10.2.3.127', 'controller-1 ip is incorrect'
|
assert node.get_ip() == '10.2.3.127', 'controller-1 ip is incorrect'
|
||||||
@ -127,7 +128,7 @@ def test_dc_config_compute_0():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
node = configuration_manager.get_lab_config().get_node('compute-0')
|
node = configuration_manager.get_lab_config().get_node('compute-0')
|
||||||
assert node.get_ip() == '10.2.3.128', 'compute-0 ip is incorrect'
|
assert node.get_ip() == '10.2.3.128', 'compute-0 ip is incorrect'
|
||||||
@ -143,7 +144,7 @@ def test_dc_config_compute_1():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
node = configuration_manager.get_lab_config().get_node('compute-1')
|
node = configuration_manager.get_lab_config().get_node('compute-1')
|
||||||
assert node.get_ip() == '10.2.3.129', 'compute-1 ip is incorrect'
|
assert node.get_ip() == '10.2.3.129', 'compute-1 ip is incorrect'
|
||||||
@ -159,7 +160,7 @@ def test_dc_config_ipv4():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().is_ipv6() is False, 'lab is not ipv4'
|
assert configuration_manager.get_lab_config().is_ipv6() is False, 'lab is not ipv4'
|
||||||
|
|
||||||
@ -172,7 +173,7 @@ def test_dc_subclouds_loaded():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subclouds = configuration_manager.get_lab_config().get_subclouds()
|
subclouds = configuration_manager.get_lab_config().get_subclouds()
|
||||||
assert len(list(filter(lambda subcloud: subcloud.get_lab_name() == 'Subcloud1', subclouds))) == 1, 'Subcloud1 not in nodes'
|
assert len(list(filter(lambda subcloud: subcloud.get_lab_name() == 'Subcloud1', subclouds))) == 1, 'Subcloud1 not in nodes'
|
||||||
@ -187,7 +188,7 @@ def test_dc_subcloud1_config_loads_floating_ip():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
||||||
assert subcloud1.get_floating_ip() == '10.2.3.130', 'floating ip was incorrect'
|
assert subcloud1.get_floating_ip() == '10.2.3.130', 'floating ip was incorrect'
|
||||||
@ -201,7 +202,7 @@ def test_dc_subcloud1_config_loads_lab_name():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
||||||
assert subcloud1.get_lab_name() == 'Subcloud1', 'Sublcloud name was incorrect'
|
assert subcloud1.get_lab_name() == 'Subcloud1', 'Sublcloud name was incorrect'
|
||||||
@ -215,7 +216,7 @@ def test_dc_subcloud1_config_loads_lab_type():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
||||||
assert subcloud1.get_lab_type() == 'Standard', 'subcloud type was incorrect'
|
assert subcloud1.get_lab_type() == 'Standard', 'subcloud type was incorrect'
|
||||||
@ -229,7 +230,7 @@ def test_dc_subcloud1_config_loads_admin_credentials():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
||||||
admin_credentials = subcloud1.get_admin_credentials()
|
admin_credentials = subcloud1.get_admin_credentials()
|
||||||
@ -246,7 +247,7 @@ def test_dc_subcloud1_config_loads_nodes():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
||||||
nodes = subcloud1.get_nodes()
|
nodes = subcloud1.get_nodes()
|
||||||
@ -264,7 +265,7 @@ def test_dc_subcloud1_config_controller_0():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
||||||
node = subcloud1.get_node('controller-0')
|
node = subcloud1.get_node('controller-0')
|
||||||
@ -281,7 +282,7 @@ def test_dc_subcloud1_config_controller_1():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
||||||
node = subcloud1.get_node('controller-1')
|
node = subcloud1.get_node('controller-1')
|
||||||
@ -298,7 +299,7 @@ def test_dc_subcloud1_config_compute_0():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
||||||
node = subcloud1.get_node('compute-0')
|
node = subcloud1.get_node('compute-0')
|
||||||
@ -315,7 +316,7 @@ def test_dc_subcloud1_config_compute_1():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
||||||
node = subcloud1.get_node('compute-1')
|
node = subcloud1.get_node('compute-1')
|
||||||
@ -332,7 +333,7 @@ def test_dc_subcloud1_config_ipv4():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
subcloud1 = configuration_manager.get_lab_config().get_subcloud('Subcloud1')
|
||||||
|
|
||||||
@ -347,7 +348,7 @@ def test_dc_subcloud2_config_loads_floating_ip():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
||||||
assert subcloud2.get_floating_ip() == '10.2.3.135', 'floating ip was incorrect'
|
assert subcloud2.get_floating_ip() == '10.2.3.135', 'floating ip was incorrect'
|
||||||
@ -361,7 +362,7 @@ def test_dc_subcloud2_config_loads_lab_name():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
||||||
assert subcloud2.get_lab_name() == 'Subcloud2', 'Sublcloud name was incorrect'
|
assert subcloud2.get_lab_name() == 'Subcloud2', 'Sublcloud name was incorrect'
|
||||||
@ -375,7 +376,7 @@ def test_dc_subcloud2_config_loads_lab_type():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
||||||
assert subcloud2.get_lab_type() == 'Simplex', 'subcloud type was incorrect'
|
assert subcloud2.get_lab_type() == 'Simplex', 'subcloud type was incorrect'
|
||||||
@ -389,7 +390,7 @@ def test_dc_subcloud2_config_loads_admin_credentials():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
||||||
admin_credentials = subcloud2.get_admin_credentials()
|
admin_credentials = subcloud2.get_admin_credentials()
|
||||||
@ -406,7 +407,7 @@ def test_dc_subcloud2_config_loads_nodes():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
||||||
nodes = subcloud2.get_nodes()
|
nodes = subcloud2.get_nodes()
|
||||||
@ -421,7 +422,7 @@ def test_dc_subcloud2_config_controller_0():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
||||||
node = subcloud2.get_node('controller-0')
|
node = subcloud2.get_node('controller-0')
|
||||||
@ -438,7 +439,7 @@ def test_dc_subcloud2_config_ipv4():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
subcloud2 = configuration_manager.get_lab_config().get_subcloud('Subcloud2')
|
||||||
|
|
||||||
@ -453,7 +454,7 @@ def test_dc_is_dc_true():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_dc.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_dc.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
|
|
||||||
assert configuration_manager.get_lab_config().is_dc(), 'Lab was not marked as dc'
|
assert configuration_manager.get_lab_config().is_dc(), 'Lab was not marked as dc'
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
from config.configuration_file_locations_manager import ConfigurationFileLocationsManager
|
from config.configuration_file_locations_manager import ConfigurationFileLocationsManager
|
||||||
from config.configuration_manager import ConfigurationManagerClass
|
from config.configuration_manager import ConfigurationManagerClass
|
||||||
|
from framework.resources.resource_finder import get_stx_resource_path
|
||||||
|
|
||||||
|
|
||||||
def test_simplex_config_loads_successfully():
|
def test_simplex_config_loads_successfully():
|
||||||
@ -10,7 +11,7 @@ def test_simplex_config_loads_successfully():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_simplex.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_simplex.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config() is not None, 'simplex template config did not load successfully'
|
assert configuration_manager.get_lab_config() is not None, 'simplex template config did not load successfully'
|
||||||
|
|
||||||
@ -23,7 +24,7 @@ def test_simplex_config_loads_floating_ip():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_simplex.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_simplex.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().get_floating_ip() == '3851:dc57:c69a:3c77:5d53:29a1:f39c:3d9f', 'floating ip was incorrect'
|
assert configuration_manager.get_lab_config().get_floating_ip() == '3851:dc57:c69a:3c77:5d53:29a1:f39c:3d9f', 'floating ip was incorrect'
|
||||||
|
|
||||||
@ -36,7 +37,7 @@ def test_simplex_config_loads_lab_name():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_simplex.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_simplex.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().get_lab_name() == 'MySimplexLab', 'Lab name was incorrect'
|
assert configuration_manager.get_lab_config().get_lab_name() == 'MySimplexLab', 'Lab name was incorrect'
|
||||||
|
|
||||||
@ -49,7 +50,7 @@ def test_simplex_config_loads_lab_type():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_simplex.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_simplex.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().get_lab_type() == 'Simplex', 'lab type was incorrect'
|
assert configuration_manager.get_lab_config().get_lab_type() == 'Simplex', 'lab type was incorrect'
|
||||||
|
|
||||||
@ -62,7 +63,7 @@ def test_simplex_config_loads_admin_credentials():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_simplex.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_simplex.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
admin_credentials = configuration_manager.get_lab_config().get_admin_credentials()
|
admin_credentials = configuration_manager.get_lab_config().get_admin_credentials()
|
||||||
assert admin_credentials is not None, 'error loading admin credentials'
|
assert admin_credentials is not None, 'error loading admin credentials'
|
||||||
@ -78,7 +79,7 @@ def test_simplex_config_loads_nodes():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_simplex.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_simplex.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
nodes = configuration_manager.get_lab_config().get_nodes()
|
nodes = configuration_manager.get_lab_config().get_nodes()
|
||||||
assert len(list(filter(lambda node: node.get_name() == 'controller-0', nodes))) == 1, 'controller-0 not in nodes'
|
assert len(list(filter(lambda node: node.get_name() == 'controller-0', nodes))) == 1, 'controller-0 not in nodes'
|
||||||
@ -92,7 +93,7 @@ def test_simplex_config_controller_0():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_simplex.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_simplex.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
node = configuration_manager.get_lab_config().get_node('controller-0')
|
node = configuration_manager.get_lab_config().get_node('controller-0')
|
||||||
assert node.get_ip() == '3851:dc57:c69a:3c77:5d53:29a1:f39c:3d9f', 'controller-0 ip is incorrect'
|
assert node.get_ip() == '3851:dc57:c69a:3c77:5d53:29a1:f39c:3d9f', 'controller-0 ip is incorrect'
|
||||||
@ -108,7 +109,7 @@ def test_simplex_config_ipv4():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_simplex.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_simplex.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().is_ipv6(), 'lab is not ipv6'
|
assert configuration_manager.get_lab_config().is_ipv6(), 'lab is not ipv6'
|
||||||
|
|
||||||
@ -121,7 +122,7 @@ def test_default_horizon_credentials():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_simplex.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_simplex.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().get_horizon_credentials().get_user_name(), 'admin'
|
assert configuration_manager.get_lab_config().get_horizon_credentials().get_user_name(), 'admin'
|
||||||
assert configuration_manager.get_lab_config().get_horizon_credentials().get_password(), 'fake_password'
|
assert configuration_manager.get_lab_config().get_horizon_credentials().get_password(), 'fake_password'
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
from config.configuration_file_locations_manager import ConfigurationFileLocationsManager
|
from config.configuration_file_locations_manager import ConfigurationFileLocationsManager
|
||||||
from config.configuration_manager import ConfigurationManagerClass
|
from config.configuration_manager import ConfigurationManagerClass
|
||||||
|
from framework.resources.resource_finder import get_stx_resource_path
|
||||||
|
|
||||||
|
|
||||||
def test_standard_config_loads_successfully():
|
def test_standard_config_loads_successfully():
|
||||||
@ -10,7 +11,7 @@ def test_standard_config_loads_successfully():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config() is not None, 'standard template config did not load successfully'
|
assert configuration_manager.get_lab_config() is not None, 'standard template config did not load successfully'
|
||||||
|
|
||||||
@ -23,7 +24,7 @@ def test_standard_config_loads_floating_ip():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().get_floating_ip() == '10.2.3.120', 'floating ip was incorrect'
|
assert configuration_manager.get_lab_config().get_floating_ip() == '10.2.3.120', 'floating ip was incorrect'
|
||||||
|
|
||||||
@ -36,7 +37,7 @@ def test_standard_config_loads_lab_name():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().get_lab_name() == 'MyLab', 'Lab name was incorrect'
|
assert configuration_manager.get_lab_config().get_lab_name() == 'MyLab', 'Lab name was incorrect'
|
||||||
|
|
||||||
@ -49,7 +50,7 @@ def test_standard_config_loads_lab_type():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().get_lab_type() == 'Standard', 'lab type was incorrect'
|
assert configuration_manager.get_lab_config().get_lab_type() == 'Standard', 'lab type was incorrect'
|
||||||
|
|
||||||
@ -62,7 +63,7 @@ def test_standard_config_loads_admin_credentials():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
admin_credentials = configuration_manager.get_lab_config().get_admin_credentials()
|
admin_credentials = configuration_manager.get_lab_config().get_admin_credentials()
|
||||||
assert admin_credentials is not None, 'error loading admin credentials'
|
assert admin_credentials is not None, 'error loading admin credentials'
|
||||||
@ -78,7 +79,7 @@ def test_standard_config_loads_nodes():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
nodes = configuration_manager.get_lab_config().get_nodes()
|
nodes = configuration_manager.get_lab_config().get_nodes()
|
||||||
assert len(list(filter(lambda node: node.get_name() == 'controller-0', nodes))) == 1, 'controller-0 not in nodes'
|
assert len(list(filter(lambda node: node.get_name() == 'controller-0', nodes))) == 1, 'controller-0 not in nodes'
|
||||||
@ -95,7 +96,7 @@ def test_standard_config_controller_0():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
node = configuration_manager.get_lab_config().get_node('controller-0')
|
node = configuration_manager.get_lab_config().get_node('controller-0')
|
||||||
assert node.get_ip() == '10.2.3.121', 'controller-0 ip is incorrect'
|
assert node.get_ip() == '10.2.3.121', 'controller-0 ip is incorrect'
|
||||||
@ -111,7 +112,7 @@ def test_standard_config_controller_1():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
node = configuration_manager.get_lab_config().get_node('controller-1')
|
node = configuration_manager.get_lab_config().get_node('controller-1')
|
||||||
assert node.get_ip() == '10.2.3.122', 'controller-1 ip is incorrect'
|
assert node.get_ip() == '10.2.3.122', 'controller-1 ip is incorrect'
|
||||||
@ -127,7 +128,7 @@ def test_standard_config_compute_0():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
node = configuration_manager.get_lab_config().get_node('compute-0')
|
node = configuration_manager.get_lab_config().get_node('compute-0')
|
||||||
assert node.get_ip() == '10.2.3.123', 'compute-0 ip is incorrect'
|
assert node.get_ip() == '10.2.3.123', 'compute-0 ip is incorrect'
|
||||||
@ -143,7 +144,7 @@ def test_standard_config_compute_1():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
node = configuration_manager.get_lab_config().get_node('compute-1')
|
node = configuration_manager.get_lab_config().get_node('compute-1')
|
||||||
assert node.get_ip() == '10.2.3.124', 'compute-1 ip is incorrect'
|
assert node.get_ip() == '10.2.3.124', 'compute-1 ip is incorrect'
|
||||||
@ -159,6 +160,6 @@ def test_standard_config_ipv4():
|
|||||||
"""
|
"""
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_lab_config_file('config/lab/files/template_standard.json5')
|
config_file_locations.set_lab_config_file(get_stx_resource_path('config/lab/files/template_standard.json5'))
|
||||||
configuration_manager.load_configs(config_file_locations)
|
configuration_manager.load_configs(config_file_locations)
|
||||||
assert configuration_manager.get_lab_config().is_ipv6() is False, 'lab is not ipv4'
|
assert configuration_manager.get_lab_config().is_ipv6() is False, 'lab is not ipv4'
|
||||||
|
@ -3,6 +3,7 @@ import os
|
|||||||
|
|
||||||
from config.configuration_file_locations_manager import ConfigurationFileLocationsManager
|
from config.configuration_file_locations_manager import ConfigurationFileLocationsManager
|
||||||
from config.configuration_manager import ConfigurationManagerClass
|
from config.configuration_manager import ConfigurationManagerClass
|
||||||
|
from framework.resources.resource_finder import get_stx_resource_path
|
||||||
|
|
||||||
|
|
||||||
def test_default_logger_config():
|
def test_default_logger_config():
|
||||||
@ -34,7 +35,7 @@ def test_invalid_console_log_level_config():
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
custom_file = 'unit_tests/config/logger/invalid_console_log_level_config.json5'
|
custom_file = get_stx_resource_path('unit_tests/config/logger/invalid_console_log_level_config.json5')
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_logger_config_file(custom_file)
|
config_file_locations.set_logger_config_file(custom_file)
|
||||||
@ -50,7 +51,7 @@ def test_invalid_file_log_level_config():
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
try:
|
try:
|
||||||
custom_file = 'unit_tests/config/logger/invalid_file_log_level_config.json5'
|
custom_file = get_stx_resource_path('unit_tests/config/logger/invalid_file_log_level_config.json5')
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_logger_config_file(custom_file)
|
config_file_locations.set_logger_config_file(custom_file)
|
||||||
@ -65,7 +66,7 @@ def test_custom_logger_config():
|
|||||||
Tests that we can load a custom logger configuration.
|
Tests that we can load a custom logger configuration.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
custom_file = 'unit_tests/config/logger/custom_logger_config.json5'
|
custom_file = get_stx_resource_path('unit_tests/config/logger/custom_logger_config.json5')
|
||||||
configuration_manager = ConfigurationManagerClass()
|
configuration_manager = ConfigurationManagerClass()
|
||||||
config_file_locations = ConfigurationFileLocationsManager()
|
config_file_locations = ConfigurationFileLocationsManager()
|
||||||
config_file_locations.set_logger_config_file(custom_file)
|
config_file_locations.set_logger_config_file(custom_file)
|
||||||
|
12
unit_tests/framework/resources/resource_finder_test.py
Normal file
12
unit_tests/framework/resources/resource_finder_test.py
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
import os
|
||||||
|
|
||||||
|
from framework.resources import resource_finder
|
||||||
|
|
||||||
|
|
||||||
|
def test_resource_finder():
|
||||||
|
"""
|
||||||
|
Verify that the resource_finder can find the full path to the resources appropriately.
|
||||||
|
"""
|
||||||
|
|
||||||
|
resource_full_path = resource_finder.get_stx_resource_path("framework/resources/resource_finder.py")
|
||||||
|
assert os.path.isfile(resource_full_path)
|
Loading…
Reference in New Issue
Block a user