1
0
Fork 0
mirror of https://github.com/retspen/webvirtcloud synced 2025-07-31 12:41:08 +00:00

add/remove guest agent channel function added

This commit is contained in:
catborise 2019-12-24 17:19:11 +03:00
parent ecf31b0b5b
commit 9d58e56d16
3 changed files with 76 additions and 12 deletions

View file

@ -1411,11 +1411,11 @@
</form>
<div class="clearfix"></div>
</div>
<div class="well">
<div class="well">
<p>{% trans "To set instance vCPUs hotpluggable" %}</p>
<form class="form-horizontal" method="post" role="form">{% csrf_token %}
<div class="form-group">
<label for="video_model_select" class="col-sm-3 control-label">{% trans "vCPU Hot Plug" %}</label>
<label for="vcpu_hotplug" class="col-sm-3 control-label">{% trans "vCPU Hot Plug" %}</label>
<div class="col-sm-6">
<div class="input-group">
<select id="vcpu_hotplug" class="form-control" name="vcpu_hotplug">
@ -1435,6 +1435,31 @@
</form>
<div class="clearfix"></div>
</div>
<div class="well">
<p>{% trans "To Enable/Disable Qemu Guest Agent. Status:" %}
{% if guest_agent_ready %}
<label class="label label-success">{% trans 'Connected' %}</label>
{% else %}
<label class="label label-danger">{% trans 'Disconnected' %}</label>
{% endif %}</p>
<form class="form-horizontal" method="post" role="form">{% csrf_token %}
<div class="form-group">
<label for="guest_agent" class="col-sm-3 control-label">{% trans "Qemu Guest Agent" %}</label>
<div class="col-sm-6">
<div class="input-group">
<select id="guest_agent" class="form-control" name="guest_agent">
<option value="True" {% if guest_agent %} selected {% endif %}>{% trans 'Enabled' %}</option>
<option value="False" {% if not guest_agent %} selected {% endif %}>{% trans 'Disabled' %}</option>
</select>
<span class="input-group-btn">
<button type="submit" class="btn btn-success" name="set_guest_agent">{% trans "Set" %}</button>
</span>
</div>
</div>
</div>
</form>
<div class="clearfix"></div>
</div>
</div>
{% endif %}
</div>

View file

@ -303,6 +303,8 @@ def instance(request, compute_id, vname):
console_port = conn.get_console_port()
console_keymap = conn.get_console_keymap()
console_listen_address = conn.get_console_listen_addr()
guest_agent = False if conn.get_guest_agent() is None else True
guest_agent_ready = conn.is_agent_ready()
video_model = conn.get_video_model()
snapshots = sorted(conn.get_snapshot(), reverse=True, key=lambda k: k['date'])
inst_xml = conn._XMLDesc(VIR_DOMAIN_XML_SECURE)
@ -810,6 +812,17 @@ def instance(request, compute_id, vname):
return HttpResponseRedirect(request.get_full_path() + '#vncsettings')
if request.user.is_superuser:
if 'set_guest_agent' in request.POST:
status = request.POST.get('guest_agent')
if status == 'True':
conn.add_guest_agent()
if status == 'False':
conn.remove_guest_agent()
msg = _("Set Quest Agent {}".format(status))
addlogmsg(request.user.username, instance.name, msg)
return HttpResponseRedirect(request.get_full_path() + '#options')
if 'set_video_model' in request.POST:
video_model = request.POST.get('video_model', 'vga')
conn.set_video_model(video_model)