Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

about the integration test method #4

Closed
sky-joker opened this issue Mar 14, 2020 · 17 comments · Fixed by #8
Closed

about the integration test method #4

sky-joker opened this issue Mar 14, 2020 · 17 comments · Fixed by #8
Assignees

Comments

@sky-joker
Copy link
Contributor

sky-joker commented Mar 14, 2020

PURPOSE

Here we discuss the integration test method for the Zabbix module.
It provisioning for test environment uses docker-compose? or ansible-test integration command? (and so on)

@D3DeFi
Copy link
Contributor

D3DeFi commented Mar 15, 2020

I believe that ansible-test is not an option. If I understood it right, it creates isolated containers with a base OS in a non routable network. The other thing is that the CI will be unnecessary slow if we are to set up MySQL and Zabbix services ourselves.

My opinion here is that we will benefit greatly from a pre-built Zabbix docker containers, but just a minimal setup possible with zabbix-server + mysql containers and maybe zabbix-web if that is required for a working API.

The final goal is to have a single script (or rather playbook) that will be run from a Github Actions and can be run locally by anyone without installing a ton of dependencies. Pseudo code can go like so:

docker-compose
for plugin in plugins/modules/; test plugin
cleanup

We can probably reuse your container provisioner for this purpose. What do you think?

@gundalow
Copy link
Collaborator

Have a look at how Grafana integration tests work
They use GitHub actions to spin up the Docker container for the three currently supported Grafana versions: https://github.com/ansible-collections/grafana/blob/master/.github/workflows/ansible-test.yml#L55-L59

Note that when using this you can't use the --docker option to ansible-test as you will end up with the Zabbix container and ansible-test container in isolated networks: https://github.com/ansible-collections/grafana/blob/master/.github/workflows/ansible-test.yml#L80

@sky-joker
Copy link
Contributor Author

sky-joker commented Mar 16, 2020

Thank you @gundalow for information!
To run Zabbix containers, use official Zabbix images and SQL images.
So I think it would be better to use docker-compose to solve container dependencies easily.
If it does CI like Grafana, I think we need to create a single container image.

@D3DeFi

My opinion here is that we will benefit greatly from a pre-built Zabbix docker containers, but just a minimal setup possible with zabbix-server + mysql containers and maybe zabbix-web if that is required for a working API.

I think so too.
I tried making a sample for CI.

https://github.com/sky-joker/community.zabbix-sample1-ci

Sample docker-compose

https://github.com/sky-joker/community.zabbix-sample1-ci/blob/master/docker-compose.yml

Sample Workflow

https://github.com/sky-joker/community.zabbix-sample1-ci/blob/master/.github/workflows/ansible-test.yml

CI result

https://github.com/sky-joker/community.zabbix-sample1-ci/runs/511571372

I used zabbix_user for sample testing.
In order to make the content of the test easier to understand, we only conduct the minimum test.
Does it make sense?

@D3DeFi
Copy link
Contributor

D3DeFi commented Mar 18, 2020

Thanks for the example and initial setup @sky-joker!

Looking at the actions documentation, I am still not sure whether they can be used to specify container dependencies as compose can.

Even if it would be possible, we would probably still be using something to test local changes before pushing them. Might as well be the same thing and actions cannot (true?) be run locally.

So, lets continue with docker compose? Unless @gundalow says that everything I said is wrong.

@gundalow
Copy link
Collaborator

My docker knowledge is very basic.

Could you please expand on

I am still not sure whether they can be used to specify container dependencies as compose can.

https://github.com/sky-joker/community.zabbix-sample1-ci/blob/master/.github/workflows/ansible-test.yml looks good to me.

How were you thinking that the test would run against Zabbix version 3.0,4.0,4.4?

@D3DeFi
Copy link
Contributor

D3DeFi commented Mar 18, 2020

My docker knowledge is very basic.

So there are two of us :)

I am still not sure whether they can be used to specify container dependencies as compose can.

What I meant was linking containers. In order for zabbix to work it needs to link these three:

zabbix-web -> zabbix-server -> zabbix-mysql

In a docker command form:

docker run --name zabbix-web --link mysql-server:mysql --link zabbix-server-mysql:zabbix-server...

It seems that documentation of actions always refers to a stand-alone containers and nothing about linking 2 containers together, except that all containers expose all ports to each other. To be honest, I've only scrolled through it very briefly and haven;t had a chance to play with it.

How were you thinking that the test would run against Zabbix version 3.0,4.0,4.4?

@sky-joker used a loop to run a test against each container (tasks file). Maybe define a custom inventory:

zbx3.0-container ansible_host=IP
zbx4.0-container ansible_host=IP
zbx4.4-container ansible_host=IP

and use server_url: "http://{{ ansible_host }}" instead?

@sky-joker
Copy link
Contributor Author

if when integration test uses ansible-test command, I look like it can't specify inventory file.
The following file is default created.

# Do not put test specific entries in this inventory file.
# For script based test targets (using runme.sh) put the inventory file in the test's directory instead.

[testgroup]
# ansible_python_interpreter must be set to avoid interpreter discovery
testhost ansible_connection=local ansible_python_interpreter="{{ ansible_playbook_python }}"

I didn't find an option to specify the inventory file for ansible-test command.

(venv) [root@zbxcont zabbix]# ansible-test integration -h | grep inventory

@D3DeFi
Copy link
Contributor

D3DeFi commented Mar 21, 2020

oh well, so in order to use ansible-test, the testing needs to run directly from zabbix-web-nginx-mysql container for example.

I've been trying to simulate our docker compose in Github actions with no luck so far. The problem is, that zabbix-server-mysql needs an ENV variable DB_SERVER_HOST set to the name of the mysql container, which would be zabbix30-db in our case. This name needs to simultaneously exist in /etc/hosts of the zabbix-server-mysql. That is the theory at least.

What happens in practice is that Github actions reserve --name for randomly generated string and set --alias zabbix30-db --alias ${{ job.services.zabbix30-db.id }} in this order. The newly created zabbix-server-mysql container then ends with /etc/hosts configured like so:

127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.18.0.2	7d34e663ca66

You can see it in this build: https://github.com/D3DeFi/community.zabbix/runs/524346301?check_suite_focus=true

My attempts to:

  • set env DB_SERVER_HOST: ${{ job.services.zabbix30-db.id }}
  • add options --add-host: zabbix30-db:${{ job.services.zabbix30-db.ip }} not sure if something like this even exists. The documentation is horrible when it comes to services of Github actions
  • override name via options as --name zabbix30-db

all failed. In order to make this work via Github actions, we somehow need to fill DB_SERVER_HOST with a container id of mysql container.

As for the CI definition, this was one of my most promising ones:

jobs:
  integration:
    runs-on: ubuntu-latest
    container:
      image: zabbix/zabbix-web-nginx-mysql:ubuntu-4.4.0
      env:
        DB_SERVER_HOST: "zabbix44-db"  # how to get container ID here?
        MYSQL_USER: "zabbix"
        MYSQL_PASSWORD: "zabbix"
        MYSQL_DATABASE: "zabbix"
        MYSQL_ROOT_PASSWORD: "zabbix"
        ZBX_SERVER_HOST: "zabbix44-server"
      ports:
        - 8030:80

    services:
      zabbix44-db:
        image: mysql:5.7
        env:
          MYSQL_DATABASE: "zabbix"
          MYSQL_USER: "zabbix"
          MYSQL_PASSWORD: "zabbix"
          MYSQL_ROOT_PASSWORD: "zabbix"
        options: --name zabbix44-db

      zabbix44-server:
        image: zabbix/zabbix-server-mysql:ubuntu-4.4.0
        env:
          DB_SERVER_HOST: "zabbix44-db"
          MYSQL_USER: "zabbix"
          MYSQL_PASSWORD: "zabbix"
          MYSQL_DATABASE: "zabbix"
          MYSQL_ROOT_PASSWORD: "zabbix"

@sky-joker
Copy link
Contributor Author

hmm...
I think there is a limit to preparing a container environment with GitHub Actions alone.
If you prepare a container environment only with GitHub Actions, I think that it is easier to create one package container(web+SQL+server) and use it.
However, in that case, we need to maintain a test container.

@D3DeFi
Copy link
Contributor

D3DeFi commented Mar 24, 2020

I think there is a limit to preparing a container environment with GitHub Actions alone.

Yeah, it is probably like this. Maybe it is possible to link multiple containers, but documentation is really unclear about that. Only thing stated there is that all containers for Github action are on the same network and all open ports are exposed to each container. Seems to me that something like that should be possible.

However, in that case, we need to maintain a test container.

What is your opinion on this @sky-joker? Judging by how active we both are, I would say it is bigger overhead than we need right now. Currently, docker-compose looks to me as the best solution, even tho we need to work around the localhost problem that ansible-test introduces.

Maybe crazy idea, but there is still a possibility to omit ansible-test for integration testing at all.

@dj-wasabi
Copy link
Contributor

oh well, so in order to use ansible-test, the testing needs to run directly from zabbix-web-nginx-mysql container for example.

I've been trying to simulate our docker compose in Github actions with no luck so far. The problem is, that zabbix-server-mysql needs an ENV variable DB_SERVER_HOST set to the name of the mysql container, which would be zabbix30-db in our case. This name needs to simultaneously exist in /etc/hosts of the zabbix-server-mysql. That is the theory at least.

What happens in practice is that Github actions reserve --name for randomly generated string and set --alias zabbix30-db --alias ${{ job.services.zabbix30-db.id }} in this order. The newly created zabbix-server-mysql container then ends with /etc/hosts configured like so:

127.0.0.1	localhost
::1	localhost ip6-localhost ip6-loopback
fe00::0	ip6-localnet
ff00::0	ip6-mcastprefix
ff02::1	ip6-allnodes
ff02::2	ip6-allrouters
172.18.0.2	7d34e663ca66

You can see it in this build: https://github.com/D3DeFi/community.zabbix/runs/524346301?check_suite_focus=true

My attempts to:

  • set env DB_SERVER_HOST: ${{ job.services.zabbix30-db.id }}
  • add options --add-host: zabbix30-db:${{ job.services.zabbix30-db.ip }} not sure if something like this even exists. The documentation is horrible when it comes to services of Github actions
  • override name via options as --name zabbix30-db

all failed. In order to make this work via Github actions, we somehow need to fill DB_SERVER_HOST with a container id of mysql container.

As for the CI definition, this was one of my most promising ones:

jobs:
  integration:
    runs-on: ubuntu-latest
    container:
      image: zabbix/zabbix-web-nginx-mysql:ubuntu-4.4.0
      env:
        DB_SERVER_HOST: "zabbix44-db"  # how to get container ID here?
        MYSQL_USER: "zabbix"
        MYSQL_PASSWORD: "zabbix"
        MYSQL_DATABASE: "zabbix"
        MYSQL_ROOT_PASSWORD: "zabbix"
        ZBX_SERVER_HOST: "zabbix44-server"
      ports:
        - 8030:80

    services:
      zabbix44-db:
        image: mysql:5.7
        env:
          MYSQL_DATABASE: "zabbix"
          MYSQL_USER: "zabbix"
          MYSQL_PASSWORD: "zabbix"
          MYSQL_ROOT_PASSWORD: "zabbix"
        options: --name zabbix44-db

      zabbix44-server:
        image: zabbix/zabbix-server-mysql:ubuntu-4.4.0
        env:
          DB_SERVER_HOST: "zabbix44-db"
          MYSQL_USER: "zabbix"
          MYSQL_PASSWORD: "zabbix"
          MYSQL_DATABASE: "zabbix"
          MYSQL_ROOT_PASSWORD: "zabbix"

If you have a docker-compose configuration file, you can also create a docker network. See example: https://github.com/dj-wasabi/consul-acl-examples/blob/master/multiple-dc/docker-compose.yml

When all of the images are in the same docker network, you can use the name of the container to access them, because the docker network handles the DNS requests and thus no entry in the hosts file of the container needs to exist.

But I have no idea if this docker compose you referring to with Github actions is the same as the docker-compose you can run locally on any host.

My 2 cents. 😄

@D3DeFi
Copy link
Contributor

D3DeFi commented Mar 25, 2020

If you have a docker-compose configuration file, you can also create a docker network. See example: https://github.com/dj-wasabi/consul-acl-examples/blob/master/multiple-dc/docker-compose.yml

When all of the images are in the same docker network, you can use the name of the container to access them, because the docker network handles the DNS requests and thus no entry in the hosts file of the container needs to exist.

But I have no idea if this docker compose you referring to with Github actions is the same as the docker-compose you can run locally on any host.

My 2 cents. 😄

Welcome to the debate @dj-wasabi ! :) We can use docker-compose just fine, that is not a problem. Only workaround needed in this setup is to run ansible-test command from "localhost" (that needs to be the zabbix-web-mysql-nginx for example) as the ansible-test --docker would break the networking. In this configuration, Github actions will run docker-compose and prepare docker network for us.

What I was trying to prove with that example was to mirror behavior of docker-compose in Github actions without using docker-compose at all. Just to test that we can use native features - Github actions container + services alone. Documentation states that docker network is created for you automatically and all containers can see each other.

Only problem is with resolving as Github actions name the containers with IDs. Maybe there is a way to make this work, but I haven't had time to dive into it again since then. Only missing puzzle is to configure ENV variables like DB_SERVER_HOST and ZABBIX_SERVER_HOST to something resolvable.

@sky-joker
Copy link
Contributor Author

sky-joker commented Mar 28, 2020

Judging by how active we both are, I would say it is bigger overhead than we need right now.

yes.
I think the best idea right now is to use docker-compose.
Using docker-compose, it easily build the same integration test environment in local environment :)
(However, it is assumed that docker and docker-compose are installed localhost.)

For example, how about specifying the version of the container image in the environment variable?

CI Results

https://github.com/sky-joker/community.zabbix-sample1-ci/runs/541636476

docker-compose file

https://github.com/sky-joker/community.zabbix-sample1-ci/blob/sample02/docker-compose.yml

GitHub Flow

https://github.com/sky-joker/community.zabbix-sample1-ci/blob/sample02/.github/workflows/ansible-test.yml

This way, integration testing can be done in parallel in GitHub Actions :)

@D3DeFi
Copy link
Contributor

D3DeFi commented Mar 28, 2020

Looks good to me. If @gundalow agrees with such setup I would say it is already the time to implement something for real.

@gundalow
Copy link
Collaborator

Judging by how active we both are, I would say it is bigger overhead than we need right now.

Start simple, and try not to set yourself up for too much work.

Looks good to me. If @gundalow agrees with such setup I would say it is already the time to implement something for real.

If you are happy, and it's an improvement over what we have today, then go for it :)

@D3DeFi
Copy link
Contributor

D3DeFi commented Mar 28, 2020

It definitely is :) @sky-joker can you open an official PR for the integration testing with the docker compose you've built? I think the use of ENV variables is fine

@sky-joker
Copy link
Contributor Author

okay :)
I will prepare to PR.

@sky-joker sky-joker self-assigned this Mar 29, 2020
@D3DeFi D3DeFi closed this as completed in #8 Mar 29, 2020
@D3DeFi D3DeFi mentioned this issue Jun 25, 2020
6 tasks
pyrodie18 added a commit that referenced this issue Apr 8, 2023
* Server update (#1) (#2)

* Initial Update to Server Role

* Update python version to 3.9

* Trying to get molecule to work

* Fixed python shell command problems

* Defined zabbix_os_user

* Fixed Rocky9 Idempotence Test

* Fixed Interpreter Values

* Think I fixed the username check.  Not sure why we changed the username in the first place

* Fixed Failed Test for file owner/group

* Fixed problems with Centos 9 Zabbix6.0

* Fixed Tests

* Fixed the config file problem that kept most instances from running

* Proxy update (#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Java gw (#4)

Refactor Java Gateway

* Web (#6)

* Removed unnecessary files

* Fixed Valid Versions

* Fixed Server Name issue

* Fixing Molecule

* Cleaned up Documentation

* Fixed Prepare for Centos8

* Lots of changes for Debian

* Fixed Idempotency Issue

* Added curl to prepare

* Fixed Prepare for Centos 8+ and Ubuntu 2204

* Fixed Error with V6 Rocky 9

* Hopefully fixed all of the PgSQL stuff

* Think I fixed my pgsql problem

* Nginx Work

* Fixed Accidental Install from Epel

* Fixed Error With Centos 7

* Enabled all Server Tests

* Remove Support for 5.X from Web

* More 5.0 Removal Cleanup

* Think I fixed my RHEL Problem

* Bgmot usergroup update (#893)

* zabbix_usergroup module: added hostgroup_rights and templategroup_rights (Zabbix >= 6.2).

* zabbix_usergroup module: added userdirectory parameter (Zabbix >= 6.2).

* Changelog fragment added.

* zabbix_usergroup: fix compatibility with Zabbix < 6.2.

* zabbix_agent - Fix MacOS/Darwin install (#897)

* zabbix_agent role - Add support for SUSE Linux Enterprise Server for SAP Applications ("SLES_SAP"). (#899)

* Add support for SLES_SAP

* Renamed to pr number

---------

Co-authored-by: Bram Mol <bram.mol@cfit.nl>

* Bgmot fix python interpreter (#900)

* zabbix_agent role: fix python_interpreter error.

* zabbix_proxy role: fix python_interpreter error.

* Code clean up.

* Remove code used to debugging.

* 1.9.2prep (#902)

* Remove warn: for module shell for Ansible 2.14. (#877)

* Bgmot python version (#890)

* Bump Python version to 3.9 to satisfy ansible 7.0.

* Bump ansible from 4.6.0 to 7.0.0 in /molecule.

* Bump ansible-core from 2.11.5 to 2.14.2 in /molecule.

* In new Ansible version need to specify Python interpreter explicitely for some (like Rocky linux) distros of Linux.

* Remove warn: for module command for Ansible 2.14 in molecule tests.

* Ansible does not set correct Python interpreter only for rockylinux.

* Deal with Python versions mess on different OS/versions.

* zabbix_agent - Fix MacOS/Darwin install (#897)

* Bgmot fix python interpreter (#900)

* zabbix_agent role: fix python_interpreter error.

* zabbix_proxy role: fix python_interpreter error.

* Code clean up.

* Remove code used to debugging.

* Missing changelog fragments added.

* CHANGELOG updated by antsibull-changelog.

* galaxy.yml updated with 1.9.2 version.

* README.md updated.

---------

Co-authored-by: Benjamin Pinchon <dev@mdfr.me>

* zabbix_user: several mailto: for email media type (#907)

* zabbix_user: fix ability to specify several e-mail addresses in media.

* Changelog fragment added.

* Switch to ansible core version of LooseVersion.

* Fix postgres tags (#910)

Use tags apropriate for role

* Bgmot fix netcommon (#915)

* Fix to work with ansible.netcommon 5.0.

* Remove unused variable.

* Changelog fragment added.

* Bgmot user mailto1 (#916)

* zabbix_user: fix ability to specify several e-mail addresses in media (attempt #2).

* Changelog fragment added.

* Zabbix 6.4 from BGmot (#927)

* The stupidiest fix for user vs username parameter during authentication.

* Modules integration tests: first get API version then do login accordingly.

* Do not use zabbix-api in zabbix_action module integration tests as zabbix-api is broken for Zabbix 6.4.

* Fix sanity test.

* zabbix_user_directory module updated to work with Zabbix 6.4.

* zabbix_user_directory: update examples for Zabbix 6.4.

* zabbix_authentication module updated to work with Zabbix 6.4.

* zabbix_authentication: re-do tests introducing clean up and adding tests for Zabbix 6.4.

* zabbix_discovery_rule module updated to work with Zabbix 6.4.

* zabbix_mediatype module updated to work with Zabbix 6.4.

* zabbix_user module updated to work with Zabbix 6.4.

* Make tests for zabbix_host compatible with Zabbix 6.4.

* Make tests for zabbix_template compatible with Zabbix 6.4.

* Make tests for zabbix_template_info compatible with Zabbix 6.4.

* zabbix_user_group module updated to work with Zabbix 6.4.

* Fix linter errors.

* zabbix_action module updated with new parameter in Zabbix 6.4.

* Add 6.4 to plugins-integration test suite.

* Changelog fragment added.

* zabbix_authentication: fix backward compatibility with Zabbix 6.2.

* zabbix_mediatype: fix backward compatibility with Zabbix 6.2.

* Update examples with task level vars (instead of PR #920) (#929)

* Update examples with task level vars

* Cleanup 5.0 Removal

* Remove epel (#8)

* Updated Java Gateway

* Updated Server

* Updated Proxy

* Updated Web

* Removed Epel and Other related tasks

* Fixed EPEL leftover in Proxy

* Server update (#1)

* Initial Update to Server Role

* Update python version to 3.9

* Trying to get molecule to work

* Fixed python shell command problems

* Defined zabbix_os_user

* Fixed Rocky9 Idempotence Test

* Fixed Interpreter Values

* Think I fixed the username check.  Not sure why we changed the username in the first place

* Fixed Failed Test for file owner/group

* Fixed problems with Centos 9 Zabbix6.0

* Fixed Tests

* Fixed the config file problem that kept most instances from running

* Proxy update (#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Web (#6)

* Removed unnecessary files

* Fixed Valid Versions

* Fixed Server Name issue

* Fixing Molecule

* Cleaned up Documentation

* Fixed Prepare for Centos8

* Lots of changes for Debian

* Fixed Idempotency Issue

* Added curl to prepare

* Fixed Prepare for Centos 8+ and Ubuntu 2204

* Fixed Error with V6 Rocky 9

* Hopefully fixed all of the PgSQL stuff

* Think I fixed my pgsql problem

* Nginx Work

* Fixed Accidental Install from Epel

* Fixed Error With Centos 7

* Enabled all Server Tests

* Remove Support for 5.X from Web

* More 5.0 Removal Cleanup

* Think I fixed my RHEL Problem

* Bgmot usergroup update (#893)

* zabbix_usergroup module: added hostgroup_rights and templategroup_rights (Zabbix >= 6.2).

* zabbix_usergroup module: added userdirectory parameter (Zabbix >= 6.2).

* Changelog fragment added.

* zabbix_usergroup: fix compatibility with Zabbix < 6.2.

* zabbix_user: several mailto: for email media type (#907)

* zabbix_user: fix ability to specify several e-mail addresses in media.

* Changelog fragment added.

* Switch to ansible core version of LooseVersion.

* Bgmot user mailto1 (#916)

* zabbix_user: fix ability to specify several e-mail addresses in media (attempt #2).

* Changelog fragment added.

* Zabbix 6.4 from BGmot (#927)

* The stupidiest fix for user vs username parameter during authentication.

* Modules integration tests: first get API version then do login accordingly.

* Do not use zabbix-api in zabbix_action module integration tests as zabbix-api is broken for Zabbix 6.4.

* Fix sanity test.

* zabbix_user_directory module updated to work with Zabbix 6.4.

* zabbix_user_directory: update examples for Zabbix 6.4.

* zabbix_authentication module updated to work with Zabbix 6.4.

* zabbix_authentication: re-do tests introducing clean up and adding tests for Zabbix 6.4.

* zabbix_discovery_rule module updated to work with Zabbix 6.4.

* zabbix_mediatype module updated to work with Zabbix 6.4.

* zabbix_user module updated to work with Zabbix 6.4.

* Make tests for zabbix_host compatible with Zabbix 6.4.

* Make tests for zabbix_template compatible with Zabbix 6.4.

* Make tests for zabbix_template_info compatible with Zabbix 6.4.

* zabbix_user_group module updated to work with Zabbix 6.4.

* Fix linter errors.

* zabbix_action module updated with new parameter in Zabbix 6.4.

* Add 6.4 to plugins-integration test suite.

* Changelog fragment added.

* zabbix_authentication: fix backward compatibility with Zabbix 6.2.

* zabbix_mediatype: fix backward compatibility with Zabbix 6.2.

* Update examples with task level vars (instead of PR #920) (#929)

* Update examples with task level vars

* Convert bool values to lowercase in modules documentation.x (#933)

* user to username Zabbix 6.4 (#917)

* The stupidiest fix for user vs username parameter during authentication.

* Modules integration tests: first get API version then do login accordingly.

* Do not use zabbix-api in zabbix_action module integration tests as zabbix-api is broken for Zabbix 6.4.

* Fix sanity test.

* Possibility to add custom includes in apache vhost config (zabbix_web) (#935)

* add custom includes for apache configuration

* remove length check

* change if statement in template

---------

Co-authored-by: JHauf <johannes.hauf@datev.cloud>

* Roles to Zabbix 6.4 (#937)

* Zabbix proxy configuration template updated for Zabbix 6.4.

* Zabbix server configuration template updated for Zabbix 6.4.

* zabbix_server role: adjusting defaults.

* zabbix_server role: fix zabbix_server_proxyconfigfrequency variable.

* Add 6.4 version to all roles and make it essentially default.

* zabbix_server role: restore accidentally deleted parameter.

* READMEs for role updated with Zabbix 6.4.

* Changelog fragment added.

* Fix molecule test for zabbix_web.

* 1.9.3prep (#938)

* Add missing changelog fragments.

* Fix changelog format.

* CHANGELOG.rst generated.

* galaxy.yml updated.

* README.md updated.

* Switch GitHub runner image to ubuntu-latest.

* Switch to Ubuntu 22.04 for web test.

* Switch to Ubuntu 20.04 for web test.

* Switch to Ubuntu 20.04 for all molecule tests.

* Fix sanity tests for Ansible dev.

* Do not ignore any failing sanity tests.

* zabbix_host: fix integration test to properly handle removing all linked templates.

* zabbix_action: re-name message paremeter into op_message.

* Changelog fragment added.

* Proxy update (#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Bgmot fix python interpreter (#900)

* zabbix_agent role: fix python_interpreter error.

* zabbix_proxy role: fix python_interpreter error.

* Code clean up.

* Remove code used to debugging.

* Cleanup 5.0 Removal

* Remove epel (#8)

* Updated Java Gateway

* Updated Server

* Updated Proxy

* Updated Web

* Removed Epel and Other related tasks

* Fixed EPEL leftover in Proxy

* Server update (#1)

* Initial Update to Server Role

* Update python version to 3.9

* Trying to get molecule to work

* Fixed python shell command problems

* Defined zabbix_os_user

* Fixed Rocky9 Idempotence Test

* Fixed Interpreter Values

* Think I fixed the username check.  Not sure why we changed the username in the first place

* Fixed Failed Test for file owner/group

* Fixed problems with Centos 9 Zabbix6.0

* Fixed Tests

* Fixed the config file problem that kept most instances from running

* Proxy update (#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Web (#6)

* Removed unnecessary files

* Fixed Valid Versions

* Fixed Server Name issue

* Fixing Molecule

* Cleaned up Documentation

* Fixed Prepare for Centos8

* Lots of changes for Debian

* Fixed Idempotency Issue

* Added curl to prepare

* Fixed Prepare for Centos 8+ and Ubuntu 2204

* Fixed Error with V6 Rocky 9

* Hopefully fixed all of the PgSQL stuff

* Think I fixed my pgsql problem

* Nginx Work

* Fixed Accidental Install from Epel

* Fixed Error With Centos 7

* Enabled all Server Tests

* Remove Support for 5.X from Web

* More 5.0 Removal Cleanup

* Think I fixed my RHEL Problem

---------

Co-authored-by: Evgeny <ey@bgmot.com>
Co-authored-by: Benjamin Pinchon <dev@mdfr.me>
Co-authored-by: brnl <3243133+brnl@users.noreply.github.com>
Co-authored-by: Bram Mol <bram.mol@cfit.nl>
Co-authored-by: Robert Szulist <szuro@users.noreply.github.com>
Co-authored-by: anmg <a.gangan@gmail.com>
Co-authored-by: johansenha <35975241+johansenha@users.noreply.github.com>
Co-authored-by: JHauf <johannes.hauf@datev.cloud>
BGmot added a commit to BGmot/community.zabbix that referenced this issue Apr 16, 2023
* Server update (ansible-collections#1) (ansible-collections#2)

* Initial Update to Server Role

* Update python version to 3.9

* Trying to get molecule to work

* Fixed python shell command problems

* Defined zabbix_os_user

* Fixed Rocky9 Idempotence Test

* Fixed Interpreter Values

* Think I fixed the username check.  Not sure why we changed the username in the first place

* Fixed Failed Test for file owner/group

* Fixed problems with Centos 9 Zabbix6.0

* Fixed Tests

* Fixed the config file problem that kept most instances from running

* Proxy update (ansible-collections#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Java gw (ansible-collections#4)

Refactor Java Gateway

* Web (ansible-collections#6)

* Removed unnecessary files

* Fixed Valid Versions

* Fixed Server Name issue

* Fixing Molecule

* Cleaned up Documentation

* Fixed Prepare for Centos8

* Lots of changes for Debian

* Fixed Idempotency Issue

* Added curl to prepare

* Fixed Prepare for Centos 8+ and Ubuntu 2204

* Fixed Error with V6 Rocky 9

* Hopefully fixed all of the PgSQL stuff

* Think I fixed my pgsql problem

* Nginx Work

* Fixed Accidental Install from Epel

* Fixed Error With Centos 7

* Enabled all Server Tests

* Remove Support for 5.X from Web

* More 5.0 Removal Cleanup

* Think I fixed my RHEL Problem

* Bgmot usergroup update (ansible-collections#893)

* zabbix_usergroup module: added hostgroup_rights and templategroup_rights (Zabbix >= 6.2).

* zabbix_usergroup module: added userdirectory parameter (Zabbix >= 6.2).

* Changelog fragment added.

* zabbix_usergroup: fix compatibility with Zabbix < 6.2.

* zabbix_agent - Fix MacOS/Darwin install (ansible-collections#897)

* zabbix_agent role - Add support for SUSE Linux Enterprise Server for SAP Applications ("SLES_SAP"). (ansible-collections#899)

* Add support for SLES_SAP

* Renamed to pr number

---------

Co-authored-by: Bram Mol <bram.mol@cfit.nl>

* Bgmot fix python interpreter (ansible-collections#900)

* zabbix_agent role: fix python_interpreter error.

* zabbix_proxy role: fix python_interpreter error.

* Code clean up.

* Remove code used to debugging.

* 1.9.2prep (ansible-collections#902)

* Remove warn: for module shell for Ansible 2.14. (ansible-collections#877)

* Bgmot python version (ansible-collections#890)

* Bump Python version to 3.9 to satisfy ansible 7.0.

* Bump ansible from 4.6.0 to 7.0.0 in /molecule.

* Bump ansible-core from 2.11.5 to 2.14.2 in /molecule.

* In new Ansible version need to specify Python interpreter explicitely for some (like Rocky linux) distros of Linux.

* Remove warn: for module command for Ansible 2.14 in molecule tests.

* Ansible does not set correct Python interpreter only for rockylinux.

* Deal with Python versions mess on different OS/versions.

* zabbix_agent - Fix MacOS/Darwin install (ansible-collections#897)

* Bgmot fix python interpreter (ansible-collections#900)

* zabbix_agent role: fix python_interpreter error.

* zabbix_proxy role: fix python_interpreter error.

* Code clean up.

* Remove code used to debugging.

* Missing changelog fragments added.

* CHANGELOG updated by antsibull-changelog.

* galaxy.yml updated with 1.9.2 version.

* README.md updated.

---------

Co-authored-by: Benjamin Pinchon <dev@mdfr.me>

* zabbix_user: several mailto: for email media type (ansible-collections#907)

* zabbix_user: fix ability to specify several e-mail addresses in media.

* Changelog fragment added.

* Switch to ansible core version of LooseVersion.

* Fix postgres tags (ansible-collections#910)

Use tags apropriate for role

* Bgmot fix netcommon (ansible-collections#915)

* Fix to work with ansible.netcommon 5.0.

* Remove unused variable.

* Changelog fragment added.

* Bgmot user mailto1 (ansible-collections#916)

* zabbix_user: fix ability to specify several e-mail addresses in media (attempt ansible-collections#2).

* Changelog fragment added.

* Zabbix 6.4 from BGmot (ansible-collections#927)

* The stupidiest fix for user vs username parameter during authentication.

* Modules integration tests: first get API version then do login accordingly.

* Do not use zabbix-api in zabbix_action module integration tests as zabbix-api is broken for Zabbix 6.4.

* Fix sanity test.

* zabbix_user_directory module updated to work with Zabbix 6.4.

* zabbix_user_directory: update examples for Zabbix 6.4.

* zabbix_authentication module updated to work with Zabbix 6.4.

* zabbix_authentication: re-do tests introducing clean up and adding tests for Zabbix 6.4.

* zabbix_discovery_rule module updated to work with Zabbix 6.4.

* zabbix_mediatype module updated to work with Zabbix 6.4.

* zabbix_user module updated to work with Zabbix 6.4.

* Make tests for zabbix_host compatible with Zabbix 6.4.

* Make tests for zabbix_template compatible with Zabbix 6.4.

* Make tests for zabbix_template_info compatible with Zabbix 6.4.

* zabbix_user_group module updated to work with Zabbix 6.4.

* Fix linter errors.

* zabbix_action module updated with new parameter in Zabbix 6.4.

* Add 6.4 to plugins-integration test suite.

* Changelog fragment added.

* zabbix_authentication: fix backward compatibility with Zabbix 6.2.

* zabbix_mediatype: fix backward compatibility with Zabbix 6.2.

* Update examples with task level vars (instead of PR ansible-collections#920) (ansible-collections#929)

* Update examples with task level vars

* Cleanup 5.0 Removal

* Remove epel (ansible-collections#8)

* Updated Java Gateway

* Updated Server

* Updated Proxy

* Updated Web

* Removed Epel and Other related tasks

* Fixed EPEL leftover in Proxy

* Server update (ansible-collections#1)

* Initial Update to Server Role

* Update python version to 3.9

* Trying to get molecule to work

* Fixed python shell command problems

* Defined zabbix_os_user

* Fixed Rocky9 Idempotence Test

* Fixed Interpreter Values

* Think I fixed the username check.  Not sure why we changed the username in the first place

* Fixed Failed Test for file owner/group

* Fixed problems with Centos 9 Zabbix6.0

* Fixed Tests

* Fixed the config file problem that kept most instances from running

* Proxy update (ansible-collections#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Web (ansible-collections#6)

* Removed unnecessary files

* Fixed Valid Versions

* Fixed Server Name issue

* Fixing Molecule

* Cleaned up Documentation

* Fixed Prepare for Centos8

* Lots of changes for Debian

* Fixed Idempotency Issue

* Added curl to prepare

* Fixed Prepare for Centos 8+ and Ubuntu 2204

* Fixed Error with V6 Rocky 9

* Hopefully fixed all of the PgSQL stuff

* Think I fixed my pgsql problem

* Nginx Work

* Fixed Accidental Install from Epel

* Fixed Error With Centos 7

* Enabled all Server Tests

* Remove Support for 5.X from Web

* More 5.0 Removal Cleanup

* Think I fixed my RHEL Problem

* Bgmot usergroup update (ansible-collections#893)

* zabbix_usergroup module: added hostgroup_rights and templategroup_rights (Zabbix >= 6.2).

* zabbix_usergroup module: added userdirectory parameter (Zabbix >= 6.2).

* Changelog fragment added.

* zabbix_usergroup: fix compatibility with Zabbix < 6.2.

* zabbix_user: several mailto: for email media type (ansible-collections#907)

* zabbix_user: fix ability to specify several e-mail addresses in media.

* Changelog fragment added.

* Switch to ansible core version of LooseVersion.

* Bgmot user mailto1 (ansible-collections#916)

* zabbix_user: fix ability to specify several e-mail addresses in media (attempt ansible-collections#2).

* Changelog fragment added.

* Zabbix 6.4 from BGmot (ansible-collections#927)

* The stupidiest fix for user vs username parameter during authentication.

* Modules integration tests: first get API version then do login accordingly.

* Do not use zabbix-api in zabbix_action module integration tests as zabbix-api is broken for Zabbix 6.4.

* Fix sanity test.

* zabbix_user_directory module updated to work with Zabbix 6.4.

* zabbix_user_directory: update examples for Zabbix 6.4.

* zabbix_authentication module updated to work with Zabbix 6.4.

* zabbix_authentication: re-do tests introducing clean up and adding tests for Zabbix 6.4.

* zabbix_discovery_rule module updated to work with Zabbix 6.4.

* zabbix_mediatype module updated to work with Zabbix 6.4.

* zabbix_user module updated to work with Zabbix 6.4.

* Make tests for zabbix_host compatible with Zabbix 6.4.

* Make tests for zabbix_template compatible with Zabbix 6.4.

* Make tests for zabbix_template_info compatible with Zabbix 6.4.

* zabbix_user_group module updated to work with Zabbix 6.4.

* Fix linter errors.

* zabbix_action module updated with new parameter in Zabbix 6.4.

* Add 6.4 to plugins-integration test suite.

* Changelog fragment added.

* zabbix_authentication: fix backward compatibility with Zabbix 6.2.

* zabbix_mediatype: fix backward compatibility with Zabbix 6.2.

* Update examples with task level vars (instead of PR ansible-collections#920) (ansible-collections#929)

* Update examples with task level vars

* Convert bool values to lowercase in modules documentation.x (ansible-collections#933)

* user to username Zabbix 6.4 (ansible-collections#917)

* The stupidiest fix for user vs username parameter during authentication.

* Modules integration tests: first get API version then do login accordingly.

* Do not use zabbix-api in zabbix_action module integration tests as zabbix-api is broken for Zabbix 6.4.

* Fix sanity test.

* Possibility to add custom includes in apache vhost config (zabbix_web) (ansible-collections#935)

* add custom includes for apache configuration

* remove length check

* change if statement in template

---------

Co-authored-by: JHauf <johannes.hauf@datev.cloud>

* Roles to Zabbix 6.4 (ansible-collections#937)

* Zabbix proxy configuration template updated for Zabbix 6.4.

* Zabbix server configuration template updated for Zabbix 6.4.

* zabbix_server role: adjusting defaults.

* zabbix_server role: fix zabbix_server_proxyconfigfrequency variable.

* Add 6.4 version to all roles and make it essentially default.

* zabbix_server role: restore accidentally deleted parameter.

* READMEs for role updated with Zabbix 6.4.

* Changelog fragment added.

* Fix molecule test for zabbix_web.

* 1.9.3prep (ansible-collections#938)

* Add missing changelog fragments.

* Fix changelog format.

* CHANGELOG.rst generated.

* galaxy.yml updated.

* README.md updated.

* Switch GitHub runner image to ubuntu-latest.

* Switch to Ubuntu 22.04 for web test.

* Switch to Ubuntu 20.04 for web test.

* Switch to Ubuntu 20.04 for all molecule tests.

* Fix sanity tests for Ansible dev.

* Do not ignore any failing sanity tests.

* zabbix_host: fix integration test to properly handle removing all linked templates.

* zabbix_action: re-name message paremeter into op_message.

* Changelog fragment added.

* Proxy update (ansible-collections#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Bgmot fix python interpreter (ansible-collections#900)

* zabbix_agent role: fix python_interpreter error.

* zabbix_proxy role: fix python_interpreter error.

* Code clean up.

* Remove code used to debugging.

* Cleanup 5.0 Removal

* Remove epel (ansible-collections#8)

* Updated Java Gateway

* Updated Server

* Updated Proxy

* Updated Web

* Removed Epel and Other related tasks

* Fixed EPEL leftover in Proxy

* Server update (ansible-collections#1)

* Initial Update to Server Role

* Update python version to 3.9

* Trying to get molecule to work

* Fixed python shell command problems

* Defined zabbix_os_user

* Fixed Rocky9 Idempotence Test

* Fixed Interpreter Values

* Think I fixed the username check.  Not sure why we changed the username in the first place

* Fixed Failed Test for file owner/group

* Fixed problems with Centos 9 Zabbix6.0

* Fixed Tests

* Fixed the config file problem that kept most instances from running

* Proxy update (ansible-collections#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Web (ansible-collections#6)

* Removed unnecessary files

* Fixed Valid Versions

* Fixed Server Name issue

* Fixing Molecule

* Cleaned up Documentation

* Fixed Prepare for Centos8

* Lots of changes for Debian

* Fixed Idempotency Issue

* Added curl to prepare

* Fixed Prepare for Centos 8+ and Ubuntu 2204

* Fixed Error with V6 Rocky 9

* Hopefully fixed all of the PgSQL stuff

* Think I fixed my pgsql problem

* Nginx Work

* Fixed Accidental Install from Epel

* Fixed Error With Centos 7

* Enabled all Server Tests

* Remove Support for 5.X from Web

* More 5.0 Removal Cleanup

* Think I fixed my RHEL Problem

---------

Co-authored-by: Evgeny <ey@bgmot.com>
Co-authored-by: Benjamin Pinchon <dev@mdfr.me>
Co-authored-by: brnl <3243133+brnl@users.noreply.github.com>
Co-authored-by: Bram Mol <bram.mol@cfit.nl>
Co-authored-by: Robert Szulist <szuro@users.noreply.github.com>
Co-authored-by: anmg <a.gangan@gmail.com>
Co-authored-by: johansenha <35975241+johansenha@users.noreply.github.com>
Co-authored-by: JHauf <johannes.hauf@datev.cloud>
pyrodie18 added a commit that referenced this issue May 3, 2023
* Server update (#1) (#895)

* Initial Update to Server Role

* Update python version to 3.9

* Trying to get molecule to work

* Fixed python shell command problems

* Defined zabbix_os_user

* Fixed Rocky9 Idempotence Test

* Fixed Interpreter Values

* Think I fixed the username check.  Not sure why we changed the username in the first place

* Fixed Failed Test for file owner/group

* Fixed problems with Centos 9 Zabbix6.0

* Fixed Tests

* Fixed the config file problem that kept most instances from running

* 2.0.0 dev2 (#904)

* Server update (#1) (#2)

* Initial Update to Server Role

* Update python version to 3.9

* Trying to get molecule to work

* Fixed python shell command problems

* Defined zabbix_os_user

* Fixed Rocky9 Idempotence Test

* Fixed Interpreter Values

* Think I fixed the username check.  Not sure why we changed the username in the first place

* Fixed Failed Test for file owner/group

* Fixed problems with Centos 9 Zabbix6.0

* Fixed Tests

* Fixed the config file problem that kept most instances from running

* Proxy update (#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Java gw (#4)

Refactor Java Gateway

* Web (#6)

* Removed unnecessary files

* Fixed Valid Versions

* Fixed Server Name issue

* Fixing Molecule

* Cleaned up Documentation

* Fixed Prepare for Centos8

* Lots of changes for Debian

* Fixed Idempotency Issue

* Added curl to prepare

* Fixed Prepare for Centos 8+ and Ubuntu 2204

* Fixed Error with V6 Rocky 9

* Hopefully fixed all of the PgSQL stuff

* Think I fixed my pgsql problem

* Nginx Work

* Fixed Accidental Install from Epel

* Fixed Error With Centos 7

* Enabled all Server Tests

* Remove Support for 5.X from Web

* More 5.0 Removal Cleanup

* Think I fixed my RHEL Problem

* Bgmot usergroup update (#893)

* zabbix_usergroup module: added hostgroup_rights and templategroup_rights (Zabbix >= 6.2).

* zabbix_usergroup module: added userdirectory parameter (Zabbix >= 6.2).

* Changelog fragment added.

* zabbix_usergroup: fix compatibility with Zabbix < 6.2.

* zabbix_agent - Fix MacOS/Darwin install (#897)

* zabbix_agent role - Add support for SUSE Linux Enterprise Server for SAP Applications ("SLES_SAP"). (#899)

* Add support for SLES_SAP

* Renamed to pr number

---------

Co-authored-by: Bram Mol <bram.mol@cfit.nl>

* Bgmot fix python interpreter (#900)

* zabbix_agent role: fix python_interpreter error.

* zabbix_proxy role: fix python_interpreter error.

* Code clean up.

* Remove code used to debugging.

* 1.9.2prep (#902)

* Remove warn: for module shell for Ansible 2.14. (#877)

* Bgmot python version (#890)

* Bump Python version to 3.9 to satisfy ansible 7.0.

* Bump ansible from 4.6.0 to 7.0.0 in /molecule.

* Bump ansible-core from 2.11.5 to 2.14.2 in /molecule.

* In new Ansible version need to specify Python interpreter explicitely for some (like Rocky linux) distros of Linux.

* Remove warn: for module command for Ansible 2.14 in molecule tests.

* Ansible does not set correct Python interpreter only for rockylinux.

* Deal with Python versions mess on different OS/versions.

* zabbix_agent - Fix MacOS/Darwin install (#897)

* Bgmot fix python interpreter (#900)

* zabbix_agent role: fix python_interpreter error.

* zabbix_proxy role: fix python_interpreter error.

* Code clean up.

* Remove code used to debugging.

* Missing changelog fragments added.

* CHANGELOG updated by antsibull-changelog.

* galaxy.yml updated with 1.9.2 version.

* README.md updated.

---------

Co-authored-by: Benjamin Pinchon <dev@mdfr.me>

* zabbix_user: several mailto: for email media type (#907)

* zabbix_user: fix ability to specify several e-mail addresses in media.

* Changelog fragment added.

* Switch to ansible core version of LooseVersion.

* Fix postgres tags (#910)

Use tags apropriate for role

* Bgmot fix netcommon (#915)

* Fix to work with ansible.netcommon 5.0.

* Remove unused variable.

* Changelog fragment added.

* Bgmot user mailto1 (#916)

* zabbix_user: fix ability to specify several e-mail addresses in media (attempt #2).

* Changelog fragment added.

* Zabbix 6.4 from BGmot (#927)

* The stupidiest fix for user vs username parameter during authentication.

* Modules integration tests: first get API version then do login accordingly.

* Do not use zabbix-api in zabbix_action module integration tests as zabbix-api is broken for Zabbix 6.4.

* Fix sanity test.

* zabbix_user_directory module updated to work with Zabbix 6.4.

* zabbix_user_directory: update examples for Zabbix 6.4.

* zabbix_authentication module updated to work with Zabbix 6.4.

* zabbix_authentication: re-do tests introducing clean up and adding tests for Zabbix 6.4.

* zabbix_discovery_rule module updated to work with Zabbix 6.4.

* zabbix_mediatype module updated to work with Zabbix 6.4.

* zabbix_user module updated to work with Zabbix 6.4.

* Make tests for zabbix_host compatible with Zabbix 6.4.

* Make tests for zabbix_template compatible with Zabbix 6.4.

* Make tests for zabbix_template_info compatible with Zabbix 6.4.

* zabbix_user_group module updated to work with Zabbix 6.4.

* Fix linter errors.

* zabbix_action module updated with new parameter in Zabbix 6.4.

* Add 6.4 to plugins-integration test suite.

* Changelog fragment added.

* zabbix_authentication: fix backward compatibility with Zabbix 6.2.

* zabbix_mediatype: fix backward compatibility with Zabbix 6.2.

* Update examples with task level vars (instead of PR #920) (#929)

* Update examples with task level vars

* Cleanup 5.0 Removal

* Remove epel (#8)

* Updated Java Gateway

* Updated Server

* Updated Proxy

* Updated Web

* Removed Epel and Other related tasks

* Fixed EPEL leftover in Proxy

* Server update (#1)

* Initial Update to Server Role

* Update python version to 3.9

* Trying to get molecule to work

* Fixed python shell command problems

* Defined zabbix_os_user

* Fixed Rocky9 Idempotence Test

* Fixed Interpreter Values

* Think I fixed the username check.  Not sure why we changed the username in the first place

* Fixed Failed Test for file owner/group

* Fixed problems with Centos 9 Zabbix6.0

* Fixed Tests

* Fixed the config file problem that kept most instances from running

* Proxy update (#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Web (#6)

* Removed unnecessary files

* Fixed Valid Versions

* Fixed Server Name issue

* Fixing Molecule

* Cleaned up Documentation

* Fixed Prepare for Centos8

* Lots of changes for Debian

* Fixed Idempotency Issue

* Added curl to prepare

* Fixed Prepare for Centos 8+ and Ubuntu 2204

* Fixed Error with V6 Rocky 9

* Hopefully fixed all of the PgSQL stuff

* Think I fixed my pgsql problem

* Nginx Work

* Fixed Accidental Install from Epel

* Fixed Error With Centos 7

* Enabled all Server Tests

* Remove Support for 5.X from Web

* More 5.0 Removal Cleanup

* Think I fixed my RHEL Problem

* Bgmot usergroup update (#893)

* zabbix_usergroup module: added hostgroup_rights and templategroup_rights (Zabbix >= 6.2).

* zabbix_usergroup module: added userdirectory parameter (Zabbix >= 6.2).

* Changelog fragment added.

* zabbix_usergroup: fix compatibility with Zabbix < 6.2.

* zabbix_user: several mailto: for email media type (#907)

* zabbix_user: fix ability to specify several e-mail addresses in media.

* Changelog fragment added.

* Switch to ansible core version of LooseVersion.

* Bgmot user mailto1 (#916)

* zabbix_user: fix ability to specify several e-mail addresses in media (attempt #2).

* Changelog fragment added.

* Zabbix 6.4 from BGmot (#927)

* The stupidiest fix for user vs username parameter during authentication.

* Modules integration tests: first get API version then do login accordingly.

* Do not use zabbix-api in zabbix_action module integration tests as zabbix-api is broken for Zabbix 6.4.

* Fix sanity test.

* zabbix_user_directory module updated to work with Zabbix 6.4.

* zabbix_user_directory: update examples for Zabbix 6.4.

* zabbix_authentication module updated to work with Zabbix 6.4.

* zabbix_authentication: re-do tests introducing clean up and adding tests for Zabbix 6.4.

* zabbix_discovery_rule module updated to work with Zabbix 6.4.

* zabbix_mediatype module updated to work with Zabbix 6.4.

* zabbix_user module updated to work with Zabbix 6.4.

* Make tests for zabbix_host compatible with Zabbix 6.4.

* Make tests for zabbix_template compatible with Zabbix 6.4.

* Make tests for zabbix_template_info compatible with Zabbix 6.4.

* zabbix_user_group module updated to work with Zabbix 6.4.

* Fix linter errors.

* zabbix_action module updated with new parameter in Zabbix 6.4.

* Add 6.4 to plugins-integration test suite.

* Changelog fragment added.

* zabbix_authentication: fix backward compatibility with Zabbix 6.2.

* zabbix_mediatype: fix backward compatibility with Zabbix 6.2.

* Update examples with task level vars (instead of PR #920) (#929)

* Update examples with task level vars

* Convert bool values to lowercase in modules documentation.x (#933)

* user to username Zabbix 6.4 (#917)

* The stupidiest fix for user vs username parameter during authentication.

* Modules integration tests: first get API version then do login accordingly.

* Do not use zabbix-api in zabbix_action module integration tests as zabbix-api is broken for Zabbix 6.4.

* Fix sanity test.

* Possibility to add custom includes in apache vhost config (zabbix_web) (#935)

* add custom includes for apache configuration

* remove length check

* change if statement in template

---------

Co-authored-by: JHauf <johannes.hauf@datev.cloud>

* Roles to Zabbix 6.4 (#937)

* Zabbix proxy configuration template updated for Zabbix 6.4.

* Zabbix server configuration template updated for Zabbix 6.4.

* zabbix_server role: adjusting defaults.

* zabbix_server role: fix zabbix_server_proxyconfigfrequency variable.

* Add 6.4 version to all roles and make it essentially default.

* zabbix_server role: restore accidentally deleted parameter.

* READMEs for role updated with Zabbix 6.4.

* Changelog fragment added.

* Fix molecule test for zabbix_web.

* 1.9.3prep (#938)

* Add missing changelog fragments.

* Fix changelog format.

* CHANGELOG.rst generated.

* galaxy.yml updated.

* README.md updated.

* Switch GitHub runner image to ubuntu-latest.

* Switch to Ubuntu 22.04 for web test.

* Switch to Ubuntu 20.04 for web test.

* Switch to Ubuntu 20.04 for all molecule tests.

* Fix sanity tests for Ansible dev.

* Do not ignore any failing sanity tests.

* zabbix_host: fix integration test to properly handle removing all linked templates.

* zabbix_action: re-name message paremeter into op_message.

* Changelog fragment added.

* Proxy update (#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Bgmot fix python interpreter (#900)

* zabbix_agent role: fix python_interpreter error.

* zabbix_proxy role: fix python_interpreter error.

* Code clean up.

* Remove code used to debugging.

* Cleanup 5.0 Removal

* Remove epel (#8)

* Updated Java Gateway

* Updated Server

* Updated Proxy

* Updated Web

* Removed Epel and Other related tasks

* Fixed EPEL leftover in Proxy

* Server update (#1)

* Initial Update to Server Role

* Update python version to 3.9

* Trying to get molecule to work

* Fixed python shell command problems

* Defined zabbix_os_user

* Fixed Rocky9 Idempotence Test

* Fixed Interpreter Values

* Think I fixed the username check.  Not sure why we changed the username in the first place

* Fixed Failed Test for file owner/group

* Fixed problems with Centos 9 Zabbix6.0

* Fixed Tests

* Fixed the config file problem that kept most instances from running

* Proxy update (#3)

* Standardizing database file path
* Fixed SQL file location
* Fixed Proxy Prepare file to handle mariadb install on RHEL9
* Added supported versions of proxy that were left out for some reason
* Fixed testing
* Consolidated SElinux items
* Fixed SQLite

* Web (#6)

* Removed unnecessary files

* Fixed Valid Versions

* Fixed Server Name issue

* Fixing Molecule

* Cleaned up Documentation

* Fixed Prepare for Centos8

* Lots of changes for Debian

* Fixed Idempotency Issue

* Added curl to prepare

* Fixed Prepare for Centos 8+ and Ubuntu 2204

* Fixed Error with V6 Rocky 9

* Hopefully fixed all of the PgSQL stuff

* Think I fixed my pgsql problem

* Nginx Work

* Fixed Accidental Install from Epel

* Fixed Error With Centos 7

* Enabled all Server Tests

* Remove Support for 5.X from Web

* More 5.0 Removal Cleanup

* Think I fixed my RHEL Problem

---------

Co-authored-by: Evgeny <ey@bgmot.com>
Co-authored-by: Benjamin Pinchon <dev@mdfr.me>
Co-authored-by: brnl <3243133+brnl@users.noreply.github.com>
Co-authored-by: Bram Mol <bram.mol@cfit.nl>
Co-authored-by: Robert Szulist <szuro@users.noreply.github.com>
Co-authored-by: anmg <a.gangan@gmail.com>
Co-authored-by: johansenha <35975241+johansenha@users.noreply.github.com>
Co-authored-by: JHauf <johannes.hauf@datev.cloud>

* Server fix (#943)

* Added 6.4 to the testing matrix

* Proxy fix (#944)

* Fixed some proxy issues from the rebase

* fixed missing DB path

* Removed breaking change from epel

* Other fixes (#945)

* Updated Testing Matrix on Web and javagw

* Fixed undefined variable in web

* Agent Update (#948)

* Get rid of vars and tasks files for unsported versions

* removed fedora and debian 9 from testing pipeline

* removed version check test (see #947)

* Updated Testing Matrix

* Documentation (#954)

- Updated documentation for all roles
- Standardized naming conventions of variables
- Removed unused variables

* Fix all the errors after re-basing against main.

* modules 2.0.0 (#963)

* zabbix-api removed.

* zabbix_inventory: do not use zabbix-api, ability to authenticate with auth token.

* Clean up modules tests.

* Remove unsupported versions of Zabbix from modules test matrix.

* Fix sanity test errors.

* Changelog fragment added.

* Tag cleanup (#964)

* Standardized tags on all roles

* Updated Documentation

* Removed old apt keys from vars files (#965)

* Fix default version (#966)

* Updated Default Versions to 6.4

* Created Change Fragment (#967)

* Replaced deprecated apt_key (#969)

* replaced deprecated apt_key

---------

Co-authored-by: Hernan Garcia <hernan.garcia@percona.com>

* CI: don't hardcode the workspace (#971)

* Correct minimum ansible version (#974)

* Bgmot modules old versions 200 (#976)

* zabbix_action module cleaned up of old Zabbix versions.

* zabbix_authentication module cleaned up of old Zabbix versions.

* zabbix_autoregister module cleaned up of old Zabbix versions.

* zabbix_discovery_rule module cleaned up of old Zabbix versions.

* zabbix_globalmacro module cleaned up of old Zabbix versions.

* zabbix_group_info module: update python version requirement. Remove zabbix_group_facts module (deprecated in favour of zabbix_group_info).

* zabbix_group_info module: code clean up.

* zabbix_host_events_info module: code clean up.

* zabbix_host_info module cleaned up of old Zabbix versions. zabbix_host_facts deprecated in favour of zabbix_host_info.

* zabbix_hostmacro module cleaned up of old Zabbix versions.

* zabbix_host module cleaned up of old Zabbix versions.

* zabbix_housekeeping module cleaned up of old Zabbix versions.

* zabbix_housekeeping module tests cleaned up of old Zabbix versions.

* zabbix_maintenance module cleaned up of old Zabbix versions.

* zabbix_maintenance module: use only double quotes.

* zabbix_map module cleaned up of old Zabbix versions.

* zabbix_mediatype module cleaned up of old Zabbix versions.

* zabbix_proxy_info module: use only double quotes.

* zabbix_proxy module cleaned up of old Zabbix versions.

* zabbix_screen module removed.

* zabbix_script module cleaned up of old Zabbix versions.

* zabbix_service module cleaned up of old Zabbix versions.

* zabbix_template_info module cleaned up of old Zabbix versions.

* zabbix_template module cleaned up of old Zabbix versions.

* zabbix_user_directory module: switch to double quotes everywhere.

* zabbix_usergroup module cleaned up of old Zabbix versions and switched to double quotes in code.

* zabbix_user_info module cleaned up of old Zabbix versions.

* zabbix_user module cleaned up of old Zabbix versions.

* zabbix_user_role module: switch to double quotes everywhere.

* zabbix_valuemap module: switch to double quotes everywhere.

* Fix sanity checks.

* Fix zabbix_host module tests.

* Fix zabbix_template_info module tests.

* Move changelog fragment into right place.

* Changelog fragment added.

* Rename changelog fragment file to reflect PR number.

* Correct minimum dependency for ansible.netcommon (#952)

Connection plugin options are broken in versions before 3.1.1.

---------

Co-authored-by: flowerysong <junk+github@flowerysong.com>

* More code clean up (#977)

* zabbix_agent role cleaned up.

* zabbix_agent role: more clean up and README updated.

* zabbix_proxy role cleaned up.

* Remove unneeded any longer require_creds_params function from all modules.

* zabbix_agent role: update documentation.

* More code clean up.

* zabbix.py inventory script re-coded not to use zabbix-api.

* scripts/inventory/zabbix.py: fix saity test error.

* Fix typo in changelog fragment.

* Missing changelog fragment added.

* Missing changelog fragment added.

* Moved "installation from epel" from major_changes to breaking_changes in changelog fragment.

* Antsibull-changelog run.

* galaxy.yml updated with 2.0.0.

---------

Co-authored-by: Troy W <pyrodie18@gmail.com>
Co-authored-by: Benjamin Pinchon <dev@mdfr.me>
Co-authored-by: brnl <3243133+brnl@users.noreply.github.com>
Co-authored-by: Bram Mol <bram.mol@cfit.nl>
Co-authored-by: Robert Szulist <szuro@users.noreply.github.com>
Co-authored-by: anmg <a.gangan@gmail.com>
Co-authored-by: johansenha <35975241+johansenha@users.noreply.github.com>
Co-authored-by: JHauf <johannes.hauf@datev.cloud>
Co-authored-by: Hernan Garcia <hernandanielg@gmail.com>
Co-authored-by: Hernan Garcia <hernan.garcia@percona.com>
Co-authored-by: flowerysong <junk+github@flowerysong.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants