Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Harmonize Envoy CLI and Configuration Files with Director Component for Consistency #1284

Open
wants to merge 14 commits into
base: develop
Choose a base branch
from

Conversation

refai06
Copy link
Contributor

@refai06 refai06 commented Jan 17, 2025

PR Description:

This PR harmonizes Envoy CLI and configuration files to ensure similarity and consistency with Director component, and also introduces error handling by adding specific exceptions for Envoy configuration

Change Description:

• Updated the Envoy CLI commands by removing the director_host and director_port parameters. These parameters (director_host and director_port) are now provided in the Envoy Config YAML file.
• Updated the Envoy configuration files of the Federated-Runtime workspace by including the director_host and director_port parameters in the Config YAML
• This approach ensures consistency with Director component and simplifies the CLI command line
• Incorporated error handling for invalid inputs in director_host and director_port, raising specific exceptions for invalid or missing values to improve configuration validation.

Modifications:

Source Code

  • openfl/experimental/workflow/component/envoy/envoy.py
  • openfl/experimental/workflow/interface/cli/envoy.py

Tutorials

  • openfl-tutorials/experimental/workflow/FederatedRuntime/301_MNIST_Watermaking/Bangalore/Bangalore_config.yaml
  • openfl-tutorials/experimental/workflow/FederatedRuntime/301_MNIST_Watermaking/Bangalore/start_envoy.sh
  • openfl-tutorials/experimental/workflow/FederatedRuntime/301_MNIST_Watermaking/Chandler/Chandler_config.yaml
  • openfl-tutorials/experimental/workflow/FederatedRuntime/301_MNIST_Watermaking/Chandler/start_envoy.sh
  • openfl-tutorials/experimental/workflow/FederatedRuntime/101_MNIST/Portland/Portland_config.yaml
  • openfl-tutorials/experimental/workflow/FederatedRuntime/101_MNIST/Portland/start_envoy.sh
  • openfl-tutorials/experimental/workflow/FederatedRuntime/101_MNIST/Seattle/Seattle_config.yaml
  • openfl-tutorials/experimental/workflow/FederatedRuntime/101_MNIST/Seattle/start_envoy.sh

Test Cases

  • tests/github/experimental/workflow/FederatedRuntime/testcase_datastore_cli/envoy_one/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_datastore_cli/envoy_one/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_datastore_cli/envoy_two/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_datastore_cli/envoy_two/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_include_exclude/envoy_one/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_include_exclude/envoy_one/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_include_exclude/envoy_two/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_include_exclude/envoy_two/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_internalloop/envoy_one/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_internalloop/envoy_one/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_internalloop/envoy_two/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_internalloop/envoy_two/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes/envoy_one/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes/envoy_one/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes/envoy_two/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes/envoy_two/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes_initialization_with_both_options/envoy_one/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes_initialization_with_both_options/envoy_one/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes_initialization_with_both_options/envoy_two/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes_initialization_with_both_options/envoy_two/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes_initialization_without_callable/envoy_one/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes_initialization_without_callable/envoy_one/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes_initialization_without_callable/envoy_two/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_private_attributes_initialization_without_callable/envoy_two/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_reference/envoy_one/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_reference/envoy_one/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_reference/envoy_two/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_reference/envoy_two/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_reference_with_include_exclude/envoy_one/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_reference_with_include_exclude/envoy_one/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_reference_with_include_exclude/envoy_two/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_reference_with_include_exclude/envoy_two/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_subset_of_collaborators/envoy_four/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_subset_of_collaborators/envoy_four/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_subset_of_collaborators/envoy_one/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_subset_of_collaborators/envoy_one/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_subset_of_collaborators/envoy_three/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_subset_of_collaborators/envoy_three/start_envoy.sh

  • tests/github/experimental/workflow/FederatedRuntime/testcase_subset_of_collaborators/envoy_two/envoy_config.yaml

  • tests/github/experimental/workflow/FederatedRuntime/testcase_subset_of_collaborators/envoy_two/start_envoy.sh

Documentation

  • docs/about/features_index/workflowinterface.rst

Validation:

Executed following tutorials to ensure that the change is working properly:

  • openfl-tutorials/experimental/workflow/FederatedRuntime/101_MNIST
  • openfl-tutorials/experimental/workflow/FederatedRuntime/301_MNIST_Watermaking

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant