Disable defunct WLAN schedule `not found`
mrMoe opened this issue · 4 comments
Hi,
during importing my current config into terraform I played around with the WLAN schedule function since one of my networks has a schedule to be disabled in the night.
The enabling of the schedule in terraform was no problem
resource "unifi_wlan" "temp" {
name = "temp"
l2_isolation = true
no2ghz_oui = false
passphrase = "password"
pmf_mode = "optional"
security = "wpapsk"
uapsd = false
wlan_band = "both"
network_id = unifi_network.temp.id
ap_group_ids = [data.unifi_ap_group.default.id]
user_group_id = data.unifi_user_group.default.id
schedule {
day_of_week = "mon"
block_start = "08:00"
block_end = "20:00"
}
}
but it didn't activate in the UI.
And if I add a schedule to the temp WLAN in the UnifiController then terraform does not recognize the resource has changed in any way.
Thus I removed the schedule from the temp WLAN but now I get
Terraform will perform the following actions:
# unifi_wlan.temp will be updated in-place
~ resource "unifi_wlan" "temp" {
id = "123456789"
name = "temp"
# (21 unchanged attributes hidden)
- schedule {
- block_end = "20:00" -> null
- block_start = "8:00" -> null
- day_of_week = "mon" -> null
}
}
Plan: 0 to add, 1 to change, 0 to destroy.
unifi_wlan.temp: Modifying... [id=123456789]
╷
│ Error: not found
│
│ with unifi_wlan.temp,
│ on main.tf line 108, in resource "unifi_wlan" "temp":
│ 108: resource "unifi_wlan" "temp" {
So it seems I can't remove the schedule anymore.
Another thing I noticed looking at the API requests that there are two different fields schedule
and schedule_with_duration
. The schedule
has the terraform values but does not work and the schedule_with_duration
has the values set in the Controller and work but are not available in terraform. It seems, there is a field and type missmatch in the library.
{
"_id": "1234",
"ap_group_ids": [
"1234"
],
"setting_preference": "manual",
"name": "temp",
"networkconf_id": "1234",
"x_passphrase": "password",
"site_id": "1234",
"bss_transition": false,
"dtim_mode": "default",
"dtim_6e": 3,
"dtim_na": 3,
"dtim_ng": 1,
"enabled": true,
"fast_roaming_enabled": false,
"group_rekey": 3600,
"hide_ssid": false,
"is_guest": false,
"l2_isolation": true,
"b_supported": false,
"mac_filter_enabled": false,
"mac_filter_list": [],
"mac_filter_policy": "deny",
"mcastenhance_enabled": false,
"minrate_setting_preference": "auto",
"minrate_na_enabled": false,
"minrate_na_advertising_rates": false,
"minrate_na_data_rate_kbps": 6000,
"minrate_ng_enabled": false,
"minrate_ng_advertising_rates": false,
"minrate_ng_data_rate_kbps": 1000,
"no2ghz_oui": false,
"wpa_enc": "ccmp",
"pmf_mode": "optional",
"proxy_arp": false,
"radius_das_enabled": false,
"radius_mac_auth_enabled": false,
"radius_macacl_format": "none_lower",
"security": "wpapsk",
"uapsd_enabled": false,
"wlan_bands": [
"2g",
"5g"
],
"wpa3_enhanced_192": false,
"wpa3_fast_roaming": false,
"wpa3_support": false,
"wpa3_transition": false,
"wpa_mode": "wpa2",
"usergroup_id": "1234",
"iapp_enabled": false,
"x_iapp_key": "1234",
"wlan_band": "both",
"bc_filter_list": [],
"sae_groups": [],
"sae_psk": [],
"schedule": [
"mon|0800-2000"
],
"schedule_with_duration": [
{
"name": "good night",
"start_days_of_week": [
"mon",
"tue",
"wed",
"thu",
"fri",
"sat",
"sun"
],
"start_hour": 23,
"start_minute": 0,
"duration_minutes": 480
}
],
"name_combine_enabled": true,
"p2p": false,
"p2p_cross_connect": false,
"radius_macacl_empty_password": false,
"rrm_enabled": false,
"tdls_prohibit": false,
"vlan_enabled": false,
"auth_cache": false,
"bc_filter_enabled": false,
"country_beacon": false,
"dpi_enabled": false,
"element_adopt": false,
"dpigroup_id": "",
"hotspot2conf_enabled": false,
"hotspot2conf_id": "",
"optimize_iot_wifi_connectivity": false,
"radius_filter_id_enabled": false,
"radiusprofile_id": "",
"sae_psk_vlan_required": false,
"schedule_enabled": false,
"schedule_reversed": false
}
As controller I use the docker container from jacobalberty/unifi
in version 7.1.66
.
Hope you can help to sort this one out
The WLAN schedule support dates back to v5 of the controller so not surprising that they have introduced some new UI features and API types now, it probably needs to be updated to use that new API field you noticed. I'll see about poking around with this over the weekend and see what I can find.
#284 has an initial implementation. The tests seem to work and it handles deletions as well (I added a test for that). It is breaking unfortunately to support the new API field format so just thinking about it a bit more prior to merging it.
Hi Paul. Thanks for your support! I can confirm the change set the schedule of the wlan and after a refresh of the page I find the schedule_with_duration
in the wlanconf
response of the webserver but the UI does not show the schedule. So it seems, that something is still missing.
Hmm ok let me investigate further, I'll reopen this for now.