Skip to content

Releases: linux-system-roles/mssql

[2.5.2] - 2024-11-27

27 Nov 12:58
295b77a
Compare
Choose a tag to compare

[2.5.2] - 2024-11-27

Other Changes

  • chore: Deprecate mssql_accept_microsoft_odbc_driver_17_for_sql_server_eula (#318)
  • ci: Add job for publishing collection to Galaxy on new tag (#319)

Version 2.5.1

25 Nov 14:43
1fef256
Compare
Choose a tag to compare

[2.5.1] - 2024-11-25

Other Changes

  • ci: Update .packit.yaml (#316)

Version 2.5.0

20 Nov 19:44
5d357fd
Compare
Choose a tag to compare

[2.5.0] - 2024-11-20

New Features

  • feat: Add mssql_tools_versions, mssql_tls_self_sign to allow installing different versions of mssql-tools (#307)

Version 2.4.0

14 Nov 13:52
2adb475
Compare
Choose a tag to compare

[2.4.0] - 2024-11-14

New Features

  • feat: Use new adutil functionality to enable AES encryption (#301)
  • feat: Add support for Fedora (#308)

Bug Fixes

  • fix: Discover primary based on inventory_hostname (#295)
  • fix: Retry waiting for pacemaker with crm_resource --wait (#300)

Other Changes

  • ci: Configure Packit propose_downstream job (#293)
  • ci: Add tags to TF workflow, allow more [citest bad] formats (#294)
  • tests: fix check for witness node in read_scale test (#296)
  • test: Improve HA tests (#297)
  • docs: Update collection readme to comply with the template (#298)
  • tests: In HA tests, revert mssql_run_selinux_confined: true on EL 9 (#299)
  • ci: ansible-test action now requires ansible-core version (#303)
  • ci: add YAML header to github action workflow files (#304)
  • refactor: Use vars/RedHat_N.yml symlink for CentOS, Rocky, Alma wherever possible (#306)

Version 2.3.1

15 Aug 17:20
Compare
Choose a tag to compare

[2.3.1] - 2024-08-15

Other Changes

  • chore: Fail on RHEL or CentOS 10 because it's not supported (#290)
  • tests: Fix HA tests (#291)

Version 2.3.0

23 Jul 15:07
Compare
Choose a tag to compare

[2.3.0] - 2024-07-15

New Features

  • feat: support OpenSUSE/SLES (#265)

Other Changes

  • test: fix pcs resource move/move-with-constraint logic (#262)
  • ci: bump ansible/ansible-lint from 6 to 24 (#263)
  • ci: bump mathieudutour/github-tag-action from 6.1 to 6.2 (#266)
  • ci: use tox-lsr 3.3.0 which uses ansible-test 2.17 (#268)
  • ci: tox-lsr 3.4.0 - fix py27 tests; move other checks to py310 (#270)
  • ci: Add supported_ansible_also to .ansible-lint (#271)
  • ci: ansible-lint action now requires absolute directory (#272)

Version 2.2.3

22 Feb 20:29
094a511
Compare
Choose a tag to compare

[2.2.3] - 2024-02-22

Bug Fixes

  • fix: Running selinux unconfined is supported with permissive mode (#260)

Enhancement: Add support for running SQL Server as a SELinux unconfined application with SELinux in enforcing mode on RHEL 9

Reason: This support was added by Microsoft

Result: Now you can run SQL Server as an unconfined application on RHEL 9 in the default enforcing SELinux mode

Other Changes

  • chore: Add RHEL 9 to supported versions in collection readme (#258)

Enhancement: Add RHEL 9 to supported versions in collection readme

Version 2.2.2

06 Feb 10:55
b842496
Compare
Choose a tag to compare

[2.2.2] - 2024-02-06

Bug Fixes

  • fix: Make the role wait for ha_cluster to finish configuration (#256)

Enhancement: Make the role wait for ha_cluster to finish configuration

Reason: The role does some actions after the ha_cluster role finishes, it needs to wait for the pcs to finish configuration.

Result: Run the crm_resource --wait command after ha_cluster role finishes.

Other Changes

  • ci: fix python unit test - copy pytest config to tests/unit (#255)

This is fixed by tox-lsr 3.2.2 - all actions that use tox-lsr are updated to
3.2.2, not just the python unit tests, even though the fix is only related to
pytest. All roles are updated to use tox-lsr 3.2.2 for the sake of consistency
even if not affected by the pytest issue.

Something changed recently in the way github actions provisions systems which
means some of the directories are not readable by the python unit test actions.
In addition, the python unit tests were causing a lot of unnecessary directory
traversal doing collection/discovery of unit test files, because of using
pytest -c /path/to/tox-lsr/pytest.ini Unfortunately, with pytest, the
directory of the config file is the root directory for the tests and tests
discovery, and there is no way around this.

Therefore, the only solution is to copy the tox-lsr pytest.ini to the
tests/unit directory, which makes that the test root directory.

See also linux-system-roles/tox-lsr#160

Signed-off-by: Rich Megginson [email protected]

Version 2.2.1

29 Jan 13:55
61b5acc
Compare
Choose a tag to compare

[2.2.1] - 2024-01-29

Bug Fixes

  • fix: Ensure selinux type for used ports (#253)

Enhancement: Ensure SELinux type for used ports

Reason: Custom TCP ports must have mssql_port_t SELinux type

Result: When mssql_manage_selinux is set to true, the role configures used ports with the mssql_port_t SELinux type

  • fix: Set default mode for data and log storage directories (#253)

Enhancement: Set default mode for data and log storage directories

Reason: mssql_datadir_mode and mssql_logdir_mode should have a default value for security

Result: mssql_datadir_mode and mssql_logdir_mode variables have a default value of '755'

Other Changes

  • ci: support ansible-lint and ansible-test 2.16 (#251)

Fix yamllint issue with markdownlint config

Add cleanup for tests_include_vars_from_parent.yml

Signed-off-by: Rich Megginson [email protected]

  • ci: Use supported ansible-lint action; run ansible-lint against the collection (#252)

The old ansible-community ansible-lint is deprecated. There is a
new ansible-lint github action.

The latest Ansible repo gating tests run ansible-lint against
the collection format instead of against individual roles.
We have to convert the role to collection format before running
ansible-test.

This also requires tox-lsr 3.2.1 - bump other actions to use 3.2.1

Role developers can run this locally using
tox -e collection,ansible-lint-collection
See linux-system-roles/tox-lsr#125

Signed-off-by: Rich Megginson [email protected]

Version 2.2.0

11 Dec 09:48
f15bce5
Compare
Choose a tag to compare

[2.2.0] - 2023-12-11

New Features

  • feat: Add mssql_ha_prep_for_pacemaker for configuring HA solution other than Pacemaker (#245)

Enhancement: Add the mssql_ha_prep_for_pacemaker variable to configure SQL Server for Pacemaker.

Reason: Previously, the role did not have a variable to control whether to configure SQL Server for Pacemaker. Some users require to not configure for Pacemaker to use some custom HA solution.

Result: You can use the mssql_ha_prep_for_pacemaker variable to configure SQL Server for Pacemaker.

Bug Fixes

  • fix: Remove no_log: true where it is not required (#241)

Enhancement: Remove no_log: true where it is not required.

Reason: no_log: true was set on package_facts and service_facts modules to have cleaner logs because the large output of this task is not helpful for logs. However, users might have issues with Ansible not able to run these modules e.g. because it is not able to find python interpreter, such issues were hard to troubleshoot with a hidden output.

Result: Tasks that use package_facts and service_facts modules do not use no_log: true, hence they print output when running ansible-playbook with -v.

Issue Tracker Tickets (Jira or BZ if any): Fixes #240

  • fix: Remove unnecessary variable requirements for read-scale clusters (#242)

Enhancement: Remove unnecessary variable requirements for read-scale clusters

Reason: Read-scale clusters do not require creating users for Pacemaker and installing the mssql-server-ha package.

Result: This remove a requirement for unnecessary variables when running a read-scale cluster and requirement to install the mssql-server-ha, which depends on packages from HA repository.

  • fix: Manage selinux context for custom storage directories (#247)

Enhancement: On RHEL 9, manage SELinux context for custom storage paths

Reason: SQL Server runs on RHEL 9 as a SELinux-confined application and requires custom storage paths to have the correct SELinux context.

Result: When user sets mssql_manage_selinux: true, the role configures directories provided with mssql_logdir and mssql_datadir with a proper SELinux context.

  • fix: Use until instead of wait_for to retry when TCP errors occur (#247)

Reason: The role used wait_for module to work around random TCP errors in mssql-server

Result: Now the role uses the until loop to catch errors, which makes the roe much faster

Other Changes

  • chore: Use GA repository for RHEL 9 (#243)

Enhancement: Use GA repository for RHEL 9

Reason: Microsoft created a GA repository for RHEL 9 instead of the tech preview repository

Result: On RHEL 9, mssql-server is taken from the GA repository instead of the preview repository.

  • ci: bump actions/github-script from 6 to 7 (#246)

  • refactor: get_ostree_data.sh use env shebang - remove from .sanity* (#248)

Use the #!/usr/bin/env bash shebang which is ansible-test friendly.
This means we can remove get_ostree_data.sh from the .sanity* files.
This also means we can remove the .sanity* files if we do not need
them otherwise.

Rename pth to path in honor of nscott

Signed-off-by: Rich Megginson [email protected]

  • chore: Deprecate mssql_ha_cluster_run_role for mssql_manage_ha_cluster (#249)

Enhancement: Deprecate mssql_ha_cluster_run_role for mssql_manage_ha_cluster.

Reason: System roles consistently use variables in the form mssql_manage_<rolename> for managing components with other system roles. This role already uses mssql_manage_firewall and mssql_manage_selinux. Renaming mssql_ha_cluster_run_role to mssql_manage_ha_cluster brings consistency to variables names.

Result: When you set the deprecated mssql_ha_cluster_run_role variable, the role prints a message that this variable is deprecated and continues.