MCPcopy
hub / github.com/retspen/webvirtcloud / create_instance

Function create_instance

create/views.py:14–140  ·  view source on GitHub ↗

:param request: :return:

(request, compute_id)

Source from the content-addressed store, hash-verified

12
13
14def create_instance(request, compute_id):
15 """
16 :param request:
17 :return:
18 """
19
20 if not request.user.is_authenticated():
21 return HttpResponseRedirect(reverse('index'))
22
23 if not request.user.is_superuser:
24 return HttpResponseRedirect(reverse('index'))
25
26 conn = None
27 error_messages = []
28 storages = []
29 networks = []
30 meta_prealloc = False
31 computes = Compute.objects.all()
32 compute = get_object_or_404(Compute, pk=compute_id)
33 flavors = Flavor.objects.filter().order_by('id')
34
35 try:
36 conn = wvmCreate(compute.hostname,
37 compute.login,
38 compute.password,
39 compute.type)
40
41 storages = sorted(conn.get_storages())
42 networks = sorted(conn.get_networks())
43 instances = conn.get_instances()
44 get_images = sorted(conn.get_storages_images())
45 mac_auto = util.randomMAC()
46 except libvirtError as lib_err:
47 error_messages.append(lib_err)
48
49 if conn:
50 if not storages:
51 msg = _("You haven't defined any storage pools")
52 error_messages.append(msg)
53 if not networks:
54 msg = _("You haven't defined any network pools")
55 error_messages.append(msg)
56
57 if request.method == 'POST':
58 if 'create_flavor' in request.POST:
59 form = FlavorAddForm(request.POST)
60 if form.is_valid():
61 data = form.cleaned_data
62 create_flavor = Flavor(label=data['label'],
63 vcpu=data['vcpu'],
64 memory=data['memory'],
65 disk=data['disk'])
66 create_flavor.save()
67 return HttpResponseRedirect(request.get_full_path())
68 if 'delete_flavor' in request.POST:
69 flavor_id = request.POST.get('flavor', '')
70 delete_flavor = Flavor.objects.get(id=flavor_id)
71 delete_flavor.delete()

Callers

nothing calls this directly

Calls 15

wvmCreateClass · 0.90
FlavorAddFormClass · 0.90
FlavorClass · 0.90
NewVMFormClass · 0.90
InstanceClass · 0.90
get_storagesMethod · 0.80
get_networksMethod · 0.80
get_instancesMethod · 0.80
get_storages_imagesMethod · 0.80
get_volume_pathMethod · 0.80
clone_from_templateMethod · 0.80
create_instanceMethod · 0.80

Tested by

no test coverage detected