2009年10月28日第5回開発会議

これまでのミーティングの記録を掲示するフォーラムです

2009年10月28日第5回開発会議

投稿記事by 石川雅彦 » 2009年11月02日(月) 17:33

石川@とりまとめ担当です。こんにちは。

先週の開発会議の議事録を掲載します。
また、議事録に挙げた資料を添付します。

なお、次回開催日時は 2009/11/17(火) 15:00~(午後3時~) となりました。よろしくお願いします。

---------------------------------------------------------------------------
次世代ネットワーク情報基盤管理システム 開発会議(第5回) 議事録
---------------------------------------------------------------------------
■日時: 2009年10月28日(水) 13:00 - 16:45
■場所: 名古屋大学情報基盤センター 4F 会議室
■出席:(敬称略)
名古屋大学 : 河口、山口、情報基盤センター職員
とりまとめ担当: SRA 石川、山本
(以下順不同、敬称略)
ITプランニング(以下"ITP")
兼松エレクトロニクス
SRA(13:00-15:00, TV会議システによる参加)
鈴木裕信事務所(以下"SH") (15:00-参加)
他、ストリーミングにて傍聴者あり。

■資料
・議事次第
・ネットワーク自動取得設計資料
- perl プログラム、ruby プログラム、DeviceTreeとのAPI案
・コマンド体系.mm
・課題管理票
■議題
1. 導入(会議方針、経緯の説明)
2. 議論詳細
2.1. 開発言語決定を受けて
2.2. 内部設計 検討状況 報告(平野、今井)
2.3. 仕様検討 状況報告
3. 次回予定調整

■議事内容

1. 導入(会議方針、経緯の説明)
* 過去の会議経緯と、会議方針の再確認

2. 議論詳細
2.1 開発言語決定を受けて
・これから開発を進めていく上で、決めていくべき項目を提起・検討。

・検討項目とディスカッション結果
* ドキュメンテーション
- 初期構築から完成度の高いものを記述していく。

* パッケージ名
- "info.ngms"とする。

* コーディング規約
- 文字コード : UTF-8
- 改行コード : DOS(CR+LF) 汎用性を考慮
- インデント : 4タブ
- コメント : 内容充実のため日本語で記述

* ネーミング規約
- スコープに応じて命名規約を変えていく。
- 小文字・大文字を組み合わせる。(例) "doSomethingElse"
- ただし、Class や Trait は大文字始まりとする。

* リリースのイメージ
- trunk/ はプロジェクトごとに管理する。
- 混在を避けるため、release/ と trunk/ は分けて置くようにする。

* 開発環境
- 推奨環境 : Windows + IDE(Eclipse + プラグイン)
ただし、方針としては様々な環境での開発を許容する。
- ビルダー選定 : Ant または Maven
+ 先ずは Ant を使用する。
+ Maven の使用も視野に入れる。
+ MavenはScalaDocやhtmlへの出力機能が充実している。

* 情報共有ツール : Trac を使用
- Trac環境は大学内で構築し、構築後にアクセス方法はアナウンスする。
- 初期構築からの情報共有については、wikiベースで議論結果を蓄積する。
- 機能要望は Ticket で管理する。
- 情報公開の是非について
+ 方針としてはできるだけ公開していく。
+ ただし、ソースやテストデータに機密情報を載せないよう留意すること。

* マイルストーン
- バージョン0(直近のリリース版)に盛り込むべき機能イメージを共有した。
+ 最低限のネットワーク自動取得機能
-> 処理イメージ:取得対象のネットワークを指定
+ Shell 起動による操作や統計処理機能
+ nagios の config ファイル自動作成機能
+ Device Tree の操作機能
- 作成目標 : 11月末

・課題
* 開発環境
- Eclipseを使う場合はprjファイルが作られるが、それが最新化されなければファイル追加時に不整合が発生する

* ディレクトリ構成の検討
- info.ngms以下にプロジェクト単位でディレクトリが分かれるべき
- jarファイルが同じ場所に整理されればよいのでは?

* リファクタリング
- Subversion で Directory の変更を行うと不整合の恐れがある

* NGMSシステムとして、Device Treeの構成管理をどうするか?

・その他
* インストーラパッケージ
- config ファイルの作成が出来ても対象のツールがインストールされていないと意味が無いため、
nagios も含めてインストールが出来るのが良い。


2.2. 設計検討 状況発表
・ネットワーク自動取得および、ネットワーク監視用config作成に関して
設計、サンプル実装の結果を発表(SRA)

(1) サンプル実装プログラム(Perl版)説明&ディスカッション
同一セグメント内の SNMP から情報を取得し、取得情報の標準出力への出力までを作成
(2) サンプル実装プログラム(Scala版)説明&ディスカッション

(3) Device Tree API検討結果発表&ディスカッション
Device Tree操作 との APIを検討した。

・今後の検討作業

(1) Perl版サンプル実装のScala化(担当:SRA)
* サンプルではネットワーク全体を取得しようとしているが、実際には範囲を絞り込んで自動取得を行うよう変更。
* コマンドラインに記述すべき情報、configファイルに設定すべき情報の整理
* pipe や標準出力の使用を考慮
(2) Device Tree・クラス設計の整理(担当:SRA)
* 先ずは構築を進めていきそこから随時、課題を出して修正を進める。
=> 成果物は 随時 Subversion にアップし、MLでの議論を行う。

・プロジェクト全体の検討課題
(1) 設計文書の記法:
* scala実装に落とすための、十分な表現力を持つ設計記述方法は?

2.3. 仕様検討 状況発表

・開発項目の進捗状況と担当 (()内は担当。)
- インストーラ・アップデートシステム(担当未定)
+ 作業着手はまだ早い。
+ 開発と関連が深い。
+ 要件抽出には
+ 仕様策定未完。

- インシデント管理(担当未定)
+ 作業着手はまだ早い。
+ 今年度の目標は自動通知機能、エスカレーション機能の構築
+ 8-9月の会議で要件抽出可能
+ 仕様策定未完。

- コマンド体系(担当未定)
- 資産管理ファイル構造整理(ITP?)
- 基盤データ構造管理系(ITP?)
- ネットワーク監視用config作成(SRA)
- ネットワーク自動取得(SRA)
+ トポロジ推定(SH?) ... 次フェーズ?

・検討作業
* コマンド体系について説明(石川)
- コマンド体系は開発項目共通の体系が必要。
体系のたたき台を9月のソフトウェア構成WGで説明した。(-->NGMSコマンド体系.mm)
これはトップダウン的なアプローチ.
- 一方で、ボトムアップ的なアプローチとして、
開発項目個別のユースケースを、Device Treeを題材に検討してみた。これが今回の説明対象。
- 機器構成を管理するDESC.txt に対する操作、初期構築後のDevice Tree は必要となる操作が異なる。
DESC.txtでは、「あるネットワーク機器にIPアドレスを付与する」「あるネットワーク機器群に設置年月日を設定する」
などの操作が必要。
- 一方、Device Treeに対する操作は 挿入、移動、集約、分割、削除などの操作が必要。
+ 挿入とは、/a/b/1F → /a/x/b/1F とする(xを挿入)
+ 移動とは、mv 相当
+ 集約とは、a/b/1F/rt01,a/b/2F/rt02 の 1F と 2Fを集約し、a/b/rt01, a/b/rt02 とする
+ 分割とは、a/rt01, a/rt02 を, a/1F/rt01と a/2F/rt02 に分割する処理
+ 削除とは、rm 相当

* コマンド体系についてディスカッション
- unixのコマンドで出来ることを敢えてツール化する必要があるのか?
(例) 挿入する場合、mkdirとmvコマンドを人が入力するだけ
=> Device Treeは構成管理を行なう。ので、unixコマンド使用と共に行なうべき構成管理操作(commitなど)をツールに
組み込めば、操作が楽になることが期待できる。
- コマンド引数をどのように指定するか?
+ -(マイナス)オプション方式
+ CISCO IOS CLI方式
+ -(マイナス)の主なオプションの種類
1. Posix オプション (例) -a -z
2. GNUオプション (例) --x
3. Javaライク (例) -D xxxxx=yyyyyy
+ CISCO IOS CLI方式
コマンドの引数位置が意味を持つ。 show config, show int eth0/1 , conf t のように
show の後は config, int など

+ UNIX系のオプション記法は、オプション順に制約が少なく柔軟性が優れる。
-> プログラムの改修によりオプションを追加する場合も対応しやすい。
-> 人によっては、引数の並びが固定してしまう場合もある。 -v の位置。-i の位置などを常にコマンドの次に置くなど
+ シスコのコマンド記法は、引数の順番が固定されているのでオペレーションミスは少ない。

=> オプション系の機能をベースに、シスコの書き方を踏襲した仕組みを目指していく。

- コマンド補完の方法
+ CISCO CLI : conf t のように 1) conf は configure の略。2) conf の後 t で始まるコマンドは terminal しか
ないため、後の文字を省略可能。
+ Zシェル : 補完機能により、オプションや引数入力を支援可能

・課題管理状況
* 説明要旨(石川)
・開発個別項目と開発共通項目とで分けた
-開発個別項目(資産管理ファイル構造整理、基盤データ構造管理系、ネットワーク自動取得...)
-開発共通項目(コマンド体系、開発環境...)
* ディスカッション
- 必要に応じて閲覧していくレベルで良い。
- スキーマ仕様の策定:DMTF Schema Documentation(CIM)を調査するが、名称の参考程度とする。

3. 次回予定調整

* 次回開催日時: 2009/11/17(火) 15:00~ (午後3時~)
場所: 調整中 (名古屋大学東山キャンパス内で)

------------------------------------------------------------------------------------------------------------------
添付ファイル
NGMS開発会議-第5回-20091028-議事録.ppt
(70 KiB) ダウンロード回数: 404 回
2.内部設計検討-DeviceTreeとのAPI案.png
2.内部設計検討-DeviceTreeとのAPI案.png (9.87 KiB) 表示回数: 6239 回
ngms課題一覧.xls
(36.5 KiB) ダウンロード回数: 409 回
石川雅彦
 
記事: 76
登録日時: 2009年8月15日(土) 15:52

Re: 2009年10月28日第5回開発会議

投稿記事by 石川雅彦 » 2009年11月02日(月) 17:35

会議で使用した、内部設計検討資料です。
添付ファイル
2.内部設計検討-scan.pl.txt
(2.82 KiB) ダウンロード回数: 398 回
2.内部設計検討-AutoConfig.scala.txt
(846 バイト) ダウンロード回数: 396 回
最後に編集したユーザー 石川雅彦 [ 2009年11月02日(月) 17:38 ], 累計 1 回
石川雅彦
 
記事: 76
登録日時: 2009年8月15日(土) 15:52

Re: 2009年10月28日第5回開発会議

投稿記事by 石川雅彦 » 2009年11月02日(月) 17:36

会議で使用した資料の PDF版です。
添付ファイル
NGMS開発会議-第5回-20091028-議事録.pdf
(127.13 KiB) ダウンロード回数: 414 回
ngms課題一覧.pdf
(160.37 KiB) ダウンロード回数: 405 回
石川雅彦
 
記事: 76
登録日時: 2009年8月15日(土) 15:52


Return to ミーティング記録

オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[1人]

cron