Releases: joyent/conch-shell
v1.10.3
v1.10.2
v1.9.2
v1.10.1
v1.9.1
v1.10.0
Stable Release v1.10.0
This is a large release with lots of user facing changes, including breaking changes. There are also many new commands.
This release requires Conch API >= v2.24.0
Going forward, the conch shell will verify the checksum of files downloaded using update self
before writing them to disk. These checksums are generated during the build process and verification will at least demonstrate you are receiving the same file produced on the build server. This check is performed automatically and cannot be disabled.
Breaking Changes
- In hardware profiles, support for zpool profiles has been removed
conch relays
has becomeconch relays get
conch global layouts get
has been removedconch workspace :id health
has been removed
New Features
conch ws :id devices
can be filtered on the 'validated' fieldconch user profile
shows information about the current user, including workspace access- New commands are available for working with hardware products and profiles. See 53fa297 for details
- New commands are available for searching for devies by settings or tags. See #242 for details
- It is now possible to search for devices by hostname:
conch devices search hostname
- It is now possible to search for relays by name, including regexs:
conch relays find
- It is now possible to assign devices to rack slots, similar to the web UI's "Edit Assignments" view. See #245 for details
conch device :id validations
now exists, the rough equiv ofconch vss device :id
- Admins can now view detailed information about a user, change their
name or email, and change their system admin status. See #252 for details
Improvements
conch ws :id devices --full
is much faster now- Documentation is improved in
ws user :email create
to note that it no longer creates a user if necessary - The table output for many commands is now sorted
v1.9.0
This release requires Conch API >= v2.23.0
Breaking Changes:
- The JSON output of a hardware profile has changed. See PR #221
- Cookie auth is no longer supported, resulting in a config file format
change. The transition should be seamless for users, however. - In the JSON output of a hardware product, the 'specification' field is
no longer a string, but a proper data structure. - Skipping the shell version check is now a global setting, resulting in
a config file change as well as the moving of two commands. See PR #231
Enhancements:
- The output of
device :id get
is now much more useful and includes
the results of the most recent report validations. This data is
available in json using--json device :id get --enhanced
- The texutal device data now includes the datacenter vendor and rack ID
- In the table output of a list of devices, the FLAGS column has been
removed and replaced with specific columns for "validated" and
"graduated".
Ongoing Work:
workspace :id devices --full
should be about 2x faster in this
release but still pretty slow. Work is ongoing to improve the
performance of this command.
CHANGELOG:
PR #217 - fix the docker based release process
- Branch: sungo/fix-release-process
- Revision: 9c8bf22
- Labels: bug, build
People
Commits
- 33b0b5 -
fix the docker based release process
PR #218 - the release process now checks out from git, rather than using the local files.
- Branch: sungo/fix-build-revision-dirty
- Revision: b688e8d
- Labels: build
This gets us a clean environment, removes the -dirty problem, and enforces the notion that we are building releases from tags.
A change is required to the buildbot process to pass in a BRANCH variable instead of its current revision hash.
People
Commits
- 05f21e -
the release process now checks out from git, rather than using the local files.
PR #221 - update hardware profile struct to match joyent/conch#626.
- Branch: sungo/api-2.23
- Revision: 4ab43a0
- Labels: breaking
Closes #220
People
Commits
- 9fbbf7 -
update hardware profile struct to match joyent/conch#626. Closes joyent/conch-shell#220. #breaking
PR #224 - Drop cookie auth and improve error handling / reporting
- Branch: sungo/login-improvements
- Revision: 81aabfa
- Labels: enhancement
Along with some much needed improvement to user-facing error handing, this PR drops all support for cookie auth, and implements a full parser for JWT. The config file syntax has changed but existing configs should be upgraded silently when the user next uses the app.
People
Commits
- ffed10 -
Switch enitrely to JWT, encoding decoding the token and extracting the header and claims sections
- 4d25fe -
Improve the ErrNotAuthorized text. in #219, the user is getting a 401 under the hood but the error message was confusing
- e8fcab -
improve (hopefully) a bit the error messages in the conch lib
- ba49b5 -
in the conch lib auth flow, stop returning the generic ErrLoginFailed when we know we have a malformed JWT
- 4ff724 -
in the conch lib ErrBadInput, remove the internal error marking
- 37033a -
add a switch statement to util.Bail() to provide more user friendly error messages in some cases
PR #225 - In the output of
device get include the datacenter vendor and rack id
- Branch: sungo/vendor-name-in-location
- Revision: 6e3fcf9
- Labels: enhancement
Closes #118
People
Commits
- 510204 -
in the output of "device $id get --full" include the datacenter vendor name.
- b73710 -
in the output of "device $id get --full" include the rack id.
PR #226 - When rendering a list of devices, remove the confusing FLAGS column and always display the validated and graudated timestamps
- Branch: sungo/ws-device-validated
- Revision: 054b615
- Labels: enhancement, wat
This also starts to address the speed issue in this command. I'll file a separate GHI for the rest of that work.
People
Commits
- 723484 -
add the graduated and validated timestamps to MinimalDevice and show them in the --full output of a list of devices. This replaces the FLAGS column in the --full output
- fc445b -
when displaying a table of devices, always display the validated and graduated timestamps instead of the FLAGS column. Closes #7
- 5c32ea -
significantly increase the speed of
workspace :id device --fullby only fetching location instead of the full device
PR #228 - Improvement of
device :id get and changes to displaying tables of devices
- Branch: sungo/device-improvements
- Revision: 11f0fb1
- Labels: enhancement
People
Commits
- 361d9a -
in
device :id getin non-json output, always show the templated data (aka --full) instead of a table of one row
- d2e0b9 -
Make the default textual output of
conch device :id geta lot more useful.
- b38d12 -
in "relay :id devices" check the error response from DisplayDevices
- d53e7a -
Improve DisplayDevices while combining it with TabelizeMinimalDevices
PR #229 - In
device :id report, if the report is nil, output "{}" instead of "null".
- Branch: sungo/device-report-null
- Revision: b61b7bc
- Labels: bug, enhancement
Closes #186
People
Commits
- 0e8603 -
In
device :id report, if the report is nil, output "{}" instead of "null". Closes #186
PR #230 - HardwareProduct.Specification is now a proper data structure instead of a string.
- Branch: sungo/decode-hardware-product-specification
- Revision: 9d28a52
- Labels: breaking, enhancement
Closes #187
People
Commits
- 81c541 -
breaking: HardwareProduct.Specification is now a proper data structure instead of a string.
PR #231 - SkipVersionCheck is now global
- Branch: sungo/skip-version
- Revision: f9775be
- Labels: breaking, enhancement
Closes #222
The breaking change happens in two places.
First, while the config transition code will update the configuration file, it does not change the default global value. If a user has SkipVersionCheck enabled on a profile and wishes to retain the setting, they will need to manually change the value after upgrading.
Second, the version check com...
v1.8.1
Release 1.8.1
This release is ONLY certified for Conch API starting at v2.22. It is known to
be broken against 2.21 and before.
This release mostly just brings everything up to spec for API v2.22. Changes of note:
Breaking:
- The 'hardware' and 'hardware_product' command trees have been merged. Their
combined functionality is available in the 'hardware' tree. If you are a user
of these commands, please make sure to look at the help because the options
have changed (Great. Sounding like a voicemail prompt now) - The non-functional "workspace :name failures" command was removed
- Create/Replace/Update/Delete functionality for validations and validation
plans have been removed as these functions are no longer supported in the API
New features:
- --debug and --trace options have been added. --debug will show basic http
request and reponse parameters. --trace is for folks who like 9k line log
files and dumps out the detailed workings of the internals, particularly when
it comes to http transactions. - When workspaces are displayed in a table, they are now sorted by name
Bugs Fixed:
- Validation results for a device were showing all passed if any single
validation passed - Updating global datacenters, racks, rack roles, and rooms were previously
broken. They should work now.
[ Point release solely to fix the release process ]
Changelog follows:
PR #185 - in
vss device, fix a bug where if any result passed, they were all marked as passed and no failures were displayed.
- Branch: sungo/fix-vss-status-fails
- Revision: 894c5e0
- Labels: bug
Closes #184
[Backport to current production]
People
Commits
- 9f4ad2 -
in
vss device, fix a bug where if any result passed, they were all marked as passed and no failures were displayed.
PR #189 - Test and release via Docker
- Branch: sungo/docker
- Revision: 975f472
- Labels: build, enhancement
Dockerfile and scripts to build the image, one for testing that should be suitable for buildbot, and one to build release binaries which should also be suitable for buildbot.
People
Commits
- de960a -
Dockerfile and scripts to build the image, one for testing that should
PR #190 - upload release images to docker hub
- Branch: sungo/docker-upload
- Revision: 5d7b96c
- Labels: build
People
Commits
- 683be3 -
upload release images to docker hub
PR #195 - Small docker improvements
- Branch: sungo/docker-improvements
- Revision: cef9888
- Labels:
People
Commits
- 3e8c64 -
add bin to dockerignore
- 7da835 -
rework the dockerfile so it creates a tiny image that contains the conch binary and ssl cerrts
PR #197 - when saving a rack layout, the only difference between new and update is the URL
People
Commits
- 14cea7 -
when saving a rack layout, the only difference between new and update is the URL.
PR #202 - Sync up to API v2.22
- Branch: sungo/api-2.22-sync
- Revision: 2a077b4
- Labels: breaking
This fixes the breakage incurred by the API v2.22 update. Any builds after this merge will NOT work on API versions prior to v2.22.
One issue remains. Due to a regression the API, displaying a hardware product cannot show the vendor name. This is tracked under joyent/conch-api#596
Breaking:
- The API collapsed the two hardware product command trees into one. Thus, the 'hardware_products' command trees in this app have been removed and their functionality rolled into the 'hardware' tree.
People
Commits
- 2b6200 -
bring relay commands up to 2.22 spec
- 3bafd9 -
bring existing hardware product commands up to API 2.22 spec
- 964652 -
bring the Device struct up to API v2.22 spec
- a5832f -
bump minimum api version to 2.22.0. Yes, I know that doesnt do anything right now
- cc64bb -
in "version", display what version we expect. Yes, I know we dont enforce that at the moment
- fad042 -
when displaying a hardware vendor, use the original structure in the json response, not our modified one. Also, note the API issue that prevents us from pulling the vendor name
PR #203 - For our standards checking, switch from gometalinter to staticcheck
- Branch: sungo/staticcheck
- Revision: 4de4bf6
- Labels: build
Staticcheck is more deliberate about its work and, perhaps most importantly, provides the ability to skip checks either entirely or for a specific section of code.
People
Commits
- 40484e -
fix ST1005 "error strings should not be capitalized" check failures
- c81a8f -
fix S1002 "should omit comparison to bool constant" check failures
- 840ad0 -
fix S1023 "redundant return statement" check failures
- cb16dd -
in device settings, abstract the check for tags to make it easier to fix the S1007 "should use raw string..." check failures
- 5ae15d -
switch from gometalinter to staticcheck
PR #205 - Abstract the http calls into common routines
- Branch: sungo/http-abstraction
- Revision: 625fdd5
- Labels: enhancement
This gets sling out of the main codebase and isolates it. We're still using it to build http requests objects because, frankly, if I were to implement this myself it'd look just like sling. Otherwise, we're handling http requests on our own.
People
Commits
- 7107a8 -
abstract simple gets into a new common function, removing the need for all the code to worry about translating api errors
- 095350 -
abstract sling.Get.QueryStruct calls
- 3d2845 -
abstract out sling.Delete calls
- abe9e9 -
abstract out sling.Post calls
- 8231ee -
start handling http requests on our own, only using sling to build the request object
- 2580aa -
remove year from copyright statements
- 9fb162 -
simplify many of the get based calls further by letting the function definition allocate our variables
- 23db93 -
conch.GetValidationPlan no longer returns a pointer
- f25601 - `conch.GetWorkspace no longer return...