Skip to content

Commit dc0d956

Browse files
committed
Merge branch 'main' into feature/icingaweb-module-graphite
2 parents 4f8c8c1 + 4ee41f7 commit dc0d956

File tree

102 files changed

+1150
-231
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

102 files changed

+1150
-231
lines changed

.github/workflows/build.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@ jobs:
3232
max-parallel: 1
3333
matrix:
3434
distro: [ubuntu2204]
35-
python: ['3.9', '3.10']
36-
ansible: ['2.13.10', '2.14.7']
35+
python: ['3.10', '3.11']
36+
ansible: ['2.15', '2.16', '2.17']
3737
scenario: [default]
3838

3939
steps:

.github/workflows/role-icingadb.yml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
# These Jobs should be always be run against the latest version of ansible on the systems
3+
# Feel free to update python and ansible versions
4+
#
5+
# In addition to keep them quick and no additional variables are used.
6+
#
7+
name: role-icingadb
8+
on:
9+
push:
10+
branches:
11+
- main
12+
- 'feature/**'
13+
- 'fix/**'
14+
- '!doc/**'
15+
paths:
16+
- roles/icingadb/**
17+
- molecule/role-icingadb/**
18+
pull_request:
19+
branches:
20+
- 'feature/**'
21+
- 'fix/**'
22+
- '!doc/**'
23+
24+
jobs:
25+
icingadb_latest:
26+
runs-on: ubuntu-latest
27+
28+
env:
29+
COLLECTION_NAMESPACE: icinga
30+
COLLECTION_NAME: icinga
31+
32+
strategy:
33+
fail-fast: false
34+
max-parallel: 1
35+
matrix:
36+
distro: [ubuntu2204]
37+
python: ['3.12']
38+
ansible: ['2.17']
39+
scenario: [role-icingadb]
40+
41+
steps:
42+
- name: Check out code
43+
uses: actions/checkout@v4
44+
45+
- name: Set up Python
46+
uses: actions/setup-python@v5
47+
with:
48+
python-version: ${{ matrix.python }}
49+
50+
- name: Install dependencies ansible
51+
run: |
52+
python3 -m pip install --upgrade pip
53+
python3 -m pip install -r requirements-test-${{ matrix.ansible }}.txt
54+
55+
- name: Install collection
56+
run: |
57+
mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE
58+
cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME
59+
60+
- name: Test with molecule
61+
run: |
62+
ansible --version
63+
molecule --version
64+
molecule test -s ${{ matrix.scenario }}
65+
env:
66+
MOLECULE_DISTRO: ${{ matrix.distro }}

.github/workflows/role-icingadb_redis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ jobs:
3434
max-parallel: 1
3535
matrix:
3636
distro: [ubuntu2204]
37-
python: ['3.10']
38-
ansible: ['2.16.2']
37+
python: ['3.12']
38+
ansible: ['2.17']
3939
scenario: [role-icingadb_redis]
4040

4141
steps:
4242
- name: Check out code
4343
uses: actions/checkout@v4
4444

4545
- name: Set up Python
46-
uses: actions/setup-python@v4
46+
uses: actions/setup-python@v5
4747
with:
4848
python-version: ${{ matrix.python }}
4949

.github/workflows/role-icingaweb2.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,16 +34,16 @@ jobs:
3434
max-parallel: 1
3535
matrix:
3636
distro: [ubuntu2204]
37-
python: ['3.10']
38-
ansible: ['2.16.2']
37+
python: ['3.12']
38+
ansible: ['2.17']
3939
scenario: [role-icingaweb2]
4040

4141
steps:
4242
- name: Check out code
4343
uses: actions/checkout@v4
4444

4545
- name: Set up Python
46-
uses: actions/setup-python@v4
46+
uses: actions/setup-python@v5
4747
with:
4848
python-version: ${{ matrix.python }}
4949

.github/workflows/test_icingaweb2_ini_template.yml

Lines changed: 91 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,16 @@ on:
1111
paths:
1212
- 'roles/icingaweb2/templates/**'
1313
- 'molecule/ini-configuration-tests/**'
14+
- '.github/workflows/test_icingaweb2_ini_template.yml'
15+
- 'requirements*'
1416
pull_request:
1517
branches:
1618
- 'feature/**'
1719
- 'fix/**'
1820
- '!doc/**'
1921

2022
jobs:
21-
test_ini_template:
23+
test_ini_template_2_15:
2224
runs-on: ubuntu-latest
2325

2426
env:
@@ -30,8 +32,94 @@ jobs:
3032
max-parallel: 1
3133
matrix:
3234
distro: [ubuntu2204]
33-
python: ['3.9', '3.10']
34-
ansible: ['2.13.10', '2.14.7']
35+
python: ['3.9','3.10','3.11']
36+
ansible: ['2.15']
37+
scenario: [ini-configuration-tests]
38+
39+
steps:
40+
- name: Check out code
41+
uses: actions/checkout@v4
42+
43+
- name: Set up Python
44+
uses: actions/setup-python@v5
45+
with:
46+
python-version: ${{ matrix.python }}
47+
48+
- name: Install dependencies ansible
49+
run: |
50+
python3 -m pip install --upgrade pip
51+
python3 -m pip install -r requirements-test-${{ matrix.ansible }}.txt
52+
53+
- name: Install collection
54+
run: |
55+
mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE
56+
cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME
57+
58+
- name: Test with molecule
59+
run: |
60+
ansible --version
61+
molecule --version
62+
molecule test -s ${{ matrix.scenario }}
63+
env:
64+
MOLECULE_DISTRO: ${{ matrix.distro }}
65+
66+
test_ini_template_2_16:
67+
runs-on: ubuntu-latest
68+
69+
env:
70+
COLLECTION_NAMESPACE: icinga
71+
COLLECTION_NAME: icinga
72+
73+
strategy:
74+
fail-fast: false
75+
max-parallel: 1
76+
matrix:
77+
distro: [ubuntu2204]
78+
python: ['3.10','3.11','3.12']
79+
ansible: ['2.16']
80+
scenario: [ini-configuration-tests]
81+
82+
steps:
83+
- name: Check out code
84+
uses: actions/checkout@v4
85+
86+
- name: Set up Python
87+
uses: actions/setup-python@v5
88+
with:
89+
python-version: ${{ matrix.python }}
90+
91+
- name: Install dependencies ansible
92+
run: |
93+
python3 -m pip install --upgrade pip
94+
python3 -m pip install -r requirements-test-${{ matrix.ansible }}.txt
95+
96+
- name: Install collection
97+
run: |
98+
mkdir -p ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE
99+
cp -a ../ansible-collection-$COLLECTION_NAME ~/.ansible/collections/ansible_collections/$COLLECTION_NAMESPACE/$COLLECTION_NAME
100+
101+
- name: Test with molecule
102+
run: |
103+
ansible --version
104+
molecule --version
105+
molecule test -s ${{ matrix.scenario }}
106+
env:
107+
MOLECULE_DISTRO: ${{ matrix.distro }}
108+
109+
test_ini_template_2_17:
110+
runs-on: ubuntu-latest
111+
112+
env:
113+
COLLECTION_NAMESPACE: icinga
114+
COLLECTION_NAME: icinga
115+
116+
strategy:
117+
fail-fast: false
118+
max-parallel: 1
119+
matrix:
120+
distro: [ubuntu2204]
121+
python: ['3.10','3.11','3.12']
122+
ansible: ['2.17']
35123
scenario: [ini-configuration-tests]
36124

37125
steps:

CHANGELOG.rst

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,37 @@ Icinga.Icinga Release Notes
44

55
.. contents:: Topics
66

7+
v0.3.4
8+
======
9+
10+
Release Summary
11+
---------------
12+
13+
Bugfix release
14+
15+
Bugfixes
16+
--------
17+
18+
- Added missing port paramater to mysql command within icingadb role (#267)
19+
- Fixed collect of icinga2_objects when icinga2_config_host is not defined (#228)
20+
- Fixed issue where reusing the repos role within the monitoring_plugins could cause the deactivation of the repos; using standalone task now (#270)
21+
- Icinga's packages no longer create '/var/log/icingadb-redis/'. Added tasks that create a log directory based on `icingadb_redis_logfile` (#298).
22+
23+
v0.3.3
24+
======
25+
26+
Release Summary
27+
---------------
28+
29+
Bugfix Release
30+
31+
Bugfixes
32+
--------
33+
34+
- ensure backwards compatibility with bool filter (#218)
35+
- icinga2 feature api: fixed missing quotes in delegate ticket command for satellites or second master nodes.(#250)
36+
- icingaweb2: run pqslcmd with LANG=C to ensure the output is in english.(#241)
37+
- remove superfluous curly brace (#246)
738

839
v0.3.2
940
======

PUBLISH.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Creating a new release
2+
3+
> This is meant as an *internal* note on how to build and publish a new version of this Ansible Collection.
4+
5+
1. **Get the release branch ready:**
6+
Push your local changes to the remote.
7+
From your local release branch:
8+
```
9+
git push --set-upstream origin release/<VERSION>
10+
```
11+
12+
To avoid having leftover files from your local directory end up in the release, please **cleanly clone the release branch to another directory**.
13+
```
14+
git clone --branch release/<VERSION> [email protected]:Icinga/ansible-collection-icinga.git release_<VERSION>
15+
cd release_<VERSION>
16+
```
17+
You now only have files that were actually commmited.
18+
19+
2. **Increase the version number:**
20+
The version of this Collection - as seen by Ansible Galaxy - is determined by **galaxy.yml**.
21+
Increase the version number inside accordingly.
22+
23+
3. **Create a changelog summary:**
24+
This will be shown in the changelog as a short summary for this release.
25+
26+
changelogs/fragments/release_summary.yml:
27+
```
28+
release_summary: |
29+
Summary text for this release.
30+
"*Bugfix release*" for example.
31+
```
32+
33+
4. **Create a new changelog:**
34+
Lint the changelogs:
35+
```
36+
antsibull-changelog lint
37+
```
38+
39+
Generate the changelog:
40+
```
41+
antsibull-changelog release --version <VERSION>
42+
```
43+
44+
Commit your changes to the release branch.
45+
46+
5. **Build and push to Ansible Galaxy:**
47+
Build a release tar ball (verbose shows skipped files):
48+
```
49+
ansible-galaxy collection build -vvv
50+
```
51+
52+
Push to Ansible Galaxy:
53+
```
54+
ansible-galaxy collection publish --token <TOKEN> icinga-icinga-<VERSION>.tar.gz
55+
```
56+
> This might show errors which does **not** necessarily mean that it failed.
57+
> Have a look at [Ansible Galaxy](https://galaxy.ansible.com/ui/repo/published/icinga/icinga/) and confirm if the release could be published.
58+
59+
6. **Create a release on GitHub:**
60+
When [creating a new release](https://github.com/Icinga/ansible-collection-icinga/releases/new)
61+
62+
- choose \<VERSION\> as tag
63+
- choose the branch "release/\<VERSION\>" as target (will be tagged)
64+
- choose \<VERSION\> as title
65+
- copy and paste the release's changelog entry (see [prior releases](https://github.com/Icinga/ansible-collection-icinga/releases))
66+
- attach the created tar ball (icinga-icinga-\<VERSION\>.tar.gz) to the release
67+
- if you feel extra nice, credit contributors by adding their names, e.g. behind the respective issue or feature (`@name`)

changelogs/changelog.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,3 +124,34 @@ releases:
124124
- feature_adjust_director_source_installation.yml
125125
- release.yml
126126
release_date: '2023-12-07'
127+
0.3.3:
128+
changes:
129+
bugfixes:
130+
- ensure backwards compatibility with bool filter (#218)
131+
- 'icinga2 feature api: fixed missing quotes in delegate ticket command for
132+
satellites or second master nodes.(#250)'
133+
- 'icingaweb2: run pqslcmd with LANG=C to ensure the output is in english.(#241)'
134+
- remove superfluous curly brace (#246)
135+
release_summary: Bugfix Release
136+
fragments:
137+
- fix_missing_quotes_delegate_ticket.yml
138+
release_date: '2024-01-15'
139+
0.3.4:
140+
changes:
141+
bugfixes:
142+
- Added missing port paramater to mysql command within icingadb role (#267)
143+
- Fixed collect of icinga2_objects when icinga2_config_host is not defined (#228)
144+
- Fixed issue where reusing the repos role within the monitoring_plugins could
145+
cause the deactivation of the repos; using standalone task now (#270)
146+
- Icinga's packages no longer create '/var/log/icingadb-redis/'. Added tasks
147+
that create a log directory based on `icingadb_redis_logfile` (#298).
148+
release_summary: Bugfix release
149+
fragments:
150+
- fix_issue_228.yml
151+
- fix_issue_267.yml
152+
- fix_issue_268.yml
153+
- fix_issue_269.yml
154+
- fix_issue_270.yml
155+
- fix_issue_298.yml
156+
- release_summary.yml
157+
release_date: '2024-07-25'
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
minor_changes:
3+
- Added support for PostgresQL databases for Icingaweb2 modules that support it
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
minor_changes:
3+
- Add support for Suse in the :code:`monitoring_plugins` role.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
3+
minor_changes:
4+
- Change documentation to better reflect the intended usage of the variable 'icinga2_objects' as a host variable vs. as a play variable.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
bugfixes:
3+
- Fixed a bug in :code:`monitoring_plugins` where a requested plugin that is **unavailable** would cause a failure even though it is a **known** plugin and should be skipped (#327).
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
bugfixes:
3+
- Icinga's packages no longer create '/var/log/icingadb-redis/'. Added tasks that create a log directory based on `icingadb_redis_logfile` (#298).
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
bugfixes:
2+
- "Certain values within Icinga Web :code:`ini` files got quoted incorrectly using single quotes. They are now quoted properly using double quotes (#301)."

0 commit comments

Comments
 (0)