TritonDataCenter / sdc-cloudapi

Triton Data Center Public HTTP API
Mozilla Public License 2.0
10 stars 24 forks source link

InternalError exceptions when handling user ids in roles #91

Open marsell opened 3 years ago

marsell commented 3 years ago

sdc-cloudapi currently uses node-mahi version 2.3.0. This version has a double-callback bug in its getUserById() implementation., which is exposed when using roles that have members identified by id instead of login. mahi client v2.3.1 fixes this.

Update cloudapi to use mahi client 2.3.3, and add tests to cover using "id" instead of "login" when creating or using roles.

marsell commented 3 years ago

Tests after (there was no test covering the failing case before the fix):

[root@e5ad067e-ae5e-4505-933b-a31190be1489 (lab:cloudapi0) /opt/smartdc/cloudapi/test]# node users.test.js
[...]
# teardown
ok 744 teardown success

1..744
# tests 744
# pass  744

# ok
marsell commented 3 years ago

tests.out.txt is the output of a complete test run, since this commit changes a library. Note that this test run also incorporates the patches from tickets #89 #90 #92 #93 #94 #95 too.

The above test run omits the tests in machines.70.test.js, machines.80.test.js and machines.94.test.js, since my local dev machine has problems running VMX, thus I can't run any KVM or Bhyve tests.