ビルド後にネットワーク ブートを無効にせず、ホストを再構築するときに再度オンにしないという職長のバグにパッチを当てようとしています。次の「組み込み」メソッドにコードを追加するだけでよいようです。
./app/controllers/unattended_controller.rb
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/models/host/managed.rb
def setBuild
self.build = true
self.save
errors.empty?
end
foreman_bootdisk.rbとmodify_vm_cdrom.rbの 79 行目からインスピレーションを得て、次の行に沿ったものを思いつきました。
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::Foreman::Model::Vmware の自動ロード中に循環依存関係が検出されました
私はこれについていくつか読んだところ、問題はおそらくレールの自動ロードにあると聞きましたが、これを load と require で修正しようとしました (非推奨であると聞いた自動ロード機能を回避しようとしていました)、両方を試したにもかかわらず、このエラーが引き続き発生しますが、その理由がわかりません。foreman_bootdisk.rb のコーダーとは異なるこのエラーを取得するために、私は何をしていますか? vmware.rbが読み込まれないのはなぜですか?