ぶていのログでぶログ

思い出したが吉日

OpenStack

osc-fish-completeのv0.2.0をリリースした

tech.buty4649.net 以前にfish-shell向けのopenstack-cliの補完スクリプトを作り公開した。 最近このスクリプトのリポジトリにissueが立てられてたので内容を確認したところ --fit-width のようなオプションが --fitwidth になるという報告だった。 実際に試…

fish-shell向けのopenstack-cliの補完スクリプトを作った

数年前に作りかけで放置していたのだが、数日前に「どうやって使うの?」っとコメントがついて慌てて作った…という感じ。 github.com 使い方 READMEに書いてあるとおりで pip install . して eval "$(openstack complete --shell fish)" すれば使えるように…

live-migration-notifierをGolangにポーティングした

以前、OpenStackのlive-migrationをSlackに通知するくん通常live-migration通知くんというものを作った。 tech.buty4649.net ブログに書いて依頼、実際に会社のOpenStack環境で安定して稼働していた。 Rubyのアップデートでも特に問題なく稼働していた。 し…

Ruby向けのLINSTOR APIクライアントを作った

LINSTORはLINBIT社が出しているSoftware-Defined-Storageを実現するためのミドルウェアである。 もともとはdrbdadmの代替として登場したと記憶しているが、いつのまにかDRBD以外の管理もできたりk8sやOpenStackから利用できるようになっている。 linbit.com …

neutron-serverのrpc_workersとrpc_state_report_workersは明示的に大きい値を指定したほうが良さそう

Controlノードのneutron.confには、rpc_workersとrpc_state_report_workersを明示的に指定した方がよさそう。 というのも、これらはデフォルトでは 1 に設定されるので規模によってはRPCが詰まる。。。 (※ OpenStack Steinからはrpc_workersはデフォルトでCP…

openstackclientがいつの間にかクライアント証明書認証付きのGlance APIにアクセスできるようになっていた

openstackclient-5.2.0から対応したっぽい。 docs.openstack.org 今までglanceclientを使っていたのをOpenStack SDKに変えたことで結果的に、クライアント証明書認証を処理できるようになったようだ。 コミット的にはこれ。 https://github.com/openstack/py…

openstackclientでrequest() got an unexpected keyword argument 'global_request_id'がでる

python-openstackclient==5.2.0がでたのでアップデートしたら、エラーがでるようになってしまった。 ❯ openstack port list --fixed-ip ip-address=XX.XXX.XXX.XX request() got an unexpected keyword argument 'global_request_id' 原因はkeystoneauth1が…

RubyでOpenStack APIを扱うYaoとyao-yrbの紹介

この記事はペパボアドベントカレンダー2019の1日目の記事です。 今年も残り1ヶ月。早いものです。 ペパボでは、OpenStackを使ってプライベートクラウドを構築しています。 OpenStackを運用するうえで、APIを利用して情報を取得したり、インスタンスを作成し…

OpenStack Octaviaを使うときはnova.enable_anti_affinity = trueを設定したほうがよさそう

結論から書くと、OpenStack OctaviaでACTIVE/STANDBYトポロジーを使う場合には、octavia.confで以下のような設定を入れたほうがよさそう。 [nova] enable_anti_affinity = true 解説 OpenStack Octaviaについては以前記事を書いたのでそちらを参照のこと。 t…

はてな・ペパボ技術大会 #4で発表してきました! #pepabohatena

speakerdeck.com 遅くなりましたが、6/23に行われたはてな・ペパボ技術大会 #4 〜DevOps〜 @京都でプライベートクラウドではじめるDevOpsというタイトルで発表してきました。 本当は発表後すぐにアップロードしたかったのだけど、Macの電源を忘れていったり*…

OpenStackのlive-migrationをSlackに通知するくんを作った

OpenStackにはlive-migrationと言う機能がある。 この機能を使うと、インスタンスが稼働中のまま他の母艦に移動することができる。 ハードウェア障害やカーネルアップデートなどで、母艦のシャットダウンが必要になった場合に、稼働中のインスタンスを問題の…

OpenStack Octavia-1.0.1 で、VIPポートがadminになるバグ

バグフィクスされたバージョンが出たら記事にしようと思ったけど、こないままQueensが出てOctavia-2.0.0になってしまった…。 タイトルの通りなのだが、Octavia-1.0.1を含んでそれ以前までには、LBが作成するVIP用のポートが、LBを作成したユーザのプロジェク…

OpenStack ネットワークノードはgc_threshを増やしておいたほうがよい

会社のプライベートクラウドで、SNATルーターが度々不調になるということに出くわした…。 調べていくとネットワークノードで以下のメッセージが出ていた。 neighbour: arp_cache: neighbor table overflow! このメッセージはARPキャッシュエントリーの数が設…

OpenStack Octaviaのamphoraイメージを作るスクリプト

OpenStack Octaviaではamphora(読み方はあんふぉらでいいのかな?)と呼ばれるロードバランサーを立てる必要ある。 amphoraはNova APIを経由してインスタンスとして作られるため、予めインスタンス用のイメージを作成しておく必要がある。 調べた限り公式のイ…

5分でわかるOpenStack Octaviaという内容で社内LTしました

社内LTの機会があったので、最近いじっているOpenStack Octaviaについて発表しました。 発表内容はブログで書いたことをもう少し利用者側よりにそして、Octaviaを使うとどう便利なのか?を主眼にしています。 また、今のところ公式CLIツールがないので、発表…

OpenStack Octaviaの挙動

前回はOpenStack Octaviaの概要を説明したので、今回はLoadBalancer(LB)が作られたときにOpenStack Octaviaがどのような動作をするか説明したい。 なお、LBの更新や破棄、PoolやListenerなどなどの操作については、今回説明する内容とほとんど同じであるため…

OpenStack Octaviaの概要

最近、OpenStackのOctaviaコンポーネントを弄っていて、だいぶわかってきたのでメモ代わりにまとめておく。 OpenStack Octaviaとは 私ってほんとバカではなく、将来的にOpenStackの標準的なLBaaS APIエンドポイントとして機能すべく開発されているコンポーネ…