Releases: Teradata/stacki
stacki-5.6.5
INTERNAL: Release Stacki 5.6.5
5.4.1
5.4.1
Feature
-
teach probepal how to recognize SLES 15 Package media.
-
teach probepal how to recognize SLES15 sp1 installer iso, because sles puts spaces in version numbers
-
add probe name to the list of attributes in a palletinfo object
-
make pallets.cgi return os and arch information for pallets. Refactor pallets.cgi to use probepal
Bugfix
-
Fix
frontend-install.py
to detect package existence accurately with zypper -
Create blank versions of some apache conf files so package updates won't add them back
-
Fix regression in load storage partition
-
Support for MTU in SLES
-
Change pallet fingerprinting for sles11/12 to match the rest of stacki
The
version
field is now the major version number concat'd with service pack.The
release
field is now the distro concat'd with the major version number.NAME VERSION RELEASE ARCH OS BOXES stacki 5.4_20191118_ed3441d sles12 x86_64 sles default frontend SLES 12sp3 sles12 x86_64 sles -----
-
Use the same starting node for stackios as frontend-install.py
-
do get()'s instead of indexing into the attributes dicitonary to not crash on a stackios frontend install
-
add a stack sync config. This is needed in stackios (at least to fix the hosts file). TODO: better place for this line...
-
Explicitly set the permissions in 'add pallet', to make them compatible with apache - this was broken in stackios
-
stackios needs to set the hostname attr explicitly in site.attrs
-
Fix logrotate config not being laid down during install
-
add pallets to the frontend box in StackiOS
-
remove the very old create keys command. Use ssh-keygen instead.
-
don't apply pallet patches when creating jumbo pallets
-
Remove/replace unnecessary calls into stack.file
-
Add pallet by network path should normalize the path ('//' -> '/')
(and then actually use the result)
-
Don't throw away wget output in 'add pallet', in case we have an error
-
On CentOS paths for mariadb RPM are borked
-
pip2src sometimes lost bootstrap for deps
If multiple packages shared a dependency but only one package was
set for bootstrap sometimes the dependencies would not bootstrap. -
Keep Docker on CentOS7
latest
image tag is now CentOS8 and we are not ready for that.
Git
- Merge branch 'release/5.4' into develop
5.4
Feature
-
add host
sets the boot action toos
remove test for state that doesn't happen
-
Make pallet patching work for any pallet, more extendable, and available outside of 'add pallet'
-
Add example partition spreadsheets for uefi based hosts
-
Rework report system partition test to work on RedHat and SLES
-
Added TAB completion to stack command.
-
Add port forwarding to
cluster-up
You can now pass a new
--forward-ports=SRC:DST[,...]
flag to thecluster-up.sh
command to forward ports from the host (SRC) to the guest VM (DST). Multiple comma separated SRC:DST pairs can be passed in the flag. -
Allow json data to be posted directly via the webservice
-
Allow non-frontend parents to be time servers
Also allow for non management of time
-
Remove the
sync.hosts
attributeMust use
manage.hostfile
andsync.hostsfile
from now on. -
Add parameter to
stack load
to have it run the commands -
Fine grain management of /etc/hosts
Attributes
manage.hostfile - file created during installation (default is False/None)
sync.hostsfile - file creating the file during
sync host network
if
manage.hostsfile
is also true. (default is False/None)Transitioning away from the sync.hosts attribute that controlled both
of these as all or nothing.For Teradata the default will be managed.hostsfile=True and
sync.hostsfile=False, hence the above change. -
Stop managing the ssh host keys
This means a re-install WILL change the ssh host keys.
-
'stack load' includes pallet tags (if pallet exists)
-
Create a stack-templates package for jinja templates. Templatize 'report.named'.
-
Add os and environment support to stack load
-
add 'prefix' attribute to 'stack:report' SUX tags. This allows 'report' commands outside of 'stack report more stuff'
-
during sync host network, also sync /etc/hosts, but only if the attr sync.hosts=True
-
Also sync /etc/resolv.conf during sync host network. Cleanup seemingly superfluous 'report' calls
-
Add a new "external" appliance for unmanaged hosts
-
Relocate the host interface
alias
commandsThe [add|list|remove] host alias commands are now located at
[add|list|remove] host interface alias
to better reflect that the
command actually attaches the alias to a host interface. -
Port to Red Hat 7.6.1810
-
Halt the install (sles) with an error message on the console and in the message queue if we are unable to create a RAID. To override, set the attribute 'halt_install_on_error=False'.
-
Add firmware management framework to stacki
Adds a set of stacki commands to manage firmware for devices. The
initial set of supported hardware includes Dell x1052 switches and
Mellanox m7800 and m6036 infiniband switches. -
report system
checks if the backend installs succeeded -
Improved cluster data output in
report system
The
stack report system
command now outputs a section in the end of the output containing all thelist
data collected during the commands. I also added data forlist cart
because it seemed to be missing.To use this in other tests, simply include the new
report_output
fixture and call it inside of your test function, passing it a "title" for the output and the output itself, both as strings. -
Refactor storage partition commands to use scope
There are now scope level commands for
storage partition
:stack add [appliance, environment, host, os] storage partition stack list [appliance, environment, host, os] storage partition stack remove [appliance, environment, host, os] storage partition
These versions of the commands operate on the global scope:
stack add storage partition stack list storage partition stack remove storage partition
-
/etc/resolv.conf
improved handlingresolv.search
attribute can override the search line.Only the Frontend has access to the
Kickstart_PublicDNSServers
. For
all other nodes the Frontend will be the first nameserver IFF it is
serving DNS for any network (this was previously the case as well),
but the subsequent nameserver lines will come only from the
Kickstart_PrivateDNSServers
. -
Added checklist service that gives information about backend installation.
This can be invoked via systemd 'systemctl start|stop|status checklist' or as a standalone script
via 'export STACKDEBUG=y;/opt/stack/bin/checklist.py'. Installation status is logged to /var/log/checklist.log and will also be added to console in the debug mode. -
Added support for
target,*,1,*,
in storage CSV.This will pair up drives and put them in a RAID 1 configurations.
-
setting Kickstart_PrivateDNSServers to ' ' removes nameserver line from /etc/resolv.conf
Also if no Public and Private DNSServers are defined don't setup stacki DNS to forward. -
Vagrant based magic to have Stacki build itself
-
NTP Fixes
Support for NTP service across the cluster.
- Run Chrony server on the frontend
- Run NTP / Chrony on backends
- Support for time islands
Bugfix
-
Correct redhat os name for sync host firewall
This fixes a bug in sync host firewall on redhat based hosts.
Before the condition for calling iptables expected the string rhel
instead of redhat, with the latter being set as the os name
on redhat hosts. This resulted in a service that is sles only
trying to be called (stacki-iptables) and failing when trying to sync
the firewall. -
Update 'load networkfile' documentation
-
print cleaner error message on XML parsing errors while trying 'help' instead of stacktrace.
Also fix an XML parsing error in 'sync host firmware's docstring
-
Add/correct more docstrings in dump and load
-
Add docstrings to each dump command.
-
Fix permissions of uefi files for the tftp server
When setting up a frontend to serve uefi based hosts on CentOS, the previous
behavior was to just copy shim.efi and grubx64.efi from /boot/EFI/centos
without changing their file permissions. These files had permissions of 0700,
resulting in tftp permission denied errors when trying to retrive files from
the host, causing boot errors. This commit changes these files to be readable
by anyone (0644) after being copied so they can be served to hosts via tftp. -
fix bug where we were unable to remove a pallet if the directory contents were already removed.
-
Only allow valid hostname labels
Validity is defined by RFCs 952 and 1123.
Hostnames inadd/set host
are validated as one label. -
smq-publish was accessing an
attributes
variable that didn't exist in the exception code path -
add cart shouldn't fail if it can't import requests (which is not available early in the barnacle process)
-
Allow cluster-up to use the local
frontend-install.py
If it can't find a local copy, then try to pull it from Github using a branch which matches the version embedded in the ISO name.
-
Fix conditionally installing RPMs in frontend-install.py
The old code was still including
stack-templates
in the package list, which needed to be conditional to support older versions of Stacki. I also found a cleaner way to probe if a package is availble to install. -
Give self-signed certificates a unique serial
Browsers don't like it when your SSL cert has the same serial number (in this case 0) as a previous SSL cert for the same domain. This bits you when you are using
localhost
as your domain and you reinstall the frontend. -
Added checking to skip repoquery command if the os is sles
-
Fix report system tests incorrectly using stack.api.Call
-
print error messages if they come up in 'list help'
Import errors can trip up the overall stack command if they happen in a part of the overall stack command package.
-
Fix minimal PDperarray value for Raid 50, and Raid 60.
-
Add stack-templates to server installs
(even non-barnacled ones)
-
Fail if the command being evaled fails
-
Frontend goes into the frontend box
-
add check to install script to not break older stacki releases with newer install scripts
-
Fix a handful of
print
syntax errors -
Load storage controllers into the correct scope
-
Fix not loading the firewall rule names
-
const_overwrite
attribute processing fix -
in
sync host boot
a notify=true parameter was trying to beappended to the
report host bootfile
call, but in that code it was
being treated as a host. -
Always sync /etc/hosts on the Frontend
-
Don't dump attributes marked 'shadow'
-
only restart named if a network in the database has dns=true
-
when running against a host with an interface with no zone, default to using just the hostname
Also fix various places where we assume a host, including the FE, will have a 'domainname' attribute.
-
Load storage partitions under the correct scope
-
Properly set the file system type when loading partitions
-
Fail to get scope mappings if arguments are provided at the global scope
-
Frontend goes into frontend box
-
Environment commands fails w/o environments defined
-
Change default stacki frontend time to be UTC.
-
Apache appears to need restarted after the barnacle during the Redhat bootable ISO build
-
Fix SQL error in
list attr
In the
addGlobalAttrs
function used to generateKickstart_PrivateHostname
andKickstart_PublicHostname
contained an SQL statement testing if the network interface name was null, using<>
. This will always return false, no matter what, and should have beenIS NOT NULL
instead. -
Import sys for the rare error path
Also cleanup some dangling whitespace.
-
add os to supported parameters
Add support for specifying the os (sles, redhat) when creating a mirror.
Defaults to the current os if not specified -
fix the ...
05.02.06.12
Feature
-
Allow non-frontend parents to be time servers
Also allow for non management of time
-
Allow json data to be posted directly via the webservice
-
Add parameter to
stack load
to have it run the commands -
Remove the
sync.hosts
attributeMust use
manage.hostfile
andsync.hostsfile
from now on. -
Fine grain management of /etc/hosts
Attributes
manage.hostfile - file created during installation (default is False/None)
sync.hostsfile - file creating the file during
sync host network
if
manage.hostsfile
is also true. (default is False/None)Transitioning away from the sync.hosts attribute that controlled both
of these as all or nothing.For Teradata the default will be managed.hostsfile=True and
sync.hostsfile=False, hence the above change.
05.02.06.11
Feature
-
Add paramiko to python-packages
This also means dependencies were recalculated and many other
python packages got upgraded.
05.02.06.10
Feature
-
Stop managing the ssh host keys
This means a re-install WILL change the ssh host keys.
Conflicts:
sles/nodes/ssh-client.xml -
'stack load' includes pallet tags (if pallet exists)
-
during sync host network, also sync /etc/hosts, but only if the attr sync.hosts=True
-
Also sync /etc/resolv.conf during sync host network. Cleanup seemingly superfluous 'report' calls
-
Add a new "external" appliance for unmanaged hosts
Bugfix
-
Frontend goes into the frontend box
Conflicts:
tools/iso-builder/build.sh -
add check to install script to not break older stacki releases with newer install scripts
-
Always sync /etc/hosts on the Frontend
-
only restart named if a network in the database has dns=true
-
Environment commands fails w/o environments defined
-
when running against a host with an interface with no zone, default to using just the hostname
Also fix various places where we assume a host, including the FE, will have a 'domainname' attribute.
-
Properly set the file system type when loading partitions
-
stack dump
get correct global partition information
Git
- Merge branch 'support/05.02.06.x' of github.com:Teradata/stacki into support/05.02.06.x
05.02.06.09
Bugfix
-
Apache appears to need restarted after the barnacle during the Redhat bootable ISO build
-
Fix SQL error in
list attr
In the
addGlobalAttrs
function used to generateKickstart_PrivateHostname
andKickstart_PublicHostname
contained an SQL statem
ent testing if the network interface name was null, using<>
. This will always return false, no matter what, and should have beenI\ S NOT NULL
instead. -
Import sys for the rare error path
Also cleanup some dangling whitespace.
-
fix the infiniband table definitions to actually clean up the database if foreign keys are removed
-
missed an argument for the error handling code in controller config
05.02.06.08
Feature
- Halt the install (sles) with an error message on the console and in the message queue if we are unable to create a RAID. To override
, set the attribute 'halt_install_on_error=False'.
Bugfix
-
Display an error message on the console and the message queue if we are unable to find any disks on the host.
-
attempt to umount all partitions on a disk before nuking.
If we are unable to unmount the partitions, raise an error unless attribute 'halt_install_on_error=False'.
-
Correctly identify if a block device is a disk or partition on sles11
Previous code assumed the output of hwinfo would be more consistent, but this does not appear to be the case and could cause a stack
trace that led to storage not being initialized.
05.02.06.07
Bugfix
-
Start Chronyd on frontend
-
Handle nukedisks before the we start autoyast. This prevents the situation where the installer hangs because it attempted to mount
a disk and could not later nuke it.
05.02.06.06
Feature
-
/etc/resolv.conf
improved handlingresolv.search
attribute can override the search line.Only the Frontend has access to the
Kickstart_PublicDNSServers
. For
all other nodes the Frontend will be the first nameserver IFF it is
serving DNS for any network (this was previously the case as well),
but the subsequent nameserver lines will come only from the
Kickstart_PrivateDNSServers
.
Bugfix
-
Do interface validation of
set interface
commands in a case-insensitive manor, to match the DB. -
The command is systemctl, not systemd