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
./app/controllers/unattended_controller.rb하고 "setBuild"방법 :
난 그냥에서 "내장"방법에 몇 가지 코드를 추가해야 할 것 같습니다 내가 공동 한 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를 자동 로딩하는 동안 잘못된 순환 종속성이 발견했다 :: 포어 맨 :: 모델 :: VM웨어
나는 이것을 약간 읽었는데 아마 레일의 자동로드에 문제가 있다고 들었지만로드와 함께 이것을 고치려고했다. (필자는 자동로드 기능을 피하려고했다. 내가들은 deprecated입니다.)하지만 두 가지를 모두 시도했지만이 오류가 계속 발생하며 이유가 확실하지 않습니다. foreman_bootdisk.rb의 코더와 다르게 내가이 오류를 얻지 못하는 이유는 무엇입니까? 유청 vmware.rb을로드 하시겠습니까?
오류가 발생했습니다. "죄송합니다.하지만 사용 가능한 정의되지 않은 메소드가 잘못되었습니다. ' # "대신에. 이것은'ComputeResources :: thisisbad :: Model :: Vmware.available'과 같이'ComputeResource :: Foreman :: Model :: Vmware.available' 또는 알려진 나쁜 네임 스페이스를 사용하면 얻는 것과 같은 오류입니다. "정의되지 않은 메소드"를 사용할 수있는 것 이외의 다른 것이 있다는 사실은 내가 처음부터 올바른 방향으로 향하고 있다고 생각하게 만들었습니다. –
일부 foreman 및 사용중인 시스템에 관한 질문을 업데이트 할 수 있습니까? 레일 구성 옵션을 변경했거나 원숭이가 패치 했습니까? 레일즈 콘솔에서 이러한 클래스를 사용하여 테스트 할 수 있습니까? 다른 클래스 (예 : Foreman :: Model :: EC2)를로드 할 수 있습니까? 같은 문제가 있습니까? 다음과 같이 시도 할 수도 있습니다 :: Foreman :: Model :: Vmware. 아니면 실제 구현을 사용할 수 있습니까? 메소드 :'Fog :: Compute.providers.include? (: vsphere)' –
포어 맨 1.11입니다. Katello의 기본 설치이므로 Katello 스택을 사용하기 위해 Red Hat이 수행 한 모든 원숭이 패치 만 가능합니다. 나는 몇 가지 다른 것들을 시도하고 다시보고 할 것이다. –