Skip to content
This repository has been archived by the owner on Jul 24, 2021. It is now read-only.

Releases: joyent/conch-api

v3.2.3

19 Jan 18:17
8e2a1f8
Compare
Choose a tag to compare
v3.2.3 Pre-release
Pre-release

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

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

19 Jan 00:57
f2885c6
Compare
Choose a tag to compare
v3.2.2 Pre-release
Pre-release

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

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

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

13 Jan 20:26
dcf55c4
Compare
Choose a tag to compare
v3.2.1 Pre-release
Pre-release

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

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

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

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

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

05 Jan 23:05
23c8316
Compare
Choose a tag to compare
v3.2 Pre-release
Pre-release

Conch API release v3.2

PR #1074 - v3.1.2 minor fixes

  • Branch: ether/v3.1.1-minor-fixes

  • Revision: 0298194

  • Labels: bug
    People


Commits

  • 5dd0ec - fix handling of these exceptions
  • 823c6b - two spaces good, four spaces bad

PR #1076 - also add title, readOnly annotations to HardwareProducts

  • Branch: ether/hardware_products-annotations

  • Revision: 7a808dc

  • Labels: api

...matching the changes made in 6d29f50 (PR #1069)

People

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

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

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

08 Dec 19:31
1bfcdb1
Compare
Choose a tag to compare
v3.1.1 Pre-release
Pre-release

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

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

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

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

07 Dec 17:43
2a05333
Compare
Choose a tag to compare
Pre-release

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

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


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

24 Nov 22:35
452beea
Compare
Choose a tag to compare
v3.0.8 Pre-release
Pre-release

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

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

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

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

19 Nov 18:17
d9c3358
Compare
Choose a tag to compare
v3.0.7 Pre-release
Pre-release

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

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

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

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

Commits

  • 499c07 - include validation name, version, description in all ValidationResults

v3.0.6

12 Nov 20:45
4077281
Compare
Choose a tag to compare

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

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

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 /build

Now a build can be completed even if it has unhealthy devices.
build.completed_status = 'success' iff all devices are healthy,
and 'failure' otherwise.

People

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

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


Commits

  • 668d2a - fix migration for build.completed_status

v3.0.5

02 Nov 18:14
c90f582
Compare
Choose a tag to compare

Release v3.0.5

PR #1055 - fix bad schema for GET /build query parameters

  • Branch: ether/fix-json-schema

  • Revision: faa25c0

  • Labels: bug
    People


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


Commits

  • ed1043 - restore index on validation_state that was recently lost