Releases: joyent/conch-api
v3.2.3
Release v3.2.3
PR #1089 - infer data from device reports to populate hardware product
-
Branch: ether/report-to-hardware_product
-
Revision: 8e2a1f8
-
Labels: api, database, device reports, enhancement, validation
- add a mandatory "report_version" property to device reports
- cpu_type is made optional in reports and nullable in the database
- allow supplying a sample (passing) device report to the hardware_product creation and update endpoints, to infer data where we can from that report rather than having to supply it diirectly (direct overrides are still allowed)
closes #1086.
People
- Author: karenetheridge
- Reviewed By: perigrin - APPROVED
- Merged By: karenetheridge
- Merged: 2021-01-19T18:04:40Z
Commits
- 943121 -
fix method name in validation tests
- ffe780 -
add "default" annotations for hardware_product
- df5ade -
move back the version where this change is expected
- dcb83c -
add mandatory "report_version" property to device reports
- 999a5c -
cpu_type is not currently used, so make it nullable
- 77eaac -
ensure :5.16 features are imported by Mojo::Base
- ebbeca -
infer some hardware_product values from a sample device report
v3.2.2
Release v3.2.2
PR #1084 - hardware_products + json_schemas
-
Branch: ether/v3.2-hardware_product_json_schemas
-
Revision: 114be7c
-
Labels: api, database, enhancement, needs-shell, needs-ui, v3.next
Add database and api endpoint support for associating json_schemas with hardware_products
new endpoints:
- POST /hardware_product/:hardware_product_id_or_other/json_schema/:json_schema_id
- POST /hardware_product/:hardware_product_id_or_other/json_schema/:json_schema_type/:json_schema_name/:json_schema_version
- GET /hardware_product/:hardware_product_id_or_other/json_schema
- DELETE /hardware_product/:hardware_product_id_or_other/json_schema/:json_schema_id
- DELETE /hardware_product/:hardware_product_id_or_other/json_schema/:json_schema_type/:json_schema_name/:json_schema_version
- DELETE /hardware_product/:hardware_product_id_or_other/json_schema
Also add ?with_hardware_products=1 option to GET /json_schema/:type/... endpoints
for listing the hardware_products that make use of that JSON Schema.
People
- Author: karenetheridge
- Reviewed By: dustinryerson - DISMISSED
- Reviewed By: perigrin - DISMISSED
- Merged By: karenetheridge
- Merged: 2021-01-14T18:29:20Z
Commits
- 5886dd -
add hardware_product_json_schema table
- 2a782a -
endpoints for associating json_schemas with hardware_products
PR #1090 - v3.2.2 fixes
-
Branch: ether/v3.2.2-fixes
-
Revision: f2885c6
-
Labels: api, docs
- remove code that should have been removed a few weeks ago
- more doc fixes
- disable POST /user/me until joyent/conch-ui#303 is fixed
- send mail to the old address as well as the new one when changing a user's email address
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2021-01-19T00:45:21Z
Commits
- 973140 -
remove hack code for GET /hardware_product/specification/latest
- de20b2 -
fix docs
- 26fc1b -
disable POST /user/me for admins until the underlying issue is fixed
- 7d9117 -
if a user's email address is changed, also send an email to the old address
v3.2.1
Release v3.2.1
PR #1081 - skip users with a duplicate email address that were created since the dbs diverged
-
Branch: ether/fix-copy_user_data
-
Revision: ea7abdf
-
Labels: bug
fixes #1080.
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2021-01-07T20:25:13Z
Commits
- 28576c -
skip users with a duplicate email address that were created since the dbs diverged
PR #1082 - small fixes
-
Branch: ether/v3.2-small-fixes
-
Revision: d2eb4e0
-
Labels: api, bug, docs
- fix some disrepancies in the api documentation
- use url_for() consistency when setting Location header
- assert in tests that json booleans are really json booleans, not integers
- add more annotations in request schemas to assist clients when generating forms and results
- improve exception handling
- fix POST /device_report?no_save_db=1 with existing devices
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2021-01-08T17:52:14Z
Commits
- 1813ec -
fix documentation
- 1a080e -
use url_for() consistently when setting Location header
- f590e4 -
assert that json booleans are real booleans, not integer 0, 1
- 489313 -
add more annotations to assist clients when generating forms and results
- f0d52d -
try a bit harder to surface unexpected exceptions
- e7ec44 -
also test POST /device_report?no_save_db=1 with existing devices
PR #1083 - add "latest" flag to json_schema description responses
-
Branch: ether/v3.2-json_schema-latest-flag
-
Revision: 545b54a
-
Labels: api, enhancement
- add "latest" flag to responses containing metadata for json_schemas
- specify json schema $id more exactly
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2021-01-08T18:30:23Z
Commits
- a93c08 -
add "latest" flag to responses containing metadata for json_schemas
- 447a9c -
specify json schema $id more exactly
PR #1087 - v3.2.1 fixes
-
Branch: ether/v3.2.1-fixes
-
Revision: dcf55c4
-
Labels: api, bug, docs
- properly parse X-Conch-UI header with only 2 version components.
- more docs for testing local deployments
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2021-01-13T20:14:10Z
Commits
- 512989 -
if password or token is contained in payload, log the payload but with redactions
- 3f4674 -
parse Conch-UI versions lacking a third component, and include the error in the response
- fec613 -
document how to generate credentials in the local database for testing purposes
v3.2
Conch API release v3.2
PR #1074 - v3.1.2 minor fixes
-
Branch: ether/v3.1.1-minor-fixes
-
Revision: 0298194
-
Labels: bug
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-12-10T19:43:03Z
Commits
PR #1076 - also add title, readOnly annotations to HardwareProducts
-
Branch: ether/hardware_products-annotations
-
Revision: 7a808dc
-
Labels: api
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2021-01-04T20:24:04Z
Commits
- 56fecf -
also add title, readOnly annotations to HardwareProducts
PR #1075 - v3.2: json schema CRUD endpoints
-
Branch: ether/v3.2-json_schema-crud-endpoints
-
Revision: b5217d8
-
Labels: api, database, enhancement, v3.next
new json_schema database table
new endpoints for creating, deleting, fetching json schemas
POST /json_schema/:type/:name
GET /json_schema/:id
GET /json_schema/:type/:name/:version
GET /json_schema/:type/:name/latest
DELETE /json_schema/:id and /json_schema/:type/:name/:version (not /latest)changes to /json_schema/hardware_product/specification and individual hardware_product.specification fields are cross-checked against each other
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2021-01-04T22:02:49Z
Commits
- 9e2ec2 -
update JSD2 and Mojolicious
- 3cedaa -
rename this action, in preparation for adding more
- 8ce3c0 -
add json_schema table
- 30c6d3 -
endpoints for creating, deleting, fetching json schemas
- 38e0ca -
coordinate changes to /json_schema/hardware_product/specification and individual hardware_product.specification fields
- 7cd410 -
allow fetching JSON Schemas (body, or metadata) even when deactivated
PR #1077 - generate new validation results
-
Branch: ether/v3.2-new-validation_results
-
Revision: 23c8316
-
Labels: api, breaking, database, enhancement, needs-shell, needs-ui, v3.next
Support the possibility of new-style validation results in the endpoints that return them, and move aside the legacy validation tables.
Attention clients: device SSJ18115546 in staging will contain both old- and new-style validation results, for the purposes of testing.
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2021-01-05T22:49:04Z
Commits
- 03f986 -
move aside old validation results, preserving contents
- c95c85 -
move aside old validation tables
- a28628 -
create new validation_result and validation_state_member tables
- f81243 -
add title annotations for legacy validation results
- 2707ae -
also include new validation results in validation_state queries
- c6c5e5 -
development tool for creating new validation_results for testing
v3.1.1
Conch API v3.1.1
PR #1071 - v3.1.1 fixes
-
Branch: ether/v3.1.1-fixes
-
Revision: 11b76ee
-
Labels: api, database, docs
- fix titles for these specification fields
- make the temporary hack endpoint (for hardware_product.specification) work exactly like its real replacement will
- make hardware_product.specification not nullable
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-12-03T20:16:39Z
Commits
- d5cb47 -
fix titles for these specification fields
- 80a2ca -
make this temporary hack endpoint work exactly like its real replacement will
- 8806a8 -
make hardware_product.specification not nullable
PR #1072 - return 201 not 303
-
Branch: ether/return-201-not-303
-
Revision: ede58be
-
Labels: api, breaking, needs-shell, needs-ui
return 201 or 204 instead of 303 for most POST requests
(the URL of the created/updated resource is still in the Location header)
People
- Author: karenetheridge
- Reviewed By: perigrin - COMMENTED
- Reviewed By: perigrin - DISMISSED
- Reviewed By: dustinryerson - APPROVED
- Merged By: karenetheridge
- Merged: 2020-12-07T23:21:45Z
Commits
- 1edee7 -
fix status_is test
- edd92a -
return 201 or 204 instead of 303 for most POST requests
- 6f0d9a -
also include Location header in these DELETE endpoints
PR #1073 - v3.1.1 more fixes
-
Branch: ether/v3.1.1-more-fixes
-
Revision: 1bfcdb1
-
Labels: docs, refactor
internal fixes, mostly relating to JSON Schema handling.
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-12-08T19:11:08Z
Commits
- e0aaeb -
add a banner, e.g. for printing on console start
- e906c0 -
disallow go-style "null" datetimes in request payloads
- 693765 -
use the same YAML decoder for JSON translation as we use internally
- 299e93 -
blow up with graceful error if YAML is not parseable
- 764be8 -
doc fixes
- b23f65 -
update Mojolicious
- 105035 -
update JSD2
Conch API release v3.1
PR #1069 - add hardware product specification annotations
-
Branch: ether/hardware_product-specification-annotations
-
Revision: 9ee8a2c
-
Labels: api, enhancement
- add titles for all hardware_product properties, for requests and responses
..and readOnly on properties in responses that cannot be provided in requests.
Also noted is that many properties are slated to be moved by v3.2.
- handle GET /json_schema/hardware_product/specification/latest
By v3.2 this will be handled directly by the get-schema-from-database endpoint and the content will
be dynamic; for now, just redirect to the endpoint which fetches the schema from disk.
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-30T21:13:29Z
Commits
- 6d29f5 -
add titles for all hardware_product properties, for requests and responses
- 2cd7fe -
handle GET /json_schema/hardware_product/specification/latest
PR #1070 - minor fixes for v3.1 release
-
Branch: ether/v3.1-minor-fixes
-
Revision: 2a05333
-
Labels: api
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-30T21:28:42Z
Commits
- 6a3397 -
tighten up some tests
- 1090fc -
remove mention of tables that only temporarily exist, and only on production systems
- 483813 -
factor out unneeded explicit typecasts in database queries
- 8ce737 -
error gracefully if the user does not exist
- 9ece96 -
add next::XS, a speed boost to next::method
- dbd5ce -
add method to deprecation message sent to rollbar
- ab8f7b -
doc fix
- d200da -
allow for $schema to be something else other than the main draft metaspec
- a98180 -
tighten these schemas
v3.0.8
Release v3.0.8
PR #1066 - json validation cleanup, part 1
-
Branch: ether/json-validation-cleanup1
-
Revision: eaf84c1
-
Labels: refactor
phase 1 of cleaning up how we do JSON validation internally
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-19T18:24:31Z
Commits
- 11384e -
render these validation failure log messages nicer
- dac184 -
add a few more basic checks for http standards conformance
- 93ff39 -
remove numeric coercion in query_params validation
- bf6724 -
apply defaults when parsing query parameters
- ef5556 -
eliminate some unneeded local variables
- b03734 -
support $t->json_schema_is('http...')
- f308f3 -
s/definitions/$defs/ in all JSON schemas
PR #1067 - json validation cleanup, part 2
-
Branch: ether/json-validation-cleanup2
-
Revision: 546f7e3
-
Labels: api, enhancement, refactor
- remove all uses of JSON::Validator and switch to JSON::Schema::Draft201909 (which also moves us from using the draft 07 to draft 2019-09 JSON Schema specification)
- and many schema cleanups as a side effect of the upgrade
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-24T20:09:38Z
Commits
- 06bb36 -
convert all JSON Schema validation functionality from JSON::Validator to JSON::Schema::Draft201909
- b03bf7 -
optimize schemas for draft2019-09 semantics
- 945533 -
use a stricter metaschema for our schemas
- 2c8023 -
fully resolve the schema URI that is returned in validation errors
- 50036a -
tighten these schemas
- 5089db -
loosen schema for response device report format
- a9b073 -
fix errors in (commented-out portion of) rollbar payload schema
- 820dc6 -
modularize some schema definitions for reuse
- 8b6ce6 -
use more compact list syntax
PR #1068 - json validation cleanup, part 3
-
Branch: ether/json-validation-cleanup3
-
Revision: 452beea
-
Labels: api, refactor
Validate query parameters, request response body payloads in one place consistently and generate relevant error responses on failure - moves declaration of json schema definitions outside of controllers and into the route definitions.
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-24T22:16:37Z
Commits
- 0fcb08 -
validate query params and request body payload in a hook, configured via the stash
- fc0c21 -
declare some request schema validations for those endpoints that lacked it
- 2c0d74 -
validate_all_requests feature, to be used in development and staging environments
- 5ef663 -
validate_all_responses feature, to be used in development and staging environments
- 873e5b -
add Link header, describing the structure of the response
v3.0.7
Release v3.0.7
PR #1062 - remove deprecated validation endpoints
-
Branch: ether/deprecated-validation-endpoints
-
Revision: bb44813
-
Labels: api, breaking, database, needs-shell, needs-ui
drop redundant validation_state.validation_plan_id
affects endpoints:
- POST /device_report
- POST /device/:id_or_serial_number/validation_plan/:validation_plan_id
- POST /device/:id_or_serial_number/validation/:validation_id
- GET /device/:id_or_serial_number/validation_state
remove deprecated /validation endpoints:
- GET /validation
- GET /validation/:id
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-16T16:46:38Z
Commits
- 9fe51e -
drop redundant validation_state.validation_plan_id
- f4df98 -
remove deprecated /validation endpoints
PR #1063 - Remove all traces of workspaces from the system.
-
Branch: ether/goodbye-workspaces
-
Revision: b150e2d
-
Labels: api, breaking, database, needs-shell, needs-ui
remove workspace tables and all queries to them:
- user_workspace_role
- workspace
- workspace_rack
removed endpoints:
- GET /workspace
- GET /workspace/:workspace_id_or_name
- GET /workspace/:workspace_id_or_name/child
- POST /workspace/:workspace_id_or_name/child?send_mail=<1|0>
- GET /workspace/:workspace_id_or_name/device?
- GET /workspace/:workspace_id_or_name/device/pxe
- GET /workspace/:workspace_id_or_name/device-totals
- GET /workspace/:workspace_id_or_name/rack
- POST /workspace/:workspace_id_or_name/rack
- DELETE /workspace/:workspace_id_or_name/rack/:rack_id
- GET /workspace/:workspace_id_or_name/relay
- GET /workspace/:workspace_id_or_name/relay/:relay_id/device
- GET /workspace/:workspace_id_or_name/user
- POST /workspace/:workspace_id_or_name/user?send_mail=<1|0>
- DELETE /workspace/:workspace_id_or_name/user/:target_user_id_or_email?send_mail=<1|0>
also affects output in endpoints:
- GET /user/me
- GET /user/:target_user_id_or_email
removed scripts and commands:
- bin/conch check_workspace_racks
- bin/conch clean_roles
- bin/conch workspace_to_build
- bin/conch workspaces
- bin/conch-db create-global-workspace
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-16T18:28:03Z
Commits
- a1258d -
Remove all traces of workspaces from the system.
PR #1064 - v3.0.7 misc fixes
- Branch: ether/v3.0.7-fixes
- Revision: eff7296
- fix some uninitialized warnings
- fix --help text in a few command line scripts
- remove script that is no longer needed
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-16T19:09:04Z
Commits
- 8e4366 -
fix lack of autovivification when config is undefined
- 671060 -
fix uninitialized warning in dry run mode; total report count
- 55ca93 -
fix --help text
- 2381db -
remove one-off script used in v3 launch
PR #1065 - include validation name, version, description in all ValidationResults
-
Branch: ether/fix-validation-results
-
Revision: d9c3358
-
Labels: api
This was an oversight when the fields were added in PR #1033 (v3.0.2)
affects endpoints:
POST /device/:device_id_or_serial_number/validation/:validation_id
POST /device/:device_id_or_serial_number/validation_plan/:validation_plan_id
POST /device_report?no_update_db=1
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-18T22:19:42Z
Commits
- 499c07 -
include validation name, version, description in all ValidationResults
v3.0.6
PR #1056 - deprecate legacy validation endpoints
-
Branch: ether/legacy-validation-endpoints
-
Revision: f1aa60d
-
Labels: api, breaking, needs-shell, needs-ui
Nothing is removed yet, but clients should be getting off these endpoints/relying on these properties ASAP.
- deprecate GET /validation and GET /validation/:id, to be removed by v3.1
- deprecate old "test validation" endpoints, to be removed by v3.3
- hardware_product.validation_plan_id is deprecated and will be removed soon
- validation_plan_id will be removed from validation results by v3.1
- deprecate all /validation_plan routes, to be removed in v4.0
People
- Author: karenetheridge
- Reviewed By: dustinryerson - DISMISSED
- Reviewed By: perigrin - DISMISSED
- Merged By: karenetheridge
- Merged: 2020-11-10T19:21:31Z
Commits
- 5d63aa -
move /validation_plan and /validation_state routes off to their own files
- 2a7454 -
deprecate GET /validation and GET /validation/:id, to be removed in v3.1
- 9860ff -
deprecate old "test validation" endpoints, to be removed in v4.0
- 7cf1f5 -
hardware_product.validation_plan_id is deprecated and will be removed soon
- 3eba9b -
"validation_plan_id" property will be removed from validation results in v3.1
- 201263 -
deprecate all /validation_plan routes, to be removed in v4.0
- db2e31 -
rename validation result json schemas as s/^/Legacy/.
PR #1058 - endpoint improvements
-
Branch: ether/simplified-users
-
Revision: 7661949
-
Labels: api, breaking, enhancement
- remove organization and build data from from GET /user
- fix query parameter specification -- allow ?ids_only=0&serials_only=0
- add ?phase=value option to GET /build/:id_or_name/device
- add ?phase=value, ?ids_only options to GET /build/:id_or_name/rack
People
- Author: karenetheridge
- Reviewed By: perigrin - DISMISSED
- Reviewed By: dustinryerson - DISMISSED
- Merged By: karenetheridge
- Merged: 2020-11-12T16:23:17Z
Commits
- 794484 -
remove organization and build data from from GET /user
- 8d5473 -
fix query parameter specification -- allow ?ids_only=0&serials_only=0
- 7f1017 -
add ?phase=value option to GET /build/:id_or_name/device
- 3508bf -
add ?phase=value, ?ids_only options to GET /build/:id_or_name/rack
PR #1059 - Add completed_status to build table
-
Branch: ether/build-completed_status
-
Revision: 163dd8c
-
Labels: api, database, enhancement
add build.completed_status
..to be returned in payloads for
GET /build/:id_or_name
GET /buildNow a build can be completed even if it has unhealthy devices.
build.completed_status = 'success' iff all devices are healthy,
and 'failure' otherwise.
People
- Author: karenetheridge
- Reviewed By: perigrin - APPROVED
- Reviewed By: dustinryerson - APPROVED
- Merged By: karenetheridge
- Merged: 2020-11-12T19:47:13Z
Commits
- ff3797 -
use a separate json schema for each action in the route chain
- f952b2 -
include database constraints in Build json schema
- 0fa781 -
add build.completed_status
PR #1060 - delete old device reports
-
Branch: ether/thin-device-reports
-
Revision: 9efc2c2
-
Labels: database, device reports
We will delete all device reports (and associated validation_state records,
and then orphaned validation_results) that are older than 6 months, except we
retain the most recent report of each state (error, fail, pass).Due to the amount of time to run (6+ hours), it is implemented mainly as a
command that can be run in parallel with normal operations, rather than as a
database migration that is run in between system restarts.
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-12T19:53:23Z
Commits
- 569c62 -
delete old device reports
PR #1061 - fix migration for build.completed_status
-
Branch: ether/fix-completed-builds
-
Revision: 4077281
-
Labels: bug, database
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-12T20:40:47Z
Commits
- 668d2a -
fix migration for build.completed_status
v3.0.5
Release v3.0.5
PR #1055 - fix bad schema for GET /build query parameters
-
Branch: ether/fix-json-schema
-
Revision: faa25c0
-
Labels: bug
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-10-29T21:34:57Z
Commits
- 7b4fbc -
fix bad schema for GET /build query parameters
PR #1057 - restore index on validation_state that was recently lost
-
Branch: ether/missing-validation_state-index
-
Revision: c90f582
-
Labels: database
People
-
Author: karenetheridge
-
Merged By: karenetheridge
-
Merged: 2020-11-02T17:00:20Z
Commits
- ed1043 -
restore index on validation_state that was recently lost