sdp_layout.yml #3

  • //
  • guest/
  • russell_jackson/
  • ansible-sdp/
  • roles/
  • perforce-sdp-install/
  • tasks/
  • install/
  • sdp_layout.yml
  • View
  • Commits
  • Open Download .zip Download (789 B)
---
# Build the /p4 directory layout with mkdirs.sh, then wire the SDP environment
# into the perforce user's shell.
- name: "Build the SDP layout with mkdirs.sh"
  ansible.builtin.include_tasks: "common/run_mkdirs.yml"

- name: "Add source script to perforce user bashrc"
  ansible.builtin.lineinfile:
    path: "/p4/.bashrc"
    create: true
    line: "source /p4/common/bin/p4_vars {{ perforce_id }}"
    insertafter: "EOF"
    owner: "{{ perforce_user }}"
    group: "{{ perforce_group }}"
    mode: '0644'

# - name: "Copy perforce license file"
#   ansible.builtin.copy:
#     force: true
#     src: "./perforce-license"
#     dest: "/p4/{{ perforce_id }}/root/license"
#     owner: "{{ perforce_user }}"
#     group: "{{ perforce_group }}"
#     mode: '0644'
#   when: copy_license
# Change User Description Committed
#3 32855 Russell C. Jackson (Rusty) Revert change 32851: configurables.cfg is now copied by mkdirs.sh in the SDP (change 32852), making the Ansible-side copy redundant
#2 32851 Russell C. Jackson (Rusty) perforce-sdp-install: copy configurables.cfg into /p4/common/config after mkdirs

mkdirs.sh renders the per-instance config files but does not copy the SDP
configurables.cfg into the deployed /p4/common/config. ccheck.sh (invoked by
configure_new_server.sh) loads its [prod] profile from that path, so a new
install would fail configure_new_server until the file is placed by hand.
#1 32842 Russell C. Jackson (Rusty) Reorganize ansible-sdp into per-concern task files; ansible-lint production-clean

- Split install.yml/cron.yml/dependencies.yml and the monitoring role into thin
  orchestrators plus single-purpose phase files; extract shared steps into
  tasks/common/ (fetch_sdp, fetch_binaries, run_mkdirs, copy_ssl,
  configure_broker, sudoers).
- Full best-practices pass: FQCN, true/false, quoted modes, changed_when, loops,
  document-start markers; fill both roles' meta; add .ansible-lint.
- RedHat parity: parameterized EPEL enable, dnf, full upgrade, sysctl/bbr tuning.
- Collapse the 12 journal-rotation cron tasks to one; consolidate duplicate
  download/broker logic; fix broken tests/test.yml role reference.
- Validated ansible-lint clean at the production profile (ansible-core 2.21 /
  python 3.12) and ansible-playbook --syntax-check OK.