monolog

monora log #=> ものろーぐ

2016年10月の投稿

バイトを辞めました

雑記

溜まっているタイトルしか書かれていない下書きを消化するシリーズです。

ただの事後報告で、自省です。

僕が当初この記事を書こうとしたタイミングで、他の方から激しい退職エントリが流れてきたので、そういったものを求められている方はそちらをご参照下さい。

ベンチャー企業のアルバイトを辞めた – 人権喪失メンヘラワンダーランド

結局のところは自分の技術力が見合っていなかったというところに帰結する話です。

read more »

サイバーエージェントのインターンに行った

雑記

1ヶ月近く経ってしまいましたが、書くぞという気持ちがあるので書きます。

2018年新卒ではないですが、 2016/9/6 〜 2016/9/26 まで、2018年新卒向けの CyberAgent の夏季長期インターンであるところの WORKインターン (インフラ) に参加して、アドテク本部というところでなんやかんやしていました。

2018年新卒向けとはいっても、特に制約があるわけでもなく普通に応募できます。まあ、インターンに行くのは普通は学部3年 or 院生なので、必然的にそうなるんでしょうか。

ICTSC 関連の知り合いの方に誘われて、大規模なインフラに触れてみたいという気持ちもあり応募したことから始まったインターンでしたが、今までに無い濃密な日々でした。

read more »

第6回 ICTトラブルシューティングコンテストの運営委員をしていました

雑記

ICTトラブルシューティングコンテスト という学生が主体となってインフラやサーバに関するトラブルを起こして、学生が解決する(雑) な大会がありまして、その第6回、通称 ICTSC6 の運営側として参加してきました、ということです。

大会自体は8/27, 28 (土日) が本番でしたが、運営委員は 4/24 のキックオフMTGから活動が始まっていて、実に4ヶ月近くの期間があったことになります。

写真とかは公式のレポートにたくさんあるのでご参照下さい。

NTT西日本杯 ICTSC6 準備期間 レポート – ICTSC | ICT トラブルシューティングコンテスト

NTT西日本杯 ICTSC6 DAY1 レポート – ICTSC | ICT トラブルシューティングコンテスト

NTT西日本杯 ICTSC6 DAY2 レポート – ICTSC | ICT トラブルシューティングコンテスト

 

ICTSC には運営委員として、第5回 (ICTSC5) から関わっていて、ICTSC6 では運営委員の副リーダーなるものを務めさせて頂きました。
(ICTSC6 は16人の運営委員と大人の方々による実行委員とスポンサーの方々によって成り立っており、その学生側ということです。)

ICTSC5 の反省を活かして、ICTSC6 のために自分が行ったことはとにかく1つに集約されていて、「とにかく見える化、情報の集約化を徹底して、何かをしたいときにすぐに行動できるようにする」というもの。

結局この記事は僕の自己満足ですし完全に主観で書いていて、最終的にはここに書いていない範囲、色々とよくないこともあったし、そもそも未だ僕が把握してない範囲で色々揉めたというのもあるのですが、結果としてそれを全部汲み取って解決できなかったのは本当に自分が悪いと思っています。未だももやもやとする気持ちもあります。
責任転嫁するつもりはないし、頼むから直接言ってくれという気持ちです。

 

以下、雑多に何をしたのか書いていきます。

read more »

Dentoo.LT #15 に登壇した

雑記

世にも不思議な電気通信大学MMAという団体が主催している Dentoo.LT #15 というイベントがあって、登壇しました。あと寝坊しました。ゆるしてください

資格の話といいながら今年のネスペの午後II 問題を眺めたりしたのですが、案外普通に解ける感じだったし難易度が意外と高く無さそうだった。ちゃんと問題文を読みましょう。

資格の話 #3.2 @Dentoo.LT #15 from kyontan

最近は150枚ぐらいスライドを作って100枚ぐらいで時間切れになっていることが多い気がするので反省したい。次回は最後まで話します。

余談ですがスライドのテンプレート作ってたらまたCSSとSVGを延々と書くオタクに戻りたくなった。

CloudStack の VM を cs コマンドでデプロイしようとしてハマった

Infrastructure

こんばんは。タイトルだけ書いた下書きが溜まっているので書いていきますということです。

ICTSC6 で CloudStack を使用していた話はまだ書いていなし多分書かないですが、使用していました。

その中で、API を叩いてくれる薄っぺらいラッパーコマンドであるところの exoscale/cs を叩いてデプロイなりVMの起動停止なりボリュームのアタッチなどをやっていたわけですが、デプロイ関連で少しハマったので解決策を紹介。

ちなみにこれ: https://github.com/exoscale/cs。 exoscale 、 CloudStack なんですかね……

CloudStack の API はあまりにも愚直なのでパラメータが無限に多くてしんどいという話はさておき

APIの一覧は http://cloudstack.apache.org/api/apidocs-4.9/ にあります。 (4.9 の場合)
VM を作成する場合は、 deployVirtualMachine

書いてある通りですが、必須なパラメータは以下の3つです。

  • serviceofferingid
  • templateid
  • zoneid

それとは別に、IPアドレスを固定したり複数のネットワークにVMを接続するときは iptonetworklist パラメータを指定するわけですが、このパラメータの設定がなんもわからんという感じです。

iptonetworklist[0].ip=10.10.10.11&iptonetworklist[0].ipv6=fc00:1234:5678::abcd&iptonetworklist[0].networkid=uuid

難しすぎる。なんで突然配列の演算子が出てきて & で繋ぐ必要があるんだ……

実際に直に API を叩いたことはないのですが、 cs ではこの通りにパラメータを書いても上手く動いてくれません。
なので、以下のようにする必要があります

cs deployVirtualMachine ... iptonetworklist[0].ip=192.168.15.3 iptonetworklist[0].networkid=4bbc38e5-3e36-4a11-9c93-5a5261911120

ただ & で繋げずにスペースで区切るだけです。どういう挙動なんだろう……
どこにも仕様が載っていないので試行錯誤せざるを得ないわけですが、やっていきましょう

結局 cs コマンドの引数はこんな感じになってしまうので非常に読みづらい。各位 Ansible のパワーに頼っていきましょう。僕は Ruby でラッパーを書きました。

cs deployVirtualMachine displayname='vm1-p15-t7' name='vm-x-hoge' serviceofferingid='3ebb38bf-dbb6-42b1-b301-041d3546b5dc' templateid='cec5838f-1bae-442f-9009-9e27dcf33941' zoneid='57305097-d51a-467b-bbec-862ab20850d1' hostid='3edc5cc0-5375-462d-8a38-b2e4920791f4' account='xxx' domainid='1d43bf7b-b00c-41ba-959a-e422c4649547' startvm='false' iptonetworklist[0].ip=192.168.15.3 iptonetworklist[0].networkid=4bbc38e5-3e36-4a11-9c93-5a5261911120