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
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` - - -