Skip to content

Commit 8401ecb

Browse files
committed
Add error handling in case UAA is unavailable
1 parent fb624e3 commit 8401ecb

File tree

2 files changed

+5
-0
lines changed

2 files changed

+5
-0
lines changed

app/controllers/v3/users_controller.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ def create
4545
user = UserCreate.new.create(message:)
4646

4747
render status: :created, json: Presenters::V3::UserPresenter.new(user, uaa_users: User.uaa_users_info([user.guid]))
48+
rescue VCAP::CloudController::UaaUnavailable
49+
raise CloudController::Errors::ApiError.new_from_details('UaaUnavailable')
4850
rescue UserCreate::Error => e
4951
unprocessable!(e)
5052
end

lib/cloud_controller/uaa/uaa_client.rb

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,9 @@ def origins_for_username(username)
9898

9999
def create_shadow_user(username, origin)
100100
with_cache_retry { scim.add(:user, { username: username, origin: origin, emails: [{ primary: true, value: username}]}) }
101+
rescue CF::UAA::BadTarget => e
102+
logger.error("UAA request for creating a user failed: #{e.inspect}")
103+
raise UaaUnavailable
101104
end
102105

103106
def info

0 commit comments

Comments
 (0)