From cc50e229283cacdc9dac59d5e96008461f1841a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20Jonak-M=C3=B6chel?= Date: Tue, 7 Dec 2021 15:14:17 +0100 Subject: [PATCH 01/16] feat: add 6GHz & 60Ghz channels --- netbox/wireless/choices.py | 278 +++++++++++++++++++++++++++++++++++++ 1 file changed, 278 insertions(+) diff --git a/netbox/wireless/choices.py b/netbox/wireless/choices.py index c8e7fd09f..2813eafd6 100644 --- a/netbox/wireless/choices.py +++ b/netbox/wireless/choices.py @@ -83,6 +83,143 @@ class WirelessChannelChoices(ChoiceSet): CHANNEL_5G_173 = '5g-173-5865-20' CHANNEL_5G_175 = '5g-175-5875-40' CHANNEL_5G_177 = '5g-177-5885-20' + + # 6 GHz + CHANNEL_6G_1 = '6g-1-5955-20' + CHANNEL_6G_3 = '6g-3-5955-40' + CHANNEL_6G_5 = '6g-5-5965-20' + CHANNEL_6G_7 = '6g-7-5975-80' + CHANNEL_6G_9 = '6g-9-5985-20' + CHANNEL_6G_11 = '6g-11-5995-40' + CHANNEL_6G_13 = '6g-13-6005-20' + CHANNEL_6G_15 = '6g-15-6015-160' + CHANNEL_6G_17 = '6g-17-6025-20' + CHANNEL_6G_19 = '6g-19-6035-40' + CHANNEL_6G_21 = '6g-21-6045-20' + CHANNEL_6G_23 = '6g-23-6055-80' + CHANNEL_6G_25 = '6g-25-6065-20' + CHANNEL_6G_28 = '6g-28-6080-40' + CHANNEL_6G_29 = '6g-29-6085-20' + CHANNEL_6G_31 = '6g-31-6095-320' + CHANNEL_6G_33 = '6g-33-6105-20' + CHANNEL_6G_36 = '6g-36-6120-40' + CHANNEL_6G_37 = '6g-37-6125-20' + CHANNEL_6G_39 = '6g-39-6135-80' + CHANNEL_6G_41 = '6g-41-6145-20' + CHANNEL_6G_44 = '6g-44-6160-40' + CHANNEL_6G_45 = '6g-45-6165-20' + CHANNEL_6G_47 = '6g-47-6175-160' + CHANNEL_6G_49 = '6g-49-6185-20' + CHANNEL_6G_52 = '6g-52-6200-40' + CHANNEL_6G_53 = '6g-53-6205-20' + CHANNEL_6G_55 = '6g-55-6215-80' + CHANNEL_6G_57 = '6g-57-6225-20' + CHANNEL_6G_60 = '6g-60-6240-40' + CHANNEL_6G_61 = '6g-61-6245-20' + CHANNEL_6G_65 = '6g-65-6265-20' + CHANNEL_6G_68 = '6g-68-6280-40' + CHANNEL_6G_69 = '6g-69-6285-20' + CHANNEL_6G_71 = '6g-71-6295-80' + CHANNEL_6G_73 = '6g-73-6305-20' + CHANNEL_6G_76 = '6g-76-6320-40' + CHANNEL_6G_77 = '6g-77-6325-20' + CHANNEL_6G_79 = '6g-79-6335-160' + CHANNEL_6G_81 = '6g-81-6345-20' + CHANNEL_6G_84 = '6g-84-6360-40' + CHANNEL_6G_85 = '6g-85-6365-20' + CHANNEL_6G_87 = '6g-87-6375-80' + CHANNEL_6G_89 = '6g-89-6385-20' + CHANNEL_6G_92 = '6g-92-6400-40' + CHANNEL_6G_93 = '6g-93-6405-20' + CHANNEL_6G_95 = '6g-95-6415-320' + CHANNEL_6G_97 = '6g-97-6425-20' + CHANNEL_6G_100 = '6g-100-6440-40' + CHANNEL_6G_101 = '6g-101-6445-20' + CHANNEL_6G_103 = '6g-103-6455-80' + CHANNEL_6G_105 = '6g-105-6465-20' + CHANNEL_6G_108 = '6g-108-6480-40' + CHANNEL_6G_109 = '6g-109-6485-20' + CHANNEL_6G_111 = '6g-111-6495-160' + CHANNEL_6G_113 = '6g-113-6505-20' + CHANNEL_6G_116 = '6g-116-6520-40' + CHANNEL_6G_117 = '6g-117-6525-20' + CHANNEL_6G_119 = '6g-119-6535-80' + CHANNEL_6G_121 = '6g-121-6545-20' + CHANNEL_6G_124 = '6g-124-6560-40' + CHANNEL_6G_125 = '6g-125-6565-20' + CHANNEL_6G_129 = '6g-129-6585-20' + CHANNEL_6G_132 = '6g-132-6600-40' + CHANNEL_6G_133 = '6g-133-6605-20' + CHANNEL_6G_135 = '6g-135-6615-80' + CHANNEL_6G_137 = '6g-137-6625-20' + CHANNEL_6G_140 = '6g-140-6640-40' + CHANNEL_6G_141 = '6g-141-6645-20' + CHANNEL_6G_143 = '6g-143-6655-160' + CHANNEL_6G_145 = '6g-145-6665-20' + CHANNEL_6G_148 = '6g-148-6680-40' + CHANNEL_6G_149 = '6g-149-6685-20' + CHANNEL_6G_151 = '6g-151-6695-80' + CHANNEL_6G_153 = '6g-153-6705-20' + CHANNEL_6G_156 = '6g-156-6720-40' + CHANNEL_6G_157 = '6g-157-6725-20' + CHANNEL_6G_159 = '6g-159-6735-320' + CHANNEL_6G_161 = '6g-161-6745-20' + CHANNEL_6G_164 = '6g-164-6760-40' + CHANNEL_6G_165 = '6g-165-6765-20' + CHANNEL_6G_167 = '6g-167-6775-80' + CHANNEL_6G_169 = '6g-169-6785-20' + CHANNEL_6G_172 = '6g-172-6800-40' + CHANNEL_6G_173 = '6g-173-6805-20' + CHANNEL_6G_175 = '6g-175-6815-160' + CHANNEL_6G_177 = '6g-177-6825-20' + CHANNEL_6G_180 = '6g-180-6840-40' + CHANNEL_6G_181 = '6g-181-6845-20' + CHANNEL_6G_183 = '6g-183-6855-80' + CHANNEL_6G_185 = '6g-185-6865-20' + CHANNEL_6G_188 = '6g-188-6880-40' + CHANNEL_6G_189 = '6g-189-6885-20' + CHANNEL_6G_193 = '6g-193-6905-20' + CHANNEL_6G_196 = '6g-196-6920-40' + CHANNEL_6G_197 = '6g-197-6925-20' + CHANNEL_6G_199 = '6g-199-6935-80' + CHANNEL_6G_201 = '6g-201-6945-20' + CHANNEL_6G_204 = '6g-204-6960-40' + CHANNEL_6G_205 = '6g-205-6965-20' + CHANNEL_6G_207 = '6g-207-6975-160' + CHANNEL_6G_209 = '6g-209-6985-20' + CHANNEL_6G_212 = '6g-212-7000-40' + CHANNEL_6G_213 = '6g-213-7005-20' + CHANNEL_6G_215 = '6g-215-7015-80' + CHANNEL_6G_217 = '6g-217-7025-20' + CHANNEL_6G_220 = '6g-220-7040-40' + CHANNEL_6G_221 = '6g-221-7045-20' + CHANNEL_6G_225 = '6g-225-7065-20' + CHANNEL_6G_228 = '6g-228-7080-40' + CHANNEL_6G_229 = '6g-229-7085-20' + CHANNEL_6G_233 = '6g-233-7105-20' + + + # 60 GHz + CHANNEL_60G_1 = '60g-1-58320-2160' + CHANNEL_60G_2 = '60g-2-60480-2160' + CHANNEL_60G_3 = '60g-3-62640-2160' + CHANNEL_60G_4 = '60g-4-64800-2160' + CHANNEL_60G_5 = '60g-5-66960-2160' + CHANNEL_60G_6 = '60g-6-69120-2160' + CHANNEL_60G_9 = '60g-9-59400-4320' + CHANNEL_60G_10 = '60g-10-61560-4320' + CHANNEL_60G_11 = '60g-11-63720-4320' + CHANNEL_60G_12 = '60g-12-65880-4320' + CHANNEL_60G_13 = '60g-13-68040-4320' + CHANNEL_60G_17 = '60g-17-60480-6480' + CHANNEL_60G_18 = '60g-18-62640-6480' + CHANNEL_60G_19 = '60g-19-64800-6480' + CHANNEL_60G_20 = '60g-20-66960-6480' + CHANNEL_60G_25 = '60g-25-61560-6480' + CHANNEL_60G_26 = '60g-26-63720-6480' + CHANNEL_60G_27 = '60g-27-65880-6480' + + CHOICES = ( ( @@ -162,6 +299,147 @@ class WirelessChannelChoices(ChoiceSet): (CHANNEL_5G_177, '177 (5885/20 MHz)'), ) ), + ( + '6 GHz (802.11ax)', + ( + (CHANNEL_6G_1, '1 (5945/20 MHz)'), + (CHANNEL_6G_3, '3 (5955/40 MHz)'), + (CHANNEL_6G_5, '5 (5965/20 MHz)'), + (CHANNEL_6G_7, '7 (5975/80 MHz)'), + (CHANNEL_6G_9, '9 (5985/20 MHz)'), + (CHANNEL_6G_11, '11 (5995/40 MHz)'), + (CHANNEL_6G_13, '13 (6005/20 MHz)'), + (CHANNEL_6G_15, '15 (6015/160 MHz)'), + (CHANNEL_6G_17, '17 (6025/20 MHz)'), + (CHANNEL_6G_19, '19 (6035/40 MHz)'), + (CHANNEL_6G_21, '21 (6045/20 MHz)'), + (CHANNEL_6G_23, '23 (6055/80 MHz)'), + (CHANNEL_6G_25, '25 (6065/20 MHz)'), + (CHANNEL_6G_28, '28 (6080/40 MHz)'), + (CHANNEL_6G_29, '29 (6085/20 MHz)'), + (CHANNEL_6G_31, '31 (6095/320 MHz)'), + (CHANNEL_6G_33, '33 (6105/20 MHz)'), + (CHANNEL_6G_36, '36 (6120/40 MHz)'), + (CHANNEL_6G_37, '37 (6125/20 MHz)'), + (CHANNEL_6G_39, '39 (6135/80 MHz)'), + (CHANNEL_6G_41, '41 (6145/20 MHz)'), + (CHANNEL_6G_44, '44 (6160/40 MHz)'), + (CHANNEL_6G_45, '45 (6165/20 MHz)'), + (CHANNEL_6G_47, '47 (6175/160 MHz)'), + (CHANNEL_6G_49, '49 (6185/20 MHz)'), + (CHANNEL_6G_52, '52 (6200/40 MHz)'), + (CHANNEL_6G_53, '53 (6205/20 MHz)'), + (CHANNEL_6G_55, '55 (6215/80 MHz)'), + (CHANNEL_6G_57, '57 (6225/20 MHz)'), + (CHANNEL_6G_60, '60 (6240/40 MHz)'), + (CHANNEL_6G_61, '61 (6245/20 MHz)'), + (CHANNEL_6G_65, '65 (6265/20 MHz)'), + (CHANNEL_6G_68, '68 (6280/40 MHz)'), + (CHANNEL_6G_69, '69 (6285/20 MHz)'), + (CHANNEL_6G_71, '71 (6295/80 MHz)'), + (CHANNEL_6G_73, '73 (6305/20 MHz)'), + (CHANNEL_6G_76, '76 (6320/40 MHz)'), + (CHANNEL_6G_77, '77 (6325/20 MHz)'), + (CHANNEL_6G_79, '79 (6335/160 MHz)'), + (CHANNEL_6G_81, '81 (6345/20 MHz)'), + (CHANNEL_6G_84, '84 (6360/40 MHz)'), + (CHANNEL_6G_85, '85 (6365/20 MHz)'), + (CHANNEL_6G_87, '87 (6375/80 MHz)'), + (CHANNEL_6G_89, '89 (6385/20 MHz)'), + (CHANNEL_6G_92, '92 (6400/40 MHz)'), + (CHANNEL_6G_93, '93 (6405/20 MHz)'), + (CHANNEL_6G_95, '95 (6415/320 MHz)'), + (CHANNEL_6G_97, '97 (6425/20 MHz)'), + (CHANNEL_6G_100, '100 (6440/40 MHz)'), + (CHANNEL_6G_101, '101 (6445/20 MHz)'), + (CHANNEL_6G_103, '103 (6455/80 MHz)'), + (CHANNEL_6G_105, '105 (6465/20 MHz)'), + (CHANNEL_6G_108, '108 (6480/40 MHz)'), + (CHANNEL_6G_109, '109 (6485/20 MHz)'), + (CHANNEL_6G_111, '111 (6495/160 MHz)'), + (CHANNEL_6G_113, '113 (6505/20 MHz)'), + (CHANNEL_6G_116, '116 (6520/40 MHz)'), + (CHANNEL_6G_117, '117 (6525/20 MHz)'), + (CHANNEL_6G_119, '119 (6535/80 MHz)'), + (CHANNEL_6G_121, '121 (6545/20 MHz)'), + (CHANNEL_6G_124, '124 (6560/40 MHz)'), + (CHANNEL_6G_125, '125 (6565/20 MHz)'), + (CHANNEL_6G_129, '129 (6585/20 MHz)'), + (CHANNEL_6G_132, '132 (6600/40 MHz)'), + (CHANNEL_6G_133, '133 (6605/20 MHz)'), + (CHANNEL_6G_135, '135 (6615/80 MHz)'), + (CHANNEL_6G_137, '137 (6625/20 MHz)'), + (CHANNEL_6G_140, '140 (6640/40 MHz)'), + (CHANNEL_6G_141, '141 (6645/20 MHz)'), + (CHANNEL_6G_143, '143 (6655/160 MHz)'), + (CHANNEL_6G_145, '145 (6665/20 MHz)'), + (CHANNEL_6G_148, '148 (6680/40 MHz)'), + (CHANNEL_6G_149, '149 (6685/20 MHz)'), + (CHANNEL_6G_151, '151 (6695/80 MHz)'), + (CHANNEL_6G_153, '153 (6705/20 MHz)'), + (CHANNEL_6G_156, '156 (6720/40 MHz)'), + (CHANNEL_6G_157, '157 (6725/20 MHz)'), + (CHANNEL_6G_159, '159 (6735/320 MHz)'), + (CHANNEL_6G_161, '161 (6745/20 MHz)'), + (CHANNEL_6G_164, '164 (6760/40 MHz)'), + (CHANNEL_6G_165, '165 (6765/20 MHz)'), + (CHANNEL_6G_167, '167 (6775/80 MHz)'), + (CHANNEL_6G_169, '169 (6785/20 MHz)'), + (CHANNEL_6G_172, '172 (6800/40 MHz)'), + (CHANNEL_6G_173, '173 (6805/20 MHz)'), + (CHANNEL_6G_175, '175 (6815/160 MHz)'), + (CHANNEL_6G_177, '177 (6825/20 MHz)'), + (CHANNEL_6G_180, '180 (6840/40 MHz)'), + (CHANNEL_6G_181, '181 (6845/20 MHz)'), + (CHANNEL_6G_183, '183 (6855/80 MHz)'), + (CHANNEL_6G_185, '185 (6865/20 MHz)'), + (CHANNEL_6G_188, '188 (6880/40 MHz)'), + (CHANNEL_6G_189, '189 (6885/20 MHz)'), + (CHANNEL_6G_193, '193 (6905/20 MHz)'), + (CHANNEL_6G_196, '196 (6920/40 MHz)'), + (CHANNEL_6G_197, '197 (6925/20 MHz)'), + (CHANNEL_6G_199, '199 (6935/80 MHz)'), + (CHANNEL_6G_201, '201 (6945/20 MHz)'), + (CHANNEL_6G_204, '204 (6960/40 MHz)'), + (CHANNEL_6G_205, '205 (6965/20 MHz)'), + (CHANNEL_6G_207, '207 (6975/160 MHz)'), + (CHANNEL_6G_209, '209 (6985/20 MHz)'), + (CHANNEL_6G_212, '212 (7000/40 MHz)'), + (CHANNEL_6G_213, '213 (7005/20 MHz)'), + (CHANNEL_6G_215, '215 (7015/80 MHz)'), + (CHANNEL_6G_217, '217 (7025/20 MHz)'), + (CHANNEL_6G_220, '220 (7040/40 MHz)'), + (CHANNEL_6G_221, '221 (7045/20 MHz)'), + (CHANNEL_6G_225, '225 (7065/20 MHz)'), + (CHANNEL_6G_228, '228 (7080/40 MHz)'), + (CHANNEL_6G_229, '229 (7085/20 MHz)'), + (CHANNEL_6G_233, '233 (7105/20 MHz)'), + + ) + ), + ( + '60 GHz (802.11ad/ay)', + ( + (CHANNEL_60G_1, '1 (58.32/2.16 GHz)'), + (CHANNEL_60G_2, '2 (60.48/2.16 GHz)'), + (CHANNEL_60G_3, '3 (62.64/2.16 GHz)'), + (CHANNEL_60G_4, '4 (64.80/2.16 GHz)'), + (CHANNEL_60G_5, '5 (66.96/2.16 GHz)'), + (CHANNEL_60G_6, '6 (69.12/2.16 GHz)'), + (CHANNEL_60G_9, '9 (59.40/4.32 GHz)'), + (CHANNEL_60G_10, '10 (61.56/4.32 GHz)'), + (CHANNEL_60G_11, '11 (63.72/4.32 GHz)'), + (CHANNEL_60G_12, '12 (65.88/4.32 GHz)'), + (CHANNEL_60G_13, '13 (68.04/4.32 GHz)'), + (CHANNEL_60G_17, '17 (60.48/6.48 GHz)'), + (CHANNEL_60G_18, '18 (62.64/6.48 GHz)'), + (CHANNEL_60G_19, '19 (64.80/6.48 GHz)'), + (CHANNEL_60G_20, '20 (66.96/6.48 GHz)'), + (CHANNEL_60G_25, '25 (61.56/8.64 GHz)'), + (CHANNEL_60G_26, '26 (63.72/8.64 GHz)'), + (CHANNEL_60G_27, '27 (65.88/8.64 GHz)'), + ) + ), ) From 68eb6fc3c1b144d2264f36885988b1f94dcd6135 Mon Sep 17 00:00:00 2001 From: Christian Jonak Date: Thu, 16 Dec 2021 18:14:56 +0100 Subject: [PATCH 02/16] fix: use center freq instead of beginning of freq range for 6Ghz --- netbox/wireless/choices.py | 450 ++++++++++++++++++------------------- 1 file changed, 223 insertions(+), 227 deletions(-) diff --git a/netbox/wireless/choices.py b/netbox/wireless/choices.py index 2813eafd6..103539fca 100644 --- a/netbox/wireless/choices.py +++ b/netbox/wireless/choices.py @@ -86,119 +86,118 @@ class WirelessChannelChoices(ChoiceSet): # 6 GHz CHANNEL_6G_1 = '6g-1-5955-20' - CHANNEL_6G_3 = '6g-3-5955-40' - CHANNEL_6G_5 = '6g-5-5965-20' - CHANNEL_6G_7 = '6g-7-5975-80' - CHANNEL_6G_9 = '6g-9-5985-20' - CHANNEL_6G_11 = '6g-11-5995-40' - CHANNEL_6G_13 = '6g-13-6005-20' - CHANNEL_6G_15 = '6g-15-6015-160' - CHANNEL_6G_17 = '6g-17-6025-20' - CHANNEL_6G_19 = '6g-19-6035-40' - CHANNEL_6G_21 = '6g-21-6045-20' - CHANNEL_6G_23 = '6g-23-6055-80' - CHANNEL_6G_25 = '6g-25-6065-20' - CHANNEL_6G_28 = '6g-28-6080-40' - CHANNEL_6G_29 = '6g-29-6085-20' - CHANNEL_6G_31 = '6g-31-6095-320' - CHANNEL_6G_33 = '6g-33-6105-20' - CHANNEL_6G_36 = '6g-36-6120-40' - CHANNEL_6G_37 = '6g-37-6125-20' - CHANNEL_6G_39 = '6g-39-6135-80' - CHANNEL_6G_41 = '6g-41-6145-20' - CHANNEL_6G_44 = '6g-44-6160-40' - CHANNEL_6G_45 = '6g-45-6165-20' - CHANNEL_6G_47 = '6g-47-6175-160' - CHANNEL_6G_49 = '6g-49-6185-20' - CHANNEL_6G_52 = '6g-52-6200-40' - CHANNEL_6G_53 = '6g-53-6205-20' - CHANNEL_6G_55 = '6g-55-6215-80' - CHANNEL_6G_57 = '6g-57-6225-20' - CHANNEL_6G_60 = '6g-60-6240-40' - CHANNEL_6G_61 = '6g-61-6245-20' - CHANNEL_6G_65 = '6g-65-6265-20' - CHANNEL_6G_68 = '6g-68-6280-40' - CHANNEL_6G_69 = '6g-69-6285-20' - CHANNEL_6G_71 = '6g-71-6295-80' - CHANNEL_6G_73 = '6g-73-6305-20' - CHANNEL_6G_76 = '6g-76-6320-40' - CHANNEL_6G_77 = '6g-77-6325-20' - CHANNEL_6G_79 = '6g-79-6335-160' - CHANNEL_6G_81 = '6g-81-6345-20' - CHANNEL_6G_84 = '6g-84-6360-40' - CHANNEL_6G_85 = '6g-85-6365-20' - CHANNEL_6G_87 = '6g-87-6375-80' - CHANNEL_6G_89 = '6g-89-6385-20' - CHANNEL_6G_92 = '6g-92-6400-40' - CHANNEL_6G_93 = '6g-93-6405-20' - CHANNEL_6G_95 = '6g-95-6415-320' - CHANNEL_6G_97 = '6g-97-6425-20' - CHANNEL_6G_100 = '6g-100-6440-40' - CHANNEL_6G_101 = '6g-101-6445-20' - CHANNEL_6G_103 = '6g-103-6455-80' - CHANNEL_6G_105 = '6g-105-6465-20' - CHANNEL_6G_108 = '6g-108-6480-40' - CHANNEL_6G_109 = '6g-109-6485-20' - CHANNEL_6G_111 = '6g-111-6495-160' - CHANNEL_6G_113 = '6g-113-6505-20' - CHANNEL_6G_116 = '6g-116-6520-40' - CHANNEL_6G_117 = '6g-117-6525-20' - CHANNEL_6G_119 = '6g-119-6535-80' - CHANNEL_6G_121 = '6g-121-6545-20' - CHANNEL_6G_124 = '6g-124-6560-40' - CHANNEL_6G_125 = '6g-125-6565-20' - CHANNEL_6G_129 = '6g-129-6585-20' - CHANNEL_6G_132 = '6g-132-6600-40' - CHANNEL_6G_133 = '6g-133-6605-20' - CHANNEL_6G_135 = '6g-135-6615-80' - CHANNEL_6G_137 = '6g-137-6625-20' - CHANNEL_6G_140 = '6g-140-6640-40' - CHANNEL_6G_141 = '6g-141-6645-20' - CHANNEL_6G_143 = '6g-143-6655-160' - CHANNEL_6G_145 = '6g-145-6665-20' - CHANNEL_6G_148 = '6g-148-6680-40' - CHANNEL_6G_149 = '6g-149-6685-20' - CHANNEL_6G_151 = '6g-151-6695-80' - CHANNEL_6G_153 = '6g-153-6705-20' - CHANNEL_6G_156 = '6g-156-6720-40' - CHANNEL_6G_157 = '6g-157-6725-20' - CHANNEL_6G_159 = '6g-159-6735-320' - CHANNEL_6G_161 = '6g-161-6745-20' - CHANNEL_6G_164 = '6g-164-6760-40' - CHANNEL_6G_165 = '6g-165-6765-20' - CHANNEL_6G_167 = '6g-167-6775-80' - CHANNEL_6G_169 = '6g-169-6785-20' - CHANNEL_6G_172 = '6g-172-6800-40' - CHANNEL_6G_173 = '6g-173-6805-20' - CHANNEL_6G_175 = '6g-175-6815-160' - CHANNEL_6G_177 = '6g-177-6825-20' - CHANNEL_6G_180 = '6g-180-6840-40' - CHANNEL_6G_181 = '6g-181-6845-20' - CHANNEL_6G_183 = '6g-183-6855-80' - CHANNEL_6G_185 = '6g-185-6865-20' - CHANNEL_6G_188 = '6g-188-6880-40' - CHANNEL_6G_189 = '6g-189-6885-20' - CHANNEL_6G_193 = '6g-193-6905-20' - CHANNEL_6G_196 = '6g-196-6920-40' - CHANNEL_6G_197 = '6g-197-6925-20' - CHANNEL_6G_199 = '6g-199-6935-80' - CHANNEL_6G_201 = '6g-201-6945-20' - CHANNEL_6G_204 = '6g-204-6960-40' - CHANNEL_6G_205 = '6g-205-6965-20' - CHANNEL_6G_207 = '6g-207-6975-160' - CHANNEL_6G_209 = '6g-209-6985-20' - CHANNEL_6G_212 = '6g-212-7000-40' - CHANNEL_6G_213 = '6g-213-7005-20' - CHANNEL_6G_215 = '6g-215-7015-80' - CHANNEL_6G_217 = '6g-217-7025-20' - CHANNEL_6G_220 = '6g-220-7040-40' - CHANNEL_6G_221 = '6g-221-7045-20' - CHANNEL_6G_225 = '6g-225-7065-20' - CHANNEL_6G_228 = '6g-228-7080-40' - CHANNEL_6G_229 = '6g-229-7085-20' - CHANNEL_6G_233 = '6g-233-7105-20' + CHANNEL_6G_3 = '6g-3-5975-40' + CHANNEL_6G_5 = '6g-5-5975-20' + CHANNEL_6G_7 = '6g-7-6015-80' + CHANNEL_6G_9 = '6g-9-5995-20' + CHANNEL_6G_11 = '6g-11-6015-40' + CHANNEL_6G_13 = '6g-13-6015-20' + CHANNEL_6G_15 = '6g-15-6095-160' + CHANNEL_6G_17 = '6g-17-6035-20' + CHANNEL_6G_19 = '6g-19-6055-40' + CHANNEL_6G_21 = '6g-21-6055-20' + CHANNEL_6G_23 = '6g-23-6095-80' + CHANNEL_6G_25 = '6g-25-6075-20' + CHANNEL_6G_28 = '6g-28-6100-40' + CHANNEL_6G_29 = '6g-29-6095-20' + CHANNEL_6G_31 = '6g-31-6255-320' + CHANNEL_6G_33 = '6g-33-6115-20' + CHANNEL_6G_36 = '6g-36-6140-40' + CHANNEL_6G_37 = '6g-37-6135-20' + CHANNEL_6G_39 = '6g-39-6175-80' + CHANNEL_6G_41 = '6g-41-6155-20' + CHANNEL_6G_44 = '6g-44-6180-40' + CHANNEL_6G_45 = '6g-45-6175-20' + CHANNEL_6G_47 = '6g-47-6255-160' + CHANNEL_6G_49 = '6g-49-6195-20' + CHANNEL_6G_52 = '6g-52-6220-40' + CHANNEL_6G_53 = '6g-53-6215-20' + CHANNEL_6G_55 = '6g-55-6255-80' + CHANNEL_6G_57 = '6g-57-6235-20' + CHANNEL_6G_60 = '6g-60-6260-40' + CHANNEL_6G_61 = '6g-61-6255-20' + CHANNEL_6G_65 = '6g-65-6275-20' + CHANNEL_6G_68 = '6g-68-6300-40' + CHANNEL_6G_69 = '6g-69-6295-20' + CHANNEL_6G_71 = '6g-71-6335-80' + CHANNEL_6G_73 = '6g-73-6315-20' + CHANNEL_6G_76 = '6g-76-6340-40' + CHANNEL_6G_77 = '6g-77-6335-20' + CHANNEL_6G_79 = '6g-79-6415-160' + CHANNEL_6G_81 = '6g-81-6355-20' + CHANNEL_6G_84 = '6g-84-6380-40' + CHANNEL_6G_85 = '6g-85-6375-20' + CHANNEL_6G_87 = '6g-87-6415-80' + CHANNEL_6G_89 = '6g-89-6395-20' + CHANNEL_6G_92 = '6g-92-6420-40' + CHANNEL_6G_93 = '6g-93-6415-20' + CHANNEL_6G_95 = '6g-95-6575-320' + CHANNEL_6G_97 = '6g-97-6435-20' + CHANNEL_6G_100 = '6g-100-6460-40' + CHANNEL_6G_101 = '6g-101-6455-20' + CHANNEL_6G_103 = '6g-103-6495-80' + CHANNEL_6G_105 = '6g-105-6475-20' + CHANNEL_6G_108 = '6g-108-6500-40' + CHANNEL_6G_109 = '6g-109-6495-20' + CHANNEL_6G_111 = '6g-111-6575-160' + CHANNEL_6G_113 = '6g-113-6515-20' + CHANNEL_6G_116 = '6g-116-6540-40' + CHANNEL_6G_117 = '6g-117-6535-20' + CHANNEL_6G_119 = '6g-119-6575-80' + CHANNEL_6G_121 = '6g-121-6555-20' + CHANNEL_6G_124 = '6g-124-6580-40' + CHANNEL_6G_125 = '6g-125-6575-20' + CHANNEL_6G_129 = '6g-129-6595-20' + CHANNEL_6G_132 = '6g-132-6620-40' + CHANNEL_6G_133 = '6g-133-6615-20' + CHANNEL_6G_135 = '6g-135-6655-80' + CHANNEL_6G_137 = '6g-137-6635-20' + CHANNEL_6G_140 = '6g-140-6660-40' + CHANNEL_6G_141 = '6g-141-6655-20' + CHANNEL_6G_143 = '6g-143-6735-160' + CHANNEL_6G_145 = '6g-145-6675-20' + CHANNEL_6G_148 = '6g-148-6700-40' + CHANNEL_6G_149 = '6g-149-6695-20' + CHANNEL_6G_151 = '6g-151-6735-80' + CHANNEL_6G_153 = '6g-153-6715-20' + CHANNEL_6G_156 = '6g-156-6740-40' + CHANNEL_6G_157 = '6g-157-6735-20' + CHANNEL_6G_159 = '6g-159-6895-320' + CHANNEL_6G_161 = '6g-161-6755-20' + CHANNEL_6G_164 = '6g-164-6780-40' + CHANNEL_6G_165 = '6g-165-6775-20' + CHANNEL_6G_167 = '6g-167-6815-80' + CHANNEL_6G_169 = '6g-169-6795-20' + CHANNEL_6G_172 = '6g-172-6820-40' + CHANNEL_6G_173 = '6g-173-6815-20' + CHANNEL_6G_175 = '6g-175-6895-160' + CHANNEL_6G_177 = '6g-177-6835-20' + CHANNEL_6G_180 = '6g-180-6860-40' + CHANNEL_6G_181 = '6g-181-6855-20' + CHANNEL_6G_183 = '6g-183-6895-80' + CHANNEL_6G_185 = '6g-185-6875-20' + CHANNEL_6G_188 = '6g-188-6900-40' + CHANNEL_6G_189 = '6g-189-6895-20' + CHANNEL_6G_193 = '6g-193-6915-20' + CHANNEL_6G_196 = '6g-196-6940-40' + CHANNEL_6G_197 = '6g-197-6935-20' + CHANNEL_6G_199 = '6g-199-6975-80' + CHANNEL_6G_201 = '6g-201-6955-20' + CHANNEL_6G_204 = '6g-204-6980-40' + CHANNEL_6G_205 = '6g-205-6975-20' + CHANNEL_6G_207 = '6g-207-7055-160' + CHANNEL_6G_209 = '6g-209-6995-20' + CHANNEL_6G_212 = '6g-212-7020-40' + CHANNEL_6G_213 = '6g-213-7015-20' + CHANNEL_6G_215 = '6g-215-7055-80' + CHANNEL_6G_217 = '6g-217-7035-20' + CHANNEL_6G_220 = '6g-220-7060-40' + CHANNEL_6G_221 = '6g-221-7055-20' + CHANNEL_6G_225 = '6g-225-7075-20' + CHANNEL_6G_228 = '6g-228-7100-40' + CHANNEL_6G_229 = '6g-229-7095-20' + CHANNEL_6G_233 = '6g-233-7115-20' - # 60 GHz CHANNEL_60G_1 = '60g-1-58320-2160' CHANNEL_60G_2 = '60g-2-60480-2160' @@ -219,8 +218,6 @@ class WirelessChannelChoices(ChoiceSet): CHANNEL_60G_26 = '60g-26-63720-6480' CHANNEL_60G_27 = '60g-27-65880-6480' - - CHOICES = ( ( '2.4 GHz (802.11b/g/n/ax)', @@ -302,119 +299,118 @@ class WirelessChannelChoices(ChoiceSet): ( '6 GHz (802.11ax)', ( - (CHANNEL_6G_1, '1 (5945/20 MHz)'), - (CHANNEL_6G_3, '3 (5955/40 MHz)'), - (CHANNEL_6G_5, '5 (5965/20 MHz)'), - (CHANNEL_6G_7, '7 (5975/80 MHz)'), - (CHANNEL_6G_9, '9 (5985/20 MHz)'), - (CHANNEL_6G_11, '11 (5995/40 MHz)'), - (CHANNEL_6G_13, '13 (6005/20 MHz)'), - (CHANNEL_6G_15, '15 (6015/160 MHz)'), - (CHANNEL_6G_17, '17 (6025/20 MHz)'), - (CHANNEL_6G_19, '19 (6035/40 MHz)'), - (CHANNEL_6G_21, '21 (6045/20 MHz)'), - (CHANNEL_6G_23, '23 (6055/80 MHz)'), - (CHANNEL_6G_25, '25 (6065/20 MHz)'), - (CHANNEL_6G_28, '28 (6080/40 MHz)'), - (CHANNEL_6G_29, '29 (6085/20 MHz)'), - (CHANNEL_6G_31, '31 (6095/320 MHz)'), - (CHANNEL_6G_33, '33 (6105/20 MHz)'), - (CHANNEL_6G_36, '36 (6120/40 MHz)'), - (CHANNEL_6G_37, '37 (6125/20 MHz)'), - (CHANNEL_6G_39, '39 (6135/80 MHz)'), - (CHANNEL_6G_41, '41 (6145/20 MHz)'), - (CHANNEL_6G_44, '44 (6160/40 MHz)'), - (CHANNEL_6G_45, '45 (6165/20 MHz)'), - (CHANNEL_6G_47, '47 (6175/160 MHz)'), - (CHANNEL_6G_49, '49 (6185/20 MHz)'), - (CHANNEL_6G_52, '52 (6200/40 MHz)'), - (CHANNEL_6G_53, '53 (6205/20 MHz)'), - (CHANNEL_6G_55, '55 (6215/80 MHz)'), - (CHANNEL_6G_57, '57 (6225/20 MHz)'), - (CHANNEL_6G_60, '60 (6240/40 MHz)'), - (CHANNEL_6G_61, '61 (6245/20 MHz)'), - (CHANNEL_6G_65, '65 (6265/20 MHz)'), - (CHANNEL_6G_68, '68 (6280/40 MHz)'), - (CHANNEL_6G_69, '69 (6285/20 MHz)'), - (CHANNEL_6G_71, '71 (6295/80 MHz)'), - (CHANNEL_6G_73, '73 (6305/20 MHz)'), - (CHANNEL_6G_76, '76 (6320/40 MHz)'), - (CHANNEL_6G_77, '77 (6325/20 MHz)'), - (CHANNEL_6G_79, '79 (6335/160 MHz)'), - (CHANNEL_6G_81, '81 (6345/20 MHz)'), - (CHANNEL_6G_84, '84 (6360/40 MHz)'), - (CHANNEL_6G_85, '85 (6365/20 MHz)'), - (CHANNEL_6G_87, '87 (6375/80 MHz)'), - (CHANNEL_6G_89, '89 (6385/20 MHz)'), - (CHANNEL_6G_92, '92 (6400/40 MHz)'), - (CHANNEL_6G_93, '93 (6405/20 MHz)'), - (CHANNEL_6G_95, '95 (6415/320 MHz)'), - (CHANNEL_6G_97, '97 (6425/20 MHz)'), - (CHANNEL_6G_100, '100 (6440/40 MHz)'), - (CHANNEL_6G_101, '101 (6445/20 MHz)'), - (CHANNEL_6G_103, '103 (6455/80 MHz)'), - (CHANNEL_6G_105, '105 (6465/20 MHz)'), - (CHANNEL_6G_108, '108 (6480/40 MHz)'), - (CHANNEL_6G_109, '109 (6485/20 MHz)'), - (CHANNEL_6G_111, '111 (6495/160 MHz)'), - (CHANNEL_6G_113, '113 (6505/20 MHz)'), - (CHANNEL_6G_116, '116 (6520/40 MHz)'), - (CHANNEL_6G_117, '117 (6525/20 MHz)'), - (CHANNEL_6G_119, '119 (6535/80 MHz)'), - (CHANNEL_6G_121, '121 (6545/20 MHz)'), - (CHANNEL_6G_124, '124 (6560/40 MHz)'), - (CHANNEL_6G_125, '125 (6565/20 MHz)'), - (CHANNEL_6G_129, '129 (6585/20 MHz)'), - (CHANNEL_6G_132, '132 (6600/40 MHz)'), - (CHANNEL_6G_133, '133 (6605/20 MHz)'), - (CHANNEL_6G_135, '135 (6615/80 MHz)'), - (CHANNEL_6G_137, '137 (6625/20 MHz)'), - (CHANNEL_6G_140, '140 (6640/40 MHz)'), - (CHANNEL_6G_141, '141 (6645/20 MHz)'), - (CHANNEL_6G_143, '143 (6655/160 MHz)'), - (CHANNEL_6G_145, '145 (6665/20 MHz)'), - (CHANNEL_6G_148, '148 (6680/40 MHz)'), - (CHANNEL_6G_149, '149 (6685/20 MHz)'), - (CHANNEL_6G_151, '151 (6695/80 MHz)'), - (CHANNEL_6G_153, '153 (6705/20 MHz)'), - (CHANNEL_6G_156, '156 (6720/40 MHz)'), - (CHANNEL_6G_157, '157 (6725/20 MHz)'), - (CHANNEL_6G_159, '159 (6735/320 MHz)'), - (CHANNEL_6G_161, '161 (6745/20 MHz)'), - (CHANNEL_6G_164, '164 (6760/40 MHz)'), - (CHANNEL_6G_165, '165 (6765/20 MHz)'), - (CHANNEL_6G_167, '167 (6775/80 MHz)'), - (CHANNEL_6G_169, '169 (6785/20 MHz)'), - (CHANNEL_6G_172, '172 (6800/40 MHz)'), - (CHANNEL_6G_173, '173 (6805/20 MHz)'), - (CHANNEL_6G_175, '175 (6815/160 MHz)'), - (CHANNEL_6G_177, '177 (6825/20 MHz)'), - (CHANNEL_6G_180, '180 (6840/40 MHz)'), - (CHANNEL_6G_181, '181 (6845/20 MHz)'), - (CHANNEL_6G_183, '183 (6855/80 MHz)'), - (CHANNEL_6G_185, '185 (6865/20 MHz)'), - (CHANNEL_6G_188, '188 (6880/40 MHz)'), - (CHANNEL_6G_189, '189 (6885/20 MHz)'), - (CHANNEL_6G_193, '193 (6905/20 MHz)'), - (CHANNEL_6G_196, '196 (6920/40 MHz)'), - (CHANNEL_6G_197, '197 (6925/20 MHz)'), - (CHANNEL_6G_199, '199 (6935/80 MHz)'), - (CHANNEL_6G_201, '201 (6945/20 MHz)'), - (CHANNEL_6G_204, '204 (6960/40 MHz)'), - (CHANNEL_6G_205, '205 (6965/20 MHz)'), - (CHANNEL_6G_207, '207 (6975/160 MHz)'), - (CHANNEL_6G_209, '209 (6985/20 MHz)'), - (CHANNEL_6G_212, '212 (7000/40 MHz)'), - (CHANNEL_6G_213, '213 (7005/20 MHz)'), - (CHANNEL_6G_215, '215 (7015/80 MHz)'), - (CHANNEL_6G_217, '217 (7025/20 MHz)'), - (CHANNEL_6G_220, '220 (7040/40 MHz)'), - (CHANNEL_6G_221, '221 (7045/20 MHz)'), - (CHANNEL_6G_225, '225 (7065/20 MHz)'), - (CHANNEL_6G_228, '228 (7080/40 MHz)'), - (CHANNEL_6G_229, '229 (7085/20 MHz)'), - (CHANNEL_6G_233, '233 (7105/20 MHz)'), - + (CHANNEL_6G_1, '1 (5955/20 MHz)'), + (CHANNEL_6G_3, '3 (5975/40 MHz)'), + (CHANNEL_6G_5, '5 (5975/20 MHz)'), + (CHANNEL_6G_7, '7 (6015/80 MHz)'), + (CHANNEL_6G_9, '9 (5995/20 MHz)'), + (CHANNEL_6G_11, '11 (6015/40 MHz)'), + (CHANNEL_6G_13, '13 (6015/20 MHz)'), + (CHANNEL_6G_15, '15 (6095/160 MHz)'), + (CHANNEL_6G_17, '17 (6035/20 MHz)'), + (CHANNEL_6G_19, '19 (6055/40 MHz)'), + (CHANNEL_6G_21, '21 (6055/20 MHz)'), + (CHANNEL_6G_23, '23 (6095/80 MHz)'), + (CHANNEL_6G_25, '25 (6075/20 MHz)'), + (CHANNEL_6G_28, '28 (6100/40 MHz)'), + (CHANNEL_6G_29, '29 (6095/20 MHz)'), + (CHANNEL_6G_31, '31 (6255/320 MHz)'), + (CHANNEL_6G_33, '33 (6115/20 MHz)'), + (CHANNEL_6G_36, '36 (6140/40 MHz)'), + (CHANNEL_6G_37, '37 (6135/20 MHz)'), + (CHANNEL_6G_39, '39 (6175/80 MHz)'), + (CHANNEL_6G_41, '41 (6155/20 MHz)'), + (CHANNEL_6G_44, '44 (6180/40 MHz)'), + (CHANNEL_6G_45, '45 (6175/20 MHz)'), + (CHANNEL_6G_47, '47 (6255/160 MHz)'), + (CHANNEL_6G_49, '49 (6195/20 MHz)'), + (CHANNEL_6G_52, '52 (6220/40 MHz)'), + (CHANNEL_6G_53, '53 (6215/20 MHz)'), + (CHANNEL_6G_55, '55 (6255/80 MHz)'), + (CHANNEL_6G_57, '57 (6235/20 MHz)'), + (CHANNEL_6G_60, '60 (6260/40 MHz)'), + (CHANNEL_6G_61, '61 (6255/20 MHz)'), + (CHANNEL_6G_65, '65 (6275/20 MHz)'), + (CHANNEL_6G_68, '68 (6300/40 MHz)'), + (CHANNEL_6G_69, '69 (6295/20 MHz)'), + (CHANNEL_6G_71, '71 (6335/80 MHz)'), + (CHANNEL_6G_73, '73 (6315/20 MHz)'), + (CHANNEL_6G_76, '76 (6340/40 MHz)'), + (CHANNEL_6G_77, '77 (6335/20 MHz)'), + (CHANNEL_6G_79, '79 (6415/160 MHz)'), + (CHANNEL_6G_81, '81 (6355/20 MHz)'), + (CHANNEL_6G_84, '84 (6380/40 MHz)'), + (CHANNEL_6G_85, '85 (6375/20 MHz)'), + (CHANNEL_6G_87, '87 (6415/80 MHz)'), + (CHANNEL_6G_89, '89 (6395/20 MHz)'), + (CHANNEL_6G_92, '92 (6420/40 MHz)'), + (CHANNEL_6G_93, '93 (6415/20 MHz)'), + (CHANNEL_6G_95, '95 (6575/320 MHz)'), + (CHANNEL_6G_97, '97 (6435/20 MHz)'), + (CHANNEL_6G_100, '100 (6460/40 MHz)'), + (CHANNEL_6G_101, '101 (6455/20 MHz)'), + (CHANNEL_6G_103, '103 (6495/80 MHz)'), + (CHANNEL_6G_105, '105 (6475/20 MHz)'), + (CHANNEL_6G_108, '108 (6500/40 MHz)'), + (CHANNEL_6G_109, '109 (6495/20 MHz)'), + (CHANNEL_6G_111, '111 (6575/160 MHz)'), + (CHANNEL_6G_113, '113 (6515/20 MHz)'), + (CHANNEL_6G_116, '116 (6540/40 MHz)'), + (CHANNEL_6G_117, '117 (6535/20 MHz)'), + (CHANNEL_6G_119, '119 (6575/80 MHz)'), + (CHANNEL_6G_121, '121 (6555/20 MHz)'), + (CHANNEL_6G_124, '124 (6580/40 MHz)'), + (CHANNEL_6G_125, '125 (6575/20 MHz)'), + (CHANNEL_6G_129, '129 (6595/20 MHz)'), + (CHANNEL_6G_132, '132 (6620/40 MHz)'), + (CHANNEL_6G_133, '133 (6615/20 MHz)'), + (CHANNEL_6G_135, '135 (6655/80 MHz)'), + (CHANNEL_6G_137, '137 (6635/20 MHz)'), + (CHANNEL_6G_140, '140 (6660/40 MHz)'), + (CHANNEL_6G_141, '141 (6655/20 MHz)'), + (CHANNEL_6G_143, '143 (6735/160 MHz)'), + (CHANNEL_6G_145, '145 (6675/20 MHz)'), + (CHANNEL_6G_148, '148 (6700/40 MHz)'), + (CHANNEL_6G_149, '149 (6695/20 MHz)'), + (CHANNEL_6G_151, '151 (6735/80 MHz)'), + (CHANNEL_6G_153, '153 (6715/20 MHz)'), + (CHANNEL_6G_156, '156 (6740/40 MHz)'), + (CHANNEL_6G_157, '157 (6735/20 MHz)'), + (CHANNEL_6G_159, '159 (6895/320 MHz)'), + (CHANNEL_6G_161, '161 (6755/20 MHz)'), + (CHANNEL_6G_164, '164 (6780/40 MHz)'), + (CHANNEL_6G_165, '165 (6775/20 MHz)'), + (CHANNEL_6G_167, '167 (6815/80 MHz)'), + (CHANNEL_6G_169, '169 (6795/20 MHz)'), + (CHANNEL_6G_172, '172 (6820/40 MHz)'), + (CHANNEL_6G_173, '173 (6815/20 MHz)'), + (CHANNEL_6G_175, '175 (6895/160 MHz)'), + (CHANNEL_6G_177, '177 (6835/20 MHz)'), + (CHANNEL_6G_180, '180 (6860/40 MHz)'), + (CHANNEL_6G_181, '181 (6855/20 MHz)'), + (CHANNEL_6G_183, '183 (6895/80 MHz)'), + (CHANNEL_6G_185, '185 (6875/20 MHz)'), + (CHANNEL_6G_188, '188 (6900/40 MHz)'), + (CHANNEL_6G_189, '189 (6895/20 MHz)'), + (CHANNEL_6G_193, '193 (6915/20 MHz)'), + (CHANNEL_6G_196, '196 (6940/40 MHz)'), + (CHANNEL_6G_197, '197 (6935/20 MHz)'), + (CHANNEL_6G_199, '199 (6975/80 MHz)'), + (CHANNEL_6G_201, '201 (6955/20 MHz)'), + (CHANNEL_6G_204, '204 (6980/40 MHz)'), + (CHANNEL_6G_205, '205 (6975/20 MHz)'), + (CHANNEL_6G_207, '207 (7055/160 MHz)'), + (CHANNEL_6G_209, '209 (6995/20 MHz)'), + (CHANNEL_6G_212, '212 (7020/40 MHz)'), + (CHANNEL_6G_213, '213 (7015/20 MHz)'), + (CHANNEL_6G_215, '215 (7055/80 MHz)'), + (CHANNEL_6G_217, '217 (7035/20 MHz)'), + (CHANNEL_6G_220, '220 (7060/40 MHz)'), + (CHANNEL_6G_221, '221 (7055/20 MHz)'), + (CHANNEL_6G_225, '225 (7075/20 MHz)'), + (CHANNEL_6G_228, '228 (7100/40 MHz)'), + (CHANNEL_6G_229, '229 (7095/20 MHz)'), + (CHANNEL_6G_233, '233 (7115/20 MHz)'), ) ), ( From cab07c7c4b94be7cd4e62d096f8d91070baf8ed4 Mon Sep 17 00:00:00 2001 From: Christian Jonak Date: Thu, 16 Dec 2021 19:28:39 +0100 Subject: [PATCH 03/16] fix: non 20Mhz-wide channel centers --- netbox/wireless/choices.py | 212 ++++++++++++++++++------------------- 1 file changed, 106 insertions(+), 106 deletions(-) diff --git a/netbox/wireless/choices.py b/netbox/wireless/choices.py index 103539fca..c01bff358 100644 --- a/netbox/wireless/choices.py +++ b/netbox/wireless/choices.py @@ -86,115 +86,115 @@ class WirelessChannelChoices(ChoiceSet): # 6 GHz CHANNEL_6G_1 = '6g-1-5955-20' - CHANNEL_6G_3 = '6g-3-5975-40' + CHANNEL_6G_3 = '6g-3-5965-40' CHANNEL_6G_5 = '6g-5-5975-20' - CHANNEL_6G_7 = '6g-7-6015-80' + CHANNEL_6G_7 = '6g-7-5985-80' CHANNEL_6G_9 = '6g-9-5995-20' - CHANNEL_6G_11 = '6g-11-6015-40' + CHANNEL_6G_11 = '6g-11-6005-40' CHANNEL_6G_13 = '6g-13-6015-20' - CHANNEL_6G_15 = '6g-15-6095-160' + CHANNEL_6G_15 = '6g-15-6025-160' CHANNEL_6G_17 = '6g-17-6035-20' - CHANNEL_6G_19 = '6g-19-6055-40' + CHANNEL_6G_19 = '6g-19-6045-40' CHANNEL_6G_21 = '6g-21-6055-20' - CHANNEL_6G_23 = '6g-23-6095-80' + CHANNEL_6G_23 = '6g-23-6065-80' CHANNEL_6G_25 = '6g-25-6075-20' - CHANNEL_6G_28 = '6g-28-6100-40' + CHANNEL_6G_27 = '6g-27-6085-40' CHANNEL_6G_29 = '6g-29-6095-20' - CHANNEL_6G_31 = '6g-31-6255-320' + CHANNEL_6G_31 = '6g-31-6105-320' CHANNEL_6G_33 = '6g-33-6115-20' - CHANNEL_6G_36 = '6g-36-6140-40' + CHANNEL_6G_35 = '6g-35-6125-40' CHANNEL_6G_37 = '6g-37-6135-20' - CHANNEL_6G_39 = '6g-39-6175-80' + CHANNEL_6G_39 = '6g-39-6145-80' CHANNEL_6G_41 = '6g-41-6155-20' - CHANNEL_6G_44 = '6g-44-6180-40' + CHANNEL_6G_43 = '6g-43-6165-40' CHANNEL_6G_45 = '6g-45-6175-20' - CHANNEL_6G_47 = '6g-47-6255-160' + CHANNEL_6G_47 = '6g-47-6185-160' CHANNEL_6G_49 = '6g-49-6195-20' - CHANNEL_6G_52 = '6g-52-6220-40' + CHANNEL_6G_51 = '6g-51-6205-40' CHANNEL_6G_53 = '6g-53-6215-20' - CHANNEL_6G_55 = '6g-55-6255-80' + CHANNEL_6G_55 = '6g-55-6225-80' CHANNEL_6G_57 = '6g-57-6235-20' - CHANNEL_6G_60 = '6g-60-6260-40' + CHANNEL_6G_59 = '6g-59-6245-40' CHANNEL_6G_61 = '6g-61-6255-20' CHANNEL_6G_65 = '6g-65-6275-20' - CHANNEL_6G_68 = '6g-68-6300-40' + CHANNEL_6G_67 = '6g-67-6285-40' CHANNEL_6G_69 = '6g-69-6295-20' - CHANNEL_6G_71 = '6g-71-6335-80' + CHANNEL_6G_71 = '6g-71-6305-80' CHANNEL_6G_73 = '6g-73-6315-20' - CHANNEL_6G_76 = '6g-76-6340-40' + CHANNEL_6G_75 = '6g-75-6325-40' CHANNEL_6G_77 = '6g-77-6335-20' - CHANNEL_6G_79 = '6g-79-6415-160' + CHANNEL_6G_79 = '6g-79-6345-160' CHANNEL_6G_81 = '6g-81-6355-20' - CHANNEL_6G_84 = '6g-84-6380-40' + CHANNEL_6G_83 = '6g-83-6365-40' CHANNEL_6G_85 = '6g-85-6375-20' - CHANNEL_6G_87 = '6g-87-6415-80' + CHANNEL_6G_87 = '6g-87-6385-80' CHANNEL_6G_89 = '6g-89-6395-20' - CHANNEL_6G_92 = '6g-92-6420-40' + CHANNEL_6G_91 = '6g-91-6405-40' CHANNEL_6G_93 = '6g-93-6415-20' - CHANNEL_6G_95 = '6g-95-6575-320' + CHANNEL_6G_95 = '6g-95-6425-320' CHANNEL_6G_97 = '6g-97-6435-20' - CHANNEL_6G_100 = '6g-100-6460-40' + CHANNEL_6G_99 = '6g-99-6445-40' CHANNEL_6G_101 = '6g-101-6455-20' - CHANNEL_6G_103 = '6g-103-6495-80' + CHANNEL_6G_103 = '6g-103-6465-80' CHANNEL_6G_105 = '6g-105-6475-20' - CHANNEL_6G_108 = '6g-108-6500-40' + CHANNEL_6G_107 = '6g-107-6485-40' CHANNEL_6G_109 = '6g-109-6495-20' - CHANNEL_6G_111 = '6g-111-6575-160' + CHANNEL_6G_111 = '6g-111-6505-160' CHANNEL_6G_113 = '6g-113-6515-20' - CHANNEL_6G_116 = '6g-116-6540-40' + CHANNEL_6G_115 = '6g-115-6525-40' CHANNEL_6G_117 = '6g-117-6535-20' - CHANNEL_6G_119 = '6g-119-6575-80' + CHANNEL_6G_119 = '6g-119-6545-80' CHANNEL_6G_121 = '6g-121-6555-20' - CHANNEL_6G_124 = '6g-124-6580-40' + CHANNEL_6G_123 = '6g-123-6565-40' CHANNEL_6G_125 = '6g-125-6575-20' CHANNEL_6G_129 = '6g-129-6595-20' - CHANNEL_6G_132 = '6g-132-6620-40' + CHANNEL_6G_131 = '6g-131-6605-40' CHANNEL_6G_133 = '6g-133-6615-20' - CHANNEL_6G_135 = '6g-135-6655-80' + CHANNEL_6G_135 = '6g-135-6625-80' CHANNEL_6G_137 = '6g-137-6635-20' - CHANNEL_6G_140 = '6g-140-6660-40' + CHANNEL_6G_139 = '6g-139-6645-40' CHANNEL_6G_141 = '6g-141-6655-20' - CHANNEL_6G_143 = '6g-143-6735-160' + CHANNEL_6G_143 = '6g-143-6665-160' CHANNEL_6G_145 = '6g-145-6675-20' - CHANNEL_6G_148 = '6g-148-6700-40' + CHANNEL_6G_147 = '6g-147-6685-40' CHANNEL_6G_149 = '6g-149-6695-20' - CHANNEL_6G_151 = '6g-151-6735-80' + CHANNEL_6G_151 = '6g-151-6705-80' CHANNEL_6G_153 = '6g-153-6715-20' - CHANNEL_6G_156 = '6g-156-6740-40' + CHANNEL_6G_155 = '6g-155-6725-40' CHANNEL_6G_157 = '6g-157-6735-20' - CHANNEL_6G_159 = '6g-159-6895-320' + CHANNEL_6G_159 = '6g-159-6745-320' CHANNEL_6G_161 = '6g-161-6755-20' - CHANNEL_6G_164 = '6g-164-6780-40' + CHANNEL_6G_163 = '6g-163-6765-40' CHANNEL_6G_165 = '6g-165-6775-20' - CHANNEL_6G_167 = '6g-167-6815-80' + CHANNEL_6G_167 = '6g-167-6785-80' CHANNEL_6G_169 = '6g-169-6795-20' - CHANNEL_6G_172 = '6g-172-6820-40' + CHANNEL_6G_171 = '6g-171-6805-40' CHANNEL_6G_173 = '6g-173-6815-20' - CHANNEL_6G_175 = '6g-175-6895-160' + CHANNEL_6G_175 = '6g-175-6825-160' CHANNEL_6G_177 = '6g-177-6835-20' - CHANNEL_6G_180 = '6g-180-6860-40' + CHANNEL_6G_179 = '6g-179-6845-40' CHANNEL_6G_181 = '6g-181-6855-20' - CHANNEL_6G_183 = '6g-183-6895-80' + CHANNEL_6G_183 = '6g-183-6865-80' CHANNEL_6G_185 = '6g-185-6875-20' - CHANNEL_6G_188 = '6g-188-6900-40' + CHANNEL_6G_187 = '6g-187-6885-40' CHANNEL_6G_189 = '6g-189-6895-20' CHANNEL_6G_193 = '6g-193-6915-20' - CHANNEL_6G_196 = '6g-196-6940-40' + CHANNEL_6G_195 = '6g-195-6925-40' CHANNEL_6G_197 = '6g-197-6935-20' - CHANNEL_6G_199 = '6g-199-6975-80' + CHANNEL_6G_199 = '6g-199-6945-80' CHANNEL_6G_201 = '6g-201-6955-20' - CHANNEL_6G_204 = '6g-204-6980-40' + CHANNEL_6G_203 = '6g-203-6965-40' CHANNEL_6G_205 = '6g-205-6975-20' - CHANNEL_6G_207 = '6g-207-7055-160' + CHANNEL_6G_207 = '6g-207-6985-160' CHANNEL_6G_209 = '6g-209-6995-20' - CHANNEL_6G_212 = '6g-212-7020-40' + CHANNEL_6G_211 = '6g-211-7005-40' CHANNEL_6G_213 = '6g-213-7015-20' - CHANNEL_6G_215 = '6g-215-7055-80' + CHANNEL_6G_215 = '6g-215-7025-80' CHANNEL_6G_217 = '6g-217-7035-20' - CHANNEL_6G_220 = '6g-220-7060-40' + CHANNEL_6G_219 = '6g-219-7045-40' CHANNEL_6G_221 = '6g-221-7055-20' CHANNEL_6G_225 = '6g-225-7075-20' - CHANNEL_6G_228 = '6g-228-7100-40' + CHANNEL_6G_227 = '6g-227-7085-40' CHANNEL_6G_229 = '6g-229-7095-20' CHANNEL_6G_233 = '6g-233-7115-20' @@ -300,115 +300,115 @@ class WirelessChannelChoices(ChoiceSet): '6 GHz (802.11ax)', ( (CHANNEL_6G_1, '1 (5955/20 MHz)'), - (CHANNEL_6G_3, '3 (5975/40 MHz)'), + (CHANNEL_6G_3, '3 (5965/40 MHz)'), (CHANNEL_6G_5, '5 (5975/20 MHz)'), - (CHANNEL_6G_7, '7 (6015/80 MHz)'), + (CHANNEL_6G_7, '7 (5985/80 MHz)'), (CHANNEL_6G_9, '9 (5995/20 MHz)'), - (CHANNEL_6G_11, '11 (6015/40 MHz)'), + (CHANNEL_6G_11, '11 (6005/40 MHz)'), (CHANNEL_6G_13, '13 (6015/20 MHz)'), - (CHANNEL_6G_15, '15 (6095/160 MHz)'), + (CHANNEL_6G_15, '15 (6025/160 MHz)'), (CHANNEL_6G_17, '17 (6035/20 MHz)'), - (CHANNEL_6G_19, '19 (6055/40 MHz)'), + (CHANNEL_6G_19, '19 (6045/40 MHz)'), (CHANNEL_6G_21, '21 (6055/20 MHz)'), - (CHANNEL_6G_23, '23 (6095/80 MHz)'), + (CHANNEL_6G_23, '23 (6065/80 MHz)'), (CHANNEL_6G_25, '25 (6075/20 MHz)'), - (CHANNEL_6G_28, '28 (6100/40 MHz)'), + (CHANNEL_6G_27, '27 (6085/40 MHz)'), (CHANNEL_6G_29, '29 (6095/20 MHz)'), - (CHANNEL_6G_31, '31 (6255/320 MHz)'), + (CHANNEL_6G_31, '31 (6105/320 MHz)'), (CHANNEL_6G_33, '33 (6115/20 MHz)'), - (CHANNEL_6G_36, '36 (6140/40 MHz)'), + (CHANNEL_6G_35, '35 (6125/40 MHz)'), (CHANNEL_6G_37, '37 (6135/20 MHz)'), - (CHANNEL_6G_39, '39 (6175/80 MHz)'), + (CHANNEL_6G_39, '39 (6145/80 MHz)'), (CHANNEL_6G_41, '41 (6155/20 MHz)'), - (CHANNEL_6G_44, '44 (6180/40 MHz)'), + (CHANNEL_6G_43, '43 (6165/40 MHz)'), (CHANNEL_6G_45, '45 (6175/20 MHz)'), - (CHANNEL_6G_47, '47 (6255/160 MHz)'), + (CHANNEL_6G_47, '47 (6185/160 MHz)'), (CHANNEL_6G_49, '49 (6195/20 MHz)'), - (CHANNEL_6G_52, '52 (6220/40 MHz)'), + (CHANNEL_6G_51, '51 (6205/40 MHz)'), (CHANNEL_6G_53, '53 (6215/20 MHz)'), - (CHANNEL_6G_55, '55 (6255/80 MHz)'), + (CHANNEL_6G_55, '55 (6225/80 MHz)'), (CHANNEL_6G_57, '57 (6235/20 MHz)'), - (CHANNEL_6G_60, '60 (6260/40 MHz)'), + (CHANNEL_6G_59, '59 (6245/40 MHz)'), (CHANNEL_6G_61, '61 (6255/20 MHz)'), (CHANNEL_6G_65, '65 (6275/20 MHz)'), - (CHANNEL_6G_68, '68 (6300/40 MHz)'), + (CHANNEL_6G_67, '67 (6285/40 MHz)'), (CHANNEL_6G_69, '69 (6295/20 MHz)'), - (CHANNEL_6G_71, '71 (6335/80 MHz)'), + (CHANNEL_6G_71, '71 (6305/80 MHz)'), (CHANNEL_6G_73, '73 (6315/20 MHz)'), - (CHANNEL_6G_76, '76 (6340/40 MHz)'), + (CHANNEL_6G_75, '75 (6325/40 MHz)'), (CHANNEL_6G_77, '77 (6335/20 MHz)'), - (CHANNEL_6G_79, '79 (6415/160 MHz)'), + (CHANNEL_6G_79, '79 (6345/160 MHz)'), (CHANNEL_6G_81, '81 (6355/20 MHz)'), - (CHANNEL_6G_84, '84 (6380/40 MHz)'), + (CHANNEL_6G_83, '83 (6365/40 MHz)'), (CHANNEL_6G_85, '85 (6375/20 MHz)'), - (CHANNEL_6G_87, '87 (6415/80 MHz)'), + (CHANNEL_6G_87, '87 (6385/80 MHz)'), (CHANNEL_6G_89, '89 (6395/20 MHz)'), - (CHANNEL_6G_92, '92 (6420/40 MHz)'), + (CHANNEL_6G_91, '91 (6405/40 MHz)'), (CHANNEL_6G_93, '93 (6415/20 MHz)'), - (CHANNEL_6G_95, '95 (6575/320 MHz)'), + (CHANNEL_6G_95, '95 (6425/320 MHz)'), (CHANNEL_6G_97, '97 (6435/20 MHz)'), - (CHANNEL_6G_100, '100 (6460/40 MHz)'), + (CHANNEL_6G_99, '99 (6445/40 MHz)'), (CHANNEL_6G_101, '101 (6455/20 MHz)'), - (CHANNEL_6G_103, '103 (6495/80 MHz)'), + (CHANNEL_6G_103, '103 (6465/80 MHz)'), (CHANNEL_6G_105, '105 (6475/20 MHz)'), - (CHANNEL_6G_108, '108 (6500/40 MHz)'), + (CHANNEL_6G_107, '107 (6485/40 MHz)'), (CHANNEL_6G_109, '109 (6495/20 MHz)'), - (CHANNEL_6G_111, '111 (6575/160 MHz)'), + (CHANNEL_6G_111, '111 (6505/160 MHz)'), (CHANNEL_6G_113, '113 (6515/20 MHz)'), - (CHANNEL_6G_116, '116 (6540/40 MHz)'), + (CHANNEL_6G_115, '115 (6525/40 MHz)'), (CHANNEL_6G_117, '117 (6535/20 MHz)'), - (CHANNEL_6G_119, '119 (6575/80 MHz)'), + (CHANNEL_6G_119, '119 (6545/80 MHz)'), (CHANNEL_6G_121, '121 (6555/20 MHz)'), - (CHANNEL_6G_124, '124 (6580/40 MHz)'), + (CHANNEL_6G_123, '123 (6565/40 MHz)'), (CHANNEL_6G_125, '125 (6575/20 MHz)'), (CHANNEL_6G_129, '129 (6595/20 MHz)'), - (CHANNEL_6G_132, '132 (6620/40 MHz)'), + (CHANNEL_6G_131, '131 (6605/40 MHz)'), (CHANNEL_6G_133, '133 (6615/20 MHz)'), - (CHANNEL_6G_135, '135 (6655/80 MHz)'), + (CHANNEL_6G_135, '135 (6625/80 MHz)'), (CHANNEL_6G_137, '137 (6635/20 MHz)'), - (CHANNEL_6G_140, '140 (6660/40 MHz)'), + (CHANNEL_6G_139, '139 (6645/40 MHz)'), (CHANNEL_6G_141, '141 (6655/20 MHz)'), - (CHANNEL_6G_143, '143 (6735/160 MHz)'), + (CHANNEL_6G_143, '143 (6665/160 MHz)'), (CHANNEL_6G_145, '145 (6675/20 MHz)'), - (CHANNEL_6G_148, '148 (6700/40 MHz)'), + (CHANNEL_6G_147, '147 (6685/40 MHz)'), (CHANNEL_6G_149, '149 (6695/20 MHz)'), - (CHANNEL_6G_151, '151 (6735/80 MHz)'), + (CHANNEL_6G_151, '151 (6705/80 MHz)'), (CHANNEL_6G_153, '153 (6715/20 MHz)'), - (CHANNEL_6G_156, '156 (6740/40 MHz)'), + (CHANNEL_6G_155, '155 (6725/40 MHz)'), (CHANNEL_6G_157, '157 (6735/20 MHz)'), - (CHANNEL_6G_159, '159 (6895/320 MHz)'), + (CHANNEL_6G_159, '159 (6745/320 MHz)'), (CHANNEL_6G_161, '161 (6755/20 MHz)'), - (CHANNEL_6G_164, '164 (6780/40 MHz)'), + (CHANNEL_6G_163, '163 (6765/40 MHz)'), (CHANNEL_6G_165, '165 (6775/20 MHz)'), - (CHANNEL_6G_167, '167 (6815/80 MHz)'), + (CHANNEL_6G_167, '167 (6785/80 MHz)'), (CHANNEL_6G_169, '169 (6795/20 MHz)'), - (CHANNEL_6G_172, '172 (6820/40 MHz)'), + (CHANNEL_6G_171, '171 (6805/40 MHz)'), (CHANNEL_6G_173, '173 (6815/20 MHz)'), - (CHANNEL_6G_175, '175 (6895/160 MHz)'), + (CHANNEL_6G_175, '175 (6825/160 MHz)'), (CHANNEL_6G_177, '177 (6835/20 MHz)'), - (CHANNEL_6G_180, '180 (6860/40 MHz)'), + (CHANNEL_6G_179, '179 (6845/40 MHz)'), (CHANNEL_6G_181, '181 (6855/20 MHz)'), - (CHANNEL_6G_183, '183 (6895/80 MHz)'), + (CHANNEL_6G_183, '183 (6865/80 MHz)'), (CHANNEL_6G_185, '185 (6875/20 MHz)'), - (CHANNEL_6G_188, '188 (6900/40 MHz)'), + (CHANNEL_6G_187, '187 (6885/40 MHz)'), (CHANNEL_6G_189, '189 (6895/20 MHz)'), (CHANNEL_6G_193, '193 (6915/20 MHz)'), - (CHANNEL_6G_196, '196 (6940/40 MHz)'), + (CHANNEL_6G_195, '195 (6925/40 MHz)'), (CHANNEL_6G_197, '197 (6935/20 MHz)'), - (CHANNEL_6G_199, '199 (6975/80 MHz)'), + (CHANNEL_6G_199, '199 (6945/80 MHz)'), (CHANNEL_6G_201, '201 (6955/20 MHz)'), - (CHANNEL_6G_204, '204 (6980/40 MHz)'), + (CHANNEL_6G_203, '203 (6965/40 MHz)'), (CHANNEL_6G_205, '205 (6975/20 MHz)'), - (CHANNEL_6G_207, '207 (7055/160 MHz)'), + (CHANNEL_6G_207, '207 (6985/160 MHz)'), (CHANNEL_6G_209, '209 (6995/20 MHz)'), - (CHANNEL_6G_212, '212 (7020/40 MHz)'), + (CHANNEL_6G_211, '211 (7005/40 MHz)'), (CHANNEL_6G_213, '213 (7015/20 MHz)'), - (CHANNEL_6G_215, '215 (7055/80 MHz)'), + (CHANNEL_6G_215, '215 (7025/80 MHz)'), (CHANNEL_6G_217, '217 (7035/20 MHz)'), - (CHANNEL_6G_220, '220 (7060/40 MHz)'), + (CHANNEL_6G_219, '219 (7045/40 MHz)'), (CHANNEL_6G_221, '221 (7055/20 MHz)'), (CHANNEL_6G_225, '225 (7075/20 MHz)'), - (CHANNEL_6G_228, '228 (7100/40 MHz)'), + (CHANNEL_6G_227, '227 (7085/40 MHz)'), (CHANNEL_6G_229, '229 (7095/20 MHz)'), (CHANNEL_6G_233, '233 (7115/20 MHz)'), ) From b8b485af4db81cc2f3e0700d6c76164e2579a867 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 20 Dec 2021 14:17:52 -0500 Subject: [PATCH 04/16] Changelog & PEP8 cleanup for #7999 --- docs/release-notes/version-3.1.md | 1 + netbox/wireless/choices.py | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md index c6b87d1e4..d58c4e9a2 100644 --- a/docs/release-notes/version-3.1.md +++ b/docs/release-notes/version-3.1.md @@ -6,6 +6,7 @@ * [#7661](https://github.com/netbox-community/netbox/issues/7661) - Remove forced styling of custom banners * [#7665](https://github.com/netbox-community/netbox/issues/7665) - Add toggle to show only available child prefixes +* [#7999](https://github.com/netbox-community/netbox/issues/7999) - Add 6 GHz and 60 GHz wireless channels * [#8057](https://github.com/netbox-community/netbox/issues/8057) - Dynamic object tables using HTMX * [#8080](https://github.com/netbox-community/netbox/issues/8080) - Link to NAT IPs for device/VM primary IPs * [#8081](https://github.com/netbox-community/netbox/issues/8081) - Allow creating services directly from navigation menu diff --git a/netbox/wireless/choices.py b/netbox/wireless/choices.py index c01bff358..135fa1b0c 100644 --- a/netbox/wireless/choices.py +++ b/netbox/wireless/choices.py @@ -83,7 +83,7 @@ class WirelessChannelChoices(ChoiceSet): CHANNEL_5G_173 = '5g-173-5865-20' CHANNEL_5G_175 = '5g-175-5875-40' CHANNEL_5G_177 = '5g-177-5885-20' - + # 6 GHz CHANNEL_6G_1 = '6g-1-5955-20' CHANNEL_6G_3 = '6g-3-5965-40' @@ -217,7 +217,7 @@ class WirelessChannelChoices(ChoiceSet): CHANNEL_60G_25 = '60g-25-61560-6480' CHANNEL_60G_26 = '60g-26-63720-6480' CHANNEL_60G_27 = '60g-27-65880-6480' - + CHOICES = ( ( '2.4 GHz (802.11b/g/n/ax)', From df4f80e773b130c1be0e513a8d8f38cfeb7e1b2f Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 20 Dec 2021 15:48:28 -0500 Subject: [PATCH 05/16] Release v3.1.2 --- .github/ISSUE_TEMPLATE/bug_report.yaml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yaml | 2 +- docs/release-notes/version-3.1.md | 2 +- netbox/netbox/settings.py | 2 +- requirements.txt | 6 +++--- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yaml b/.github/ISSUE_TEMPLATE/bug_report.yaml index 4b85a1628..f13168f3c 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yaml +++ b/.github/ISSUE_TEMPLATE/bug_report.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v3.1.1 + placeholder: v3.1.2 validations: required: true - type: dropdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yaml b/.github/ISSUE_TEMPLATE/feature_request.yaml index d63c2567c..277c9724f 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yaml +++ b/.github/ISSUE_TEMPLATE/feature_request.yaml @@ -14,7 +14,7 @@ body: attributes: label: NetBox version description: What version of NetBox are you currently running? - placeholder: v3.1.1 + placeholder: v3.1.2 validations: required: true - type: dropdown diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md index d58c4e9a2..ce6a67327 100644 --- a/docs/release-notes/version-3.1.md +++ b/docs/release-notes/version-3.1.md @@ -1,6 +1,6 @@ # NetBox v3.1 -## v3.1.2 (FUTURE) +## v3.1.2 (2021-12-20) ### Enhancements diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index 10a30b282..af4ce0a4d 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -19,7 +19,7 @@ from netbox.config import PARAMS # Environment setup # -VERSION = '3.1.2-dev' +VERSION = '3.1.2' # Hostname HOSTNAME = platform.node() diff --git a/requirements.txt b/requirements.txt index f744fea2a..4051862d1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,11 +1,11 @@ Django==3.2.10 django-cors-headers==3.10.1 -django-debug-toolbar==3.2.3 +django-debug-toolbar==3.2.4 django-filter==21.1 django-graphiql-debug-toolbar==0.2.0 django-mptt==0.13.4 django-pglocks==1.0.4 -django-prometheus==2.1.0 +django-prometheus==2.2.0 django-redis==5.1.0 django-rq==2.5.1 django-tables2==2.4.1 @@ -18,7 +18,7 @@ gunicorn==20.1.0 Jinja2==3.0.3 Markdown==3.3.6 markdown-include==0.6.0 -mkdocs-material==8.1.0 +mkdocs-material==8.1.3 netaddr==0.8.0 Pillow==8.4.0 psycopg2-binary==2.9.2 From 42b590af77e1eed0f439b5186753084d6e6f7c52 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 20 Dec 2021 16:06:42 -0500 Subject: [PATCH 06/16] PRVB --- docs/release-notes/version-3.1.md | 4 ++++ netbox/netbox/settings.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/release-notes/version-3.1.md b/docs/release-notes/version-3.1.md index ce6a67327..b117c4b1e 100644 --- a/docs/release-notes/version-3.1.md +++ b/docs/release-notes/version-3.1.md @@ -1,5 +1,9 @@ # NetBox v3.1 +## v3.1.3 (FUTURE) + +--- + ## v3.1.2 (2021-12-20) ### Enhancements diff --git a/netbox/netbox/settings.py b/netbox/netbox/settings.py index af4ce0a4d..675d8f78d 100644 --- a/netbox/netbox/settings.py +++ b/netbox/netbox/settings.py @@ -19,7 +19,7 @@ from netbox.config import PARAMS # Environment setup # -VERSION = '3.1.2' +VERSION = '3.1.3-dev' # Hostname HOSTNAME = platform.node() From 872691a138486c80fe5589c68314dacc4ec46c25 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 20 Dec 2021 20:45:32 -0500 Subject: [PATCH 07/16] Convert scripts to use HTMX --- netbox/extras/views.py | 11 +++ .../templates/extras/htmx/script_result.html | 52 +++++++++++ netbox/templates/extras/script_result.html | 86 +++---------------- 3 files changed, 73 insertions(+), 76 deletions(-) create mode 100644 netbox/templates/extras/htmx/script_result.html diff --git a/netbox/extras/views.py b/netbox/extras/views.py index ab9e3ba52..f2cf1b38a 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -10,6 +10,7 @@ from rq import Worker from netbox.views import generic from utilities.forms import ConfirmationForm +from utilities.htmx import is_htmx from utilities.tables import paginate_table from utilities.utils import copy_safe_request, count_related, normalize_querydict, shallow_compare_dict from utilities.views import ContentTypePermissionRequiredMixin @@ -820,6 +821,16 @@ class ScriptResultView(ContentTypePermissionRequiredMixin, GetScriptMixin, View) script = self._get_script(result.name) + # If this is an HTMX request, return only the rendered table HTML + if is_htmx(request): + response = render(request, 'extras/htmx/script_result.html', { + 'script': script, + 'result': result, + }) + if result.completed: + response.status_code = 286 + return response + return render(request, 'extras/script_result.html', { 'script': script, 'result': result, diff --git a/netbox/templates/extras/htmx/script_result.html b/netbox/templates/extras/htmx/script_result.html new file mode 100644 index 000000000..013b4c81d --- /dev/null +++ b/netbox/templates/extras/htmx/script_result.html @@ -0,0 +1,52 @@ +{% load helpers %} +{% load log_levels %} + +{% if result.completed %} +

+ Run: {{ result.created|annotated_date }} + {% if result.completed %} + Duration: {{ result.duration }} + {% endif %} +

+
+
Script Log
+
+ + + + + + + {% for log in result.data.log %} + + + + + + {% empty %} + + + + {% endfor %} +
LineLevelMessage
{{ forloop.counter }}{% log_level log.status %}{{ log.message|render_markdown }}
+ No log output +
+
+ {% if execution_time %} + + {% endif %} +
+

Output

+ {% if result.data.output %} +
{{ result.data.output }}
+ {% else %} +

None

+ {% endif %} +{% else %} +
+ Loading... +
+

Results pending...

+{% endif %} diff --git a/netbox/templates/extras/script_result.html b/netbox/templates/extras/script_result.html index 3cbd0c611..f00b3bf91 100644 --- a/netbox/templates/extras/script_result.html +++ b/netbox/templates/extras/script_result.html @@ -4,16 +4,10 @@ {% load log_levels %} {% load static %} -{% block head %} - -{% endblock %} - {% block title %}{{ script }}{% endblock %} {% block subtitle %} {{ script.Meta.description|render_markdown }} - {% include 'extras/inc/job_label.html' with result=result %} {% endblock %} {% block header %} @@ -37,81 +31,21 @@ -
-

- Run: {{ result.created|annotated_date }} - {% if result.completed %} - Duration: {{ result.duration }} - {% else %} -

- Loading... -
- {% endif %} -

-
- {% if result.completed %} -
-
-
-
- Script Log -
-
- - - - - - - {% for log in result.data.log %} - - - - - - {% empty %} - - - - {% endfor %} -
LineLevelMessage
{{ forloop.counter }}{% log_level log.status %}{{ log.message|render_markdown }}
- No log output -
-
- {% if execution_time %} - - {% endif %} -
-
-
- {% else %} -
-
-
Pending Results
-
-
- {% endif %} -
-
-
{{ result.data.output }}
-
-
-

{{ script.filename }}

-
{{ script.source }}
+
+
+
+ {% include 'extras/htmx/script_result.html' %} +
+
+
+

{{ script.filename }}

+
{{ script.source }}
+
{% endblock content-wrapper %} - -{% block data %} - - -{% endblock %} From 4ae2b4e0b90446857b8d2c13cfa6eeed8e175a24 Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 20 Dec 2021 20:52:29 -0500 Subject: [PATCH 08/16] Convert reports to use HTMX --- netbox/extras/views.py | 20 +++- .../templates/extras/htmx/report_result.html | 81 ++++++++++++++++ netbox/templates/extras/report_result.html | 96 +------------------ 3 files changed, 100 insertions(+), 97 deletions(-) create mode 100644 netbox/templates/extras/htmx/report_result.html diff --git a/netbox/extras/views.py b/netbox/extras/views.py index f2cf1b38a..d5d36d364 100644 --- a/netbox/extras/views.py +++ b/netbox/extras/views.py @@ -694,16 +694,26 @@ class ReportResultView(ContentTypePermissionRequiredMixin, View): def get(self, request, job_result_pk): report_content_type = ContentType.objects.get(app_label='extras', model='report') - jobresult = get_object_or_404(JobResult.objects.all(), pk=job_result_pk, obj_type=report_content_type) + result = get_object_or_404(JobResult.objects.all(), pk=job_result_pk, obj_type=report_content_type) # Retrieve the Report and attach the JobResult to it - module, report_name = jobresult.name.split('.') + module, report_name = result.name.split('.') report = get_report(module, report_name) - report.result = jobresult + report.result = result + + # If this is an HTMX request, return only the result HTML + if is_htmx(request): + response = render(request, 'extras/htmx/report_result.html', { + 'report': report, + 'result': result, + }) + if result.completed: + response.status_code = 286 + return response return render(request, 'extras/report_result.html', { 'report': report, - 'result': jobresult, + 'result': result, }) @@ -821,7 +831,7 @@ class ScriptResultView(ContentTypePermissionRequiredMixin, GetScriptMixin, View) script = self._get_script(result.name) - # If this is an HTMX request, return only the rendered table HTML + # If this is an HTMX request, return only the result HTML if is_htmx(request): response = render(request, 'extras/htmx/script_result.html', { 'script': script, diff --git a/netbox/templates/extras/htmx/report_result.html b/netbox/templates/extras/htmx/report_result.html new file mode 100644 index 000000000..3bc5ad27d --- /dev/null +++ b/netbox/templates/extras/htmx/report_result.html @@ -0,0 +1,81 @@ +{% load helpers %} + +

+ Run: {{ result.created|annotated_date }} + {% if result.completed %} + Duration: {{ result.duration }} + {% else %} +

+ Loading... +
+ {% endif %} + {% include 'extras/inc/job_label.html' with result=result %} +

+{% if result.completed %} +
+
+ Report Methods +
+
+ + {% for method, data in result.data.items %} + + + + + {% endfor %} +
{{ method }} + {{ data.success }} + {{ data.info }} + {{ data.warning }} + {{ data.failure }} +
+
+
+
+
+ Report Results +
+
+ + + + + + + + + + + {% for method, data in result.data.items %} + + + + {% for time, level, obj, url, message in data.log %} + + + + + + + {% endfor %} + {% endfor %} + +
TimeLevelObjectMessage
+ {{ method }} +
{{ time }} + + + {% if obj and url %} + {{ obj }} + {% elif obj %} + {{ obj }} + {% else %} + + {% endif %} + {{ message|render_markdown }}
+
+
+{% else %} +
Pending results
+{% endif %} diff --git a/netbox/templates/extras/report_result.html b/netbox/templates/extras/report_result.html index 90726d287..9dd733bef 100644 --- a/netbox/templates/extras/report_result.html +++ b/netbox/templates/extras/report_result.html @@ -2,98 +2,10 @@ {% load helpers %} {% load static %} -{% block head %} - -{% endblock %} - {% block content-wrapper %} -
-
-

- Run: {{ result.created|annotated_date }} - {% if result.completed %} - Duration: {{ result.duration }} - {% else %} -

- Loading... -
- {% endif %} - {% include 'extras/inc/job_label.html' with result=result %} -

- {% if result.completed %} -
-
- Report Methods -
-
- - {% for method, data in result.data.items %} - - - - - {% endfor %} -
{{ method }} - {{ data.success }} - {{ data.info }} - {{ data.warning }} - {{ data.failure }} -
-
-
-
-
- Report Results -
-
- - - - - - - - - - - {% for method, data in result.data.items %} - - - - {% for time, level, obj, url, message in data.log %} - - - - - - - {% endfor %} - {% endfor %} - -
TimeLevelObjectMessage
- {{ method }} -
{{ time }} - - - {% if obj and url %} - {{ obj }} - {% elif obj %} - {{ obj }} - {% else %} - - {% endif %} - {{ message|render_markdown }}
-
-
- {% else %} -
Pending results
- {% endif %} +
+
+ {% include 'extras/htmx/report_result.html' %}
-
-{% endblock %} - -{% block data %} - - +
{% endblock %} From 17ba0a97d5a898b409968f66e20bc62b318c42ff Mon Sep 17 00:00:00 2001 From: jeremystretch Date: Mon, 20 Dec 2021 20:59:14 -0500 Subject: [PATCH 09/16] Remove jobs Javascript --- netbox/project-static/bundle.js | 1 - netbox/project-static/dist/jobs.js | 30 ------- netbox/project-static/dist/jobs.js.map | 6 -- netbox/project-static/src/global.d.ts | 32 -------- netbox/project-static/src/jobs.ts | 104 ------------------------- 5 files changed, 173 deletions(-) delete mode 100644 netbox/project-static/dist/jobs.js delete mode 100644 netbox/project-static/dist/jobs.js.map delete mode 100644 netbox/project-static/src/jobs.ts diff --git a/netbox/project-static/bundle.js b/netbox/project-static/bundle.js index 100b70ac8..76a1581ad 100644 --- a/netbox/project-static/bundle.js +++ b/netbox/project-static/bundle.js @@ -40,7 +40,6 @@ async function bundleGraphIQL() { async function bundleNetBox() { const entryPoints = { netbox: 'src/index.ts', - jobs: 'src/jobs.ts', lldp: 'src/device/lldp.ts', config: 'src/device/config.ts', status: 'src/device/status.ts', diff --git a/netbox/project-static/dist/jobs.js b/netbox/project-static/dist/jobs.js deleted file mode 100644 index 2aedf1219..000000000 --- a/netbox/project-static/dist/jobs.js +++ /dev/null @@ -1,30 +0,0 @@ -(()=>{var mr=Object.create;var le=Object.defineProperty,gr=Object.defineProperties,_r=Object.getOwnPropertyDescriptor,Er=Object.getOwnPropertyDescriptors,vr=Object.getOwnPropertyNames,pn=Object.getOwnPropertySymbols,yr=Object.getPrototypeOf,hn=Object.prototype.hasOwnProperty,br=Object.prototype.propertyIsEnumerable;var mn=(i,t,e)=>t in i?le(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e,O=(i,t)=>{for(var e in t||(t={}))hn.call(t,e)&&mn(i,e,t[e]);if(pn)for(var e of pn(t))br.call(t,e)&&mn(i,e,t[e]);return i},je=(i,t)=>gr(i,Er(t)),gn=i=>le(i,"__esModule",{value:!0});var mt=(i,t)=>()=>(t||i((t={exports:{}}).exports,t),t.exports),Tr=(i,t)=>{gn(i);for(var e in t)le(i,e,{get:t[e],enumerable:!0})},Ar=(i,t,e)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of vr(t))!hn.call(i,n)&&n!=="default"&&le(i,n,{get:()=>t[n],enumerable:!(e=_r(t,n))||e.enumerable});return i},_n=i=>Ar(gn(le(i!=null?mr(yr(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var ce=(i,t,e)=>new Promise((n,o)=>{var r=u=>{try{l(e.next(u))}catch(h){o(h)}},s=u=>{try{l(e.throw(u))}catch(h){o(h)}},l=u=>u.done?n(u.value):Promise.resolve(u.value).then(r,s);l((e=e.apply(i,t)).next())});var en=mt((Zo,li)=>{(function(i,t){typeof define=="function"&&define.amd?define(t):typeof li=="object"&&li.exports?li.exports=t():i.EvEmitter=t()})(typeof window!="undefined"?window:Zo,function(){"use strict";function i(){}var t=i.prototype;return t.on=function(e,n){if(!(!e||!n)){var o=this._events=this._events||{},r=o[e]=o[e]||[];return r.indexOf(n)==-1&&r.push(n),this}},t.once=function(e,n){if(!(!e||!n)){this.on(e,n);var o=this._onceEvents=this._onceEvents||{},r=o[e]=o[e]||{};return r[n]=!0,this}},t.off=function(e,n){var o=this._events&&this._events[e];if(!(!o||!o.length)){var r=o.indexOf(n);return r!=-1&&o.splice(r,1),this}},t.emitEvent=function(e,n){var o=this._events&&this._events[e];if(!(!o||!o.length)){o=o.slice(0),n=n||[];for(var r=this._onceEvents&&this._onceEvents[e],s=0;s{(function(i,t){typeof define=="function"&&define.amd?define(t):typeof ci=="object"&&ci.exports?ci.exports=t():i.getSize=t()})(window,function(){"use strict";function t(d){var y=parseFloat(d),E=d.indexOf("%")==-1&&!isNaN(y);return E&&y}function e(){}var n=typeof console=="undefined"?e:function(d){console.error(d)},o=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],r=o.length;function s(){for(var d={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},y=0;y