ansible-collections / kubernetes.core

The collection includes a variety of Ansible content to help automate the management of applications in Kubernetes and OpenShift clusters, as well as the provisioning and maintenance of clusters themselves.
Other
216 stars 135 forks source link

playbook in error when using openshift lib 0.12 #12

Open nergalex opened 3 years ago

nergalex commented 3 years ago
SUMMARY

Error encounter when using openshift 0.12 package and community.kubernetes.k8s. See attached file: error_with_openshift_0.12.json.txt community.kubernetes.k8s works well with openshift 0.11.2 pakage. See attached file: ok_with_openshift_0.11.2.json.txt error_with_openshift_0.12.json.txt ok_with_openshift_0.11.2.json.txt

ISSUE TYPE
COMPONENT NAME

community.kubernetes.k8s

ANSIBLE VERSION

Virtual Env with openshift 0.11.2 and 0.12.0 run both:

ansible 2.9.18
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /opt/custom-envs/cloudbuilder-collection2/lib/python2.7/site-packages/ansible
  executable location = /opt/custom-envs/cloudbuilder-collection2/bin/ansible
  python version = 2.7.5 (default, Aug 13 2020, 02:51:10) [GCC 4.8.5 20150623 (Red Hat 4.8.5-39)]
CONFIGURATION
# ansible-config dump --only-changed
/opt/custom-envs/cloudbuilder-collection2/lib/python2.7/site-packages/ansible/parsing/vault/__init__.py:44: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
  from cryptography.exceptions import InvalidSignature
OS / ENVIRONMENT
# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 7.9 (Maipo)
STEPS TO REPRODUCE

https://github.com/nergalex/f5-aks-nginx_ingress_app_protect/blob/master/playbooks/roles/poc-k8s/tasks/create_nap_log_format.yaml

EXPECTED RESULTS

See attached file: ok_with_openshift_0.11.2.json.txt

ACTUAL RESULTS

See attached file: ok_with_openshift_0.11.2.json.txt

tima commented 3 years ago

@nergalex What version of this collection are you using? Is it the latest stable, v1.2?

nergalex commented 3 years ago

Sorry, please find attached error ouput with community.kubernetes version: 1.2.0 (and not 1.1.1 in the previous message)

"msg": "Failed to load kubeconfig due to Invalid kube-config file. No configuration found."

error_with_openshift_0.12_and_collection_1.2.0.json.txt

gravesm commented 3 years ago

@nergalex I am unable to reproduce this. Specifying the path to the kubeconfig file works for me.

belenot commented 3 years ago

I have this issue too. It's solved when I patched common.py in /usr/local/lib/python3.8/dist-packages/ansible_collections/community/kubernetes/plugins/module_utils/common.py on line 263.

            #return DynamicClient(kubernetes.client.ApiClient(configuration))
            return DynamicClient(kubernetes.config.new_client_from_config())

I don't know how to watch version, and have not time for this anymore. I can give more info, if needed and if someone tell me how to obtain it )

nergalex commented 3 years ago

thx @belenot . I would not prefer to modify kubernetes ansible collection because it's loaded for each job by Tower (collections/requirements.yml is used).

@gravesm using a config.yaml file located in a AWX project, the module invocation differs:

Did you reproduced this behavior?

belenot commented 3 years ago

thx @belenot . I would not prefer to modify kubernetes ansible collection because it's loaded for each job by Tower (collections/requirements.yml is used).

I know @nergalex , that's why I just specified previous version of package for pip3 installation on remote host, namely openshift==0.11.0. This fixed my issue.

nergalex commented 3 years ago

thx @belenot, same workaround :)