JP7492839B2 - 構成管理装置、構成管理方法、及び、構成管理プログラム - Google Patents
構成管理装置、構成管理方法、及び、構成管理プログラム Download PDFInfo
- Publication number
- JP7492839B2 JP7492839B2 JP2020036459A JP2020036459A JP7492839B2 JP 7492839 B2 JP7492839 B2 JP 7492839B2 JP 2020036459 A JP2020036459 A JP 2020036459A JP 2020036459 A JP2020036459 A JP 2020036459A JP 7492839 B2 JP7492839 B2 JP 7492839B2
- Authority
- JP
- Japan
- Prior art keywords
- configuration
- information
- target system
- construction
- setting change
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000007726 management method Methods 0.000 title claims description 132
- 238000010276 construction Methods 0.000 claims description 327
- 230000008859 change Effects 0.000 claims description 289
- 238000001514 detection method Methods 0.000 claims description 84
- 238000012790 confirmation Methods 0.000 claims description 51
- 238000000605 extraction Methods 0.000 claims description 51
- 238000012545 processing Methods 0.000 claims description 43
- 238000012360 testing method Methods 0.000 claims description 36
- 239000000284 extract Substances 0.000 claims description 28
- 238000000034 method Methods 0.000 description 48
- 230000008569 process Effects 0.000 description 42
- 238000010586 diagram Methods 0.000 description 17
- 238000004891 communication Methods 0.000 description 6
- 230000008676 import Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000002131 composite material Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Description
機器を備える構築対象システムが備える前記機器の設定変更の有無を検出する設定変更検出部と、
前記設定変更が有る場合に、前記設定変更の内容を変更内容として抽出する変更内容抽出部と、
前記構築対象システムを構築することに用いられる構築情報に前記変更内容を反映する変更内容反映部と
を備える。
前記設定変更検出部は、前記機器が前記設定変更を実行することによって前記構築対象システムの構成が変更される前の前記構築対象システムの構成を示す基準構成情報と、前記機器が前記設定変更を実行した場合に、構成が変更された前記構築対象システムの構成を示す確認用構成情報とを生成し、かつ、前記基準構成情報と、前記確認用構成情報とを用いて前記設定変更を検出する。
前記変更内容抽出部は、前記操作履歴を用いて前記変更内容を抽出する。
前記操作履歴は、前記構築対象システムが備える機器が操作された際に実行された操作を示す機器操作情報と、前記機器操作情報に対応する時刻の情報とを含み、
前記設定変更検出部は、前記設定ファイルが変更された時刻を含む情報を設定ファイル情報として管理しており、
前記変更内容抽出部は、前記設定ファイルが変更された時間帯において前記機器に対して実行された操作を、前記設定ファイル情報と、前記操作履歴とを用いて特定し、かつ、特定した操作を前記変更内容として抽出する。
前記変更内容が反映された構築情報を変更構築情報とし、かつ、前記変更構築情報を用いて、前記構築対象システムを試験用構築対象システムとして構築する構築処理部と、
前記試験用構築対象システムの構成を示す試験用構成情報を生成し、前記確認用構成情報と、前記試験用構成情報との差異を構成差異として検出し、かつ、前記構成差異を前記変更構築情報に反映する構成差異検出部と
を備える。
設定変更検出部が、機器を備える構築対象システムが備える前記機器の設定変更の有無を検出し、
変更内容抽出部が、前記設定変更が有る場合に、前記設定変更の内容を変更内容として抽出し、
前記構築対象システムを構築することに用いられる構築情報に前記変更内容を反映する。
機器を備える構築対象システムが備える前記機器の設定変更の有無を検出させ、
前記設定変更が有る場合に、前記設定変更の内容を変更内容として抽出させ、
前記構築対象システムを構築することに用いられる構築情報に前記変更内容を反映させる。
従って、本開示によれば、ユーザが構築情報111を変更せず、かつ、構築対象システム90が備える機器をユーザが操作することによって構築対象システム90の構成を変更した場合に、構築対象システム90の構成と、構築情報111との間で不整合が生じないようにすることができる。
以下、本実施の形態について、図面を参照しながら詳細に説明する。
***構成の説明***
構築対象システム90は、構築情報111を用いて構築対象システム90を構築することができる。構築情報111は、具体例として、機器にインストールされているソフトウェアの情報、機器に登録されているユーザの情報、又は、機器のディレクトリ構成の情報である。ソフトウェアは、OS(Operating System)と、デバイスドライバと、ファームウェアと、ミドルウェアと、アプリケーションプログラムとを含む。構築情報111を用いて構築対象システム90を構築することには、冪等性がある。
構築情報111は、構築対象システム90の構築を指示する情報を含み、かつ、構築対象システム90を構築することに用いられる。構築情報111は、構築対象システム90の構成を示す情報を含んでも良い。構築情報111は、具体例として、パラメータファイル、又は、Ansible(登録商標)のPlaybookである。構築情報111は、複数のファイルから成っても良い。
ユーザは、機器を操作することによって、機器の設定を変更することもできる。ユーザは、特に断りがない限り、構築対象システム90の使用者である。使用者には、システムの構築者と、システムの運用者とが含まれる。使用者は、ロボット又はコンピュータであっても良い。
設定変更は、構築対象システム90が備える少なくとも一部の機器の設定が変更されることである。設定変更には、構築情報111を変更すること、又は、直接設定を実行することによって機器の設定を変更することがある。直接設定は、構築情報111を変更せず、かつ、構築対象システム90が備える機器を操作することによって機器の設定を変更することである。ユーザが直接設定を実行することにより、構築対象システム90の機器の設定変更が実現される。ユーザが構築対象システム90を操作し、かつ、設定変更を実行していない場合、構成管理装置100は、ユーザが設定変更を実行していないと判断しても良い。
直接設定において、ユーザは構築情報111を変更せず、かつ、ユーザは構築対象システム90が備える機器等を操作する。直接設定において、ユーザはファイルを構築対象システム90が備える機器に入力しても良い。設定変更は、具体例として、ソフトウェアをインストール又はアップデートするコマンドをユーザが実行すること、コンフィグレーションファイルをユーザが変更すること、機器に登録されているユーザが変更されること、又は、ディレクトリ構成をユーザが変更することである。
機器が設定変更を実行すると、構築対象システム90の構成が変更される。設定変更が構築対象システム90の構成の変更に相当する場合もある。機器が設定変更を実行することは、典型的には、機器がユーザの指示に従って機器の構成を変更することである。
構成管理装置100は、プロセッサ11を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ11の役割を分担する。
補助記憶装置13は、OS(Operating System)を記憶している。OSの少なくとも一部は、メモリ12にロードされて、プロセッサ11によって実行される。つまり、プロセッサ11は、OSを実行しながら、構成管理プログラムを実行する。
構成管理装置100の動作手順は、構成管理方法に相当する。また、構成管理装置100の動作を実現するプログラムは、構成管理プログラムに相当する。
構成管理装置100は、具体例として、構成管理装置100に構築情報111をユーザが入力すること契機として本フローチャートの処理を開始する。
構築情報管理部110は、構築情報111を受け付ける。
構築情報管理部110は、構築情報111を管理する。構築情報管理部110は、具体例として、記憶装置が記憶している構築情報111を更新する、又は、バージョン管理ツールに構築情報111を登録する。
構築処理部120は、構築情報管理部110が管理している構築情報111を用いて構築対象システム90を構築する。構築処理部120は、構築情報111を構築対象システム90に送信し、かつ、構築対象システム90に対して構築情報111を用いて構築対象システム90を構築するよう指示しても良い。
構築処理部120は、構築情報111の一部のみを用いても良い。構築処理部120は、具体例として、最新の構築情報111と、1つ前のバージョンの構築情報111との差分のみを用いて構築対象システム90を構築する。
構築処理部120は、どのようなタイミングで構築対象システム90を構築しても良い。構築処理部120は、具体例として、構築情報111が変更される度に構築対象システム90を構築しなくても良い。
また、構成管理装置100は、構築対象システム90を構築せずに次のステップに進んでも良い。
設定変更検出部140は、直接設定を検出するまで待機する。直接設定が実行された場合、構成管理装置100は、ステップS105に進む。
設定変更検出部140は、どのような手法で直接設定を検出しても良い。
設定変更検出部140は、設定変更の有無を検出する。設定変更検出部140は、ユーザが操作した機器又はユーザが変更したファイルを特定しても良い。
構成管理装置100は、設定変更検出部140が設定変更を検出した場合、ステップS106に進む。構成管理装置100は、それ以外の場合、ステップS104に進む。
変更内容抽出部150は、変更内容を抽出する。変更内容抽出部150は、どのような手法により変更された内容を検出しても良い。
変更内容抽出部150は、差分のみを抽出しても良い。
変更内容反映部160は、変更内容抽出部150が抽出した内容を構築情報111に反映する。
構成管理装置100は、ステップS102に進む。
以上のように、本実施の形態によれば、構築対象システム90が備える機器をユーザが操作することによって設定変更を実行した場合に、設定変更に対応する変更内容を構築情報111に自動的に反映することができる。そのため、本実施の形態によれば、構築対象システム90の構成と、構築情報111とを自動的に整合させることができる。従って、本実施の形態によれば、構築対象システム90を運用するコストを削減することができる。
また、構成管理装置100は、構築対象システム90がCI(Continuous Integration)又はCD(Continuous Delivery)を実現することを補助することができる。
<変形例1>
図4は、本変形例に係る構成管理装置100のハードウェア構成例を示している。
構成管理装置100は、本図に示すように、プロセッサ11とメモリ12と補助記憶装置13との少なくとも1つに代えて、処理回路18を備える。
処理回路18は、構成管理装置100が備える各部の少なくとも一部を実現するハードウェアである。
処理回路18は、専用のハードウェアであっても良く、メモリ12に格納されるプログラムを実行するプロセッサ11であっても良い。
構成管理装置100は、処理回路18を代替する複数の処理回路を備えても良い。複数の処理回路は、処理回路18の役割を分担する。
プロセッサ11とメモリ12と補助記憶装置13と処理回路18とを、総称して「プロセッシングサーキットリー」という。つまり、構成管理装置100の各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。
以下、前述した実施の形態と異なる点について、図面を参照しながら説明する。
図5は、本実施の形態に係る構成管理装置100の構成例を示している。構成管理装置100の基本的な構成は、実施の形態1に係る構成管理装置100の構成と同様である。
設定変更検出部140は、基準構成情報141と、確認用構成情報142とを用いて設定変更を検出する。設定変更検出部140は、基準構成情報141と、確認用構成情報142とを、構築対象システム90の構成を示す情報を用いて生成する。
設定ファイルテーブル143は、ユーザが変更する可能性がないファイルの情報を含まなくても良い。設定ファイルテーブル143は、テーブル形式のデータでなくても良い。
設定変更検出部140は、設定ファイルテーブル143に登録するために情報を登録する。
「システム名」欄は、構築対象システム90の名称を示す。
「機器名」欄は、構築対象システム90が備える機器の名称を示す。
「格納場所」欄は、設定ファイル112が格納されている場所を示す。格納場所は、典型的には、ディレクトリである。格納場所は、構築対象システム90が備えるOSがLinux(登録商標)である場合、具体例として、「/etc/」又は「/usr/」である。
「ファイル名」欄は、格納場所のファイルの名称を示す。格納場所のファイルは、格納場所と格納場所よりも下の階層とに格納されているファイルである。設定変更検出部140は、ファイル名に対応するファイルを用いて、基準構成情報141と、確認用構成情報142とを生成する。
「権限」欄は、ファイルを変更すること又はファイルを実行すること等ができるユーザに対応する情報を示す。本図の「権限」欄の表示は、Linux(登録商標)システムにおける表示に倣っている。
「ハッシュ値」欄は、ファイルのハッシュ値を示す。ハッシュ値は、ファイルの内容の具体例である。
設定変更検出部140は、設定ファイル112の属性情報又はファイルの内容を基準構成情報141と、確認用構成情報142とに登録しても良い。属性情報は、具体例として、タイムスタンプ又は権限である。
設定変更検出部140は、具体例として、このようなファイルを参照することによってシステム名と、機器名とを取得する。
構築対象システム90の概略を示すファイルは、具体例として、Ansible(登録商標)のインベントリファイルである。
設定変更検出部140は、具体例として、このようなファイルから格納場所を取得する。
ユーザ情報を示すファイルは、具体例として、Ansible(登録商標) Playbook等のYAML(YAML Ain’t Markup Language)ファイルである。
設定変更検出部140は、具体例として、パッケージ管理ツールを用いて、ソフトウェアパッケージの属性情報を取得する。パッケージ管理ツールは、具体例として、RPM(RPM Package Manager)である。
設定変更検出部140は、ソフトウェアパッケージの情報の代わりに、ソフトウェアの更新情報又は差分(パッチ)情報を用いても良い。
図10は、構築対象システム90が導入しているソフトウェアパッケージ一覧の情報を取得する例を示している。本図は、RPMによってソフトウェアパッケージ一覧を取得したときの表示を示している。「/etc/ypkg.conf」と「/usr/lib/ypkg/ypkg.so」とは、ソフトウェアパッケージの設定に関するファイルの格納場所及び名称である。また、本例には、各ソフトウェアパッケージのバージョン情報と、権限と、タイムスタンプとが含まれている。
設定変更検出部140は、具体例として、このようにして、格納場所と、ファイル名と、属性情報とを取得する。
設定変更検出部140は、具体例として、このようなファイルから、属性情報と、内容とを取得し、かつ、属性情報と、内容とを設定ファイルテーブル143に登録する。
図12は、構成管理装置100の動作の一例を示すフローチャートである。本実施の形態と、実施の形態1との差異を主に説明する。
設定変更検出部140は、設定ファイルテーブル143を受け付ける。
設定変更検出部140は、構築対象システム90の構成を示す情報が記録されたファイルを特定し、かつ、特定したファイルを用いて設定ファイルテーブル143を生成しても良い。設定変更検出部140は、構築情報111から取得した情報を用いて設定ファイルテーブル143を生成しても良い。
設定変更検出部140は、構築対象システム90と設定ファイルテーブル143とを用いて基準構成情報141を生成する。設定変更検出部140は、具体例として、構築対象システム90から、設定ファイルテーブル143に示されるファイルをコピーすることによって基準構成情報141を生成しても良く、また、設定ファイルテーブル143に示されるバージョン、タイムスタンプ、権限、及びハッシュ値と同様に取得して基準構成情報141を生成しても良い。基準構成情報141は、複数のファイルから成っても良い。
基準構成情報141が既に生成されている場合、設定変更検出部140は、基準構成情報141と、確認用構成情報142との差分を用いて基準構成情報141を更新しても良い。設定変更検出部140は、確認用構成情報142を基準構成情報141としても良い。
設定変更検出部140は、設定ファイルテーブル143の一部のみを用いて基準構成情報141を生成しても良い。
設定変更検出部140は、設定ファイルテーブル143を用いて、確認用構成情報142を生成する。設定変更検出部140は、構築対象システム90から、設定ファイルテーブル143に示されるファイルをコピーすることによって確認用構成情報142を生成しても良く、また、設定ファイルテーブル143に示されるバージョン、タイムスタンプ、権限、及びハッシュ値と同様に取得して確認用構成情報142を生成しても良い。設定変更検出部140は、設定ファイルテーブル143の一部のみを用いて確認用構成情報142を生成しても良い。
設定変更検出部140は、直接設定に対応する全ての処理を構築対象システム90が実行した後で前述の処理を実行しても良い。設定変更検出部140は、どのようなタイミングで前述の処理を実行しても良い。設定変更検出部140は、具体例として、直接設定が実行される度に本ステップの処理を実行しなくても良い。設定変更検出部140が前述の処理を実行せずに、構成管理装置100はステップS104に戻っても良い。
設定変更検出部140は、基準構成情報141と、確認用構成情報142とを用いて、機器の設定変更の有無を検出する。設定変更検出部140は、ユーザが変更したファイルを検出しても良い。
設定変更検出部140が設定変更を検出することができない場合、構成管理装置100は、ステップS104に進む。本場合は、具体例として、ユーザが設定ファイルテーブル143に登録されていないファイルを操作した場合、又は、ユーザが設定ファイル112を変更し、その後、ユーザが変更した設定ファイル112を変更前の状態に戻した場合である。それ以外の場合、構成管理装置100は、ステップS205に進む。
変更内容抽出部150は、ステップS204で検出された設定変更に対応する変更内容を抽出する。変更内容抽出部150は、具体例として、基準構成情報141と、確認用構成情報142との差分を抽出する。
変更内容反映部160は、ステップS205で抽出された変更内容を構築情報111に反映する。
構成管理装置100は、ステップS102及びステップS202に進む。
以上のように、本実施の形態に係る構成管理装置100は、基準構成情報141と、確認用構成情報142と、設定ファイルテーブル143とを用いることによって、設定変更を検出する。そのため、本実施の形態によれば、設定変更を構築情報111に反映し損ねにくい。
<変形例2>
構成管理装置100は、ステップS104において、ユーザが直接設定を実行した場合であっても、設定ファイルテーブル143に含まれるファイルが更新されていない場合、次のステップに進まなくても良い。
本変形例において、具体例として、ステップS104において、設定変更検出部140は、設定ファイルテーブル143に示されているタイムスタンプを参照して、次のステップに進むか否かを判断する。
以下、主に実施の形態2と異なる点について、図面を参照しながら説明する。
図13は、本実施の形態に係る構成管理装置100の構成例を示している。構成管理装置100は、本図に示すように、操作履歴記録部170を備える。
変更内容抽出部150は、候補操作情報を有していても良い。候補操作情報は、機器の設定を変更する可能性がある操作の情報を含む。操作情報テーブル151は、候補操作情報の具体例である。
変更内容抽出部150は、機器操作情報と、候補操作情報とを比較することによって前記設定変更を引き起こした操作を特定し、かつ、特定した操作に対応する情報を前記変更内容として抽出する。機器操作情報は、機器が操作された際に実行された操作を示す情報である。
変更内容抽出部150は、設定ファイルが変更された時間帯において機器に対して実行された操作を、設定ファイル情報と、操作履歴とを用いて特定し、かつ、特定した操作を変更内容として抽出しても良い。
操作情報テーブル151の例は、図18に示されている。本例は、構築対象システム90が備える各機器が有するOSが、Linux(登録商標)である場合におけるものである。
操作履歴は、機器操作情報と、機器操作情報に対応する時刻の情報とを含んでも良い。
図14は、構成管理装置100の動作の概略を説明する図である。本図を参照して、構成管理装置100の動作の概略を説明する。
構成管理装置100は、実施の形態2におけるステップS205に代えて、本フローチャートの処理を実行する。
変更内容抽出部150は、設定ファイル112の設定変更時刻を特定する。設定変更時刻は、具体例として、ステップS204で検出されたファイルのタイムスタンプである。
変更内容抽出部150は、設定変更時刻をキーにして操作履歴を検索することにより、設定変更時刻においてユーザが実行した操作を特定する。
変更内容抽出部150は、ステップS302で特定した操作によって変更される設定の内容を抽出しても良い。変更される設定の内容は、特定した操作を実行することによって変更される機器の設定である。
変更内容抽出部150は、ステップS301において、「/etc/shadow」の設定変更時刻が2019年11月1日の12:00であることを特定する。「/etc/shadow」は、ステップS204で検出されたファイルである。
次に、変更内容抽出部150は、ステップS302において、操作履歴記録部170を検索し、2019年11月1日の12:00に実行された操作を特定する。本図において、2019年11月1日の12:00に実行された操作は、「echo “xxx:ABC” | chpasswd」である。
変更内容抽出部150は、設定ファイル112を更新する可能性のある操作を、操作情報テーブル151に登録する。
変更内容抽出部150は、定期的に操作情報テーブル151に登録されているファイルを更新しても良い。この際、変更内容抽出部150は、機械学習を用いても良い。
変更内容抽出部150は、操作情報テーブル151を生成せず、かつ、ユーザが入力した操作情報テーブル151を受け付けても良い。
変更内容抽出部150は、ステップS204で検出されたファイルをキーにして操作情報テーブル151を検索し、かつ、検索した結果を用いて操作候補リスト152を生成する。操作候補リスト152は、ステップS204で検出されたファイルを更新する可能性がある操作の一覧を示すリストである。
変更内容抽出部150が操作候補リスト152を生成することができなかった場合、構成管理装置100は、ステップS104に戻る。
変更内容抽出部150は、操作候補リスト152に含まれる各操作をキーにして操作履歴を検索し、かつ、検索した結果を用いて直接設定に対応する操作を特定する。変更内容抽出部150は、直接設定に対応する操作を抽出する精度を高めるために、ステップS204で検出されたファイルのタイムスタンプと、操作履歴のタイムスタンプとの少なくとも一方を利用しても良い。
変更内容抽出部150は、具体例として、直接設定に対応する操作の候補を示す情報を活用しても良い。変更内容抽出部150は、特定した操作によって変更される設定の内容を抽出しても良い。
変更内容抽出部150は、特許文献2で示されるようなパターンチェックに基づく方法により、操作履歴等から直接設定に対応する操作を抽出しても良い。
次に、変更内容抽出部150は、ステップS313において、操作候補リスト152に含まれている各操作をキーとして、操作履歴を検索する。操作履歴は、操作履歴記録部170が管理しているものである。本例において、変更内容抽出部150は、「chpasswd」を操作履歴から特定した。「chpasswd」は、操作候補リスト152に含まれている。
操作履歴記録部170は、「/etc/shadow」のタイムスタンプと、操作履歴内の操作のタイムスタンプとが一致する場合に、操作履歴内の操作を直接設定に対応する操作であると判断しても良い。
「直接設定」欄は、直接設定に対応する操作又は直接設定において構築対象システム90に入力するファイル等を示す。
「構築処理」欄は、ユーザが直接設定を実行する際に採用する具体的な手段を示す。
「操作履歴」欄は、直接設定に対応する操作履歴の種類を示す。
「ファイル形式/ツール例」欄は、直接設定に対応するファイルの形式又はツールを示す。構築処理部120は、具体例として、本欄に記載されているファイル又はツールを用いて構築対象システム90を構築する。
構築情報管理部110は、本表に示す情報を構築情報111として管理しても良い。構築情報管理部110が本表に示すような情報を管理することにより、構成管理装置100は、機器と、変更内容と、入力ファイルと、ユーザの操作と等が様々であっても、対応することができる。
変更内容反映部160は、ステップS206において、以下で説明する処理を実行しても良い。
本図の左側に示されているCLI操作又はGUI操作等は、直接設定に対応する操作の例である。ユーザがこのような直接設定を実行することにより設定変更を実行した場合、構築情報管理部110が管理している構築情報111に反映される。
次に、構築処理部120は、変更された構築情報111を用いて構築対象システム90を構築する。
「echo “xxx:ABC” | chpasswd」は、ユーザがCLI操作によりsystemAのweb01に対して実行した直接設定である。変更内容反映部160は、systemAのweb01に対応する構築情報111に本操作を取り込む。
「button.click」は、ユーザがGUI操作によりsystemAのweb02に対して実行した直接設定である。変更内容反映部160は、systemAのweb02に対応する構築情報111に本操作を取り込む。変更内容反映部160は、本操作によって変更された構築対象システム90の構成を構築情報111に取り込んでも良い。
本例において、ユーザは、systemAのweb01が管理するユーザパスワードを変更したものとする。変更内容反映部160は、「/etc/passwd」ファイルの情報と、「/etc/shadow」ファイルの情報とを、systemAのweb01に対応する構築情報111に取り込む。これらのファイルは、ユーザが直接設定を実行することによって変更されたファイルである。変更内容反映部160は、典型的には、これらのファイルのコピーを構築情報111に取り込む。
また、本例において、ユーザは、systemAのweb02にソフトウェアパッケージ「ypkg-3.2.1.rpm」をインストールしたものとする。変更内容反映部160は、「ypkg-3.2.1.rpm」ファイル、又は、「/etc/ypkg/ypkg.conf」ファイルと「/usr/lib/ypkg/ypkg.so」ファイルとを、systemAのweb02に対応する構築情報111に取り込む。これらのファイルは、ユーザが「ypkg-3.2.1.rpm」をsystemAのweb02にインストールしたことによって生成されたファイルである。変更内容反映部160は、ソフトウェアパッケージのバージョン情報又はビルド番号を構築情報111に取り込んでも良い。
本例において、ユーザは、systemAのweb01に対して「echo “xxx:ABC”| chpasswd」という処理を実行させたものとする。変更内容反映部160は、本処理に対応するシェルスクリプトファイルを生成し、かつ、生成したファイルをsystemAのweb01に対応する構築情報111に取り込む。変更内容反映部160は、本処理に対応する記述を既存のシェルスクリプトファイルに追加しても良い。
また、本例において、ユーザは、systemAのweb02に対しても本処理を実行させたものとする。変更内容反映部160は、本処理に対応するAnsible(登録商標) Playbookファイルを生成し、かつ、生成したファイルをsystemAのweb02に対応する構築情報111に取り込む。
以上のように、本実施の形態によれば、操作情報テーブル151を用いることにより、直接設定を検出する。変更内容抽出部150は、操作情報テーブル151を適宜更新しても良い。
従って、本実施の形態によれば、設定変更に対応する操作を検出又は抽出し損ねにくい。
<変形例3>
構成管理装置100は、操作履歴記録部170を備えず、かつ、構築対象システム90が備える各機器が管理している操作履歴を用いても良い。
ユーザがファイルを入力することによって直接設定を実行した場合、変更内容抽出部150は、入力されたファイルを分析して変更内容を抽出しても良い。
本変形例において、具体例として、変更内容抽出部150はステップS302又はステップS313において、ファイルを入力する操作を特定し、変更内容反映部160は入力されたファイルに記述されているコマンドを構築情報111に反映する。
構成管理装置100は、設定変更が実行され、その後の設定変更によって先に実行された設定変更が帳消しされた場合に対応することができても良い。
本変形例において、具体例として、変更内容抽出部150は前述の2つの操作をなかったものとみなしても良く、また、変更内容反映部160は操作を分析することによって前述の2つの操作を特定し、2つの操作に対応する設定変更を構築情報111に反映しなくても良い。
以下、主に実施の形態2と異なる点について、図面を参照しながら説明する。
図24は、本実施の形態に係る構成管理装置100の構成例を示している。構成管理装置100は、構成差異検出部180を備える。
構成差異検出部180は、試験用構成情報145を生成し、確認用構成情報142と、試験用構成情報145との差異を構成差異として検出し、かつ、構成差異を変更構築情報に反映する。変更構築情報は、変更内容が反映された構築情報111である。
図25は、構成管理装置100の動作の一例を示すフローチャートである。本図を参照して、構成管理装置100の動作を説明する。
構築処理部120は、構築情報111を用いて構築対象システム90を構築する。本ステップにおいて構築した構築対象システム90を試験用構築対象システムと呼ぶ。当該構築情報111は、変更内容が反映されたものである。以下、本フローチャートの説明において、特に断りがない限り同様である。
構築処理部120は、直接設定が実行された構築対象システム90とは異なる構築対象システム90を構築しても良い。
構成管理装置100は、構築処理部120が構築対象システム90を構築することが完了したら、次のステップに進む。
構成差異検出部180は、試験用構築対象システムを参照して試験用構成情報145を生成する。
構成差異検出部180は、ステップS203と同様の処理を実行する。
構成差異検出部180は、確認用構成情報142と、試験用構成情報145とを比較することにより、構成差異を検出する。構成差異は、確認用構成情報142と、試験用構成情報145との差異である。
構成差異検出部180が構成差異を検出した場合、構成管理装置100は、ステップS404に進む。それ以外の場合、構成管理装置100は、ステップS406に進む。
なお、構成差異検出部180は、設定変更検出部140が生成した確認用構成情報142を用いる。
構成差異検出部180は、ステップS403で検出された構成差異の内容を抽出する。構成差異検出部180は、ステップS205と同様の処理を実行する。
構成差異検出部180は、ステップS404で抽出された構成差異の内容を構築情報111に反映する。構成差異検出部180は、具体例として、実施の形態3に係る変更内容反映部160と同様の処理を実行する。
構築情報管理部110は、ステップS102と同様の処理を実行する。
以上のように、本実施の形態によれば、構成差異検出部180は、確認用構成情報142と、試験用構成情報145とを比較することにより構成差異を検出し、かつ、構成差異の内容を構築情報111に反映する。
従って、本実施の形態によれば、実施の形態1から3までのいずれかの構成管理装置100によって生成された構築情報111と、変更内容が反映された構築対象システム90との間に不整合が生じている場合に、当該不整合を解消することができる。
前述した各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
Claims (11)
- 機器を備える構築対象システムが備える前記機器の設定変更の有無を検出する設定変更検出部と、
前記設定変更が有る場合に、前記設定変更の内容を変更内容として抽出する変更内容抽出部と、
前記構築対象システムを構築することに用いられる構築情報に前記変更内容を反映する変更内容反映部と
を備える構成管理装置であって、
前記構築対象システムの構成は、前記構築対象システムが備える前記機器が前記設定変更を実行することによって変更され、
前記設定変更検出部は、前記機器が前記設定変更を実行することによって前記構築対象システムの構成が変更される前の前記構築対象システムの構成を示す基準構成情報と、前記機器が前記設定変更を実行した場合に、構成が変更された前記構築対象システムの構成を示す確認用構成情報とを生成し、かつ、前記基準構成情報と、前記確認用構成情報とを用いて前記設定変更を検出し、
前記設定変更検出部は、前記構築情報を用いて前記構築対象システムの設定ファイルをまとめた設定ファイルテーブルを生成し、かつ、前記基準構成情報と、前記確認用構成情報とを、前記設定ファイルテーブルを用いて生成する構成管理装置。 - 前記機器が操作された履歴を示す操作履歴を記録している操作履歴記録部を備え、
前記変更内容抽出部は、前記操作履歴を用いて前記変更内容を抽出する請求項1に記載の構成管理装置。 - 前記設定変更は、前記構築対象システムの構成を示す情報を含む設定ファイルを変更することによって実行され、
前記操作履歴は、前記構築対象システムが備える機器が操作された際に実行された操作を示す機器操作情報と、前記機器操作情報に対応する時刻の情報とを含み、
前記設定変更検出部は、前記設定ファイルが変更された時刻を含む情報を設定ファイル情報として管理しており、
前記変更内容抽出部は、前記設定ファイルが変更された時間帯において前記機器に対して実行された操作を、前記設定ファイル情報と、前記操作履歴とを用いて特定し、かつ、特定した操作を前記変更内容として抽出する請求項2に記載の構成管理装置。 - 前記変更内容抽出部は、前記構築対象システムが備える機器の設定を変更する可能性がある操作の情報を含む候補操作情報を有し、前記機器操作情報と、前記候補操作情報とを比較することによって前記設定変更を引き起こした操作を特定し、かつ、特定した操作に対応する情報を前記変更内容として抽出する請求項3に記載の構成管理装置。
- 前記変更内容反映部は、前記特定した操作に対応するファイルを生成し、生成したファイルを前記構築情報に反映する請求項3又は4に記載の構成管理装置。
- 前記変更内容が反映された構築情報を変更構築情報とし、かつ、前記変更構築情報を用いて、前記構築対象システムを試験用構築対象システムとして構築する構築処理部と、
前記試験用構築対象システムの構成を示す試験用構成情報を生成し、前記確認用構成情報と、前記試験用構成情報との差異を構成差異として検出し、かつ、前記構成差異を前記変更構築情報に反映する構成差異検出部と
を備える請求項1から5のいずれか1項に記載の構成管理装置。 - 機器を備える構築対象システムが備える前記機器の設定変更の有無を検出する設定変更検出部と、
前記設定変更が有る場合に、前記設定変更の内容を変更内容として抽出する変更内容抽出部と、
前記構築対象システムを構築することに用いられる構築情報に前記変更内容を反映する変更内容反映部と
を備える構成管理装置であって、
前記構築対象システムの構成は、前記構築対象システムが備える前記機器が前記設定変更を実行することによって変更され、
前記設定変更検出部は、前記機器が前記設定変更を実行することによって前記構築対象システムの構成が変更される前の前記構築対象システムの構成を示す基準構成情報と、前記機器が前記設定変更を実行した場合に、構成が変更された前記構築対象システムの構成を示す確認用構成情報とを生成し、かつ、前記基準構成情報と、前記確認用構成情報とを用いて前記設定変更を検出し、
前記構成管理装置は、さらに、
前記変更内容が反映された構築情報を変更構築情報とし、かつ、前記変更構築情報を用いて、前記構築対象システムを試験用構築対象システムとして構築する構築処理部と、
前記試験用構築対象システムの構成を示す試験用構成情報を生成し、前記確認用構成情報と、前記試験用構成情報との差異を構成差異として検出し、かつ、前記構成差異を前記変更構築情報に反映する構成差異検出部と
を備える構成管理装置。 - 設定変更検出部が、機器を備える構築対象システムが備える前記機器の設定変更の有無を検出し、
変更内容抽出部が、前記設定変更が有る場合に、前記設定変更の内容を変更内容として抽出し、
変更内容反映部が、前記構築対象システムを構築することに用いられる構築情報に前記変更内容を反映する構成管理方法であって、
前記構築対象システムの構成は、前記構築対象システムが備える前記機器が前記設定変更を実行することによって変更され、
前記設定変更検出部は、前記機器が前記設定変更を実行することによって前記構築対象システムの構成が変更される前の前記構築対象システムの構成を示す基準構成情報と、前記機器が前記設定変更を実行した場合に、構成が変更された前記構築対象システムの構成を示す確認用構成情報とを生成し、かつ、前記基準構成情報と、前記確認用構成情報とを用いて前記設定変更を検出し、
前記設定変更検出部は、前記構築情報を用いて前記構築対象システムの設定ファイルをまとめた設定ファイルテーブルを生成し、かつ、前記基準構成情報と、前記確認用構成情報とを、前記設定ファイルテーブルを用いて生成する構成管理方法。 - コンピュータに、
機器を備える構築対象システムが備える前記機器の設定変更の有無を検出させ、
前記設定変更が有る場合に、前記設定変更の内容を変更内容として抽出させ、
前記構築対象システムを構築することに用いられる構築情報に前記変更内容を反映させる構成管理プログラムであって、
前記構築対象システムの構成は、前記構築対象システムが備える前記機器が前記設定変更を実行することによって変更され、
前記コンピュータに、
前記機器が前記設定変更を実行することによって前記構築対象システムの構成が変更される前の前記構築対象システムの構成を示す基準構成情報と、前記機器が前記設定変更を実行した場合に、構成が変更された前記構築対象システムの構成を示す確認用構成情報とを生成させ、かつ、前記基準構成情報と、前記確認用構成情報とを用いて前記設定変更を検出させ、
前記構築情報を用いて前記構築対象システムの設定ファイルをまとめた設定ファイルテーブルを生成させ、かつ、前記基準構成情報と、前記確認用構成情報とを、前記設定ファイルテーブルを用いて生成させる構成管理プログラム。 - 設定変更検出部が、機器を備える構築対象システムが備える前記機器の設定変更の有無を検出し、
変更内容抽出部が、前記設定変更が有る場合に、前記設定変更の内容を変更内容として抽出し、
変更内容反映部が、前記構築対象システムを構築することに用いられる構築情報に前記変更内容を反映する構成管理方法であって、
前記構築対象システムの構成は、前記構築対象システムが備える前記機器が前記設定変更を実行することによって変更され、
前記設定変更検出部は、前記機器が前記設定変更を実行することによって前記構築対象システムの構成が変更される前の前記構築対象システムの構成を示す基準構成情報と、前記機器が前記設定変更を実行した場合に、構成が変更された前記構築対象システムの構成を示す確認用構成情報とを生成し、かつ、前記基準構成情報と、前記確認用構成情報とを用いて前記設定変更を検出し、
構築処理部が、前記変更内容が反映された構築情報を変更構築情報とし、かつ、前記変更構築情報を用いて、前記構築対象システムを試験用構築対象システムとして構築し、
構成差異検出部が、前記試験用構築対象システムの構成を示す試験用構成情報を生成し、前記確認用構成情報と、前記試験用構成情報との差異を構成差異として検出し、かつ、前記構成差異を前記変更構築情報に反映する構成管理方法。 - コンピュータに、
機器を備える構築対象システムが備える前記機器の設定変更の有無を検出させ、
前記設定変更が有る場合に、前記設定変更の内容を変更内容として抽出させ、
前記構築対象システムを構築することに用いられる構築情報に前記変更内容を反映させる構成管理プログラムであって、
前記構築対象システムの構成は、前記構築対象システムが備える前記機器が前記設定変更を実行することによって変更され、
前記コンピュータに、
前記機器が前記設定変更を実行することによって前記構築対象システムの構成が変更される前の前記構築対象システムの構成を示す基準構成情報と、前記機器が前記設定変更を実行した場合に、構成が変更された前記構築対象システムの構成を示す確認用構成情報とを生成させ、かつ、前記基準構成情報と、前記確認用構成情報とを用いて前記設定変更を検出させ、
前記変更内容が反映された構築情報を変更構築情報とさせ、かつ、前記変更構築情報を用いて、前記構築対象システムを試験用構築対象システムとして構築させ、
前記試験用構築対象システムの構成を示す試験用構成情報を生成させ、前記確認用構成情報と、前記試験用構成情報との差異を構成差異として検出させ、かつ、前記構成差異を前記変更構築情報に反映させる構成管理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020036459A JP7492839B2 (ja) | 2020-03-04 | 2020-03-04 | 構成管理装置、構成管理方法、及び、構成管理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020036459A JP7492839B2 (ja) | 2020-03-04 | 2020-03-04 | 構成管理装置、構成管理方法、及び、構成管理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021140372A JP2021140372A (ja) | 2021-09-16 |
JP7492839B2 true JP7492839B2 (ja) | 2024-05-30 |
Family
ID=77668638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020036459A Active JP7492839B2 (ja) | 2020-03-04 | 2020-03-04 | 構成管理装置、構成管理方法、及び、構成管理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7492839B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2023167974A (ja) | 2022-05-13 | 2023-11-24 | 日立Astemo株式会社 | システム構築装置 |
WO2024142721A1 (ja) * | 2022-12-27 | 2024-07-04 | 日本電気株式会社 | 環境構築管理装置、システム、方法、及び、プログラム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099300A (ja) | 2004-09-29 | 2006-04-13 | Seiko Epson Corp | ネットワークに接続されるデバイスのデバイス設定管理 |
JP2019153202A (ja) | 2018-03-06 | 2019-09-12 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システム及び情報処理プログラム |
-
2020
- 2020-03-04 JP JP2020036459A patent/JP7492839B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006099300A (ja) | 2004-09-29 | 2006-04-13 | Seiko Epson Corp | ネットワークに接続されるデバイスのデバイス設定管理 |
JP2019153202A (ja) | 2018-03-06 | 2019-09-12 | 富士ゼロックス株式会社 | 情報処理装置、情報処理システム及び情報処理プログラム |
Non-Patent Citations (1)
Title |
---|
香川 恵里奈 ほか,"オープンソースソフトウェアを対象とした設定マニュアル自動生成システムの開発",情報知識学会誌,情報知識学会,2012年,第22巻, 第3号,pp. 223-237,ISSN 0917-1436 |
Also Published As
Publication number | Publication date |
---|---|
JP2021140372A (ja) | 2021-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2412474C2 (ru) | Способ и система для создания, хранения, управления и потребления специфичных культуре данных | |
US8464242B2 (en) | Virtualization of configuration settings | |
US8140907B2 (en) | Accelerated virtual environments deployment troubleshooting based on two level file system signature | |
KR100513551B1 (ko) | 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트방법및 시스템 | |
US20170177452A1 (en) | Computing device replication using file system change detection methods and systems | |
US20110072424A1 (en) | System for creating virtual application, method for installing virtual application, method for calling native api and method for executing virtual application | |
US10740184B2 (en) | Journal-less recovery for nested crash-consistent storage systems | |
US20130014102A1 (en) | Planned virtual machines | |
US10048978B2 (en) | Apparatus and method for identifying a virtual machine having changeable settings | |
WO2020238245A1 (zh) | 实现函数跳转的方法、装置及计算机存储介质 | |
US20210191845A1 (en) | Unit testing of components of dataflow graphs | |
US20120296878A1 (en) | File set consistency verification system, file set consistency verification method, and file set consistency verification program | |
US20110252412A1 (en) | Maintenance system, maintenance method and program for maintenance | |
JP7492839B2 (ja) | 構成管理装置、構成管理方法、及び、構成管理プログラム | |
US20160124795A1 (en) | Evaluation method and apparatus | |
US20120011507A1 (en) | Maintenance system, maintenance method and program for maintenance | |
US10983782B1 (en) | User interface upgrade analyzer | |
CN113760306A (zh) | 安装软件的方法、装置、电子设备及存储介质 | |
JP5106062B2 (ja) | ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム | |
US10394551B2 (en) | Managing kernel application binary interface/application programming interface-based discrepancies relating to kernel packages | |
US11803429B2 (en) | Managing alert messages for applications and access permissions | |
US7818756B2 (en) | SKU determination mechanism and API | |
US20210349808A1 (en) | Source quality check service | |
US11256602B2 (en) | Source code file retrieval | |
US20150046414A1 (en) | Computer product, managing apparatus, and managing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230103 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240228 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240514 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240520 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7492839 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |