Skip to content

Latest commit

 

History

History

virtualenvs

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

AgnosticD Python Virtual Environments

This directory holds AgnosticD virtual environment definitions. These definitions are used by automation to configure the virtual environments used in production deployments with AgnosticD. These may also be used to create and test with virtual environments from your development workstation or environment.

Virtual Environments

Virtual environments should be named using one of the following conventions:

  • ansible<major.minor>-python<major.minor>-<date> - Multi-cloud virtual environment. Components should be the latest tested functional versions as of the date in the filename. Ansible version should be 2.9+ and python version should be 3.6+. Ex: ansible2.9-python3.6-2020-11-30.

  • <purpose>-ansible<major.minor>-python<major.minor>-<date> - Virtual environment customized for a particular purpose. For example, the <purpose> string could be to support a particular version of a cloud provider different from what is included in the multi-cloud environment. Ansible version should be 2.9+ and python version should be 3.6+. Ex: gcp0.34.0-ansible2.9-python3.6-2020-12-01.

Symbolic links without the -<date> suffix are provided as useful shortcuts but should not be used outside of development purposes. AgnosticV virtual environment configurations should always target specific dated versions.

A number of legacy virtual environments are also managed here and should be gradually phased out and removed.

Known issues

error with AWS CLI
"stderr_lines": ["Traceback (most recent call last):", "  File \"/usr/local/bin/aws\", line 33, in <module>", "    sys.exit(load_entry_point('aws==0.2.5', 'console_scripts', 'aws')())", "  File \"/usr/local/bin/aws\", line 25, in importlib_load_entry_point", "    return next(matches).load()", "  File \"/usr/local/lib/python3.6/site-packages/importlib_metadata/__init__.py\", line 194, in load", "    module = import_module(match.group('module'))", "  File \"/usr/lib64/python3.6/importlib/__init__.py\", line 126, in import_module", "    return _bootstrap._gcd_import(name[level:], package, level)", "  File \"<frozen importlib._bootstrap>\", line 994, in _gcd_import", "  File \"<frozen importlib._bootstrap>\", line 971, in _find_and_load", "  File \"<frozen importlib._bootstrap>\", line 955, in _find_and_load_unlocked", "  File \"<frozen importlib._bootstrap>\", line 665, in _load_unlocked", "  File \"<frozen importlib._bootstrap_external>\", line 674, in exec_module", "  File \"<frozen importlib._bootstrap_external>\", line 781, in get_code", "  File \"<frozen importlib._bootstrap_external>\", line 741, in source_to_code", "  File \"<frozen importlib._bootstrap>\", line 219, in _call_with_frames_removed", "  File \"/usr/local/lib/python3.6/site-packages/aws/main.py\", line 23", "    print '%(name)s: %(endpoint)s' % {", "                                 ^", "SyntaxError: invalid syntax"], "stdout": "", "stdout_lines": []}
  • impacted:

    • ansible2.9-python3.6-2021-01-22

    • ansible2.9-python3.6-2021-09-02

  • Cause: because of https://github.com/eofs/aws conflicting package

  • Solution: use ansible2.9-python3.6-2021-11-30 virtualenv

kubernetes library version mismatch

When using k8s or k8s_info modules on a host with python kubernetes module 12.x an error is reported that it fails to connect to the api, instead reporting an error connecting to localhost on port 80:

urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=80): Max retries exceeded with url: /version (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f016a5ce978>: Failed to establish a new connection: [Errno 111] Connection refused',))
  • impacted:

    • ansible2.9-python3.6-2021-01-22

    • ansible2.9-python3.6-2021-09-02

  • Cause: python kubernetes module version >= 12.0.0

  • Solution: use ansible2.9-python3.6-2021-11-30 virtualenv

could not resolve equinix.metal.project

TASK [infra-equinix-metal-resources : include_tasks] ***************************
fatal: [localhost]: FAILED! => {"reason": "couldn't resolve module/action 'equinix.metal.project'. This often indicates a misspelling, missing collection, or incorrect module path.\n\nThe error appears to be in '/tmp/awx_1129098_tl0_zwhv/project/ansible/roles-infra/infra-equinix-metal-resources/tasks/create_project.yaml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: Create Equinix Metal project\n  ^ here\n"}

This sometimes happens even if the collection is correctly installed

        "Downloading https://galaxy.ansible.com/download/equinix-metal-1.4.1.tar.gz to /var/lib/awx/.ansible/tmp/ansible-local-691wd2xeq0r/tmp9kl7b4jy/equinix-metal-1.4.1-c3_hvges",
        "Installing 'equinix.metal:1.4.1' to '/tmp/awx_1129098_tl0_zwhv/requirements_collections/ansible_collections/equinix/metal'",
        "equinix.metal:1.4.1 was installed successfully",
  • impacted:

    • equinix_metal-ansible2.9-python3.6-2021-11-03

  • solution: use equinix_metal-ansible2.9-python3.6-2021-07-02