mirror of
				https://github.com/retspen/webvirtcloud
				synced 2025-07-31 12:41:08 +00:00 
			
		
		
		
	Merge remote-tracking branch 'retspen/master'
Conflicts: conf/requirements.txt
This commit is contained in:
		
						commit
						db1ab88f51
					
				
					 11 changed files with 456 additions and 415 deletions
				
			
		| 
						 | 
				
			
			@ -40,6 +40,7 @@ class NewVMForm(forms.Form):
 | 
			
		|||
    storage = forms.CharField(max_length=20, required=False)
 | 
			
		||||
    template = forms.CharField(required=False)
 | 
			
		||||
    images = forms.CharField(required=False)
 | 
			
		||||
    cache_mode = forms.CharField(error_messages={'required': _('Please select HDD cache mode')})
 | 
			
		||||
    hdd_size = forms.IntegerField(required=False)
 | 
			
		||||
    meta_prealloc = forms.BooleanField(required=False)
 | 
			
		||||
    virtio = forms.BooleanField(required=False)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -77,6 +77,23 @@
 | 
			
		|||
                                    </select>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
                            <div class="form-group meta-prealloc">
 | 
			
		||||
                                <label class="col-sm-3 control-label">{% trans "Metadata" %}</label>
 | 
			
		||||
                                <div class="col-sm-6">
 | 
			
		||||
                                    <input type="checkbox" name="meta_prealloc" title="Metadata preallocation" value="true">
 | 
			
		||||
                                </div>
 | 
			
		||||
                                <label class="col-lg-1 control-label">{% trans "Image" %}</label>
 | 
			
		||||
                            </div>
 | 
			
		||||
                            <div class="form-group">
 | 
			
		||||
                                <label class="col-sm-3 control-label">{% trans "HDD cache mode" %}</label>
 | 
			
		||||
                                <div class="col-sm-6">
 | 
			
		||||
                                    <select id="cache_mode" name="cache_mode" class="form-control">
 | 
			
		||||
                                        {% for mode, name in cache_modes %}
 | 
			
		||||
                                            <option value="{{ mode }}">{% trans name %}</option>
 | 
			
		||||
                                        {% endfor %}
 | 
			
		||||
                                    </select>
 | 
			
		||||
                                </div>
 | 
			
		||||
                            </div>
 | 
			
		||||
                            <div class="form-group">
 | 
			
		||||
                                <label class="col-sm-3 control-label">{% trans "Network" %}</label>
 | 
			
		||||
                                <div class="col-sm-6">
 | 
			
		||||
| 
						 | 
				
			
			@ -159,6 +176,16 @@
 | 
			
		|||
                                    </div>
 | 
			
		||||
                                    <label class="col-lg-1 control-label">{% trans "Image" %}</label>
 | 
			
		||||
                                </div>
 | 
			
		||||
                                <div class="form-group">
 | 
			
		||||
                                    <label class="col-sm-3 control-label">{% trans "HDD cache mode" %}</label>
 | 
			
		||||
                                    <div class="col-sm-6">
 | 
			
		||||
                                        <select id="cache_mode" name="cache_mode" class="form-control">
 | 
			
		||||
                                            {% for mode, name in cache_modes %}
 | 
			
		||||
                                                <option value="{{ mode }}">{% trans name %}</option>
 | 
			
		||||
                                            {% endfor %}
 | 
			
		||||
                                        </select>
 | 
			
		||||
                                    </div>
 | 
			
		||||
                                </div>
 | 
			
		||||
                                <div class="form-group">
 | 
			
		||||
                                    <label class="col-sm-3 control-label">{% trans "Network" %}</label>
 | 
			
		||||
                                    <div class="col-sm-6">
 | 
			
		||||
| 
						 | 
				
			
			@ -258,6 +285,7 @@
 | 
			
		|||
                                                                <label class="col-sm-3 control-label">{% trans "Storage" %}</label>
 | 
			
		||||
 | 
			
		||||
                                                                <div class="col-sm-6">
 | 
			
		||||
                                                                    <input type="hidden" name="cache_mode" value="default">
 | 
			
		||||
                                                                    <select name="storage" class="form-control">
 | 
			
		||||
                                                                        {% if storages %}
 | 
			
		||||
                                                                            {% for storage in storages %}
 | 
			
		||||
| 
						 | 
				
			
			@ -269,13 +297,6 @@
 | 
			
		|||
                                                                    </select>
 | 
			
		||||
                                                                </div>
 | 
			
		||||
                                                            </div>
 | 
			
		||||
                                                            <div class="form-group meta-prealloc">
 | 
			
		||||
                                                                <label class="col-sm-3 control-label">{% trans "Metadata" %}</label>
 | 
			
		||||
                                                                <div class="col-sm-6">
 | 
			
		||||
                                                                    <input type="checkbox" name="meta_prealloc" title="Metadata preallocation" value="true">
 | 
			
		||||
                                                                </div>
 | 
			
		||||
                                                                <label class="col-lg-1 control-label">{% trans "Image" %}</label>
 | 
			
		||||
                                                            </div>
 | 
			
		||||
                                                            <div class="form-group">
 | 
			
		||||
                                                                <label class="col-sm-3 control-label">{% trans "Network" %}</label>
 | 
			
		||||
                                                                <div class="col-sm-6">
 | 
			
		||||
| 
						 | 
				
			
			@ -415,4 +436,4 @@
 | 
			
		|||
    var editor = ace.edit("editor");
 | 
			
		||||
    editor.getSession().setMode("ace/mode/xml");
 | 
			
		||||
</script>
 | 
			
		||||
{% endblock %}
 | 
			
		||||
{% endblock %}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -41,6 +41,7 @@ def create_instance(request, compute_id):
 | 
			
		|||
        networks = sorted(conn.get_networks())
 | 
			
		||||
        instances = conn.get_instances()
 | 
			
		||||
        get_images = sorted(conn.get_storages_images())
 | 
			
		||||
        cache_modes = sorted(conn.get_cache_modes().items())
 | 
			
		||||
        mac_auto = util.randomMAC()
 | 
			
		||||
    except libvirtError as lib_err:
 | 
			
		||||
        error_messages.append(lib_err)
 | 
			
		||||
| 
						 | 
				
			
			@ -122,11 +123,15 @@ def create_instance(request, compute_id):
 | 
			
		|||
                                        volumes[path] = conn.get_volume_type(path)
 | 
			
		||||
                                    except libvirtError as lib_err:
 | 
			
		||||
                                        error_messages.append(lib_err.message)
 | 
			
		||||
                        if data['cache_mode'] not in conn.get_cache_modes():
 | 
			
		||||
                            error_msg = _("Invalid cache mode")
 | 
			
		||||
                            error_messages.append(error_msg)
 | 
			
		||||
                        if not error_messages:
 | 
			
		||||
                            uuid = util.randomUUID()
 | 
			
		||||
                            try:
 | 
			
		||||
                                conn.create_instance(data['name'], data['memory'], data['vcpu'], data['host_model'],
 | 
			
		||||
                                                     uuid, volumes, data['networks'], data['virtio'], data['mac'])
 | 
			
		||||
                                                     uuid, volumes, data['cache_mode'], data['networks'], data['virtio'],
 | 
			
		||||
                                                     data['mac'])
 | 
			
		||||
                                create_instance = Instance(compute_id=compute_id, name=data['name'], uuid=uuid)
 | 
			
		||||
                                create_instance.save()
 | 
			
		||||
                                return HttpResponseRedirect(reverse('instance', args=[compute_id, data['name']]))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue