text:
Filter molecule_header & molecule_from_yaml missing

ISSUE
Following filters are missing

molecule_header
molecule_from_yaml

Description

molecule create it creates the ec2 instance, but fails to write the config to filesystem with the error filter molecule_header missing. so molecule doesn't know about the instance that's actually created.
molecule destroy This command does not destroy the instance, as the config was not written to filesystem by create method in the first place. One has to manually cleanup/destroy the ec2 instance.

Steps to reproduce
molecule init role -d ec2 <rolename>
cd <rolename>

modify molecule.yaml eg:
---
dependency:
  name: galaxy
driver:
  name: ec2
platforms:
  - name: instance-1
    image: ami-0dd9f0e7df0f0a138
    instance_type: t2.micro
    vpc_subnet_id: subnet-b3a28af9
provisioner:
  name: ansible
verifier:
  name: ansible

$ molecule create

PLAY [Create]

TASK [Dump instance config] ************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "template error while templating string: no filter named 'molecule_header'. String: {{ instance_conf | to_json | from_json | molecule_to_yaml | molecule_header }}"}

$ molecule destroy

PLAY [Destroy] *************************************************************************************************************************************************************************************************

TASK [Populate instance config] ********************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "template error while templating string: no filter named 'molecule_from_yaml'. String: {{ lookup('file', molecule_instance_config) | molecule_from_yaml }}"}

Expected Behavior

molecule create should create the ec2 instance and write the config.
molecule list should list the instances
molecule destroy should destroy the instances.

REASON
As of molecule v3, ansible molecule filters have been removed.

https://github.com/ansible-community/molecule/pull/2869
https://github.com/ansible-community/molecule/releases/tag/3.1.1

SOLUTION

Removing those 2 filters from the generated code works. But this approach would require modifying every molecule generated role manually.
A better approach would be to modify the cookiecutter template.

I installed the latest code from the main/master branch
pip3 install git+git+https://github.com/ansible-community/molecule-ec2.git
TASK [Dump instance config] ************************************************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"msg": "template error while templating string: no filter named 'header'. String: {{ instance_conf | to_json | from_json | to_yaml | header }}"}


text:
Azure Pipelines Testing

Issue Type

Bug report

Molecule and Ansible details
ansible 2.10.6
  config file = None
  configured module search path = ['/home/jimspeir/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/jimspeir/.local/lib/python3.8/site-packages/ansible
  executable location = /home/jimspeir/.local/bin/ansible
  python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
molecule 3.2.3 using python 3.8
    ansible:2.10.6
    delegated:3.2.3 from molecule
    docker:0.2.4 from molecule_docker
    vagrant:0.6.1 from molecule_vagrant

Molecule installation method (one of):

pip

Ansible installation method (one of):

pip

Detail any linters or test runners used:
Desired Behavior
When using an Azure Pipeline of the following construction:
trigger:
- master

pool: "Molecule CI"

steps:

- task: UsePythonVersion@0
  inputs:
    versionSpec: '3.8'

- script: python -m pip install "molecule[lint]" "python-vagrant" "molecule-vagrant" "ansible"
  displayName: Install dependencies

- script: |
    export PATH="$PATH:/home/opsystemsadm/.local/bin/"
    python -m molecule test
  displayName: Test relevant platforms

I should be able to have my tests run the same as they do locally on the agent.
Actual Behaviour
When running the molecule test on the Azure self-hosted agent manually, by checking out the code and running molecule test from the project root, I am able to test my role perfectly fine and all checks pass.
When I do the same through the pipeline I am told the role I'm checking cannot be found.
The task information is as follows:
2021-03-04T20:35:28.7321874Z ##[section]Starting: Test relevant platforms
2021-03-04T20:35:28.7330563Z ==============================================================================
2021-03-04T20:35:28.7330885Z Task         : Command line
2021-03-04T20:35:28.7331224Z Description  : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
2021-03-04T20:35:28.7331525Z Version      : 2.182.0
2021-03-04T20:35:28.7331752Z Author       : Microsoft Corporation
2021-03-04T20:35:28.7332102Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
2021-03-04T20:35:28.7332478Z ==============================================================================
2021-03-04T20:35:28.8820788Z Generating script.
2021-03-04T20:35:28.8835799Z ========================== Starting Command Output ===========================
2021-03-04T20:35:28.8866879Z [command]/usr/bin/bash --noprofile --norc /home/<redacted>/azure-agent/_work/_temp/19bea618-2e0c-49f7-b4b5-98b619bda305.sh
2021-03-04T20:35:29.4979858Z INFO     default scenario test matrix: dependency, lint, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy
2021-03-04T20:35:29.5109766Z INFO     Running default > dependency
2021-03-04T20:35:29.9779535Z [WARNING]: The requirements file '/home/<redacted>/azure-
2021-03-04T20:35:29.9780861Z agent/_work/1/s/molecule/default/requirements.yml' contains collections which
2021-03-04T20:35:29.9785803Z will be ignored. To install these collections run 'ansible-galaxy collection
2021-03-04T20:35:29.9787724Z install -r' or to install both at the same time run 'ansible-galaxy install -r'
2021-03-04T20:35:29.9789327Z without a custom install path.
2021-03-04T20:35:29.9789937Z Skipping install, no requirements found
2021-03-04T20:35:30.0084792Z INFO     Dependency completed successfully.
2021-03-04T20:35:30.9493679Z Starting galaxy collection install process
2021-03-04T20:35:30.9496143Z Process install dependency map
2021-03-04T20:35:34.6521976Z Starting collection install process
2021-03-04T20:35:34.6525093Z Installing 'community.general:2.1.1' to '/home/<redacted>/.cache/molecule/s/default/collections/ansible_collections/community/general'
2021-03-04T20:35:34.6528434Z Downloading https://galaxy.ansible.com/download/community-general-2.1.1.tar.gz to /home/<redacted>/.ansible/tmp/ansible-local-219986x6szibvf/tmpwngo3wa8
2021-03-04T20:35:52.1266312Z community.general (2.1.1) was installed successfully
2021-03-04T20:35:52.1598273Z INFO     Dependency completed successfully.
2021-03-04T20:35:52.1722758Z INFO     Running default > lint
2021-03-04T20:35:52.1727109Z INFO     Lint is disabled.
2021-03-04T20:35:52.1838180Z INFO     Running default > cleanup
2021-03-04T20:35:52.1844241Z WARNING  Skipping, cleanup playbook not configured.
2021-03-04T20:35:52.1954633Z INFO     Running default > destroy
2021-03-04T20:35:52.7352513Z
2021-03-04T20:35:52.7354086Z PLAY [Destroy] *****************************************************************
2021-03-04T20:35:52.7459189Z
2021-03-04T20:35:52.7462408Z TASK [Destroy molecule instance(s)] ********************************************
2021-03-04T20:35:55.4282363Z ok: [localhost] => (item=linux)
2021-03-04T20:35:55.4329225Z
2021-03-04T20:35:55.4332001Z TASK [Populate instance config] ************************************************
2021-03-04T20:35:55.4835139Z ok: [localhost]
2021-03-04T20:35:55.4878559Z
2021-03-04T20:35:55.4881784Z TASK [Dump instance config] ****************************************************
2021-03-04T20:35:55.5381126Z skipping: [localhost]
2021-03-04T20:35:55.5447243Z
2021-03-04T20:35:55.5452877Z PLAY RECAP *********************************************************************
2021-03-04T20:35:55.5457382Z localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0
2021-03-04T20:35:55.5468230Z
2021-03-04T20:35:55.6081692Z INFO     Running default > syntax
2021-03-04T20:35:56.1377039Z
2021-03-04T20:35:56.1378829Z playbook: /home/<redacted>/azure-agent/_work/1/s/molecule/default/converge.yml
2021-03-04T20:35:56.1939178Z INFO     Running default > create
2021-03-04T20:35:56.7381882Z
2021-03-04T20:35:56.7384066Z PLAY [Create] ******************************************************************
2021-03-04T20:35:56.7493150Z
2021-03-04T20:35:56.7495614Z TASK [Create molecule instance(s)] *********************************************
2021-03-04T20:37:25.5252527Z changed: [localhost] => (item=linux)
2021-03-04T20:37:25.5293157Z
2021-03-04T20:37:25.5296869Z TASK [Populate instance config dict] *******************************************
2021-03-04T20:37:25.6133704Z ok: [localhost] => (item={'changed': True, 'log': '/home/<redacted>/.cache/molecule/s/default/vagrant-linux.out', 'Host': 'linux', 'HostName': '127.0.0.1', 'User': 'vagrant', 'Port': '2222', 'UserKnownHostsFile': '/dev/null', 'StrictHostKeyChecking': 'no', 'PasswordAuthentication': 'no', 'IdentityFile': '/home/<redacted>/.cache/molecule/s/default/.vagrant/machines/linux/virtualbox/private_key', 'IdentitiesOnly': 'yes', 'LogLevel': 'FATAL', 'invocation': {'module_args': {'instance_name': 'linux', 'platform_box': 'ubuntu/focal64', 'state': 'up', 'instance_interfaces': [], 'config_options': {}, 'provider_name': 'virtualbox', 'provider_memory': 512, 'provider_cpus': 2, 'provider_options': {}, 'provision': False, 'force_stop': False, 'instance_raw_config_args': None, 'platform_box_version': None, 'platform_box_url': None, 'provider_override_args': None, 'provider_raw_config_args': None, 'workdir': None}}, 'failed': False, 'item': {'box': 'ubuntu/focal64', 'name': 'linux'}, 'ansible_loop_var': 'item'})
2021-03-04T20:37:25.6169117Z
2021-03-04T20:37:25.6172976Z TASK [Convert instance config dict to a list] **********************************
2021-03-04T20:37:25.7014426Z ok: [localhost]
2021-03-04T20:37:25.7058420Z
2021-03-04T20:37:25.7060724Z TASK [Dump instance config] ****************************************************
2021-03-04T20:37:26.5142450Z changed: [localhost]
2021-03-04T20:37:26.5220996Z
2021-03-04T20:37:26.5224102Z PLAY RECAP *********************************************************************
2021-03-04T20:37:26.5228369Z localhost                  : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
2021-03-04T20:37:26.5231044Z
2021-03-04T20:37:26.5859051Z INFO     Running default > prepare
2021-03-04T20:37:27.1214266Z
2021-03-04T20:37:27.1215933Z PLAY [Prepare] *****************************************************************
2021-03-04T20:37:27.1344277Z
2021-03-04T20:37:27.1345253Z TASK [Bootstrap python for Ansible] ********************************************
2021-03-04T20:37:28.4515258Z ok: [linux]
2021-03-04T20:37:28.4594908Z
2021-03-04T20:37:28.4598614Z PLAY RECAP *********************************************************************
2021-03-04T20:37:28.4603304Z linux                      : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
2021-03-04T20:37:28.4605880Z
2021-03-04T20:37:28.5256919Z INFO     Running default > converge
2021-03-04T20:37:29.0836948Z
2021-03-04T20:37:29.0842455Z PLAY [Converge] ****************************************************************
2021-03-04T20:37:29.0932326Z
2021-03-04T20:37:29.0935833Z TASK [Gathering Facts] *********************************************************
2021-03-04T20:37:31.1590551Z ok: [linux]
2021-03-04T20:37:31.1738371Z
2021-03-04T20:37:31.1740868Z TASK [LS] **********************************************************************
2021-03-04T20:37:31.7427207Z changed: [linux]
2021-03-04T20:37:31.7515707Z
2021-03-04T20:37:31.7520241Z TASK [Include generic-server] **************************************************
2021-03-04T20:37:31.7722031Z ERROR! the role 'generic-server' was not found in /home/<redacted>/azure-agent/_work/1/s/molecule/default/roles:/home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/home/<redacted>/azure-agent/_work/1/s/molecule/default
2021-03-04T20:37:31.7723921Z
2021-03-04T20:37:31.7747123Z The error appears to be in '/home/<redacted>/azure-agent/_work/1/s/molecule/default/converge.yml': line 11, column 15, but may
2021-03-04T20:37:31.7749843Z be elsewhere in the file depending on the exact syntax problem.
2021-03-04T20:37:31.7751529Z
2021-03-04T20:37:31.7752657Z The offending line appears to be:
2021-03-04T20:37:31.7753226Z
2021-03-04T20:37:31.7753904Z       include_role:
2021-03-04T20:37:31.7755256Z         name: "generic-server"
2021-03-04T20:37:31.7756078Z               ^ here
2021-03-04T20:37:31.7757341Z
2021-03-04T20:37:31.7758362Z PLAY RECAP *********************************************************************
2021-03-04T20:37:31.7759627Z linux                      : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
2021-03-04T20:37:31.7768648Z
2021-03-04T20:37:31.8276755Z CRITICAL Ansible return code was 2, command was: ansible-playbook --inventory /home/<redacted>/.cache/molecule/s/default/inventory --skip-tags molecule-notest,notest /home/<redacted>/azure-agent/_work/1/s/molecule/default/converge.yml
2021-03-04T20:37:31.8281350Z WARNING  An error occurred during the test sequence action: 'converge'. Cleaning up.
2021-03-04T20:37:31.8438844Z INFO     Running default > cleanup
2021-03-04T20:37:31.8445579Z WARNING  Skipping, cleanup playbook not configured.
2021-03-04T20:37:31.8587896Z INFO     Running default > destroy
2021-03-04T20:37:32.4093595Z
2021-03-04T20:37:32.4095950Z PLAY [Destroy] *****************************************************************
2021-03-04T20:37:32.4207687Z
2021-03-04T20:37:32.4210023Z TASK [Destroy molecule instance(s)] ********************************************
2021-03-04T20:37:46.2981887Z changed: [localhost] => (item=linux)
2021-03-04T20:37:46.3019945Z
2021-03-04T20:37:46.3023657Z TASK [Populate instance config] ************************************************
2021-03-04T20:37:46.3589336Z ok: [localhost]
2021-03-04T20:37:46.3675417Z
2021-03-04T20:37:46.3676929Z TASK [Dump instance config] ****************************************************
2021-03-04T20:37:47.1509176Z changed: [localhost]
2021-03-04T20:37:47.1580765Z
2021-03-04T20:37:47.1583495Z PLAY RECAP *********************************************************************
2021-03-04T20:37:47.1587274Z localhost                  : ok=3    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
2021-03-04T20:37:47.1588879Z
2021-03-04T20:37:47.2071736Z INFO     Pruning extra files from scenario ephemeral directory
2021-03-04T20:37:47.4013440Z ##[error]Bash exited with code '1'.
2021-03-04T20:37:47.4029231Z ##[section]Finishing: Test relevant platforms

I suspect the only issue here is the role path, perhaps being different from the version I use when logged into the server locally. Whilst these are two distinct versions of Python (3.8.5 locally and 3.8.8 via the agent) I believe the role path should be the same format in both cases.

Here's the same azure-pipelines output but using molecule --debug test instead of just molecule test:
2021-03-04T20:50:59.8928101Z ##[section]Starting: Test relevant platforms
2021-03-04T20:50:59.8938135Z ==============================================================================
2021-03-04T20:50:59.8938453Z Task         : Command line
2021-03-04T20:50:59.8938772Z Description  : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
2021-03-04T20:50:59.8939089Z Version      : 2.182.0
2021-03-04T20:50:59.8939313Z Author       : Microsoft Corporation
2021-03-04T20:50:59.8939646Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
2021-03-04T20:50:59.8940039Z ==============================================================================
2021-03-04T20:51:00.0678463Z Generating script.
2021-03-04T20:51:00.0693602Z ========================== Starting Command Output ===========================
2021-03-04T20:51:00.0765724Z [command]/usr/bin/bash --noprofile --norc /home/<redacted>/azure-agent/_work/_temp/23a6d68d-d73f-4217-b3c4-3420b5cece2c.sh
2021-03-04T20:51:00.5087981Z ansible 2.10.6
2021-03-04T20:51:00.5089724Z   config file = None
2021-03-04T20:51:00.5092223Z   configured module search path = ['/home/<redacted>/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
2021-03-04T20:51:00.5093567Z   ansible python module location = /home/<redacted>/.local/lib/python3.8/site-packages/ansible
2021-03-04T20:51:00.5094402Z   executable location = /home/<redacted>/.local/bin/ansible
2021-03-04T20:51:00.5095115Z   python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
2021-03-04T20:51:01.4703764Z molecule 3.2.3 using python 3.8
2021-03-04T20:51:01.4704555Z     ansible:2.10.6
2021-03-04T20:51:01.4705177Z     delegated:3.2.3 from molecule
2021-03-04T20:51:01.4705814Z     docker:0.2.4 from molecule_docker
2021-03-04T20:51:01.4707164Z     vagrant:0.6.1 from molecule_vagrant
2021-03-04T20:51:02.0553951Z DEBUG    Validating schema /home/<redacted>/azure-agent/_work/1/s/molecule/default/molecule.yml.
2021-03-04T20:51:02.0929756Z INFO     default scenario test matrix: dependency, lint, cleanup, destroy, syntax, create, prepare, converge, idempotence, side_effect, verify, cleanup, destroy
2021-03-04T20:51:02.1063338Z INFO     Running default > dependency
2021-03-04T20:51:02.1081231Z DEBUG: ANSIBLE ENVIRONMENT:
2021-03-04T20:51:02.1081778Z {}
2021-03-04T20:51:02.1081965Z
2021-03-04T20:51:02.1115334Z DEBUG: MOLECULE ENVIRONMENT:
2021-03-04T20:51:02.1116729Z MOLECULE_DEBUG: 'True'
2021-03-04T20:51:02.1117349Z MOLECULE_DEPENDENCY_NAME: galaxy
2021-03-04T20:51:02.1117657Z MOLECULE_DRIVER_NAME: vagrant
2021-03-04T20:51:02.1118350Z MOLECULE_ENV_FILE: /home/<redacted>/azure-agent/_work/1/s/.env.yml
2021-03-04T20:51:02.1118801Z MOLECULE_EPHEMERAL_DIRECTORY: /home/<redacted>/.cache/molecule/s/default
2021-03-04T20:51:02.1119256Z MOLECULE_FILE: /home/<redacted>/.cache/molecule/s/default/molecule.yml
2021-03-04T20:51:02.1119876Z MOLECULE_INSTANCE_CONFIG: /home/<redacted>/.cache/molecule/s/default/instance_config.yml
2021-03-04T20:51:02.1120380Z MOLECULE_INVENTORY_FILE: /home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml
2021-03-04T20:51:02.1121147Z MOLECULE_PROJECT_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s
2021-03-04T20:51:02.1121526Z MOLECULE_PROVISIONER_NAME: ansible
2021-03-04T20:51:02.1122228Z MOLECULE_SCENARIO_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default
2021-03-04T20:51:02.1122626Z MOLECULE_SCENARIO_NAME: default
2021-03-04T20:51:02.1123054Z MOLECULE_STATE_FILE: /home/<redacted>/.cache/molecule/s/default/state.yml
2021-03-04T20:51:02.1123421Z MOLECULE_VERIFIER_NAME: ansible
2021-03-04T20:51:02.1124049Z MOLECULE_VERIFIER_TEST_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:51:02.1124378Z
2021-03-04T20:51:02.1129830Z DEBUG: SHELL REPLAY:
2021-03-04T20:51:02.1132758Z MOLECULE_DEBUG=True MOLECULE_DEPENDENCY_NAME=galaxy MOLECULE_DRIVER_NAME=vagrant MOLECULE_ENV_FILE=/home/<redacted>/azure-agent/_work/1/s/.env.yml MOLECULE_EPHEMERAL_DIRECTORY=/home/<redacted>/.cache/molecule/s/default MOLECULE_FILE=/home/<redacted>/.cache/molecule/s/default/molecule.yml MOLECULE_INSTANCE_CONFIG=/home/<redacted>/.cache/molecule/s/default/instance_config.yml MOLECULE_INVENTORY_FILE=/home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml MOLECULE_PROJECT_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s MOLECULE_PROVISIONER_NAME=ansible MOLECULE_SCENARIO_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default MOLECULE_SCENARIO_NAME=default MOLECULE_STATE_FILE=/home/<redacted>/.cache/molecule/s/default/state.yml MOLECULE_VERIFIER_NAME=ansible MOLECULE_VERIFIER_TEST_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:51:02.1135941Z
2021-03-04T20:51:02.1139632Z COMMAND: ansible-galaxy install --force --role-file /home/<redacted>/azure-agent/_work/1/s/molecule/default/requirements.yml --roles-path /home/<redacted>/.cache/molecule/s/default/roles -vvv
2021-03-04T20:51:02.6109013Z ansible-galaxy 2.10.6
2021-03-04T20:51:02.6109751Z   config file = None
2021-03-04T20:51:02.6116188Z   configured module search path = ['/home/<redacted>/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
2021-03-04T20:51:02.6118445Z   ansible python module location = /home/<redacted>/.local/lib/python3.8/site-packages/ansible
2021-03-04T20:51:02.6121760Z   executable location = /home/<redacted>/.local/bin/ansible-galaxy
2021-03-04T20:51:02.6123847Z   python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
2021-03-04T20:51:02.6126472Z No config file found; using defaults
2021-03-04T20:51:02.6130435Z Reading requirement file at '/home/<redacted>/azure-agent/_work/1/s/molecule/default/requirements.yml'
2021-03-04T20:51:02.6137391Z [WARNING]: The requirements file '/home/<redacted>/azure-
2021-03-04T20:51:02.6141921Z agent/_work/1/s/molecule/default/requirements.yml' contains collections which
2021-03-04T20:51:02.6143212Z will be ignored. To install these collections run 'ansible-galaxy collection
2021-03-04T20:51:02.6161459Z install -r' or to install both at the same time run 'ansible-galaxy install -r'
2021-03-04T20:51:02.6164726Z without a custom install path.
2021-03-04T20:51:02.6165558Z Skipping install, no requirements found
2021-03-04T20:51:02.6443289Z INFO     Dependency completed successfully.
2021-03-04T20:51:03.1219946Z DEBUG: ANSIBLE ENVIRONMENT:
2021-03-04T20:51:03.1220824Z ANSIBLE_COLLECTIONS_PATH: /home/<redacted>/.cache/molecule/s/default/collections
2021-03-04T20:51:03.1221425Z
2021-03-04T20:51:03.1253100Z DEBUG: MOLECULE ENVIRONMENT:
2021-03-04T20:51:03.1254609Z MOLECULE_DEBUG: 'True'
2021-03-04T20:51:03.1255169Z MOLECULE_DEPENDENCY_NAME: galaxy
2021-03-04T20:51:03.1255690Z MOLECULE_DRIVER_NAME: vagrant
2021-03-04T20:51:03.1256990Z MOLECULE_ENV_FILE: /home/<redacted>/azure-agent/_work/1/s/.env.yml
2021-03-04T20:51:03.1257798Z MOLECULE_EPHEMERAL_DIRECTORY: /home/<redacted>/.cache/molecule/s/default
2021-03-04T20:51:03.1258640Z MOLECULE_FILE: /home/<redacted>/.cache/molecule/s/default/molecule.yml
2021-03-04T20:51:03.1259440Z MOLECULE_INSTANCE_CONFIG: /home/<redacted>/.cache/molecule/s/default/instance_config.yml
2021-03-04T20:51:03.1260293Z MOLECULE_INVENTORY_FILE: /home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml
2021-03-04T20:51:03.1261562Z MOLECULE_PROJECT_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s
2021-03-04T20:51:03.1262213Z MOLECULE_PROVISIONER_NAME: ansible
2021-03-04T20:51:03.1263452Z MOLECULE_SCENARIO_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default
2021-03-04T20:51:03.1264179Z MOLECULE_SCENARIO_NAME: default
2021-03-04T20:51:03.1264947Z MOLECULE_STATE_FILE: /home/<redacted>/.cache/molecule/s/default/state.yml
2021-03-04T20:51:03.1265611Z MOLECULE_VERIFIER_NAME: ansible
2021-03-04T20:51:03.1266865Z MOLECULE_VERIFIER_TEST_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:51:03.1267600Z
2021-03-04T20:51:03.1274155Z DEBUG: SHELL REPLAY:
2021-03-04T20:51:03.1279217Z ANSIBLE_COLLECTIONS_PATH=/home/<redacted>/.cache/molecule/s/default/collections MOLECULE_DEBUG=True MOLECULE_DEPENDENCY_NAME=galaxy MOLECULE_DRIVER_NAME=vagrant MOLECULE_ENV_FILE=/home/<redacted>/azure-agent/_work/1/s/.env.yml MOLECULE_EPHEMERAL_DIRECTORY=/home/<redacted>/.cache/molecule/s/default MOLECULE_FILE=/home/<redacted>/.cache/molecule/s/default/molecule.yml MOLECULE_INSTANCE_CONFIG=/home/<redacted>/.cache/molecule/s/default/instance_config.yml MOLECULE_INVENTORY_FILE=/home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml MOLECULE_PROJECT_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s MOLECULE_PROVISIONER_NAME=ansible MOLECULE_SCENARIO_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default MOLECULE_SCENARIO_NAME=default MOLECULE_STATE_FILE=/home/<redacted>/.cache/molecule/s/default/state.yml MOLECULE_VERIFIER_NAME=ansible MOLECULE_VERIFIER_TEST_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:51:03.1282583Z
2021-03-04T20:51:03.1284261Z COMMAND: ansible-galaxy collection install --collections-path /home/<redacted>/.cache/molecule/s/default/collections --force --requirements-file molecule/default/requirements.yml -vvv
2021-03-04T20:51:03.9478881Z ansible-galaxy 2.10.6
2021-03-04T20:51:03.9479543Z   config file = None
2021-03-04T20:51:03.9480878Z   configured module search path = ['/home/<redacted>/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
2021-03-04T20:51:03.9482211Z   ansible python module location = /home/<redacted>/.local/lib/python3.8/site-packages/ansible
2021-03-04T20:51:03.9483368Z   executable location = /home/<redacted>/.local/bin/ansible-galaxy
2021-03-04T20:51:03.9484056Z   python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
2021-03-04T20:51:03.9485485Z No config file found; using defaults
2021-03-04T20:51:03.9486618Z Reading requirement file at '/home/<redacted>/azure-agent/_work/1/s/molecule/default/requirements.yml'
2021-03-04T20:51:03.9487579Z Starting galaxy collection install process
2021-03-04T20:51:03.9488108Z Process install dependency map
2021-03-04T20:51:03.9489085Z Processing requirement collection 'community.general'
2021-03-04T20:51:03.9489645Z Opened /home/<redacted>/.ansible/galaxy_token
2021-03-04T20:51:07.0725928Z Collection 'community.general' obtained from server default https://galaxy.ansible.com/api/
2021-03-04T20:51:07.5947565Z Starting collection install process
2021-03-04T20:51:07.5949492Z Installing 'community.general:2.1.1' to '/home/<redacted>/.cache/molecule/s/default/collections/ansible_collections/community/general'
2021-03-04T20:51:07.5952439Z Downloading https://galaxy.ansible.com/download/community-general-2.1.1.tar.gz to /home/<redacted>/.ansible/tmp/ansible-local-225743tfdogzlx/tmpcy9smds4
2021-03-04T20:51:25.1186026Z community.general (2.1.1) was installed successfully
2021-03-04T20:51:25.1510996Z INFO     Dependency completed successfully.
2021-03-04T20:51:25.1633722Z INFO     Running default > lint
2021-03-04T20:51:25.1638103Z INFO     Lint is disabled.
2021-03-04T20:51:25.1746134Z INFO     Running default > cleanup
2021-03-04T20:51:25.1752063Z WARNING  Skipping, cleanup playbook not configured.
2021-03-04T20:51:25.1860172Z INFO     Running default > destroy
2021-03-04T20:51:25.1904042Z DEBUG: ANSIBLE ENVIRONMENT:
2021-03-04T20:51:25.1904660Z ANSIBLE_COLLECTIONS_PATH: /home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections
2021-03-04T20:51:25.1905891Z ANSIBLE_CONFIG: /home/<redacted>/.cache/molecule/s/default/ansible.cfg
2021-03-04T20:51:25.1907696Z ANSIBLE_FILTER_PLUGINS: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter
2021-03-04T20:51:25.1910048Z ANSIBLE_LIBRARY: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
2021-03-04T20:51:25.1912297Z ANSIBLE_ROLES_PATH: /home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
2021-03-04T20:51:25.1912984Z
2021-03-04T20:51:25.1936386Z DEBUG: MOLECULE ENVIRONMENT:
2021-03-04T20:51:25.1937041Z MOLECULE_DEBUG: 'True'
2021-03-04T20:51:25.1937351Z MOLECULE_DEPENDENCY_NAME: galaxy
2021-03-04T20:51:25.1937652Z MOLECULE_DRIVER_NAME: vagrant
2021-03-04T20:51:25.1939723Z MOLECULE_ENV_FILE: /home/<redacted>/azure-agent/_work/1/s/.env.yml
2021-03-04T20:51:25.1940582Z MOLECULE_EPHEMERAL_DIRECTORY: /home/<redacted>/.cache/molecule/s/default
2021-03-04T20:51:25.1941338Z MOLECULE_FILE: /home/<redacted>/.cache/molecule/s/default/molecule.yml
2021-03-04T20:51:25.1941817Z MOLECULE_INSTANCE_CONFIG: /home/<redacted>/.cache/molecule/s/default/instance_config.yml
2021-03-04T20:51:25.1942448Z MOLECULE_INVENTORY_FILE: /home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml
2021-03-04T20:51:25.1943186Z MOLECULE_PROJECT_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s
2021-03-04T20:51:25.1943634Z MOLECULE_PROVISIONER_NAME: ansible
2021-03-04T20:51:25.1944242Z MOLECULE_SCENARIO_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default
2021-03-04T20:51:25.1944641Z MOLECULE_SCENARIO_NAME: default
2021-03-04T20:51:25.1945075Z MOLECULE_STATE_FILE: /home/<redacted>/.cache/molecule/s/default/state.yml
2021-03-04T20:51:25.1945639Z MOLECULE_VERIFIER_NAME: ansible
2021-03-04T20:51:25.1946390Z MOLECULE_VERIFIER_TEST_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:51:25.1946659Z
2021-03-04T20:51:25.1959107Z DEBUG: SHELL REPLAY:
2021-03-04T20:51:25.1965404Z ANSIBLE_COLLECTIONS_PATH=/home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections ANSIBLE_CONFIG=/home/<redacted>/.cache/molecule/s/default/ansible.cfg ANSIBLE_FILTER_PLUGINS=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter ANSIBLE_LIBRARY=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules ANSIBLE_ROLES_PATH=/home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles MOLECULE_DEBUG=True MOLECULE_DEPENDENCY_NAME=galaxy MOLECULE_DRIVER_NAME=vagrant MOLECULE_ENV_FILE=/home/<redacted>/azure-agent/_work/1/s/.env.yml MOLECULE_EPHEMERAL_DIRECTORY=/home/<redacted>/.cache/molecule/s/default MOLECULE_FILE=/home/<redacted>/.cache/molecule/s/default/molecule.yml MOLECULE_INSTANCE_CONFIG=/home/<redacted>/.cache/molecule/s/default/instance_config.yml MOLECULE_INVENTORY_FILE=/home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml MOLECULE_PROJECT_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s MOLECULE_PROVISIONER_NAME=ansible MOLECULE_SCENARIO_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default MOLECULE_SCENARIO_NAME=default MOLECULE_STATE_FILE=/home/<redacted>/.cache/molecule/s/default/state.yml MOLECULE_VERIFIER_NAME=ansible MOLECULE_VERIFIER_TEST_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:51:25.1969695Z
2021-03-04T20:51:25.1971230Z COMMAND: ansible-playbook --diff --inventory /home/<redacted>/.cache/molecule/s/default/inventory --skip-tags molecule-notest,notest /home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/playbooks/destroy.yml
2021-03-04T20:51:25.9525995Z
2021-03-04T20:51:25.9527394Z PLAY [Destroy] *****************************************************************
2021-03-04T20:51:25.9527792Z
2021-03-04T20:51:25.9528314Z TASK [Destroy molecule instance(s)] ********************************************
2021-03-04T20:51:28.4991978Z ok: [localhost] => (item=linux)
2021-03-04T20:51:28.5029793Z
2021-03-04T20:51:28.5033858Z TASK [Populate instance config] ************************************************
2021-03-04T20:51:28.5549208Z ok: [localhost]
2021-03-04T20:51:28.5585874Z
2021-03-04T20:51:28.5588955Z TASK [Dump instance config] ****************************************************
2021-03-04T20:51:28.6118271Z skipping: [localhost]
2021-03-04T20:51:28.6195607Z
2021-03-04T20:51:28.6206474Z PLAY RECAP *********************************************************************
2021-03-04T20:51:28.6235370Z localhost                  : ok=2    changed=0    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0
2021-03-04T20:51:28.6235984Z
2021-03-04T20:51:28.6925001Z INFO     Running default > syntax
2021-03-04T20:51:28.6979923Z DEBUG: ANSIBLE ENVIRONMENT:
2021-03-04T20:51:28.6980941Z ANSIBLE_COLLECTIONS_PATH: /home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections
2021-03-04T20:51:28.6982170Z ANSIBLE_CONFIG: /home/<redacted>/.cache/molecule/s/default/ansible.cfg
2021-03-04T20:51:28.6984939Z ANSIBLE_FILTER_PLUGINS: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter
2021-03-04T20:51:28.6988716Z ANSIBLE_LIBRARY: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
2021-03-04T20:51:28.6991321Z ANSIBLE_ROLES_PATH: /home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
2021-03-04T20:51:28.6992023Z
2021-03-04T20:51:28.7046213Z DEBUG: MOLECULE ENVIRONMENT:
2021-03-04T20:51:28.7047278Z MOLECULE_DEBUG: 'True'
2021-03-04T20:51:28.7047925Z MOLECULE_DEPENDENCY_NAME: galaxy
2021-03-04T20:51:28.7048469Z MOLECULE_DRIVER_NAME: vagrant
2021-03-04T20:51:28.7049504Z MOLECULE_ENV_FILE: /home/<redacted>/azure-agent/_work/1/s/.env.yml
2021-03-04T20:51:28.7050515Z MOLECULE_EPHEMERAL_DIRECTORY: /home/<redacted>/.cache/molecule/s/default
2021-03-04T20:51:28.7051269Z MOLECULE_FILE: /home/<redacted>/.cache/molecule/s/default/molecule.yml
2021-03-04T20:51:28.7052139Z MOLECULE_INSTANCE_CONFIG: /home/<redacted>/.cache/molecule/s/default/instance_config.yml
2021-03-04T20:51:28.7053022Z MOLECULE_INVENTORY_FILE: /home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml
2021-03-04T20:51:28.7054253Z MOLECULE_PROJECT_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s
2021-03-04T20:51:28.7055000Z MOLECULE_PROVISIONER_NAME: ansible
2021-03-04T20:51:28.7056069Z MOLECULE_SCENARIO_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default
2021-03-04T20:51:28.7057098Z MOLECULE_SCENARIO_NAME: default
2021-03-04T20:51:28.7057746Z MOLECULE_STATE_FILE: /home/<redacted>/.cache/molecule/s/default/state.yml
2021-03-04T20:51:28.7058458Z MOLECULE_VERIFIER_NAME: ansible
2021-03-04T20:51:28.7059611Z MOLECULE_VERIFIER_TEST_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:51:28.7060302Z
2021-03-04T20:51:28.7075589Z DEBUG: SHELL REPLAY:
2021-03-04T20:51:28.7084168Z ANSIBLE_COLLECTIONS_PATH=/home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections ANSIBLE_CONFIG=/home/<redacted>/.cache/molecule/s/default/ansible.cfg ANSIBLE_FILTER_PLUGINS=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter ANSIBLE_LIBRARY=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules ANSIBLE_ROLES_PATH=/home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles MOLECULE_DEBUG=True MOLECULE_DEPENDENCY_NAME=galaxy MOLECULE_DRIVER_NAME=vagrant MOLECULE_ENV_FILE=/home/<redacted>/azure-agent/_work/1/s/.env.yml MOLECULE_EPHEMERAL_DIRECTORY=/home/<redacted>/.cache/molecule/s/default MOLECULE_FILE=/home/<redacted>/.cache/molecule/s/default/molecule.yml MOLECULE_INSTANCE_CONFIG=/home/<redacted>/.cache/molecule/s/default/instance_config.yml MOLECULE_INVENTORY_FILE=/home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml MOLECULE_PROJECT_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s MOLECULE_PROVISIONER_NAME=ansible MOLECULE_SCENARIO_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default MOLECULE_SCENARIO_NAME=default MOLECULE_STATE_FILE=/home/<redacted>/.cache/molecule/s/default/state.yml MOLECULE_VERIFIER_NAME=ansible MOLECULE_VERIFIER_TEST_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:51:28.7088131Z
2021-03-04T20:51:28.7089144Z COMMAND: ansible-playbook --diff --inventory /home/<redacted>/.cache/molecule/s/default/inventory --skip-tags molecule-notest,notest --syntax-check /home/<redacted>/azure-agent/_work/1/s/molecule/default/converge.yml
2021-03-04T20:51:29.2790816Z
2021-03-04T20:51:29.2792860Z playbook: /home/<redacted>/azure-agent/_work/1/s/molecule/default/converge.yml
2021-03-04T20:51:29.3324796Z INFO     Running default > create
2021-03-04T20:51:29.3375350Z DEBUG: ANSIBLE ENVIRONMENT:
2021-03-04T20:51:29.3376628Z ANSIBLE_COLLECTIONS_PATH: /home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections
2021-03-04T20:51:29.3377594Z ANSIBLE_CONFIG: /home/<redacted>/.cache/molecule/s/default/ansible.cfg
2021-03-04T20:51:29.3379267Z ANSIBLE_FILTER_PLUGINS: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter
2021-03-04T20:51:29.3381164Z ANSIBLE_LIBRARY: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
2021-03-04T20:51:29.3382675Z ANSIBLE_ROLES_PATH: /home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
2021-03-04T20:51:29.3383087Z
2021-03-04T20:51:29.3407840Z DEBUG: MOLECULE ENVIRONMENT:
2021-03-04T20:51:29.3408917Z MOLECULE_DEBUG: 'True'
2021-03-04T20:51:29.3409538Z MOLECULE_DEPENDENCY_NAME: galaxy
2021-03-04T20:51:29.3410260Z MOLECULE_DRIVER_NAME: vagrant
2021-03-04T20:51:29.3411281Z MOLECULE_ENV_FILE: /home/<redacted>/azure-agent/_work/1/s/.env.yml
2021-03-04T20:51:29.3412328Z MOLECULE_EPHEMERAL_DIRECTORY: /home/<redacted>/.cache/molecule/s/default
2021-03-04T20:51:29.3412935Z MOLECULE_FILE: /home/<redacted>/.cache/molecule/s/default/molecule.yml
2021-03-04T20:51:29.3413539Z MOLECULE_INSTANCE_CONFIG: /home/<redacted>/.cache/molecule/s/default/instance_config.yml
2021-03-04T20:51:29.3414046Z MOLECULE_INVENTORY_FILE: /home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml
2021-03-04T20:51:29.3414851Z MOLECULE_PROJECT_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s
2021-03-04T20:51:29.3415342Z MOLECULE_PROVISIONER_NAME: ansible
2021-03-04T20:51:29.3415956Z MOLECULE_SCENARIO_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default
2021-03-04T20:51:29.3416896Z MOLECULE_SCENARIO_NAME: default
2021-03-04T20:51:29.3417271Z MOLECULE_STATE_FILE: /home/<redacted>/.cache/molecule/s/default/state.yml
2021-03-04T20:51:29.3417698Z MOLECULE_VERIFIER_NAME: ansible
2021-03-04T20:51:29.3418375Z MOLECULE_VERIFIER_TEST_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:51:29.3418641Z
2021-03-04T20:51:29.3432759Z DEBUG: SHELL REPLAY:
2021-03-04T20:51:29.3442951Z ANSIBLE_COLLECTIONS_PATH=/home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections ANSIBLE_CONFIG=/home/<redacted>/.cache/molecule/s/default/ansible.cfg ANSIBLE_FILTER_PLUGINS=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter ANSIBLE_LIBRARY=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules ANSIBLE_ROLES_PATH=/home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles MOLECULE_DEBUG=True MOLECULE_DEPENDENCY_NAME=galaxy MOLECULE_DRIVER_NAME=vagrant MOLECULE_ENV_FILE=/home/<redacted>/azure-agent/_work/1/s/.env.yml MOLECULE_EPHEMERAL_DIRECTORY=/home/<redacted>/.cache/molecule/s/default MOLECULE_FILE=/home/<redacted>/.cache/molecule/s/default/molecule.yml MOLECULE_INSTANCE_CONFIG=/home/<redacted>/.cache/molecule/s/default/instance_config.yml MOLECULE_INVENTORY_FILE=/home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml MOLECULE_PROJECT_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s MOLECULE_PROVISIONER_NAME=ansible MOLECULE_SCENARIO_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default MOLECULE_SCENARIO_NAME=default MOLECULE_STATE_FILE=/home/<redacted>/.cache/molecule/s/default/state.yml MOLECULE_VERIFIER_NAME=ansible MOLECULE_VERIFIER_TEST_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:51:29.3449000Z
2021-03-04T20:51:29.3450605Z COMMAND: ansible-playbook --diff --inventory /home/<redacted>/.cache/molecule/s/default/inventory --skip-tags molecule-notest,notest /home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/playbooks/create.yml
2021-03-04T20:51:29.8733303Z
2021-03-04T20:51:29.8736838Z PLAY [Create] ******************************************************************
2021-03-04T20:51:29.8847232Z
2021-03-04T20:51:29.8851516Z TASK [Create molecule instance(s)] *********************************************
2021-03-04T20:52:58.8553407Z changed: [localhost] => (item=linux)
2021-03-04T20:52:58.8592507Z
2021-03-04T20:52:58.8595733Z TASK [Populate instance config dict] *******************************************
2021-03-04T20:52:58.9427838Z ok: [localhost] => (item={'changed': True, 'log': '/home/<redacted>/.cache/molecule/s/default/vagrant-linux.out', 'Host': 'linux', 'HostName': '127.0.0.1', 'User': 'vagrant', 'Port': '2222', 'UserKnownHostsFile': '/dev/null', 'StrictHostKeyChecking': 'no', 'PasswordAuthentication': 'no', 'IdentityFile': '/home/<redacted>/.cache/molecule/s/default/.vagrant/machines/linux/virtualbox/private_key', 'IdentitiesOnly': 'yes', 'LogLevel': 'FATAL', 'invocation': {'module_args': {'instance_name': 'linux', 'platform_box': 'ubuntu/focal64', 'state': 'up', 'instance_interfaces': [], 'config_options': {}, 'provider_name': 'virtualbox', 'provider_memory': 512, 'provider_cpus': 2, 'provider_options': {}, 'provision': False, 'force_stop': False, 'instance_raw_config_args': None, 'platform_box_version': None, 'platform_box_url': None, 'provider_override_args': None, 'provider_raw_config_args': None, 'workdir': None}}, 'failed': False, 'item': {'box': 'ubuntu/focal64', 'name': 'linux'}, 'ansible_loop_var': 'item'})
2021-03-04T20:52:58.9459365Z
2021-03-04T20:52:58.9462656Z TASK [Convert instance config dict to a list] **********************************
2021-03-04T20:52:59.0227300Z ok: [localhost]
2021-03-04T20:52:59.0262820Z
2021-03-04T20:52:59.0265847Z TASK [Dump instance config] ****************************************************
2021-03-04T20:53:00.5117600Z --- before: /home/<redacted>/.cache/molecule/s/default/instance_config.yml
2021-03-04T20:53:00.5119848Z +++ after: /home/<redacted>/.ansible/tmp/ansible-local-225895wm78hlfp/tmpj0kx6vf2
2021-03-04T20:53:00.5121925Z @@ -1,2 +1,2 @@
2021-03-04T20:53:00.5124385Z -# Molecule managed
2021-03-04T20:53:00.5127321Z -{}
2021-03-04T20:53:00.5131098Z +- {address: 127.0.0.1, identity_file: /home/<redacted>/.cache/molecule/s/default/.vagrant/machines/linux/virtualbox/private_key,
2021-03-04T20:53:00.5134362Z +  instance: linux, port: '2222', user: vagrant}
2021-03-04T20:53:00.5136755Z
2021-03-04T20:53:00.5140912Z changed: [localhost]
2021-03-04T20:53:00.5192146Z
2021-03-04T20:53:00.5196325Z PLAY RECAP *********************************************************************
2021-03-04T20:53:00.5201513Z localhost                  : ok=4    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
2021-03-04T20:53:00.5204397Z
2021-03-04T20:53:00.5907630Z INFO     Running default > prepare
2021-03-04T20:53:00.5957188Z DEBUG: ANSIBLE ENVIRONMENT:
2021-03-04T20:53:00.5958371Z ANSIBLE_COLLECTIONS_PATH: /home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections
2021-03-04T20:53:00.5959626Z ANSIBLE_CONFIG: /home/<redacted>/.cache/molecule/s/default/ansible.cfg
2021-03-04T20:53:00.5962774Z ANSIBLE_FILTER_PLUGINS: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter
2021-03-04T20:53:00.5966472Z ANSIBLE_LIBRARY: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
2021-03-04T20:53:00.5969316Z ANSIBLE_ROLES_PATH: /home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
2021-03-04T20:53:00.5970126Z
2021-03-04T20:53:00.6003306Z DEBUG: MOLECULE ENVIRONMENT:
2021-03-04T20:53:00.6005395Z MOLECULE_DEBUG: 'True'
2021-03-04T20:53:00.6006000Z MOLECULE_DEPENDENCY_NAME: galaxy
2021-03-04T20:53:00.6006301Z MOLECULE_DRIVER_NAME: vagrant
2021-03-04T20:53:00.6006915Z MOLECULE_ENV_FILE: /home/<redacted>/azure-agent/_work/1/s/.env.yml
2021-03-04T20:53:00.6007359Z MOLECULE_EPHEMERAL_DIRECTORY: /home/<redacted>/.cache/molecule/s/default
2021-03-04T20:53:00.6007791Z MOLECULE_FILE: /home/<redacted>/.cache/molecule/s/default/molecule.yml
2021-03-04T20:53:00.6008259Z MOLECULE_INSTANCE_CONFIG: /home/<redacted>/.cache/molecule/s/default/instance_config.yml
2021-03-04T20:53:00.6008760Z MOLECULE_INVENTORY_FILE: /home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml
2021-03-04T20:53:00.6009445Z MOLECULE_PROJECT_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s
2021-03-04T20:53:00.6014534Z MOLECULE_PROVISIONER_NAME: ansible
2021-03-04T20:53:00.6015296Z MOLECULE_SCENARIO_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default
2021-03-04T20:53:00.6015761Z MOLECULE_SCENARIO_NAME: default
2021-03-04T20:53:00.6016142Z MOLECULE_STATE_FILE: /home/<redacted>/.cache/molecule/s/default/state.yml
2021-03-04T20:53:00.6016983Z MOLECULE_VERIFIER_NAME: ansible
2021-03-04T20:53:00.6017689Z MOLECULE_VERIFIER_TEST_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:53:00.6017957Z
2021-03-04T20:53:00.6034464Z DEBUG: SHELL REPLAY:
2021-03-04T20:53:00.6044155Z ANSIBLE_COLLECTIONS_PATH=/home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections ANSIBLE_CONFIG=/home/<redacted>/.cache/molecule/s/default/ansible.cfg ANSIBLE_FILTER_PLUGINS=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter ANSIBLE_LIBRARY=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules ANSIBLE_ROLES_PATH=/home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles MOLECULE_DEBUG=True MOLECULE_DEPENDENCY_NAME=galaxy MOLECULE_DRIVER_NAME=vagrant MOLECULE_ENV_FILE=/home/<redacted>/azure-agent/_work/1/s/.env.yml MOLECULE_EPHEMERAL_DIRECTORY=/home/<redacted>/.cache/molecule/s/default MOLECULE_FILE=/home/<redacted>/.cache/molecule/s/default/molecule.yml MOLECULE_INSTANCE_CONFIG=/home/<redacted>/.cache/molecule/s/default/instance_config.yml MOLECULE_INVENTORY_FILE=/home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml MOLECULE_PROJECT_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s MOLECULE_PROVISIONER_NAME=ansible MOLECULE_SCENARIO_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default MOLECULE_SCENARIO_NAME=default MOLECULE_STATE_FILE=/home/<redacted>/.cache/molecule/s/default/state.yml MOLECULE_VERIFIER_NAME=ansible MOLECULE_VERIFIER_TEST_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:53:00.6047843Z
2021-03-04T20:53:00.6048927Z COMMAND: ansible-playbook --diff --inventory /home/<redacted>/.cache/molecule/s/default/inventory --skip-tags molecule-notest,notest /home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/playbooks/prepare.yml
2021-03-04T20:53:01.1856528Z
2021-03-04T20:53:01.1859050Z PLAY [Prepare] *****************************************************************
2021-03-04T20:53:01.1980803Z
2021-03-04T20:53:01.1984559Z TASK [Bootstrap python for Ansible] ********************************************
2021-03-04T20:53:01.8939350Z ok: [linux]
2021-03-04T20:53:01.9025747Z
2021-03-04T20:53:01.9029625Z PLAY RECAP *********************************************************************
2021-03-04T20:53:01.9039459Z linux                      : ok=1    changed=0    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
2021-03-04T20:53:01.9040912Z
2021-03-04T20:53:01.9950232Z INFO     Running default > converge
2021-03-04T20:53:02.0029716Z DEBUG: ANSIBLE ENVIRONMENT:
2021-03-04T20:53:02.0031168Z ANSIBLE_COLLECTIONS_PATH: /home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections
2021-03-04T20:53:02.0032411Z ANSIBLE_CONFIG: /home/<redacted>/.cache/molecule/s/default/ansible.cfg
2021-03-04T20:53:02.0035000Z ANSIBLE_FILTER_PLUGINS: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter
2021-03-04T20:53:02.0037074Z ANSIBLE_LIBRARY: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
2021-03-04T20:53:02.0039091Z ANSIBLE_ROLES_PATH: /home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
2021-03-04T20:53:02.0039534Z
2021-03-04T20:53:02.0095397Z DEBUG: MOLECULE ENVIRONMENT:
2021-03-04T20:53:02.0096322Z MOLECULE_DEBUG: 'True'
2021-03-04T20:53:02.0097044Z MOLECULE_DEPENDENCY_NAME: galaxy
2021-03-04T20:53:02.0097378Z MOLECULE_DRIVER_NAME: vagrant
2021-03-04T20:53:02.0098047Z MOLECULE_ENV_FILE: /home/<redacted>/azure-agent/_work/1/s/.env.yml
2021-03-04T20:53:02.0098567Z MOLECULE_EPHEMERAL_DIRECTORY: /home/<redacted>/.cache/molecule/s/default
2021-03-04T20:53:02.0099031Z MOLECULE_FILE: /home/<redacted>/.cache/molecule/s/default/molecule.yml
2021-03-04T20:53:02.0099512Z MOLECULE_INSTANCE_CONFIG: /home/<redacted>/.cache/molecule/s/default/instance_config.yml
2021-03-04T20:53:02.0100062Z MOLECULE_INVENTORY_FILE: /home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml
2021-03-04T20:53:02.0100782Z MOLECULE_PROJECT_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s
2021-03-04T20:53:02.0101180Z MOLECULE_PROVISIONER_NAME: ansible
2021-03-04T20:53:02.0101821Z MOLECULE_SCENARIO_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default
2021-03-04T20:53:02.0102278Z MOLECULE_SCENARIO_NAME: default
2021-03-04T20:53:02.0102689Z MOLECULE_STATE_FILE: /home/<redacted>/.cache/molecule/s/default/state.yml
2021-03-04T20:53:02.0103094Z MOLECULE_VERIFIER_NAME: ansible
2021-03-04T20:53:02.0103787Z MOLECULE_VERIFIER_TEST_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:53:02.0104063Z
2021-03-04T20:53:02.0134035Z DEBUG: SHELL REPLAY:
2021-03-04T20:53:02.0143089Z ANSIBLE_COLLECTIONS_PATH=/home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections ANSIBLE_CONFIG=/home/<redacted>/.cache/molecule/s/default/ansible.cfg ANSIBLE_FILTER_PLUGINS=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter ANSIBLE_LIBRARY=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules ANSIBLE_ROLES_PATH=/home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles MOLECULE_DEBUG=True MOLECULE_DEPENDENCY_NAME=galaxy MOLECULE_DRIVER_NAME=vagrant MOLECULE_ENV_FILE=/home/<redacted>/azure-agent/_work/1/s/.env.yml MOLECULE_EPHEMERAL_DIRECTORY=/home/<redacted>/.cache/molecule/s/default MOLECULE_FILE=/home/<redacted>/.cache/molecule/s/default/molecule.yml MOLECULE_INSTANCE_CONFIG=/home/<redacted>/.cache/molecule/s/default/instance_config.yml MOLECULE_INVENTORY_FILE=/home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml MOLECULE_PROJECT_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s MOLECULE_PROVISIONER_NAME=ansible MOLECULE_SCENARIO_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default MOLECULE_SCENARIO_NAME=default MOLECULE_STATE_FILE=/home/<redacted>/.cache/molecule/s/default/state.yml MOLECULE_VERIFIER_NAME=ansible MOLECULE_VERIFIER_TEST_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:53:02.0147035Z
2021-03-04T20:53:02.0148098Z COMMAND: ansible-playbook --diff --inventory /home/<redacted>/.cache/molecule/s/default/inventory --skip-tags molecule-notest,notest /home/<redacted>/azure-agent/_work/1/s/molecule/default/converge.yml
2021-03-04T20:53:02.6051794Z
2021-03-04T20:53:02.6053760Z PLAY [Converge] ****************************************************************
2021-03-04T20:53:02.6155483Z
2021-03-04T20:53:02.6159429Z TASK [Gathering Facts] *********************************************************
2021-03-04T20:53:04.5564498Z ok: [linux]
2021-03-04T20:53:04.5721909Z
2021-03-04T20:53:04.5725926Z TASK [LS] **********************************************************************
2021-03-04T20:53:05.1400485Z changed: [linux]
2021-03-04T20:53:05.1489575Z
2021-03-04T20:53:05.1494684Z TASK [Include generic-server] **************************************************
2021-03-04T20:53:05.1695757Z ERROR! the role 'generic-server' was not found in /home/<redacted>/azure-agent/_work/1/s/molecule/default/roles:/home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/home/<redacted>/azure-agent/_work/1/s/molecule/default
2021-03-04T20:53:05.1697864Z
2021-03-04T20:53:05.1715447Z The error appears to be in '/home/<redacted>/azure-agent/_work/1/s/molecule/default/converge.yml': line 11, column 15, but may
2021-03-04T20:53:05.1716709Z be elsewhere in the file depending on the exact syntax problem.
2021-03-04T20:53:05.1717580Z
2021-03-04T20:53:05.1718367Z The offending line appears to be:
2021-03-04T20:53:05.1719030Z
2021-03-04T20:53:05.1719656Z       include_role:
2021-03-04T20:53:05.1721050Z         name: "generic-server"
2021-03-04T20:53:05.1721357Z               ^ here
2021-03-04T20:53:05.1721970Z
2021-03-04T20:53:05.1728491Z PLAY RECAP *********************************************************************
2021-03-04T20:53:05.1732177Z linux                      : ok=2    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
2021-03-04T20:53:05.1735769Z
2021-03-04T20:53:05.2236267Z CRITICAL Ansible return code was 2, command was: ansible-playbook --diff --inventory /home/<redacted>/.cache/molecule/s/default/inventory --skip-tags molecule-notest,notest /home/<redacted>/azure-agent/_work/1/s/molecule/default/converge.yml
2021-03-04T20:53:05.2242140Z WARNING  An error occurred during the test sequence action: 'converge'. Cleaning up.
2021-03-04T20:53:05.2417647Z INFO     Running default > cleanup
2021-03-04T20:53:05.2424541Z WARNING  Skipping, cleanup playbook not configured.
2021-03-04T20:53:05.2571128Z INFO     Running default > destroy
2021-03-04T20:53:05.2620453Z DEBUG: ANSIBLE ENVIRONMENT:
2021-03-04T20:53:05.2621483Z ANSIBLE_COLLECTIONS_PATH: /home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections
2021-03-04T20:53:05.2622910Z ANSIBLE_CONFIG: /home/<redacted>/.cache/molecule/s/default/ansible.cfg
2021-03-04T20:53:05.2625485Z ANSIBLE_FILTER_PLUGINS: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter
2021-03-04T20:53:05.2628843Z ANSIBLE_LIBRARY: /home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
2021-03-04T20:53:05.2631411Z ANSIBLE_ROLES_PATH: /home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
2021-03-04T20:53:05.2632124Z
2021-03-04T20:53:05.2661769Z DEBUG: MOLECULE ENVIRONMENT:
2021-03-04T20:53:05.2662838Z MOLECULE_DEBUG: 'True'
2021-03-04T20:53:05.2663376Z MOLECULE_DEPENDENCY_NAME: galaxy
2021-03-04T20:53:05.2663929Z MOLECULE_DRIVER_NAME: vagrant
2021-03-04T20:53:05.2664937Z MOLECULE_ENV_FILE: /home/<redacted>/azure-agent/_work/1/s/.env.yml
2021-03-04T20:53:05.2665709Z MOLECULE_EPHEMERAL_DIRECTORY: /home/<redacted>/.cache/molecule/s/default
2021-03-04T20:53:05.2666482Z MOLECULE_FILE: /home/<redacted>/.cache/molecule/s/default/molecule.yml
2021-03-04T20:53:05.2667260Z MOLECULE_INSTANCE_CONFIG: /home/<redacted>/.cache/molecule/s/default/instance_config.yml
2021-03-04T20:53:05.2668502Z MOLECULE_INVENTORY_FILE: /home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml
2021-03-04T20:53:05.2669776Z MOLECULE_PROJECT_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s
2021-03-04T20:53:05.2670498Z MOLECULE_PROVISIONER_NAME: ansible
2021-03-04T20:53:05.2671605Z MOLECULE_SCENARIO_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default
2021-03-04T20:53:05.2672307Z MOLECULE_SCENARIO_NAME: default
2021-03-04T20:53:05.2672965Z MOLECULE_STATE_FILE: /home/<redacted>/.cache/molecule/s/default/state.yml
2021-03-04T20:53:05.2673606Z MOLECULE_VERIFIER_NAME: ansible
2021-03-04T20:53:05.2674762Z MOLECULE_VERIFIER_TEST_DIRECTORY: /home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:53:05.2675220Z
2021-03-04T20:53:05.2693279Z DEBUG: SHELL REPLAY:
2021-03-04T20:53:05.2703130Z ANSIBLE_COLLECTIONS_PATH=/home/<redacted>/.cache/molecule/s/default/collections:/home/<redacted>/.ansible/collections:/usr/share/ansible/collections:/etc/ansible/collections ANSIBLE_CONFIG=/home/<redacted>/.cache/molecule/s/default/ansible.cfg ANSIBLE_FILTER_PLUGINS=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/filter:/home/<redacted>/.cache/molecule/s/default/plugins/filter:/home/<redacted>/azure-agent/_work/1/s/plugins/filter:/home/<redacted>/.ansible/plugins/filter:/usr/share/ansible/plugins/filter ANSIBLE_LIBRARY=/home/<redacted>/.local/lib/python3.8/site-packages/molecule/provisioner/ansible/plugins/modules:/home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/modules:/home/<redacted>/.cache/molecule/s/default/library:/home/<redacted>/azure-agent/_work/1/s/library:/home/<redacted>/.ansible/plugins/modules:/usr/share/ansible/plugins/modules ANSIBLE_ROLES_PATH=/home/<redacted>/.cache/molecule/s/default/roles:/home/<redacted>/azure-agent/_work/1:/home/<redacted>/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles MOLECULE_DEBUG=True MOLECULE_DEPENDENCY_NAME=galaxy MOLECULE_DRIVER_NAME=vagrant MOLECULE_ENV_FILE=/home/<redacted>/azure-agent/_work/1/s/.env.yml MOLECULE_EPHEMERAL_DIRECTORY=/home/<redacted>/.cache/molecule/s/default MOLECULE_FILE=/home/<redacted>/.cache/molecule/s/default/molecule.yml MOLECULE_INSTANCE_CONFIG=/home/<redacted>/.cache/molecule/s/default/instance_config.yml MOLECULE_INVENTORY_FILE=/home/<redacted>/.cache/molecule/s/default/inventory/ansible_inventory.yml MOLECULE_PROJECT_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s MOLECULE_PROVISIONER_NAME=ansible MOLECULE_SCENARIO_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default MOLECULE_SCENARIO_NAME=default MOLECULE_STATE_FILE=/home/<redacted>/.cache/molecule/s/default/state.yml MOLECULE_VERIFIER_NAME=ansible MOLECULE_VERIFIER_TEST_DIRECTORY=/home/<redacted>/azure-agent/_work/1/s/molecule/default/tests
2021-03-04T20:53:05.2709452Z
2021-03-04T20:53:05.2711093Z COMMAND: ansible-playbook --diff --inventory /home/<redacted>/.cache/molecule/s/default/inventory --skip-tags molecule-notest,notest /home/<redacted>/.local/lib/python3.8/site-packages/molecule_vagrant/playbooks/destroy.yml
2021-03-04T20:53:05.8590434Z
2021-03-04T20:53:05.8592193Z PLAY [Destroy] *****************************************************************
2021-03-04T20:53:05.8704998Z
2021-03-04T20:53:05.8708109Z TASK [Destroy molecule instance(s)] ********************************************
2021-03-04T20:53:19.4006035Z changed: [localhost] => (item=linux)
2021-03-04T20:53:19.4044393Z
2021-03-04T20:53:19.4049369Z TASK [Populate instance config] ************************************************
2021-03-04T20:53:19.4550072Z ok: [localhost]
2021-03-04T20:53:19.4590496Z
2021-03-04T20:53:19.4594276Z TASK [Dump instance config] ****************************************************
2021-03-04T20:53:20.8714340Z --- before: /home/<redacted>/.cache/molecule/s/default/instance_config.yml
2021-03-04T20:53:20.8715801Z +++ after: /home/<redacted>/.ansible/tmp/ansible-local-22792087koq0fk/tmps9dgnztl
2021-03-04T20:53:20.8717755Z @@ -1,2 +1,2 @@
2021-03-04T20:53:20.8721400Z -- {address: 127.0.0.1, identity_file: /home/<redacted>/.cache/molecule/s/default/.vagrant/machines/linux/virtualbox/private_key,
2021-03-04T20:53:20.8724756Z -  instance: linux, port: '2222', user: vagrant}
2021-03-04T20:53:20.8727370Z +# Molecule managed
2021-03-04T20:53:20.8730016Z +{}
2021-03-04T20:53:20.8732610Z
2021-03-04T20:53:20.8737202Z changed: [localhost]
2021-03-04T20:53:20.8789973Z
2021-03-04T20:53:20.8794110Z PLAY RECAP *********************************************************************
2021-03-04T20:53:20.8798539Z localhost                  : ok=3    changed=2    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0
2021-03-04T20:53:20.8801060Z
2021-03-04T20:53:20.9269016Z INFO     Pruning extra files from scenario ephemeral directory
2021-03-04T20:53:21.1372992Z ##[error]Bash exited with code '1'.
2021-03-04T20:53:21.1393852Z ##[section]Finishing: Test relevant platforms

I suppose then that my question is where should the role be placed in the file structure of the VM. That way I can potentially troubleshoot it on my end. When I tried to run tree on /home/<redacted>/azure-agent/_work/1/s as part of the converge.yml tasklist, I simply got a  message telling me there were no files or directories within.

A couple of things to consider, the agent runner is self-hosted as I say and there are some hoops you have to jump through to get those working on Azure, the biggest of which being that you need to put Python in the tools directory to use the UsePythonVersion  task. This is so I can use different versions of Python in testing later.
Not quite related but I also tried using virtualenv with no success, this actually ignored the configurations within following source venv/bin/activate (venv being the name of my environment), instead defaulting to the variables as before. Therefore I do wonder if this is something Azure is doing which maybe makes it not viable for this in the same way...

I suspect this part of the documentation is what I need
Environment variables. Molecule does its best to handle common Ansible paths. The defaults are as follows.

ANSIBLE_ROLES_PATH:
  $ephemeral_directory/roles/:$project_directory/../:~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles
ANSIBLE_LIBRARY:
  $ephemeral_directory/modules/:$project_directory/library/:~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
ANSIBLE_FILTER_PLUGINS:
  $ephemeral_directory/plugins/filter/:$project_directory/filter/plugins/:~/.ansible/plugins/filter:/usr/share/ansible/plugins/modules
Environment variables can be passed to the provisioner. Variables in this section which match the names above will be appened to the above defaults, and converted to absolute paths, where the relative parent is the $scenario_directory.

Now to figure out the format of that schema so I can use those variables. The documentation shows I can set it but not the structure I should use for it.

I think I might be onto something. The playbook looks in the work directory (i.e. ~/azure-agent/_work/1/) but the directory used for the project files is actually ~/azure-agent/_work/1/s. This would suggest why generic-server can't be found, it's actually named s within that path. Therefore as I see it one of two things are possible:

Set the converge script to look for s not generic-server
Add an azure command to copy the files from s/ to s/generic-server then set the ANSIBLE_ROLES_PATH so that it uses s/ as well.

My hunch was right, the simple fact that the directory structure the azure pipeline directory is ~/azure-agent/_work/1/s instead of ~/azure-agent/_work/1/generic-server was the problem so setting the converge.yml playbook to import s instead of generic-server fixed it. I will look to add an azure task to instead add to the role directory variable for my molecule environment then I'll look to add some invormation to the CI documentation for future readers.

PR added in https://github.com/ansible-community/molecule/pull/3069

Merged into master today.

source: gharchive/issue

repo: ansible-community/molecule

license: MIT

license_type: permissive

license_source: github-api


text:
Alternative to fail with incompatible OS

Feature Request

At present, the first task in the role is to assess whether the operating system is RHEL8 and if not, fail. Is there a way around this/is it plausible to simply have the role 'skipped' instead, in the role itself?

Context: I am using Ansible as host configuration management within Red hat Satellite. In this scenario, there is no playbook running this role, but instead, a hostgroup which contains a mix of OS has a default set of Ansible roles and simply runs 'all ansible roles' against all hosts. In this scenario, when the OS is correctly evaluated as not being RHEL8, the role fails, failing the job and preventing all other (valid) roles from being applied
Summary of Request
Instead of failing when the detected OS is not RHEL8, the role should be skipped
Describe alternatives you've considered
In the context of how we're using the role, i'm not sure that there is an alternative to modifying the role
Suggested Code
in main.yml, rather than fail, perhaps an 'assert that' task or similar which does the same check, with the result registered and then added as a when criteria on the remaining includes so that the same result is achieved (no additional tasks are run) but the playbook is not 'failed'

I would also like to add my 2 cents. Due to CentOS going EOL we are working to migrate to Amazon Linux 2 and this issue appears to prevent the script from running against AL2 instances.

Hi @RayMcAdmin @ccravens
Thank you both for taking the time to raise this issue and confirmation.
There is a new branch called 0s_checks that should work for you both.
The check has been changed to an assert with a when statement
if os_checks = true and not system_is_ec2 (is the system is AWS hosted)
This should allow you to skip if you don't want to check OR or you are using the system_is_ec2 varaible for AWS systems.
As we are aware CentOS now set to stream this is also tested against both Rocky and AlmaLinux which are picking up where CentOS has left off.
For Amazon Linux - this is not tested and i am sure there are some differences that would need to be worked through.
If you could let me know if this solution works for you i can raise the PR to pull this in.
Many thanks
uk-bolly

Hi @RayMcAdmin @ccravens
This option now being available, this should get you through the steps you need so you can run where required
With regard to Amazon Linux this a very different benchmark for CIS and doesnt align with other official releases (Watch this space over the next week or so :) ).
Regards
ukbolly

Hi @RayMcAdmin @ccravens
We have this week released a specific amazonlinux2 CIS benchmark. This is different from RHEL with different control IDs (as per the benchmark documentation).
For those who need to adhere to the amazonlinux specific benchmark controls this is the one to choose.
regards
ukbolly

@uk-bolly excellent work thank you for this!

authors: RayMcAdmin ccravens uk-bolly


text:
Add a variable to test faillock dir to tests

To update the faillock dir to be a variable updated relevant controls and stig.yml
Signed-off-by: Mark Bolwell mark.bollyuk@gmail.com

Already incorporated in later PR

source: gharchive/pull-request


text:
5.1.8 and 5.1.9 permissions error

Describe the Issue
Hi, i noticed that the step 5.1.8 and 5.1.9 set the permissions to 600 but the CIS recommendations is to set it to 640. That is making the rule to be failed in the CIS Benchmark.
Expected Behavior
The expected behavior should be to set permissions to 640 insted of 600.
Actual Behavior
At the moment rules go to failed because of the permissions not being 640.

name: "5.1.8 | PATCH | Ensure cron is restricted to authorized users"
block:
- name: "5.1.8 | PATCH | Ensure cron is restricted to authorized users | Remove cron.deny"
ansible.builtin.file:
path: /etc/cron.deny
state: absent
- name: "5.1.8 | PATCH | Ensure cron is restricted to authorized users | Check if cron.allow exists"
  ansible.builtin.stat:
      path: "/etc/cron.allow"
  register: rhel9cis_5_1_8_cron_allow_state

- name: "5.1.8 | PATCH | Ensure cron is restricted to authorized users | Ensure cron.allow is restricted to authorized users"
  ansible.builtin.file:
      path: /etc/cron.allow
      state: '{{ "file" if  rhel9cis_5_1_8_cron_allow_state.stat.exists else "touch" }}'
      owner: root
      group: root
      mode: '0600'

when:
- rhel9cis_rule_5_1_8
tags:
- level1-server
- level1-workstation
- patch
- cron
- rule_5.1.8

name: "5.1.9 | PATCH | Ensure at is restricted to authorized users"
block:
- name: "5.1.9 | PATCH | Ensure at is restricted to authorized users | Remove at.deny"
ansible.builtin.file:
path: /etc/at.deny
state: absent
- name: "5.1.9 | PATCH | Ensure at is restricted to authorized users | Check if at.allow exists"
  ansible.builtin.stat:
      path: "/etc/at.allow"
  register: rhel9cis_5_1_9_at_allow_state

- name: "5.1.9 | PATCH | Ensure at is restricted to authorized users | Ensure at.allow is restricted to authorized users"
  ansible.builtin.file:
      path: /etc/at.allow
      state: '{{ "file" if  rhel9cis_5_1_9_at_allow_state.stat.exists else "touch" }}'
      owner: root
      group: root
      mode: '0600'

when:
- rhel9cis_rule_5_1_9
tags:
- level1-server
- level1-workstation
- patch
- cron
- rule_5.1.9

Possible Solution
I tested to set the permissions to 640 and it's not failed anymore

name: "5.1.8 | PATCH | Ensure cron is restricted to authorized users"
block:
- name: "5.1.8 | PATCH | Ensure cron is restricted to authorized users | Remove cron.deny"
ansible.builtin.file:
path: /etc/cron.deny
state: absent
- name: "5.1.8 | PATCH | Ensure cron is restricted to authorized users | Check if cron.allow exists"
  ansible.builtin.stat:
      path: "/etc/cron.allow"
  register: rhel9cis_5_1_8_cron_allow_state

- name: "5.1.8 | PATCH | Ensure cron is restricted to authorized users | Ensure cron.allow is restricted to authorized users"
  ansible.builtin.file:
      path: /etc/cron.allow
      state: '{{ "file" if  rhel9cis_5_1_8_cron_allow_state.stat.exists else "touch" }}'
      owner: root
      group: root
      mode: '0640'

when:
- rhel9cis_rule_5_1_8
tags:
- level1-server
- level1-workstation
- patch
- cron
- rule_5.1.8

name: "5.1.9 | PATCH | Ensure at is restricted to authorized users"
block:
- name: "5.1.9 | PATCH | Ensure at is restricted to authorized users | Remove at.deny"
ansible.builtin.file:
path: /etc/at.deny
state: absent
- name: "5.1.9 | PATCH | Ensure at is restricted to authorized users | Check if at.allow exists"
  ansible.builtin.stat:
      path: "/etc/at.allow"
  register: rhel9cis_5_1_9_at_allow_state

- name: "5.1.9 | PATCH | Ensure at is restricted to authorized users | Ensure at.allow is restricted to authorized users"
  ansible.builtin.file:
      path: /etc/at.allow
      state: '{{ "file" if  rhel9cis_5_1_9_at_allow_state.stat.exists else "touch" }}'
      owner: root
      group: root
      mode: '0640'

when:
- rhel9cis_rule_5_1_9
tags:
- level1-server
- level1-workstation
- patch
- cron
- rule_5.1.9

hi @Wykx-Sama
Thank you for taking the time in raising the issue and the associated PR.
Going through the associated CIS documentation for these controls it provides a remediation script.
Admittedly we all get things wrong occasionally, but we have been seeing an increase in issues with scanners not following documented control baselines.
Out of interest which scanner are you using?
The component for both cron.allow 5.1.8 and at.allow 5.1.9 have the line (excert - larger output below)
chmod u-x,go-rwx /etc/cron.allow

which give the value 600
So it appears the scanner is not as expected.
I hope that this makes sense.
many thanks
uk-bolly
Remediation Procedure
Run the following script to remove /etc/cron.deny, create /etc/cron.allow, and set the file mode on /etc/cron.allow:

#!/usr/bin/env bash

{
   if rpm -q cronie >/dev/null; then
      [ -e /etc/cron.deny ] && rm -f /etc/cron.deny
      [ ! -e /etc/cron.allow ] && touch /etc/cron.allow
      chown root:root /etc/cron.allow
      chmod u-x,go-rwx /etc/cron.allow
   else
      echo "cron is not installed on the system"
   fi
}

hi @Wykx-Sama
This issue has been open for a while with no feedback. I will therefore close this. Please reopen if you feel this is still an issue with the role.
many thanks
uk-bolly

authors: Wykx-Sama uk-bolly


text:
[AAP-24645] Instance Details Switch

Moved instance switch to instance details section so topology view side bar has access to it. Customers can enable and disable an instance from the instances list, instance detail page and topology sidebar now (Just added).
Related JIRA: AAP-24645

Made the requested changes

repo: ansible/ansible-ui


text:
Fix summary_fields for the User model, document expectations

So this doesn't really fix anything at this point, but it gets us to at least identifying the problem. Here, as you can see, I define a customer user model that defines summary_fields. Maybe this is a sufficient argument to put in a new abstract user model (beyond the is_system_auditor which I closed, but probably shouldn't have).

Update - I went ahead and put in logic such that the issue I filed will be completely resolved.

repo: ansible/django-ansible-base


text:
Fixed repository name

Fixed repository name for git clone.

Thank you for merge!

repo: ansible/eda-server


text:
Fix publish error (no 'prefix' in str format)

Fixes: ansible/galaxy-dev#163

It's still broken

  |
-- | --
Response payload |
IntegrityError at /api/automation-hub/v3/artifacts/collections/ null value in column "task_id" violates not-null constraint DETAIL:  Failing row contains (null, null, collection_demo, 1.0.26, 1).   Request Method: POST Request URL: http://host.docker.internal:5001/api/automation-hub/v3/artifacts/collections/ Django Version: 2.2.5 Python Executable: /venv/bin/python3.6 Python Version: 3.6.8 Python Path: ['/venv/bin', '/usr/lib64/python36.zip', '/usr/lib64/python3.6', '/usr/lib64/python3.6/lib-dynload', '/venv/lib64/python3.6/site-packages', '/code/galaxy-api', '/venv/lib/python3.6/site-packages'] Server time: Wed, 6 Nov 2019 13:30:17 +0000 Installed Applications: ['django.contrib.admin',  'django.contrib.auth',  'django.contrib.contenttypes',  'django.contrib.messages',  'django.contrib.sessions',  'django.contrib.staticfiles',  'rest_framework',  'django_filters',  'galaxy_api.api',  'galaxy_api.auth'] Installed Middleware: ['django.middleware.security.SecurityMiddleware',  'django.middleware.common.CommonMiddleware',  'django.middleware.csrf.CsrfViewMiddleware',  'django.middleware.clickjacking.XFrameOptionsMiddleware',  'django.contrib.sessions.middleware.SessionMiddleware',  'django.contrib.auth.middleware.AuthenticationMiddleware',  'django.contrib.messages.middleware.MessageMiddleware']   Traceback:  File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py" in _execute   84.                 return self.cursor.execute(sql, params)  The above exception (null value in column "task_id" violates not-null constraint DETAIL:  Failing row contains (null, null, collection_demo, 1.0.26, 1). ) was the direct cause of the following exception:  File "/venv/lib64/python3.6/site-packages/django/core/handlers/exception.py" in inner   34.             response = get_response(request)  File "/venv/lib64/python3.6/site-packages/django/core/handlers/base.py" in _get_response   115.                 response = self.process_exception_by_middleware(e, request)  File "/venv/lib64/python3.6/site-packages/django/core/handlers/base.py" in _get_response   113.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)  File "/venv/lib64/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view   54.         return view_func(*args, **kwargs)  File "/venv/lib64/python3.6/site-packages/django/views/generic/base.py" in view   71.             return self.dispatch(request, *args, **kwargs)  File "/venv/lib64/python3.6/site-packages/rest_framework/views.py" in dispatch   505.             response = self.handle_exception(exc)  File "/venv/lib64/python3.6/site-packages/rest_framework/views.py" in handle_exception   465.             self.raise_uncaught_exception(exc)  File "/venv/lib64/python3.6/site-packages/rest_framework/views.py" in raise_uncaught_exception   476.         raise exc  File "/venv/lib64/python3.6/site-packages/rest_framework/views.py" in dispatch   502.             response = handler(request, *args, **kwargs)  File "/code/galaxy-api/galaxy_api/api/v3/viewsets.py" in post   200.             version=data['filename'].version,  File "/venv/lib64/python3.6/site-packages/django/db/models/manager.py" in manager_method   82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)  File "/venv/lib64/python3.6/site-packages/django/db/models/query.py" in create   422.         obj.save(force_insert=True, using=self.db)  File "/venv/lib64/python3.6/site-packages/django/db/models/base.py" in save   741.                        force_update=force_update, update_fields=update_fields)  File "/venv/lib64/python3.6/site-packages/django/db/models/base.py" in save_base   779.                 force_update, using, update_fields,  File "/venv/lib64/python3.6/site-packages/django/db/models/base.py" in _save_table   870.             result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)  File "/venv/lib64/python3.6/site-packages/django/db/models/base.py" in _do_insert   908.                                using=using, raw=raw)  File "/venv/lib64/python3.6/site-packages/django/db/models/manager.py" in manager_method   82.                 return getattr(self.get_queryset(), name)(*args, **kwargs)  File "/venv/lib64/python3.6/site-packages/django/db/models/query.py" in _insert   1186.         return query.get_compiler(using=using).execute_sql(return_id)  File "/venv/lib64/python3.6/site-packages/django/db/models/sql/compiler.py" in execute_sql   1335.                 cursor.execute(sql, params)  File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py" in execute   99.             return super().execute(sql, params)  File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py" in execute   67.         return self._execute_with_wrappers(sql, params, many=False, executor=self._execute)  File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py" in _execute_with_wrappers   76.         return executor(sql, params, many, context)  File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py" in _execute   84.                 return self.cursor.execute(sql, params)  File "/venv/lib64/python3.6/site-packages/django/db/utils.py" in __exit__   89.                 raise dj_exc_value.with_traceback(traceback) from exc_value  File "/venv/lib64/python3.6/site-packages/django/db/backends/utils.py" in _execute   84.                 return self.cursor.execute(sql, params)  Exception Type: IntegrityError at /api/automation-hub/v3/artifacts/collections/ Exception Value: null value in column "task_id" violates not-null constraint DETAIL:  Failing row contains (null, null, collection_demo, 1.0.26, 1).

Why aren't we using the same endpoint as before?

had the same issue as David (see nr.2 in "I've tried" section of https://github.com/ansible/galaxy-dev/issues/163 issue)

Why aren't we using the same endpoint as before?

@newswangerd As far as I know, we are using the same endpoint?  What was it before?
Pulp exposes pulp_ansible.app.viewsets.CollectionUploadViewSet at '/ansible/collections'
https://pulp-ansible.readthedocs.io/en/latest/restapi.html#operation/ansible_collections_create

@newswangerd @romanblanco I just updated and rebuilt everything and now I'm seeing the task_id null error as well.
Very verbose logs at http://pastebin.test.redhat.com/811942

Looks like GET to the task resource is setting task_id None, which causes the galaxy-api CollectionImport creation to fail because of the null task_id.
@newswangerd  Wasn't this previous broken and fixed on the pulp end? Feels like a regression.
pulp-api_1               | 2019-11-06 16:08:49,634| django.server basehttp:log_message:154 35 140167848826624 INFO| "GET /pulp/api/v3/tasks/6e500795-d56a-4507-a040-5985ca795e93/ HTTP/1.1" 200 489
galaxy-api_1             | DEBUG 2019-11-06 16:08:49,641 galaxy_api.api.v3.viewsets viewsets:post:192 33 Thread-6 task_detail: {'created_at': None,
galaxy-api_1             |  'error': None,
galaxy-api_1             |  'finished_at': None,
galaxy-api_1             |  'id': None,
galaxy-api_1             |  'messages': None,
galaxy-api_1             |  'started_at': datetime.datetime(2019, 11, 6, 16, 8, 49, 510373, tzinfo=tzlocal()),
galaxy-api_1             |  'state': 'running',
galaxy-api_1             |  'updated_at': None}
galaxy-api_1             | INFO 2019-11-06 16:08:49,642 galaxy_api.api.v3.viewsets viewsets:post:195 33 Thread-6 Publishing of artifact alikins-test_collection-0.0.112.tar.gz to namespace=alikins by user=alikins created pulp import task_id=None
postgres_1               | 2019-11-06 16:08:49.643 UTC [98] ERROR:  null value in column "task_id" violates not-null constraint
postgres_1               | 2019-11-06 16:08:49.643 UTC [98] DETAIL:  Failing row contains (null, null, test_collection, 0.0.112, 1).
postgres_1               | 2019-11-06 16:08:49.643 UTC [98] STATEMENT:  INSERT INTO "galaxy_api_collectionimport" ("task_id", "created_at", "namespace_id", "name", "version") VALUES (NULL, NULL, 1, 'test_collection', '0.0.112')

@newswangerd @romanblanco @daviddavis
The similar previous issue:
https://github.com/ansible/galaxy-dev/issues/124
https://pulp.plan.io/issues/5569
https://github.com/pulp/pulp_ansible/pull/228

@newswangerd @romanblanco updated, should work now.
The publish endpoint path introduced in f78082d009398d9415262a51c8b0d0cbd8fd7002 was wrong and broke things.

authors: alikins romanblanco

repo: ansible/galaxy-api


text:
Proposal: docker_images load image without specifying a name

Proposal: docker_images load image without specifying a name
Author: David Zisky <@DavidZisky>
Date: 2018/07/18

Status: New
Proposal type: improvement
Targeted Release: 2.7?
Associated PR: -
Estimated time to implement: few days?

Motivation
It would drastically improve the usability of this module in regards to loading images. When loading docker images from file manually You don't need to specify the name of the image (because docker gets it from the file itself). That should be the same for ansible as currently, it don't allow to build any automation if You need to download some images from other hosts or (in my particular case) you have one tar file in which there are few different images saved. In this case, docker_images will not be able to load images from that file (because You can only specify one name)
Problems

Loading few images saved in one tar file
Loading images for which You don't know the name upfront (for example if You want to get latest version not knowing exactly what the version is or simply dev team is saving images to file and their name are hashed or so

Solution proposal

"Name" parameter should not be required if load_path is specified (and name itself should be determined by ansible/docker)
Or "Name" can persist required but should have some value like "as original" or "as_load"

Dependencies (optional)

not sure

Testing (optional)
Simply try to load docker image from tar file without specifying the name and loading few docker images from one tar file
Documentation (optional)
Just small addition/explanation how was it implemented in regards to "Name" parameter

Ahh, yes make sense, sorry will open FR there.

repo: ansible/proposals


text:
Nested workflows

Will nested workflows be supported soon? As in will I be able to create workflow job templates that call other workflow job templates? Its a feature in tower 3.4.
Currently if I try using tower-cli with a tower/awx system that has such workflows defined i get an error like the following:
File "/root/.local/lib/python2.7/site-packages/tower_cli/resources/workflow.py", line 299, in schema
    return self._get_schema(wfjt)
  File "/root/.local/lib/python2.7/site-packages/tower_cli/resources/workflow.py", line 254, in _get_schema
    return self._workflow_node_structure(node_results)
  File "/root/.local/lib/python2.7/site-packages/tower_cli/resources/workflow.py", line 243, in _workflow_node_structure
    schema_dict.append(branch_schema(root_node_id))
  File "/root/.local/lib/python2.7/site-packages/tower_cli/resources/workflow.py", line 226, in branch_schema
    ujt_key = JOB_TYPES[job_type]
KeyError: u'workflow_job'

Hi, the fix is not working in the ansible module tower_workflow_template. Any suggestions ?

authors: murphyki puneethkosaraju

repo: ansible/tower-cli


text:
Backend error when clicking Setting - Account after upgrade to v1.1.1

Describe the bug
When clicking on Setting - Account, the backend interface "answer/api/v1/connector/user/info" returns an error. The response data is:
 {"code": 500,"reason": "base.database_error", "msg": "Data server error.", "data": null}
This problem did not exist before. The error started happening after upgrading from v1.1.0 to v1.1.1. The deployment platform is Docker.
To Reproduce
Steps to reproduce the behavior:
Click on Setting - Account
The interface "answer/api/v1/connector/user/info" will return the error response above
Expected behavior
The interface "answer/api/v1/connector/user/info" should return user info data instead of error.
Platform (please complete the following information):

Device: Desktop
OS: Ubuntu 20.04
Version: Upgraded from v1.1.0 to v1.1.1

Since my native language is not English, this issue was written with the assistance of an AI. Please let me know if there are any errors that need correcting.

@hikae Sorry, if you have configured any connector plugins? Can you provide a log message of the error that occurred?

No, I have not configured the connector plugin.
Here is the log

@hikae From the logs, it appears that the problem is caused by the user_external_login table not existing. The strange thing is that this table should have been created in v1.0.5. You can try to resolve this issue by first manually doing an upgrade in the following way.

Start and enter the docker container: docker exec -it answer bash answer is your container name.
Execute the upgrade command manually to upgrade: answer upgrade -f v1.0.5
If the upgrade fails in the process, please reply to the upgrade failure log.

@LinkinStars The issue has been resolved. Thank you very much!

repo: answerdev/answer


text:
Support WeChat Work（WeCom） QR Code Login.

I once raised a feature request, but I don't know why I suddenly can't find it.

We move the issue to /plugin repo.


text:
API documentation--member selection doesn't remain active

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
In the "API reference" section, when you click a link in the left navigation bar, clicking the back arrow doesn't keep your placce. This is frustrating if you have expanded a long list of API members and want to continue looking at members in this same area.
📝 Steps to reproduce
I noticed this when doing the overall doc review for the ansys/pyansys-tools-variableinterop: https://github.com/ansys/pyansys-tools-variableinterop/pull/132
💻 Which operating system are you using?
Windows
📀 Which ANSYS version are you using?
N/A
🐍 Which Python version are you using?
3.11
📦 Installed packages
N/A

I have reformatted the AutoAPI documentation and breadcrumbs to address the issue. @PipKat , could you kindly confirm if the problem still persists? If everything is resolved, would it be alright to close the issue? Thank you!

Hi @PipKat, I have reproduced this issue. Right now, the behavior depends on the pages you have visited.
For example:
module-A -> object-A -> link-to-object-B

module-B -> object-B

If you click in the link-to-object-B, you land in module-B -> object-B. If you click the back arrow button of your browser, it brings you back to module-A -> object-A because this is where you were one page before.
This is the expected behavior of the browser. Is this the situation you are facing?

authors: PipKat Revathyvenugopal162 jorgepiloto

repo: ansys/ansys-sphinx-theme


text:
Bug located in get_autoapi_templates_dir_relative_path

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
Hi all,
My local documentation build fails since I cannot use get_autoapi_templates_dir_relative_path in conf.py when ansys-sphinx-theme is installed on a different mount than the conf.py. Relative paths cannot be resolved when on different mounts:
Traceback (most recent call last):
  File "C:\ProgramData\miniforge3\envs\my-python-env\lib\site-packages\sphinx\config.py", line 358, in eval_config_file
    exec(code, namespace)  # NoQA: S102
  File "D:\development\my-package\doc\source\conf.py", line 136, in <module>
    autoapi_template_dir = get_autoapi_templates_dir_relative_path(Path(__file__))
  File "C:\ProgramData\miniforge3\envs\my-python-env\lib\site-packages\ansys_sphinx_theme\__init__.py", line 101, in get_autoapi_templates_dir_relative_path
    return os.path.relpath(str(AUTOAPI_TEMPLATES_PATH.absolute()), start=str(path.absolute()))
  File "C:\ProgramData\miniforge3\envs\my-python-env\lib\ntpath.py", line 718, in relpath
    raise ValueError("path is on mount %r, start on mount %r" % (
ValueError: path is on mount 'C:', start on mount 'D:'

Essentially this means that ansys-sphinx-theme must always be installed on the same mount as the package/conf.py that wishes to use the autoapi template.
My current workaround is to specify the absolute path to the autoapi templates directory in conf.py:
# Not working:
# autoapi_template_dir = get_autoapi_templates_dir_relative_path(Path(__file__))
# Local workaround:
autoapi_template_dir = r"C:\ProgramData\miniforge3\envs\my-python-env\Lib\site-packages\ansys_sphinx_theme\theme\ansys_sphinx_theme\_templates\autoapi"

📝 Steps to reproduce

Create a virtual environment on mount C with ansys-sphinx-theme:
Run the following Python code:

from ansys_sphinx_theme import get_autoapi_templates_dir_relative_path
from pathlib import Path

get_autoapi_templates_dir_relative_path(Path("D:"))

💻 Which operating system are you using?
Windows
📀 Which ANSYS version are you using?
No response
🐍 Which Python version are you using?
3.10
📦 Installed packages
ansys-sphinx-theme

#472  is fixing the issue with the depth, once this PR closes and after a Patch release, using the autoapi theme option should resolves this issue https://sphinxdocs.ansys.com/version/stable/user-guide/autoapi.html

Ansys sphinx theme v1.0.7 is out with required fixes. We can test it in pyansys heart @mhoeijm and close this issue if it fixes.

Thanks @Revathyvenugopal162. Unfortunately this still does not work for me (in a fresh 3.10 environment with just ansys-sphinx-theme installed):
from ansys_sphinx_theme import get_autoapi_templates_dir_relative_path
from pathlib import Path

get_autoapi_templates_dir_relative_path(Path("D:"))

Note that my virtual environment is on C:

It's no longer necessary to import this function from the Ansys Sphinx theme; autoapi is now a theme option. I've opened a PR to address this issue in PyAnsys Heart and have updated the dependencies (Sphinx and AutoAPI) as part of the PR. If needed, I can also include a link to the documentation in the PR.


text:
fix: change logo link so that it renders properly on PyPI

As title says - otherwise logo does not render on PyPI. See https://pypi.org/project/ansys-geometry-core/0.7.1/
See PyMechanical, where this is solved: https://pypi.org/project/ansys-mechanical-core/0.11.7/

@jorgepiloto - just FYI

Pinging @ansys/pyansys-core for visibility on other projects

repo: ansys/pyansys-geometry


text:
feat: adding pyansys-sound

Adding pyansys-sound to the PyAnsys metapackage.

It seems pyansys-sound needs to support older versions of platformdirs. Longer-term, though, ansys-fluent-core may also need to lift this restriction (if it's even a real incompatibility):
ansys-fluent-core 0.21.2 depends on platformdirs<4.0.0 and >=3.5.1

It seems pyansys-sound needs to support older versions of platformdirs. Longer-term, though, ansys-fluent-core may also need to lift this restriction (if it's even a real incompatibility):
ansys-fluent-core 0.21.2 depends on platformdirs<4.0.0 and >=3.5.1

I completly agree... unless it's a real restriction on PyFluent they should make it more flexible

Pinging @mkundu1 for visibility.

What should be the supported version range for platformdirs? I see most repos are using >=3.6: https://github.com/search?q=org%3Aansys+platformdirs+language%3ATOML&type=code&l=TOML

Fixed in pyfluent version 0.21.3

authors: RobPasMue clatapie greschd mkundu1

repo: ansys/pyansys