Skip to content

MWRS Status Expectations #1235

@annelaucg

Description

@annelaucg

TLDR: What is the expectation for the existing status.Conditions and status.Summary. See below for specific questions on each status.

This is the current state that I see:

  • PlacementVerified
    • False: (PlacementDecisionNotFound, PlacementDecisionEmpty) --> This indicates that MWRS could not find a placement to refer to.
    • True: (AsExpected) --> This indicates that MWRS has found a placement to refer to successfully.
  • PlacementRolledOut (True == all clusters rolled out)
    • False: (Progressing). This indicates that the MWRS is still rolling out to clusters.
    • True: (Completed). This indicates that the MWRS has been rolled out to all clusters.
    • Q: Should this only show True when successfully deployed?
  • ManifestWorkApplied (True == ManifestWork is successfully applied to a cluster)
    • False: (Processing, NotAsExpected). This indicates that the ManifestWork is still being applied to a cluster or has status.Degraded == False, or some other issue with applying the ManifestWork.
    • True: (AsExpected). This indicates that the current ManifestWork is status.Progressing == False + status.Degraded == False /NotSet
    • Q: Should this only show True when all ManifestWorks are successfully deployed?

Based on the existing status, the only way to track if the entire MWRS is completed is to check if PlacementRolledOut == True and ManifestWorkApplied == True.

I also have questions about the following status.Summary values:

  1. available ==> this refers to the current available ManifestWork.
    a. This number shows if the resources created by the ManifestWork is present on the cluster, not if the ManifestWork is applied successfully.
    b. Is the expectation that available can be aggregated before progressing is done?
  2. total ==> this refers to the total number of ManifestWork currently deployed.
    a. Not the total clusters the placement selects, instead it shows the current deployed.
    b. Is this expected behavior?
    c. If it is, then in the check on how to set ManifestworkApplied == AsExpected, does this only show if the CURRENT Manifestwork is completed, but not all of the works? Here is the current code with the check that summary.total == summary.available and summary.progressing == 0 and summary.degraded == 0.

Ideally I want to track the following things:

  1. How many clusters have been rolled out?
    a. Currently there is no way to get the total clusters that the placement targets from the MWRS status.summary, we can get the current number from total OR available.
    b. Get the total clusters intended to rollout by viewing the placementSummary.availableDecisionGroups message.
  2. Is the ManifestWorkApplied successfully deployed?
    a. I don't think this function exists on a per MW basis.
  3. Is the entire MWRS completed?
    b. Track if PlacementRolledOut == True and ManifestWorkApplied == True.
    c. Should we create a Ready/Progressing status to track this? Enhancement proposal here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions