forked from uncloud/uncloud
		
	Add readme about identifiers
This commit is contained in:
		
					parent
					
						
							
								594f1a9b69
							
						
					
				
			
			
				commit
				
					
						aa8ade4730
					
				
			
		
					 1 changed files with 29 additions and 0 deletions
				
			
		
							
								
								
									
										29
									
								
								uncloud_django_based/uncloud/doc/README-identifiers.org
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								uncloud_django_based/uncloud/doc/README-identifiers.org
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,29 @@
 | 
			
		|||
* Identifiers
 | 
			
		||||
** Problem description
 | 
			
		||||
   Identifiers can be integers, strings or other objects. They should
 | 
			
		||||
   be unique.
 | 
			
		||||
** Approach 1: integers
 | 
			
		||||
   Integers are somewhat easy to remember, but also include
 | 
			
		||||
   predictable growth, which might allow access to guessed hacking
 | 
			
		||||
   (obivously proper permissions should prevent this).
 | 
			
		||||
** Approach 2: random uuids
 | 
			
		||||
   UUIDs are 128 bit integers. Python supports uuid.uuid4() for random
 | 
			
		||||
   uuids.
 | 
			
		||||
** Approach 3: IPv6 addresses
 | 
			
		||||
   uncloud heavily depends on IPv6 in the first place. uncloud could
 | 
			
		||||
   use a /48 to identify all objects. Objects that have IPv6 addresses
 | 
			
		||||
   on their own, don't need to draw from the system /48.
 | 
			
		||||
*** Possible Subnetworks
 | 
			
		||||
    Assuming uncloud uses a /48 to represent all resources.
 | 
			
		||||
 | 
			
		||||
    | Network         | Name            | Description                                  |
 | 
			
		||||
    |-----------------+-----------------+----------------------------------------------|
 | 
			
		||||
    | 2001:db8::/48   | uncloud network | All identifiers drawn from here              |
 | 
			
		||||
    | 2001:db8:1::/64 | VM network      | Every VM has an IPv6 address in this network |
 | 
			
		||||
    | 2001:db8:2::/64 | Bill network    | Every bill has an IPv6 address               |
 | 
			
		||||
    | 2001:db8:3::/64 | Order network   | Every order has an IPv6 address              |
 | 
			
		||||
    | 2001:db8:5::/64 | Product network | Every product (?) has an IPv6 address        |
 | 
			
		||||
    | 2001:db8:4::/64 | Disk network    | Every disk is identified                     |
 | 
			
		||||
 | 
			
		||||
*** Tests
 | 
			
		||||
    [15:47:37] black3.place6:~# rbd create -s 10G ssd/2a0a:e5c0:1::8
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue