28 Commits

Author SHA1 Message Date
Mike Graves
c2f1d722dc Update ldap image in tests (#274)
* Update ldap image in tests

The bitnami openldap image we had been using is no longer being support
by them. It has been moved over to a bitnamilegacy namespace, but it's
not clear how long that will remain. We should find a better solution at
some point.

* Update versions in Dockerfile

The dockerfile was built around python3.9 which forced the use of
ansible 2.15. This updates the base image to ubi10 which uses python3.12
by default. The version of the oc/kubectl client package was updated to
4.20 as well.

* Try and make it work

* Remove backslash

* debug

* try and force 3.12

* use ubi9

* debug

* try adding packaging

* debug

* Lots of changes

* Add check for none

* Fix python version
2026-03-23 14:01:08 +00:00
Mike Graves
93746f2392 Remove openshift inventory plugin (#252)
* Remove openshift inventory plugin

This removes the openshift inventory plugin which has been deprecated
since version 3.0.0. The tests have been updated to retain coverage of
the connection plugin, which is still supported.

* Update version in Makefile

* CI fixes

* Update version info in build scripts

* Set ansible remote directory

The security policy on the pod is preventing ansible from writing to /.
Set it to /tmp which should be writable.
2025-05-05 15:55:22 +00:00
Mike Graves
a3c3a69bbf Update tests for newer version of openshift (#254)
* Update tests for newer version of openshift

More recent versions of ocp no longer automatically create tokens for
service accounts. This updates the tests to manually create the tokens.

* Update nginx template version

The old image was EOL and the deployment was failing to deploy.

* Fix nginx version for all tasks

* Add missing var
2025-05-02 08:30:38 +00:00
Bikouo Aubin
b5b2f67015 fix integration unsafe asserts (#212) 2023-12-11 17:57:20 +01:00
Bikouo Aubin
a63e5b7b36 Update CI - Continue work from #195 (#202)
* Upgrade Ansible and OKD versions for CI

* Use ubi9 and fix sanity

* Use correct pip install

* Try using quotes

* Ensure python3.9

* Upgrade ansible and molecule versions

* Remove DeploymentConfig

DeploymentConfigs are deprecated and seem to now be causing idempotence
problems. Replacing them with Deployments fixes it.

* Attempt to fix ldap integration tests

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Move sanity and unit tests to GH actions

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Firt round of sanity fixes

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Add kubernetes.core collection as sanity requirement

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Add ignore-2.16.txt

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Attempt to fix units

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Add ignore-2.17

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Attempt to fix unit tests

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Add pytest-ansible to test-requirements.txt

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Add changelog fragment

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Add workflow for ansible-lint

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Apply black

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Fix linters

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Add # fmt: skip

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Yet another round of linting

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Yet another round of linting

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Remove setup.cfg

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Revert #fmt

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Use ansible-core 2.14

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Cleanup ansible-lint ignores

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>

* Try using service instead of pod IP

* Fix typo

* Actually use the correct port

* See if NetworkPolicy is preventing connection

* using Pod internal IP

* fix adm prune auth roles syntax

* adding some retry steps

* fix: openshift_builds target

* add flag --force-with-deps when building downstream collection

* Remove yamllint from tox linters, bump minimum python supported version to 3.9, Remove support for ansible-core < 2.14

---------

Signed-off-by: Alina Buzachis <abuzachis@redhat.com>
Co-authored-by: Mike Graves <mgraves@redhat.com>
Co-authored-by: Alina Buzachis <abuzachis@redhat.com>
2023-11-15 17:00:38 +00:00
Bikouo Aubin
f94eabffa1 update collection with latest feature from kubernetes.core (#181)
* Rebase code with kubernetes.core stable-2.4
2023-02-03 07:57:24 +01:00
Bikouo Aubin
5aa63e1b07 openshift_auth - fix discard token (#178)
* openshift_auth: when revoking token, compute the right name of the openshift resource to delete from token name

* conditional check to revoke token
2023-01-12 10:53:42 -05:00
Bikouo Aubin
ed9fb196f9 Openshift Build modules (#134)
* Openshift Build modules: Start, Prune

* add openshift adm prune builds to ansible-test

* fix sanity for downstream

* sanity ignore

* Remove 2.6 sanity ignores for ansible 2.13 and 2.14

* update code review

* update 2 - code review
2022-08-12 13:56:19 +00:00
Mike Graves
5545c0f9ae Initialize OpenshiftGroupsSync attributes early (#165)
* Initialize OpenshiftGroupsSync attributes early

The fail_json() method calls close_connection(), but this can fail when
the python-ldap library is not installed as close_connection() gets
called before the __ldap_connection attribute has been defined.

* Use already defined virtualenv_command

* Fix tests

* Add changelog fragment
2022-05-12 21:13:59 +00:00
Mike Graves
ab83a185f5 Fix integration tests for k8s 2.3 (#159)
* Fix integration tests for k8s 2.3

Previous to
https://github.com/ansible-collections/kubernetes.core/pull/408 an
attempt to list resources for which the user was not authorized resulted
in an unhandled exception. The task now does not fail, but instead
reports the error message.

* try to fix sanity

* Fix tests

* fix tests

* fix tests

* Revert change to downstream build
2022-05-05 14:11:35 -04:00
abikouo
fc4a979762 openshift adm prune images (#133) 2022-01-24 09:46:23 -05:00
abikouo
0a1a647e37 openshift adm group sync/prune (#125) 2022-01-20 11:23:30 -05:00
abikouo
39cb9a0981 openshift admin prune deployments (#129)
* openshift admin prune deployments

* update test

* update
2021-11-30 16:39:37 +01:00
abikouo
496cdba4e8 openshift admin prune auth (#130)
* openshift admin prune auth

* update change scope
2021-11-30 14:16:22 +01:00
Gonéri Le Bouder
7bb52051da molecule: gives more time to openshift_route (#113)
My set-up is pretty slow and adding a bit of retries help to pass
the test reliably.
2021-09-21 13:05:26 -04:00
abikouo
faba4a0812 openshift_route - add support for annotations (#99)
* add support for annotations
2021-07-29 14:36:52 +02:00
Mike Graves
f60ded17b0 Update to work with k8s 2.0 (#93)
* Update to work with k8s 2.0

This makes the necessary changes to get the collection working with
kubernetes.core 2.0. The biggest changes here will be switching from the
openshift client to the kubernetes client, and dropping Python 2
support.

* Install kubernetes not openshift

* Add changelog fragment
2021-06-21 14:41:56 -04:00
abikouo
4609c20a91 openshift_process fails with template does not contains message (#87)
* fix unexpected value

* changelog

* Update pod-template.yaml

* Update openshift_process.py

* Update openshift_process.py

* Update molecule/default/tasks/openshift_process.yml

Co-authored-by: Fabian von Feilitzsch <fabian@fabianism.us>

* Update pod-template.yaml

Co-authored-by: Fabian von Feilitzsch <fabian@fabianism.us>
2021-05-26 10:48:47 -04:00
abikouo
63deaeecf0 remove hardcoded host value for molecule test openshift_auth (#90) 2021-05-26 10:42:41 -04:00
Mike Graves
d696fcaa06 Clean up CI build (#89)
* Clean up CI build

There were a few problems with the existing build process, such as, the
python version not being passed during sanity tests and versions being
hard coded elsewhere. This change ensures that each test scenario gets
the correct parameters passed through. It also generally cleans up the
process for building the test environment to let ansible-galaxy do its
thing. This will make sure the correct version of dependencies get
installed.

* Add changelog fragment
2021-05-26 09:49:10 -04:00
Jeff Geerling
87cd174b96 Issue #57: Switch dependency from community.kubernetes to kubernetes.core. (#58)
* Issue #57: Switch dependency from community.kubernetes to kubernetes.core.

* Issue #57: Rely on kubernetes.core install directly.

* Issue #57: Don't install kubernetes.core from source anymore.
2020-11-16 13:35:18 -06:00
Fabian von Feilitzsch
74ac82e76d Add openshift_process module (#44)
* Initial pass at openshift_process module. Render-only

* fix sanity test

* Add ability to create/delete resources rendered by template

* fix sanity tests

* add more tests and fix .env parser

* Add more tests

* Make multiline parsing work properly

* Add test for creating templates

* Template APIs require namespace to be provided whether or not the template exists

* add docs

* Update plugins/modules/openshift_process.py

Co-authored-by: Timothy Appnel <tima@ansible.com>

Co-authored-by: Timothy Appnel <tima@ansible.com>
2020-10-12 13:36:39 -04:00
Fabian von Feilitzsch
e7c3351309 Add openshift_route module for route creation (#40)
* first draft of interface

* Add basic implementation

* Add validation

* rename to openshift_route and add some test tasks

* Fix sanity checks

* Add checks for missing dependencies

* Add port processing like the oc command

* Add real tests

* Fix waiting

* add some more waiting to test

* add state parameters and fix RETURN docs

* try to fix odd sanity issue

* import tests passing

* Fix all sanity tests

* Do less work when state is absent, and add explicit removal values

* insecure_policy disable -> disallow

* add proper default for insecure_policy
2020-10-05 21:03:03 +02:00
Fabian von Feilitzsch
037f8b1f4f Move k8s_auth library from community.kubernetes to openshift_auth (#33)
* Add openshift_auth module

* add task to print out config

* Attempt to configure auth

* Update molecule/default/tasks/openshift_auth.yml

* fix sanity test and use incluster address for now

* Get integration tests passing locally

* Give test user cluster-level admin permissions

* Use a less verbose resource for testing

* Add alias to k8s_auth for backwards compatibility
2020-09-21 18:15:53 -04:00
Fabian von Feilitzsch
f52d63c83f Don't update image field when we can't manage it (#29)
* If deploymentconfigs are configured to trigger on image stream updates don't try to replace image field

* First pass at parsing the trigger annotation

* First draft of IS idempotence tests

* Found even more not idempotent stuff

* Separate handling of annotation and dc spec

* handle malformed annotations

* refactor incluster integration test to catch last flake

* Add proper DNS01 regex for container names

* fix broken conditional for trigger annotations

* Handle namespace field that is added to trigger

* deduplicate shared code

* Set namespace in incluster script

* Give high permissions to test pod

* Still working on permissions issues in prow

* Fix inventory test

* add namespace to watch

* run in default namespace

* fix recursive call

* Fix ansible collection path for downstream test

* Clone the proper ansible collection
2020-09-17 13:21:00 -04:00
Fabian von Feilitzsch
5a1396e54e Add openshift connection plugin, update inventory plugin to use it (#18) 2020-08-28 14:18:25 -04:00
Fabian von Feilitzsch
1b08450b19 Add tests for inventory plugin (#16) 2020-08-26 15:01:10 -04:00
Fabian von Feilitzsch
ee21083985 Add Molecule tests (#7)
* Initial port to molecule

* Get molecule tests to run

* Draw the rest of the owl

* use local dir for storing collection during CI run

* Add dockerfile, install community.kubernetes collection before sanity check

* Add clean step to Makefile

* Get sanity tests working

* Update sanity test to use makefile

* Add ignores for 2.11 so devel passes

* Update description

* Code review

* Add OWNERS file for prow
2020-08-17 15:41:37 -04:00