Revision b089ed9e
Added by Ondřej Ezr about 3 years ago
developer_docs/architecture/hosts/diagrams/vm_render_form_tab_diagram.mmd | ||
---|---|---|
sequenceDiagram
|
||
newHostForm->>+HostsController: compute_resource_selected(hg_id, cr_id, cp_id)
|
||
HostsController->> ComputeResource : compute_resource = find(cr_id)
|
||
HostsController->> +ComputeResource : compute_profile_attributes_for(cp_id)
|
||
ComputeResource->> ComputeResource : fetch_cr_attributes(cr_id)
|
||
ComputeResource->> -HostsController : compute_profile_attrs
|
||
HostsController->>_compute: render(compute_resource, compute_profile_attrs)
|
||
_compute->> +ComputeResource : new_vm(attrs = compute_profile_attributes)
|
||
ComputeResource ->> ComputeResource: fog.new(vm_instance_defaults.merge(attrs))
|
||
ComputeResource ->> -_compute : vm<Fog::Server>
|
||
_compute->> HostsHelper : args_for_compute_resource_partial(host=nil)
|
||
_compute->> _provider_/base : render(compute_resource, vm, args_for_cr_partial)
|
||
newHostForm->>+HostsController : compute_resource_selected(host_params)
|
||
HostsController->> HostsController : host=refresh_host
|
||
HostsController->> ComputeResource : cp_attrs = compute_profile_attributes_for(host.cp_id)
|
||
HostsController->> Host : compute_attributes=(cp_attrs)
|
||
HostsController->> +_compute : render(host, compute_resource)
|
||
_compute->> Host : compute_object
|
||
Host->> +ComputeResource : new_vm(compute_attributes)
|
||
ComputeResource->> ComputeResource: fog.new(vm_instance_defaults.merge(attrs))
|
||
ComputeResource->> -Host : vm<Fog::Server>
|
||
Host ->> _compute : vm
|
||
_compute->> _provider_/base : render(compute_resource, host, vm)
|
||
_provider_/base-->> _compute : rendered
|
||
_compute-->> HostsController : rendered
|
||
_compute-->> -HostsController : rendered
|
||
HostsController->> -newHostForm : VM_tab_html_over_AJAX
|
Also available in: Unified diff
Fixes #32083 - use full Host model in VM template
For rendering `hosts/_compute` we've used just host attributes in the
past, but it just brings more complexity, when we cant rely on the Host
model to be around.
This builds the Host model instead and passes it to the templates.