Compare commits

6 Commits
2.3.2 ... 2.2.1

Author SHA1 Message Date
Mike Graves
f2d899b939 Release 2.2.1 (#267)
Release 2.2.1

Release 2.2.1

Reviewed-by: Gonéri Le Bouder <goneri@lebouder.net>
Reviewed-by: None <None>
2021-10-19 14:10:21 +00:00
Mike Graves
bc391218a4 common/_wait_for: ensure label_selectors is optional (#239) (#256)
[backport/2.2] common/_wait_for: ensure label_selectors is optional (#239)

Depends-On: ansible/ansible-zuul-jobs#1170
Depends-On: ansible/ansible-zuul-jobs#1169
Depends-On: ansible/ansible-zuul-jobs#1171
common/_wait_for: ensure label_selectors is optional
The label_selectors is a new parameter for _wait_for that was
introduced in #158.
The value is new and it can be set to None to make it optional. It should
not be mandatory a non optional parameter.
Reviewed-by: None 
Reviewed-by: Alina Buzachis 
Reviewed-by: None 
(cherry picked from commit 938f7e1)

Reviewed-by: None <None>
Reviewed-by: Gonéri Le Bouder <goneri@lebouder.net>
Reviewed-by: None <None>
2021-10-15 18:29:21 +00:00
Mike Graves
83b3a1aa39 Use yaml.safe_load in unit tests (#265) (#266)
[backport/2.2] Use yaml.safe_load in unit tests (#265)

Use yaml.safe_load in unit tests
SUMMARY
The function signature in pyyaml 6 for yaml.load changed. Using
safe_load fixes this.
ISSUE TYPE
Bugfix Pull Request
COMPONENT NAME
ADDITIONAL INFORMATION
Reviewed-by: Jill R 
Reviewed-by: None 
Reviewed-by: Gonéri Le Bouder goneri@lebouder.net
(cherry picked from commit 281ff56)

Reviewed-by: None <None>
Reviewed-by: None <None>
2021-10-15 13:02:29 +00:00
Mike Graves
aa41055503 Fix sanity test - devel drops support for python 2.6 (#251) (#258)
Fix sanity test - devel drops support for python 2.6

SUMMARY

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

ADDITIONAL INFORMATION

Reviewed-by: None <None>
(cherry picked from commit 8436ad1341)

Co-authored-by: abikouo <79859644+abikouo@users.noreply.github.com>
2021-10-14 10:11:05 -04:00
Mike Graves
256fa58ca8 Remove molecule dependencies (#261) (#263)
Remove molecule dependencies

SUMMARY

Depends-on: ansible-collections/cloud.common#92
Molecule is overwriting the cloud.common dependency installed by zuul,
which is causing issues with the CI job for turbo mode. We still need to
find a way to test against the latest released version of cloud.common.

ISSUE TYPE

Bugfix Pull Request

COMPONENT NAME

ADDITIONAL INFORMATION

Reviewed-by: Gonéri Le Bouder <goneri@lebouder.net>
Reviewed-by: None <None>
(cherry picked from commit ff43353de6)
2021-10-14 08:39:16 -04:00
Mike Graves
70db517265 Copy ignore-2.12.txt to ignore-2.13.txt (#247) (#257)
Copy ignore-2.12.txt to ignore-2.13.txt

SUMMARY
Relates to ansible-collections/overview#45 (comment)

Reviewed-by: Alina Buzachis <None>
Reviewed-by: None <None>
(cherry picked from commit 45ba8b1a0d)

Co-authored-by: Andrew Klychkov <aklychko@redhat.com>
2021-10-08 14:09:11 -04:00
11 changed files with 222 additions and 13 deletions

View File

@@ -5,6 +5,14 @@ Kubernetes Collection Release Notes
.. contents:: Topics .. contents:: Topics
v2.2.1
======
Bugfixes
--------
- common - Ensure the label_selectors parameter of _wait_for method is optional.
v2.2.0 v2.2.0
====== ======

View File

@@ -1,5 +1,5 @@
# Also needs to be updated in galaxy.yml # Also needs to be updated in galaxy.yml
VERSION = 2.2.0 VERSION = 2.2.1
TEST_ARGS ?= "" TEST_ARGS ?= ""
PYTHON_VERSION ?= `python -c 'import platform; print(".".join(platform.python_version_tuple()[0:2]))'` PYTHON_VERSION ?= `python -c 'import platform; print(".".join(platform.python_version_tuple()[0:2]))'`

View File

@@ -85,7 +85,7 @@ You can also include it in a `requirements.yml` file and install it via `ansible
--- ---
collections: collections:
- name: kubernetes.core - name: kubernetes.core
version: 2.2.0 version: 2.2.1
``` ```
### Installing the Kubernetes Python Library ### Installing the Kubernetes Python Library

View File

@@ -486,3 +486,11 @@ releases:
name: kustomize name: kustomize
namespace: null namespace: null
release_date: '2021-09-15' release_date: '2021-09-15'
2.2.1:
changes:
bugfixes:
- common - Ensure the label_selectors parameter of _wait_for method is optional.
fragments:
- 0-copy_ignore_txt.yml
- _wait_for_label_selector_optional.yaml
release_date: '2021-10-18'

View File

@@ -25,7 +25,7 @@ tags:
- openshift - openshift
- okd - okd
- cluster - cluster
version: 2.2.0 version: 2.2.1
build_ignore: build_ignore:
- .DS_Store - .DS_Store
- '*.tar.gz' - '*.tar.gz'

View File

@@ -33,7 +33,3 @@ scenario:
- prepare - prepare
- converge - converge
- verify - verify
dependency:
name: galaxy
options:
requirements-file: requirements.yml

View File

@@ -11,6 +11,17 @@
kind: Namespace kind: Namespace
name: '{{ drain_namespace }}' name: '{{ drain_namespace }}'
# It seems that the default ServiceAccount can take a bit to be created
# right after a cluster is brought up. This can lead to the ServiceAccount
# admission controller rejecting a Pod creation request because the
# ServiceAccount does not yet exist.
- name: Wait for default serviceaccount to be created
k8s_info:
kind: ServiceAccount
name: default
namespace: "{{ drain_namespace }}"
wait: yes
- name: list cluster nodes - name: list cluster nodes
k8s_info: k8s_info:
kind: node kind: node

View File

@@ -365,7 +365,7 @@ class K8sAnsibleMixin(object):
def fail(self, msg=None): def fail(self, msg=None):
self.fail_json(msg=msg) self.fail_json(msg=msg)
def _wait_for(self, resource, name, namespace, predicate, sleep, timeout, state, label_selectors): def _wait_for(self, resource, name, namespace, predicate, sleep, timeout, state, label_selectors=None):
start = datetime.now() start = datetime.now()
def _wait_for_elapsed(): def _wait_for_elapsed():

View File

@@ -1,3 +0,0 @@
collections:
- name: cloud.common
version: ">=2.0.4"

View File

@@ -0,0 +1,189 @@
molecule/default/files/deployment.yaml yamllint!skip
molecule/default/roles/helm/files/appversionless-chart-v2/templates/configmap.yaml yamllint!skip
molecule/default/roles/helm/files/appversionless-chart/templates/configmap.yaml yamllint!skip
molecule/default/roles/helm/files/test-chart-v2/templates/configmap.yaml yamllint!skip
molecule/default/roles/helm/files/test-chart/templates/configmap.yaml yamllint!skip
plugins/module_utils/__init__.py compile-2.7!skip
plugins/module_utils/__init__.py compile-3.5!skip
plugins/module_utils/__init__.py future-import-boilerplate!skip
plugins/module_utils/__init__.py import-2.7!skip
plugins/module_utils/__init__.py import-3.5!skip
plugins/module_utils/__init__.py metaclass-boilerplate!skip
plugins/module_utils/ansiblemodule.py compile-2.7!skip
plugins/module_utils/ansiblemodule.py compile-3.5!skip
plugins/module_utils/ansiblemodule.py future-import-boilerplate!skip
plugins/module_utils/ansiblemodule.py import-2.7!skip
plugins/module_utils/ansiblemodule.py import-3.5!skip
plugins/module_utils/ansiblemodule.py metaclass-boilerplate!skip
plugins/module_utils/apply.py compile-2.7!skip
plugins/module_utils/apply.py compile-3.5!skip
plugins/module_utils/apply.py future-import-boilerplate!skip
plugins/module_utils/apply.py import-2.7!skip
plugins/module_utils/apply.py import-3.5!skip
plugins/module_utils/apply.py metaclass-boilerplate!skip
plugins/module_utils/args_common.py compile-2.7!skip
plugins/module_utils/args_common.py compile-3.5!skip
plugins/module_utils/args_common.py future-import-boilerplate!skip
plugins/module_utils/args_common.py import-2.7!skip
plugins/module_utils/args_common.py import-3.5!skip
plugins/module_utils/args_common.py metaclass-boilerplate!skip
plugins/module_utils/client/discovery.py future-import-boilerplate!skip
plugins/module_utils/client/discovery.py import-2.7!skip
plugins/module_utils/client/discovery.py import-3.5!skip
plugins/module_utils/client/discovery.py import-3.6!skip
plugins/module_utils/client/discovery.py import-3.7!skip
plugins/module_utils/client/discovery.py import-3.8!skip
plugins/module_utils/client/discovery.py import-3.9!skip
plugins/module_utils/client/discovery.py import-3.10!skip
plugins/module_utils/client/discovery.py metaclass-boilerplate!skip
molecule/default/roles/k8scopy/library/kubectl_file_compare.py shebang
molecule/default/roles/k8scopy/library/k8s_create_file.py shebang
plugins/module_utils/client/resource.py import-2.7!skip
plugins/module_utils/client/resource.py import-3.5!skip
plugins/module_utils/client/resource.py import-3.6!skip
plugins/module_utils/client/resource.py import-3.7!skip
plugins/module_utils/client/resource.py import-3.8!skip
plugins/module_utils/client/resource.py import-3.9!skip
plugins/module_utils/client/resource.py import-3.10!skip
plugins/module_utils/common.py compile-2.7!skip
plugins/module_utils/common.py compile-3.5!skip
plugins/module_utils/common.py future-import-boilerplate!skip
plugins/module_utils/common.py import-2.7!skip
plugins/module_utils/common.py import-3.5!skip
plugins/module_utils/common.py metaclass-boilerplate!skip
plugins/module_utils/exceptions.py compile-2.7!skip
plugins/module_utils/exceptions.py compile-3.5!skip
plugins/module_utils/exceptions.py future-import-boilerplate!skip
plugins/module_utils/exceptions.py import-2.7!skip
plugins/module_utils/exceptions.py import-3.5!skip
plugins/module_utils/exceptions.py metaclass-boilerplate!skip
plugins/module_utils/hashes.py compile-2.7!skip
plugins/module_utils/hashes.py compile-3.5!skip
plugins/module_utils/hashes.py future-import-boilerplate!skip
plugins/module_utils/hashes.py import-2.7!skip
plugins/module_utils/hashes.py import-3.5!skip
plugins/module_utils/hashes.py metaclass-boilerplate!skip
plugins/module_utils/helm.py compile-2.7!skip
plugins/module_utils/helm.py compile-3.5!skip
plugins/module_utils/helm.py future-import-boilerplate!skip
plugins/module_utils/helm.py import-2.7!skip
plugins/module_utils/helm.py import-3.5!skip
plugins/module_utils/helm.py metaclass-boilerplate!skip
plugins/module_utils/k8sdynamicclient.py compile-2.7!skip
plugins/module_utils/k8sdynamicclient.py compile-3.5!skip
plugins/module_utils/k8sdynamicclient.py future-import-boilerplate!skip
plugins/module_utils/k8sdynamicclient.py import-2.7!skip
plugins/module_utils/k8sdynamicclient.py import-3.5!skip
plugins/module_utils/k8sdynamicclient.py import-3.6!skip
plugins/module_utils/k8sdynamicclient.py import-3.7!skip
plugins/module_utils/k8sdynamicclient.py import-3.8!skip
plugins/module_utils/k8sdynamicclient.py import-3.9!skip
plugins/module_utils/k8sdynamicclient.py import-3.10!skip
plugins/module_utils/k8sdynamicclient.py metaclass-boilerplate!skip
plugins/modules/__init__.py compile-2.7!skip
plugins/modules/__init__.py compile-3.5!skip
plugins/modules/__init__.py future-import-boilerplate!skip
plugins/modules/__init__.py import-2.7!skip
plugins/modules/__init__.py import-3.5!skip
plugins/modules/__init__.py metaclass-boilerplate!skip
plugins/modules/helm.py compile-2.7!skip
plugins/modules/helm.py compile-3.5!skip
plugins/modules/helm.py future-import-boilerplate!skip
plugins/modules/helm.py import-2.7!skip
plugins/modules/helm.py import-3.5!skip
plugins/modules/helm.py metaclass-boilerplate!skip
plugins/modules/helm_info.py compile-2.7!skip
plugins/modules/helm_info.py compile-3.5!skip
plugins/modules/helm_info.py future-import-boilerplate!skip
plugins/modules/helm_info.py import-2.7!skip
plugins/modules/helm_info.py import-3.5!skip
plugins/modules/helm_info.py metaclass-boilerplate!skip
plugins/modules/helm_plugin.py compile-2.7!skip
plugins/modules/helm_plugin.py compile-3.5!skip
plugins/modules/helm_plugin.py future-import-boilerplate!skip
plugins/modules/helm_plugin.py import-2.7!skip
plugins/modules/helm_plugin.py import-3.5!skip
plugins/modules/helm_plugin.py metaclass-boilerplate!skip
plugins/modules/helm_plugin_info.py compile-2.7!skip
plugins/modules/helm_plugin_info.py compile-3.5!skip
plugins/modules/helm_plugin_info.py future-import-boilerplate!skip
plugins/modules/helm_plugin_info.py import-2.7!skip
plugins/modules/helm_plugin_info.py import-3.5!skip
plugins/modules/helm_plugin_info.py metaclass-boilerplate!skip
plugins/modules/helm_repository.py compile-2.7!skip
plugins/modules/helm_repository.py compile-3.5!skip
plugins/modules/helm_repository.py future-import-boilerplate!skip
plugins/modules/helm_repository.py import-2.7!skip
plugins/modules/helm_repository.py import-3.5!skip
plugins/modules/helm_repository.py metaclass-boilerplate!skip
plugins/modules/helm_template.py compile-2.7!skip
plugins/modules/helm_template.py compile-3.5!skip
plugins/modules/helm_template.py future-import-boilerplate!skip
plugins/modules/helm_template.py import-2.7!skip
plugins/modules/helm_template.py import-3.5!skip
plugins/modules/helm_template.py metaclass-boilerplate!skip
plugins/modules/k8s.py compile-2.7!skip
plugins/modules/k8s.py compile-3.5!skip
plugins/modules/k8s.py future-import-boilerplate!skip
plugins/modules/k8s.py import-2.7!skip
plugins/modules/k8s.py import-3.5!skip
plugins/modules/k8s.py metaclass-boilerplate!skip
plugins/modules/k8s.py validate-modules:parameter-type-not-in-doc
plugins/modules/k8s.py validate-modules:return-syntax-error
plugins/modules/k8s_cluster_info.py compile-2.7!skip
plugins/modules/k8s_cluster_info.py compile-3.5!skip
plugins/modules/k8s_cluster_info.py future-import-boilerplate!skip
plugins/modules/k8s_cluster_info.py import-2.7!skip
plugins/modules/k8s_cluster_info.py import-3.5!skip
plugins/modules/k8s_cluster_info.py metaclass-boilerplate!skip
plugins/modules/k8s_exec.py compile-2.7!skip
plugins/modules/k8s_exec.py compile-3.5!skip
plugins/modules/k8s_exec.py future-import-boilerplate!skip
plugins/modules/k8s_exec.py import-2.7!skip
plugins/modules/k8s_exec.py import-3.5!skip
plugins/modules/k8s_exec.py metaclass-boilerplate!skip
plugins/modules/k8s_info.py compile-2.7!skip
plugins/modules/k8s_info.py compile-3.5!skip
plugins/modules/k8s_info.py future-import-boilerplate!skip
plugins/modules/k8s_info.py import-2.7!skip
plugins/modules/k8s_info.py import-3.5!skip
plugins/modules/k8s_info.py metaclass-boilerplate!skip
plugins/modules/k8s_json_patch.py compile-2.7!skip
plugins/modules/k8s_json_patch.py compile-3.5!skip
plugins/modules/k8s_json_patch.py future-import-boilerplate!skip
plugins/modules/k8s_json_patch.py import-2.7!skip
plugins/modules/k8s_json_patch.py import-3.5!skip
plugins/modules/k8s_json_patch.py metaclass-boilerplate!skip
plugins/modules/k8s_log.py compile-2.7!skip
plugins/modules/k8s_log.py compile-3.5!skip
plugins/modules/k8s_log.py future-import-boilerplate!skip
plugins/modules/k8s_log.py import-2.7!skip
plugins/modules/k8s_log.py import-3.5!skip
plugins/modules/k8s_log.py metaclass-boilerplate!skip
plugins/modules/k8s_rollback.py compile-2.7!skip
plugins/modules/k8s_rollback.py compile-3.5!skip
plugins/modules/k8s_rollback.py future-import-boilerplate!skip
plugins/modules/k8s_rollback.py import-2.7!skip
plugins/modules/k8s_rollback.py import-3.5!skip
plugins/modules/k8s_rollback.py metaclass-boilerplate!skip
plugins/modules/k8s_scale.py compile-2.7!skip
plugins/modules/k8s_scale.py compile-3.5!skip
plugins/modules/k8s_scale.py future-import-boilerplate!skip
plugins/modules/k8s_scale.py import-2.7!skip
plugins/modules/k8s_scale.py import-3.5!skip
plugins/modules/k8s_scale.py metaclass-boilerplate!skip
plugins/modules/k8s_scale.py validate-modules:parameter-type-not-in-doc
plugins/modules/k8s_scale.py validate-modules:return-syntax-error
plugins/modules/k8s_service.py compile-2.7!skip
plugins/modules/k8s_service.py compile-3.5!skip
plugins/modules/k8s_service.py future-import-boilerplate!skip
plugins/modules/k8s_service.py import-2.7!skip
plugins/modules/k8s_service.py import-3.5!skip
plugins/modules/k8s_service.py metaclass-boilerplate!skip
plugins/modules/k8s_service.py validate-modules:parameter-type-not-in-doc
plugins/modules/k8s_service.py validate-modules:return-syntax-error
tests/sanity/refresh_ignore_files shebang!skip
plugins/modules/k8s_cp.py compile-2.7!skip
plugins/modules/k8s_cp.py import-2.7!skip
plugins/module_utils/selector.py future-import-boilerplate!skip
plugins/module_utils/selector.py metaclass-boilerplate!skip

View File

@@ -41,7 +41,7 @@ def test_write_temp_kubeconfig_server_only():
file_name = write_temp_kubeconfig("ff") file_name = write_temp_kubeconfig("ff")
try: try:
with open(file_name, "r") as fd: with open(file_name, "r") as fd:
content = yaml.load(fd) content = yaml.safe_load(fd)
finally: finally:
os.remove(file_name) os.remove(file_name)
@@ -60,7 +60,7 @@ def test_write_temp_kubeconfig_server_inscure_certs():
file_name = write_temp_kubeconfig("ff", False, "my-certificate") file_name = write_temp_kubeconfig("ff", False, "my-certificate")
try: try:
with open(file_name, "r") as fd: with open(file_name, "r") as fd:
content = yaml.load(fd) content = yaml.safe_load(fd)
finally: finally:
os.remove(file_name) os.remove(file_name)