Remove templates
In the current setup the templates views are not necessary
This commit is contained in:
		
					parent
					
						
							
								0b5cf2c057
							
						
					
				
			
			
				commit
				
					
						ca63355914
					
				
			
		
					 3 changed files with 1 additions and 75 deletions
				
			
		|  | @ -11,37 +11,12 @@ from .models import OpenNebulaManager | |||
| class VirtualMachineTemplateSerializer(serializers.Serializer): | ||||
|     """Serializer to map the virtual machine template instance into JSON format.""" | ||||
|     id          = serializers.IntegerField(read_only=True) | ||||
|     set_name    = serializers.CharField(read_only=True, label='Name') | ||||
|     name        = serializers.SerializerMethodField() | ||||
|     cores       = serializers.SerializerMethodField()  | ||||
|     disk        = serializers.IntegerField(write_only=True) | ||||
|     disk_size   = serializers.SerializerMethodField() | ||||
|     set_memory      = serializers.IntegerField(write_only=True, label='Memory') | ||||
|     memory      = serializers.SerializerMethodField() | ||||
|     price       = serializers.SerializerMethodField() | ||||
| 
 | ||||
|     def create(self, validated_data): | ||||
|         data = validated_data | ||||
|         template = data.pop('template') | ||||
| 
 | ||||
|         cores = template.pop('vcpu') | ||||
|         name    = data.pop('name') | ||||
|         disk_size = data.pop('disk')  | ||||
|         memory  = template.pop('memory') | ||||
|         manager = OpenNebulaManager() | ||||
|          | ||||
|         try: | ||||
|             opennebula_id = manager.create_template(name=name, cores=cores, | ||||
|                                                     memory=memory, | ||||
|                                                     disk_size=disk_size, | ||||
|                                                     core_price=core_price, | ||||
|                                                     disk_size_price=disk_size_price, | ||||
|                                                     memory_price=memory_price) | ||||
|         except OpenNebulaException as err: | ||||
|             raise serializers.ValidationError("OpenNebulaException occured. {0}".format(err)) | ||||
|          | ||||
|         return manager.get_template(template_id=opennebula_id) | ||||
| 
 | ||||
|     def get_cores(self, obj): | ||||
|         if hasattr(obj.template, 'vcpu'): | ||||
|             return obj.template.vcpu | ||||
|  | @ -58,18 +33,6 @@ class VirtualMachineTemplateSerializer(serializers.Serializer): | |||
|         except: | ||||
|             return 0 | ||||
| 
 | ||||
| 
 | ||||
|     def get_price(self, obj): | ||||
|         template = obj.template | ||||
|         price = float(template.cpu) * 5.0 | ||||
|         price += (int(template.memory)/1024 * 2.0) | ||||
|         try: | ||||
|             for disk in template.disks: | ||||
|                 price += int(disk.size)/1024 * 0.6 | ||||
|         except: | ||||
|             pass | ||||
|         return price | ||||
| 
 | ||||
|     def get_memory(self, obj): | ||||
|         return int(obj.template.memory)/1024 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue