|
This ticket should cover (in theory) the entirety of the PDB-only requirements for providing the Filesync service solution. This depends on Puppet work to be done by one of the Puppet teams before this can commence.
My 'in my head' estimate is no more than 5 story points, but leaving story points blank so we can all discuss a proper estimate later on.
Overview
There is a largish project that requires a change to the PDB storage, for more information see here:
https://docs.google.com/a/puppetlabs.com/document/d/1HJSdlluYmNKfOOrFIvPAi79YQuVYSnq7XJGbfEqgi-U/edit
From a PuppetDB perspective the proposed change is basically to add a new field to the following object types during submission and query:
This field represents the sha1 hash of the internal VCS repository (probably git). The proposal is to simply include this in the wire format during command submission, and have it returnable (and queryable as a string) via the matching query endpoints.
Tasks
-
Create schema migrations to add the sha1 fields to each of the required tables
probably just ‘reports’ and ‘catalogs’
-
not sure if its even worth normalizing this, I doubt it. Worth pondering later on.
-
Update the commands so that they can receive this new sha1 type and store it
-
Update the terminus to send this new data field
-
Obviously this field needs to be lifted from Puppet first from the report and catalog parts.
-
We need to be backward compatible here, in that we need to support old versions of Puppet that may not have this field (for reports at least, we may see a bump in the report version here for example).
-
As long as the Puppet interface isn’t surprising this should be very BAU.
-
Add query and view capabilities to all the main endpoints for this new field
-
Again, this should be a very BAU query engine change.
-
This should make export/import just ‘work’, although I think we need to bump the versioning when we do this in the export metadata.
-
Anonymization support
-
I highly doubt this is needed, but worth noting.
|