Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update repository with a pre-check role, updated meta data files and align with Ansible best practices #108

Merged
merged 57 commits into from
Aug 16, 2021

Conversation

ddimatos
Copy link
Member

@ddimatos ddimatos commented Aug 13, 2021

This rather large pull request started out touching many files which had the deprecated zos_ssh connection plugin, given so many projects were being changed, I decided to take the opportunity and address many more issues and lay the foundation down for some future needs.

This pull request:

  1. Removes all zos_ssh connection plugins from playbooks (breaking change if not removed)
  2. It introduces a changelog.yml to track the changes since there is really no ideal way to have official releases of this repository given a collective effort; it removes changelog entries from playbooks and transfers to changlog.yml
  3. It standardizes on extension .yml over a mix of both .yml and .yaml
  4. It introduces directory inventories/ with host_vars/*.yml,group_vars/all.yml and inventory.yml in an effort:
  • to align with Ansibles best practices
  • place the vars higher in the precedence ordering
  • Organize host and group vars such that group_vars/all.yml is common to all z/OS targets, host_vars/*.ymlis aligned to target variables such thatansible_python_interpreterhas been removed from inventory tohost_vars` because it better aligns to a target than it does inventory.
  • Future proof to avoid where some commands such as ansible and ansible-console will only look for group_vars/ and host_vars/ in the inventory directory.
  1. Introduces a requirements check role that will ensure that if a user is not using a supported Ansible version or have the right collections (or versions) installed, it will print an error to STDOUT. This relies on new file runtime-requirements.yml
  2. Introduce new metadata runtime-requirements.yml that outlines what the playbook project supports, it also lays the foundation down for some future dependency analysis tooling to be released in the future.
  3. Simplified READMEs for all projects and reusable documentation put in a share folder and linked
  4. Simplified configuration, one less variable to configure, now ansible_python_interpreter can inherit from variable PYZ in host_vars
  5. New doc additions and doc lessened and simpler to read.
  6. Follow Ansibles best practices and include a site.yml for nearly all projects, at minimum any remaining projects should consider the same and call the pre-check-role to ensure a user who might not see the documentations requirements at least have it programmatically caught to ensure a better experience.
  7. Several bug fixes, particularly when modules were copying content to z/OS and not taking into account the record length to the target data set.
  8. Deprecated playbook host_setup because the artifacts (*_vars, inventory) it generates does not adhere to the latest architecture changes, it also does not leverage the updated meta data thus there always being a need to keep updating this, a future edition will be created that is more dynamic and works with this change. Its value is debatable, configuration has been reduced to 4 variables be configured by the user, given how simple it is to configure Ansible, it may not be worth introducing it again.
  9. Update .gitignore to block archive formats
  10. Address contributors section to describe what needs to be added to a pull request (STDOUT of a playbook) and the Apache license.
  11. Fixes wrong playbook extension in doc issue 44
  12. Fixes missing password-less doc git issue 98

Signed-off-by: ddimatos <[email protected]>
Signed-off-by: ddimatos <[email protected]>
Signed-off-by: ddimatos <[email protected]>
Signed-off-by: ddimatos <[email protected]>
Signed-off-by: ddimatos <[email protected]>
@ddimatos ddimatos marked this pull request as ready for review August 13, 2021 05:27
Copy link
Member

@itsBryantP itsBryantP left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review of PR complete. PR is approved under the assumption that comments will be reviewed and addressed as the author @ddimatos sees fit.

README.md Show resolved Hide resolved
docs/share/zos_core/configuration_guide.md Show resolved Hide resolved
docs/share/zos_core/configuration_guide.md Outdated Show resolved Hide resolved
docs/share/zos_core/configuration_guide.md Outdated Show resolved Hide resolved
docs/share/zos_core/configuration_guide.md Outdated Show resolved Hide resolved
roles/requirements-check/tasks/collection_check.yml Outdated Show resolved Hide resolved
zos_concepts/data_sets/data_set_basics/data_set_basics.yml Outdated Show resolved Hide resolved
zos_concepts/user_management/add_remove_user/README.md Outdated Show resolved Hide resolved
zos_concepts/user_management/add_remove_user/site.yml Outdated Show resolved Hide resolved
@ddimatos ddimatos merged commit d01b332 into master Aug 16, 2021
@ddimatos ddimatos deleted the update/remove-zos-ssh-add-pre-check-role branch August 16, 2021 04:32
frankmit11 pushed a commit to frankmit11/icic-ocp-upi that referenced this pull request Feb 9, 2023
…ck-role

Update repository with a pre-check role, updated meta data files and align with Ansible best practices
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: In Progress This issue is under review by a team member.
Projects
None yet
2 participants