読者です 読者をやめる 読者になる 読者になる

はじめてのAnsibleのモジュール開発

はじめに Ansibleのモジュールは、ansibleコマンドやansible-playbookコマンドから利用されるスクリプトです。 モジュールは、引数を受け取り、何らかの処理を実行した後に、標準出力にJSON形式で実行結果を出力します。 +---------+ +----------------+ | a…

OpenStackとAnsible Towerでメリークリスマス

OpenStackとAnsible Towerでメリークリスマス みなさんメリークリスマス。 この記事は、OpenStack Advent Calendar 2016の25日目の記事です。 OpenStack Advent Calendar 2016 最終日の今日は、OpenStack管理下にインスタンスを作成する際に、Ansible Tower…

cryptographyをpipインストールする際の fatal error: 'openssl/opensslv.h' file not found 対策メモ

OSX環境(10.11.6 Beta(15G12a))で、cryptographyをpipでインストールしようとした際に遭遇したエラーに対する対策メモ。 いまおもえばpastebinにでも貼っておいたほうがよかった。 問題 brewでインストールしたOpenSSLのヘッダファイル(opensslv.h)を見つけ…

きょうのdevstack用local.conf - 2016.5.13時点でのmaster向け

Environment VMware FusionのGuestOSにUbuntu16.04をインストールし、その上にdevstackでOpenStack開発環境を構築する。 GuestOS: ubuntu 16.04lts VMware Fusion 8.1.1 SPEC: vCPU x 2 / MEM 8GB / HDD 100GB / Network VMNET12,13 注意)GuestOSのメモリは…

OpenStackとAnsibleと私

OpenStack Advent Calendar 2015とAnsible Advent Calendar 2015の12月25日の記事です。 沖縄でハンズオンをやってきました 12/14-18で開催されたOkinawa Open Days 2015で、OpenStackとAnsibleとDockerを組み合わせたハンズオンセミナーをやってきました。 …

OpenStack管理下にあるVMのNIC間でip_forwardを行う

構成 以下のような構成を想定して、vm0のeth1とeth2の間でルータのようにIPフォワードをさせたい場合に必要となる設定メモ。 ちょっと事情があってserverXのDefaultGatewayを10.0.1.1にserverYのDefaultGatewayを10.0.2.1に向けて、相互に通信させたかったの…

Ansibleの Developing Modules を和訳してみた

ちょっと訳があって、Ansibleのモジュール開発方法を解説している Developing Modules を和訳してみた。だいたいあってると思うんだけど、意図を計りかねるところもあったので、想像しながら意訳してみた。それほど外れてないと思う。 Developing Modules An…

Vagrantで作成した仮想マシンのディスクを後から拡張する方法メモ - CentOS7編

参考にした手順 こちら https://gist.github.com/christopher-hopper/9755310 に記載されている手順が参考になった。ただし、今回利用したCentOS7のvagrant boxのイメージでは、ファイルシステムがCentOS7のデフォルトであるxfsとなっているため、最後のファ…

devstackを利用したOpenStackの構築 - CentOS7版

CentOS 7にdevstackでOpenStackをインストールしてみたので、手順をメモしておく。 構成 VMware Fusionの上に以下のスペックの仮想マシンを作成する。 VMware Fusion Professional 7.1.1 (2498930) cpu: 1 mem: 4096MB hdd: 30GB nic0: vmnet10,192.168.100.…

JenkinsとGerritの連携させてCIっぽい仕組みを作る

CI環境 OpenStackのようなCI/CD環境を自前で作りたいと思っていろいろ調べてみたので備忘録として残しておく。使うプロダクトはGerritとJenkinsと、そのバックエンドのMariaDBの3つ。GerritとJenkinsは、ともにJavaVMの上で稼働させる。 Gerrit - ソースコ…

クリスマスの夜はOpenStackをPythonワンライナーでキメる(第1夜)

みなさんめりーくりすます! この記事は、OpenStack Advent Calendar 2014の12/25の記事です。 日本OpenStackユーザ会のAdvent Calendarでは、第1回からクリスマス(またはイヴ)の夜はOpenStackをワンライナーで操作するという伝統芸をお送りしています。 2014…

OpenStack & Ansible Advent Calendar 2014 12-24

OpenStack & Ansible Advent Calendar 2014 12-24 これは、OpenStack (2枚目) Advent Calendar 2014 と Ansible Advent Calendar 2014 の24日目(クリスマスイヴ!!)の記事です。 OpenStackとAnsibleの、12/24という割と重要な日を同時に担当してしまったので…

Eucalyptus Advent Calendar 2014 12-20(昼の部+夜の部)

Eucalyptus Advent Calendar 2014(昼の部) 普段は赤いStackに属している、しがないPythonistaの僕ですが、なぜか異様に盛り上がっているEucalyptus Advent Calendar 2014の12/20を担当することになりました。 いま、土曜日のオフィスでこの記事を書いていま…

ANSIBLE_KEEP_REMOTE_FILESをTrueにしてみよう!

Ansible Meetup in Tokyo 2014.09 (2014/09/22 19:00〜) Ansible Meetup in Tokyo 2014.09 - connpassのLT用にANSIBLE_KEEP_REMOTE_FILESをTrueにする話を書いた。 http://www.slideshare.net/h-saito/ansible-meetup-in-tokyo-201409

Cinderで管理しているVolumeが削除できない(RDO版 python-cinder-2014.1-2.el7.noarch)

ボリュームが消せない... cinderコマンドやhorizonからボリュームを削除しようとするとerror_deletingのまま削除できない現象に当たったので調べてみた。 エラーメッセージ(/var/log/cinder/volume.log) cinderのボリュームノードでは以下のログが出力されて…

超訳: Heat Orchestration Template (HOT) Guide

Heatがさっぱりわからなかったので、ひとまずテンプレートガイドを読んでみたついでに和訳してみました(オリジナルはこちら)。 Heat Orchestration Template (HOT) Guide 原文 HOT is a new template format meant to replace the Heat CloudFormation-compa…

OpenStack Dashboard(Horizon)で操作可能な機能を図にしてみた

Horizonで操作できる機能 単純にHorizonの機能を図にしてみたらこうなった(Icehouse版)。 ユーザビリティ確保のために重複している機能はあるけれど、全体的な機能提供ポリシーのようなものは、この図からも伺えます。あるレベルまでは、それぞれのカテゴリ…

pudbを利用したPythonスクリプトのデバッグ

pudbについて Pythonのデバッガといえば、謹製のpdbが第一候補にあげられます。 〜 pdbの機能 本家サイト(http://docs.python.jp/2/library/pdb.html) から引用 〜 「 (条件付き)ブレークポイントの設定やソース行レベルでのシングルステップ実行、スタック…

Neutron Network Nodeの外側NICではgroをoffにする

仮想マシンインスタンスと外部の通信(ftp受信)でスループットが低い 通信経路 instance-A ---> hypervisor ---> network node ---> router -(internet)-> ftp.iij.ad.jp スループットがやたらと低い テストで仮想マシンインスタンス(instance-A)からftp.iij.…

ubuntu12.04にpipでlxmlをインストールする

わすれないようにメモ。 普通にpipでインストールを試みると... xmlversion.hが無いと叱られる... ちなみにdevelというvirtualenv環境で実施しています。 (devel)$ pip install lxml <中略> error: libxml/xmlversion.h: No such file or directory compilat…

RDO & packstac でIcehouse2を試す

社内セミナー用にHavanaのときに書いたQuickStartのスライドをIcehouseベータ版にあわせて更新してみた。 http://www.slideshare.net/h-saito/openstack-quickstart-icehouse 一応ちゃんと動いてる。Ceilometerが使うmongodbのあたりがうまく動作しないので…

TSC(Time Stamp Counter)の取得と設定 - 備忘録

TSC(Time Stamp Counter)の取得と設定 - 備忘録 仕事でちょっと調べることになったのでメモしておく。 モデル固有レジスタ(MSR) IA-32 インテル® アーキテクチャ ソフトウェア・デベロッパーズ・ マニュアル 下巻:システム・プログラミング・…

OpenStack ~ Quick Start ~を最新(2013/12/29現在)のopenstack-packstackに対応させる

RDO & Packstackで本当にQuickStartする このBlogは日本OpenStackユーザ会が主催しているAdvent Calendar 2013の12/29版として、前日の @kkitase さんの12/28版の後を受けて書いています。 インストールにはPackstackを利用しているのですが、結構な頻度でバ…

続:クリスマスはOpenStackをPythonワンライナーで決める!

続:クリスマスはOpenStackをPythonワンライナーで決める! みなさんメリークリスマス。 OpenStackのAPIを叩いて仕事をさせる方法 OpenStackの各コンポーネントは、REST-APIを持っています。 このAPIを適切に利用することにより、novaコマンドなどを利用しな…

はてなダイアリーから はてなブログに引越し

やっぱりMarkdownで書けるのが大きいので引越しました:)

Ansible Quickstart書いた

12月4日 クラウドマネジメントツール勉強会 第2回(東京都)でAnsibleについて話します。 ということで、Ansible quickstartを書いてみました。 他のひとのネタとかぶらないといいなぁ

RDO & packstack & VirtualBox でOpenStackを簡単インストール

RDO & packstack & VirtualBox でOpenStackを簡単インストール とある場所で話すことになったので書いてみた。 おれ、次はちゃんと2週間前くらいから書き始めるんだ... OpenStack QuickStart - havana

AnsibleのJUNOS設定モジュール書いてみた(VLAN編)

Ansibleのお勉強のためにJUNOS向けにNETCONFでVLANを作成・削除するモジュールを書いてみた。 動いてるけど、VC環境だとcommit syncするときにタイムアウトするかも。 Ex3300とEx2200で動作確認した。意外にちゃんとうごいて冪等性も担保できてる。 引数 sta…

lsblkコマンドでブロックデバイスリストを取得する

恥ずかしながら、いままでlsblkコマンドの存在を知りませんでした。 RHEL系もあるのかな? パーティション情報が紐付きリストで表示される # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 1024M 0 rom vda 253:0 0 30G 0 disk ├─vda1 253:1 0 …

独習Linux専科 〜あなたに伝えたい技と知恵と鉄則〜 を読む

献本いただきましたm(__)m ちょっと前に神保町の居酒屋で一緒に飲みながらUnix Super Text(上/下)のような最初の1冊って最近ないよねって話をしていましたが、さすが中井さん自分で書いちゃった。 コラムの内容にニヤリとしてしまい、コラムをまず全部読み…

quantum-ns-metadata-proxyの仕組みをメモしておく

VMのcloud-initが公開鍵などのメタデータを取得するための仕組み OpenStackで作成したVMにcloud-initが仕込まれていると、VMの起動時に公開鍵などのファイル(metadata)をnovaからダウンロード&設定してくれる。これをNetworkNamespaceで分離されているネッ…

quantum-ns-metadata-proxyのパス問題

なんかボヤきに近いメモばかりが増えていくな。 今度は、ネットワークネームスペース上でexecするquantum-ns-metadata-proxyのパスが見つからない…だってvirtualenv環境にあるんだもん これは...流石に設定ファイルでも指定できない感じ... 2013-09-10 11:46…

ちゃんと$VIRTUAL_ENV/bin/以下のスクリプトを起動してね

まだまだneutronが続く... 余計なことをするとロクなことがない...戒めのために晒してメモしておく。 ■quantum-dhcp-agentでdhcpサーバ起動時にエラーが発生 virtualenvで隔離している環境でquantum-dhcp-agentを起動させると以下のようなエラーが出力されて…

OpenStackの各コンポーネントの設定ファイルを規程外のパスに置く場合はpolicy_file設定を忘れずに

ハマったのでメモしておく。 1台のノードに複数バージョンのOpenStackコンポーネント(例えばneutron)などをインストールして選択起動するような場合、インストールパスも設定ファイル群のパスも当然ながら分けることになるはず。 例えば、 - grizzly /usr/l…

neutron(quantum)のopenvswitchエージェント用構成管理テーブルは誰が作るん?

忘れないようにメモしておく。 あぁようやくnova-computeまで到達したのに、quantum-openvswitch-agentに逆戻り... ■neutronのopenvswitchエージェント用構成管理テーブル 以下のようなサーバがいて、 192.168.100.1 -> CloudController 192.168.100.2 -> Ne…

virtualenv環境でnova-computeを動かす際の注意事項メモ

やっとnova-computeまでたどり着いた。長かった。 この先、継続的なデリバリーっぽいことを考えていて、可能なかぎり各コンポーネントをvirtualenv環境で動かしたいんだけれども、libvirt系のモジュールはpipでは提供されていないので、なんとかしないとimpo…

grizzlyリリースのnovaが設定ファイル内のroot_helperをハンドリングしてくれないので修正してみた

ちょっと仕事で真面目に取り組むことになったのでgrizzlyをインストールしているんだけど、気になったところをメモしておく。まぁ普通に使ってれば問題ないんだろうけど、、、それと、現在のmasterはroot_helperオプションをハンドリングしてくれるようなの…

今更ながらfedora18の動的CPUクロック設定

今更ながら、CPUの動作クロックを設定する方法をメモ。 cpupowerコマンド パフォーマンスモード CPUに設定可能な最高クロックで動作させる cpupower -c all frequency-set -g performance 省電力モード CPUに設定可能な最低クロックで動作させる cpupower -c…

OSC2013 Tokyo/Springネタまとめ その2(書いた)

講演スライド書いた。 Grizzly is coming soon

OSC2013 Tokyo/Springネタまとめ その1

OSC2013 Tokyo/Springの講演ネタ。 OpenStack の現時点でのGrizzlyリリースで提供予定Blueprintsについてちょっとトピックじゃないかなぁというところをピックアップしてみた。 Quantumはちょっと後回し... ■Nova (吉山さんネタそのまま) ボリューム機能の改…

novaとcinderホストにおけるmy_ip設定

novaとcinderの設定ファイルでは、my_ipというパラメータで自身のIPアドレスを指定できます。 必須パラメータというわけでもないので特に指定していなかったのですが、そのせいでちょっと残念な挙動になったのでメモ。 ■設定ファイルの値を取り込む(flags.py…

downさせた実NICのIPアドレスを削除したい

最初はSolarisのunplumb的な動きをしてくれるオプションをifconfigで探したんだけれど、どうもなさそう。 調べてみるとLinuxではipコマンドで削除するのが良さそうなのでメモ。 ■まずはIPアドレスを設定 普通にifconfigコマンドで設定してみる。 当然ながらI…

Fedora18のgnome3.6でCtrlキーとCapsLockキーを入れ替えるメモ

Fedora17のgnome3.4ではGUIで設定できていたような...気のせいかな... gnome-terminalなり何なりのterminalを起動して、gsettingsコマンドで設定。 $ gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swapcaps']"設定後にログアウトして…

fedora17からfedora18にアップデートする

fedora18がリリースされたので自宅のfedora17を18にアップデートしてみました。 ■ fedora18の公開鍵をインストールします $ sudo rpm --import https://fedoraproject.org/static/DE7F38BD.txt パスワード: ******** ■ yumパッケージをアップデートしておき…

LiveMigrationの失敗を手動復旧する

nova live-migration に何らかの理由で失敗して、StatusがMIGRATINGのままnovaから見るとダンマリになってしまうようなことが、OpenStackでは時々あります。 ※実際にVMインスタンスは正常に稼働している状態を想定しています。 原因にはいろいろありますが、…

VMインスタンスをERROR状態からACTIVE状態に手動復旧させる方法

nova resize に何らかの理由で失敗すると、VMインスタンスのステータスがERRORのまま nova からは一切操作できなくなってしまいます。 ※ぼくの場合はmigrate&resizeに必要な設定漏らしててERRORになりましたが、他にもケースはいくつかあるでしょうきっと。 …

VMインスタンスのマイグレーション(ライブじゃないよ)とリサイズ設定(EPEL版)

EPEL版のパッケージでOpenStackをインストールした環境でVMインスタンスのマイグレーション(ライブじゃないよ)とリサイズを行う際に忘れずに実施しておかなければならない設定があったのでメモ。 設定内容は単純で、「各Computeノードのnovaユーザが他のComp…

二日酔いのアナタに目の覚めるようなpythonワンライナーをお届け

CloudStackな皆さん、はじめまして。 昨日の忘年会はいかがでしたか?賑やかなタイムラインを横目に、風邪ひいてる僕はずっとコレを書いてましたよ。 それではAdventCalendarの番外編ということで、今日はCloudStack素人な僕がAPIを叩くPythonスクリプトをお…

クリスマスはOpenStackをPythonワンライナーでキメる!

みなさんメリークリスマス。 おぷ☆すた関係者のみなさんの中にはクリスマス中止のお知らせが届いている方が多いかとは思いますが、2012年のJOSUG AdventCalendarネタの最後を飾るべくPythonのワンライナーでOpenStack-APIを叩く方法を書いてみます。 ■keysto…

EPEL版OpenStack folsomインストール(完全版)

iptablesの設定やら誤りやらをいろいろと修正しました。 EPEL版OpenStack folsomインストール