refine _get_isolated_creds

when exceptions.Duplicate is thrown in _get_isolated_creds, it
should be handled as the following:
1. reuse the existing tenant or user if it's allowed.
2. regenerate tenant name or user name, and try to create it again
until it's successful, shouldn't just raise the exception.

Change-Id: I69c4026aa4c32d4822342da0ac3f7243c0db6fd4
1 file changed