def install_logging(): csv = ocp.OCP( kind=constants.CLUSTER_SERVICE_VERSION, namespace=constants.OPENSHIFT_LOGGING_NAMESPACE, ) logging_csv = csv.get().get("items") if logging_csv: logger.info("Logging is already configured, Skipping Installation") return logger.info("Configuring Openshift-logging") # Gets OCP version to align logging version to OCP version ocp_version = version.get_semantic_ocp_version_from_config() logging_channel = "stable" if ocp_version >= version.VERSION_4_7 else ocp_version # Creates namespace openshift-operators-redhat ocp_logging_obj.create_namespace(yaml_file=constants.EO_NAMESPACE_YAML) # Creates an operator-group for elasticsearch assert ocp_logging_obj.create_elasticsearch_operator_group( yaml_file=constants.EO_OG_YAML, resource_name=constants.OPENSHIFT_OPERATORS_REDHAT_NAMESPACE, ) # Set RBAC policy on the project assert ocp_logging_obj.set_rbac( yaml_file=constants.EO_RBAC_YAML, resource_name="prometheus-k8s" ) # Creates subscription for elastic-search operator subscription_yaml = templating.load_yaml(constants.EO_SUB_YAML) subscription_yaml["spec"]["channel"] = logging_channel helpers.create_resource(**subscription_yaml) assert ocp_logging_obj.get_elasticsearch_subscription() # Creates a namespace openshift-logging ocp_logging_obj.create_namespace(yaml_file=constants.CL_NAMESPACE_YAML) # Creates an operator-group for cluster-logging assert ocp_logging_obj.create_clusterlogging_operator_group( yaml_file=constants.CL_OG_YAML ) # Creates subscription for cluster-logging cl_subscription = templating.load_yaml(constants.CL_SUB_YAML) cl_subscription["spec"]["channel"] = logging_channel helpers.create_resource(**cl_subscription) assert ocp_logging_obj.get_clusterlogging_subscription() # Creates instance in namespace openshift-logging cluster_logging_operator = OCP( kind=constants.POD, namespace=constants.OPENSHIFT_LOGGING_NAMESPACE ) logger.info(f"The cluster-logging-operator {cluster_logging_operator.get()}") ocp_logging_obj.create_instance()
def test_fixture(request): """ Setup and teardown * The setup will deploy openshift-logging in the cluster * The teardown will uninstall cluster-logging from the cluster """ def finalizer(): teardown(cbp_obj, sc_obj) request.addfinalizer(finalizer) # Deploys elastic-search operator on the project openshift-operators-redhat ocp_logging_obj.create_namespace(yaml_file=constants.EO_NAMESPACE_YAML) assert ocp_logging_obj.create_elasticsearch_operator_group( yaml_file=constants.EO_OG_YAML, resource_name='openshift-operators-redhat' ) assert ocp_logging_obj.set_rbac( yaml_file=constants.EO_RBAC_YAML, resource_name='prometheus-k8s' ) assert ocp_logging_obj.create_elasticsearch_subscription(constants.EO_SUB_YAML) # Deploys cluster-logging operator on the project openshift-logging ocp_logging_obj.create_namespace(yaml_file=constants.CL_NAMESPACE_YAML) assert ocp_logging_obj.create_clusterlogging_operator_group( yaml_file=constants.CL_OG_YAML ) assert ocp_logging_obj.create_clusterlogging_subscription( yaml_file=constants.CL_SUB_YAML ) # Creates storage class cbp_obj = helpers.create_ceph_block_pool() sc_obj = helpers.create_storage_class( interface_type=constants.CEPHBLOCKPOOL, interface_name=cbp_obj.name, secret_name=constants.DEFAULT_SECRET, reclaim_policy="Delete" ) assert ocp_logging_obj.create_instance_in_clusterlogging(sc_name=sc_obj.name) # Check the health of the cluster-logging assert ocp_logging_obj.check_health_of_clusterlogging() csv_obj = CSV( kind=constants.CLUSTER_SERVICE_VERSION, namespace=constants.OPENSHIFT_LOGGING_NAMESPACE ) get_version = csv_obj.get(out_yaml_format=True) for i in range(len(get_version['items'])): if '4.2.0' in get_version['items'][i]['metadata']['name']: logger.info("The version of operators is 4.2.0") logger.info(get_version['items'][i]['metadata']['name']) else: logger.error("The version is not 4.2.0")
def test_fixture(request): """ Setup and teardown * The setup will deploy openshift-logging in the cluster * The teardown will uninstall cluster-logging from the cluster """ def finalizer(): teardown() request.addfinalizer(finalizer) # Deploys elastic-search operator on the project openshift-operators-redhat ocp_logging_obj.create_namespace(yaml_file=constants.EO_NAMESPACE_YAML) assert ocp_logging_obj.create_elasticsearch_operator_group( yaml_file=constants.EO_OG_YAML, resource_name='openshift-operators-redhat' ) assert ocp_logging_obj.set_rbac( yaml_file=constants.EO_RBAC_YAML, resource_name='prometheus-k8s' ) logging_version = config.ENV_DATA['logging_version'] subscription_yaml = templating.load_yaml(constants.EO_SUB_YAML) subscription_yaml['spec']['channel'] = logging_version helpers.create_resource(**subscription_yaml) assert ocp_logging_obj.get_elasticsearch_subscription() # Deploys cluster-logging operator on the project openshift-loggingno nee ocp_logging_obj.create_namespace(yaml_file=constants.CL_NAMESPACE_YAML) assert ocp_logging_obj.create_clusterlogging_operator_group( yaml_file=constants.CL_OG_YAML ) cl_subscription = templating.load_yaml(constants.CL_SUB_YAML) cl_subscription['spec']['channel'] = logging_version helpers.create_resource(**cl_subscription) assert ocp_logging_obj.get_clusterlogging_subscription() cluster_logging_operator = OCP( kind=constants.POD, namespace=constants.OPENSHIFT_LOGGING_NAMESPACE ) logger.info(f"The cluster-logging-operator {cluster_logging_operator.get()}") create_instance()
def test_fixture(request): """ Setup and teardown * The setup will deploy openshift-logging in the cluster * The teardown will uninstall cluster-logging from the cluster """ def finalizer(): teardown(cbp_obj, sc_obj) request.addfinalizer(finalizer) # Deploys elastic-search operator on the project openshift-operators-redhat ocp_logging_obj.create_namespace(yaml_file=constants.EO_NAMESPACE_YAML) assert ocp_logging_obj.create_elasticsearch_operator_group( yaml_file=constants.EO_OG_YAML, resource_name='openshift-operators-redhat') assert ocp_logging_obj.set_rbac(yaml_file=constants.EO_RBAC_YAML, resource_name='prometheus-k8s') assert ocp_logging_obj.create_elasticsearch_subscription( constants.EO_SUB_YAML) # Deploys cluster-logging operator on the project openshift-logging ocp_logging_obj.create_namespace(yaml_file=constants.CL_NAMESPACE_YAML) assert ocp_logging_obj.create_clusterlogging_operator_group( yaml_file=constants.CL_OG_YAML) assert ocp_logging_obj.create_clusterlogging_subscription( yaml_file=constants.CL_SUB_YAML) # Creates storage class cbp_obj = helpers.create_ceph_block_pool() sc_obj = helpers.create_storage_class( interface_type=constants.CEPHBLOCKPOOL, interface_name=cbp_obj.name, secret_name=constants.DEFAULT_SECRET, reclaim_policy="Delete") assert ocp_logging_obj.create_instance_in_clusterlogging( sc_name=sc_obj.name) # Check the health of the cluster-logging assert ocp_logging_obj.check_health_of_clusterlogging()