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…
Reference in a new issue