foreman bugパッチを適用しようとしています。ビルド後にネットワークブートを無効にしないで、ホストを再構築したいときに再びオンにします。Ruby:循環依存オートローディング
:
でdef built
logger.info "#{controller_name}: #{@host.name} is Built!"
update_ip if Setting[:update_ip_from_built_request]
head(@host.built ? :created : :conflict)
end
と「setBuild」方法./app/controllers/unattended_controller.rb
:私はちょうどに「組み込まれて」メソッドにコードを追加する必要があるように見えます私が共同しているforeman_bootdisk.rbとインスピレーションのためのmodify_vm_cdrom.rbの79行から./app/models/host/managed.rb
def setBuild
self.build = true
self.save
errors.empty?
end
借入、 線に沿って何かしてくれアップ:
def setBuild
load '/usr/share/foreman/app/models/compute_resources/foreman/model/vmware.rb'
if ComputeResources::Foreman::Model::Vmware.available?
vm_reconfig_hardware('instance_uuid' => params[:token], 'hardware_spec' => {'bootOptions'=>['network', 'disk']})
end
self.build = true
self.save
errors.empty?
end
問題は、私はエラーを取得することで、
はおっと、申し訳ございませんが、何かが一定のComputeResourcesを自動ロードしながら、間違った循環依存が検出行ってきました::フォアマン::モデル:: VMwareの
私はこの上でいくつかの読書を行って、問題がレールの自動ロードと、おそらくですが、私は負荷でこれを修正しようとした(私はオートロード機能を避けるためにしようとしていた要求していると聞いてきました私が聞くdeprecated)ですが、両方を試したにもかかわらず、私はこのエラーを引き続き受けており、なぜ私は不明です。 foreman_bootdisk.rbのコーダーとは違ったやり方で、このエラーは起こりません。ホエーはvmware.rbをロードしたくないようですか?
私にはエラーが表示されます。申し訳ありませんが、未定義のメソッドが利用できませんでした。 # "の代わりに。これは 'ComputeResource :: thisisbad :: Model :: Vmware.available'のように' ComputeResource :: Foreman :: Model :: Vmware.available'または既知の悪い名前空間を使用した場合と同じエラーです。私が「未定義のメソッド」以外のものを入手したという事実は、私が最初に正しい道を進むと思ったものです。 –
foremanのいくつかのバージョンとあなたが使っているシステムについての質問を更新できますか?レール構成オプションを変更したのか、それともサルで修正しましたか? これらのクラスを使ってレールコンソールでテストできますか?別のクラス(Foreman :: Model :: EC2など)を読み込めますか?同じ問題がありますか? また、:: Foreman :: Model :: Vmwareを試すこともできます。 または、実際に使用可能な実装を使用できますか?メソッド: 'Fog :: Compute.providers.include?(:vsphere)' –
これはForeman 1.11です。 Katelloがデフォルトでインストールされているので、Red HatがKatelloのスタックを動作させるために行った猿のパッチ適用だけで済みます。私はいくつかのことを試して、報告するつもりです。 –