Skip to content

v3

Compare
Choose a tag to compare
@spbnick spbnick released this 26 Mar 17:51

A major release with lots of changes, including the below.

  • Add I/O schema v2.0. Changes below.
    • Merge *origin and *origin_id fields into *id fields, for all objects.
    • Explicitly prohibit resource file names from containing directory names (i.e. the / character) to allow using them in Content-Disposition: filename= headers.
  • Implement upgrading data from older to newer schema versions, automatically. Add a tool for manual upgrading of I/O data, called kcidb-upgrade.
  • Add storing the latest I/O schema version in the BigQuery dataset, when initializing it. Prohibit loading and querying data into/from the dataset if its major version is not the same as the major version of KCIDB's latest I/O schema.
  • Add a test catalog file (tests.yaml) containing identifiers for tests submitted by CI systems (CKI mostly so far), and a tool for validating the catalog, called kcidb-tests-validate.
  • To make space for adding tools for other subsystems, rename kcidb-init to kcidb-db-init and kcidb-cleanup to kcidb-db-cleanup. Make kcidb-submit and kcidb-query tools implementation-agnostic, and add implementation-specific kcidb-db-load and kcidb-db-query.
  • Add an experimental tool called kcidb-db-complement, which takes I/O data and returns it with all missing, but referenced objects added. The mechanism is to be used for processing subscriptions and generating reports, but the tool may be deprecated later.
  • Implement prototype tools for managing message queues and communicating through them:
    • kcidb-mq-publisher-init
    • kcidb-mq-publisher-cleanup
    • kcidb-mq-publisher-publish
    • kcidb-mq-subscriber-init
    • kcidb-mq-subscriber-cleanup
    • kcidb-mq-subscriber-pull
  • Implement a placeholder for the future Google Cloud Functions module communicating with a message queue. To be used for intercepting submissions and generating notifications with reports.