問題タブ [test-kitchen]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
integration-testing - キッチンテストで収束と検証の間の遅延を設定するには?
Vagrant+Chef Solo で構築されたシステムで、Test Kitchen を使用して Serverspec 統合スモーク テストを実行しています。キッチン テストを実行すると、収束が成功した直後にテストが開始され、システムが初めて完全に起動するまでに時間がかかるため、一部のテストが失敗します。
それで、収束と検証の間に遅延を挿入する良い方法は何だろうと思っています。それ以外の場合は、キッチン テストのデフォルトの動作を維持しますか? 現在、私は次のアイデアを持っています:
- kitchen converge +converge が失敗したかどうかを確認してから、abort+ sleep xx + kitchen verify +成功した場合はkitchen destroyを実行するシェル スクリプトを作成します。しかし、これでは複数のスイートを並行して実行することはできません (システムの複数のバージョンをテストしています)。
- sleep xxを実行するだけのレシピを作成し、chef 実行リストの最後に追加します。これは機能しているように見えますが、私には少し「ハッキー」に見えます。
誰かがより良い方法を知っていますか?
ターヴィ
chef-infra - キッチン オープン スタックが「excon.error.response」を返す
Openstack で Kitchen を使用しようとしています。私はこのリンクで説明されているようにしましたhttps://github.com/test-kitchen/kitchen-openstack
キッチンリストを実行すると表示されます
/root/.rbenv/versions/2.2.0/lib/ruby/gems/2.2.0/gems/fog-1.27.0/lib/fog/openstack/volume.rb:191: warning: duplicated key at line 196 ignored: :openstack_region
Instance Driver Provisioner Last Action
default-centos-7 Openstack ChefSolo <Not Created>
が、キッチンテストを実行すると表示されます
このエラーの意味を教えてください。
ここに私の .kitchen.yml ファイルがあります
chef-infra - CentOS 5.10 ボックスでセッション中の SELinux を無効にする
SELinux に関連しているように見えるディレクトリのアクセス許可を変更する際に問題が発生しています。SELinuxをa)シェフクライアントセッションの残りの部分で、b)永久に無効にする方法を見つけようとしています。
リソース:
エラー:
環境:
- キッチン、Vagrant ドライバー、および VirtualBox をテストします。
- ボックス - Chef プロビジョナーレス centos-5.10。
SELinuxがうまくいかないようです。偉大な。SELinuxを無効にしましょう!
Chef's box の在庫構成は permissive に設定されています。
構成をテンプレート化して無効に設定できますが、それは再起動後にのみ適用されます。通常、現在のセッションで SELinux を無効にするには、CLI (sestatus、setenforce など) を使用します。私たちのクックブック (および公式のクックブック) は、この機能に依存しています。しかし、ここで壊れているようです...
では、ボックスを再起動したり Chef を 2 回実行したりせずに SELinux を無効にするにはどうすればよいでしょうか?
test-kitchen - 作成済みのシェフブック/ボックスにツールを追加する
私はキッチン/シェフを学ぼうとしており、ここで提供されているチュートリアルに従っています
http://kitchen.ci/docs/getting-started/installing
今、私は問題ではなく質問に行き詰まっています。与えられたチュートリアルは git-cookbook を作成します。「git」がインストールされたボックスを作成するようにキッチンに指示していることを知りたいですか?
metadata.rb
(チュートリアルに従って)何も提供するのではなく、空のチュートリアル全体をやり直しました。空のままにして実行しましkitchen init --driver=kitchen-vagrant
た。予想どおり、git がインストールされていないクックブック/ボックスが作成されました。
次に、次の行を追加しましたmetadata.rb
そして走っkitchen converge default-ubuntu-1204
た。gitがインストールされたクックブック/ボックスが更新されることを期待していましたが、そうではありませんでした。
もう一度やらなければなりませkitchen init
んか?私の既存の .kitchen.yml ファイルと私が行ったすべての変更を上書きしませんか? 既に作成されたクックブック/ボックスにツールをインストールする最良の方法は何ですか?
vagrant - kitchen create new_box コマンドが機能しない
コマンドを実行していkitchen create default-centos65
ますが、ボックスを取り込んでプロビジョニングできません。なんらかの理由で、URL パスはfile:/Users/Guest/Git/chef/kitchen/.kitchen/kitchen-vagrant/default-centos65/learningchef/centos65
. からではなく、そこからボックスをダウンロードする必要があると考える理由がわかりませんvagrantcloud.com
。
これが出力です。
構成に欠けているものは他にありますか?
これが私の.kitchen.yml
ファイルの内容です。
amazon-ec2 - テスト キッチン (chefdk)、Vagrant、Amazon VPC
Amazon VPC 内で KitchenCI を使用してテスト インスタンスを構築しようとしています。これは機能していますが、Vagrant が ec2 インスタンスに接続しようとすると、インスタンスの外部 (パブリック) IP と内部 (VPC) IP が使用されます。Vagrant でこれを変更する方法はありますか?
.kitchen.yml:
test-kitchen - テスト キッチン、資格情報を保存
Test Kitchen では、yaml 構成で...複数のプラットフォームと複数のスイートに適用されるグローバルに使用される属性を保存するのに最適な場所はどこですか?
私の .kitchen.yml を例として使用するには:
~/kitchen/config.yml や .kitchen.local.yml など、他のキッチン ファイルがあることは知っていますが、すべてのプラットフォームとスイートに適用する属性を取得する方法を見つけることができませんでした。属性をコピーしてプラットフォームに貼り付けるのが最善の方法ですか?
ubuntu - キッチンが vagrant プラグイン `kitchen-vagrant` を検出しない
Ubuntu 14.10 の新規インストール
chef gem list
kitchen-vagrant もインストールされていることを示します。
vagrant プラグイン kitchen-vagrant がインストール済みとしてリストされているにもかかわらず、kitchen が vagrant プラグイン kitchen-vagrant を検出しないのはなぜですか?
amazon-ec2 - Chefですでに実行されたレシピからIPアドレスを動的に取得する方法
私は Chef を初めて使用し、kitchen-ec2 を使用して 2 つのデータベース サーバー + 2 つのアプリケーション サーバーの AWS クラスター構成をテストしようとしていますが、次の問題に直面しています。
ip_address_1 をレシピ #1 (サーバー 1 のレシピ #1 が完了)からレシピ #2 (サーバー 2 の構成レシピで実行中)に動的に渡すことができません。アドバイスをいただけると助かります。
私ができることの 1 つは、構成しようとしている各ボックスの .kitchen.yml に IP アドレスを明示的に設定することです。 ipaddress']属性ですが、より一般的で、クラスターで構成されているすべてのサーバー IP アドレスのリストである可能性があります。
レシピ #1 -完了-サーバー1が構成され、AWS がプライベートipaddress1を割り当てました
レシピ #2 -進行中-サーバー 2構成が適用されていますが、ipaddress1が必要です
前もってありがとう、
ドミトリー