タグ

ブックマーク / limitusus.hatenablog.com (10)

  • Chefの界隈で起きた事件について日本語で書いておく - limitusus’s diary

    これは2019年9月に起きたChef関連OSSの削除騒ぎの経緯を個人的に記録するための記事である。この記事はどちらの立場にも立たず、確認できた記事の内容を記載するにとどめる。 記載している2019年9月24日現在、事態は進行中であり、変更が確認されれば更新していく。 2019/09/17 Chef社とアメリカ合衆国移民・関税執行局(以下ICE)との契約についてのTweetがなされる。 hey @chef can you please provide a statement on your $100k contract with ICE, as documented here: https://t.co/x1awrUmVEt — shanley #NoTechForICE (@shanley) September 16, 2019 2019/09/19 chef-sugar をはじめとしたC

    Chefの界隈で起きた事件について日本語で書いておく - limitusus’s diary
    progrhyme
    progrhyme 2019/10/11
    こんなこと起きてたんだ
  • Chef15になったらTravis CIが全部コケた - limitusus’s diary

    掲題の通りです。かなしい。 ログを確認してみたところ、Chefのライセンスに同意する?っていうプロンプトが出ているようでした。 gist6e5b13d2544dbcc89235005714909790 きっとtest-kitchenにissueあるでしょ、と思って確認してみたところ、やはりありました。 github.com どうやら今までは環境変数でライセンスに同意できていたところができなくなった、というものだった模様。 コメントで「こうやったらできたよ」っていうのがありました。 gist955d4b43a90d2ac8b2114fa3f4ce2bf5 その後メンテナのtas50氏から「Chefのライセンス同意はtest-kitchen v1系では対応してないからバックポートすることにするわ」というコメントがつき、対応するPull Requestが作成されました。 github.com t

    Chef15になったらTravis CIが全部コケた - limitusus’s diary
    progrhyme
    progrhyme 2019/06/06
  • 複数OSSのContributerになりました - limitusus’s diary

    年末ということで1つ記事を書いて今年を締めたいと思います。 インフラエンジニアとしての仕事も6年目となりましたが、この間にITインフラ界隈はオンプレからクラウドへの移行というものが急速に進んできているのを感じています。 そんなわけで仕事ではAWSを主としてクラウド上のインフラを構築することが増えているのですが、Infrastructure as Codeという思想もあり(なくてもやるんですが)TerraformであったりCodenize Toolsを使ったりしていました。 サーバのプロビジョニングはChefを使っています。Codenize ToolsもChefもRuby製なので言語を切り替えなくてよいのが個人的には気に入っています。TerraformがHCLですが… Codenize ToolsのContributerへ さて、そんなわけでCodenize Toolsもroadworker

    複数OSSのContributerになりました - limitusus’s diary
    progrhyme
    progrhyme 2017/12/30
  • CircleCIをv1からv2に上げたら4倍速くなった話 - limitusus’s diary

    tl;dr 今までRubyのテストをCircleCI v1で行ってきましたが、v2がGAになったことを受けてv2への移行を行いました。 結果、それまで2分40秒ほどかかっていたテストが40秒台で完了できるようになりました。この過程と効果について紹介します。 元々のcircle.yml 以下のような感じでした。レポジトリルートのruby/以下に実際のrubyコードは集まっていて、Gemfileなどもそこにあります。 今回の話には関係ないですが、bin/cisetupではpronto rubocopが動きます。 gist.github.com 新しいconfig.yml 最終的なconfig.ymlは以下のようになりました。 gist.github.com 移行のポイント Timezoneの指定方法 Migration FAQ - CircleCI に記載されています。TZ環境変数にzonei

    CircleCIをv1からv2に上げたら4倍速くなった話 - limitusus’s diary
    progrhyme
    progrhyme 2017/10/16
  • terraformのバージョンを上げようとしたらハマったのでメモしておく - limitusus’s diary

    terraform 0.9.11を使っていたが、あるとき0.10系がリリースされたのでバージョンアップを試みたところ、かなりハマってしまったのでメモ。 tl;dr terraform init -backend-config=/path/to/config -reconfigure 今までterraform 0.9系を使ってきたときは単にバイナリを差し替えればよかったのだが、0.10系に上がったことで設定ファイルの形式が変更されたため、よくわかっていない部分でハマったというだけなのだけど。 前提 providerはAWSで、AWS accountA上にいろいろ構築 backendは別のAWS accountB上にあるS3 bucket内にstateを置くようにしている accountAは普段はSTS AssumeRoleにより利用していて、環境変数をexportしてある。 accountB

    terraformのバージョンを上げようとしたらハマったのでメモしておく - limitusus’s diary
    progrhyme
    progrhyme 2017/10/04
    v0.10でプロバイダがプラグインになったのでしたね。
  • AWSのコストを取得するgemを調べた - limitusus’s diary

    AWSは料金表を提供していますが、JSONを取得してごにょごにょ…と自分でやるのは何か違う気がします。どうせgemくらい誰か作ってるだろう、ということで少し調べてみました。 tl;dr 今のところamazon-pricingを使うか、やっぱり自前で書くのがいいのではないか。 調べたもの (amazon|aws).*(pric|cost) みたいなものを探すと見付かったのは以下の4つ aws-pricing (0.7.0) awsprice (0.0.5) amazon-pricing (0.1.97) awscosts (0.0.12) aws-pricing EC2、RDS、ElastiCache、CloudFront、EMRに対応している。最終更新が2012年でメンテされている様子がない。 awsprice EC2しかなさそう。Homepageに設定されているのがGithubでなく、飛

    AWSのコストを取得するgemを調べた - limitusus’s diary
    progrhyme
    progrhyme 2017/07/25
  • RDS logをRubyでダウンロード - limitusus’s diary

    AuroraのAudit log検証をしていて、「これ定期的にS3にアップロードしないと消えるよね?」って話になったので、まずはRDSから取ってくるとこからだね…ってことでやってみることにしました。 候補手段 方法はいくつかあるんですが、 1. rds-cliを使う もうdeprecatedだそうで、今後メンテされないものを今から使い始めるというのはいかにもセンスがないので却下。 docs.aws.amazon.com The Amazon RDS Command Line Interface (RDS CLI) has been deprecated. Instead, use the AWS CLI for RDS. 2. aws-cliを使う アリなんですが、aws-cliだとrds download-db-log-file-portionというコマンドになり、最大1MB単位でしかダ

    RDS logをRubyでダウンロード - limitusus’s diary
    progrhyme
    progrhyme 2017/07/14
  • Parallel::Fork::BossWorkerAsyncがいい感じ - limitusus’s diary

    先日 id:hirose31 と 並列処理はParallel::ForkManagerとかParallel::Preforkが定番だけど、もうちょっと効率よくやりたいこともある P::ForkManagerはタスクごとにforkするので負荷の分散は綺麗にできるが、タスクの数だけforkが発生して効率がよくない P::Preforkだとfork回数は並列度分だけだが、タスク開始前にタスクの分配を完了させないといけない Cでmultithreadならmaster-workerモデルでmasterにqueue持ってmutexでロックするような練習問題とかある けどPerlでmultithreadやりたくないし、実現するとすればsocket経由でタスクを渡していく感じにしないといけないか 誰かCPANに上げてるんじゃないかなー なければ作るかー 的な話をしていました。 で、metacpanを漁って

    Parallel::Fork::BossWorkerAsyncがいい感じ - limitusus’s diary
    progrhyme
    progrhyme 2016/02/29
  • うるう秒をテストしたら仮想インタフェースが落ちた話 - limitusus’s diary

    今月末はうるう秒が予定されていますね。 http://jjy.nict.go.jp/news/leaps2015.html これについては様々なところで「何が影響を受ける?」「どう対応する?」などが書かれています。 今回はその中でも、「事前に試験環境でうるう秒を入れてみる」ことについてRedHatの記事が書かれていたので、そのお話。 How to clear the Leap Second Insertion flag after it has been received? この記事の中では leap-a-day.c というコードが公開されていて、簡単に言うと ntpdにうるう秒の通知を行う (adjtimex) うるう秒の直前まで時刻を進める (settimeofday) ということをやってくれます。 これを試験環境で実行したところ、仮想ネットワークインタフェース(IP alias)が落

    うるう秒をテストしたら仮想インタフェースが落ちた話 - limitusus’s diary
    progrhyme
    progrhyme 2015/06/20
  • Perlからshared objectの関数を呼び出す - limitusus’s diary

    今回のお題 foo.so に含まれている関数 void func(void) をPerlから呼び出す。 プロトタイプ宣言の通り、引数は取らないし戻り値もない(あるいは見ない)。 やりかたはいくつかあって、 普通ならXSモジュールを書いて対応する。 ただこのシンプルな目的のためにXSモジュールを書くのはいささか大袈裟すぎる。 もう少し簡単にやろうと思うと Inline::C を利用する。 これでも別に構わなかったのだけど、今回はこのPerlスクリプトをほぼ同時に並列起動する可能性があり、コンパイルが多重に走るのを避けたい。 ということで、ちょっと珍しいアプローチとしてXSモジュールのベースに使われているDynaLoaderモジュールを直接使ってみることにした。 DynaLoaderとは? Perlで昔からあるコアモジュールで、*.soファイルをロードし、その中のシンボルをモジュール名前空間に

    Perlからshared objectの関数を呼び出す - limitusus’s diary
  • 1