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

v3.0.0-b3

Pre-release
Pre-release
Compare
Choose a tag to compare
@karenetheridge karenetheridge released this 13 Dec 17:59
· 454 commits to master since this release
Release v3.0.0-b3

[PR #952](https://github.com/joyent/conch/pull/952) - `v3 b3 api improvements`
===
* Branch: ether/v3-b3-api-improvements
* Revision: a612b9e09
* Labels: api, database, enhancement, v3.0

> - improve output for GET /user/:target_user (closes #950)
> - allow editing the build name in POST /build/:build_id_or_name
> - add POST /organization/:id_or_name (for editing name, description)
> - add GET /room/:datacenter_room_id_or_alias/rack/:rack_name, and necessary unique constraint (see also https://github.com/joyent/buildops-infra/issues/111)

People
---
* Author: [karenetheridge](https://github.com/karenetheridge)
* Reviewed By: [dustinryerson - DISMISSED](https://github.com/joyent/conch/pull/952#pullrequestreview-318689981)
* Merged By: [karenetheridge](https://github.com/karenetheridge)
* Merged: 2019-11-19T18:53:01Z

Commits
---

* [fa61b7](https://github.com/joyent/conch/commit/fa61b7fe37dfedbdab4631e1d84dd97b6428c428) - `fix uninitialized warnings seen via ansible`
* [f6e97f](https://github.com/joyent/conch/commit/f6e97f537931628b45b81edd5fc792d09666df1f) - `collapse GET /user/:target_user build data together`
* [a01ade](https://github.com/joyent/conch/commit/a01ade5c222f0ca83d17a7f68067a791c0415c6a) - `explain to myself why an as_subselect_rs is not needed here`
* [31c2b9](https://github.com/joyent/conch/commit/31c2b94344422c40d2d08e2fa7a9a2cca98c3665) - `prohibit empty string in build and organization description`
* [2b5a5c](https://github.com/joyent/conch/commit/2b5a5cb127c4c8fd554b60f18cbaf344f52e525d) - `allow editing the build name`
* [3d81b1](https://github.com/joyent/conch/commit/3d81b15c4fff382e90a22208bc5ab460a743cfa0) - `add POST /organization/:id_or_name`
* [e4ce53](https://github.com/joyent/conch/commit/e4ce53ff46fbfe329acf45096fe1524cd53fc5fb) - `remove field that never appears in this result`
* [5538c5](https://github.com/joyent/conch/commit/5538c51a80291a53f5d0ddb450f4616b7167dc62) - `clarify what this endpoint returns`
* [8d4488](https://github.com/joyent/conch/commit/8d448872b98764d25ccd79cab254121b7291a864) - `tighten this schema`
* [5e4b86](https://github.com/joyent/conch/commit/5e4b86f7e10b1e8887c7c342a6669d95dec00468) - `add GET /room/:datacenter_room_id_or_alias/rack/:rack_name`

- - -

[PR #958](https://github.com/joyent/conch/pull/958) - `v3 validation fixes`
===
* Branch: ether/v3-validation-fixes
* Revision: 747047540
* Labels: api, breaking, bug, database, needs-shell, needs-ui, refactor, tests, v3.0, validation

> Many fixes pertaining to validations and hardware products.
>
> - add the newer drive validations to the stock loadout used when creating a new database
> - fix SataSsdNum validation to check the proper product field for legacy hardware
> - set more default values for some hardware drive settings
> - fold hardware_product_profile into hardware_product (clients using `/hardware_product` endpoints must be fixed)
> - fix DeviceProductName endpont to validate the actual vs. intended hardware again (broken since #903, v3.0.0-a7)

People
---
* Author: [karenetheridge](https://github.com/karenetheridge)

* Merged By: [karenetheridge](https://github.com/karenetheridge)
* Merged: 2019-12-04T17:17:01Z

Commits
---

* [c4fa4a](https://github.com/joyent/conch/commit/c4fa4a3db7bc7e193f9c731a1559a2ddcc761553) - `switch to more standard markdown`
* [d0242a](https://github.com/joyent/conch/commit/d0242a1793414e9e2272057826f3ee790c3883db) - `add caveat to these docs`
* [c55093](https://github.com/joyent/conch/commit/c550931302db0a8178a66ac812f6aa8cf45ee8cd) - `fix: add new HddSize validation when creating new server plan`
* [b1ecaf](https://github.com/joyent/conch/commit/b1ecaf940d35cfe826b2bbd77fcfc8d0601e2e19) - `fix: add <drive>Num validations when creating new server plan`
* [e77491](https://github.com/joyent/conch/commit/e7749196799486b2d5125b4bf12b12386dda1f22) - `fix: wrong hardware_product field was being checked for this legacy product`
* [840b7c](https://github.com/joyent/conch/commit/840b7c4e292ceaeeffab5b755f7084516469f3b6) - `remove fixture data that is never used`
* [670806](https://github.com/joyent/conch/commit/6708068ad4c3b0dec1fb21d1be1e5c9b626db765) - `make some validation numbers not nullable with sane defaults, for easier future transition`
* [5b94a6](https://github.com/joyent/conch/commit/5b94a67e1b3ce621a5f649c4d288ae535c385df0) - `fold hardware_product_profile into hardware_product`
* [7c52d6](https://github.com/joyent/conch/commit/7c52d6801fed5bd126fa31142001f4966006622a) - `fix fixtures to allow for a different hardware_product for the rack_layout than the device`
* [29fb52](https://github.com/joyent/conch/commit/29fb527a5b4d7303b0a6469b4fc76bf5b05a5c19) - `rework construction of test validation fixtures, nesting (most) data under device`
* [971f0d](https://github.com/joyent/conch/commit/971f0d1bc04aee35d0f23a9190a6108736a5edc1) - `fix: DeviceProductName validation verifies the hardware against the layout again`

- - -

[PR #961](https://github.com/joyent/conch/pull/961) - `v3-b3 build endpoint revisions`
===
* Branch: ether/v3-b3-build-endpoint-revisions
* Revision: 640e72905
* Labels: api, breaking, needs-shell, needs-ui, v3.0

> Contains visible changes to some build-related endpoints.
>
> - GET /build/*/device no longer includes devices actually located in other builds, even if their rack is in this build.
> - allow POST /rack/* to change a rack's build
> - allow POST /build/* to change a device's or rack's build
> - rack is always created with a build_id
> - remove DELETE /build/*/rack endpoint (it is no longer possible to nullify rack.build_id)

People
---
* Author: [karenetheridge](https://github.com/karenetheridge)

* Merged By: [karenetheridge](https://github.com/karenetheridge)
* Merged: 2019-12-05T23:03:06Z

Commits
---

* [31443f](https://github.com/joyent/conch/commit/31443f56a9ad50db082b7a3c4c796b08b763a164) - `GET /build/*/device now omits devices in racks in this build if the device is in another build`
* [2305a1](https://github.com/joyent/conch/commit/2305a10bbbab48433cc7b68035715fb22e683da0) - `add missing error handling in build-device endpoint`
* [172bc7](https://github.com/joyent/conch/commit/172bc7e6785b51175252ce013ae6b6db39e2db19) - `permit POST /build/* endpoints to change a device's or rack's build`
* [e084ec](https://github.com/joyent/conch/commit/e084ecf3470493d58b22ad7a099dab22e1d9995d) - `remove DELETE /build/*/rack endpoint`
* [657642](https://github.com/joyent/conch/commit/6576427eaa35ccb8511734e76bca827337371913) - `always create a rack with a build_id, and allow changing it`
* [30703d](https://github.com/joyent/conch/commit/30703daf6eb7263160104f7b4a86ff6185381760) - `do not fetch needless hardware data here`
* [7b48d8](https://github.com/joyent/conch/commit/7b48d8d0c739c76e9a63c11aed3cc3789f056725) - `for v2->v3 data migration, also create a DCOps org and a spares build`
* [15d677](https://github.com/joyent/conch/commit/15d6770b6c851693a86c9691b9163d993337e4d6) - `fix: order of operations for require_role default`
* [13f8e4](https://github.com/joyent/conch/commit/13f8e4b27134f0d454e55df2003b5e25355e6ff2) - `require the rw role for the device(s) or rack being added to the build`

- - -

[PR #962](https://github.com/joyent/conch/pull/962) - `v3 b3 misc fixes`
===
* Branch: ether/v3-b3-misc-fixes
* Revision: ad3029709
* Labels: docs, refactor, tests

> Miscellaneous fixes that do not alter endpoint specifications.
>
> - better rollbar data for large/long message alerts
> - better wording in some documentation and comments
> - improved logging in some error paths
> - some improved tests
> - fixed some json schemas to more properly constrain to acceptable data values

People
---
* Author: [karenetheridge](https://github.com/karenetheridge)
* Reviewed By: [dustinryerson - DISMISSED](https://github.com/joyent/conch/pull/962#pullrequestreview-328405032)
* Merged By: [karenetheridge](https://github.com/karenetheridge)
* Merged: 2019-12-09T21:08:18Z

Commits
---

* [be561a](https://github.com/joyent/conch/commit/be561a1da8896cbc1b568393c4f2c9f14ec5a348) - `more complete endpoint data for large/long message alerts`
* [8c06ad](https://github.com/joyent/conch/commit/8c06ad2d505b0d6d4834df9f12c86bfd23b2a148) - `improve the occurrence grouping mechanism for long/large message alerts`
* [a0b9c8](https://github.com/joyent/conch/commit/a0b9c8c9520ada970ce6775ca54617ee15104c2e) - `clarify comment`
* [1c60d0](https://github.com/joyent/conch/commit/1c60d08156a71d305c7288c7f27d112f553adc9d) - `explicitly return a value from chained action, rather than evaluating the resultset`
* [165742](https://github.com/joyent/conch/commit/16574228f8449b3e447f3c12de151dee6147c16e) - `use faster access method for query params`
* [272e95](https://github.com/joyent/conch/commit/272e950e49f61c025663ab3bcecc25b7e99af0d2) - `$args->{exception} is no longer populated, since Mojolicious 7.82`
* [9c8a8e](https://github.com/joyent/conch/commit/9c8a8ec686866cf83d4936d5f7618805fdcab921) - `ensure strict utf8 checks are used in these tests`
* [b9cdb9](https://github.com/joyent/conch/commit/b9cdb932adcf83063e8098c3f162b2bd8b7811e2) - `minor doc fixes`
* [cc25da](https://github.com/joyent/conch/commit/cc25dafb45b98fbcf2a561d59453608b251e4cc7) - `fix documentation for these endpoints`
* [f487b7](https://github.com/joyent/conch/commit/f487b784687c162abf16bb5283996411fe91d264) - `remove unnecessary collapse clause`
* [fa2b8c](https://github.com/joyent/conch/commit/fa2b8cd1d92d3c34721a1a18d0861411e676977b) - `fix these json schema type definitions, path specifications`
* [3fb6a4](https://github.com/joyent/conch/commit/3fb6a4a91a9ea786b53c3bfca14b415393c7c5c4) - `fix controller action documentation`
* [67e5c8](https://github.com/joyent/conch/commit/67e5c8a06bfb7d1bf367f6a900cc068b845af3ba) - `log when an object is not found`
* [8eb97d](https://github.com/joyent/conch/commit/8eb97d28bdde208670d5cdaa09514705df7fff9b) - `rewrite ->exists helper for efficiency`
* [7fa28e](https://github.com/joyent/conch/commit/7fa28e1a2c25343ceb53548da83e080c22b5b69a) - `when creating builds from workspaces, also populate user_build_roles`

- - -

[PR #965](https://github.com/joyent/conch/pull/965) - `v3 b3 room+rack improvements`
===
* Branch: ether/v3-b3-room-rack-improvements
* Revision: b0a38498e
* Labels: api, breaking, database, enhancement, needs-shell, needs-ui, v3.0

> Many improvements and additions to endpoints for racks and rooms.
>
> - room.vendor_name is now a required (not-nullable) column
> - whenever you could do `<method> /rack/:rack_id/*`, you can do `<method> /rack/:rack_id_or_full_name/*`, where full name is the room vendor_name + ':' + rack name (e.g. "DC12:1F:211250:0101"), and also `<method> /room/:id_or_alias/rack/:rack_id_or_short_name_or_full_name/*`
> - wherever you could do `<method> /room/:id_or_alias/:rack_name/*`, you can do `<method> /room/:id_or_alias/rack/:rack_id/*` and `<method> /room/:id_or_alias/rack/:full_rack_name/*`
> - open up `<method> /room/:id_or_alias` endpoints to non-sysadmins, by checking the user role on rack(s) located in the room (racks without user access will be omitted from results)
> - `GET /rack_role/name=:name` is now `GET /rack_role/:name`
> - `GET /room/*/racks` is now `GET /room/*/rack`
> - `GET /rack` is removed entirely (racks should be fetched from the build, room or workspace endpoints)
> - the DeviceLocation schema now contains more useful information (affects `GET /device/:id_or_serial`, `GET /device/:id_or_serial/location`)
> - pxe endpoints now contain more useful location data

People
---
* Author: [karenetheridge](https://github.com/karenetheridge)

* Merged By: [karenetheridge](https://github.com/karenetheridge)
* Merged: 2019-12-12T17:32:10Z

Commits
---

* [0c71dd](https://github.com/joyent/conch/commit/0c71dde10c9b92f5c760fb11ce255a0fef58e680) - `verify datacenter_id, alias before creating, updating room`
* [732dd8](https://github.com/joyent/conch/commit/732dd8a665366ffa98ee321d49de5bdfeef2b80c) - `simplify use of stashes`
* [f72e60](https://github.com/joyent/conch/commit/f72e603ab819e01a5478371fbe85c75c9aa2aae1) - `test all changed fields`
* [63ac97](https://github.com/joyent/conch/commit/63ac9741a36a027ee9743fc5901feceea5c65eb1) - `support /room/*/rack/:rack_id as well as /room/*/:rack_name`
* [638efa](https://github.com/joyent/conch/commit/638efa3886e9c8cde3924c997d741d47a7b38712) - `allow non-sysadmin access to GET /room/:id_or_alias endpoints`
* [67bb7a](https://github.com/joyent/conch/commit/67bb7af6412a80573470227fa80dfd716d1228ff) - `the constraint may not exist yet, if migration 95 never ran`
* [92ab28](https://github.com/joyent/conch/commit/92ab28b4d1289fd8c930c3282d93dacf6b1b78e1) - `ensure that datacenter_room.vendor_name is unique and not null`
* [3c1928](https://github.com/joyent/conch/commit/3c1928ca6fe618723a138f9a24e2786dce96e21b) - `fix GET /rack_role/:name to drop "name=" from path`
* [5d07e7](https://github.com/joyent/conch/commit/5d07e77d1c38ca00d1d5c564c8ef07b66a5eb353) - `include Location headers in responses to all room- and rack-specific endpoints`
* [e34f94](https://github.com/joyent/conch/commit/e34f94be3790df967b1814995d65107094e4aca6) - `support full rack name in <method> /rack/:rack_id_or_name`
* [35a51e](https://github.com/joyent/conch/commit/35a51e22bbce68c05373e78aab85b2adb57f7920) - `mount all rack-specific endpoints under /room/:room_id_or_alias/rack/* also`
* [e1f30f](https://github.com/joyent/conch/commit/e1f30f5008e930320a752792aab667cdc5890f9b) - `remove GET /rack`
* [261925](https://github.com/joyent/conch/commit/2619251068b7a89aa1b6f8c0f623282043cc53d8) - `move GET /room/*/racks to ../rack, and * .../rack/*/layouts to */layout`
* [39db63](https://github.com/joyent/conch/commit/39db6372faf9a98b47c0368936ce9ead33bfba1e) - `modify DeviceLocation schema to provide more relevant information`
* [9f1baf](https://github.com/joyent/conch/commit/9f1bafeab02fd610c5d04ac8a3c0d8f5166713e8) - `make pxe data include more relevant location data`

- - -

[PR #967](https://github.com/joyent/conch/pull/967) - `v3 b3 yet more fixes`
===
* Branch: ether/v3-b3-yet-more-fixes
* Revision: be6e63c08
* Labels: api, database, enhancement, refactor, tests, v3.0

> Mostly non-breaking changes for v3.0.0-b3.
>
> - feature: include Last-Modified and Expires headers when returning an auth token (This will make it easier for clients to keep using the same auth token for its full lifetime.)
> - user_relay_connection is folded into relay
> - fixes for processing device reports: ensure the relay was registered by the sending user; do not ever update decommissioned devices; update its hardware product if the report disagrees with history, rather than erroring
> - soften json schema for device settings to allow the payload to specify a numeric or boolean value, as well as string
> - organization_workspace_role and all related code (quite a lot of it) is sent to the dustbin
> - efficiency improvements to entity role check queries

People
---
* Author: [karenetheridge](https://github.com/karenetheridge)

* Merged By: [karenetheridge](https://github.com/karenetheridge)
* Merged: 2019-12-13T16:55:09Z

Commits
---

* [838480](https://github.com/joyent/conch/commit/838480df170a24bdb555384f8060dd295f7faeaa) - `whitespace`
* [532b87](https://github.com/joyent/conch/commit/532b8768b3232bc2615518dc0b4d941a7b87d582) - `feature: include Last-Modified and Expires headers when returning an auth token`
* [a96a2d](https://github.com/joyent/conch/commit/a96a2dc6527991980e320e92201c877fcae4c69e) - `give different error messages for entity vs. endpoint not found`
* [dd924d](https://github.com/joyent/conch/commit/dd924d4d086150933e7ce89eca2c2d91a55b17fb) - `move user_relay_connection into relay, for simplicity`
* [574a35](https://github.com/joyent/conch/commit/574a35dfdce1a5214a186bb6a5f230ea1ed736e4) - `when processing device report, also check the relay was registered by the sending user`
* [973b2e](https://github.com/joyent/conch/commit/973b2e63b1affe4dff65833cb5e496a8ce20f7d1) - `decommissioned devices should never be updated`
* [8172a3](https://github.com/joyent/conch/commit/8172a3d472121759662bbaca39158d44faca1cf5) - `on device report receipt, update its hardware_product`
* [3c313a](https://github.com/joyent/conch/commit/3c313a34c317cf62e699029b37257f1da472f512) - `properly test the row count`
* [9e1592](https://github.com/joyent/conch/commit/9e15928bead8f01bdd525b2e18cb7ee0bee19c67) - `remove organization_workspace_role table and all related endpoints, code`
* [7fdd9e](https://github.com/joyent/conch/commit/7fdd9ec97bd7c23c5876e9804c62e45f6c290d47) - `more json schema fixes`
* [479d17](https://github.com/joyent/conch/commit/479d17ad1ec4481c88145e524a5519e60752e0e1) - `limit these queries to fewer columns`
* [04bdb2](https://github.com/joyent/conch/commit/04bdb25de67fc3f2223d4b966183c432c42e3a65) - `allow device setting values to be numeric or boolean as well as stringy`

- - -