Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
NS
Uploaded by
NTT DATA OSS Professional Services
2,161 views
商用ミドルウェアのPuppet化で気を付けたい5つのこと
商用ミドルウェアのPuppet化で気を付けたい5つのこと ~ Oracle製品(Weblogic、Oracle Client)編 ~
Engineering
◦
Read more
1
Save
Share
Embed
Embed presentation
1
/ 26
2
/ 26
3
/ 26
4
/ 26
5
/ 26
6
/ 26
7
/ 26
8
/ 26
9
/ 26
10
/ 26
11
/ 26
12
/ 26
13
/ 26
14
/ 26
15
/ 26
16
/ 26
17
/ 26
18
/ 26
19
/ 26
20
/ 26
21
/ 26
22
/ 26
23
/ 26
24
/ 26
25
/ 26
26
/ 26
More Related Content
PPTX
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
by
NTT DATA OSS Professional Services
PDF
perfを使ったPostgreSQLの解析(前編)
by
Daichi Egawa
PDF
10大ニュースで振り返るPGCon2015
by
NTT DATA OSS Professional Services
PDF
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
by
NTT DATA OSS Professional Services
PDF
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
by
Brocade
PDF
PostgreSQLコミュニティに飛び込もう
by
NTT DATA OSS Professional Services
PDF
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
by
NTT DATA OSS Professional Services
PDF
PuppetConf2015参加レポート (第1回 Puppetユーザ会 発表資料)
by
NTT DATA OSS Professional Services
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
by
NTT DATA OSS Professional Services
perfを使ったPostgreSQLの解析(前編)
by
Daichi Egawa
10大ニュースで振り返るPGCon2015
by
NTT DATA OSS Professional Services
SIプロジェクトでのインフラ自動化の事例 (第1回 Puppetユーザ会 発表資料)
by
NTT DATA OSS Professional Services
ガチで聞く!ヤフーのOpenStackプライベート・クラウドの実態とは
by
Brocade
PostgreSQLコミュニティに飛び込もう
by
NTT DATA OSS Professional Services
Hadoopのメンテナンスリリースバージョンをリリースしてみた (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo...
by
NTT DATA OSS Professional Services
PuppetConf2015参加レポート (第1回 Puppetユーザ会 発表資料)
by
NTT DATA OSS Professional Services
What's hot
PDF
OpenStackによる、実践オンプレミスクラウド
by
Masanori Itoh
PPTX
OSSで作るOpenStack監視システム
by
satsuki fukazu
PDF
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
by
VirtualTech Japan Inc.
PDF
HP Helion 標準搭載!! OpenStack TripleO解説課題 – OpenStack最新情報セミナー 2015年2月
by
VirtualTech Japan Inc.
PDF
PostgreSQL9.3新機能紹介
by
NTT DATA OSS Professional Services
PDF
OpenStack入門 2016/06/10
by
株式会社 NTTテクノクロス
PDF
NTT DATA と PostgreSQL が挑んだ総力戦
by
NTT DATA OSS Professional Services
PDF
PostgreSQL 9.5 新機能紹介
by
NTT DATA OSS Professional Services
PDF
OpenStackもオンプレミスもまとめて一元監視 Hatohol+Zabbixでハイブリッドクラウド監視を実現 - OpenStack最新情報セミナー...
by
VirtualTech Japan Inc.
PPTX
OpenStack本番環境の作り方
by
VirtualTech Japan Inc.
PDF
OpenStack入門 2016/06/27
by
株式会社 NTTテクノクロス
PDF
PostreSQL監査
by
NTT DATA OSS Professional Services
PDF
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
by
VirtualTech Japan Inc.
PPTX
OpenStack Saharaを使ったデータ分析基板を作った話 - OpenStack最新情報セミナー(2016年7月)
by
VirtualTech Japan Inc.
PDF
日本HP様講演 OpenStack最新情報セミナー 2014年12月
by
VirtualTech Japan Inc.
PDF
pg_dbms_statsの紹介
by
NTT DATA OSS Professional Services
PDF
OpenStackとTerraformで作る Phoenix Environments
by
Toru Makabe
PDF
20170303 java9 hadoop
by
NTT DATA OSS Professional Services
PDF
Cndt2021 casareal
by
CASAREAL, Inc.
PDF
OpenStack & Container
by
Hiroki Ito
OpenStackによる、実践オンプレミスクラウド
by
Masanori Itoh
OSSで作るOpenStack監視システム
by
satsuki fukazu
使ってわかった!現場担当者が語るOpenStack運用管理の課題:OpenStack Days 2015 Tokyo 講演
by
VirtualTech Japan Inc.
HP Helion 標準搭載!! OpenStack TripleO解説課題 – OpenStack最新情報セミナー 2015年2月
by
VirtualTech Japan Inc.
PostgreSQL9.3新機能紹介
by
NTT DATA OSS Professional Services
OpenStack入門 2016/06/10
by
株式会社 NTTテクノクロス
NTT DATA と PostgreSQL が挑んだ総力戦
by
NTT DATA OSS Professional Services
PostgreSQL 9.5 新機能紹介
by
NTT DATA OSS Professional Services
OpenStackもオンプレミスもまとめて一元監視 Hatohol+Zabbixでハイブリッドクラウド監視を実現 - OpenStack最新情報セミナー...
by
VirtualTech Japan Inc.
OpenStack本番環境の作り方
by
VirtualTech Japan Inc.
OpenStack入門 2016/06/27
by
株式会社 NTTテクノクロス
PostreSQL監査
by
NTT DATA OSS Professional Services
StackStorm で実現する、複数システムに対する統一インターフェイス提供と運用一元化の取り組み - OpenStack最新情報セミナー(2017年3月)
by
VirtualTech Japan Inc.
OpenStack Saharaを使ったデータ分析基板を作った話 - OpenStack最新情報セミナー(2016年7月)
by
VirtualTech Japan Inc.
日本HP様講演 OpenStack最新情報セミナー 2014年12月
by
VirtualTech Japan Inc.
pg_dbms_statsの紹介
by
NTT DATA OSS Professional Services
OpenStackとTerraformで作る Phoenix Environments
by
Toru Makabe
20170303 java9 hadoop
by
NTT DATA OSS Professional Services
Cndt2021 casareal
by
CASAREAL, Inc.
OpenStack & Container
by
Hiroki Ito
Viewers also liked
PDF
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
by
NTT DATA OSS Professional Services
PDF
PostgreSQLレプリケーション徹底紹介
by
NTT DATA OSS Professional Services
PDF
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
PDF
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
by
NTT DATA OSS Professional Services
PDF
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
by
NTT DATA OSS Professional Services
PDF
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
by
NTT DATA OSS Professional Services
PDF
Puppet fundamentals
by
Murali Boyapati
PDF
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
by
NTT DATA OSS Professional Services
PPTX
ブロックチェーンの仕組みと動向(入門編)
by
NTT DATA OSS Professional Services
PDF
本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
by
NTT DATA OSS Professional Services
PDF
Application of postgre sql to large social infrastructure
by
NTT DATA OSS Professional Services
PPTX
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
by
NTT DATA OSS Professional Services
PPT
Puppets
by
JEENA AEJY
PPT
Puppet
by
csrocks
PDF
Apache Hadoop 2.8.0 の新機能 (抜粋)
by
NTT DATA OSS Professional Services
PDF
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
by
NTT DATA OSS Professional Services
PDF
PuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells Fargo
by
Puppet
PDF
Application of postgre sql to large social infrastructure jp
by
NTT DATA OSS Professional Services
PDF
B 7 a true agile team - global line news
by
LINE Corporation
Apache Spark超入門 (Hadoop / Spark Conference Japan 2016 講演資料)
by
NTT DATA OSS Professional Services
PostgreSQLレプリケーション徹底紹介
by
NTT DATA OSS Professional Services
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
by
NTT DATA OSS Professional Services
サポートメンバは見た! Hadoopバグワースト10 (adoop / Spark Conference Japan 2016 ライトニングトーク発表資料)
by
NTT DATA OSS Professional Services
HDFS新機能総まとめin 2015 (日本Hadoopユーザー会 ライトニングトーク@Cloudera World Tokyo 2015 講演資料)
by
NTT DATA OSS Professional Services
PostgreSQLでpg_bigmを使って日本語全文検索 (MySQLとPostgreSQLの日本語全文検索勉強会 発表資料)
by
NTT DATA OSS Professional Services
Puppet fundamentals
by
Murali Boyapati
データ活用をもっともっと円滑に!~データ処理・分析基盤編を少しだけ~
by
NTT DATA OSS Professional Services
ブロックチェーンの仕組みと動向(入門編)
by
NTT DATA OSS Professional Services
本当にあったHadoopの恐い話Blockはどこへきえた? (Hadoop / Spark Conference Japan 2016 ライトニングトー...
by
NTT DATA OSS Professional Services
Application of postgre sql to large social infrastructure
by
NTT DATA OSS Professional Services
今からはじめるPuppet 2016 ~ インフラエンジニアのたしなみ ~
by
NTT DATA OSS Professional Services
Puppets
by
JEENA AEJY
Puppet
by
csrocks
Apache Hadoop 2.8.0 の新機能 (抜粋)
by
NTT DATA OSS Professional Services
Hadoopエコシステムの最新動向とNTTデータの取り組み (OSC 2016 Tokyo/Spring 講演資料)
by
NTT DATA OSS Professional Services
PuppetConf 2016: Puppet Troubleshooting – Thomas Uphill, Wells Fargo
by
Puppet
Application of postgre sql to large social infrastructure jp
by
NTT DATA OSS Professional Services
B 7 a true agile team - global line news
by
LINE Corporation
More from NTT DATA OSS Professional Services
PDF
Spark SQL - The internal -
by
NTT DATA OSS Professional Services
PDF
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
by
NTT DATA OSS Professional Services
PDF
Apache Hadoopの未来 3系になって何が変わるのか?
by
NTT DATA OSS Professional Services
PDF
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
by
NTT DATA OSS Professional Services
PDF
Structured Streaming - The Internal -
by
NTT DATA OSS Professional Services
PDF
Apache Hadoopの新機能Ozoneの現状
by
NTT DATA OSS Professional Services
PDF
Global Top 5 を目指す NTT DATA の確かで意外な技術力
by
NTT DATA OSS Professional Services
PDF
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
by
NTT DATA OSS Professional Services
PDF
HDFS Router-based federation
by
NTT DATA OSS Professional Services
PDF
HDFS basics from API perspective
by
NTT DATA OSS Professional Services
PDF
Apache Hadoop and YARN, current development status
by
NTT DATA OSS Professional Services
PDF
Hadoopエコシステムのデータストア振り返り
by
NTT DATA OSS Professional Services
PDF
Distributed data stores in Hadoop ecosystem
by
NTT DATA OSS Professional Services
Spark SQL - The internal -
by
NTT DATA OSS Professional Services
PostgreSQL10を導入!大規模データ分析事例からみるDWHとしてのPostgreSQL活用のポイント
by
NTT DATA OSS Professional Services
Apache Hadoopの未来 3系になって何が変わるのか?
by
NTT DATA OSS Professional Services
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
by
NTT DATA OSS Professional Services
Structured Streaming - The Internal -
by
NTT DATA OSS Professional Services
Apache Hadoopの新機能Ozoneの現状
by
NTT DATA OSS Professional Services
Global Top 5 を目指す NTT DATA の確かで意外な技術力
by
NTT DATA OSS Professional Services
SIerとオープンソースの美味しい関係 ~コミュニティの力を活かして世界を目指そう~
by
NTT DATA OSS Professional Services
HDFS Router-based federation
by
NTT DATA OSS Professional Services
HDFS basics from API perspective
by
NTT DATA OSS Professional Services
Apache Hadoop and YARN, current development status
by
NTT DATA OSS Professional Services
Hadoopエコシステムのデータストア振り返り
by
NTT DATA OSS Professional Services
Distributed data stores in Hadoop ecosystem
by
NTT DATA OSS Professional Services
商用ミドルウェアのPuppet化で気を付けたい5つのこと
1.
Copyright © 2015
NTT DATA Corporation 第3回 Puppetユーザ会 発表資料 2016年4月20日 株式会社NTTデータ 黒岩 良太 井上 怜 商用ミドルウェアのPuppet化で気を付けたい5つのこと ~ Oracle製品(Weblogic、Oracle Client)編 ~
2.
2Copyright © 2015
NTT DATA Corporation アジェンダ 1. 今回の発表内容(なぜ商用ミドルウェアにPuppet?) 2. 商用製品のPuppet化で気を付けたい5つのこと 2-1. 商用ミドルウェアのPuppet化に向けて 商用ミドルウェアのインストール/設定についてPuppet化できるかチェック 2-2. WeblogicのPuppet化事例 2-3. Oracle ClientのPuppet化事例 3. Puppetモジュール化後のミドルウェア試験自動化例 ・事例1) Weblogicの設定ファイルのパラメータ確認試験をServerspecで ・事例2) Oracle Clientのコネクションタイムアウト試験を内製のテスト自動化ツールで 4. まとめ 黒岩 井上
3.
3Copyright © 2015
NTT DATA Corporation はじめに 自己紹介 名前: 黒岩 良太 所属: 株式会社NTTデータ 公共・社会基盤事業推進部 プロジェクト推進統括部技術戦略担当 経歴: ・2012年度入社 ・2012~2014 パブリッククラウドサービスの比較検討案件を担当 (Amazon Web ServicesとCloudnの比較を実施) ・2014~2016 大規模プロジェクトでインフラ構築・維持を担当 (構築・維持ツールとしてPuppetを活用)
4.
4Copyright © 2015
NTT DATA Corporation 1. 今回の発表内容(なぜ商用ミドルウェアにPuppet?) 商用ミドルウェアでもPuppet化する価値がある! たとえば、 ・多くのサーバに導入(インストール)する ・設定変更がたびたび発生する という商用ミドルウェアはPuppet化する価値あり 今回の発表では、 Oracle製品(Weblogic、Oracle Client)を 例として、 ・商用ミドルウェアのPuppet化のノウハウ ・Puppet適用後のミドルウェア試験の自動化 について発表します。 今回の発表対象 第1回Puppetユーザ会資料より抜粋(2015/10/28 NTTデータ 落合) +試験自動化
5.
5Copyright © 2015
NTT DATA Corporation 2. 商用ミドルウェアのPuppet化で気を付けたい5つのこと ①商用ミドルウェアのインストール方法に気をつけろ ②商用ミドルウェアの設定方法に気をつけろ ③インストール後に再度インストーラを叩かないように気をつけろ ④Puppetのコマンドタイムアウトに気をつけろ ⑤execリソースを複数使うときは気をつけろ
6.
6Copyright © 2015
NTT DATA Corporation 2-1. 商用ミドルウェアのPuppet化に向けて(インストール編) 商用ミドルウェアのインストールについて「Puppet化する/しない」の考え方を以下に示します。 項 番 分類 チェック項目 オープンソース ミドルウェア 商用ミドルウェア JBoss EAP Weblogic Oracle Client 特定業界向け 業務パッケージ 1 インストール 方式 rpmパッケージで インストール可能? × × × × 2 サイレント インストール可能? ○ (zipファイル解 凍) ○ (silent.xmlファイ ルを使用) ○ (レスポンスファ イルを使用) × 3 CUI対話形式? - ○ ○ ○ (手動インストー ルのみ) 4 GUI対話形式? - ○ ○ - 5 インストール するサーバ の数 手動でインストール可 能な数か? × (導入台数: 約200台) ○ (導入台数: 15台) × (導入台数: 約140台) ○ (導入台数: 5台) チェック結果 インストール方式および導入 台数を踏まえて・・・ ・Puppet化 or ・手動インストール Puppet化 (インストールモ ジュール作成) Puppet化 (インストールモ ジュール作成) Puppet化 (インストールモ ジュール作成) 手動 インストール 低 難 易 度 高 インストールの Puppet化可能
7.
7Copyright © 2015
NTT DATA Corporation 2-1. 商用ミドルウェアのPuppet化に向けて(設定編) 項 番 分類 チェック項目 オープンソース ミドルウェア 商用ミドルウェア JBoss EAP Weblogic Oracle Client 特定業界向け 業務パッケージ 1 設定の方 法 ファイル形式? (ファイルの置き換え で設定可能か?) ○ (standalone.xml で設定) × ○ (tnsnames.ora など) ○ (ファイルとコマン ドの両方を使用)2 コマンドで設定? ○ ○ (pythonファイル の実行が必要) - 3 CUI対話形式? ○ ○ - - 4 GUI対話形式? ○ ○ - - 5 設定する サーバ台数 手動で設定可能な数 か? × (導入台数: 約200台) ○ (導入台数: 15台) × (導入台数: 約140台) ○ (導入台数: 5台) チェック結果 設定方式および設定する台 数を踏まえて・・・ ・Puppet化 or ・手動設定 Puppet化 (設定モジュール 作成) Puppet化 (設定モジュール 作成) Puppet化 (設定モジュー ル作成) 手動設定 低 難 易 度 高 設定の Puppet化可能 商用ミドルウェアの設定について「Puppet化する/しない」の考え方を以下に示します。
8.
8Copyright © 2015
NTT DATA Corporation 2. 商用ミドルウェアのPuppet化で気を付けたい5つのこと ①商用ミドルウェアのインストール方法に気をつけろ ②商用ミドルウェアの設定方法に気をつけろ ③インストール後に再度インストーラを叩かないように気をつけろ ④Puppetのコマンドタイムアウトに気をつけろ ⑤execリソースを複数使うときは気をつけろ
9.
9Copyright © 2015
NTT DATA Corporation 2-2. WeblogicのPuppet化事例 Weblogicのインストールの流れ(インストール手順) 作業概要 コマンド 1 Weblogicインストールディレクトリの オーナ権限を変更 chown weblogic:weblogic /opt/weblogic 2 weblogicユーザにユーザをスイッチ su – weblogic 3 環境変数を設定 vi ~/.profile umask 022 export JAVA_HOME=/usr/java/jdk1.7.0_40 export PATH=$JAVA_HOME/bin:$PATH:/sbin export LC_ALL=en_US.UTF-8 export USER_HOME=/home/weblogic export DOMAIN_HOME=/var/opt/weblogic/domains/MDM export MW_HOME=/opt/webloigc 4 設定した環境変数の読み込み . ~/.profile 5 wls1036_generic.jar および silent.xml のファイルが 「/home/weblogic/staging」にあ るか確認 ls /home/weblogic/staging 6 Silentモードでインストールを開始 cd ~/staging java -jar wls1036_generic.jar -mode=silent -silent_xml=silent.xml 7 rootユーザにユーザをスィッチ su - root 8 ドメインのロケーションを作成 mkdir /var/opt/weblogic/domains 9 作成したドメインロケーションの オーナー権限を変更 chown weblogic:weblogic /var/opt/weblogic/domains 10 weblogicユーザにユーザをスィッ チ su - weblogic 11 WLSTを起動するための環境変数 を設定 . ./opt/weblogic/wlserver_10.3/server/bin/setWLSEnv.sh 12 ドメイン作成スクリプトの実行 Exiting...と表示されると完了 java weblogic.WLST /opt/weblogic/wlserver_10.3/wlsDomainCreationAndConfiguration.py ②インストール実行 大まかな流れ ①インストール前作業 ディレクトリ作成、ユーザスイッチ インストール資材配布 (jar、xmlファイル) ④ドメイン作成 ③ドメイン作成前の準備 ディレクトリ作成、ユーザスイッチ 環境変数の設定
10.
10Copyright © 2015
NTT DATA Corporation 2-2. WeblogicのPuppet化事例 class weblogic::install ( $weblogic_archive_name = 'wls1036_generic.jar', $weblogic_archive_src = 'modules/weblogic/wls1036_generic.jar', ){ file { '/opt/weblogic': ensure => directory, owner => 'weblogic', group => 'weblogic', mode => '0750', } file { '/home/weblogic/.profile': ensure => present, owner => 'weblogic', group => 'weblogic', mode => '0664', content => template("weblogic/dot_profile.erb"), } file { '/home/weblogic/staging/silent.xml': ensure => present, owner => root, group => root, mode => '0644', content => template("weblogic/silent.xml.erb"), require => File [ "/home/weblogic/staging/" ] , } ・・・ } ①インストール前作業 ・ディレクトリを作成 ・.profile配布 ・jar/xmlファイル配布 modules/weblogic/manifests/install.ppインストール手順からPuppetモジュール 化すると... ②~④は次のスライド 以降で説明 ②インストール実行 ①インストール前作業 ディレクトリ作成、ユーザスイッチ インストール資材配布 (jar、xmlファイル) ④ドメイン作成 ③ドメイン作成前の準備 ディレクトリ作成、ユーザスイッチ 環境変数の設定
11.
11Copyright © 2015
NTT DATA Corporation class weblogic::install ( $weblogic_archive_name = 'wls1036_generic.jar', $weblogic_archive_src = 'modules/weblogic/wls1036_generic.jar', ){ ・・・ file { '/home/weblogic/staging/weblogic_version': ensure => present, owner => weblogic, group => weblogic, mode => '0644', content => template("weblogic/weblogic_version.erb"), require => File [ "/home/weblogic/staging/" ] , } exec { 'weblogic_install': command => "/usr/bin/java -jar wls1036_generic.jar -mode=silent - silent_xml=silent.xml; sleep 60;", user => 'weblogic', cwd => '/home/weblogic/staging', refreshonly => true, subscribe => File ['/home/weblogic/staging/weblogic_version'], require => File [ ['/home/weblogic/staging/wls1036_generic.jar', '/home/weblogic/staging/silent.xml'] ], } } 2-2. WeblogicのPuppet化事例 インストール手順からPuppetモジュール 化すると... modules/weblogic/manifests/install.pp ②インストール実行 ①インストール前作業 ディレクトリ作成、ユーザスイッチ インストール資材配布 (jar、xmlファイル) ④ドメイン作成 ③ドメイン作成前の準備 ディレクトリ作成、ユーザスイッチ 環境変数の設定 【ポイント】 すでにweblogicがインストールさ れている場合、再度インストーラ が起動しないようにexecリソー スのrefreshonly属性を使用 refreshonly属性とは・・・ ファイルが変更されたら指定したコマ ンドを実行する属性 対象ファイルはsubscribe属性で指定 11gR1(10.3.6.0.6) weblogic_version.erb ファイルの有無で インストールされている・ いないを判定する
12.
12Copyright © 2015
NTT DATA Corporation 2-2. WeblogicのPuppet化事例 class weblogic::create_domain ( $admin_url, $jdbc_url, $cmo, $env, ){ ・・・ exec { "java weblogic.WLST /opt/weblogic/wlserver_10.3/wlsDomainCreationAndConfiguration.py": command => "/bin/ksh -c 'source /opt/weblogic/wlserver_10.3/server/bin/setWLSEnv.sh; /usr/bin/java weblogic.WLST /opt/weblogic/wlserver_10.3/wlsDomainCreationAndConfiguration.py'", user => 'weblogic', cwd => '/opt/weblogic/wlserver_10.3/', timeout => 0, logoutput => on_failure, refreshonly => true, subscribe => File ['/home/weblogic/staging/weblogic_version'], require => [ Exec ["weblogic_patch_apply"], File ["/opt/weblogic/wlserver_10.3/wlsDomainCreationAndConfiguration.py"], ] } 【ポイント】 execリソースのrefreshonly 属性を使用(インストールと同様、 ドメイン作成後、再実行されない ように定義) modules/weblogic/manifests/create_domain.pp ③ドメイン作成前の準備 ディレクトリ作成、環境変数の設定 ②インストール実行 ①インストール前作業 ディレクトリ作成、ユーザスイッチ インストール資材配布 (jar、xmlファイル) ④ドメイン作成 ③ドメイン作成前の準備 ディレクトリ作成、ユーザスイッチ 環境変数の設定 インストール手順からPuppetモジュール 化すると... 【ポイント】 ドメイン作成に時間がかかって、 コマンドタイムアウトが発生してしま うことがあったため、execリソースの timeout属性で“0”を指定 (タイムアウトを無効化) timeout属性とは・・・ コマンド実行で待つ時間。この時間を過 ぎるとコマンド実行が失敗したと見なされ る。デフォルトは300秒。
13.
13Copyright © 2015
NTT DATA Corporation 2-3. Oracle ClientのPuppet化事例 Oracle Clientインストールの流れ(インストール手順) 項 番 作業概要 コマンド 1 インストール先フォルダを作成 mkdir /opt/oracle 2 作成したインストール先フォルダのオーナー権 限を変更 chown oracle:oinstall /opt/oracle 3 oracleユーザにユーザをスィッチ su - oracle 4 以下のunzipコマンドを実行して、インストール ファイルを解凍 cd /home/oracle/staging unzip p13390677_112040_Linux-x86-64_4of7.zip 5 以下のコマンドを実行して、言語設定を実施 export LC_ALL=en_US.UTF-8 6 Silentモードでインストール実行 ./runInstaller -silent -responseFile /home/oracle/staging/client_install.rsp 7 rootユーザにユーザをスィッチ su - root 8 /etc/oratabを作成 また、環境変更スクリプトを作成 sh /opt/oracle/product/11.2.0/client_2/root.sh 9 /etc/oraInst.locを作成 sh /opt/oracle/orainstRoot.sh 10 /opt/oracle/配下の権限を変更する chmod -R 755 /opt/oracle/ 11 mdmsapユーザへスイッチ su – mdmsap 12 環境変数の設定 vi ~/.profile . ~/.profile 13 oracleユーザにユーザをスィッチ su – oracle 14 tnsnames.oraを作成&配布 vi /opt/oracle/product/11.2.0/client_2/network/admin/tn snames.ora ①インストール前準備 ディレクトリ作成、ユーザスイッチ インストール資材配布、環境変数の設定 ②インストール実行 大まかな流れ ③インストール後の セットアップ /etc/oratabの作成 /etc/oraInst.locの作成 環境変数の設定 tnsnames.oraの設定
14.
14Copyright © 2015
NTT DATA Corporation 2-3. Oracle ClientのPuppet化事例 class oracle::install_client ( $oracle_client_archive_name = 'p13390677_112040_Linux-x86-64_4of7.zip', $oracle_client_archive_src = 'modules/oracle/p13390677_112040_Linux-x86-64_4of7.zip', $oracle_client_files = 'modules/oracle', ){ ・・・ file { '/var/tmp/oracle/oracle_client_version': ensure => present, owner => oracle, group => oinstall, mode => '0644', content => template("oracle/oracle_client_version"), require => File ["/var/tmp/oracle"], } file { '/home/oracle/staging/install_oracle_client.sh': ensure => present, owner => root, group => root, mode => '0755', content => template("oracle/install_oracle_client.sh"), require => File ['/opt/oracle/','/home/oracle/staging'], } exec { '/bin/bash /home/oracle/staging/install_oracle_client.sh': command => "/bin/bash /home/oracle/staging/install_oracle_client.sh", user => 'root', cwd => '/home/oracle/staging/', refreshonly => true, subscribe => File ['/var/tmp/oracle/oracle_client_version'], require => [ File ["/home/oracle/staging/${oracle_client_archive_name}"], File ['/home/oracle/staging/client_install.rsp'], File ['/home/oracle/staging/install_oracle_client.sh'], ] } } ①インストール前準備 ディレクトリ作成、ユーザスイッチ インストール資材配布、環境変数の設定 ②インストール実行 ③インストール後の セットアップ ・/etc/oratabの作成 ・/etc/oraInst.locの作成 ・環境変数の設定 【ポイント】 execリソースのrefreshonly属性を 使用(Weblogicインストールと同様、再 実行されないように定義) 【ポイント】 複数のexecリソースで定義する と・・・怒涛のrequire地獄に! それを回避するために、1つの execリソースでインストール~イ ンストール後のセットアップまで を実施。 インストール~インストール後の セットアップを実施するシェルを 作成し、execからはそれを実行 する定義に。 #!/bin/bash ・・・ sh /opt/oracle/ … /root.sh sh /opt/oracle/orainstRoot.sh ・・・ modules/oracle/manifests/install_client.pp
15.
15Copyright © 2015
NTT DATA Corporation 2-3. Oracle ClientのPuppet化事例 class oracle::install_client ( $oracle_client_archive_name = 'p13390677_112040_Linux-x86-64_4of7.zip', $oracle_client_archive_src = 'modules/oracle/p13390677_112040_Linux-x86-64_4of7.zip', $oracle_client_files = 'modules/oracle', ){ ・・・ file { '/var/tmp/oracle/oracle_client_version': ensure => present, owner => oracle, group => oinstall, mode => '0644', content => template("oracle/oracle_client_version"), require => File ["/var/tmp/oracle"], } file { '/home/oracle/staging/install_oracle_client.sh': ensure => present, owner => root, group => root, mode => '0755', content => template("oracle/install_oracle_client.sh"), require => File ['/opt/oracle/','/home/oracle/staging'], } exec { '/bin/bash /home/oracle/staging/install_oracle_client.sh': command => "/bin/bash /home/oracle/staging/install_oracle_client.sh", user => 'root', cwd => '/home/oracle/staging/', refreshonly => true, subscribe => File ['/var/tmp/oracle/oracle_client_version'], require => [ File ["/home/oracle/staging/${oracle_client_archive_name}"], File ['/home/oracle/staging/client_install.rsp'], File ['/home/oracle/staging/install_oracle_client.sh'], ] } } ①インストール前準備 ディレクトリ作成、ユーザスイッチ インストール資材配布、環境変数の設定 ②インストール実行 ③インストール後の セットアップ ・/etc/oratabの作成 ・/etc/oraInst.locの作成 ・環境変数の設定 【ポイント】 execリソースのrefreshonly属性を 使用(Weblogicインストールと同様、再 実行されないように定義) 【ポイント】 複数のexecリソースで定義する と・・・怒涛のrequire地獄に! それを回避するために、1つの execリソースでインストール~イ ンストール後のセットアップまで を実施。 インストール~インストール後の セットアップを実施するシェルを 作成し、execからはそれを実行 する定義に。 #!/bin/bash ・・・ sh /opt/oracle/ … /root.sh sh /opt/oracle/orainstRoot.sh ・・・ modules/oracle/manifests/install_client.pp 例、 「コマンドAを実行した後に、Bを実行して、 AとBが共に完了したらCを実行する」 という定義を書くと・・・ exec {‘Exec_A': command => “コマンドA", } exec {‘Exec_B': command => “コマンドB", require => Exec [“Exec_A"], } exec {‘Exec_C': command => “コマンドC", require => [ Exec [“Exec_A”], Exec [‘Exec_B’] ], } これを1つのシェルにまとめて1つのexecリソースで実行 exec {‘Exec_ABC': command => “ABC.sh", } #!/bin/sh コマンドA; コマンドB; コマンドC; ABC.sh
16.
16Copyright © 2015
NTT DATA Corporation 2. 商用ミドルウェアのPuppet化で気を付けたい5つのこと •商用ミドルウェアがサイレントインストール可能か確認すべし ①商用ミドルウェアのインストール方法に気をつけろ •CUI/GUI対話形式でないことを確認すべし ②商用ミドルウェアの設定方法に気をつけろ •execリソースのrefreshonlyで再実行時のPuppetの挙動を設定すべし。 ③インストール後に再度インストーラを叩かないように気をつけろ •Puppetのコマンドタイムアウトはデフォルト300秒。状況に応じて無効化すべし。 ④Puppetのコマンドタイムアウトに気をつけろ •怒涛のrequire地獄を避けるために、1つのexecリソースにまとめて定義すべし。 ⑤execリソースを複数使うときは気をつけろ
17.
17Copyright © 2015
NTT DATA Corporation アジェンダ 1. 今回の発表内容(なぜ商用ミドルウェアにPuppet?) 2. 商用製品のPuppet化で気を付けたい5つのこと 2-1. 商用ミドルウェアのPuppet化に向けて 商用ミドルウェアのインストール/設定についてPuppet化できるかチェック 2-2. WeblogicのPuppet化事例 2-3. Oracle ClientのPuppet化事例 3. Puppetモジュール化後のミドルウェア試験自動化例 ・事例1) Weblogicの設定ファイルのパラメータ確認試験をServerspecで ・事例2) Oracle Clientのコネクションタイムアウト試験を内製のテスト自動化ツールで 4. まとめ 黒岩 井上
18.
18Copyright © 2015
NTT DATA Corporation はじめに 自己紹介 名前: 井上 怜 (いのうえ れい) 所属: 株式会社NTTデータ 公共・社会基盤事業推進部 プロジェクト推進統括部技術戦略担当 経歴: ・2014年度入社 ・2014~2016 大規模プロジェクトでインフラ構築・維持を担当
19.
19Copyright © 2015
NTT DATA Corporation 3. Puppetモジュール化後のミドルウェア試験自動化例 Puppetを用いた構築自動化だけでなく、 そのあとに続くシステム基盤試験の自動化を行った 詳細設計 例)可用性設計 処理方式設計 など パラメータ設計 例)ミドルウェアの各設定値の決定 ディレクトリ一覧・ユーザ一覧作成 など 構築(インストール・設定) 設計に従ってサーバやOSの設定、および ミドルウェアのインストールを実施 システム基盤試験(単体試験) 例)ディレクトリ、ユーザが作成されていることの検証 パラメータが正しく設定されていることの検証 必要なRPMがあること など システム基盤試験(連携試験) 例)フェイルオーバ/フェイルバックすることの確認 ロードバランサの振り分けに問題ないことの確認 最大コネクション数に達したときの挙動確認 試験する 試験する Puppetで自動化 Serverspecで自動化 (事例1で紹介) 一部を内製ツールで自動化 (事例2で紹介)
20.
20Copyright © 2015
NTT DATA Corporation 確認内容 /var/opt/weblogic/domains/xxx/config/config.xml インストール後の WebLogic設定確認 - 省略- <name>ADMIN</name> <log> <rotation-type>byTime</rotation-type> <number-of-files-limited>true</number- of-files-limited> </log> <machine>machine1</machine> - 省略- Serverspecを用いたWebLogicインストール後の単体試験(パラメータ確認) 3. Puppetモジュール化後のミドルウェア試験自動化例 事例1)Weblogicの設定ファイルのパラメータ確認試験をServerspecで ③試験項目から ③-1 試験手順書を作成する ③-2 試験用ファイルを作成する ④試験の実施 ①試験観点を整理する ②設計書から試験項目を作成する システム基盤試験の大まかな流れ 試験項目(ケース:設定ファイルの文字列を確認しミドルウェアの状態を試験で確認) テスト用ファイル(設定ファイル内の文字列確認テストの抜粋) 試験項目を元にテストコードを作成する この例では赤字部分が試験での確認項目となっている describe file('/var/opt/weblogic/domains/xxx/config/config.xml') do its(:content) { should match /<name>ADMIN<¥/name>/ } its(:content) { should match /<rotation-type>byTime<¥/rotation- type>/ } its(:content) { should match /<number-of-files- limited>true<¥/number-of-files-limited>/ } its(:content) { should match /<machine>machine1<¥/machine>/ } ・・・ end ※match部分はxpathなど用いたほうがスマートです。。
21.
21Copyright © 2015
NTT DATA Corporation Serverspecを用いたWebLogicインストール後の単体試験(パラメータ確認) [root@<試験実行サーバ名> spec]# ASK_SSH_PASSWORD=1 bundle exec rake spec ~省略~ File “/var/opt/weblogic/domains/<ドメイン名>/config/config.xml" content root@<試験対象サーバ名>'s password: should match /<name>ADMIN<¥/name>/ content should match /<rotation-type>byTime<¥/rotation-type>/ content should match /<number-of-files-limited>true<¥/number-of- files-limited>/ content should match /<machine>machine1<¥/machine>/ ~省略~ Finished in 14.31 seconds (files took 0.26224 seconds to load) 95 examples, 0 failures テスト結果(ターミナルの標準出力を抜粋) 3. Puppetモジュール化後のミドルウェア試験自動化例 事例1)Weblogicの設定ファイルのパラメータ確認試験をServerspecで ③試験項目から ③-1 試験手順書を作成する ③-2 試験用ファイルを作成する ④試験の実施 ①試験観点を整理する ②設計書から試験項目を作成する システム基盤試験の大まかな流れ
22.
22Copyright © 2015
NTT DATA Corporation Oracle Clientの連携試験(タイムアウト確認) クライアントサーバとデータベースサーバ間の接続が切れた際に、コネクションが無限待ちせず タイムアウトすることを確認する。手動実行では2つのターミナルを操作する試験項目である。 3. Puppetモジュール化後のミドルウェア試験自動化例 事例2) Oracle Clientのコネクションタイムアウト試験を内製のテスト自動化ツールで 確認手順 確認項目(結果) ①下記コマンドを実行し対象DBインスタンスに接続できること date;sqlplus <ユーザ名>/<パスワード>@<ネットサービス名 > ②下記コマンドを実行し,DBサーバからの通信を抑止する iptables -I INPUT -s <IPアドレス> -j DROP ③通信が抑止されていることを確認する ping <IPアドレス> ④SQLプロンプトで下記を実行し、出力を待つ select systimestamp from dual; ④標準出力に以下の通りエラーが出力 されること 【標準出力】 ORA-12170: TNS: 接続タイムアウ トが発生しました。 ⑤通信抑止を解除する iptables -D INPUT -s <IPアドレスA> -j DROP ⑥通信が抑止解除されていることを確認する ping <IPアドレス> Terminal-1 ③試験項目から ③-1 試験手順書を作成する ③-2 試験用ファイルを作成する ④試験の実施 ①試験観点を整理する ②設計書から試験項目を作成する システム基盤試験の大まかな流れ 【tnsname.oraの記載例】 <ネットサービス名>=(DESCRIPTION=(CONNECT_TIMEOUT=10)(ENABLE=BROKEN・・・) ↑タイムアウト値が有効であることを確認している Terminal-1 Terminal-2 Terminal-2 試験項目
23.
23Copyright © 2015
NTT DATA Corporation 試験項目表(Excel)から内製ツールで試験を自動実行する 3. Puppetモジュール化後のミドルウェア試験自動化例 事例2) Oracle Clientのコネクションタイムアウト試験を内製のテスト自動化ツールで 試験手順 識別ID 実行操作 結果 実施日 時 DBサーバ1号機からのパケット抑止 - DBサーバ1号機からの通信を抑 止する Term-1 iptables -I INPUT -s %HOST_1 -j DROP - pingを打つ Term-1 %RESULT=ping -c 3 %HOST_1 - 通信が抑止されていることを確認 する check-str %RESULT notcontain icmp_seq DBサーバへの接続 - 業務ユーザへのスイッチする Term-2 su - <業務ユーザ名> - Enter user-name:>が表示さ れたら入力する Term-2 addWaitSend "Enter user-name:" %USER_NAME - Enter password:>が表示され たら入力する Term-2 addWaitSend "Enter password:" %PASS - sqlplusを実行し、DBサーバへ接 続する Term-2 %RESULT=sqlplus %USER_NAME/%PASS@%SCHEMA - コネクション確立状態をみる Term-2 check-str %RESULT contain ORA- 12170 - 業務ユーザからexitする Term-2 exit DBサーバ1号機からのパケット抑止の 解除 - DBサーバ1号機からの通信抑止 を解除する Term-1 iptables -D INPUT -s %HOST_1 -j DROP - pingを打つ Term-1 %RESULT=ping -c 2 %HOST_1 - 通信が抑止されていることを確認 する check-str %RESULT contain icmp_seq ~以下省略~ テスト用ファイル(Excel) ③試験項目から ③-1 試験手順書を作成する ③-2 試験用ファイルを作成する ④試験の実施 ①試験観点を整理する ②設計書から試験項目を作成する システム基盤試験の大まかな流れ
24.
24Copyright © 2015
NTT DATA Corporation 試験項目表(Excel)から内製ツールで試験を自動実行する 3. Puppetモジュール化後のミドルウェア試験自動化例 事例2) Oracle Clientのコネクションタイムアウト試験を内製のテスト自動化ツールで 試験手順 識別ID 実行操作 結果 実施日 時 DBサーバ1号機からのパケット抑止 - DBサーバ1号機からの通信を抑 止する Term-1 iptables -I INPUT -s %HOST_1 -j DROP OK 2015/ 7/11… - pingを打つ Term-1 %RESULT=ping -c 3 %HOST_1 OK 2015/ - 通信が抑止されていることを確認 する check-str %RESULT notcontain icmp_seq OK 2015/ 7/11… DBサーバへの接続 - 業務ユーザへのスイッチする Term-2 su - <業務ユーザ名> OK 2015/ - Enter user-name:>が表示さ れたら入力する Term-2 addWaitSend "Enter user-name:" %USER_NAME OK 2015/ 7/11… - Enter password:>が表示され たら入力する Term-2 addWaitSend "Enter password:" %PASS OK 2015/ 7/11… - sqlplusを実行し、DBサーバへ接 続する Term-2 %RESULT=sqlplus %USER_NAME/%PASS@%SCHEMA OK 2015/ 7/11… - コネクション確立状態をみる Term-2 check-str %RESULT contain ORA- 12170 OK 2015/ 7/11… - 業務ユーザからexitする Term-2 exit OK 2015/ DBサーバ1号機からのパケット抑止の 解除 - DBサーバ1号機からの通信抑止 を解除する Term-1 iptables -D INPUT -s %HOST_1 -j DROP OK 2015/ 7/11… - pingを打つ Term-1 %RESULT=ping -c 2 %HOST_1 OK 2015/ - 通信が抑止されていることを確認 する check-str %RESULT contain icmp_seq OK 2015/ 7/11… ~以下省略~ OK テスト結果 「実行操作」がエラーなく実施できたので「OK」 となり、エラーがあれば「NG」となる ③試験項目から ③-1 試験手順書を作成する ③-2 試験用ファイルを作成する ④試験の実施 ①試験観点を整理する ②設計書から試験項目を作成する システム基盤試験の大まかな流れ 「実行操作」のコマンドを順次実行する
25.
25Copyright © 2015
NTT DATA Corporation 4. まとめ ①商用ミドルウェアのインストール方法に気をつけろ ②商用ミドルウェアの設定方法に気をつけろ ③インストール後に再度インストーラを叩かないように気をつけろ ④Puppetのコマンドタイムアウトに気をつけろ ⑤execリソースを複数使うときは気をつけろ <試験自動化まとめ> ミドルウェア試験自動化の事例を紹介 事例1) ServerspecによるWebLogicの単体試験(パラメータ確認) 事例2) 内製のツールによるOracle Clientの連携試験(タイムアウト確認) 商用ミドルウェアのPuppet化で気を付けたい5つのこと
26.
Copyright © 2011
NTT DATA Corporation Copyright © 2015 NTT DATA Corporation
Editor's Notes
#3
【落合さんコメント】 固有名詞、中身のキーポイントを書いて、目次だけで期待を持てる内容にしてほしい テストツールとして、QMscriptのことも書いておいてください。 「インフラ連携試験 内製のテスト自動化ツール(Excel試験手順書から自動実行)を活用」というような感じでしょうか。 【修正内容】 ・タイトルを修正 ・アジェンダをタイトルに沿った内容に変更
#18
【落合さんコメント】 固有名詞、中身のキーポイントを書いて、目次だけで期待を持てる内容にしてほしい テストツールとして、QMscriptのことも書いておいてください。 「インフラ連携試験 内製のテスト自動化ツール(Excel試験手順書から自動実行)を活用」というような感じでしょうか。 【修正内容】 ・タイトルを修正 ・アジェンダをタイトルに沿った内容に変更
#20
詳細設計、パラメータ設計のいい説明が思い浮かばない
#21
「matchのところが本当にこれで良いのか微妙です。 XMLの構造を追ってマッチングする(たとえばxpathなど)なら正確ですが」 についてどう修正すればいいのかわからないので4/12レビュー時に落合さんに伺う 9ptについてもこの修正後対応する
#22
「matchのところが本当にこれで良いのか微妙です。 XMLの構造を追ってマッチングする(たとえばxpathなど)なら正確ですが」 についてどう修正すればいいのかわからないので4/12レビュー時に落合さんに伺う 9ptについてもこの修正後対応する