Merge pull request #2762 from yousong/bugfix/yousong-lbagent-deploy-check-cred

lbagents: deploy: 检查服务账号有效性
This commit is contained in:
yunion-ci-robot
2019-09-06 11:58:20 +08:00
committed by GitHub
@@ -265,6 +265,16 @@ func (lbagent *SLoadbalancerAgent) PerformDeploy(ctx context.Context, userCred m
return nil, httperrors.NewBadRequestError("empty host %s field", k)
}
}
{
cli := mcclient.NewClient(options.Options.AuthURL, 10, false, true, "", "")
token, err := cli.Authenticate(host.Vars["user"], host.Vars["pass"], "", host.Vars["proj"], "")
if err != nil {
return nil, httperrors.NewBadRequestError("authenticate error: %v", err)
}
if !token.HasSystemAdminPrivilege() {
return nil, httperrors.NewBadRequestError("user must have system admin privileges")
}
}
host.SetVar("region", options.Options.Region)
host.SetVar("auth_uri", options.Options.AuthURL)
host.SetVar("id", lbagent.Id)