Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change the configuration format to include full location #751

Open
Noki opened this issue Jan 30, 2024 · 6 comments
Open

Change the configuration format to include full location #751

Noki opened this issue Jan 30, 2024 · 6 comments

Comments

@Noki
Copy link
Member

Noki commented Jan 30, 2024

EDIT: This was decided on our community day February 2024.

I talked with @FFHener about ways to further standardize the configuration format. We came up with the following ideas:

  • Add model files for non OpenWRT devices (ubiquiti antennas, switches, webcams, ...)
  • Add all non OpenWRT devices as hosts alongside the OpenWRT devices
  • Add configurations values to individual non OpenWRT hosts (e.g. height+altitude, alignment, ssid, ...)
  • Derive ipv6_subprefix settings from the VID or a default based on the network role (e.g. management)

Doing so will allow us to move some parts of the configuration into the new model files:

  • SNMP profiles
  • airOS DFS reset (default configuration, with configuration overrides for each host)

Further it will allow us to remove some lines from the configurations:

  • ipv6_subprefix can be removed if the default is fine for the location

In addition this will allow us to:

  • derive a proper documentation for each location that could be used to update the wiki / website
  • generate configuration files for non OpenWRT devices when building the location

Here are examples of how a model file for a non OpenWRT device could look like:

brand_nice: Ubiquiti
model_nice: Wave Long-Range

wireless_devices:
  - name: 11ad_standard
    band: 60g
  - name: 11a_standard
    band: 5g
    htmode_prefix: HE

snmp_profile: af60
brand_nice: Ubiquiti
model_nice: Nanostation 5AC

wireless_devices:
  - name: 11a_standard
    band: 5g
    htmode_prefix: HE

snmp_profile: airos_8

airos_dfs_reset:
  - username: "ubnt"
    password: "file:/root/pwd"
    daytime_limit: "2-7"

The host configuration for such an device could look like this:

hosts:
  - hostname: q216-tierpark
    role: ptp-ap
    os: airos                                # we should set defaults, but on some devices we run several OS
    model: "ubnt_nanobeam_5ac-gen2"
    ptp: true
    poe-passtrough: true                     # to override the default false
    vlan-passtrough: {20,40,42}              # to override the default None
    height: 15                               # to override location height
    altitude: 54                             # to override location altitude
    orientation: ost
    ssid: "q216-tierpark"                    # to override default SSID (freifunk-{location}-{orientation}-{frequency} / freifunk-{location}-{orientation})
    username: "root"                         # to override the default ("ubnt")
    password: "file:/root/tierpark-pwd.txt"  # to override the default ("file:/root/pwd.txt)
    daytime_limit: "4-5"                     # to override the default ("2-7")

Channel assignments for non OpenWRT devices could be done alongside the other channel assignments:

location__channel_assignments_11a_standard__to_merge:
  q216-core: 44-40
  q216-tierpark: 128-40
  q216-nf-s: 36-20

We want to discuss this at the community day. Please let us know about any thoughs you have on this.

@FFHener
Copy link
Contributor

FFHener commented Jan 30, 2024

I added some comments in the proposed code. Did you check with the config files from the properitery devices that we need the wireless_devices in this way?

This issue is related to #370

@Noki
Copy link
Member Author

Noki commented Jan 30, 2024

Well, we need some way to know the band and we also need to know if it is a dual band device, so probably a good idea to just keep the syntax we already have and build on that.

@pmelange
Copy link
Contributor

It would be cool if a config file for the ubiquiti devices were also generated. There isn't much to the ubnt config files and on a new device (or after reset) on the first landing page it's possible to upload a config file.

@Noki
Copy link
Member Author

Noki commented Jan 30, 2024

It would be cool if a config file for the ubiquiti devices were also generated. There isn't much to the ubnt config files and on a new device (or after reset) on the first landing page it's possible to upload a config file.

thats the plan... ;-)

@FFHener
Copy link
Contributor

FFHener commented Jan 30, 2024

Another aspect would be to move the gateway config over to our default format. I think it should be manageable for everything that is not gateway specific as we allready have a way of describing mesh, management and uplink interfaces.
At first glance it looked like we would need to modify 8 templates to make this work.
I made a Issue #754 for it.

@FFHener FFHener changed the title RFC: Changes to the configuration format to further standardize it Change the configuration format to include full location Feb 11, 2024
@FFHener
Copy link
Contributor

FFHener commented Oct 23, 2024

I added a os flag as we use some devices with different operating systems, e.g. the M5 stuff from Ubiquity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants