All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- CASMNET-2239
- Update cray-services version for CSM 1.6
- CASMNET-2221
- cray-dhcp-kea node specific boot file override is broken
- CASMNET-2170
- Increase cray-dhcp-kea-init job backoffLimit
- CASMTRIAGE-6116
- cray-dhcp-kea-helper pods log a KeyError when the BSS Global metadata is missing.
- CASMTRIAGE-6133
- Reduce number of retained cronjobs and clean up terminated jobs after a configurable number of seconds.
- CASMHMS-6069 - KEA Resiliency
- Init job to do initial database setup and KEA configuration.
- CASMHMS-6069 - KEA Resiliency
- Upgraded KEA to v2.4.0.
- Upgraded cray-service chart to 10.0.x.
- Scaled up KEA to 3 replicas.
- Changed KEA to use postgres.
- Split dhcp-helper loop off to a cron job.
- dhcp-helper updates the backup configmap to trigger kea config-reloads.
- CASMNET-2148
- Remove -P 67 from cray-dhcp-kea startup options.
- CASMNET-2095
- use a client-class and DHCP option 93 for determining architecture and handing out the correct ipxe binary
- set boot-file-name at the toplevel of the the kea config vs. setting it numerous times at the subnet level
- CASMINST-6428
- fix race condition querying BSS when --init of dhcp-helper is run and bss has not been deployed yet.
- reduced retry tries from 10->3
- update time server fallback lookup from ncn-w00[1-3].[NMNN/HMN] to ncn-w00[1-3]-[NMNN/HMN]
- some fixes for linter
- CASMTRIAGE-5222 - do not start kea until config has been generated
- CASMNET-1752 - validate generated kea config abort if invalid config
- CASMNET-2108 - add kea config backup and load from backup functionality to cray-dhcp-kea
- CASMNENT-2109 - add per node pxe options
- CASMNET-1525 - Control dhcp-helper.py log levels via an environment variable
- CASMNET-2067 - update helm-unittest tag in Makefile
- CASMNET-2067 - update helm-unittest tag in Makefile
- CASMNET-2024 - updates to support multiple unbound loadbalancers
- CASMNET-1994 - Use authentication for csm-helm-charts
- CASMNET-1937 - Security remediation for RFC 8357
- CAST-3316 - increase timeout on readiness check to match liveness check from default value.
- CASMNET-1880 - Fix race condition between dhcp-helper.py and MEDs
- CASMTRIAGE-3966 - reset variables to not carry incorrect data
- CASMINST-5182 - Kea dhcp-helper.py missing variable assignment
- CASMNET-1727 - index error during auto repair logic
- CASMNET-1677 - dhcp-helper.py should fail gracefully if BSS metadata is missing
- CASMNET-1551 - update cray-dhcp-kea to use HSM V2 API
- CASMNET-1713 - auto repair logic in dhcp-helper.py not consistently working
- Added back dynamic boot file name loading and made volume mount optional for compatibility support for upgrades and installs
- removed dynamic tftp filename load, will add back for csm-1.2.6
- CASMTRIAGE-3436 - fix SMD patch logic for dhcp-helper.py
- CASMINST-4706 - fix type-o in volume mount
- CASMINST-4526 - Update cray-dhcp-kea to load dynamic boot file name for pxe booting
- CASMTRIAGE-3275 - manuf network interface vendor lookup doesn't always return a string, enforce string return
- CASMTRIAGE-3269 - add a way to skip none network card entries like usb ports in SMD during mac vendor lookup logic
- CASMNET-1386 - race condition between artificial/placeholder leases and removing IP from SMD EthernetInterface table
- baseos to be rolling version of Alpine 3
- CASMTRIAGE-3111 - Duplicate DNS entries for NCN xnames
- CASMNET-1128 - dhcp-helper:/srv/kea/dhcp-helper.py:61: DeprecationWarning: Using 'method_whitelist' with Retry is deprecated and will be removed in v2.0. Use 'allowed_methods' instead
- CASMNET-1113 - improve kea api check in dhcp-helper
- CASMNET-1104 - dhcp-helper is putting IPs on the wrong interface on bonds
- CASMNET-1103 - dhcp-helper crash when missing alias for compute node
- CASMNET-1108 - NCN bond interface dhcp'ing and getting dhcp reservation
- update to helm v2 api
- CASMNET-1053 - error handling when query bss data if data is returned that is not expected
- CASMNET-1054 - make sure dhcp-helper does not patch in an IP when there is already an IP outside of loading BSS data
- CASMNET-1055 - make sure xname is used when trying to repair SMD data after node move
- CASMNET-1052 - fix csm-1.0 bss data support
- CASMTRIAGE-2729 - remove debug log in dhcp-helper due to not always being valid
- CASMNET-1037 - Update dhcp-helper detect PATCH or POST to SMD when updating data for NCNs
- CASMNET-946 - add feature to dhcp-helper.py in kea to create dhcp reservations for static ips from cloud-init data
- CASMNET-877 - automation script to update DHCP/DNS/HMS data after hardware swap
- CASMTRIAGE-2615 - fixed scenario where time server lookup created malformed string
- CASMNET-947 - add dhcp-helper.py feature in kea to handle multiple dhcp reservations per MAC in different subnets
- CASMNET-706 - add global reservation duplicate checking when reading from SMD ethernet table
- CASMNET-1006 - Kea should reserve NCN IPs (including NCNs that are added or replaced post-install)
- CASMNET-758 - Refactor dhcp-helper and improve performance
- CASMNET-994 - add python logger to scripts in cray-dhcp-kea
- support for shasta-1.3 that used dnsmasq
- CASMNET-972 - added function to rollback to last known good config if bad config was generated
- CASMNET-813 - none root user in container
- CASMNET-841 - fix for CVE-2021-3711
CASMNET-747
- Added pod priorityClassName
CASMNET-754
- Added hostname and ip dupe checking in the global reservations
CASMNET-734
- Set kea server identifier to be the metalLB IP
CASMNET-731
- Change externalTrafficPolicy from Cluster to Local
CASMTRIAGE-2260
- Refactor Kea Exporter implementation
- CASMOSS-22
- Enabled "exporter" as sidecar container to enable Prometheus scrapping for the Kea service
- CASMNET-678
- Increased DHCP lease time to 3600s
- CASMNET-639
- updated dockerfile base image source
- updated kea to 1.8.2
- updated log4cplus to 2.0.6
- CASMINST-1844
- added MTL filter to dhcp-helper.py =======
- CASMINST-1632
- added dupe checking for MAC randomizer
- CASMNET-449
- updated NMN subnet tracking object when loading subnets
- CASMTRIAGE-747
- added wildcard subnet matching for hmn
- CASMTRIAGE-730
- update static reservation dupe checking logic to filter out mac/ip reservations
- CASMINST-1412
- update static reservation dupe checking logic
- CASMINST-1412
- update static reservation dupe checking logic
- CASMINST-1325
- fix type-o in dhcp-helper.py
- CASMINST-1190
- Update subnet data load to support new CSI data
- CASMINST-1178
- Add CAN network support in Kea
- CASMINST-1108
- fix logic to set alias/mac and alias/mac/ip dhcp reservations
- CASMINST-595
- Added support for DHCP on MTL
- fixed fallback logic for loading time server
- CASMINST-952
- Dupe hostname/ip checks for dhcp reservations from SLS
- CASMINST-923
- Fallback mechanism to load time servers
- CASMINST-951
- Logging config reload when it fails without debug mode enabled
- CASMINST-898
- Remove switch info being loaded into dhcp resservations
- CASMNET-376
- dhcp-helper improved efficiency for scaling by flattening data objects and reducing nested logic complexity
- enabled dhcp-helper to work with 1.3.x and 1.4+ shasta system
- added tcpdump to cray-dhcp-kea container
- CASMNET-376
- removed istio proxy wait on cray-dhcp-kea-api
- CASMNET-370
- updated dhcp reservation to be assigned under the subnet instead of global reservations
- loading static ip reservations from SLS
- added nslookup module to dhcp-helper
- loading vlan info from SLS in dhcp-helper
- enabled sanity checks in Kea
- CASMNET-370
- tftp ip and unbound ip are set with chart values
- enabled dhcp-helper to work with systems that use dnsmasq and systems without dnsmasq
- loading SMD ethernet data once unless an interface is updated instead of twice every run
- CASMNET-370
- global reservations will be removed once there are no Shasta 1.3 systems in the field
- CASMNET-345
- updated dhcp-helper to set an active lease for dhcp reservations if there is active lease
- Updated chart values for loggers from DEBUG->ERROR
- CASMNET-340
- Updated kea to use "decline-probation-period" option.
- Removed forcing of IPs to move and let lease expire naturally to move
- Load vlan information from SLS with dhcp-helper.py
- added message to configmap
- CASMNET-304 - updated dhcp helper to assign 51 static ips at start of subnet from 26
- CASMNET-299 - dhcp-helper update to remove bad dhcp leaeses with no MAC
- CASMNET-302 - dhcp-helper moved verbose logging to debug
- dhcp-helper LFC schedule update
- fixed patch update to SMD in dhcp-helper
- updated health check to improve logging on failed health checks
- updated health check to check kea server and api health
- updated chart vaules to increase frequency of health checks
- updated dhcp-helper to not add kea hostname name to SMD
- upgraded to Kea 1.7.10 to resolve high port number bug https://gitlab.isc.org/isc-projects/kea/-/issues/1302
- health monitor to not count the grep pid due to race condition
- optmized dhcp-helper to query larger chunks of data from SMD and SLS
- updated resource requests and limits
- removed postgres cluster and moved to in memory DB
- updated health check to be more intelligent
- during the check of active leases, added a second check to remove any active leases on an ip we want to set
- added logic to get dns masq server ip
- update logic to handle malformed network cidr notation.
- change schedule for dhcp-helper from every 60s to every 180s
- update logic to load all subnet info from SLS and check for duplcate subnets.
- added logic to not load duplicate IPs to SMD for dhcp-helper.py
- refactor dhcp-helper
dhcp-helper updates for setting tftp server, proper hostnames for computes on NMN network and changing dns server list ordering(dnsmasq then unbound)
- added tftp info to dhcp leases
- added dns info to dhcp leases
- updated cray-service version
- added dhcp-helper.py that will be a job to get data from SMD/SLS to setup dhcp reservations
- removed anisble playbook and build files
- fixed startup-dhcp.sh missing db password
- added db init script as configmap and mounted on cray-dhcp-kea container
- added startup script to wait for postgres availability
- removed init job that watched for postgres-wait container
- Ansible reservations.j2 template had wrong json labels.
- Updated the cray-service base Helm chart to 1.4.0 to take advantage of using the
appVersion
value as the default image tag. When cray-dhcp-kea Helm chart is deployed it will deploy the docker image with the app version specified in the chart, instead of the latest available image.