mirror of
https://github.com/retspen/webvirtcloud
synced 2024-10-31 19:44:16 +00:00
instance/settings: inputs renamed according to action type (net -> clone-net-mac, net -> net-mac)
instance/network: correct multiple interfaces handling, add mac handling
This commit is contained in:
parent
71c6161291
commit
96982ce58b
3 changed files with 11 additions and 13 deletions
|
@ -674,16 +674,12 @@
|
|||
{% for network in networks %}
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label" style="font-weight:normal;">eth{{ forloop.counter0 }}</label>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" class="form-control" name="net-{{ forloop.counter0 }}" value="{{ network.mac }}"/>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" name="net-mac-{{ forloop.counter0 }}" value="{{ network.mac }}"/>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<input type="text" class="form-control" name="net-source-{{ forloop.counter0 }}" value="{{ network.nic }}"/>
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
<button type="button" class="btn btn-sm btn-success pull-left" name="random-mac-{{ forloop.counter0 }}"
|
||||
onclick="random_mac({{ forloop.counter0 }})" style="margin-top: 2px;">{% trans "Random MAC" %}</button>
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% ifequal status 5 %}
|
||||
|
@ -725,7 +721,7 @@
|
|||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label" style="font-weight:normal;">eth{{ forloop.counter0 }} ({{ network.nic }})</label>
|
||||
<div class="col-sm-4">
|
||||
<input type="text" class="form-control" name="net-{{ forloop.counter0 }}" value="{{ network.mac }}"/>
|
||||
<input type="text" class="form-control" name="clone-net-mac-{{ forloop.counter0 }}" value="{{ network.mac }}"/>
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<button type="button" class="btn btn-sm btn-success pull-left" name="random-mac-{{ forloop.counter0 }}"
|
||||
|
@ -954,7 +950,7 @@
|
|||
macAddress+=hexDigits.charAt(Math.round(Math.random()*16));
|
||||
if (i != 2) macAddress+=":";
|
||||
}
|
||||
$('input[name="net-'+net+'"]').val(macAddress);
|
||||
$('input[name="clone-net-mac-'+net+'"]').val(macAddress);
|
||||
};
|
||||
</script>
|
||||
<script>
|
||||
|
@ -970,7 +966,7 @@
|
|||
function guess_mac_address(net) {
|
||||
new_vname = $('#clone_name').val();
|
||||
$.getJSON('/instance/guess_mac_address/' + new_vname + '/', function(data) {
|
||||
$('input[name="net-'+net+'"]').val(data['mac']);
|
||||
$('input[name="clone-net-mac-'+net+'"]').val(data['mac']);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
|
|
|
@ -511,7 +511,7 @@ def instance(request, compute_id, vname):
|
|||
network_data = {}
|
||||
|
||||
for post in request.POST:
|
||||
if 'net-' in post:
|
||||
if post.startswith('net-'):
|
||||
network_data[post] = request.POST.get(post, '')
|
||||
|
||||
conn.change_network(network_data)
|
||||
|
|
|
@ -632,7 +632,7 @@ class wvmInstance(wvmConnect):
|
|||
|
||||
for num, net in enumerate(tree.findall('devices/interface')):
|
||||
elm = net.find('mac')
|
||||
mac_address = self.fix_mac(clone_data['net-' + str(num)])
|
||||
mac_address = self.fix_mac(clone_data['clone-net-mac-' + str(num)])
|
||||
elm.set('address', mac_address)
|
||||
|
||||
for disk in tree.findall('devices/disk'):
|
||||
|
@ -693,10 +693,12 @@ class wvmInstance(wvmConnect):
|
|||
xml = self._XMLDesc(VIR_DOMAIN_XML_SECURE)
|
||||
tree = ElementTree.fromstring(xml)
|
||||
|
||||
for interface in tree.findall('devices/interface'):
|
||||
for num, interface in enumerate(tree.findall('devices/interface')):
|
||||
if interface.get('type') == 'bridge':
|
||||
source = interface.find('mac')
|
||||
source.set('address', network_data['net-mac-' + str(num)])
|
||||
source = interface.find('source')
|
||||
source.set('bridge', network_data['net-source-0'])
|
||||
source.set('bridge', network_data['net-source-' + str(num)])
|
||||
|
||||
new_xml = ElementTree.tostring(tree)
|
||||
self._defineXML(new_xml)
|
||||
|
|
Loading…
Reference in a new issue