It is possible that tarantool already listen on a TCP port, but not all necessary functions are added/initialized by a role. See tarantool/crud#229 for example.
It is also possible that we don't grant all necessary permissions to a database user at the moment of connect (because snap/xlog is not fully applied at this moment).
I propose to add an option to wait until a set of user provided roles will be initialized and only after this consider the connection ready to use.