rspconfig vlan= only accepted values 1-4096 with no way to disable
VLAN tagging. Users had to resort to raw IPMI commands to clear a
stale VLAN after ip=dhcp.
- Accept vlan=off/disable/disabled to clear VLAN tagging via
standard IPMI parameter 0x14 with the enable bit unset
- Fix valid range from 1-4096 to 1-4094 (IEEE 802.1Q)
- Use strict digit matching to reject malformed inputs
To clear VLAN after a DHCP reset: rspconfig <node> vlan=off
Tested on Supermicro IPMI BMC (10.20.0.51).
Partially addresses #3725
Two pre-existing bugs in the alert on/off conditions:
1. Operator precedence: 'and' with 'or' without parens caused any
subcommand with argument matching /^en/ or /^dis/ to silently
trigger the alert handler.
2. Loose prefix matching: /^en/ and /^dis/ accepted typos like
"enterprise" or "discover". Replace with exact token matching
while preserving the "en"/"dis" abbreviations used by snmpmon.pm.
RHEL 7 shipped ppc64le ISOs under the "alternate" label, causing
copycds to create distro paths like rhels7.6-alternate/ppc64le.
This mismatched osver() which returns rhels7.6 since /etc/os-release
has no knowledge of the alternate designation.
The architecture (ppc64le vs ppc64) already differentiates the
builds, making the alternate suffix redundant. Strip it during
auto-detection so copycds paths match osver() output.
Fixes#5593
When mkdef is called with an object name but no attributes (e.g.
mkdef -t node -o mynode), setFINALattrs produces an empty hash
and the OBJ loop has nothing to iterate. The code falls through to
"0 object definitions have been created or modified" with no
explanation of what went wrong.
Add a check after setFINALattrs: if FINALATTRS is empty, tell the
user what's missing. For nodes, mention that 'groups' is required.
Fixes#2765
When a test case file is missing the end marker and the last line is a
cmd: directive, $newcmdstart stays set. The parser then appends lines
from the next file into the current command. If that next file is a
shell script (like simulatorctl.sh in the testcase tree), thousands of
lines of Perl/bash get concatenated and executed.
Reset $newcmdstart after closing each file to prevent state leaking
between files.
Fixes#5255
The verification logic in rspconfig_response uses a mutually exclusive
if/else to check for the old IP (origin_type) and new IP (check_result).
When setting the same IP, both match the same entry but only origin_type
gets set — check_result stays 0 and the command reports "Config IP failed".
Make the two checks independent so both can match the same IP object.
Fixes#5121
When a pkgdir has no valid repodata, Yum.pm creates an empty
local-repository.tmpl file. Template.pm then reads it and generates
an empty yum repo config block in the kickstart. Adding a -s check
skips empty template files instead of silently including them.
Revives the fix from PR #4769 which was closed without merging.
Fixes#3572
Five vm attributes (vmhost, vmothersetting, vmmemory, vmcpus, vmnics)
had an only_if => 'mgt=kvm' guard in Schema.pm that silently hid them
from lsdef output unless mgt=kvm was set. The other 16 vm attributes
had no such guard. This inconsistency caused the documented regex
example in "Groups and Regular Expressions in Tables" to produce
incomplete output.
Fixes: xcat2/xcat-core#3006
Five vm attributes (vmhost, vmothersetting, vmmemory, vmcpus, vmnics)
had an only_if => 'mgt=kvm' guard in Schema.pm that silently hid them
from lsdef output unless mgt=kvm was set. The other 16 vm attributes
had no such guard. This inconsistency caused the documented regex
example in "Groups and Regular Expressions in Tables" to produce
incomplete output.
Fixes: xcat2/xcat-core#3006
This fixes a problem where the dracut image was pulling artifacts from
the build host and not the mock image, e.g. building for EL9 in EL10.
Signed-off-by: Daniel Hilst Selli <392820+dhilst@users.noreply.github.com>