パッケージ管理¶
Tip
本シナリオに入る前に、 前のシナリオ を完了させておくことを推奨します。
パラメータ設計¶
「あるべきインストール状態」である「インストールされている状態」か「インストールされていない状態」のいずれかの状態を管理する方法
不定数のパッケージを管理する方法
選択肢の作成¶
データシートの作成¶
設定項目 |
項目1設定値 |
---|---|
項目の名前 |
present-absent |
項目の名前(Rest API用) |
present-absent |
入力方式 |
文字列(単一行) |
最大バイト数 |
16 |
正規表現 |
|
初期値 |
|
必須 |
✓ |
一意制約 |
✓ |
説明 |
|
備考 |
項目名 |
設定値 |
---|---|
項番 |
(自動入力) |
パラメータシート名 |
状態 |
パラメータシート名(REST) |
state |
作成対象 |
データシート |
表示順序 |
99999 |
最終更新日時 |
(自動入力) |
最終更新者 |
(自動入力) |
選択肢を登録¶
パラメータ |
備考 |
---|---|
present-absent |
|
present |
インストール |
absent |
アンインストール |
パラメータシートの作成¶
設定項目 |
項目1設定値 |
項目2設定値 |
---|---|---|
項目の名前 |
パッケージ名 |
状態 |
項目の名前(Rest API用) |
package_name |
state |
入力方式 |
文字列(単一行) |
プルダウン選択 |
最大バイト数 |
64 |
(項目なし) |
正規表現 |
(項目なし) |
|
選択項目 |
(項目なし) |
入力用:状態:present-absent |
参照項目 |
(項目なし) |
|
初期値 |
||
必須 |
✓ |
✓ |
一意制約 |
||
説明 |
||
備考 |
項目名 |
設定値 |
---|---|
項番 |
(自動入力) |
パラメータシート名 |
導入パッケージ |
パラメータシート名(REST) |
packages |
作成対象 |
パラメータシート(ホスト/オペレーションあり) |
表示順序 |
2 |
バンドル利用 |
「利用する」にチェックを入れる(有効) |
最終更新日時 |
(自動入力) |
最終更新者 |
(自動入力) |
作業手順の登録¶
Movement 登録¶
Movement名 |
Ansible利用情報 |
|
---|---|---|
ホスト指定形式 |
ヘッダーセクション |
|
パッケージ管理 |
IP |
※ヘッダーセクションを参照 |
- hosts: all
remote_user: "{{ __loginuser__ }}"
gather_facts: no
become: yes
Ansible Playbook 登録¶
---
- name: install package
yum:
state: installed
name: "{{ item.0 }}"
with_together:
- "{{ pkg_name }}"
- "{{ action }}"
when: item.1 == 'present'
- name: uninstall package
yum:
state: removed
name: "{{ item.0 }}"
with_together:
- "{{ pkg_name }}"
- "{{ action }}"
when: item.1 == 'absent'
Playbook素材名 |
Playbook素材 |
---|---|
package |
|
Movement と Ansible Playbook の紐付け¶
Movement名 |
Playbook素材 |
インクルード順序 |
---|---|---|
パッケージ管理 |
package.yml |
1 |
代入値自動登録設定¶
パラメータシート(From) |
登録方式 |
Movement名 |
IaC変数(To) |
||
---|---|---|---|---|---|
メニューグループ:メニュー:項目 |
代入順序 |
Movement名:変数名 |
代入順序 |
||
代入値自動登録用:導入パッケージ:パッケージ名 |
1 |
Value型 |
パッケージ管理 |
パッケージ管理:pkg_name |
1 |
代入値自動登録用:導入パッケージ:状態 |
1 |
Value型 |
パッケージ管理 |
パッケージ管理:action |
1 |
代入値自動登録用:導入パッケージ:パッケージ名 |
2 |
Value型 |
パッケージ管理 |
パッケージ管理:pkg_name |
2 |
代入値自動登録用:導入パッケージ:状態 |
2 |
Value型 |
パッケージ管理 |
パッケージ管理:action |
2 |
代入値自動登録用:導入パッケージ:パッケージ名 |
3 |
Value型 |
パッケージ管理 |
パッケージ管理:pkg_name |
3 |
代入値自動登録用:導入パッケージ:状態 |
3 |
Value型 |
パッケージ管理 |
パッケージ管理:action |
3 |
代入値自動登録用:導入パッケージ:パッケージ名 |
4 |
Value型 |
パッケージ管理 |
パッケージ管理:pkg_name |
4 |
代入値自動登録用:導入パッケージ:状態 |
4 |
Value型 |
パッケージ管理 |
パッケージ管理:action |
4 |
代入値自動登録用:導入パッケージ:パッケージ名 |
5 |
Value型 |
パッケージ管理 |
パッケージ管理:pkg_name |
5 |
代入値自動登録用:導入パッケージ:状態 |
5 |
Value型 |
パッケージ管理 |
パッケージ管理:action |
5 |
代入値自動登録用:導入パッケージ:パッケージ名 |
6 |
Value型 |
パッケージ管理 |
パッケージ管理:pkg_name |
6 |
代入値自動登録用:導入パッケージ:状態 |
6 |
Value型 |
パッケージ管理 |
パッケージ管理:action |
6 |
代入値自動登録用:導入パッケージ:パッケージ名 |
7 |
Value型 |
パッケージ管理 |
パッケージ管理:pkg_name |
7 |
代入値自動登録用:導入パッケージ:状態 |
7 |
Value型 |
パッケージ管理 |
パッケージ管理:action |
7 |
代入値自動登録用:導入パッケージ:パッケージ名 |
8 |
Value型 |
パッケージ管理 |
パッケージ管理:pkg_name |
8 |
代入値自動登録用:導入パッケージ:状態 |
8 |
Value型 |
パッケージ管理 |
パッケージ管理:action |
8 |
代入値自動登録用:導入パッケージ:パッケージ名 |
9 |
Value型 |
パッケージ管理 |
パッケージ管理:pkg_name |
9 |
代入値自動登録用:導入パッケージ:状態 |
9 |
Value型 |
パッケージ管理 |
パッケージ管理:action |
9 |
代入値自動登録用:導入パッケージ:パッケージ名 |
10 |
Value型 |
パッケージ管理 |
パッケージ管理:pkg_name |
10 |
代入値自動登録用:導入パッケージ:状態 |
10 |
Value型 |
パッケージ管理 |
パッケージ管理:action |
10 |
作業対象の登録¶
機器登録¶
パッケージのインストール実施(1回目)¶
作業概要の作成¶
作業実施日時 |
2024/04/02 12:00:00 |
作業対象 |
db01(RHEL8) |
作業内容 |
パッケージのインストール・アンインストール |
作業概要登録¶
オペレーション名 |
実施予定日時 |
---|---|
RHEL8のパッケージ管理 |
2024/04/02 12:00:00 |
パラメータ設定¶
ホスト名 |
オペレーション |
代入順序 |
パラメータ |
|
---|---|---|---|---|
オペレーション名 |
パッケージ名 |
状態 |
||
db01 |
2024/04/02 12:00:00_RHEL8のパッケージ管理 |
1 |
postgresql-server |
present |
作業実行¶
事前確認
まずは、現在のサーバーの状態を確認しましょう。サーバに SSH ログインし、 postgresql-server のインストール状況を確認します。rpm -q postgresql-server
package postgresql-server is not installed
作業実行
作業実行 を押下します。から、パッケージ管理 Movement を選択し、次に、作業実行 を押下します。で、オペレーションに RHEL8のパッケージ管理 を選択し、画面が開き、実行が完了した後に、ステータスが「完了」になったことを確認します。事後確認
再度サーバに SSH ログインし、postgresql-server のインストール状況を確認し postgresql-server がインストールされていることを確認します。rpm -q postgresql-server
# 環境ごとにバージョンは異なります postgresql-server-10.23-1.module+el8.7.0+17280+3a452e1f.x86_64
パッケージのインストール実施(2回目)¶
作業概要の作成¶
作業実施日時 |
2024/05/02 12:00:00 |
作業対象 |
db01(RHEL8) |
作業内容 |
DBパッケージへ変更 |
作業概要登録¶
オペレーション名 |
実施予定日時 |
---|---|
RHEL8をDBパッケージへ変更 |
2024/05/02 12:00:00 |
パラメータ設定¶
ホスト名 |
オペレーション |
代入順序 |
パラメータ |
|
---|---|---|---|---|
オペレーション名 |
パッケージ名 |
状態 |
||
db01 |
2023/05/02 12:00:00_RHEL8をDBパッケージへ変更 |
1 |
postgresql-server |
absent |
db01 |
2023/05/02 12:00:00_RHEL8をDBパッケージへ変更 |
2 |
mariadb-server |
present |
作業実行¶
事前確認
現在のサーバーの状態を確認しましょう。サーバに SSH ログインし、パッケージのインストール状態を確認します。rpm -q postgresql-server
# 環境ごとにバージョンは異なります postgresql-server-10.23-1.module+el8.7.0+17280+3a452e1f.x86_64
rpm -q mariadb-server
package mariadb-server is not installed
作業実行
作業実行 を押下します。から、パッケージ管理 Movement を選択し、次に、作業実行 を押下します。で、オペレーションに RHEL8をDBパッケージへ変更 を選択し、画面が開き、実行が完了した後に、ステータスが「完了」になったことを確認します。事後確認
再度サーバに SSH ログインし、postgresql-server がアンインストールされ、mariadb-server がインストールされていることを確認します。rpm -q postgresql-server
package postgresql-server is not installed
rpm -q mariadb-server
mariadb-server-10.3.35-1.module+el8.6.0+15949+4ba4ec26.x86_64
まとめ¶
入力値が確定している場合は、データシートを利用して入力ミスを防ぐことが可能です。
複数かつ数が不定のパラメータを管理する場合は、「バンドル」を利用することで柔軟なパラメータ管理を行うことが可能です。
大量のパラメータを設定する場合は、「全件ダウンロード・ファイル一括登録」を利用することでファイルからのデータ登録を行うことが可能です。