1 errors, 2 fail, 13 skipped, 652 pass in 59m 29s
Annotations
Check warning on line 0 in tests.sdk_cli_test.unittests.test_flow_serve_cli.TestRun
github-actions / SDK CLI Test Result [xiaopwan/pfserving_log_improvement_and_OTLP_exporter_add_aad_auth_support](https://github.com/microsoft/promptflow/actions/workflows/promptflow-sdk-cli-test.yml?query=branch:xiaopwan/pfserving_log_improvement_and_OTLP_exporter_add_aad_auth_support++)
2 out of 4 runs failed: test_flow_serve[simple_with_yaml_dir] (tests.sdk_cli_test.unittests.test_flow_serve_cli.TestRun)
artifacts/Test Results (Python 3.8) (OS ubuntu-latest)/test-results.xml [took 0s]
artifacts/Test Results (Python 3.9) (OS ubuntu-latest)/test-results.xml [took 0s]
Raw output
AttributeError: 'AADAuthOTLPMetricExporter' object has no attribute 'logger'
self = <sdk_cli_test.unittests.test_flow_serve_cli.TestRun object at 0x7fce2531c430>
source = PosixPath('tests/test_configs/eager_flows/simple_with_yaml')
@pytest.mark.parametrize(
"source",
[
pytest.param(EAGER_FLOWS_DIR / "simple_with_yaml", id="simple_with_yaml_dir"),
pytest.param(FLOWS_DIR / "simple_hello_world", id="simple_hello_world_dir"),
],
)
def test_flow_serve(self, source: Path):
with mock.patch("flask.app.Flask.run") as mock_run:
> run_pf_command(
"flow",
"serve",
"--source",
source.as_posix(),
"--skip-open-browser",
)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/tests/sdk_cli_test/unittests/test_flow_serve_cli.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/tests/sdk_cli_test/unittests/test_flow_serve_cli.py:26: in run_pf_command
main()
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/entry.py:156: in main
entry(command_args)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/entry.py:137: in entry
cli_exception_and_telemetry_handler(run_command, activity_name)(args)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_utils.py:294: in wrapper
raise e
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_utils.py:282: in wrapper
return func(*args, **kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/entry.py:88: in run_command
raise ex
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/entry.py:62: in run_command
dispatch_flow_commands(args)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/_flow.py:80: in dispatch_flow_commands
serve_flow(args)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/_flow.py:589: in serve_flow
start_flow_service(
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_sdk/_utilities/serve_utils.py:75: in start_flow_service
serve_python_flow(
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_sdk/_utilities/serve_utils.py:119: in serve_python_flow
app = create_app(
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/app.py:32: in create_app
app.init(logger=logger, **kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/v1/app.py:35: in init
self.init_app(**kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/app_base.py:51: in init_app
self.flow_monitor = self.extension.get_flow_monitor(self.get_context_data_provider())
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/default_extension.py:91: in get_flow_monitor
metric_exporters = OTelExporterProviderFactory.get_metrics_exporters(self.logger, self.extension_type)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/otel_exporter_provider_factory.py:199: in get_metrics_exporters
exporter = provider.get_exporter(**kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/otel_exporter_provider_factory.py:166: in get_exporter
return AADAuthOTLPMetricExporter(endpoint=self.otel_exporter_endpoint)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <promptflow.core._serving.extension.otel_exporter_provider_factory.OTLPMetricsExporterProvider.get_exporter.<locals>.AADAuthOTLPMetricExporter object at 0x7fcdf4c1ad90>
args = (), kwargs = {'endpoint': 'http://localhost:23333/v1/traces'}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.aad_auth, self.aad_auth_scope, self.credential = try_parse_otlp_aad_auth_info(
> self.logger, "OTLPMetricExporter"
)
E AttributeError: 'AADAuthOTLPMetricExporter' object has no attribute 'logger'
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/otel_exporter_provider_factory.py:156: AttributeError
Check warning on line 0 in tests.sdk_cli_test.unittests.test_flow_serve_cli.TestRun
github-actions / SDK CLI Test Result [xiaopwan/pfserving_log_improvement_and_OTLP_exporter_add_aad_auth_support](https://github.com/microsoft/promptflow/actions/workflows/promptflow-sdk-cli-test.yml?query=branch:xiaopwan/pfserving_log_improvement_and_OTLP_exporter_add_aad_auth_support++)
2 out of 4 runs failed: test_flow_serve[simple_hello_world_dir] (tests.sdk_cli_test.unittests.test_flow_serve_cli.TestRun)
artifacts/Test Results (Python 3.8) (OS ubuntu-latest)/test-results.xml [took 0s]
artifacts/Test Results (Python 3.9) (OS ubuntu-latest)/test-results.xml [took 0s]
Raw output
AttributeError: 'AADAuthOTLPMetricExporter' object has no attribute 'logger'
self = <sdk_cli_test.unittests.test_flow_serve_cli.TestRun object at 0x7fce2531c520>
source = PosixPath('tests/test_configs/flows/simple_hello_world')
@pytest.mark.parametrize(
"source",
[
pytest.param(EAGER_FLOWS_DIR / "simple_with_yaml", id="simple_with_yaml_dir"),
pytest.param(FLOWS_DIR / "simple_hello_world", id="simple_hello_world_dir"),
],
)
def test_flow_serve(self, source: Path):
with mock.patch("flask.app.Flask.run") as mock_run:
> run_pf_command(
"flow",
"serve",
"--source",
source.as_posix(),
"--skip-open-browser",
)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/tests/sdk_cli_test/unittests/test_flow_serve_cli.py:44:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/tests/sdk_cli_test/unittests/test_flow_serve_cli.py:26: in run_pf_command
main()
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/entry.py:156: in main
entry(command_args)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/entry.py:137: in entry
cli_exception_and_telemetry_handler(run_command, activity_name)(args)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_utils.py:294: in wrapper
raise e
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_utils.py:282: in wrapper
return func(*args, **kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/entry.py:88: in run_command
raise ex
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/entry.py:62: in run_command
dispatch_flow_commands(args)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/_flow.py:80: in dispatch_flow_commands
serve_flow(args)
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_cli/_pf/_flow.py:589: in serve_flow
start_flow_service(
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_sdk/_utilities/serve_utils.py:75: in start_flow_service
serve_python_flow(
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/promptflow/_sdk/_utilities/serve_utils.py:119: in serve_python_flow
app = create_app(
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/app.py:32: in create_app
app.init(logger=logger, **kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/v1/app.py:35: in init
self.init_app(**kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/app_base.py:51: in init_app
self.flow_monitor = self.extension.get_flow_monitor(self.get_context_data_provider())
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/default_extension.py:91: in get_flow_monitor
metric_exporters = OTelExporterProviderFactory.get_metrics_exporters(self.logger, self.extension_type)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/otel_exporter_provider_factory.py:199: in get_metrics_exporters
exporter = provider.get_exporter(**kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/otel_exporter_provider_factory.py:166: in get_exporter
return AADAuthOTLPMetricExporter(endpoint=self.otel_exporter_endpoint)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <promptflow.core._serving.extension.otel_exporter_provider_factory.OTLPMetricsExporterProvider.get_exporter.<locals>.AADAuthOTLPMetricExporter object at 0x7fcdf4c64b50>
args = (), kwargs = {'endpoint': 'http://localhost:23333/v1/traces'}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.aad_auth, self.aad_auth_scope, self.credential = try_parse_otlp_aad_auth_info(
> self.logger, "OTLPMetricExporter"
)
E AttributeError: 'AADAuthOTLPMetricExporter' object has no attribute 'logger'
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/otel_exporter_provider_factory.py:156: AttributeError
Check failure on line 0 in tests.sdk_cli_test.e2etests.test_flow_serve_azureml_extension
github-actions / SDK CLI Test Result [xiaopwan/pfserving_log_improvement_and_OTLP_exporter_add_aad_auth_support](https://github.com/microsoft/promptflow/actions/workflows/promptflow-sdk-cli-test.yml?query=branch:xiaopwan/pfserving_log_improvement_and_OTLP_exporter_add_aad_auth_support++)
1 out of 4 runs with error: test_azureml_serving_api_with_encoded_connection (tests.sdk_cli_test.e2etests.test_flow_serve_azureml_extension)
artifacts/Test Results (Python 3.8) (OS ubuntu-latest)/test-results.xml [took 0s]
Raw output
failed on setup with "AttributeError: 'AADAuthOTLPMetricExporter' object has no attribute 'logger'"
mocker = <pytest_mock.plugin.MockerFixture object at 0x7fcdf4bb2eb0>
@pytest.fixture
def flow_serving_client_with_encoded_connection(mocker: MockerFixture):
from promptflow._core.connection_manager import ConnectionManager
from promptflow.core._serving.utils import encode_dict
connection_dict = json.loads(open(CONNECTION_FILE, "r").read())
connection_manager = ConnectionManager(connection_dict)
connections = {"PROMPTFLOW_ENCODED_CONNECTIONS": encode_dict(connection_manager.to_connections_dict())}
> return create_client_by_model("basic-with-connection", mocker, connections, extension_type="azureml")
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/tests/sdk_cli_test/conftest.py:155:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/home/runner/work/promptflow/promptflow/src/promptflow-devkit/tests/sdk_cli_test/conftest.py:186: in create_client_by_model
app = create_serving_app(environment_variables=environment_variables, extension_type=extension_type, init=init)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/app.py:32: in create_app
app.init(logger=logger, **kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/v1/app.py:35: in init
self.init_app(**kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/app_base.py:51: in init_app
self.flow_monitor = self.extension.get_flow_monitor(self.get_context_data_provider())
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/default_extension.py:91: in get_flow_monitor
metric_exporters = OTelExporterProviderFactory.get_metrics_exporters(self.logger, self.extension_type)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/otel_exporter_provider_factory.py:199: in get_metrics_exporters
exporter = provider.get_exporter(**kwargs)
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/otel_exporter_provider_factory.py:166: in get_exporter
return AADAuthOTLPMetricExporter(endpoint=self.otel_exporter_endpoint)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <promptflow.core._serving.extension.otel_exporter_provider_factory.OTLPMetricsExporterProvider.get_exporter.<locals>.AADAuthOTLPMetricExporter object at 0x7fcdf4996a00>
args = (), kwargs = {'endpoint': 'http://localhost:23333/v1/traces'}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.aad_auth, self.aad_auth_scope, self.credential = try_parse_otlp_aad_auth_info(
> self.logger, "OTLPMetricExporter"
)
E AttributeError: 'AADAuthOTLPMetricExporter' object has no attribute 'logger'
/home/runner/work/promptflow/promptflow/src/promptflow-core/promptflow/core/_serving/extension/otel_exporter_provider_factory.py:156: AttributeError