Привет Хабр!
У каждого HP Application Lifecycle Management (ALM) администратора рано или поздно возникает потребность в переходе на новую версию HP ALM. Большей частью этого процесса является миграция HP ALM проектов. Зачастую, это – довольно тривиальная задача, но иногда возникают моменты, требующие дополнительного разъяснения.
В данной статье я рассмотрю несколько сценариев восстановления HP ALM проектов из резервной копии и последующее обновление.
Итак, ваша компания решила переходить на новую версию HP ALM. После того, как эйфория прошла, пора начать планирование. Для начала стоит понять: можете ли вы напрямую обновиться до новой версии. На данный момент HP ALM поддерживает прямое обновление по следующему принципу:
Если вы планируете другой переход, например с v.10.xx до v.12.0x, это также возможно. Для этого вам нужно будет выполнить все, что описано ниже, но с обновлением на промежуточную версию v.10.xx –> 11.5x –> 12.0x. Соответственно, переход просто займёт несколько больше времени.
Следующим шагом будет проверка того, поддерживается ли используемая версия сервера баз данных новой версией HP ALM. Эту информацию можно легко найти на сайте HP в разделе HP QC/ALM. Если версия вашего сервера баз данных находится в списке совместимых, и вы не планируете переходить на новую версию (обратный случай мы рассмотрим чуть позже), переходим непосредственно к обновлению.
Для успешного обновления я бы порекомендовал плавный переход, с последовательным обновлением проектов. В случае, если у вас много активных проектов, нужно перестраховаться на случай непредвиденных ситуаций. Резкий переход, а именно обновление всех проектов как часть установки продукта, может остановить работу всей компании.
Первым шагом будет выполнение бюрократической процедуры для получения ресурсов для новой серверной машины.
Далее, приступаем к инсталляции HP ALM, и, как всегда, у нас есть несколько вариантов:
В обоих случаях есть свои нюансы, например, при обновлении базы данных продукта, все ваши проекты и настройки появятся на новом сервере, поэтому резервные копии нужно делать заранее и для всех проектов. Во втором случае, ваши настройки и, самое главное, пароли не появятся на новом сервере. Я – поклонник LDAP-аутентификации, поэтому меня это не пугает. Также можно поговорить с администратором базы данных, я думаю – он разберется, как перенести пароли на новый сервер.
В случае, если у вас планируется плавный переход, я бы рекомендовал чистую инсталляцию, но, как всегда, с оговоркой: чтобы сделать вашу жизнь проще, используйте те же пути к файловым хранилищам, пароли и строки подключения (англ. сonnection string), которые были использованы в предыдущей версии, но будьте аккуратнее, чтобы не зацепить «продуктив». Что касается хранилища файлов проектов, я рекомендую перейти на сетевое хранилище, если оно у вас все еще не используется.
Следующим шагом будет выбор проекта для миграции на новую версию. Миграцию стоит начинать, отключив выбранный проект в сайт администрации. Если вы используете контроль версий, то не забудьте, что все сущности должны быть Check-ed In (возвращены). Далее, создайте копию базы данных проекта с помощью администратора сервера баз данных и копию файлового хранилища проекта.
Вы практически готовы, но, если используется MS SQL, еще понадобится выполнить, для копии базы данных проекта, ПОСТРОЧНО, следующий скрипт:
Этим вы удостоверитесь, что пользователь базы данных, который используется продуктом, сможет работать с восстановленной базой.
Далее вам предстоит работа с файловым хранилищем проекта. Потребуется отредактировать файл, с помощью которого HP ALM сервер узнает детали вашего проекта. Файл называется dbid.xml и находится по пути
* DB_USER_PASS – обычно значение хешировано, если вы не знаете хеш, указывайте пароль в следующем формате TXT: пароль_в_чистом_виде
Необходимо указать правильные строки подключения (англ. сonnection string), имя сервера базы данных. Эти данные должны совпадать с теми данными, которые указаны в соответствующем разделе вашего HP ALM сервера.
Если вы изменили имя базы данных проекта – не забудьте изменить соответствующее поле в dbid.xml. То же самое касается пути к файловому хранилищу и пароля пользователя баз данных, остальные же поля можно не менять.
Теперь можно подключить проект к HP ALM. Следующие шаги будут более веселыми и связанны они с работой в сайт администрации HP ALM.
Обновление довольно тривиально:
В принципе, можно сразу запустить Upgrade, но я бы порекомендовал именно такой порядок, так как, иногда, возникают моменты, требующие вмешательства. Например, во время проверки были обнаружены ошибки.
Если или Когда, вы получили сообщение о том что все прошло хорошо, стоит еще раз выполнить верификацию.
Результат проверки требует отдельного параграфа. Если проверка окончена и никаких проблем не найдено – мы идем дальше. Если же что-то пошло не так, HP ALM выдаст сообщение:
В первом случае, просто запускаем инструмент восстановления (Repair Project). Инструмент восстановления является встроенным механизмом, который выполнит некоторые манипуляции с вашим проектом для дальнейшего успешного обновления до последней версии HP ALM.
Во втором случае, понадобится найти лог файл (ссылка на который будет в отчете о проверке проекта) и разобраться, в чем проблема. Я рекомендую привлечь к этому процессу администратора баз данных. Возможно, понадобится изменять какие-то значения напрямую в базе проекта. Также, в некоторых ситуациях, может помочь Exception файл.
HP не поддерживает существование дополнительного объекта в схеме и не рекомендует использовать Exception файл.
При восстановлении проекта лучше использовать эталонные (с той структурой, которую изначально использует HP ALM) базы. Однако, если вы хотите и нуждаетесь в дополнительных объектах, можете использовать Exception файл НА СВОЙ СТРАХ И РИСК. Для этого выполните следующие шаги:
Как я и обещал, остановимся на ситуации, когда нужно переходить на новый сервер баз данных (например, если вы хотите быть уверенным, что два сервера изолированы друг от друга) или на новую версию базы данных (например, если новая версия HP ALM не поддерживает вашу версию сервера баз данных).
Опять же, нужна помощь администратора баз данных. В принципе шаги довольно просты, но есть нюансы:
Все остальные действия уже описаны выше.
Ну и последняя стадия процесса — это тестирование обновленных проектов
Автор: Андрей Матвиенко, руководитель команды тестирования HP ALM
У каждого HP Application Lifecycle Management (ALM) администратора рано или поздно возникает потребность в переходе на новую версию HP ALM. Большей частью этого процесса является миграция HP ALM проектов. Зачастую, это – довольно тривиальная задача, но иногда возникают моменты, требующие дополнительного разъяснения.
В данной статье я рассмотрю несколько сценариев восстановления HP ALM проектов из резервной копии и последующее обновление.
Итак, ваша компания решила переходить на новую версию HP ALM. После того, как эйфория прошла, пора начать планирование. Для начала стоит понять: можете ли вы напрямую обновиться до новой версии. На данный момент HP ALM поддерживает прямое обновление по следующему принципу:
v. 11.00 | v. 11.5x | v. 12.0x | v. 12.2x | |
v. 10.x | + | + | ||
v. 11.00 | + | + | + | |
v. 11.5x | + | + | ||
v. 12.0x | + |
Если вы планируете другой переход, например с v.10.xx до v.12.0x, это также возможно. Для этого вам нужно будет выполнить все, что описано ниже, но с обновлением на промежуточную версию v.10.xx –> 11.5x –> 12.0x. Соответственно, переход просто займёт несколько больше времени.
Следующим шагом будет проверка того, поддерживается ли используемая версия сервера баз данных новой версией HP ALM. Эту информацию можно легко найти на сайте HP в разделе HP QC/ALM. Если версия вашего сервера баз данных находится в списке совместимых, и вы не планируете переходить на новую версию (обратный случай мы рассмотрим чуть позже), переходим непосредственно к обновлению.
Для успешного обновления я бы порекомендовал плавный переход, с последовательным обновлением проектов. В случае, если у вас много активных проектов, нужно перестраховаться на случай непредвиденных ситуаций. Резкий переход, а именно обновление всех проектов как часть установки продукта, может остановить работу всей компании.
Первым шагом будет выполнение бюрократической процедуры для получения ресурсов для новой серверной машины.
Далее, приступаем к инсталляции HP ALM, и, как всегда, у нас есть несколько вариантов:
- Обновление базы данных всего продукта и проектов
- Чистая инсталляция, и последующая миграция и обновление проектов на новой базе продукта
В обоих случаях есть свои нюансы, например, при обновлении базы данных продукта, все ваши проекты и настройки появятся на новом сервере, поэтому резервные копии нужно делать заранее и для всех проектов. Во втором случае, ваши настройки и, самое главное, пароли не появятся на новом сервере. Я – поклонник LDAP-аутентификации, поэтому меня это не пугает. Также можно поговорить с администратором базы данных, я думаю – он разберется, как перенести пароли на новый сервер.
В случае, если у вас планируется плавный переход, я бы рекомендовал чистую инсталляцию, но, как всегда, с оговоркой: чтобы сделать вашу жизнь проще, используйте те же пути к файловым хранилищам, пароли и строки подключения (англ. сonnection string), которые были использованы в предыдущей версии, но будьте аккуратнее, чтобы не зацепить «продуктив». Что касается хранилища файлов проектов, я рекомендую перейти на сетевое хранилище, если оно у вас все еще не используется.
Следующим шагом будет выбор проекта для миграции на новую версию. Миграцию стоит начинать, отключив выбранный проект в сайт администрации. Если вы используете контроль версий, то не забудьте, что все сущности должны быть Check-ed In (возвращены). Далее, создайте копию базы данных проекта с помощью администратора сервера баз данных и копию файлового хранилища проекта.
Вы практически готовы, но, если используется MS SQL, еще понадобится выполнить, для копии базы данных проекта, ПОСТРОЧНО, следующий скрипт:
EXEC sp_change_users_login 'Report'
EXEC sp_change_users_login 'Update_One', 'td', 'td'
EXEC sp_changedbowner 'sa'
Этим вы удостоверитесь, что пользователь базы данных, который используется продуктом, сможет работать с восстановленной базой.
Далее вам предстоит работа с файловым хранилищем проекта. Потребуется отредактировать файл, с помощью которого HP ALM сервер узнает детали вашего проекта. Файл называется dbid.xml и находится по пути
...\<repository_location>\<domain>\<project_repository_location>
<?xml version="1.0" encoding="UTF-8"?>
<ProjectDescription>
<PROJECT_NAME>имя_вашего_проекта</PROJECT_NAME> <DB_TYPE>для_Oracle_изпользуется_значение_3_для_MS_SQL_значение_2</DB_TYPE>
<DESCRIPTION>обычно_указывается_дата_создания</DESCRIPTION> <DB_CONNSTR_FORMAT>connection_string_можете_скорировать_его_из_деталей_базы_данных_в_сайт_администрации</DB_CONNSTR_FORMAT>
<DB_NAME>имя_базы_данных_проекта</DB_NAME> <DBSERVER_NAME>имя_сервера_базы_данных_проекта_должно_совпадать_с_именем_сервера_в_сайт_администрации</DBSERVER_NAME> <DB_USER_PASS>пароль_пользователя_базы_дынных_имеющего_права_работать_с_базой_проекта</DB_USER_PASS> <PR_HAS_VCSDB>Включен_ли_версионный_контроль_для_проекта_N/Y</PR_HAS_VCSDB> <PHYSICAL_DIRECTORY>путь_к_вайловому_хранилищу_проекта</PHYSICAL_DIRECTORY>
<USERS_QUOTA>не_изменяйте_значение</USERS_QUOTA>
<PR_IS_ACTIVE>не_изменяйте_значение</PR_IS_ACTIVE>
<SAQ_IS_ACTIVE>не_изменяйте_значение</SAQ_IS_ACTIVE>
<VM_REPOSITORY />
<PR_LANGUAGE>не_изменяйте_значение</PR_LANGUAGE>
<PROJECT_TYPE>не_изменяйте_значение</PROJECT_TYPE>
<IS_TEMPLATE>не_изменяйте_значение</IS_TEMPLATE>
</ProjectDescription>
* DB_USER_PASS – обычно значение хешировано, если вы не знаете хеш, указывайте пароль в следующем формате TXT: пароль_в_чистом_виде
Необходимо указать правильные строки подключения (англ. сonnection string), имя сервера базы данных. Эти данные должны совпадать с теми данными, которые указаны в соответствующем разделе вашего HP ALM сервера.
Если вы изменили имя базы данных проекта – не забудьте изменить соответствующее поле в dbid.xml. То же самое касается пути к файловому хранилищу и пароля пользователя баз данных, остальные же поля можно не менять.
Теперь можно подключить проект к HP ALM. Следующие шаги будут более веселыми и связанны они с работой в сайт администрации HP ALM.
- Идём в сайт-администрацию
- Нажимаем восстановить проект:
- Указываем путь к только что отредактированному dbid.xml и выбираем домен для проекта, фактически указывая место в структуре доменов/проектов
- Нажимаем ОК и вуаля. Ваш проект на новом сервере, правда это еще пол дела. Проект подключен, но он все еще предыдущей версии. Пора перейти к обновлению до нынешней версии продукта
Обновление довольно тривиально:
- Правый щелчок мыши на проекте
- Переходим в Меню Maintain Project
- Делаем Verification
- Repair
- И Upgrade
В принципе, можно сразу запустить Upgrade, но я бы порекомендовал именно такой порядок, так как, иногда, возникают моменты, требующие вмешательства. Например, во время проверки были обнаружены ошибки.
Если или Когда, вы получили сообщение о том что все прошло хорошо, стоит еще раз выполнить верификацию.
Результат проверки
Результат проверки требует отдельного параграфа. Если проверка окончена и никаких проблем не найдено – мы идем дальше. Если же что-то пошло не так, HP ALM выдаст сообщение:
- Были найдены проблемы, которые могут быть исправлены инструментом восстановления.
- Были найдены проблемы, которые не могут быть исправлены инструментом восстановления.
В первом случае, просто запускаем инструмент восстановления (Repair Project). Инструмент восстановления является встроенным механизмом, который выполнит некоторые манипуляции с вашим проектом для дальнейшего успешного обновления до последней версии HP ALM.
Во втором случае, понадобится найти лог файл (ссылка на который будет в отчете о проверке проекта) и разобраться, в чем проблема. Я рекомендую привлечь к этому процессу администратора баз данных. Возможно, понадобится изменять какие-то значения напрямую в базе проекта. Также, в некоторых ситуациях, может помочь Exception файл.
HP не поддерживает существование дополнительного объекта в схеме и не рекомендует использовать Exception файл.
При восстановлении проекта лучше использовать эталонные (с той структурой, которую изначально использует HP ALM) базы. Однако, если вы хотите и нуждаетесь в дополнительных объектах, можете использовать Exception файл НА СВОЙ СТРАХ И РИСК. Для этого выполните следующие шаги:
- Создайте Exception файла:
Exception файл сделан для дополнительных объектов, таких как: tables, views, triggers, columns.
Общая структура файла:
<?xml version="1.0" encoding="UTF-8"?> <QC_EXCEPTIONS> <exceptions> <!-- ignore extra column <ColumnMissing> <object pattern="<col name pattern>" type="extra"/> </ColumnMissing> --> <!-- ignore extra table <TableMissing> <object pattern="<table name pattern>" type="extra"/> </TableMissing> --> <!-- ignore extra view <ViewMissing> <object pattern="<view name pattern>" type="extra"/> </ViewMissing> --> </exceptions> </QC_EXCEPTIONS>
Для использования чего-либо, просто уберите комментарий соответствующей части
- Сохраните файл на машине сервера с расширением .xml
- Подключите файл к соответствующему проекту
И снова запустите верификацию.
Обновление с использования другого сервера баз данных
Как я и обещал, остановимся на ситуации, когда нужно переходить на новый сервер баз данных (например, если вы хотите быть уверенным, что два сервера изолированы друг от друга) или на новую версию базы данных (например, если новая версия HP ALM не поддерживает вашу версию сервера баз данных).
Опять же, нужна помощь администратора баз данных. В принципе шаги довольно просты, но есть нюансы:
- MS SQL
- Если проект восстанавливается на сервере баз данных, где уже была установлена любая версия HP ALM (хотя бы раз), то специальный пользователь базы данных уже существует. Если же нет, вам придется создать пользователь td вручную, для этого используйте следующие запросы:
USE [master] GO CREATE LOGIN [td] WITH PASSWORD=N'tdtdtd', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO
- После того как вы восстановили базу данных проекта выполните ПОСТРОЧНО следующий скрипт.
EXEC sp_change_users_login 'Report' EXEC sp_change_users_login 'Update_One', 'td', 'td' EXEC sp_changedbowner 'sa'
- Если проект восстанавливается на сервере баз данных, где уже была установлена любая версия HP ALM (хотя бы раз), то специальный пользователь базы данных уже существует. Если же нет, вам придется создать пользователь td вручную, для этого используйте следующие запросы:
- Oracle
- При создании схемы нужно предоставить пользователю следующие привилегии, которые нужны HP ALM для работы с базой
GRANT "CONNECT" GRANT CREATE SESSION GRANT CREATE SEQUENCE GRANT CREATE TABLE GRANT CREATE TRIGGER GRANT UNLIMITED TABLESPACE GRANT CREATE VIEW GRANT CREATE PROCEDURE GRANT "CTXAPP" ALTER USER DEFAULT ROLE ALL;
- При создании схемы используйте тот же пароль, который был задан при установке HP ALM сервера
- При создании схемы нужно предоставить пользователю следующие привилегии, которые нужны HP ALM для работы с базой
Все остальные действия уже описаны выше.
Тестирование проектов
Ну и последняя стадия процесса — это тестирование обновленных проектов
- Убедитесь, что вы можете войти в ALM проект с использованием своей учетной записи.
- Проведите базовое тестирование проекта.
- Попросите некоторых пользователей выполнить свои рутинные операции.
- Попросите некоторых пользователей, проверить новые возможности ALM.
- Удостоверьтесь, что разрешения для групп обновились успешно.
- Проверьте обратную совместимость ваших Workflow скриптов
- Если вы используете ALM интеграцию с инструментами HP или сторонними инструментами, проверьте обратную совместимость интеграций.
- Оповестите всех о успешном обновлении проекта.
Tips and Tricks
- Если вы не используете LDAP аутентификацию вам нужно будет начать с установки на существующую базу данных продукта, (все пароли пользователей хранятся именно там), но вы же используете LDAP?
- Если вы используете LAB_PROJECT или проекты-шаблоны, начните с них.
- Ваше тестовое окружение должно быть полностью изолированно от продуктива, но, если же у вас нет такой возможности, удостоверьтесь, что в копиях баз данных проектов и продукта нет ссылок на оригинальные файловые хранилища и базы.
- Перед началом обновления рекомендуется описать все шаги и произвести оценку времени на их выполнение для всего процесса, начиная с получения ресурсов и заканчивая обновлением на продуктиве.
Автор: Андрей Матвиенко, руководитель команды тестирования HP ALM