Π‘ΠΊΠΈΠ΄ΠΈΠ²Π΅ ΡΠ΅ Π°Π½Π°Π»ΠΈΠ·Π°ΡΠΎΡ ΠΌΡΠ΅ΠΆΠ½Π΅ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ ΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΎΠ³ ΠΊΠΎΠ΄Π° Ρ ΡΠ΅Π°Π»Π½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Ρ. ΠΠΌΠ° Π·Π° ΡΠΈΡ Π΄Π° ΠΏΡΡΠΆΠΈ ΡΠ²Π΅ΠΎΠ±ΡΡ Π²Π°ΡΠ°Π½ Π½Π°ΡΠΈΠ½ Π΄Π° ΡΠ΅ ΡΠ°Π·ΡΠΌΠ΅ ΡΡΠ° ΡΠ΅ Π΄Π΅ΡΠ°Π²Π° Ρ ΠΌΡΠ΅ΠΆΠ½ΠΎΡ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠΈ.
ΠΠ° Π±ΠΈΡ Π²Π°Ρ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°ΠΎ, Π΄Π°ΡΡ Π²Π°ΠΌ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΡΠ½ΠΈΠΌΠ°ΠΊΠ° Π΅ΠΊΡΠ°Π½Π° ΠΎ Π‘ΠΊΠΈΠ΄ΠΈΠ²Π΅-Ρ. ΠΡΠΏΠΎΠ΄ ΡΠ΅ Π±ΠΈΡΠΈ ΠΏΠΎΡΡ ΠΎ ΡΠ²ΠΎΠ΄Ρ Ρ Π‘ΠΊΠΈΠ΄ΠΈΠ²Π΅.
ΠΠΎΡΡΠ° "
Π‘ΠΊΠΈΠ΄ΠΈΠ²Π΅ ΠΏΡΠΈΠΊΠ°Π·ΡΡΠ΅ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡ ΠΌΡΠ΅ΠΆΠ΅ ΠΏΡΠΈΠΌΠ°ΡΡΡΠΈ ΠΌΡΠ΅ΠΆΠ½Π΅ Π΄ΠΎΠ³Π°ΡΠ°ΡΠ΅ ΠΎΠ΄ Π‘ΠΊΠΈΠ΄ΠΈΠ²Π΅ Π°Π³Π΅Π½Π°ΡΠ°. ΠΠ° Π»ΠΈ ΡΡΠ΅ ΡΠ΅ ΠΈΠΊΠ°Π΄Π° Π·Π°ΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π΄ΠΎΠ΄Π°ΡΠ΅ ΠΈΠ»ΠΈ ΠΏΡΠΈΠΊΠ°ΠΆΠ΅ΡΠ΅ Ρ ΡΠΎΠΏΠΎΠ»ΠΎΡΠΊΠΎΠΌ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΡ ΠΌΡΠ΅ΠΆΠ½Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ΅ ΠΊΠΎΡΠ΅ ΡΡ ΠΈΠ·Π²Π°Π½ ΠΌΡΠ΅ΠΆΠ΅ Π‘ΠΊΠΈΠ΄ΠΈΠ²Π΅ Π°Π³Π΅Π½ΡΠ° ΠΈΠ»ΠΈ Π½Π΅ΠΌΡΠ΅ΠΆΠ½Π΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ΅ ΠΊΠ°ΠΎ ΡΡΠΎ ΡΡ Π’ΠΠ , ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°, ΠΈΡΠ΄. ΠΠΈΡΠ΅ Π½Π΅ΠΌΠ° ΠΏΠΎΡΡΠ΅Π±Π΅ Π΄Π° Π±ΡΠΈΠ½Π΅ΡΠ΅ ΠΎ ΡΠΎΠΌΠ΅ Π·Π°Ρ Π²Π°ΡΡΡΡΡΠΈ ΠΠΠ-ΡΡ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΠΎΠ΄Π΅.
ΠΠ΄ Π²Π΅ΡΠ·ΠΈΡΠ΅ 0.20, Π‘ΠΊΠΈΠ΄ΠΈΠ²Π΅ ΠΎΠ±Π΅Π·Π±Π΅ΡΡΡΠ΅ ΠΠΠ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ²ΠΎΡΠΎΠ²Π° ΠΊΠΎΡΠΈ ΡΠ΅ ΠΌΠΎΠΆΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²ΠΈΡ ΡΠ²ΠΎΡΠΎΠ²Π° ΠΈ ΠΈΠ²ΠΈΡΠ° ΠΈ Π·Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΠΎΡΡΠΎΡΠ΅ΡΠΈΡ ΡΠ²ΠΎΡΠΎΠ²Π°. ΠΠΠ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ²ΠΎΡΠ° ΡΠ΅ ΠΏΠΎΠ΄Π΅ΡΠ΅Π½ Π½Π° Π΄Π²Π° ΠΠΠ-ΡΠ°: ΠΠΠ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ²ΠΎΡΠ° ΠΈ ΠΠΠ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΠ²ΠΈΡΠ΅. ΠΠΠ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ²ΠΎΡΠ° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²ΠΎΠ³ ΡΠ²ΠΎΡΠ° ΠΈ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΠΎΡΡΠΎΡΠ΅ΡΠ΅Π³ ΡΠ²ΠΎΡΠ°. ΠΠΠ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΠ²ΠΈΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π³ΡΠ°Π½ΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡ Π΄Π²Π° ΡΠ²ΠΎΡΠ°, ΡΡ. ΠΏΠΎΠ²Π΅Π·ΡΡΠ΅ Π΄Π²Π° ΡΠ²ΠΎΡΠ°.
Π£ ΠΎΠ²ΠΎΠΌ Π±Π»ΠΎΠ³Ρ ΡΠ΅ΠΌΠΎ Π²ΠΈΠ΄Π΅ΡΠΈ Π΄Π²Π° ΡΠ»ΡΡΠ°ΡΠ° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ°, ΠΎΠ΄ ΠΊΠΎΡΠΈΡ ΡΠ΅ ΡΠ΅Π΄Π°Π½ ΠΌΡΠ΅ΠΆΠ½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° ΠΊΠΎΡΠ° Π½ΠΈΡΠ΅ Π΄Π΅ΠΎ ΠΏΠ°Π΄ΠΎΠ±ΡΠ°Π½ΡΠΊΠ΅ ΠΌΡΠ΅ΠΆΠ΅. ΠΡΡΠ³Π° ΠΎΠΏΡΠΈΡΠ° ΡΠ΅ Π½Π΅ΠΌΡΠ΅ΠΆΠ½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΡΠ΅ ΡΠΎΠ³Π°, ΠΏΠΎΠ³Π»Π΅Π΄Π°ΡΠ΅ΠΌΠΎ Π½Π΅ΠΊΠ΅ ΠΎΡΠ½ΠΎΠ²Π½Π΅ Π½Π°ΡΠΈΠ½Π΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ° ΠΠΠ-ΡΠ° ΡΠΎΠΏΠΎΠ»ΠΎΡΠΊΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»Π°.
ΠΡΠ΅ΠΈΡΠ°ΡΠ΅ ΡΠ²ΠΎΡΠ° Π·Π° ΠΏΠ°Π΄ΠΎΠ±ΡΠ°Π½ΡΡΠ²ΠΎ
ΠΠ° Π±ΠΈΡΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π»ΠΈ ΡΠ²ΠΎΡ, ΠΌΠΎΡΠ°ΡΠ΅ Π½Π°Π²Π΅ΡΡΠΈ ΡΠ΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½ΠΎ ΠΈΠΌΠ΅ ΡΠ²ΠΎΡΠ° ΠΈ Π²Π°ΠΆΠ΅ΡΠΈ ΡΠΈΠΏ ΡΠ²ΠΎΡΠ°. Π’Π°ΠΊΠΎΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π°ΡΠΈ Π½Π΅ΠΊΠ΅ Π΄ΠΎΠ΄Π°ΡΠ½Π΅ ΠΎΠΏΡΠΈΡΠ΅.
skydive client node-rule create --action="create" --node-name="node1" --node-type="fabric" --name="node rule1"
{
"UUID": "ea21c30f-cfaa-4f2d-693d-95159acb71ed",
"Name": "node rule1",
"Description": "",
"Metadata": {
"Name": "node1",
"Type": "fabric"
},
"Action": "create",
"Query": ""
}
ΠΠΆΡΡΠΈΡΠ°ΡΡΠ΅ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΡΠ²ΠΎΡΠΎΠ²Π° Π‘ΠΊΠΈΠ΄ΠΈΠ²Π΅
ΠΠ° Π±ΠΈΡΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°Π»ΠΈ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΠΏΠΎΡΡΠΎΡΠ΅ΡΠ΅Π³ ΡΠ²ΠΎΡΠ°, ΠΌΠΎΡΠ°ΡΠ΅ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΡΠ΅ Π³ΡΠ΅ΠΌΠ»ΠΈΠ½ ΡΠΏΠΈΡ Π΄Π° Π±ΠΈΡΡΠ΅ ΠΈΠ·Π°Π±ΡΠ°Π»ΠΈ ΡΠ²ΠΎΡΠΎΠ²Π΅ Π½Π° ΠΊΠΎΡΠΈΠΌΠ° ΠΆΠ΅Π»ΠΈΡΠ΅ Π΄Π° Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΊΠ΅. ΠΡΠ΅ΠΌΠ° Π²Π°ΡΠ΅ΠΌ Π·Π°Ρ ΡΠ΅Π²Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π°ΠΆΡΡΠΈΡΠ°ΡΠΈ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΡΠ΅Π΄Π½ΠΎΠ³ ΠΈΠ»ΠΈ Π²ΠΈΡΠ΅ ΡΠ²ΠΎΡΠΎΠ²Π° ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ ΡΠ΅Π΄Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΡΠ΅Π΄Π°Π½ ΡΠ²ΠΎΡ.
skydive client node-rule create --action="update" --name="update rule" --query="G.V().Has('Name', 'node1')" --metadata="key1=val1, key2=val2"
{
"UUID": "3e6c0e15-a863-4583-6345-715053ac47ce",
"Name": "update rule",
"Description": "",
"Metadata": {
"key1": "val1",
"key2": "val2"
},
"Action": "update",
"Query": "G.V().Has('Name', 'node1')"
}
ΠΡΠ΅ΠΈΡΠ°ΡΠ΅ Π‘ΠΊΠΈΠ΄ΠΈΠ²Π΅ ΠΠ΄Π³Π΅-Π°
ΠΠ° Π±ΠΈΡΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π»ΠΈ ΠΈΠ²ΠΈΡΡ, ΠΌΠΎΡΠ°ΡΠ΅ Π½Π°Π²Π΅ΡΡΠΈ ΠΈΠ·Π²ΠΎΡΠ½ΠΈ ΠΈ ΠΎΠ΄ΡΠ΅Π΄ΠΈΡΠ½ΠΈ ΡΠ²ΠΎΡ ΠΈ ΡΠΈΠΏ Π²Π΅Π·Π΅ ΠΈΠ²ΠΈΡΠ΅; Π΄Π° Π±ΠΈΡΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π»ΠΈ ΠΏΠΎΠ΄ΡΠ΅ΡΠ΅Π½ΠΈ ΡΠ²ΠΎΡ, Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΡΠΈΠΏΠ° Π²Π΅Π·Π΅ ΠΌΠΎΡΠ° Π΄Π° Π±ΡΠ΄Π΅ Π²Π»Π°ΡΠ½ΠΈΡΡΠ²ΠΎ; Π½Π° ΡΠ»ΠΈΡΠ°Π½ Π½Π°ΡΠΈΠ½, Π΄Π° Π±ΠΈΡΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π»ΠΈ ΡΠ»ΠΎΡ ΡΠΈΠΏΠ° Π²Π΅Π·Π΅2, Π²ΡΠ΅Π΄Π½ΠΎΡΡ ΡΠΈΠΏΠ° Π²Π΅Π·Π΅ ΠΌΠΎΡΠ° Π±ΠΈΡΠΈ Π»Π°ΠΈΠ΅Ρ2. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°ΡΠΈ Π²ΠΈΡΠ΅ ΠΎΠ΄ ΡΠ΅Π΄Π½Π΅ Π²Π΅Π·Π΅ ΠΈΠ·ΠΌΠ΅ΡΡ Π΄Π²Π° ΡΠ²ΠΎΡΠ°, Π°Π»ΠΈ ΡΠΈΠΏ Π²Π΅Π·Π΅ ΠΌΠΎΡΠ° Π±ΠΈΡΠΈ Π΄ΡΡΠ³Π°ΡΠΈΡΠΈ.
skydive client edge-rule create --name="edge" --src="G.v().has('TID', '2f6f9b99-82ef-5507-76b6-cbab28bda9cb')" --dst="G.V().Has('TID', 'd6ec6e2f-362e-51e5-4bb5-6ade37c2ca5c')" --relationtype="both"
{
"UUID": "50fec124-c6d0-40c7-42a3-2ed8d5fbd410",
"Name": "edge",
"Description": "",
"Src": "G.v().has('TID', '2f6f9b99-82ef-5507-76b6-cbab28bda9cb')",
"Dst": "G.V().Has('TID', 'd6ec6e2f-362e-51e5-4bb5-6ade37c2ca5c')",
"Metadata": {
"RelationType": "both"
}
}
ΠΡΠ²ΠΈ ΡΠ»ΡΡΠ°Ρ ΡΠΏΠΎΡΡΠ΅Π±Π΅
Π£ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΠΌΠΎ ΠΏΠΎΠ³Π»Π΅Π΄Π°ΡΠΈ ΠΊΠ°ΠΊΠΎ ΠΏΡΠΈΠΊΠ°Π·Π°ΡΠΈ Π½Π΅ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΡΠ΅ΡΠ°Ρ Ρ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠΈ ΠΏΠ°Π΄ΠΎΠ±ΡΠ°Π½ΡΡΠ²Π°. Π£Π·ΠΌΠΈΠΌΠΎ Ρ ΠΎΠ±Π·ΠΈΡ Π΄Π° ΠΈΠΌΠ°ΠΌΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΊΠΎΡΠ΅ ΡΡΠ΅Π±Π° ΠΏΡΠΈΠΊΠ°Π·Π°ΡΠΈ Ρ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΡ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ ΠΏΠ°Π΄ΠΎΠ±ΡΠ°Π½ΡΡΠ²Π° ΡΠ° Π½Π΅ΠΊΠΈΠΌ ΠΊΠΎΡΠΈΡΠ½ΠΈΠΌ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ°.
Π‘Π°ΠΌΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΠΌΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ²ΠΎΡΠ° Π΄Π° Π±ΠΈΡΠΌΠΎ Π΄ΠΎΠ΄Π°Π»ΠΈ ΡΡΠ΅ΡΠ°Ρ Ρ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΡ. ΠΠΎΠΆΠ΅ΠΌΠΎ Π΄ΠΎΠ΄Π°ΡΠΈ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ ΡΡΠ΅ΡΠ°ΡΠ° ΠΊΠ°ΠΎ Π΄Π΅ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΊΡΠ΅ΠΈΡΠ°ΡΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ½ΠΈΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°ΡΠΈ ΡΠ΅Π΄Π½Ρ ΠΈΠ»ΠΈ Π²ΠΈΡΠ΅ Π½Π°ΡΠ΅Π΄Π±ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠ²ΠΎΡΠ° Π°ΠΆΡΡΠΈΡΠ°ΡΠ°.
ΠΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΏΡΠ°Π²ΠΈΠ»Π° Ρ ΠΎΡΡΠ° Π΄Π° Π±ΠΈΡΡΠ΅ Π΄ΠΎΠ΄Π°Π»ΠΈ ΡΡΠ΅ΡΠ°Ρ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ Ρ Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅.
skydive client node-rule create --action="create" --node-name="sda" --node-type="persistentvolume" --metadata="DEVNAME=/dev/sda,DEVTYPE=disk,ID.MODEL=SD_MMC, ID.MODEL ID=0316, ID.PATH TAG=pci-0000_00_14_0-usb-0_3_1_0-scsi-0_0_0_0, ID.SERIAL SHORT=20120501030900000, ID.VENDOR=Generic-, ID.VENDOR ID=0bda, MAJOR=8, MINOR=0, SUBSYSTEM=block, USEC_INITIALIZED=104393719727"
ΠΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈΡΠΏΠΎΠ΄ ΠΏΡΠ°Π²ΠΈΠ»Π° ΠΈΠ²ΠΈΡΠ΅ Π΄Π° ΠΏΠΎΠ²Π΅ΠΆΠ΅ΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΈ ΡΠ²ΠΎΡ ΡΠ° ΡΠ²ΠΎΡΠΎΠΌ Π΄ΠΎΠΌΠ°ΡΠΈΠ½Π°.
skydive client edge-rule create --src="G.V().Has('Name', 'node1')" --dst="G.V().Has('Name', 'sda')" --relationtype="ownership"
ΠΠ°ΠΊΠΎΠ½ Π³ΠΎΡΡΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ, ΡΠ°Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΠΈ ΡΡΠ΅ΡΠ°Ρ Π²ΠΈΠ΄ΡΠΈΠ² Π½Π° Π΄ΠΈΡΠ°Π³ΡΠ°ΠΌΡ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅ ΠΏΠ°Π΄ΠΎΠ±ΡΠ°Π½ΡΡΠ²Π° ΡΠ° Π΄Π°ΡΠΈΠΌ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ° ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»ΠΈΡΠΈ ΠΈΡΠΏΠΎΠ΄.
ΠΡΡΠ³ΠΈ ΡΠ»ΡΡΠ°Ρ ΡΠΏΠΎΡΡΠ΅Π±Π΅
Π£ ΠΎΠ²ΠΎΠΌ ΡΠ»ΡΡΠ°ΡΡ ΡΠ΅ΠΌΠΎ Π²ΠΈΠ΄Π΅ΡΠΈ ΠΊΠ°ΠΊΠΎ Π΄Π° Π΄ΠΎΠ΄Π°ΠΌΠΎ ΠΌΡΠ΅ΠΆΠ½ΠΈ ΡΡΠ΅ΡΠ°Ρ ΠΊΠΎΡΠΈ Π½ΠΈΡΠ΅ Π΄Π΅ΠΎ ΠΏΠ°Π΄ΠΎΠ±ΡΠ°Π½ΡΠΊΠ΅ ΠΌΡΠ΅ΠΆΠ΅. ΠΠΎΠ³Π»Π΅Π΄Π°ΡΠΌΠΎ ΠΎΠ²Π°Ρ ΠΏΡΠΈΠΌΠ΅Ρ. ΠΠΌΠ°ΠΌΠΎ Π΄Π²Π° ΡΠΊΠΈΠ΄ΠΈΠ²Π΅ Π°Π³Π΅Π½ΡΠ° ΠΊΠΎΡΠΈ ΡΠ°Π΄Π΅ Π½Π° Π΄Π²Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠ° Ρ ΠΎΡΡΠ°, Π΄Π° Π±ΠΈΡΠΌΠΎ ΠΏΠΎΠ²Π΅Π·Π°Π»ΠΈ ΠΎΠ²Π° Π΄Π²Π° Ρ ΠΎΡΡΠ° ΠΏΠΎΡΡΠ΅Π±Π°Π½ Π½Π°ΠΌ ΡΠ΅ Π’ΠΠ ΠΏΡΠ΅ΠΊΠΈΠ΄Π°Ρ. ΠΠ°ΠΊΠΎ ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠΎ ΠΏΠΎΡΡΠΈΡΠΈ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°ΡΠ΅ΠΌ ΡΠ²ΠΎΡΠΎΠ²Π° ΡΡΡΡΠΊΡΡΡΠ΅ ΠΈ Π²Π΅Π·Π° Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½ΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΡΠΈ, Ρ Π°ΡΠ΄Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊΠΎ ΡΠΎ ΠΌΠΎΠΆΠ΅ΠΌΠΎ Π΄Π° ΡΡΠ°Π΄ΠΈΠΌΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ ΠΠΠ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ΅.
ΠΠ΅Π· Π’ΠΠ ΠΏΡΠ΅ΠΊΠΈΠ΄Π°ΡΠ°, Π΄Π²Π° Π°Π³Π΅Π½ΡΠ° ΡΠ΅ ΡΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠΈ ΠΊΠ°ΠΎ Π΄Π²Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠ° ΡΠ²ΠΎΡΠ° Π±Π΅Π· ΠΈΠΊΠ°ΠΊΠ²ΠΈΡ Π²Π΅Π·Π°, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ ΠΏΡΠΈΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠ»ΠΈΡΠΈ ΠΈΡΠΏΠΎΠ΄.
Π‘Π°Π΄Π° ΠΏΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΡΠ°Π²ΠΈΠ»Π° Π΄ΠΎΠΌΠ°ΡΠΈΠ½Π° Π΄Π° Π±ΠΈΡΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π»ΠΈ Π’ΠΠ ΠΏΡΠ΅ΠΊΠΈΠ΄Π°Ρ ΠΈ ΠΏΠΎΡΡΠΎΠ²Π΅.
skydive client node-rule create --node-name="TOR" --node-type="fabric" --action="create"
skydive client node-rule create --node-name="port1" --node-type="port" --action="create"
skydive client node-rule create --node-name="port2" --node-type="port" --action="create"
ΠΠ°ΠΎ ΡΡΠΎ Π²ΠΈΠ΄ΠΈΡΠ΅, Π’ΠΠ ΠΏΡΠ΅ΠΊΠΈΠ΄Π°Ρ ΠΈ ΠΏΠΎΡΡΠΎΠ²ΠΈ ΡΡ ΠΊΡΠ΅ΠΈΡΠ°Π½ΠΈ ΠΈ Π΄ΠΎΠ΄Π°ΡΠΈ ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠΈ ΠΏΠ°Π΄ΠΎΠ±ΡΠ°Π½ΡΡΠ²Π°, Π° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ° ΡΠ΅ ΡΠ°Π΄Π° ΠΈΠ·Π³Π»Π΅Π΄Π°ΡΠΈ ΠΊΠ°ΠΎ Π½Π° ΡΠ»ΠΈΡΠΈ ΠΈΡΠΏΠΎΠ΄.
Π‘Π°Π΄Π° ΠΏΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΠ΄Π³Π΅ Π ΡΠ»Π΅ Π΄Π° Π±ΠΈΡΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π»ΠΈ Π²Π΅Π·Ρ ΠΈΠ·ΠΌΠ΅ΡΡ Π’ΠΠ ΠΏΡΠ΅ΠΊΠΈΠ΄Π°ΡΠ°, ΠΏΠΎΡΡΠ° 1 ΠΈ ΡΠ°Π²Π½ΠΎΠ³ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠ° Ρ ΠΎΡΡΠ° 1.
skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port1')" --relationtype="ownership"
skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port1')" --relationtype="layer2"
skydive client edge-rule create --src="G.V().Has('TID', '372c254d-bac9-50c2-4ca9-86dcc6ce8a57')" --dst="G.V().Has('Name', 'port1')" --relationtype="layer2"
ΠΠΎΠΊΡΠ΅Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Π΄Π° Π±ΠΈΡΡΠ΅ ΠΊΡΠ΅ΠΈΡΠ°Π»ΠΈ Π²Π΅Π·Ρ ΠΈΠ·ΠΌΠ΅ΡΡ Π’ΠΠ ΠΏΠΎΡΡΠ° ΠΏΡΠ΅ΠΊΠΈΠ΄Π°ΡΠ° 2 ΠΈ ΡΠ°Π²Π½ΠΎΠ³ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠ° Ρ ΠΎΡΡΠ° 2
skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port2')" --relationtype="layer2"
skydive client edge-rule create --src="G.V().Has('Name', 'TOR')" --dst="G.V().Has('Name', 'port2')" --relationtype="ownership"
skydive client edge-rule create --src="G.V().Has('TID', '50037073-7862-5234-4996-e58cc067c69c')" --dst="G.V().Has('Name', 'port2')" --relationtype="layer2"
ΠΠ»Π°ΡΠ½ΠΈΡΡΠ²ΠΎ ΠΈ Π°ΡΠΎΡΠΈΡΠ°ΡΠΈΡΠ΅ ΡΠ»ΠΎΡΠ° 2 ΡΡ ΡΠ°Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°Π½Π΅ ΠΈΠ·ΠΌΠ΅ΡΡ Π’ΠΠ ΠΏΡΠ΅ΠΊΠΈΠ΄Π°ΡΠ° ΠΈ ΠΏΠΎΡΡΠ°, ΠΊΠ°ΠΎ ΠΈ Π°ΡΠΎΡΠΈΡΠ°ΡΠΈΡΠ΅ ΡΠ»ΠΎΡΠ° 2 ΠΈΠ·ΠΌΠ΅ΡΡ Π°Π³Π΅Π½Π°ΡΠ° ΠΈ ΠΏΠΎΡΡΠΎΠ²Π°. Π‘Π°Π΄Π° ΡΠ΅ ΠΊΠΎΠ½Π°ΡΠ½Π° ΡΠΎΠΏΠΎΠ»ΠΎΠ³ΠΈΡΠ° ΠΈΠ·Π³Π»Π΅Π΄Π°ΡΠΈ ΠΊΠ°ΠΎ Π½Π° ΡΠ»ΠΈΡΠΈ ΠΈΡΠΏΠΎΠ΄.
Π‘Π°Π΄Π° ΡΡ Π΄Π²Π° Ρ ΠΎΡΡΠ°/Π°Π³Π΅Π½ΡΠ° ΠΈΡΠΏΡΠ°Π²Π½ΠΎ ΠΏΠΎΠ²Π΅Π·Π°Π½Π° ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠ°ΡΠΈ Π²Π΅Π·Ρ ΠΈΠ»ΠΈ ΠΊΡΠ΅ΠΈΡΠ°ΡΠΈ ΡΠ½ΠΈΠΌΠ°ΡΠ΅ Π½Π°ΡΠΊΡΠ°ΡΠ΅ ΠΏΡΡΠ°ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΡ Π΄Π²Π° Ρ ΠΎΡΡΠ°.
ΠΠ‘ ΠΠΈΠ½ΠΊ Π΄ΠΎ
Π’ΡΠ°ΠΆΠΈΠΌΠΎ ΡΡΠ΄Π΅ ΠΊΠΎΡΠΈ Π±ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π΄Π° ΠΏΠΈΡΡ ΠΏΠΎΡΡΠΎΠ²Π΅ ΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΡΠ°ΠΌΠ° Π‘ΠΊΠΈΠ΄ΠΈΠ²Π΅-Π°.
ΠΠ·Π²ΠΎΡ: Π²Π²Π².Ρ Π°Π±Ρ.ΡΠΎΠΌ