Skip to content

Merge branch 'main' into xiaopwan/pfserving_log_improvement_and_OTLP_…

Sign in for the full log view
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++) failed May 6, 2024 in 0s

1 errors, 2 fail, 13 skipped, 652 pass in 59m 29s

    4 files  ±0      4 suites  ±0   59m 29s ⏱️ +37s
  668 tests ±0    652 ✅ ±0  13 💤 ±0  2 ❌ ±0  1 🔥 ±0 
2 672 runs  ±0  2 615 ✅ +4  52 💤 ±0  4 ❌  - 2  1 🔥  - 2 

Results for commit 944119c. ± Comparison against earlier commit 12b8fd5.

Annotations

Check warning on line 0 in tests.sdk_cli_test.unittests.test_flow_serve_cli.TestRun

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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

See this annotation in the file changed.

@github-actions 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