Python
Ansible Collectionsのメンテナをやっていると、Solarisの面倒も見なければならないことがある。 現時点でのAnsibleのdevelブランチは、Python3.8以降のみをサポートしているが、どうもSolaris11では、公式に提供されているパッケージがないように見える。 …
ちょっと訳があって、Ansibleのモジュール開発方法を解説している Developing Modules を和訳してみた。だいたいあってると思うんだけど、意図を計りかねるところもあったので、想像しながら意訳してみた。それほど外れてないと思う。 Developing Modules An…
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
pudbについて Pythonのデバッガといえば、謹製のpdbが第一候補にあげられます。 〜 pdbの機能 本家サイト(http://docs.python.jp/2/library/pdb.html) から引用 〜 「 (条件付き)ブレークポイントの設定やソース行レベルでのシングルステップ実行、スタック…
わすれないようにメモ。 普通にpipでインストールを試みると... xmlversion.hが無いと叱られる... ちなみにdevelというvirtualenv環境で実施しています。 (devel)$ pip install lxml <中略> error: libxml/xmlversion.h: No such file or directory compilat…
続:クリスマスはOpenStackをPythonワンライナーで決める! みなさんメリークリスマス。 OpenStackのAPIを叩いて仕事をさせる方法 OpenStackの各コンポーネントは、REST-APIを持っています。 このAPIを適切に利用することにより、novaコマンドなどを利用しな…
12月4日 クラウドマネジメントツール勉強会 第2回(東京都)でAnsibleについて話します。 ということで、Ansible quickstartを書いてみました。 他のひとのネタとかぶらないといいなぁ
Ansibleのお勉強のためにJUNOS向けにNETCONFでVLANを作成・削除するモジュールを書いてみた。 動いてるけど、VC環境だとcommit syncするときにタイムアウトするかも。 Ex3300とEx2200で動作確認した。意外にちゃんとうごいて冪等性も担保できてる。 引数 sta…
novaとcinderの設定ファイルでは、my_ipというパラメータで自身のIPアドレスを指定できます。 必須パラメータというわけでもないので特に指定していなかったのですが、そのせいでちょっと残念な挙動になったのでメモ。 ■設定ファイルの値を取り込む(flags.py…
CloudStackな皆さん、はじめまして。 昨日の忘年会はいかがでしたか?賑やかなタイムラインを横目に、風邪ひいてる僕はずっとコレを書いてましたよ。 それではAdventCalendarの番外編ということで、今日はCloudStack素人な僕がAPIを叩くPythonスクリプトをお…
みなさんメリークリスマス。 おぷ☆すた関係者のみなさんの中にはクリスマス中止のお知らせが届いている方が多いかとは思いますが、2012年のJOSUG AdventCalendarネタの最後を飾るべくPythonのワンライナーでOpenStack-APIを叩く方法を書いてみます。 ■keysto…
pipやgemが利用できずにFablicやcapistranoがインストールできない環境でも利用できる並列ssh/scpコマンドがparallel-ssh。 ログイン後にsudoしてコマンドを実行するような複雑な処理はできない(みたい)だけれど初期設定程度なら必要十分な機能があります。 …
devstackでOpenStackの開発環境をインストールしたタイミングでうっかりDjangoが1.4になってしまった...その影響でCobblerWebInterfaceが動かなくなってしまったので、ちょいちょい修正してDjango1.4に対応させたときのメモ。 CSRF対策関連が変更されている…
有志の方が提供してくれている、東京電力電力供給状況APIを使ってみる。 ワンライナーでこんな感じ。提供ありがとうございます。 戻り値はjson形式です。 $ python -c "import json,urllib2;r=json.loads(urllib2.urlopen('http://tepco-usage-api.appspot.c…
libvirtをosxでコンパイルするには、いろいろと準備が必要。 依存関係的には、こんな感じ。 libvirt ----- GnuTLS --+-- libgpg-error | +-- libgcrypt必要なライブラリ類のバージョンは以下の通り。 ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-…
手順としては、 syslogモジュールをimport syslog.openlog()でプログラム名,Option,Facilityを設定し、syslogdに接続開始 syslog.syslog()でログレベルを設定してメッセージを出力 syslog.closelog()でsyslogdとの接続終了 python-2.6.4のコードを見ると、 s…
正規表現を考えてみたけど、こんな感じかしら。 import reclass Validation: def email(self, argv): msg = '^\w[\w\.\-\_]*[^\.]@\w[\w\-]*(\.[\w\-]{1,})+[^\.]$' regex = re.compile(msg) if regex.match(argv): return True return False
YAMLパーサはモジュールを別途インストールしないといけないの...電池付属のPythonの付属の電池だけでなんとかしたかった... PythonのYAMLパーサとしてはPyYAMLとPySyckが主流(なのか?)みたい。 どちらを使うか PyYAML is the next generation YAML parser a…
$ python >>> import pickle >>> fp = open('dict.txt','r') >>> x = pickle.load(fp) >>> print x {'mem': '4GB', 'os': 'Snow Leopard', 'name': 'MacBook Pro', 'cpu': 'Core2 Duo'} >>> fp.close() >>> 実際にどんな内容が書かれているかというと... $ c…
バイトストリームにしてしまえば、それをファイルに保存したり、逆にファイルからそのバイトストリームデータを読み込んでオブジェクトに変換することも可能ってことね。 テスト用のデータ構造とかを生成できると楽かなぁと思って使ってみようと思ったけれど…
Pythonでは関数定義の中にyield文があると、その関数はジェレネレータ関数となる(らしい)。フィボナッチ数列を10項表示してみるとこんな感じ。 $ python >>> def fib(): ... x, y = 0, 1 ... while True: ... yield x ... x, y = y, x + y ... >>> z = fib()…