updated smaller collections for manual
0
collections/developers/internals/zos/assets/.keep
Normal file
BIN
collections/developers/internals/zos/assets/0-OS-upgrade.png
Normal file
After Width: | Height: | Size: 16 KiB |
12
collections/developers/internals/zos/assets/0-OS-upgrade.wsd
Normal file
@@ -0,0 +1,12 @@
|
||||
@startuml
|
||||
start
|
||||
:power on node;
|
||||
repeat
|
||||
:mount boot flist;
|
||||
:copy files to node root;
|
||||
:reconfigure services;
|
||||
:restart services;
|
||||
repeat while (new flist version?) is (yes)
|
||||
-> power off;
|
||||
stop
|
||||
@enduml
|
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 47 KiB |
@@ -0,0 +1,50 @@
|
||||
@startuml
|
||||
|
||||
package "node-ready"{
|
||||
[local-modprobe]
|
||||
[udev-trigger]
|
||||
[redis]
|
||||
[haveged]
|
||||
[cgroup]
|
||||
[redis]
|
||||
}
|
||||
|
||||
package "boot" {
|
||||
[storaged]
|
||||
[internet]
|
||||
[networkd]
|
||||
[identityd]
|
||||
}
|
||||
|
||||
package "internal modules"{
|
||||
[flistd]
|
||||
[containerd]
|
||||
[contd]
|
||||
[upgraded]
|
||||
[provisiond]
|
||||
}
|
||||
|
||||
[local-modprobe]<-- [udev-trigger]
|
||||
[udev-trigger] <-- [storaged]
|
||||
[udev-trigger] <-- [internet]
|
||||
[storaged] <-- [identityd]
|
||||
|
||||
[identityd] <- [networkd]
|
||||
|
||||
[internet] <-- [networkd]
|
||||
[networkd] <-- [containerd]
|
||||
[storaged] <-- [containerd]
|
||||
|
||||
[containerd] <-- [contd]
|
||||
|
||||
[storaged] <-- [flistd]
|
||||
[networkd] <-- [flistd]
|
||||
|
||||
[flistd] <-- [upgraded]
|
||||
[networkd] <-- [upgraded]
|
||||
|
||||
[networkd] <-- [provisiond]
|
||||
[flistd] <-- [provisiond]
|
||||
[contd] <-- [provisiond]
|
||||
|
||||
@enduml
|
BIN
collections/developers/internals/zos/assets/boot_sequence.png
Normal file
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 45 KiB |
@@ -0,0 +1,37 @@
|
||||
@startuml
|
||||
title Provisioning of a resource space
|
||||
|
||||
autonumber
|
||||
actor User as user
|
||||
' entity Farmer as farmer
|
||||
entity Network as network
|
||||
database Blockchain as bc
|
||||
boundary Node as node
|
||||
collections "Resource space" as rs
|
||||
|
||||
== Resource research ==
|
||||
user -> network: Send resource request
|
||||
activate network
|
||||
network -> node: broadcast resource request
|
||||
activate node
|
||||
deactivate network
|
||||
...broadcast to all nodes...
|
||||
node -> user: Send offer
|
||||
user -> user: inspect offer
|
||||
|
||||
== Resource space negotiation ==
|
||||
user -> node: accept offer
|
||||
user <-> node: key exchange
|
||||
user -> bc: money is locked on blockchain
|
||||
...
|
||||
node -> rs: create resrouce space
|
||||
activate rs
|
||||
node -> user: notify space is created
|
||||
node -> bc: notify he created the space
|
||||
user -> rs: make sure it can access the space
|
||||
user -> bc: validate can access the space
|
||||
bc -> node: money is released to the node
|
||||
deactivate node
|
||||
== Usage of the space ==
|
||||
user -> rs: deploy workload
|
||||
@enduml
|
After Width: | Height: | Size: 70 KiB |
@@ -0,0 +1,42 @@
|
||||
@startuml
|
||||
title Provisioning a workload on the TFGrid
|
||||
|
||||
autonumber
|
||||
actor "User" as user
|
||||
actor "Farmer" as farmer
|
||||
database "TF Explorer" as explorer
|
||||
database Blockchain as blockchain
|
||||
boundary Node as node
|
||||
|
||||
== Price definition ==
|
||||
farmer -> explorer: Farmer set the price of its Resource units
|
||||
== Resource research ==
|
||||
activate explorer
|
||||
user -> explorer: User look where to deploy the workload
|
||||
user <- explorer: Gives detail about the farmer owning the node selected
|
||||
== Resource reservation ==
|
||||
user -> explorer: write description of the workload
|
||||
explorer -> user: return a list of transaction to execute on the blockchain
|
||||
== Reservation processing ==
|
||||
user -> blockchain: execute transactions
|
||||
explorer <-> blockchain: verify transactions are done
|
||||
explorer -> explorer: reservation status changed to `deploy`
|
||||
== Resource provisioning ==
|
||||
node <-> explorer: read description of the workloads
|
||||
node -> node: provision workload
|
||||
alt provision successfull
|
||||
node -> explorer: write result of the provisining
|
||||
explorer -> blockchain: forward token to the farmer
|
||||
blockchain -> farmer: tokens are available to the farmer
|
||||
user <- explorer: read the connection information to his workload
|
||||
else provision error
|
||||
node -> explorer: write result of the provisining
|
||||
explorer -> explorer: cancel reservation
|
||||
node -> node: free up capacity
|
||||
explorer -> blockchain: token refunded to user
|
||||
blockchain <-> user: tokens are available to the user again
|
||||
end
|
||||
deactivate explorer
|
||||
== Resource monitoring ==
|
||||
user <-> node: use / monitor workload
|
||||
@enduml
|
20
collections/developers/internals/zos/assets/ipc.plantuml
Normal file
@@ -0,0 +1,20 @@
|
||||
@startuml
|
||||
|
||||
== Initialization ==
|
||||
Module -> MsgBroker: Announce Module
|
||||
MsgBroker -> Module: create bi-directional channel
|
||||
|
||||
== Utilisation ==
|
||||
loop
|
||||
DSL -> MsgBroker: put RPC message
|
||||
activate MsgBroker
|
||||
Module <- MsgBroker: pull RPC message
|
||||
activate Module
|
||||
Module -> Module: execute method
|
||||
Module -> MsgBroker: put reponse
|
||||
deactivate Module
|
||||
MsgBroker -> DSL : read reponse
|
||||
deactivate MsgBroker
|
||||
end
|
||||
|
||||
@enduml
|
BIN
collections/developers/internals/zos/assets/ipc.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
collections/developers/internals/zos/assets/market.png
Normal file
After Width: | Height: | Size: 23 KiB |
22
collections/developers/internals/zos/assets/market.wsd
Normal file
@@ -0,0 +1,22 @@
|
||||
@startuml
|
||||
actor User as user
|
||||
box "To Be Defined" #LightBlue
|
||||
participant Market
|
||||
end box
|
||||
entity Farmer as farmer
|
||||
boundary Node as node
|
||||
|
||||
user -> farmer: Request space
|
||||
activate farmer
|
||||
farmer -> node: reserve space
|
||||
activate node
|
||||
farmer -> user: confirmation
|
||||
deactivate farmer
|
||||
...
|
||||
note over user, node: communication allows only owner of space
|
||||
user -> node: deploy services
|
||||
...
|
||||
user -> farmer: destroy space
|
||||
farmer -> node: delete space
|
||||
deactivate node
|
||||
@enduml
|