Boundary api not returning list of targets properly

Today suddenly our instance of boundary controller did not showed the targets list in a project.
After some digging I’ve found out that the api is returning response_type: complete for the first call.

This command returns me three items:
boundary targets list -scope-id global -recursive -format json | jq '(.items | length)'
3
That is however I have more than 2K targets.

Targets are there but not just being returned by the boundary api, since we can connect to or read one of them.
This works:

boundary targets read -id tssh_xxx

curl -H "Content-Type: application/json" -H "Authorization: Bearer $(boundary config get-token -keyring-type keychain -token-name default)" 'https://boundary.hsre.ir/v1/targets/tssh_xxx

Things I have tried:

  • restarting the controller instance.
  • manually modifying page_size query parameter
    These did not work.

Boundary info:
version: 0.17.0

1 Like

So no targets are returned at all? There is a default of 1000 items and complete would be expected at the end.

Yes no targets returned at all. I’m aware of the 1K limit of api calls, the thing is i have 40+ projects and each of them has around 5 - 50 targets, so I would assume that when i list an scope’s target it should list all targets in the scope.

Sounds like a potential bug if nothing is being returned at all, I would suggest opening a GitHub issue if you are on community edition, or a support ticket if you are on Enterprise or HCP.

1 Like

Update:
I have checked the database and the targets are present there, I suspected an accidental removal of the relationship to the scope but that’s not the case. The database has the targets and the targets are properly pointing to the correct project id.
I would try running a fresh new controller instance and connecting it to the database to see if anything will fix or not.
And by the way there is no filter for any target type is being applied.

1 Like