constants.py 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. from __future__ import unicode_literals
  2. # Rack types
  3. RACK_TYPE_2POST = 100
  4. RACK_TYPE_4POST = 200
  5. RACK_TYPE_CABINET = 300
  6. RACK_TYPE_WALLFRAME = 1000
  7. RACK_TYPE_WALLCABINET = 1100
  8. RACK_TYPE_CHOICES = (
  9. (RACK_TYPE_2POST, '2-post frame'),
  10. (RACK_TYPE_4POST, '4-post frame'),
  11. (RACK_TYPE_CABINET, '4-post cabinet'),
  12. (RACK_TYPE_WALLFRAME, 'Wall-mounted frame'),
  13. (RACK_TYPE_WALLCABINET, 'Wall-mounted cabinet'),
  14. )
  15. # Rack widths
  16. RACK_WIDTH_19IN = 19
  17. RACK_WIDTH_23IN = 23
  18. RACK_WIDTH_CHOICES = (
  19. (RACK_WIDTH_19IN, '19 inches'),
  20. (RACK_WIDTH_23IN, '23 inches'),
  21. )
  22. # Rack faces
  23. RACK_FACE_FRONT = 0
  24. RACK_FACE_REAR = 1
  25. RACK_FACE_CHOICES = [
  26. [RACK_FACE_FRONT, 'Front'],
  27. [RACK_FACE_REAR, 'Rear'],
  28. ]
  29. # Parent/child device roles
  30. SUBDEVICE_ROLE_PARENT = True
  31. SUBDEVICE_ROLE_CHILD = False
  32. SUBDEVICE_ROLE_CHOICES = (
  33. (None, 'None'),
  34. (SUBDEVICE_ROLE_PARENT, 'Parent'),
  35. (SUBDEVICE_ROLE_CHILD, 'Child'),
  36. )
  37. # Interface ordering schemes (for device types)
  38. IFACE_ORDERING_POSITION = 1
  39. IFACE_ORDERING_NAME = 2
  40. IFACE_ORDERING_CHOICES = [
  41. [IFACE_ORDERING_POSITION, 'Slot/position'],
  42. [IFACE_ORDERING_NAME, 'Name (alphabetically)']
  43. ]
  44. # Interface form factors
  45. # Virtual
  46. IFACE_FF_VIRTUAL = 0
  47. IFACE_FF_LAG = 200
  48. # Ethernet
  49. IFACE_FF_100ME_FIXED = 800
  50. IFACE_FF_1GE_FIXED = 1000
  51. IFACE_FF_1GE_GBIC = 1050
  52. IFACE_FF_1GE_SFP = 1100
  53. IFACE_FF_10GE_FIXED = 1150
  54. IFACE_FF_10GE_SFP_PLUS = 1200
  55. IFACE_FF_10GE_XFP = 1300
  56. IFACE_FF_10GE_XENPAK = 1310
  57. IFACE_FF_10GE_X2 = 1320
  58. IFACE_FF_25GE_SFP28 = 1350
  59. IFACE_FF_40GE_QSFP_PLUS = 1400
  60. IFACE_FF_100GE_CFP = 1500
  61. IFACE_FF_100GE_QSFP28 = 1600
  62. # Wireless
  63. IFACE_FF_80211A = 2600
  64. IFACE_FF_80211G = 2610
  65. IFACE_FF_80211N = 2620
  66. IFACE_FF_80211AC = 2630
  67. IFACE_FF_80211AD = 2640
  68. # Fibrechannel
  69. IFACE_FF_1GFC_SFP = 3010
  70. IFACE_FF_2GFC_SFP = 3020
  71. IFACE_FF_4GFC_SFP = 3040
  72. IFACE_FF_8GFC_SFP_PLUS = 3080
  73. IFACE_FF_16GFC_SFP_PLUS = 3160
  74. # Serial
  75. IFACE_FF_T1 = 4000
  76. IFACE_FF_E1 = 4010
  77. IFACE_FF_T3 = 4040
  78. IFACE_FF_E3 = 4050
  79. # Stacking
  80. IFACE_FF_STACKWISE = 5000
  81. IFACE_FF_STACKWISE_PLUS = 5050
  82. IFACE_FF_FLEXSTACK = 5100
  83. IFACE_FF_FLEXSTACK_PLUS = 5150
  84. IFACE_FF_JUNIPER_VCP = 5200
  85. # Other
  86. IFACE_FF_OTHER = 32767
  87. VIFACE_FF_CHOICES = [
  88. [IFACE_FF_VIRTUAL, 'Virtual'],
  89. [IFACE_FF_LAG, 'Link Aggregation Group (LAG)'],
  90. ]
  91. IFACE_FF_CHOICES = [
  92. [
  93. 'Virtual interfaces',
  94. VIFACE_FF_CHOICES,
  95. ],
  96. [
  97. 'Ethernet (fixed)',
  98. [
  99. [IFACE_FF_100ME_FIXED, '100BASE-TX (10/100ME)'],
  100. [IFACE_FF_1GE_FIXED, '1000BASE-T (1GE)'],
  101. [IFACE_FF_10GE_FIXED, '10GBASE-T (10GE)'],
  102. ]
  103. ],
  104. [
  105. 'Ethernet (modular)',
  106. [
  107. [IFACE_FF_1GE_GBIC, 'GBIC (1GE)'],
  108. [IFACE_FF_1GE_SFP, 'SFP (1GE)'],
  109. [IFACE_FF_10GE_SFP_PLUS, 'SFP+ (10GE)'],
  110. [IFACE_FF_10GE_XFP, 'XFP (10GE)'],
  111. [IFACE_FF_10GE_XENPAK, 'XENPAK (10GE)'],
  112. [IFACE_FF_10GE_X2, 'X2 (10GE)'],
  113. [IFACE_FF_25GE_SFP28, 'SFP28 (25GE)'],
  114. [IFACE_FF_40GE_QSFP_PLUS, 'QSFP+ (40GE)'],
  115. [IFACE_FF_100GE_CFP, 'CFP (100GE)'],
  116. [IFACE_FF_100GE_QSFP28, 'QSFP28 (100GE)'],
  117. ]
  118. ],
  119. [
  120. 'Wireless',
  121. [
  122. [IFACE_FF_80211A, 'IEEE 802.11a'],
  123. [IFACE_FF_80211G, 'IEEE 802.11b/g'],
  124. [IFACE_FF_80211N, 'IEEE 802.11n'],
  125. [IFACE_FF_80211AC, 'IEEE 802.11ac'],
  126. [IFACE_FF_80211AD, 'IEEE 802.11ad'],
  127. ]
  128. ],
  129. [
  130. 'FibreChannel',
  131. [
  132. [IFACE_FF_1GFC_SFP, 'SFP (1GFC)'],
  133. [IFACE_FF_2GFC_SFP, 'SFP (2GFC)'],
  134. [IFACE_FF_4GFC_SFP, 'SFP (4GFC)'],
  135. [IFACE_FF_8GFC_SFP_PLUS, 'SFP+ (8GFC)'],
  136. [IFACE_FF_16GFC_SFP_PLUS, 'SFP+ (16GFC)'],
  137. ]
  138. ],
  139. [
  140. 'Serial',
  141. [
  142. [IFACE_FF_T1, 'T1 (1.544 Mbps)'],
  143. [IFACE_FF_E1, 'E1 (2.048 Mbps)'],
  144. [IFACE_FF_T3, 'T3 (45 Mbps)'],
  145. [IFACE_FF_E3, 'E3 (34 Mbps)'],
  146. ]
  147. ],
  148. [
  149. 'Stacking',
  150. [
  151. [IFACE_FF_STACKWISE, 'Cisco StackWise'],
  152. [IFACE_FF_STACKWISE_PLUS, 'Cisco StackWise Plus'],
  153. [IFACE_FF_FLEXSTACK, 'Cisco FlexStack'],
  154. [IFACE_FF_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'],
  155. [IFACE_FF_JUNIPER_VCP, 'Juniper VCP'],
  156. ]
  157. ],
  158. [
  159. 'Other',
  160. [
  161. [IFACE_FF_OTHER, 'Other'],
  162. ]
  163. ],
  164. ]
  165. VIRTUAL_IFACE_TYPES = [
  166. IFACE_FF_VIRTUAL,
  167. IFACE_FF_LAG,
  168. ]
  169. WIRELESS_IFACE_TYPES = [
  170. IFACE_FF_80211A,
  171. IFACE_FF_80211G,
  172. IFACE_FF_80211N,
  173. IFACE_FF_80211AC,
  174. IFACE_FF_80211AD,
  175. ]
  176. NONCONNECTABLE_IFACE_TYPES = VIRTUAL_IFACE_TYPES + WIRELESS_IFACE_TYPES
  177. # Device statuses
  178. STATUS_OFFLINE = 0
  179. STATUS_ACTIVE = 1
  180. STATUS_PLANNED = 2
  181. STATUS_STAGED = 3
  182. STATUS_FAILED = 4
  183. STATUS_INVENTORY = 5
  184. STATUS_CHOICES = [
  185. [STATUS_ACTIVE, 'Active'],
  186. [STATUS_OFFLINE, 'Offline'],
  187. [STATUS_PLANNED, 'Planned'],
  188. [STATUS_STAGED, 'Staged'],
  189. [STATUS_FAILED, 'Failed'],
  190. [STATUS_INVENTORY, 'Inventory'],
  191. ]
  192. # Bootstrap CSS classes for device stasuses
  193. DEVICE_STATUS_CLASSES = {
  194. 0: 'warning',
  195. 1: 'success',
  196. 2: 'info',
  197. 3: 'primary',
  198. 4: 'danger',
  199. 5: 'default',
  200. }
  201. # Console/power/interface connection statuses
  202. CONNECTION_STATUS_PLANNED = False
  203. CONNECTION_STATUS_CONNECTED = True
  204. CONNECTION_STATUS_CHOICES = [
  205. [CONNECTION_STATUS_PLANNED, 'Planned'],
  206. [CONNECTION_STATUS_CONNECTED, 'Connected'],
  207. ]
  208. # Platform -> RPC client mappings
  209. RPC_CLIENT_JUNIPER_JUNOS = 'juniper-junos'
  210. RPC_CLIENT_CISCO_IOS = 'cisco-ios'
  211. RPC_CLIENT_OPENGEAR = 'opengear'
  212. RPC_CLIENT_CHOICES = [
  213. [RPC_CLIENT_JUNIPER_JUNOS, 'Juniper Junos (NETCONF)'],
  214. [RPC_CLIENT_CISCO_IOS, 'Cisco IOS (SSH)'],
  215. [RPC_CLIENT_OPENGEAR, 'Opengear (SSH)'],
  216. ]