theforeman/foreman · error · Foreman::Exception
Failed to deploy vm %{name}, fault: %{e}
Error message
Failed to deploy vm %{name}, fault: %{e} What it means
Error "Failed to deploy vm %{name}, fault: %{e}" thrown in theforeman/foreman.
Source
Thrown at app/models/compute_resources/foreman/model/openstack.rb:187
args[:security_groups].delete_if(&:blank?) if args[:security_groups].present?
format_scheduler_hint_filter(args) if args[:scheduler_hint_filter].present?
vm = super(args)
if network.present?
address = allocate_address(network)
assign_floating_ip(address, vm)
end
vm
rescue => e
message = JSON.parse(e.response.body)['badRequest']['message'] rescue (e.to_s)
logger.warn "failed to create vm: #{message}"
destroy_vm vm.id if vm
volume_client.volumes.delete(@boot_vol_id) if args[:boot_from_volume]
raise message
end
def vm_ready(vm)
vm.wait_for { ready? || failed? }
raise Foreman::Exception.new(N_("Failed to deploy vm %{name}, fault: %{e}"), { :name => vm.name, :e => vm.fault['message'] }) if vm.failed?
end
def destroy_vm(uuid)
vm = find_vm_by_uuid(uuid)
floating_ips = vm.all_addresses
floating_ips.each do |address|
client.disassociate_address(uuid, address['ip']) rescue true
client.release_address(address['id']) rescue true
end
super(uuid)
rescue ActiveRecord::RecordNotFound
# if the VM does not exists, we don't really care.
true
end
def console(uuid)
vm = find_vm_by_uuid(uuid)
vm.console.body.merge({'timestamp' => Time.now.utc})View on GitHub (pinned to 6b05625475)
When it happens
Trigger: Thrown at app/models/compute_resources/foreman/model/openstack.rb:187 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of theforeman/foreman@6b05625475 (2026-08-23).
Data as JSON: /api/errors/18cda4cdc2382ddc.
Report an issue: GitHub.