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

Validate a RemoteConfig with a deployment that has one cluster instance #774

Closed
Tracked by #591
jeromy-cannon opened this issue Oct 30, 2024 · 1 comment
Closed
Tracked by #591
Assignees
Labels
HashSphere Requirement P0 An issue impacting production environments or impacting multiple releases or multiple individuals.

Comments

@jeromy-cannon
Copy link
Contributor

jeromy-cannon commented Oct 30, 2024

Feature: during the constructor after invoking read we validate a RemoteConfig with a deployment that has one cluster instance (exclude: mirror-node, mirror-node-explorer, relay)

  The RemoteConfig instance will be stored in each Kubernetes cluster defined in the deployment.  The LocalConfig will have the mappings to get the cluster and context mapping.  The RemoteConfig in the given deployment(namespace)/cluster/context will be read and converged into a RemoteConfig instance.  Then it will be validated to ensure it is usable for Solo.  This is a simple deployment with running consensus nodes, and their supporting HAProxy and Envoy proxy services.

  Scenario: the RemoteConfig validation for a single cluster does not match the name or number of consensus nodes (network node services)
    Given the RemoteConfig has been read
    And the deployment is for a single cluster
    When the the consensus node services name, cluster, or number of for the given namespace/cluster/context does not match the RemoteConfig
    Then a SoloError will be thrown explaining that the expected name, cluster, or number of consensus node services and the actual consensus node services for the namespace/cluster/context does not match
    And the user will need to manually bring it back into sync

  Scenario: the RemoteConfig validation for a single cluster does not match the name, cluster, or number of HAProxy services
    Given the RemoteConfig has been read
    And the deployment is for a single cluster
    When the name, cluster, or number of HAProxy services for the given namespace/cluster/context does not match the RemoteConfig
    Then a SoloError will be thrown explaining that the expectedname, cluster, or number of HAProxy services and the actual HAProxy services for the namespace/cluster/context does not match
    And the user will need to manually bring it back into sync

  Scenario: the RemoteConfig validation for a single cluster does not match the name, cluster, or number of Envoy proxy services
    Given the RemoteConfig has been read
    And the deployment is for a single cluster
    When the name, cluster, or number of Envoy proxy services for the given namespace/cluster/context does not match the RemoteConfig
    Then a SoloError will be thrown explaining that the expected name, cluster, or number of Envoy proxy services and the actual Envoy proxy services for the namespace/cluster/context does not match
    And the user will need to manually bring it back into sync

  Scenario: the RemoteConfig validation for a single cluster does not match the name or number of clusters listed
    Given the RemoteConfig has been read
    And the deployment is for a single cluster
    When the name or number of clusters for the given namespace/cluster/context does not match the RemoteConfig
    Then a SoloError will be thrown explaining that the expected name or number of clusters and the actual clusters for the namespace/cluster/context does not match
    And the user will need to manually bring it back into sync
@jeromy-cannon jeromy-cannon self-assigned this Nov 1, 2024
@jeromy-cannon jeromy-cannon added P0 An issue impacting production environments or impacting multiple releases or multiple individuals. Needs Refinement The issue needs more refinement and/or design before it can be worked and removed Needs Refinement The issue needs more refinement and/or design before it can be worked labels Nov 1, 2024
@jeromy-cannon
Copy link
Contributor Author

closed this as completed in #922

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
HashSphere Requirement P0 An issue impacting production environments or impacting multiple releases or multiple individuals.
Projects
None yet
Development

No branches or pull requests

2 participants