Перехід на нову версію HP Application Lifecycle Management (ALM)

Привіт Хабр!

У кожного HP Application Lifecycle Management (ALM) адміністратора рано чи пізно виникає потреба у переході на нову версію HP ALM. Більшою частиною цього процесу є міграція HP ALM проектів. Найчастіше, це – досить тривіальна задача, але іноді виникають моменти, які потребують додаткового роз'яснення.

У даній статті я розгляну кілька сценаріїв відновлення HP ALM проектів з резервної копії та подальше оновлення.
Отже, ваша компанія вирішила переходити на нову версію HP ALM. Після того, як ейфорія пройшла, пора почати планування. Для початку варто зрозуміти: чи можете ви безпосередньо оновитися до нової версії. На даний момент HP ALM підтримує пряме оновлення за наступним принципом:
v. 11.00 v. 11.5 x v. 12.0 x v. 12.2 x
v. 10.x + +
v. 11.00 + + +
v. 11.5 x + +
v. 12.0 x +
Якщо ви плануєте інший перехід, наприклад, з v.10.xx до v.12.0 x, це також можливо. Для цього вам потрібно буде виконати все, що описано нижче, але з оновленням на проміжну версію v.10.xx –> 11.5 x –> 12.0 x. Відповідно, перехід просто займе трохи більше часу.


Наступним кроком буде перевірка того, чи підтримується використовувана версія сервера баз даних новою версією 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.

  1. Йдемо на сайт-адміністрацію
  2. Натискаємо відновити проект:

  3. Вказуємо шлях до тільки що відредагованим dbid.xml і вибираємо домен для проекту, фактично вказуючи місце в структурі доменів/проектів



  4. Натискаємо ОК і вуаля. Ваш проект на новому сервері, правда це ще пів справи. Проект підключений, але він все ще попередньої версії. Пора перейти до оновлення до нинішньої версії продукту
Оновлення досить тривіально:

  1. Правий клік миші на проекті
  2. Переходимо в Меню Maintain Project
  3. Робимо Verification
  4. Repair
  5. Upgrade


В принципі, можна відразу запустити Upgrade, але я б порекомендував саме такий порядок, так як іноді виникають моменти, що вимагають втручання. Наприклад, під час перевірки були виявлені помилки.

Якщо або Коли ви отримали повідомлення про те що все пройшло добре, варто ще раз виконати верифікацію.

Результат перевірки
Результат перевірки вимагає окремого параграфа. Якщо перевірка закінчена і ніяких проблем не знайдено – ми йдемо далі. Якщо ж щось пішло не так, HP ALM видасть повідомлення:

  1. Були знайдені проблеми, які можуть бути виправлені інструментом відновлення.
  2. Були знайдені проблеми, які не можуть бути виправлені інструментом відновлення.
У першому випадку, просто запускаємо інструмент відновлення (Repair Project). Інструмент відновлення є вбудованим механізмом, який виконає деякі маніпуляції з вашим проектом для подальшого успішного оновлення до останньої версії HP ALM.

У другому випадку знадобиться знайти лог файл (посилання на який буде у звіті про перевірку проекту) і розібратися, в чому проблема. Я рекомендую залучити до цього процесу адміністратора баз даних. Можливо, знадобиться змінити якісь значення безпосередньо в базі проекту. Також, в деяких ситуаціях може допомогти Exception файл.

HP не підтримує існування додаткового об'єкта в схемі і не рекомендує використовувати Exception файл.

При відновленні проекту краще використовувати еталонні (з тією структурою, яку спочатку використовує HP ALM) бази. Однак, якщо ви хочете і потребуєте додаткових об'єктах, можете використовувати Exception file НА СВІЙ СТРАХ І РИЗИК. Для цього виконайте наступні кроки:

  1. Створіть 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>
    

    Для використання чого-небудь, просто приберіть коментар відповідної частини

  2. Збережіть файл на машині сервера з розширенням .xml
  3. Підключіть файл до відповідного проекту



    І знову запустіть верифікацію.
Оновлення з використання іншого сервера баз даних
Як я і обіцяв, зупинимося на ситуації, коли потрібно переходити на новий сервер баз даних (наприклад, якщо ви хочете бути впевненим, що два сервера ізольовані один від одного) або на нову версію бази даних (наприклад, якщо нова версія HP ALM не підтримує вашу версію сервера баз даних).

Знову ж таки, потрібна допомога адміністратора баз даних. В принципі кроки досить прості, але є нюанси:

  1. MS SQL

    • Якщо проект відновлюється на сервері баз даних, де вже була встановлена будь-яка версія HP ALM (хоча б раз), то спеціальний користувач бази даних вже існує. Якщо ж ні, вам доведеться створити користувач td вручну, для цього використовуйте наступні запити:

      USE [master]
      GO
      
      CREATE LOGIN [td] WITH PASSWORD='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'
      

  2. 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 сервера
Всі інші дії вже описані вище.

Тестування проектів
Ну і остання стадія процесу — це тестування оновлених проектів

  • Переконайтеся, що ви можете увійти в ALM проект з використанням свого облікового запису.
  • Проведіть базове тестування проекту.
  • Попросіть деяких користувачів виконати свої рутинні операції.
  • Попросіть деяких користувачів, перевірити нові можливості ALM.
  • Переконайтеся, що дозволи для груп оновилися успішно.
  • Перевірте зворотну сумісність ваших Workflow скриптів
  • Якщо ви використовуєте ALM інтеграцію з інструментами HP або сторонніми інструментами, перевірте сумісність інтеграцій.
  • Повідомте про успішне оновлення проекту.
Tips and Tricks
  • Якщо ви не використовуєте LDAP аутентифікацію вам потрібно буде почати з установки на існуючу базу даних продукту, (всі паролі користувачів зберігаються саме там), але ви ж використовуєте LDAP?
  • Якщо ви використовуєте LAB_PROJECT або проекти-шаблони, почніть з них.
  • Ваше тестове оточення повинно бути повністю ізольовано від продуктива, але, якщо ж у вас немає такої можливості, переконайтеся, що у копіях баз даних проектів і продукту немає посилань на оригінальні файлові сховища та бази.
  • Перед початком оновлення рекомендується описати всі кроки і зробити оцінку часу на їх виконання для всього процесу, починаючи з отримання ресурсів і закінчуючи оновленням на продуктиве.
Автор: Андрій Матвієнко, керівник команди тестування HP ALM

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.