Skip to content

Support multiple cohorts per AnyVLM node #37

@jennifer-bowser

Description

@jennifer-bowser

Feature description

We initially built AnyVLM to support one cohort per AnyVLM node for the sake of expediency in order to meet our MVP 1.0 deadline. However, we'd like to support multiple cohorts per node.

We will probably involve:

  • Create a new table in our AnyVLM database to save cohort info. The info we need to capture includes the following fields defined in src/anyvlm/schemas/vlm.py:
    • HandoverType.id
    • HandoverType.label
    • BeaconHandover.url
    • Meta.beaconId <= As James pointed out below, this one actually is a node-level identifier rather than being specific to a data source, so we don't need to worry about this one here.
  • Create HTTP endpoints + functions to add cohort info to the new table
  • Create HTTP endpoints + functions to retrieve cohort info from the new table
  • Modify our CAF data ingestion to capture the above cohort information
  • Modify our CAF data pull functionality to return the above cohort information
  • Modify our logic that builds our VlmResponse objects so that the fields listed above are created dynamically instead of being pulled from environment variables.
    • Note that this will involve updating how the VlmResponse is constructed to allow for multiple BeaconHandover entries in the VlmResponse.beaconHandover list field.

NOTE: We'll finalize exactly what needs to be done here when creating sub-tickets for this epic (which we'll do after our MVP 1.0 release is complete)

Use case

Our Product Requirements Document and the VLM API spec require support for results from multiple cohorts.

Acceptance Criteria

  • AnyVLM captures the required cohort information when ingesting CAF data (see above for the list of required fields)
  • AnyVLM returns the required cohort information when retrieving CAF data

Proposed solution

No response

Alternatives considered

No response

Implementation details

No response

Potential Impact

No response

Additional context

No response

Contribution

None

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicA collection of issues

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions