Как получить правильный OSClient из токена в Openstack4j Java API для v2 и v3?
Я использую openstack4j Java API. Я могу получить доступ к 2 проектам openstack (изображение для проектов, к которым у меня есть доступ), по заданному идентификатору экземпляра я хочу закрыть экземпляр. Получая OSClient, я зацикливаюсь на клиентах для обоих проектов и проверяю, к какому проекту принадлежит этот экземпляр.
Затем с помощью ручки OSClient я просто вызываю "Выключить". os.compute().servers().action(instanceId, Action.STOP);
Теперь один поток продолжает работать, чтобы отслеживать текущее состояние экземпляра, и если текущий статус экземпляра достигает желаемого состояния, я выполняю некоторую операцию.
Моя проблема: я создаю (ModelEntity) token
от OSClient ручки.
ModelEntity token = null;
if(apiVersion.equals(OpenstackCloudCredential.API_VERSION.V2)) {
token = ((OSClient.OSClientV2) os).getAccess();
}else if(apiVersion.equals(OpenstackCloudCredential.API_VERSION.V3)){
token = ((OSClient.OSClientV3) os).getToken();
}
return token;
OSClient os = null;
if(apiVersion.equals(OpenstackCloudCredential.API_VERSION.V2)){
os = OSFactory.clientFromAccess((Access) token);
}else if(apiVersion.equals(OpenstackCloudCredential.API_VERSION.V3)){
os = OSFactory.clientFromToken((Token) token);
}
_logger.info(" ================= rishi token : " + token.hashCode());
return os;
Я получаю ручку OSClient, но она указывает на другой проект (первый проект в списке). Я генерирую токен из правильного дескриптора OSClient, но почему я не получаю правильный OSClient из того же токена. Любые предложения о том, как получить правильную ручку OSClient?
1 ответ
Получил ответ!!
Мое намерение состояло в том, чтобы получить ручку OSClient для всех арендаторов или проектов. Я сделал список ручки OSClient. Я аутентифицировал первого арендатора, чтобы получить клиента, и затем я добавляю его в список клиентов, затем аутентифицировал 2-го арендатора, а затем снова добавил его в список. Теперь, поскольку я аутентифицировал 2-го клиента , сеанс для 1-го клиента неактивен, и первый клиент в списке также указывает на экземпляры второго клиента.
Я так тупа;)