Skip to content

Commit 939f95c

Browse files
mhamrozmhamroz
andauthored
Enabling Fabric EWLC functionality (netascode#38)
* Added Fabric EWLC functionality * Removed logs * Fixed Fabric Edge provisioning * Changed EWLC -> EMBEDDED_WIRELESS_CONTROLLER_NODE * Modified CHANGELOG --------- Co-authored-by: mhamroz <mhamroz@cisco.com>
1 parent 610bd41 commit 939f95c

5 files changed

Lines changed: 23 additions & 1 deletion

File tree

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,5 @@
44
terraform.tfstate
55
terraform.tfstate.backup
66
.envrc
7-
tflint.hcl
7+
tflint.hcl
8+
**/logs/

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
## 0.2.1 (unreleased)
22

3+
- Add Fabric Embedded_Wireless_Controller_Node support
34
- Fix issue with sites hierarchy while using multi state
45
- Fix issue with ip_v4_reservations while using multi state
56
- Fix issue with assigning cli credentials to site while using multi state

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ module "catalystcenter" {
104104
| [catalystcenter_fabric_device.border_device](https://registry.terraform.io/providers/CiscoDevNet/catalystcenter/latest/docs/resources/fabric_device) | resource |
105105
| [catalystcenter_fabric_device.edge_device](https://registry.terraform.io/providers/CiscoDevNet/catalystcenter/latest/docs/resources/fabric_device) | resource |
106106
| [catalystcenter_fabric_device.wireless_controller](https://registry.terraform.io/providers/CiscoDevNet/catalystcenter/latest/docs/resources/fabric_device) | resource |
107+
| [catalystcenter_fabric_ewlc.ewlc_device](https://registry.terraform.io/providers/CiscoDevNet/catalystcenter/latest/docs/resources/fabric_ewlc) | resource |
107108
| [catalystcenter_fabric_l2_handoff.l2_handoff](https://registry.terraform.io/providers/CiscoDevNet/catalystcenter/latest/docs/resources/fabric_l2_handoff) | resource |
108109
| [catalystcenter_fabric_l2_handoff.l2_handoff_no_anycast](https://registry.terraform.io/providers/CiscoDevNet/catalystcenter/latest/docs/resources/fabric_l2_handoff) | resource |
109110
| [catalystcenter_fabric_l2_virtual_network.l2_vn](https://registry.terraform.io/providers/CiscoDevNet/catalystcenter/latest/docs/resources/fabric_l2_virtual_network) | resource |

cc_fabric.tf

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,22 @@ resource "catalystcenter_fabric_device" "edge_device" {
320320
depends_on = [catalystcenter_device_role.role, catalystcenter_provision_devices.provision_devices, catalystcenter_provision_device.provision_device, catalystcenter_fabric_device.border_device]
321321
}
322322

323+
resource "catalystcenter_fabric_ewlc" "ewlc_device" {
324+
for_each = { for device in try(local.catalyst_center.inventory.devices, []) : device.name => device if strcontains(device.state, "PROVISION") && contains(try(device.fabric_roles, []), "EMBEDDED_WIRELESS_CONTROLLER_NODE") && contains(local.sites, try(device.fabric_site, "NONE")) }
325+
326+
network_device_id = coalesce(
327+
try(lookup(local.device_name_to_id, each.value.name, null), null),
328+
try(lookup(local.device_name_to_id, each.value.fqdn_name, null), null),
329+
try(lookup(local.device_ip_to_id, each.value.device_ip, null), null)
330+
)
331+
fabric_id = try(catalystcenter_fabric_zone.fabric_zone[each.value.fabric_zone].id, catalystcenter_fabric_site.fabric_site[each.value.fabric_site].id, null)
332+
enable_wireless = try(each.value.enable_wireless, local.defaults.catalyst_center.inventory.devices.enable_wireless, true)
333+
enable_rolling_ap_upgrade = try(each.value.enable_rolling_ap_upgrade, local.defaults.catalyst_center.inventory.devices.enable_rolling_ap_upgrade, false)
334+
ap_reboot_percentage = try(each.value.ap_reboot_percentage, local.defaults.catalyst_center.inventory.devices.ap_reboot_percentage, 25)
335+
336+
depends_on = [catalystcenter_device_role.role, catalystcenter_provision_devices.provision_devices, catalystcenter_provision_device.provision_device, catalystcenter_fabric_device.border_device]
337+
}
338+
323339
resource "catalystcenter_fabric_vlan_to_ssid" "vlan_to_ssid" {
324340
for_each = local.wireless_controllers ? { for site in try(local.catalyst_center.fabric.fabric_sites, []) : site.name => site if length(keys(catalystcenter_fabric_device.wireless_controller)) > 0 && length(try(site.wireless_ssids, [])) != 0 } : {}
325341

defaults/defaults.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ defaults:
2727
inventory:
2828
devices:
2929
role_source: MANUAL
30+
enable_wireless: true
31+
enable_rolling_ap_upgrade: false
32+
ap_reboot_percentage: 25
3033
sites:
3134
areas:
3235
parent_name: Global

0 commit comments

Comments
 (0)