* 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