os_mapping.rst 5.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. OpenStack - Labeled Resources
  2. -----------------------------
  3. ===================== ================ ===== ======= ========
  4. Labeled Resource OS Resource Type CB ID CB Name CB Label
  5. ===================== ================ ===== ======= ========
  6. OpenStackInstance Instance ID ID Name
  7. OpenStackMachineImage Image ID ID Name
  8. OpenStackNetwork Network ID ID Name
  9. OpenStackSubnet Subnet ID ID Name
  10. OpenStackRouter Router ID ID Name
  11. OpenStackVolume Volume ID ID Name
  12. OpenStackSnapshot Snapshot ID ID Name
  13. OpenStackVMFirewall Security Group ID ID Name
  14. ===================== ================ ===== ======= ========
  15. The resources listed above are labeled, they thus have both the `name` and
  16. `label` properties in CloudBridge. These resources require a mandatory `label`
  17. parameter at creation. For all labeled resources, the `label` property in OpenStack
  18. maps to the Name attribute. However, unlike in Azure or AWS, no resource has
  19. an unchangeable name by which to identify it in our OpenStack implementation.
  20. The `name` property will therefore map to the ID, preserving its role as an unchangeable
  21. identifier even though not easily readable in this context. Finally, labeled resources
  22. support a `label` parameter for the `find` method in their corresponding services.
  23. The below screenshots will help map these properties to OpenStack objects in the
  24. web portal.
  25. Additionally, although OpenStack Security Groups are not associated with a
  26. specific network, such an association is done in CloudBridge, due to its
  27. necessity in AWS. As such, the VMFirewall creation method requires a
  28. `network` parameter and the association is accomplished in OpenStack through
  29. the description, by appending the following string to the user-provided description
  30. (if any) at creation: "[CB-AUTO-associated-network-id: associated_net_id]"
  31. .. figure:: captures/os-instance-dash.png
  32. :alt: name, ID, and label properties for OS Instances
  33. The CloudBridge `name` and `ID` properties map to the unchangeable
  34. resource ID in OpenStack as resources do not allow for an unchangeable
  35. name. The `label` property maps to the 'Name' for all resources in
  36. OpenStack. By default, this label will appear in the first column.
  37. OpenStack - Unlabeled Resources
  38. -------------------------------
  39. ===================== ====================== ===== ======= ========
  40. Unlabeled Resource OS Resource Type CB ID CB Name CB Label
  41. ===================== ====================== ===== ======= ========
  42. OpenStackKeyPair Key Pair Name Name -
  43. OpenStackBucket Object Store Container Name Name -
  44. OpenStackBucketObject Object Name Name -
  45. ===================== ====================== ===== ======= ========
  46. The resources listed above are unlabeled. They thus only have the `name`
  47. property in CloudBridge. These resources require a mandatory `name`
  48. parameter at creation, which will directly map to the unchangeable `name`
  49. property. Additionally, for these resources, the `ID` property also maps to
  50. the `name` in OpenStack, as these resources don't have an `ID` in the
  51. traditional sense and can be identified by name. Finally, unlabeled resources
  52. support a `name` parameter for the `find` method in their corresponding
  53. services.
  54. .. figure:: captures/os-kp-dash.png
  55. :alt: KeyPair details on OS dashboard
  56. KeyPairs and other unlabeled resources in OpenStack have `name` that is
  57. unique and unmodifiable. The `ID` will thus map to the `name` property when
  58. no other `ID` exists for that OpenStack resource.
  59. OpenStack - Special Unlabeled Resources
  60. ---------------------------------------
  61. ======================== =================== ===== ====================================================================== ========
  62. Unlabeled Resource OS Resource Type CB ID CB Name CB Label
  63. ======================== =================== ===== ====================================================================== ========
  64. OpenStackFloatingIP Floating IP ID [public_ip] -
  65. OpenStackInternetGateway Network `public` ID 'public' -
  66. OpenStackVMFirewallRule Security Group Rule ID Generated: [direction]-[protocol]-[from_port]-[to_port]-[cidr]-[fw_id] -
  67. ======================== =================== ===== ====================================================================== ========
  68. While these resources are similarly unlabeled, they do not follow the same
  69. general rules as the ones listed before. Firstly, they differ by the fact
  70. that they take neither a `name` nor a `label` parameter at creation.
  71. Moreover, each of them has other special properties.
  72. The FloatingIP resource has a traditional resource ID, but instead of a
  73. traditional name, its `name` property maps to its Public IP.
  74. Moreover, the corresponding `find` method for Floating IPs can thus help
  75. find a resource by `Public IP Address`.
  76. In terms of the gateway in OpenStack, it maps to the network named 'public.'
  77. Thus, the internet gateway create method does not take a name parameter, and
  78. the `name` property will be 'public'.
  79. Finally, Firewall Rules in OpenStack differ from traditional unlabeled resources
  80. by the fact that they do not take a `name` parameter at creation, and the
  81. `name` property is automatically generated from the rule's properties, as
  82. shown above. These rules can be found within each Firewall (i.e. Security
  83. Group) in the web portal, and will not have any name in the OpenStack dashboard.