CHANGELOG
1.0.0 (2025-09-15)
BREAKING CHANGE
- BOARDFARM-5242
- BOARDFARM-5242
- BOARDFARM-5010
- BOARDFARM-5021
- BOARDFARM-5021
- BOARDFARM-4996
- BOARDFARM-2692
- BOARDFARM-2018
- BOARDFARM-1610
- BOARDFARM-5485
- BOARDFARM-2784
Feat
- resources: add rdkb deploy files
- add pysnmp-lextudio for pdu management
- inventory for RPi4 RDKB
- expose axiros rest to plugin
- add axiros acs class
- add local serial connection
- expose rpi class to plugins
- add PDU management classes
- add rpi rdkb class
- boardfarm3/templates/: add template
- boardfarm3/devices/base_devices/linux_device.py: add method
- boardfarm3/devices/linux_lan.py: added method to handle arp table
- network_utils.py: method to generate uuid
- add documentation and readme
- deploy prplos for visual reg demo
- add gui_html_report.css
- prplos gui tests
- add compare png images fucntion
- update flake8/ruff settings
- linux_lan.py,lan.py: clear arp cache
- use_cases/cpe: implementation
- usecases/dhcp: implementation
- usecases/devices: getters and utilities
- cpe: cpe interfaces enum
- dataclass: load or store use-case data
- templates: add AFTR and LTS
- cpe_sw: Add mising APIs
- boardfarm3/: methods to update hosts
- lib/connections/connect_and_run.py: add connect and run feature
- linux_device.py: setup static routes based on inventory
- add boardfarm_parse_config plugin
- wlan.py: method to read packets
- save the logs to a choosen location
- linux_wlan.py,wlan.py: add methods to enable and disable monitor mode
- boardfarm3/: added flood method
- add delete default route
- update the loc resources hookspecs
- wlan.py,-networking.py: add ping support for wlan devices
- softphone.py: add devices class and template for softphone
- kamailio.py: adding kamailio sipserver device class and template
- lan.py:wan.py: port use case helpers
- linux_device.py:lan.py: added method
- prplos_cpe: add property for tr069 cpe id
- devices: add a WAN, LAN, ACS, DHCP and WLAN
- prplos_cpe: add device class
- templates: cpe and core router
- connections: support for local shell command
- linux_device: parse device suboptions
- templates/lan.py: added template
- IptablesFirewall: add get_ip6tables_policy() method
- linux_device.py: provide implementation for set_default_gw() and set_static_ip()
- lan,wan,wlan templates; linux_device: add stop_traffic() method and implementation
- lan,wan: add options for curl
- boardfarm3/: added property and templates
- templates/LAN|WAN: add send_mldv2_report() method to CPE clients
- lan|wan|wlan: add set_date to templates
- core: ignore devices option
- boardfarm3/: added property and fixed method
- boardfarm3/: added templates and fixed methods
- networking: adding the usecases
- base_devices/linux_device.py: add _get_nw_interface_ipv4_address_async
- base_devices/linux_device.py: add async versions of methods needed for hooks
- plugins/setup_environment.py: introduce boardfarm_attached_device_configure_async hook
- boardfarm3/: make boardfarm_setup_env async
- add boardfarm_attached_device_boot_async hook
- boardfarm/: async skip boot flow
- lib/connections: add plain telnet connectivity and ser2net inherits from telnet
- boardfarm3: add internet_access_cmd parameter
- templates/lan.py,wan.py,wlan.py: add abstract method
- boardfarm3/templates/lan.py,wan.py,wlan.py: add abstract methods to start iperf traffic on sender and receiver
- base_devices/linux_device.py: add function to delete files in the device
- templates/acs.py,-lan.py,wan.py,wlan.py: add abstract method to perform scp from linux devices
- update noxfile to python 3.11
- templates/acs.py,lan.py,wan.py,wlan.py: add abstract method to delete file from device
- base_devices/linux_device.py: add method to perform scp from linux devices
- base_devices/linux_device.py: add method to toggle interface up/down
- templates/lan.py,wan.py,wlan.py: add abstract method to toggle interface
- boardfarm3/devices/base_devices/linux_device.py: add method to start the iperf traffic on sender and receiver
- lib/networking.py,-lib/parsers/iptables_parser.py: add method to return the iptables policy
- templates: add route methods to wan
- pyproject.toml: register no reservation plugin on startup
- templates/wan.py: add abstract method to get interface mtu size
- templates/lan.py: add abstract method to get interface mtu size
- templates/wlan.py: add abstract method to get interface mtu size
- plugins/no_reservation.py: add a plugin to enable boardfarm without reservation
- lib/SNMPv2.py: implementation of SNMP bulk get method
- introduce docker compose yml generator based on device json templates for docker factory payload
- boardfarm3/plugins/devices.py: add skip-boot hook spec and hook flow in boarfarm v3 devices
- templates/lan.py: add abstract methods for add and delete upnp rule
- base_devices/linux_device.py: add method to return the subnet mask of the interface
- boardfarm3/templates/tftp.py: add restart_lighttpd_and_serve_image and stop_lighttpd methods to tftp device template
- boardfarm3/devices/linux_tftp.py: add implementation for set_static_ip, restart_lighttpd and stop_lighttpd methods
- templates/wan.py,-templates/wlan.py: update the teamplate of WAN and WLAN with get_interface_macaddr method
- boardfarm3/templates/wlan.py: add enable/disable ipv6 abstract methods to wlan template
- boardfarm3/templates/lan.py: add enable/disable ipv6 abstract methods to lan template
- boardfarm3/lib/boardfarm_config.py: make _get_json function public
- templates/wan.py,-devices/linux_wan.py: add abstract methods and implementations for rSSH features
- boardfarm3/lib/utils.py: add method to get the device ipaddress from the device config options entry
- templates/acs.py: update acs template with provision_cpe_via_tr069 method
- templates/acs.py: update acs template with provision_cpe_via_tr069 method
- devices/linux_wan.py,-templates/wan.py: add abstract methods and return statements for rssh username and password
- lib/boardfarm_config.py,main.py: support lockable resources with multiple boards
- multicast_device.py,templates: add multicast base device and update templates with multicast methods
- linux_device: configure dante proxy
- lib:boardfarm_config.py: remove wifi devices with incorrect config
- lib/interactive_shell.py: option to add custom marker in the console logs
- lib/interactive_shell.py: add option to run boardfarm tests from interactive shell
- fetch jsons from a url
- main.py,hookspecs/core.py: add support for lockable resources
- base_devices:linux_device.py: add method for nmap
- connections,boardfarm_pexpect.py: save console logs to disk
- tfpt: tftpd initialisation
- add ser2net driver
- devices:linux_wlan.py: port wifi device class to boardfarmV3
- devices.linux_wan.py: add contingency check for acs servers reachability request in wan
- devices,plugins: add contingency checks for boardfarm devices
- add python_executor
- add voice related exception
- lib.wrappers.py: add singleton decorator
- templates.acs: add missing methods and update existing methods in acs template
- lib.networking,templates.wan: add is_link_up method to wan
- add is_link_up to WAN
- add retry_on_exception
- add faultcode to tr069 exception
- add is_link_up
- lib/utils.py: port retry function from boardfarm v2
- linux_lan.py,lan.py: add method to set static ip and set default gateway
- lib,templates,linux_device.py: add dns_lookup and http_get methods required by use-cases
- SNMPv2.py: add snmp v2 library
- LinuxTFTP: set ip on startup
- networking.py,parsers: add linux networking components
- exceptions: add NotSupportedError exception
- templates,use_cases,devices: add start http service use cases and buf fixes
- add LinuxLAN, LinuxWAN, AxirosACS implementations
- linux_device uses properties for user and passwd
- noxfile.py,tox.ini: test boardfarm on multiple python environments
- uses interact with ptpython
- linux_device has default user and passwd
- preparing master to port boardfarm3
- boardfarm/lib/env_helper.py: add support for image_uri
- deploy-boardfarm-nodes: fix default route
- deploy-boardfarm-nodes: add docker env
- env_helper.py: add latest version 2.45 of env schema
- boardfarm/: aftr device class impl
- boardfarm/: aftr device class impl
- use_cases/voice.py: add stop_and_start_sip_server
- base_devices/board_templates.py: added template for sw class
- use_cases/voice.py: add get_sip_expiry_time usecase
- devices/kamailio.py: add get_sipserver_expire_timer implementation
- lib/common.py: add install logic
- devices/linux.py: add method to get secondary IPv4 address
- dns: add support for external DNS servers
- env_helper: add support for latest schema
- make code base python3.11 compatible and fix pylint issues
- pyproject.toml: lock selenium verison 4.15.0
- use_cases/networking.py: add Use Case to get the iptables policy
- devices/debian_fxs.py: add method to perform unconditional call forwarding
- devices/softphone.py: add method to perform unconditional call forwarding
- use_cases/voice.py: add Use Case to enable/disable unconditional call forwarding
- devices/linux.py: add method to return interface mtu size
- use_cases/networking.py: add param to decide on the iperf destination ip addr
- use_cases/snmp.py: add Use Case to perform SNMP bulk get
- lib/SNMPv2.py: implementation of SNMP bulk get method
- use_cases/networking.py: add Param for the test case to pass destination port for initiating the ipv4 traffic
- use_cases/networking.py: add Param for the test case to pass destination port for initiating the ipv6 traffic
- boardfarm/use_cases/networking.py: add use case to disable ipv6 on lan/wlan
- boardfarm/use_cases/networking.py: add use case to enable ipv6 on lan/wlan
- use_cases/wifi.py: add Use Cases to list all ssid / check particular ssid in WLAN
- allow acs seep session to use a certificate
- ubuntu_asterisk: make changes to the dockerfile
- add tg2492lg to env check
- dockerfiles/resources/: add changes to ubuntu asterisk
- env_helper.py: increase version numbers
- increase env number
- booting.py: add voice specific changes
- voice.py: add pcap verification changes to the lib
- voice.py: modify parse pcap to support ipv6 check
- linux.py: add bandwidth to the start traffic function
- ubuntu_asterisk: add updated sip conf
- env_helper.py: add support to latest env version
- use_cases: parse ipv6 mldv2 packets
- debian_lan: add multicast support
- pyproject.toml: update selenium version
- frr: added smcroute
- use_cases:networking.py: add usecase to perform ping from a device
- debian_lan: add multicast scapy support
- frr: moving from quagga to frr
- use_cases:networking.py: add set_dut_date for board sw
- use_cases:networking.py: add use cases for nmap
- booting.py: change config voice according to latest sipserver change
- use_cases/networking.py: add iptables use_cases
- softphone.py: add nameserver entry
- voice.py: add voice usecases
- ubuntu_asterisk: add freepbx config
- influx: add support for capturing cpu & memory utilization in influx db
- debian_ntp: add debian ntp docker image
- linux.py: add method get_memory_utilization
- DeviceManager.py: add samknows device to device manager
- debian_lan: add ftp in debian_lan and vsftp in debian_wan
- use_cases/descriptors.py: return ipv6 addr
- booting.py: add voice specify boot functions
- use_cases/descriptors.py: add provisioner descriptor
- multicast: ssm multicast libraries
- asterisk: dockerfile
- quagga: modify implementation to ubuntu
- base_devices:board_templates.py: add method is_link_up to BoardSWTemplate class
- installers.py: add force parameter to install_vsftpd
- sip_template.py: add endpoints specific functions
- add check for multicast server count
- devices:linux.py,-use_cases:networking.py: add device class implementation and usecases of the IPerfTrafficGenerator
Fix
- rdk_inventory: fix SSH ports
- linting errors
- boardfarm/: add start and stop tcpdump to devices
- networking: correct parse http result
- boardfarm_config: retaining debian logic
- linting issues
- aftr.py: change use case signature
- pre-commit: stick to flynt v1.0.3
- boardfarm3: add modify templates based on usecases
- wlan: to get ip6 addr for wlan1
- boardfarm3/lib/wrappers.py: correct return type for callable
- modify pre-commit to ignore tabs for makefile
- boardfarm3/devices/kea_provisioner.py: update options with dhcp_options
- make sure the http service is running
- update configs/kea_eth_provisioner lease db
- linux_lan: wait 3s before starting danted
- bf-config: update the sip server type
- boardfarm/.pylintrc: pylint py version change to 3.11
- linting issues
- connect_and_run: increase retries
- connect_and_run: increase timeout
- pjsip_phone: fixing docstring
- boardfarm3/: iperf with udp only
- boardfarm3/: add method
- connect_and_run: add retries
- base_devices/linux_device.py: add logic to handle async kill
- boardfarm3/devices/base_devices/linux_device.py: fix method get_interface_mask to use correct regex
- boardfarm3/devices/linux_lan.p: fix for lan_gateway
- boardfarm3/templates/wan.py: add property
- base_devices/linux_device.py:templates: add cport functionality
- boardfarm3/: modfiy the template and function
- boardfarm3/lib/networking.py: fix mypy error
- linux_devices: add static routes from inventory for linux devices
- linux_tftp: delete any previous default route
- mypy linting issue
- boardfarm3/devices/linux_lan.py,boardfarm3/templates/lan.py: fix the create_upnp_rule function
- wlan.py: added rel renew methods support
- boardfarm3/lib/network_utils.py: add dest to tftp transfer
- boardfarm3/: leverage timeout param
- lib/network_utils.py: add tftp utility
- templates/acs.py:genie_acs.py: add url property
- sip_server.py: methods for copying file
- boardfarm3/: added params, fixed logic
- noxfile.py: pin nox pylint==3.2.6
- toml: pin pyasn1=0.6.0
- core.py: change name of kamailio to sipcenter_kamailio
- linux_device.py:lan.py: support for ipv6
- linux_device.py: sync for prompt
- linux_device.py: condition if server didn't start
- linux_device.py: property name to clear from cache
- boardfarm3/: fix for local cmd param
- prplos_cpe: fix the cpe_id property
- hookspec: add the missing async hook definitions
- config: update to a generic openwrt board
- boardfarm3/: method to get iperf logs
- boardfarm3/: added additional argument
- boardfarm_config.py: add station name attr
- provisioner.py:typing/dhcp.py: custom type hints
- provisioner.py: added base provisioner class
- boardfarm3/devices/base_devices/: add scp to local
- allow got linting to pass
- lan|wan|wlan: add get_date() to templates
- boardfarm3/: fixed dns_lookup method
- linux_tftp: add a route for the static ip
- utils: initialize webdriver on interact
- connections: update LDAP authentication
- plugins: add async spec for server_configure
- devices/base_devices/linux_device.py: removed firewall utility obj
- add ssh-rsa to key algorithms
- ser2net: update regex on connection
- allow a cpe to connect via ser2net
- networking: update the http parsing rules
- networking: update type hints to comply with ruff
- update login_to_server with default parameter
- base_devices/linux_device.py: add await keyword
- core.py: boardfarm_post_setup_env does not require boardfarm config
- update noxfile and add pylint plugin to dev dependency
- lib/: fix mypy issues
- update perform_scp to match templates
- boardfarm3/devices/base_devices/linux_device.py: define linux style prompts in one place
- lib/device_manager.py: fix crash when registering a device with property that raises an exception
- boardfarm3/plugins/core.py: fix different pytest beaviour on incorrect command line parameter from boardfarm3
- boardfarm3/lib/SNMPv2.py: do not modify the snmp set value if the set value is a hex string
- boardfarm3/plugins/devices.py: move linux wan device class to boardfarm-lgi-shared
- boardfarm3/devices/base_devices/linux_device.py: remove trailing stray characters from ping output
- boardfarm3/lib/boardfarm_config.py: fix typo in get_inventory_config function name
- pass path to pexpect.spawn
- devices/base_devices/linux_device.py: remove sudo from tcpdump and tshark commands
- lib/boardfarm_pexpect.py: fix the double prompt issue in freepbx
- linux_device: use sendline for dante cfg
- lib/SNMPv2.py: fixed snmp parse regex
- lib/networking.py: fix scp failure
- linux_device: use sudo_sendline in tcpdump
- lib/boardfarm_config.py: disable jsonmerge debug logs
- templates/acs.py: revert deletion of the ScheduleInform acs method
- lib/networking.py: fix scp failure when the host ip is a ipv6 address
- .pylintrc: update .pylintrc file to fix warnings
- crash when using telnet on console
- lib/interactive_shell.py,main.py: updated interactive shell look
- linux_device: static route is now set
- lib.boardfarm_config.py: use locations key to get shared config
- utils.py: fix type hinting and code of retry methods
- linux_tftp.py: update docstring and fix static ip logic
- stop autocomp running propeties
- terminal longlines changes
- pyproject.toml: fix plugin path
- axiros_acs.py: get tr69 cpe-id from board
- allows text wrap on long lines
- linting issues
- boardfarm/devices/axiros_acs.py: fix add object
- boardfarm/lib/env_helper.py: fix for dhcp_options
- deploy-boardfarm-nodes.sh: add ipv6 isolate management
- lib/env_helper.py: add the version
- lib/hooks/contingency_checks.py: add logic for maxcpe
- boardfarm/lib/SnmpHelper.py: add fix
- debian_isc.py: support sku with no voice support
- isc_aftr.py: restarting aftr process
- lib/env_helper.py: add the schema version
- linux.py: remove buffer data
- linux_nw_utility.py:networking.py: add tftpboot as the folder location
- pyproject.toml: change selenium install version
- booting_utils.py: fix to enable WiFi 5GHz guest settings
- isc_aftr: update DNS entry
- networking.py:linux_nw_utility.py: add send file via tftp
- networking.py: updated condition
- linux.py: remove buffer data
- env_helper.py: add 2.44 version
- toml: pin pyasn1=0.6.0
- restrict numpy<2.1.0
- networking.py: updated logic
- pyproject.toml: retsrict the pysnmp version
- linux.py:networking.py: get server and client logs
- hooks/contingency_checks.py: add dual in rechable check
- connect: allow access to a AAA configured dev
- networking.py: added additional argument
- boardfarm/use_cases/voice.py: correct the voice client fun call
- use_cases/dhcpv6.py: fixed dhcpv6 packet parsing for mv3 eth
- boardfarm/lib/common.py: change wget to curl
- lib/env_helper.py: add the latest schema version
- boardfarm/lib/booting.py: add transport and dns pref
- kamailio.py:use_cases/voice.py: change get exp timmer name
- use_cases/networking.py: fixed resolve_dns use case
- acs retry on wsdl schema
- use_cases/networking.py: fix nmap usecase
- devices/kamailio.py,-use_cases/voice.py: remove redundant param
- network_testing.py: change tcpdump cmd flags
- quagga_router.py: update interface
- use_cases/voice.py: fix set_sip_expiry_time
- devices/debian_fxs.py: fix detect_dialtone
- pyproject: update easysnmp dependency
- boardfarm/use_cases/voice.py: fix get_sip_expiry_time usecase
- networking: fix the HTTP parsing
- use_cases/networking.py: update anycpe to boardtemplate
- lib/booting.py: update extra configure voice param
- lib/voice.py: update logic for sip trace
- use_cases/networking.py: add sleep
- lib/voice.py: update logic for sip trace
- wifi_lib/manager.py: fix the WLAN_options
- contingency_checks.py: add none check on mode
- use_cases/networking.py: fix Use Case
- lib/env_helper.py: fix env mismatch
- lib/linux_nw_utility.py,-use_cases/networking.py: fix method
- boardfarm/lib/common.py: run firefox as headless when specified
- run tcpdump as root user
- download aftr via mgmt iface
- networking.py: added interface param
- common: update setting firefox profile
- lib/firewall_parser.py,-lib/linux_nw_utility.py: fix to get the iptables policy
- voice: fix the console sync issue
- boardfarm/lib/booting.py: fix digit map issue
- boardfarm/devices/axiros_acs.py: fix xml parser error when non formatted, non printable or non ascii characters present
- kill webfsd on wan setup
- boardfarm/lib/booting.py: introduce wait for hw boot after reset in booting class
- use_cases/networking.py: fixed nmap method
- boardfarm/use_cases/networking.py: update nmap board condition
- boardfarm/use_cases/networking.py: fix nmap board condition
- boardfarm/lib/hooks/contingency_checks.py: acs contingency check has to be performed based on the provisioning mode
- selenium < 4.10.0
- acs do not verify ssl session
- softphone.py: change softphone nameserver order
- boardfarm/use_cases/voice.py: change call waiting fn to use dtmf
- kamailio.py: add url to sipcenter template
- multicast: parse IPv4 igmp type
- booting.py: fix the error thrown
- linux.py: add ipv6 support for scp
- multicast: use cases signature fix
- send dhcp-client-identifier as a string
- flake8 ignore B028, B017
- acs.py: use case to return acs urls
- softphone: add nameserver to the top
- booting.py: check if board is in dslite for mv3
- debian_fxs.py,softphone.py,sip_template.py: fix usage of descriptors in phone class
- booting: retry on tr-069 provisioning
- env_helper: lan clients number mismatch
- softphone.py,debian_fxs.py,sip_template.py: remove allocate number funtion and related
- hooks:contingency_checks: update acs dns check in contingency
- change gitlab to github
- retry on acs contingency
- sip_template.py: fix softphone initialisation error
- common.py: remove passive mode connection from ftp_upload_download
- linux.py: simplify regex for validating cpu load in get_load_avg method
- use_cases/networking.py: add kwargs
- lib:hooks:contingency_checks.py: remove the usage of arm in CC
- networking.py: add ipv6 dns resolve
- use_cases/dhcp.py: update dhcp methods
- common.py: update expect statement of password prompt for ftp_useradd
- use_cases/dhcpv6.py: add additional_args param
- SNMPv2.py: correct the regex and match
- add timeout to parse_sip_trace usecase
Refactor
- boardfarm3/lib/odh: add odh to boardfarm
- base_devices/linux_device.py:lan.py:wan.py: refactor method name hping flood
- move demo pages to gui/prplos
- remove resources/configs resources/dockerfiles
- core.py,boardfarm_config_example.json: rename the devices dictionary keys
- lib/multicast.py: implement proper type hinting
- align docstring with methods signature
- networking.py: fix issues found by ruff 0.2.0
- docs: delete empty or old documentation
- linter: fix black errors
- boardfarm_config: remove nox/flake8 errors
- update compose generator due to changes in schema
- boardfarm3/templates/wlan.py: update enable_ipv6 and disable_ipv6 template methods for wlan
- boardfarm3/templates/lan.py: update enable_ipv6 and disable_ipv6 template methods for lan
- templates/wan.py: refactor the method connect_to_board_via_reverse_ssh to return bool
- lib/SNMPv2.py: refactor the code that performs snmpset
- boardfarm3/lib/boardfarm_config.py: refactoring via ruff
- devices/linux_wan.py: modify the command to get the network statistics
- introduce ruff linter
- scripts/: remove scripts folder
- boardfarm3/templates/wan.py,-boardfarm3/devices/linux_wan.py: modify the signature of rssh_password
- lib/networking.py: add fqdn and rework dns class
- lib/SNMPv2.py: make get_mib_oid public
- lib/boardfarm_config.py,pyproject.toml: use new flexible inventory schema
- lib/interactive_shell.py,plugins/core.py: make interactive shell extensible
- devices:linux_wlan.py: remove is_wifi_ssid_listed from template
- makes configuration more flexible
- devices.linux_lan.py: move linux lan device to lgi-shared since it require cable modem
- move wan options to wan device
- update syntax to py3.9
- remove redundant sendline
- py.typed: add py.typed file to indicate the package is type hinted
- rename package from boardfarm to boardfarm3
- devices,plugins,lib,templates: boardfarm v3 plugins, libraries, templates and devices
- devices,lib,use_cases: cleanup boardfarm repo for v3
- devices,lib,templates: Cleanup boardfarm repo for v3
- env_helper: add latest env
- pre-commit-config.yaml: update isort version
- axiros_acs.py,acs_template.py: update AcsTemplate and update AxirosACS
2022.35.0 (2022-08-31)
Feat
- dhcpv6.py: add timeout to parse_dhcpv6_trace usecase
- booting_utils.py: add condition to connect wifi
- env_helper.py: add support to new env schema
Fix
- disable check on signature checker
- depends-on change rebase -> checkout
- networking.py: update the regex in http_get usecase
- networking.py: fix the regex in http_get usecase
- dhclient-script: ns count fix
- debian_lan: no mgmt dns in dhclient.conf
- debian_isc: run v4/v6 config together
- arguments.py: change operator
- axiros_acs.py: remove pprint
- axiros_acs.py: remove pprint from output
- networking.py: remove the use of the output from print
Refactor
- acs_template: add bool and int to SPV type hinting
2022.33.0 (2022-08-17)
Feat
- can read the inventory.json from web location
- add tones_dict to sw template
- DeviceManager.py: add ssam client to device manager
Fix
- debian_lan: fix dhclient-script issue
- pylint issue == to is
- do not install packages
- debian_sipcenter: add bind.so to sipcenter
- debian: fix dnsmasq configuration
- init.py: remove argument model
2022.31.0 (2022-08-03)
Fix
- add mitm as it is needed in scripts
- contingency_checks.py: fix contingency check device list
- debian_dns: update dnsutils package version
- networking.py: modify the use case http_get
- networking.py: fix the parse response logic for failure
- lib:env_helper.py: update get_board_hardware_type with F5685LGB from env_helper
- pyproject.toml: rm jira from dependencies
2022.29.0 (2022-07-20)
Feat
- kea_dhcp: allow multiple host reservations
Fix
- devices:kamailio.py: fix the sipserver_user_add function to take the correct password for a sip user
Refactor
- sonarQ reporting moved to cicd
2022.27.0 (2022-07-07)
Feat
- platform/debian: add ptr record suppport
- DeviceManager: add enum for olt
Fix
- flake8 B023 error
- fix wifi board fail at post boot
- invoke power off on board.hw
2022.25.0 (2022-06-20)
Feat
- bft_pexepct_helper: add check_output
- pylint: bump pylint to 2.14.1
Fix
- dhcp.py: add timeout for parse_dhcp_trace
- dnsmasq not starting when "auth-zone=" in .conf
2022.23.0 (2022-06-08)
Feat
- devices:base_devices:mib_template.py: add sw_update_table_mib to the mib template of the BoardSWTemplate
- env_helper.py: add get_board_gui_language
Fix
- debian_dns: update apt libraries' version
- quagga: allows addition of more interfaces
Refactor
- voice.py,-wifi.py: add voice resources and wifi resources
2022.21.0 (2022-05-25)
Feat
- kea_provisioner: add HTTP APIs for DHCP
Fix
- devices:base_devices:mib_template.py: add sw_server_address_mib property to MIBTemplate
- use_cases:dhcp.py: fix use-case get_dhcp_suboption_details to fetch suboptions for option 125
- debian_wan: add option to set static ipv6 route
- lib:env_helper.py: fix failures with provisioner dhcp options
2022.19.0 (2022-05-11)
Feat
- use_cases:dhcp.py: implement usecases to configure and trigger dhcpinform packets
- debian_lan,debian_wan: add support to add webfs server
- add debian_kea_provisioner dockerfile
Fix
- lib:SNMPv2.py: fix parse_snmp_output for IndexError
- dockerfiles: fix missing debian binay packages
- networking.py: fix off by one bug related to /32 subnet
Refactor
- lib:env_helper.py: segregate docsis and non-docsis env_helper
2022.17.0 (2022-04-28)
Feat
- add schema 2.22 to env helper
- linux.py,networking.py: add support to spin up/down webserver using webfsd
- booting.py,contingency_checks.py: add support for static ip assignment for lan/wlan clients
- lib:hooks:contingency_checks.py: Contingency Check Functionality Segregation
Fix
- add mgmt when fetching from server
- acs_server: add support for another ACS
- devices:debian_wan.py: add ipv6.google.com to resolve as wan container's ip address
- disable acs pcap capture by default
Refactor
- pylint-fixes: fix pylint errors
2022.15.0 (2022-04-14)
BREAKING CHANGE
- MVX_TST-56392
- BOARDFARM-1666
Feat
- devices:base_devices:board_templates: update BoardSWTemplate with nw_utility and firewall instances
- use_cases:networking.py: use cases to block and unblock traffic via iptables firewall rule
- networking.py: add usecase for dhcp renew
- update template and booting for new board
- add new api to resolve board type
- dhcp.py: add DHCP parse Use Cases
Fix
- remove yamlfmt/yamllint from pre-commit
- bumps the env version
- pre-commit: update pre-commit hooks to latest versions and autofix issues
2022.13.0 (2022-03-31)
BREAKING CHANGE
Feat
- use_cases:console.py: implement usecase to restart the erouter interface
- linux.py,networking.py: add support to set static ip , ip search in pool
- contingency_checks.py: add support to disable lan client init
- wifi_use_cases: update access to wifi object getter, change the usage in use cases
Fix
- pyproject.toml: freeze pylint dependency to last working version
Refactor
- dockerfiles: Create dockerfile for each device and cleanup
2022.11.0 (2022-03-16)
Feat
- devices:board_templates.py,mib_template.py,linux.py: add mib template to support vendor specific mib configurations for software download
- networking.py: add dns_resolve uc
- device_getters.py: add provisioner getter
- voice.py: remove sleep from disconnect_the_call
- traffic_gen return TrafficGeneratorResults
Fix
- linux.py: change regular expression to get process id
- quagga_router.py: update ip route method to fetch route from quagga instance
Refactor
- debian_lan.py: validate ipv6 address is obtained and throw exception
2022.09.0 (2022-03-02)
BREAKING CHANGE
- Do not merge until all the executors have been updated!
BOARDFARM-1698
- BOARDFARM-1500
Feat
- debian_isc.py: add support for invalid dhcp gateway
- add get_load_avg to sw template
- debian: fetch DNS entry from inventory json and update in dnsmasq.conf
- linux.py: add graceful error handling
- linux: add support for ping using json cli
- add 2.19 env version
- boardfarm:use_cases:networking.py: write a use case to parse ICMP responses and compare
Fix
- voice.py: reduce sleep time in makecall
- quagga_router.py: update atexit call and docstrings
2022.07.0 (2022-02-16)
Feat
- quagga_router.py: add quagga router device class
- linux.py: add support for tcpdump capture,read[tcpdump,tshark]
- traffic_generator.py: formalise traffic generator template
- debian_lan: add iw and wpasupplicant packages in image
Fix
- pyproject.toml: freeze pyvirtualdisplay package version to 2.2
- pyproject.toml: pin elasticsearch to stay compliant with api
- increase cli size
Refactor
- pyproject.toml: freeze selenium dependency to 4.1.0
2022.05.0 (2022-02-02)
Feat
- devices:softphone.py,debian_fxs.py: implement enable_call_waiting and enable_call_forwarding_busy use cases for softphone
- getters.py: add getters for lan and wan clients
Fix
- lib:voice.py: fix _parse_rtp_trace usecase to check for rtp packets associated to a SIP setup-frame
- debian_wan: replace google.com with wan.boardfarm.com for v4 and v6
- debian_fxs: update debian:stable-slim with debian:buster-slim
- connection_decider: use strict match for connection type
- pyproject.toml: pin dependency for selenium version 3.141.0
- devices:debian_lan.py: set icmp_echo_ignore_broadcasts to false on lan devices
- boardfarm:lib:voice: fix _parse_rtp_trace when start and end indexes are same
2022.03.0 (2022-01-20)
BREAKING CHANGE
Feat
- devices:softphone.py: implement the unimplemented usecases for softphone
- add connect to DUT via ssh
- device-manager: register wifi devices
Fix
- devices:softphone.py: fix softphone pjsip config to disable TCP transport
- networking.py: add link_local_ipv6 to IPAddresses dataclass
- devices:linux.py: fix get_interface_ipaddr to handle AttributeError and throw PexpectTimeoutError
- devices:debian_isc.py: fix for port number of acs url in vendor specific dhcp configuration
- debian: updated pkgs that can be installed
- fixes to run with debian:buster-slim image
- debian: fix pexpect xterm env set
- installers: minor fix on apt_install
2022.01.0 (2022-01-05)
BREAKING CHANGE
- If using Docsis devices the latest Docsis change must be picked.
Feat
- get image use image_uri
- multicast: add multicast usecases
- quagga: add mrouted daemon
Fix
- boardfarm:resources:configs:kamailio.cfg: update kamailio.cfg to configure timeout of 25sec
- boardfarm:devices:debian_isc.py: fix acs url in vendor specific dhcpoptions to use http as prefix
- boardfarm:use_cases:voice.py: handle exception for hangup in shutdown_phone usecase
2021.51.0 (2021-12-22)
Feat
- quagga-pim: add IGMP multicast routing for interface
- enable/disable acs pcap capture
- improved name discovery
Fix
- devices:linux.py: add fix to fetch erouter0/lan ipv6 on linux console when output is delayed/untidy after command execution
- do not use get_pytest_name yet
- fix test name fetching in acs intercept
- devices:debian_lan.py: handle timeout error when tshark read is too long for failed lan renewal
2021.49.0 (2021-12-09)
Feat
- use_cases:voice.py: add place_call_offhook use case for voice
- networking.py: Add IPAddresses data class for erouter use case at common location
- use_cases:voice.py: add off hook use case for voice
Fix
- lib:dhcpoption.py: fix ManufacturerOUI under DHCP Option 125 on LAN side
- pylint: Add pylint config and fix pylint issues.
2021.47.0 (2021-11-24)
Fix
- lib:voice.py: add 1 second delay to verify RTP packets and handle few exceptions
2021.46.0 (2021-11-18)
Feat
- pyproject.toml: Add commitizen-specific config. Prune tbump config.
- pyproject.toml: Add tbump config and bump version manually.
- boardfarm/bft: Add option to skip resource reservation status check on Jenkins
- linux.py: Add hostname property for all linux devices.
- remove zephyr dead code
- devices:debian_fxs.py,softphone.py: fix and implement sip abstract methods
- use_cases:networking.py: add use_cases to be used by TCs to avoid direct access to board consoles
- lib:linux_nw_utility.py,linux_console_utility.py: add network and dut console utilities
- bft,lockableresources: Use Jenknins Lockable Resources in Boardfarm to manage modems
- quagga: dockerfile for quagga router
- installers.py: add method get_interface_private_ip6addr
- networking.py-wifi.py-wifi_template.py: add wifi usecases
- acs: show console interactions
- voice: add voice conference use cases
- devices-base_devices-board_template: add FXO as voice
- devices:-base_devices:-fxo_template: add new template class to be used by MTA template
- use_cases/snmp.py: Add basic generic snmp use cases (wrappers around SNMPv2).
- platform/debian: lighttpd and tftpd use the same directory
- Add generic scp command implementation to linux device.
Fix
- resources:configs:kamailio.cfg: configure kamailio to send "181 Call is Being Forwarded" packet on call forward busy
- debian_fxs: remove reply with code implementation
- devices:softphone.py: hardening of the phone_config and phone_start of softphone device to fix issues
- lib,use_cases:voice.py: add new use cases for sipserver/voice rtp, remove the legacy ones and add support for media attribute, connection info check
- devices:debian_fxs,devices:kamailio: harden the implementations of fxs and sip server devices
- devices:debian_isc.py: provide a different acs url from config file both for v4 and v6 when dhcp vendor options are configured
- common.py: split send_to_influx further into validate_influx_connection
- change gui resolution to 1920x1080
- influx_db_helper.py: add timeout parameter to influx db connection request
- lockableresources.py: Fix wifi enclosure device selection based on board type
- lib:installers.py: add recovery solution when acs server console is hung during apt install
- devices/serialphone.py: modify the wrapper function exit_python_on_exception
- use_cases: fix docstrings to make sphinx happy
- kamailio.cfg: modify configurations to use nonce value only once for authentication
- quagga: add natting on router
- lib/common.py: remove unused self argument from configure_ovpn. Return bool success value
- installers.py: add fix for openvpn ipv6 server connection
- implement-voice-conference-APIs: derive implementation for Voice conference call signatures
- devices-base_devices-sip_template: update signatures
- env_helper.py: handle scenarios with list of dictionaries and list of strings in env request validation
- installers.py: add print statements instead of debug for lan client IRC scripts
- fix pylint errors
- Do not restart interface twice during CC. Flush tcpdump buffer before kill
Refactor
- linux.py: return dhcp renew output
- axiros_acs: fix the interface name
- axiros_acs: add acs aux iface name
- change lib to docsis_lib globally