Merge branch 'main' of github.com:alexpolo1/ansible
This commit is contained in:
2024-10-04 08:56:48 +02:00
104 changed files with 3415 additions and 3557 deletions

2
.github/ansible-code-bot.yml vendored Normal file
View File

@@ -0,0 +1,2 @@
schedule:
interval: weekly

View File

@@ -29,7 +29,7 @@
- name: Reboot the system if a reboot is required
ansible.builtin.reboot:
msg: "Reboot initiated by Ansible because updates require a restart"
msg: Reboot initiated by Ansible because updates require a restart
connect_timeout: 5
reboot_timeout: 600
pre_reboot_delay: 0

View File

@@ -6,129 +6,156 @@
- vault.yml
vars:
backup_dir: "/home"
nas_target_base: "/volume1/Backup"
cron_time: "0 17 * * 0" # This represents every Sunday at 17:00
backup_dir: /home
nas_target_base: /volume1/Backup
cron_time: "0 17 * * 0" # This represents every Sunday at 17:00
hostname: "{{ ansible_hostname }}"
cron_name: "Wake NAS and Backup to Synology NAS"
cron_name: Wake NAS and Backup to Synology NAS
ssh_key_paths:
- "/home/alex/.ssh/id_ed25519.pub"
- "/home/alex/.ssh/id_rsa.pub"
- "/home/alex/.ssh/id_ecdsa.pub"
- "/home/alex/.ssh/id_dsa.pub"
- /home/alex/.ssh/id_ed25519.pub
- /home/alex/.ssh/id_rsa.pub
- /home/alex/.ssh/id_ecdsa.pub
- /home/alex/.ssh/id_dsa.pub
tasks:
- name: Update apt cache
apt:
update_cache: yes
become: yes
become: true
ansible.builtin.apt:
update_cache: true
- name: Ensure rsync is installed
apt:
become: true
ansible.builtin.apt:
name: rsync
state: present
become: yes
- name: Ensure etherwake is installed
apt:
become: true
ansible.builtin.apt:
name: etherwake
state: present
become: yes
- name: Find network interface with 192.168.1.x IP address
shell: ip -o -4 addr list | grep '192.168.1.' | awk '{print $2}'
register: network_interface
ansible.builtin.shell: ip -o -4 addr list | grep '192.168.1.' | awk '{print $2}'
- name: Set network_interface fact
set_fact:
ansible.builtin.set_fact:
network_interface: "{{ network_interface.stdout }}"
- name: Find existing SSH public key
stat:
path: "{{ item }}"
with_items: "{{ ssh_key_paths }}"
register: ssh_key_check
ansible.builtin.stat:
path: "{{ item }}"
- name: Set SSH key path
set_fact:
ssh_key_path: "{{ ssh_key_check.results | selectattr('stat.exists', 'equalto', true) | map(attribute='item') | first }}"
when: ssh_key_check.results | selectattr('stat.exists', 'equalto', true) | length > 0
ansible.builtin.set_fact:
ssh_key_path: "{{ ssh_key_check.results | selectattr('stat.exists', 'equalto', true) | map(attribute='item') | first }}"
- name: Debug SSH key path
debug:
ansible.builtin.debug:
msg: "SSH key path: {{ ssh_key_path }}"
- name: Read the SSH public key
slurp:
src: "{{ ssh_key_path }}"
register: ssh_pub_key
when: ssh_key_path is defined
ansible.builtin.slurp:
src: "{{ ssh_key_path }}"
- name: Ensure .ssh directory exists on the NAS
<<<<<<< HEAD
command: "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null alex@alex-ds414.localdomain 'mkdir -p ~/.ssh && chmod 700 ~/.ssh'"
ignore_errors: yes
- name: Add the SSH public key to the NAS authorized_keys
command: "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null alex@alex-ds414.localdomain 'echo {{ ssh_pub_key.content | b64decode }} >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys'"
=======
ignore_errors: true
ansible.builtin.command: ssh alex@alex-ds414.localdomain 'mkdir -p ~/.ssh && chmod 700 ~/.ssh'
- name: Add the SSH public key to the NAS authorized_keys
>>>>>>> 1f4815ce65e05dc5fd5cb1a0b2d50a999060d539
when: ssh_key_path is defined
ansible.builtin.command: ssh alex@alex-ds414.localdomain 'echo {{ ssh_pub_key.content | b64decode }} >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys'
- name: Show debug info for rsync_user and rsync_password
debug:
ansible.builtin.debug:
msg: "rsync_user: {{ rsync_user }}, rsync_password: {{ rsync_password }}"
- name: Wake up the NAS
command: sudo etherwake -i {{ network_interface }} 00:11:32:43:FA:11
async: 0
poll: 0
become: yes
become: true
ansible.builtin.command: sudo etherwake -i {{ network_interface }} 00:11:32:43:FA:11
- name: Wait for 1 minute to allow NAS to start up initially
wait_for:
ansible.builtin.wait_for:
timeout: 60
- name: Check if NAS is reachable via SSH
<<<<<<< HEAD
command: "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o BatchMode=yes -o ConnectTimeout=5 alex@alex-ds414.localdomain echo 'SSH connection successful'"
=======
>>>>>>> 1f4815ce65e05dc5fd5cb1a0b2d50a999060d539
register: nas_ping_result
ignore_errors: yes
ignore_errors: true
ansible.builtin.command: ssh -o BatchMode=yes -o ConnectTimeout=5 alex@alex-ds414.localdomain echo 'SSH connection successful'
- name: Fail if the NAS is not reachable via SSH
fail:
msg: "NAS is not reachable via SSH. Exiting."
when: nas_ping_result.rc != 0
ansible.builtin.fail:
msg: NAS is not reachable via SSH. Exiting.
- name: Perform the test rsync
<<<<<<< HEAD
command: rsync -av --dry-run --delete --info=progress2 {{ backup_dir }}/ alex@alex-ds414.localdomain:{{ nas_target_base }}/{{ hostname }}/
=======
>>>>>>> 1f4815ce65e05dc5fd5cb1a0b2d50a999060d539
register: rsync_test
ignore_errors: yes
ignore_errors: true
failed_when: rsync_test.rc not in [0, 23]
ansible.builtin.command: rsync -av --dry-run --delete {{ backup_dir }}/ alex@alex-ds414.localdomain:{{ nas_target_base }}/{{ hostname }}/
- name: Fail if the rsync test fails for reasons other than permission issues
fail:
msg: "rsync test failed for reasons other than permission issues. Exiting."
when: rsync_test.rc not in [0, 23]
ansible.builtin.fail:
msg: rsync test failed for reasons other than permission issues. Exiting.
- name: Perform the backup using rsync
<<<<<<< HEAD
command: rsync -av --delete --info=progress2 {{ backup_dir }}/ alex@alex-ds414.localdomain:{{ nas_target_base }}/{{ hostname }}/
=======
>>>>>>> 1f4815ce65e05dc5fd5cb1a0b2d50a999060d539
when: rsync_test.rc in [0, 23]
ignore_errors: yes
ignore_errors: true
failed_when: rsync_test.rc not in [0, 23]
ansible.builtin.command: rsync -av --delete {{ backup_dir }}/ alex@alex-ds414.localdomain:{{ nas_target_base }}/{{ hostname }}/
- name: Check if cron job exists
cron:
register: cron_present
ignore_errors: true
ansible.builtin.cron:
name: "{{ cron_name }}"
state: present
register: cron_present
ignore_errors: yes
- name: Add cron job for backup if not present
cron:
when: rsync_test.rc in [0, 23] and (cron_present is not defined or cron_present is failed)
become: true
ansible.builtin.cron:
name: "{{ cron_name }}"
minute: "{{ cron_time.split()[0] }}"
hour: "{{ cron_time.split()[1] }}"
day: "{{ cron_time.split()[2] }}"
month: "{{ cron_time.split()[3] }}"
weekday: "{{ cron_time.split()[4] }}"
<<<<<<< HEAD
job: "sudo etherwake -i {{ network_interface }} 00:11:32:43:FA:11 && sleep 300 && rsync -av --info=progress2 --delete /home/ alex@alex-ds414.localdomain:{{ nas_target_base }}/{{ hostname }}/"
when: rsync_test.rc == 0 and (cron_present is not defined or cron_present is failed)
become: yes
=======
job: sudo etherwake -i {{ network_interface }} 00:11:32:43:FA:11 && sleep 300 && rsync -av --delete /home/ alex@alex-ds414.localdomain:{{ nas_target_base
}}/{{ hostname }}/
>>>>>>> 1f4815ce65e05dc5fd5cb1a0b2d50a999060d539

View File

@@ -3,14 +3,14 @@
hosts: proxmox.localdomain
gather_facts: false
vars:
api_host: "192.168.1.162"
api_user: "root@pam"
api_token_id: "mytoki"
api_token_secret: "ea5114f5-ed39-4277-ac09-a32984be5bc9"
proxmox_node: "pve" # Add your Proxmox node name here
api_host: 192.168.1.162
api_user: root@pam
api_token_id: mytoki
api_token_secret: ea5114f5-ed39-4277-ac09-a32984be5bc9
proxmox_node: pve # Add your Proxmox node name here
vars_prompt:
- name: new_vm_name
prompt: "Enter the name for the new VM"
prompt: Enter the name for the new VM
private: false
tasks:
- name: List all VMs and templates
@@ -43,11 +43,11 @@
api_token_id: "{{ api_token_id }}"
api_token_secret: "{{ api_token_secret }}"
api_host: "{{ api_host }}"
clone: "ubu-srv01"
clone: ubu-srv01
name: "{{ new_vm_name }}"
node: "{{ proxmox_node }}"
storage: "local"
format: "qcow2"
storage: local
format: qcow2
full: true
timeout: 240
validate_certs: false

View File

@@ -19,4 +19,3 @@
name: "{{ vm_name }}"
node: "{{ node_name }}"
state: present

View File

@@ -83,7 +83,7 @@
port: "{{ zabbix_port | default(10050) }}"
tls_connect: 2
tls_accept: 2
tls_psk_identity: "PSK-{{ inventory_hostname }}"
tls_psk_identity: PSK-{{ inventory_hostname }}
tls_psk: "{{ zabbix_psk.stdout }}"
proxy: "{{ zabbix_proxy | default(omit) }}"
become: false

View File

@@ -6,30 +6,30 @@ all:
ubu.localdomain:
ansible_host: 192.168.1.23
ansible_user: alex
ansible_ssh_pass: "Aase#1234!"
ansible_become_pass: "Aase#1234!"
zabbix_host_groups: "Linux servers"
zabbix_link_template: "Template OS Linux"
zabbix_agent_psk: "1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f"
ansible_ssh_pass: Aase#1234!
ansible_become_pass: Aase#1234!
zabbix_host_groups: Linux servers
zabbix_link_template: Template OS Linux
zabbix_agent_psk: 1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f
raspii.localdomain:
ansible_host: 192.168.1.24
ansible_user: alex
ansible_python_interpreter: /usr/bin/python3
ansible_ssh_pass: "Aase#1234!"
ansible_become_pass: "Aase#1234!"
zabbix_host_groups: "Linux servers"
zabbix_link_template: "Template OS Linux"
zabbix_agent_psk: "1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f"
ansible_ssh_pass: Aase#1234!
ansible_become_pass: Aase#1234!
zabbix_host_groups: Linux servers
zabbix_link_template: Template OS Linux
zabbix_agent_psk: 1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f
proxmox.localdomain:
ansible_host: 192.168.1.162
ansible_user: root
ansible_password: Aase#1234!
ansible_python_interpreter: /root/proxmoxer_env/bin/python
ansible_ssh_pass: "Aase#1234!"
ansible_become_pass: "Aase#1234!"
zabbix_host_groups: "Linux servers"
zabbix_link_template: "Template OS Linux"
zabbix_agent_psk: "1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f"
ansible_ssh_pass: Aase#1234!
ansible_become_pass: Aase#1234!
zabbix_host_groups: Linux servers
zabbix_link_template: Template OS Linux
zabbix_agent_psk: 1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f
vars:
proxmox_host: 192.168.1.162
proxmox_user: root@pam
@@ -44,24 +44,24 @@ all:
ansible_host: 192.168.1.144
ansible_user: alex
ansible_python_interpreter: /usr/bin/python3
ansible_ssh_pass: "Aase#1234!"
ansible_become_pass: "Aase#1234!"
zabbix_host_groups: "Linux servers"
zabbix_link_template: "Template OS Linux"
zabbix_agent_psk: "1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f"
ansible_ssh_pass: Aase#1234!
ansible_become_pass: Aase#1234!
zabbix_host_groups: Linux servers
zabbix_link_template: Template OS Linux
zabbix_agent_psk: 1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f
alex-ds414.localdomain:
ansible_host: 192.168.1.113
ansible_user: alexadmin
ansible_python_interpreter: /usr/bin/python3
ansible_password: $ZD7P=.X2@e,Ju;
# network_devices:
# hosts:
# USG-PRO-4:
# ansible_host: 192.168.1.1
# ansible_user: alexpolo
# ansible_password: o3vTbA3WBlmghEOg
# ansible_network_os: vyos.vyos
# network_devices:
# hosts:
# USG-PRO-4:
# ansible_host: 192.168.1.1
# ansible_user: alexpolo
# ansible_password: o3vTbA3WBlmghEOg
# ansible_network_os: vyos.vyos
other_devices:
hosts:
localhost-live.localdomain:
@@ -78,3 +78,8 @@ all:
zabbix_host_groups: "Linux servers"
zabbix_link_template: "Template OS Linux"
zabbix_agent_psk: "1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f"
ansible_ssh_pass: Aase#1234!
ansible_become_pass: Aase#1234!
zabbix_host_groups: Linux servers
zabbix_link_template: Template OS Linux
zabbix_agent_psk: 1d3b2f634a975a68df1ac903daa4d10d5b00a3d95c33463cffb402f5e39be75f1f4815ce65e05dc5fd5cb1a0b2d50a999060d539

View File

@@ -3,15 +3,14 @@
hosts: homeserver.localdomain
gather_facts: false
vars:
winrmadmin_username: "ansible_user"
winrmadmin_password: "YourStrongPasswordHere"
winrmadmin_username: ansible_user
winrmadmin_password: YourStrongPasswordHere
tasks:
- name: Get WinRM credentials from Ansible Vault
ansible.builtin.include_vars:
file: /home/alex/git/ansible/credentials.yml
name: vault_vars
- name: List Hyper-V virtual machines
ansible.windows.win_shell: |
Get-VM | Select-Object Name, State, MemoryAssigned, ProcessorCount, Uptime

View File

@@ -1,13 +1,13 @@
---
- name: List VMs, Templates, and ISOs on Proxmox
hosts: proxmox.localdomain
gather_facts: no
gather_facts: false
vars:
api_host: "192.168.1.162"
api_user: "root@pam"
api_token_id: "mytoki"
api_token_secret: "ea5114f5-ed39-4277-ac09-a32984be5bc9"
proxmox_node: "pve" # Add your Proxmox node name here
api_host: 192.168.1.162
api_user: root@pam
api_token_id: mytoki
api_token_secret: ea5114f5-ed39-4277-ac09-a32984be5bc9
proxmox_node: pve # Add your Proxmox node name here
tasks:
- name: List all VMs
community.general.proxmox_vm_info:
@@ -15,11 +15,11 @@
api_user: "{{ api_user }}"
api_token_id: "{{ api_token_id }}"
api_token_secret: "{{ api_token_secret }}"
validate_certs: no
validate_certs: false
register: vms_info
- name: Print VM info
debug:
ansible.builtin.debug:
var: vms_info
- name: List all nodes
@@ -28,11 +28,11 @@
api_user: "{{ api_user }}"
api_token_id: "{{ api_token_id }}"
api_token_secret: "{{ api_token_secret }}"
validate_certs: no
validate_certs: false
register: nodes_info
- name: Print node info
debug:
ansible.builtin.debug:
var: nodes_info
- name: List all ISOs
@@ -41,12 +41,11 @@
api_user: "{{ api_user }}"
api_token_id: "{{ api_token_id }}"
api_token_secret: "{{ api_token_secret }}"
validate_certs: no
validate_certs: false
storage: local
node: "{{ proxmox_node }}"
register: isos_info
- name: Print ISO info
debug:
ansible.builtin.debug:
var: isos_info

View File

@@ -3,9 +3,9 @@ plugin: ansible.builtin.nmap
strict: false
address: 192.168.1.0/24
exclude: 192.168.1.1
command: '-sn'
command: -sn
keyed_groups:
- prefix: 'os_'
key: 'os'
- prefix: os_
key: os
compose:
ansible_host: ip

View File

@@ -1,29 +1,28 @@
---
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting playbook Clean-up_Task.yaml
## Clean-up_Task
- name: Clean-up_Task
hosts: Note_install
gather_facts: false
tasks:
- block:
- include: tasks/Clean-up_Test.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting playbook Clean-up_Task.yaml
## Clean-up_Task
- name: Clean-up_Task
hosts: Note_install
gather_facts: false
tasks:
- block:
- include: tasks/Clean-up_Test.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,29 +1,28 @@
---
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting playbook install-axinstall-importmodel.yaml
## install-axinstall-importmodel
- name: install-axinstall-importmodel
hosts: AOS_POM
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall-importmodel.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting playbook install-axinstall-importmodel.yaml
## install-axinstall-importmodel
- name: install-axinstall-importmodel
hosts: AOS_POM
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall-importmodel.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,45 +1,45 @@
---
# playbooks/winrm_kerberos.yml
# @version v1.00_2020-DEC-20
# @author Kevin Jeffery
- name: Install WinRM Kerberos Dependencies
hosts: localhost
tasks:
- name: Start
debug:
msg: "{{ ansible_date_time.date }} {{ ansible_date_time.time }}"
- name: Install Required Packages - RedHat/CentOS
vars:
ansible_python_interpreter: /usr/bin/python2
yum:
name:
- gcc
- python-devel
- python3-devel
- krb5-devel
- krb5-libs
- krb5-workstation
state: latest
update_cache: yes
become: yes
when: (ansible_os_family == "RedHat" or ansible_os_family == "CentOS") and ansible_distribution_version is version('8.0', 'lt')
- name: Install Required Packages - Debian/Ubuntu
apt:
name:
- python-dev
- python3-dev
- libkrb5-dev
- krb5-user
state: latest
update_cache: yes
become: yes
when: ansible_os_family == "Debian"
- name: Install python winrm wrapper
pip:
name: "pywinrm[kerberos]"
state: latest
become: yes
---
# playbooks/winrm_kerberos.yml
# @version v1.00_2020-DEC-20
# @author Kevin Jeffery
- name: Install WinRM Kerberos Dependencies
hosts: localhost
tasks:
- name: Start
debug:
msg: "{{ ansible_date_time.date }} {{ ansible_date_time.time }}"
- name: Install Required Packages - RedHat/CentOS
vars:
ansible_python_interpreter: /usr/bin/python2
yum:
name:
- gcc
- python-devel
- python3-devel
- krb5-devel
- krb5-libs
- krb5-workstation
state: latest
update_cache: true
become: true
when: (ansible_os_family == "RedHat" or ansible_os_family == "CentOS") and ansible_distribution_version is version('8.0', 'lt')
- name: Install Required Packages - Debian/Ubuntu
apt:
name:
- python-dev
- python3-dev
- libkrb5-dev
- krb5-user
state: latest
update_cache: true
become: true
when: ansible_os_family == "Debian"
- name: Install python winrm wrapper
pip:
name: pywinrm[kerberos]
state: latest
become: true

View File

@@ -1,77 +1,70 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## Post-installs
# AXInstall example
#- name: AXInstall Post-Installation tasks
# hosts: AOS_POM
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-axinstall-cilcompile.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# BOInstall example
#- name: Install PI46849_MDL
# hosts: MDL
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-PI46849_MDL.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# PI46867_CWS_DBIFS_APP
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
# PI46869_APP_API_BorisWeb
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## Post-installs
# AXInstall example
#- name: AXInstall Post-Installation tasks
# hosts: AOS_POM
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-axinstall-cilcompile.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# BOInstall example
#- name: Install PI46849_MDL
# hosts: MDL
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-PI46849_MDL.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# PI46867_CWS_DBIFS_APP
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
# PI46869_APP_API_BorisWeb
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,97 +1,97 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## AxInstall install-axinstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tags: [install_axinstall]
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-importmodel
- name: install-axinstall-importmodel
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-importmodel.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-xppcompileall
- name: Install install-axinstall-xppcompileall
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-xppcompileall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-cilcompile
- name: Install install-axinstall-cilcompile
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-cilcompile.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-deployposttravelcardservices
- name: install-axinstall-deployposttravelcardservices
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-deployposttravelcardservices.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-TravelCardDeployTravelCardServices
- name: install-axinstall-TravelCardDeployTravelCardServices
hosts: AOS
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-TravelCardDeployTravelCardServices.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-sqlreindex.yaml
- name: install-axinstall-sqlreindex.yaml
hosts: SQL
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-sqlreindex.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: AX install all done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## AxInstall install-axinstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tags: [install_axinstall]
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-importmodel
- name: install-axinstall-importmodel
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-importmodel.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-xppcompileall
- name: Install install-axinstall-xppcompileall
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-xppcompileall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-cilcompile
- name: Install install-axinstall-cilcompile
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-cilcompile.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-deployposttravelcardservices
- name: install-axinstall-deployposttravelcardservices
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-deployposttravelcardservices.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-TravelCardDeployTravelCardServices
- name: install-axinstall-TravelCardDeployTravelCardServices
hosts: AOS
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-TravelCardDeployTravelCardServices.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-sqlreindex.yaml
- name: install-axinstall-sqlreindex.yaml
hosts: SQL
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-sqlreindex.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: AX install all done

View File

@@ -1,30 +1,30 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,108 +1,107 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tags: [install_axinstall]
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-importmodel
- name: install-axinstall-importmodel
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-importmodel.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-xppcompileall
- name: Install install-axinstall-xppcompileall
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-xppcompileall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-cilcompile
- name: Install install-axinstall-cilcompile
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-cilcompile.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-deployposttravelcardservices
- name: install-axinstall-deployposttravelcardservices
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-deployposttravelcardservices.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-TravelCardDeployTravelCardServices
- name: install-axinstall-TravelCardDeployTravelCardServices
hosts: AOS
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-TravelCardDeployTravelCardServices.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-sqlreindex.yaml
- name: install-axinstall-sqlreindex.yaml
hosts: SQL
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-sqlreindex.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: AX install all done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tags: [install_axinstall]
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-importmodel
- name: install-axinstall-importmodel
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-importmodel.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-xppcompileall
- name: Install install-axinstall-xppcompileall
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-xppcompileall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-cilcompile
- name: Install install-axinstall-cilcompile
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-cilcompile.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-deployposttravelcardservices
- name: install-axinstall-deployposttravelcardservices
hosts: AOS_POM
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-deployposttravelcardservices.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-TravelCardDeployTravelCardServices
- name: install-axinstall-TravelCardDeployTravelCardServices
hosts: AOS
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-TravelCardDeployTravelCardServices.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall install-axinstall-sqlreindex.yaml
- name: install-axinstall-sqlreindex.yaml
hosts: SQL
gather_facts: false
serial: 1
tasks:
- block:
- include: tasks/install-axinstall-sqlreindex.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: AX install all done

View File

@@ -1,77 +1,70 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## Post-installs
# AXInstall example
#- name: AXInstall Post-Installation tasks
# hosts: AOS_POM
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-axinstall-cilcompile.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# BOInstall example
#- name: Install PI46849_MDL
# hosts: MDL
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-PI46849_MDL.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# PI46867_CWS_DBIFS_APP
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
# PI46869_APP_API_BorisWeb
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## Post-installs
# AXInstall example
#- name: AXInstall Post-Installation tasks
# hosts: AOS_POM
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-axinstall-cilcompile.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# BOInstall example
#- name: Install PI46849_MDL
# hosts: MDL
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-PI46849_MDL.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# PI46867_CWS_DBIFS_APP
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
# PI46869_APP_API_BorisWeb
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,29 +1,28 @@
---
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting playbook install_note.yaml
## install note
- name: install_note
hosts: Note_install
gather_facts: false
tasks:
- block:
- include: tasks/install-notepadplus.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting playbook install_note.yaml
## install note
- name: install_note
hosts: Note_install
gather_facts: false
tasks:
- block:
- include: tasks/install-notepadplus.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,29 +1,28 @@
---
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting playbook install-axinstall-cilcompile.yaml
## install-axinstall-cilcompile
- name: install-axinstall-cilcompile
hosts: AOS_POM
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall-cilcompile.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting playbook install-axinstall-cilcompile.yaml
## install-axinstall-cilcompile
- name: install-axinstall-cilcompile
hosts: AOS_POM
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall-cilcompile.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,77 +1,70 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## Post-installs
# AXInstall example
#- name: AXInstall Post-Installation tasks
# hosts: AOS_POM
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-axinstall-cilcompile.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# BOInstall example
#- name: Install PI46849_MDL
# hosts: MDL
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-PI46849_MDL.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# PI46867_CWS_DBIFS_APP
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
# PI46869_APP_API_BorisWeb
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## Post-installs
# AXInstall example
#- name: AXInstall Post-Installation tasks
# hosts: AOS_POM
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-axinstall-cilcompile.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# BOInstall example
#- name: Install PI46849_MDL
# hosts: MDL
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-PI46849_MDL.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
# PI46867_CWS_DBIFS_APP
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
# PI46869_APP_API_BorisWeb
# - Skip because default BOInstall is BOInstall_120.81.2.0_120-81-2-0.exe
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,29 +1,29 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Start AOS
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/start-aos.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Start AOS
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/start-aos.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,84 +1,74 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Start AOS
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/start-aos.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Start BCM_CLUSTER
hosts: BCM_CLUSTER
gather_facts: false
tasks:
- block:
- include: tasks/start-ifsbo.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Start APP
hosts: APP
gather_facts: false
tasks:
- block:
- include: tasks/start-iis.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Start DPS, FAS, MDL, SPS, TCS
hosts: DPS, FAS, MDL, SPS, TCS
gather_facts: false
tasks:
- block:
- include: tasks/start-ifsbo.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Start WEB, API
hosts: WEB, API
gather_facts: false
tasks:
- block:
- include: tasks/start-iis.yaml
rescue:
- include: tasks/task-failed-slack.yaml
#- name: Start Nagios
# hosts: SMC
# tasks:
# - name: podman start nagios
# command: podman start nagios
# - name: podman start n2a
# command: podman start n2a
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Start AOS
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/start-aos.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Start BCM_CLUSTER
hosts: BCM_CLUSTER
gather_facts: false
tasks:
- block:
- include: tasks/start-ifsbo.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Start APP
hosts: APP
gather_facts: false
tasks:
- block:
- include: tasks/start-iis.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Start DPS, FAS, MDL, SPS, TCS
hosts: DPS, FAS, MDL, SPS, TCS
gather_facts: false
tasks:
- block:
- include: tasks/start-ifsbo.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Start WEB, API
hosts: WEB, API
gather_facts: false
tasks:
- block:
- include: tasks/start-iis.yaml
rescue:
- include: tasks/task-failed-slack.yaml
#- name: Start Nagios
# hosts: SMC
# tasks:
# - name: podman start nagios
# command: podman start nagios
# - name: podman start n2a
# command: podman start n2a
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,30 +1,29 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Stop AOS
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/stop-aos.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Stop AOS
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/stop-aos.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,81 +1,76 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
#- name: Stop N2A
# hosts: SMC
# tasks:
# - name: podman stop n2a
# command: podman stop n2a
# - name: podman stop nagios
# command: podman stop nagios
- name: Stop WEB, API
hosts: WEB, API
gather_facts: false
tasks:
- block:
- include: tasks/stop-iis.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Stop DPS, FAS, MDL, SPS, TCS
hosts: DPS, FAS, MDL, SPS, TCS
gather_facts: false
tasks:
- block:
- include: tasks/stop-ifsbo.yaml
- include: tasks/reboot.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Stop APP
hosts: APP
gather_facts: false
tasks:
- block:
- include: tasks/stop-iis.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Stop BCM_CLUSTER
hosts: BCM_CLUSTER
gather_facts: false
tasks:
- block:
- include: tasks/stop-ifsbo.yaml
- include: tasks/reboot.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Stop AOS
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/stop-aos.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
#- name: Stop N2A
# hosts: SMC
# tasks:
# - name: podman stop n2a
# command: podman stop n2a
# - name: podman stop nagios
# command: podman stop nagios
- name: Stop WEB, API
hosts: WEB, API
gather_facts: false
tasks:
- block:
- include: tasks/stop-iis.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Stop DPS, FAS, MDL, SPS, TCS
hosts: DPS, FAS, MDL, SPS, TCS
gather_facts: false
tasks:
- block:
- include: tasks/stop-ifsbo.yaml
- include: tasks/reboot.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Stop APP
hosts: APP
gather_facts: false
tasks:
- block:
- include: tasks/stop-iis.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Stop BCM_CLUSTER
hosts: BCM_CLUSTER
gather_facts: false
tasks:
- block:
- include: tasks/stop-ifsbo.yaml
- include: tasks/reboot.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Stop AOS
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/stop-aos.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,21 +1,21 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running Clean-up on {{ inventory_hostname }}
- name: Running Clean-up Scripts
ansible.windows.win_powershell:
script: |
#Script to Clean-up
#Creating Directory
New-Item -Path 'D:\software\Archive' -ItemType Directory
$Users = 'ThalesAdmin','Installserveruser'
#Moving files to path (ThalesAdmin,Installserveruser)
foreach ($user in $Users) {
Get-ChildItem -Exclude *.lnk -Path "C:\Users\$user\Desktop\" -Recurse | Move-Item -Verbose -Force -Destination "D:\software\Archive"
}
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running Clean-up on {{ inventory_hostname }}
- name: Running Clean-up Scripts
ansible.windows.win_powershell:
script: |-
#Script to Clean-up
#Creating Directory
New-Item -Path 'D:\software\Archive' -ItemType Directory
$Users = 'ThalesAdmin','Installserveruser'
#Moving files to path (ThalesAdmin,Installserveruser)
foreach ($user in $Users) {
Get-ChildItem -Exclude *.lnk -Path "C:\Users\$user\Desktop\" -Recurse | Move-Item -Verbose -Force -Destination "D:\software\Archive"
}

View File

@@ -1,18 +1,18 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43972 (CWS) on {{ inventory_hostname }}
- name: Copy _BaseLayout.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI43972_CWS/_BaseLayout.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\Shared\
backup: yes
- name: Copy Renew.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI43972_CWS/Renew.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\SeasonPass\
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43972 (CWS) on {{ inventory_hostname }}
- name: Copy _BaseLayout.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI43972_CWS/_BaseLayout.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\Shared\
backup: true
- name: Copy Renew.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI43972_CWS/Renew.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\SeasonPass\
backup: true

View File

@@ -1,18 +1,18 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43976 (CWS) on {{ inventory_hostname }}
- name: Copy ui-icons_444444_256x240.png
win_copy:
src: ~/ansible/install/PostInstalls/PI43976_CWSWEB/ui-icons_444444_256x240.png
dest: D:\IFSBOSystem\WebSite\CWS\App_Themes\CWS\images\
backup: yes
- name: Copy ui-icons_555555_256x240.png
win_copy:
src: ~/ansible/install/PostInstalls/PI43976_CWSWEB/ui-icons_555555_256x240.png
dest: D:\IFSBOSystem\WebSite\CWS\App_Themes\CWS\images\
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43976 (CWS) on {{ inventory_hostname }}
- name: Copy ui-icons_444444_256x240.png
win_copy:
src: ~/ansible/install/PostInstalls/PI43976_CWSWEB/ui-icons_444444_256x240.png
dest: D:\IFSBOSystem\WebSite\CWS\App_Themes\CWS\images\
backup: true
- name: Copy ui-icons_555555_256x240.png
win_copy:
src: ~/ansible/install/PostInstalls/PI43976_CWSWEB/ui-icons_555555_256x240.png
dest: D:\IFSBOSystem\WebSite\CWS\App_Themes\CWS\images\
backup: true

View File

@@ -1,12 +1,12 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43980 (CWS) on {{ inventory_hostname }}
- name: Copy CWSDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI43980_DBIFS_CWSWEB/CWSDictionary.xml
dest: D:\IFSBOSystem\WebSite\CWS\App_Data\CWSDictionary.xml
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43980 (CWS) on {{ inventory_hostname }}
- name: Copy CWSDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI43980_DBIFS_CWSWEB/CWSDictionary.xml
dest: D:\IFSBOSystem\WebSite\CWS\App_Data\CWSDictionary.xml
backup: true

View File

@@ -1,12 +1,12 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43981 (CWS) on {{ inventory_hostname }}
- name: Copy CWS.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI43981_CWSWEB/CWS.dll
dest: D:\IFSBOSystem\WebSite\CWS\bin\
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43981 (CWS) on {{ inventory_hostname }}
- name: Copy CWS.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI43981_CWSWEB/CWS.dll
dest: D:\IFSBOSystem\WebSite\CWS\bin\
backup: true

View File

@@ -1,12 +1,12 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46769 (CWS) on {{ inventory_hostname }}
- name: Copy CWS.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI46769_CWSWEB/CWS.dll
dest: D:\IFSBOSystem\WebSite\CWS\bin\
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46769 (CWS) on {{ inventory_hostname }}
- name: Copy CWS.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI46769_CWSWEB/CWS.dll
dest: D:\IFSBOSystem\WebSite\CWS\bin\
backup: true

View File

@@ -1,12 +1,12 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46777 (CWS) on {{ inventory_hostname }}
- name: Copy MyInformation.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI46777_CWSWEB/MyInformation.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\CustomerManagement\MyInformation.cshtml
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46777 (CWS) on {{ inventory_hostname }}
- name: Copy MyInformation.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI46777_CWSWEB/MyInformation.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\CustomerManagement\MyInformation.cshtml
backup: true

View File

@@ -1,21 +1,21 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46792 (MDL) on {{ inventory_hostname }}
- name: Copy DCP_CMNDeEncoder_P.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI46792_MDL/DCP_CMNDeEncoder_P.dll
dest: D:\IFSBOSystem\bin\DCP_CMNDeEncoder_P.dll
backup: yes
- name: Copy Register_DCP_CMNDeEncoder_P_FileProcessor.bat
win_copy:
src: ~/ansible/install/PostInstalls/PI46792_MDL/Register_DCP_CMNDeEncoder_P_FileProcessor.bat
dest: D:\IFSBOSystem\bin\Register_DCP_CMNDeEncoder_P_FileProcessor.bat
backup: yes
- name: Register dll
win_command: D:\IFSBOSystem\bin\Register_DCP_CMNDeEncoder_P_FileProcessor.bat
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46792 (MDL) on {{ inventory_hostname }}
- name: Copy DCP_CMNDeEncoder_P.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI46792_MDL/DCP_CMNDeEncoder_P.dll
dest: D:\IFSBOSystem\bin\DCP_CMNDeEncoder_P.dll
backup: true
- name: Copy Register_DCP_CMNDeEncoder_P_FileProcessor.bat
win_copy:
src: ~/ansible/install/PostInstalls/PI46792_MDL/Register_DCP_CMNDeEncoder_P_FileProcessor.bat
dest: D:\IFSBOSystem\bin\Register_DCP_CMNDeEncoder_P_FileProcessor.bat
backup: true
- name: Register dll
win_command: D:\IFSBOSystem\bin\Register_DCP_CMNDeEncoder_P_FileProcessor.bat

View File

@@ -1,11 +1,11 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46810 (BORIS) on {{ inventory_hostname }}
- name: Copy BorisDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI46810_DBIFS_CWSWEB_BORISWEB/BorisDictionary.xml
dest: D:\IFSBOSystem\WebSite\Boris\App_Data\BorisDictionary.xml
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46810 (BORIS) on {{ inventory_hostname }}
- name: Copy BorisDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI46810_DBIFS_CWSWEB_BORISWEB/BorisDictionary.xml
dest: D:\IFSBOSystem\WebSite\Boris\App_Data\BorisDictionary.xml
backup: true

View File

@@ -1,11 +1,11 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46810 (CWS) on {{ inventory_hostname }}
- name: Copy CWSDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI46810_DBIFS_CWSWEB_BORISWEB/CWSDictionary.xml
dest: D:\IFSBOSystem\WebSite\CWS\App_Data\CWSDictionary.xml
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46810 (CWS) on {{ inventory_hostname }}
- name: Copy CWSDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI46810_DBIFS_CWSWEB_BORISWEB/CWSDictionary.xml
dest: D:\IFSBOSystem\WebSite\CWS\App_Data\CWSDictionary.xml
backup: true

View File

@@ -1,50 +1,48 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: "aos60$01"
state: started
start_mode: auto
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Xpo import PI46838 {{ inventory_hostname }}
- name: Run Ax32.exe CIL compile
ansible.windows.win_powershell:
script: |
iex "cmd /c 'D:\Program Files (x86)\Microsoft Dynamics AX\60\Client\bin\Ax32.exe' -aotImportFile=D:\software\PI46838_AXPOM_REP\PI46838.xpo"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting CIL compile on {{ inventory_hostname }}
- name: Run Ax32.exe CIL compile
ansible.windows.win_powershell:
script: |
iex "cmd /c 'D:\Program Files (x86)\Microsoft Dynamics AX\60\Client\bin\Ax32.exe' -startupcmd=CompileIL"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Ax service
ansible.windows.win_service:
name: "aos60$01"
state: stopped
start_mode: auto
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: aos60$01
state: started
start_mode: auto
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Xpo import PI46838 {{ inventory_hostname }}
- name: Run Ax32.exe CIL compile
ansible.windows.win_powershell:
script: |
iex "cmd /c 'D:\Program Files (x86)\Microsoft Dynamics AX\60\Client\bin\Ax32.exe' -aotImportFile=D:\software\PI46838_AXPOM_REP\PI46838.xpo"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting CIL compile on {{ inventory_hostname }}
- name: Run Ax32.exe CIL compile
ansible.windows.win_powershell:
script: |
iex "cmd /c 'D:\Program Files (x86)\Microsoft Dynamics AX\60\Client\bin\Ax32.exe' -startupcmd=CompileIL"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Ax service
ansible.windows.win_service:
name: aos60$01
state: stopped
start_mode: auto

View File

@@ -1,19 +1,17 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46849_MDL on {{ inventory_hostname }}
- name: Stop Housekeeping Agent
ansible.windows.win_service:
name: IFSHouseKeepingAgent
state: stopped
- name: Copy IFS.HouseKeeping.Agent.exe
win_copy:
src: ~/ansible/install/PostInstalls/PI46849_MDL/IFS.HouseKeeping.Agent.exe
dest: D:\IFSBOSystem\bin\IFS.HouseKeeping.Agent.exe
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46849_MDL on {{ inventory_hostname }}
- name: Stop Housekeeping Agent
ansible.windows.win_service:
name: IFSHouseKeepingAgent
state: stopped
- name: Copy IFS.HouseKeeping.Agent.exe
win_copy:
src: ~/ansible/install/PostInstalls/PI46849_MDL/IFS.HouseKeeping.Agent.exe
dest: D:\IFSBOSystem\bin\IFS.HouseKeeping.Agent.exe
backup: true

View File

@@ -1,18 +1,18 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43972 (CWS) on {{ inventory_hostname }}
- name: Copy _BaseLayout.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI43972_CWS/_BaseLayout.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\Shared\
backup: yes
- name: Copy Renew.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI43972_CWS/Renew.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\SeasonPass\
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43972 (CWS) on {{ inventory_hostname }}
- name: Copy _BaseLayout.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI43972_CWS/_BaseLayout.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\Shared\
backup: true
- name: Copy Renew.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI43972_CWS/Renew.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\SeasonPass\
backup: true

View File

@@ -1,18 +1,18 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43976 (CWS) on {{ inventory_hostname }}
- name: Copy ui-icons_444444_256x240.png
win_copy:
src: ~/ansible/install/PostInstalls/PI43976_CWSWEB/ui-icons_444444_256x240.png
dest: D:\IFSBOSystem\WebSite\CWS\App_Themes\CWS\images\
backup: yes
- name: Copy ui-icons_555555_256x240.png
win_copy:
src: ~/ansible/install/PostInstalls/PI43976_CWSWEB/ui-icons_555555_256x240.png
dest: D:\IFSBOSystem\WebSite\CWS\App_Themes\CWS\images\
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43976 (CWS) on {{ inventory_hostname }}
- name: Copy ui-icons_444444_256x240.png
win_copy:
src: ~/ansible/install/PostInstalls/PI43976_CWSWEB/ui-icons_444444_256x240.png
dest: D:\IFSBOSystem\WebSite\CWS\App_Themes\CWS\images\
backup: true
- name: Copy ui-icons_555555_256x240.png
win_copy:
src: ~/ansible/install/PostInstalls/PI43976_CWSWEB/ui-icons_555555_256x240.png
dest: D:\IFSBOSystem\WebSite\CWS\App_Themes\CWS\images\
backup: true

View File

@@ -1,12 +1,12 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43980 (CWS) on {{ inventory_hostname }}
- name: Copy CWSDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI43980_DBIFS_CWSWEB/CWSDictionary.xml
dest: D:\IFSBOSystem\WebSite\CWS\App_Data\CWSDictionary.xml
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43980 (CWS) on {{ inventory_hostname }}
- name: Copy CWSDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI43980_DBIFS_CWSWEB/CWSDictionary.xml
dest: D:\IFSBOSystem\WebSite\CWS\App_Data\CWSDictionary.xml
backup: true

View File

@@ -1,12 +1,12 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43981 (CWS) on {{ inventory_hostname }}
- name: Copy CWS.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI43981_CWSWEB/CWS.dll
dest: D:\IFSBOSystem\WebSite\CWS\bin\
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI43981 (CWS) on {{ inventory_hostname }}
- name: Copy CWS.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI43981_CWSWEB/CWS.dll
dest: D:\IFSBOSystem\WebSite\CWS\bin\
backup: true

View File

@@ -1,12 +1,12 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46769 (CWS) on {{ inventory_hostname }}
- name: Copy CWS.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI46769_CWSWEB/CWS.dll
dest: D:\IFSBOSystem\WebSite\CWS\bin\
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46769 (CWS) on {{ inventory_hostname }}
- name: Copy CWS.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI46769_CWSWEB/CWS.dll
dest: D:\IFSBOSystem\WebSite\CWS\bin\
backup: true

View File

@@ -1,12 +1,12 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46777 (CWS) on {{ inventory_hostname }}
- name: Copy MyInformation.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI46777_CWSWEB/MyInformation.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\CustomerManagement\MyInformation.cshtml
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46777 (CWS) on {{ inventory_hostname }}
- name: Copy MyInformation.cshtml
win_copy:
src: ~/ansible/install/PostInstalls/PI46777_CWSWEB/MyInformation.cshtml
dest: D:\IFSBOSystem\WebSite\CWS\Views\CustomerManagement\MyInformation.cshtml
backup: true

View File

@@ -1,21 +1,21 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46792 (MDL) on {{ inventory_hostname }}
- name: Copy DCP_CMNDeEncoder_P.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI46792_MDL/DCP_CMNDeEncoder_P.dll
dest: D:\IFSBOSystem\bin\DCP_CMNDeEncoder_P.dll
backup: yes
- name: Copy Register_DCP_CMNDeEncoder_P_FileProcessor.bat
win_copy:
src: ~/ansible/install/PostInstalls/PI46792_MDL/Register_DCP_CMNDeEncoder_P_FileProcessor.bat
dest: D:\IFSBOSystem\bin\Register_DCP_CMNDeEncoder_P_FileProcessor.bat
backup: yes
- name: Register dll
win_command: D:\IFSBOSystem\bin\Register_DCP_CMNDeEncoder_P_FileProcessor.bat
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46792 (MDL) on {{ inventory_hostname }}
- name: Copy DCP_CMNDeEncoder_P.dll
win_copy:
src: ~/ansible/install/PostInstalls/PI46792_MDL/DCP_CMNDeEncoder_P.dll
dest: D:\IFSBOSystem\bin\DCP_CMNDeEncoder_P.dll
backup: true
- name: Copy Register_DCP_CMNDeEncoder_P_FileProcessor.bat
win_copy:
src: ~/ansible/install/PostInstalls/PI46792_MDL/Register_DCP_CMNDeEncoder_P_FileProcessor.bat
dest: D:\IFSBOSystem\bin\Register_DCP_CMNDeEncoder_P_FileProcessor.bat
backup: true
- name: Register dll
win_command: D:\IFSBOSystem\bin\Register_DCP_CMNDeEncoder_P_FileProcessor.bat

View File

@@ -1,11 +1,11 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46810 (BORIS) on {{ inventory_hostname }}
- name: Copy BorisDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI46810_DBIFS_CWSWEB_BORISWEB/BorisDictionary.xml
dest: D:\IFSBOSystem\WebSite\Boris\App_Data\BorisDictionary.xml
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46810 (BORIS) on {{ inventory_hostname }}
- name: Copy BorisDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI46810_DBIFS_CWSWEB_BORISWEB/BorisDictionary.xml
dest: D:\IFSBOSystem\WebSite\Boris\App_Data\BorisDictionary.xml
backup: true

View File

@@ -1,11 +1,11 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46810 (CWS) on {{ inventory_hostname }}
- name: Copy CWSDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI46810_DBIFS_CWSWEB_BORISWEB/CWSDictionary.xml
dest: D:\IFSBOSystem\WebSite\CWS\App_Data\CWSDictionary.xml
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46810 (CWS) on {{ inventory_hostname }}
- name: Copy CWSDictionary.xml
win_copy:
src: ~/ansible/install/PostInstalls/PI46810_DBIFS_CWSWEB_BORISWEB/CWSDictionary.xml
dest: D:\IFSBOSystem\WebSite\CWS\App_Data\CWSDictionary.xml
backup: true

View File

@@ -1,50 +1,48 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: "aos60$01"
state: started
start_mode: auto
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Xpo import PI46838 {{ inventory_hostname }}
- name: Run Ax32.exe CIL compile
ansible.windows.win_powershell:
script: |
iex "cmd /c 'D:\Program Files (x86)\Microsoft Dynamics AX\60\Client\bin\Ax32.exe' -aotImportFile=D:\software\PI46838_AXPOM_REP\PI46838.xpo"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting CIL compile on {{ inventory_hostname }}
- name: Run Ax32.exe CIL compile
ansible.windows.win_powershell:
script: |
iex "cmd /c 'D:\Program Files (x86)\Microsoft Dynamics AX\60\Client\bin\Ax32.exe' -startupcmd=CompileIL"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Ax service
ansible.windows.win_service:
name: "aos60$01"
state: stopped
start_mode: auto
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: aos60$01
state: started
start_mode: auto
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Xpo import PI46838 {{ inventory_hostname }}
- name: Run Ax32.exe CIL compile
ansible.windows.win_powershell:
script: |
iex "cmd /c 'D:\Program Files (x86)\Microsoft Dynamics AX\60\Client\bin\Ax32.exe' -aotImportFile=D:\software\PI46838_AXPOM_REP\PI46838.xpo"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting CIL compile on {{ inventory_hostname }}
- name: Run Ax32.exe CIL compile
ansible.windows.win_powershell:
script: |
iex "cmd /c 'D:\Program Files (x86)\Microsoft Dynamics AX\60\Client\bin\Ax32.exe' -startupcmd=CompileIL"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Ax service
ansible.windows.win_service:
name: aos60$01
state: stopped
start_mode: auto

View File

@@ -1,19 +1,17 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46849_MDL on {{ inventory_hostname }}
- name: Stop Housekeeping Agent
ansible.windows.win_service:
name: IFSHouseKeepingAgent
state: stopped
- name: Copy IFS.HouseKeeping.Agent.exe
win_copy:
src: ~/ansible/install/PostInstalls/PI46849_MDL/IFS.HouseKeeping.Agent.exe
dest: D:\IFSBOSystem\bin\IFS.HouseKeeping.Agent.exe
backup: yes
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing PI46849_MDL on {{ inventory_hostname }}
- name: Stop Housekeeping Agent
ansible.windows.win_service:
name: IFSHouseKeepingAgent
state: stopped
- name: Copy IFS.HouseKeeping.Agent.exe
win_copy:
src: ~/ansible/install/PostInstalls/PI46849_MDL/IFS.HouseKeeping.Agent.exe
dest: D:\IFSBOSystem\bin\IFS.HouseKeeping.Agent.exe
backup: true

View File

@@ -1,81 +1,70 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying AXInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\AXInstall
state: directory
- name: Copy {{AXInstall}}
win_copy:
src: ~/ansible/install/{{AXInstall}}
dest: D:\AXInstall\{{AXInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\AXInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting AXInstall on {{ inventory_hostname }}
- name: Run {{AXInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\AXInstall\{{AXInstall}} /PlatFormFilesPath=D:\AXInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process AXInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSAXSystem\InstallLog\AXInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleaning up AXInstall files on {{ inventory_hostname }}
- name: Clean up
ansible.windows.win_file:
path: D:\AXInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying AXInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\AXInstall
state: directory
- name: Copy {{AXInstall}}
win_copy:
src: ~/ansible/install/{{AXInstall}}
dest: D:\AXInstall\{{AXInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\AXInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting AXInstall on {{ inventory_hostname }}
- name: Run {{AXInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\AXInstall\{{AXInstall}} /PlatFormFilesPath=D:\AXInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process AXInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSAXSystem\InstallLog\AXInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleaning up AXInstall files on {{ inventory_hostname }}
- name: Clean up
ansible.windows.win_file:
path: D:\AXInstall
state: absent

View File

@@ -1,81 +1,70 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying AXInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\AXInstall
state: directory
- name: Copy {{AXInstall}}
win_copy:
src: ~/ansible/install/{{AXInstall}}
dest: D:\AXInstall\{{AXInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtestc.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\AXInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting AXInstall on {{ inventory_hostname }}
- name: Run {{AXInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\AXInstall\{{AXInstall}} /PlatFormFilesPath=D:\AXInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process AXInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSAXSystem\InstallLog\AXInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleaning up AXInstall files on {{ inventory_hostname }}
- name: Clean up
ansible.windows.win_file:
path: D:\AXInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying AXInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\AXInstall
state: directory
- name: Copy {{AXInstall}}
win_copy:
src: ~/ansible/install/{{AXInstall}}
dest: D:\AXInstall\{{AXInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtestc.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\AXInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting AXInstall on {{ inventory_hostname }}
- name: Run {{AXInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\AXInstall\{{AXInstall}} /PlatFormFilesPath=D:\AXInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process AXInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSAXSystem\InstallLog\AXInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleaning up AXInstall files on {{ inventory_hostname }}
- name: Clean up
ansible.windows.win_file:
path: D:\AXInstall
state: absent

View File

@@ -1,89 +1,82 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent

View File

@@ -1,89 +1,82 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtestc.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtestc.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent

View File

@@ -1,89 +1,82 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent

View File

@@ -1,19 +1,19 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Grabbing config from {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BackUp_Config
state: directory
- name: Copy grab_config.cmd
win_copy:
src: ~/ansible/install/grab_config.cmd
dest: D:\BackUp_Config\grab_config.cmd
- name: Run grab_config
win_command: D:\BackUp_Config\grab_config.cmd {{epoch}}
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Grabbing config from {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BackUp_Config
state: directory
- name: Copy grab_config.cmd
win_copy:
src: ~/ansible/install/grab_config.cmd
dest: D:\BackUp_Config\grab_config.cmd
- name: Run grab_config
win_command: D:\BackUp_Config\grab_config.cmd {{epoch}}

View File

@@ -1,36 +1,35 @@
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Deploying TravelCard Services on {{ inventory_hostname }}
- name: Copy TravelCardDeployTravelCardServices script
win_copy:
src: ~/ansible/install/{{AOS_Deploy_TravelService}}
dest: D:\software\TravelCardDeployTravelCardServices.cmd
- name: Run TravelCardDeployTravelCardServices script
win_command: cmd.exe /c "cd /d D:\software && call TravelCardDeployTravelCardServices.cmd"
register: script_result
changed_when: false
failed_when: "'Execution of TravelCardDeployTravelCardServices done' not in script_result.stdout"
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: "Deployed TravelCard Services on {{ inventory_hostname }} : {{ 'Success' if script_result else 'Failed' }}"
when: script_result is defined
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: stopping AX on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: "aos60$01"
state: stopped
start_mode: auto
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Deploying TravelCard Services on {{ inventory_hostname }}
- name: Copy TravelCardDeployTravelCardServices script
win_copy:
src: ~/ansible/install/{{AOS_Deploy_TravelService}}
dest: D:\software\TravelCardDeployTravelCardServices.cmd
- name: Run TravelCardDeployTravelCardServices script
win_command: cmd.exe /c "cd /d D:\software && call TravelCardDeployTravelCardServices.cmd"
register: script_result
changed_when: false
failed_when: "'Execution of TravelCardDeployTravelCardServices done' not in script_result.stdout"
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: "Deployed TravelCard Services on {{ inventory_hostname }} : {{ 'Success' if script_result else 'Failed' }}"
when: script_result is defined
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: stopping AX on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: aos60$01
state: stopped
start_mode: auto

View File

@@ -1,112 +1,107 @@
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: "aos60$01"
state: started
start_mode: auto
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting CIL compile on {{ inventory_hostname }}
#- name: Compile CIL using Invoke-AxaptaServerCmd
# ansible.windows.win_shell: |
# $null = . 'D:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\Microsoft.Dynamics.ManagementUtilities.ps1'
# $AOSInstanceName = (Get-WmiObject -Class "MicrosoftDynamicsAX|InstalledAOSInstances" -Namespace "root\MicrosoftDynamicsAX").InstanceName
# $output = Invoke-AxaptaServerCmd -Server $AOSInstanceName -Command "CompileIL"
# register: cil_compile_output
# tags:
# - ax_compile_cil
- name: Compile CIL using AX32.exe
win_shell: |
$startupCmd = "-startupcmd=CompileIL"
$createDesktopA = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr CreateDesktopA(string lpszDesktop, IntPtr lpszDevice, IntPtr pDevmode, uint dwFlags, uint dwDesiredAccess, IntPtr lpsa);
"@
Add-Type -MemberDefinition $createDesktopA -Name "NativeMethods" -Namespace "Win32"
$desktop = [Win32.NativeMethods]::CreateDesktopA("CustomDesktop", [IntPtr]::Zero, [IntPtr]::Zero, 0, 0x10000000, [IntPtr]::Zero)
$job = Start-Job -ScriptBlock {Start-Process -FilePath "ax32.exe" -ArgumentList "-startupcmd=CompileIL" -Wait}
Wait-Job $job
register: cil_compile_output
tags:
- ax_compile_cil
- name: Check CIL compilation result
win_shell: |
$logFilePath = "D:\Program Files\Microsoft Dynamics AX\60\Server\TravelCardDynamicsAX\bin\XppIL\Dynamics.Ax.Application.dll.log"
if (Test-Path $logFilePath) {
$logContent = Get-Content $logFilePath -Raw -Encoding UTF8
$errors = Select-String -Path $logFilePath -Pattern "Error"
$warnings = Select-String -Path $logFilePath -Pattern "Warning"
if ($logContent -match "Finished creating types.") {
Write-Output "CIL compilation succeeded."
Write-Host "Number of Errors: $($errors.Line)"
Write-Host "Number of Warnings: $($warnings.Line)"
} else {Write-Output "CIL compilation failed."
}
}
else {
Write-Output "Log file not found."
}
register: cil_compile_output
tags:
- ax_compile_cil
- name: Send CIL compilation result notification via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: |
CIL compilation result for {{ inventory_hostname }}:
{{ cil_compile_output.stdout_lines}}
tags:
- ax_compile_cil
#- name: Show CIL compilation result
# ansible.builtin.debug:
# var: cil_compile_output.stdout_lines
# tags:
# - ax_compile_cil
#
#- name: Send CIL compilation result notification via Slack
# delegate_to: localhost
# community.general.slack:
# token: "{{ slack_token }}"
# msg: |
# CIL compilation result for {{ inventory_hostname }}:
# {% if cil_compile_output.stdout_lines %}
# {% for line in cil_compile_output.stdout_lines %}
# {{ line }}
# {% endfor %}
# {% else %}
# No output received.
# {% endif %}
# tags:
# - ax_compile_cil
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Ax service
ansible.windows.win_service:
name: "aos60$01"
state: stopped
start_mode: auto
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: aos60$01
state: started
start_mode: auto
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting CIL compile on {{ inventory_hostname }}
#- name: Compile CIL using Invoke-AxaptaServerCmd
# ansible.windows.win_shell: |
# $null = . 'D:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\Microsoft.Dynamics.ManagementUtilities.ps1'
# $AOSInstanceName = (Get-WmiObject -Class "MicrosoftDynamicsAX|InstalledAOSInstances" -Namespace "root\MicrosoftDynamicsAX").InstanceName
# $output = Invoke-AxaptaServerCmd -Server $AOSInstanceName -Command "CompileIL"
# register: cil_compile_output
# tags:
# - ax_compile_cil
- name: Compile CIL using AX32.exe
win_shell: |
$startupCmd = "-startupcmd=CompileIL"
$createDesktopA = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr CreateDesktopA(string lpszDesktop, IntPtr lpszDevice, IntPtr pDevmode, uint dwFlags, uint dwDesiredAccess, IntPtr lpsa);
"@
Add-Type -MemberDefinition $createDesktopA -Name "NativeMethods" -Namespace "Win32"
$desktop = [Win32.NativeMethods]::CreateDesktopA("CustomDesktop", [IntPtr]::Zero, [IntPtr]::Zero, 0, 0x10000000, [IntPtr]::Zero)
$job = Start-Job -ScriptBlock {Start-Process -FilePath "ax32.exe" -ArgumentList "-startupcmd=CompileIL" -Wait}
Wait-Job $job
register: cil_compile_output
tags:
- ax_compile_cil
- name: Check CIL compilation result
win_shell: |
$logFilePath = "D:\Program Files\Microsoft Dynamics AX\60\Server\TravelCardDynamicsAX\bin\XppIL\Dynamics.Ax.Application.dll.log"
if (Test-Path $logFilePath) {
$logContent = Get-Content $logFilePath -Raw -Encoding UTF8
$errors = Select-String -Path $logFilePath -Pattern "Error"
$warnings = Select-String -Path $logFilePath -Pattern "Warning"
if ($logContent -match "Finished creating types.") {
Write-Output "CIL compilation succeeded."
Write-Host "Number of Errors: $($errors.Line)"
Write-Host "Number of Warnings: $($warnings.Line)"
} else {Write-Output "CIL compilation failed."
}
}
else {
Write-Output "Log file not found."
}
register: cil_compile_output
tags:
- ax_compile_cil
- name: Send CIL compilation result notification via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: |
CIL compilation result for {{ inventory_hostname }}:
{{ cil_compile_output.stdout_lines}}
tags:
- ax_compile_cil
#- name: Show CIL compilation result
# ansible.builtin.debug:
# var: cil_compile_output.stdout_lines
# tags:
# - ax_compile_cil
#
#- name: Send CIL compilation result notification via Slack
# delegate_to: localhost
# community.general.slack:
# token: "{{ slack_token }}"
# msg: |
# CIL compilation result for {{ inventory_hostname }}:
# {% if cil_compile_output.stdout_lines %}
# {% for line in cil_compile_output.stdout_lines %}
# {{ line }}
# {% endfor %}
# {% else %}
# No output received.
# {% endif %}
# tags:
# - ax_compile_cil
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Ax service
ansible.windows.win_service:
name: aos60$01
state: stopped
start_mode: auto

View File

@@ -1,62 +1,60 @@
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Deploying TravelCard Services on {{ inventory_hostname }}
- name: Copy TravelCardPostDeploy script
win_copy:
src: ~/ansible/install/{{AOS_Deploy_PostTravel_Test}}
dest: D:\software\TravelCardPostDeploy.cmd
- name: Run TravelCardPostDeploy script
win_command: cmd.exe /c "cd /d D:\software && call TravelCardPostDeploy.cmd"
register: script_result
changed_when: false
failed_when: "'Execution of TravelCardPostDeploy done' not in script_result.stdout"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "Deployed TravelCard Services on {{ inventory_hostname }} : {{ 'Success' if script_result else 'Failed' }}"
when: script_result is defined and script_result.stdout is defined
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: restaring AX on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: "aos60$01"
state: restarted
start_mode: manual
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: starting AX on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: "aos60$01"
state: started
start_mode: manual
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: stopping AX on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: "aos60$01"
state: stopped
start_mode: auto
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Deploying TravelCard Services on {{ inventory_hostname }}
- name: Copy TravelCardPostDeploy script
win_copy:
src: ~/ansible/install/{{AOS_Deploy_PostTravel_Test}}
dest: D:\software\TravelCardPostDeploy.cmd
- name: Run TravelCardPostDeploy script
win_command: cmd.exe /c "cd /d D:\software && call TravelCardPostDeploy.cmd"
register: script_result
changed_when: false
failed_when: "'Execution of TravelCardPostDeploy done' not in script_result.stdout"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "Deployed TravelCard Services on {{ inventory_hostname }} : {{ 'Success' if script_result else 'Failed' }}"
when: script_result is defined and script_result.stdout is defined
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: restaring AX on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: aos60$01
state: restarted
start_mode: manual
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: starting AX on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: aos60$01
state: started
start_mode: manual
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: stopping AX on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: aos60$01
state: stopped
start_mode: auto

View File

@@ -1,95 +1,94 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: "aos60$01"
state: started
start_mode: manual
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Model import {{ inventory_hostname }}
- name: Import TravelCardDynamicsAX.axmodel
ansible.windows.win_shell: |
$null = . 'D:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\Microsoft.Dynamics.ManagementUtilities.ps1'
$capture = axutil import /file:D:\IFSAXSystem\Tools\Model\TravelCardDynamicsAX.axmodel /noprompt /conflict:overwrite
$capture -match "was successfully imported"
become: true
register: import_output
tags:
- ax_import
- name: Display import_output
debug:
var: import_output.stdout
tags:
- ax_import
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "Model import done on {{ inventory_hostname }}: {{ import_output.stdout }}"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: setting no install mode on {{ inventory_hostname }}
- name: Run Dynamics.ManagementUtilities.ps1 - no install mode
ansible.windows.win_powershell:
script: |
$null = . 'D:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\Microsoft.Dynamics.ManagementUtilities.ps1'
$capture = axutil set /noInstallMode
$capture -match "successfully applied"
register: output
failed_when: "'The NoInstallMode has been successfully applied.' not in output.output"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "no install mode set on {{ inventory_hostname }} : {{output.output}}"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: get travelCard Version on {{ inventory_hostname }}
- name: Get TravelCard version
ansible.windows.win_powershell:
script: |
$output = & 'D:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\Microsoft.Dynamics.ManagementUtilities.ps1' | axutil list
$travelCardLine = ($output -split "`n" | Select-String -Pattern "TravelCard ").Line
$travelCardLineClean = $travelCardLine -replace '.*?(?=TravelCard)', ''
Write-Output $travelCardLineClean
register: travel_card_version
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "TravelCard Version on {{ inventory_hostname }}: {{ travel_card_version.output }}"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Ax service
ansible.windows.win_service:
name: "aos60$01"
state: stopped
start_mode: manual
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: aos60$01
state: started
start_mode: manual
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Model import {{ inventory_hostname }}
- name: Import TravelCardDynamicsAX.axmodel
ansible.windows.win_shell: |
$null = . 'D:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\Microsoft.Dynamics.ManagementUtilities.ps1'
$capture = axutil import /file:D:\IFSAXSystem\Tools\Model\TravelCardDynamicsAX.axmodel /noprompt /conflict:overwrite
$capture -match "was successfully imported"
become: true
register: import_output
tags:
- ax_import
- name: Display import_output
debug:
var: import_output.stdout
tags:
- ax_import
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "Model import done on {{ inventory_hostname }}: {{ import_output.stdout }}"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: setting no install mode on {{ inventory_hostname }}
- name: Run Dynamics.ManagementUtilities.ps1 - no install mode
ansible.windows.win_powershell:
script: |
$null = . 'D:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\Microsoft.Dynamics.ManagementUtilities.ps1'
$capture = axutil set /noInstallMode
$capture -match "successfully applied"
register: output
failed_when: "'The NoInstallMode has been successfully applied.' not in output.output"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "no install mode set on {{ inventory_hostname }} : {{output.output}}"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: get travelCard Version on {{ inventory_hostname }}
- name: Get TravelCard version
ansible.windows.win_powershell:
script: |
$output = & 'D:\Program Files\Microsoft Dynamics AX\60\ManagementUtilities\Microsoft.Dynamics.ManagementUtilities.ps1' | axutil list
$travelCardLine = ($output -split "`n" | Select-String -Pattern "TravelCard ").Line
$travelCardLineClean = $travelCardLine -replace '.*?(?=TravelCard)', ''
Write-Output $travelCardLineClean
register: travel_card_version
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "TravelCard Version on {{ inventory_hostname }}: {{ travel_card_version.output }}"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Ax service
ansible.windows.win_service:
name: aos60$01
state: stopped
start_mode: manual

View File

@@ -1,26 +1,27 @@
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running XU_Reindex and XU_ResetHandleIdentity on {{ inventory_hostname }}
- name: Execute SQL commands on the TravelCardDynamicsAX database
ansible.windows.win_shell: |
Import-Module SqlServer
$server = "{{ inventory_hostname }}"
$database = "TravelCardDynamicsAX"
$query1 = "exec XU_Reindex"
$query2 = "exec XU_ResetHandleIdentity"
Invoke-Sqlcmd -ServerInstance $server -Database $database -Query $query1
Invoke-Sqlcmd -ServerInstance $server -Database $database -Query $query2
register: sql_result
tags:
- sql_commands
delegate_to: "{{ groups['SQL'][0] }}"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Done running XU_Reindex and XU_ResetHandleIdentity on {{ inventory_hostname }}
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running XU_Reindex and XU_ResetHandleIdentity on {{ inventory_hostname }}
- name: Execute SQL commands on the TravelCardDynamicsAX database
ansible.windows.win_shell: |
Import-Module SqlServer
$server = "{{ inventory_hostname }}"
$database = "TravelCardDynamicsAX"
$query1 = "exec XU_Reindex"
$query2 = "exec XU_ResetHandleIdentity"
Invoke-Sqlcmd -ServerInstance $server -Database $database -Query $query1
Invoke-Sqlcmd -ServerInstance $server -Database $database -Query $query2
register: sql_result
tags:
- sql_commands
delegate_to: "{{ groups['SQL'][0] }}"
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Done running XU_Reindex and XU_ResetHandleIdentity on {{ inventory_hostname }}

View File

@@ -1,103 +1,102 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: "aos60$01"
state: started
start_mode: manual
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Synchronize database {{ inventory_hostname }}
- name: Execute ax32.exe with startupcmd=synchronize_dbonly using CreateDesktopA function
win_shell: |
$startupCmd = "-startupcmd=synchronize_dbonly"
$createDesktopA = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr CreateDesktopA(string lpszDesktop, IntPtr lpszDevice, IntPtr pDevmode, uint dwFlags, uint dwDesiredAccess, IntPtr lpsa);
"@
Add-Type -MemberDefinition $createDesktopA -Name "NativeMethods" -Namespace "Win32"
$desktop = [Win32.NativeMethods]::CreateDesktopA("CustomDesktop", [IntPtr]::Zero, [IntPtr]::Zero, 0, 0x10000000, [IntPtr]::Zero)
Start-Process -FilePath "ax32.exe" -ArgumentList $startupCmd -Wait
register: result
- name: Verify synchronization
win_shell: Get-EventLog -LogName Application -Source "Dynamics Server 01" -After (Get-Date).Date | Where-Object {$_.Source -eq "Dynamics Server 01" -and $_.Message -like "*Sync finished*"}
register: event_log_result
- name: Show verification result
debug:
var: event_log_result.stdout_lines
- name: Send DB sync status via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "{% if event_log_result.stdout_lines %}:white_check_mark: Database synchronization on {{ inventory_hostname }} completed successfully.{% else %}:x: Database synchronization on {{ inventory_hostname }} failed with exit code {{ event_log_result.rc }}.{% endif %}"
- name: Send xpp_compile start message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "Starting xppcompileall on {{ inventory_hostname }}"
- name: xppcompileall AX
ansible.windows.win_shell: |
$binPath = "D:\Program Files\Microsoft Dynamics AX\60\Server\TravelCardDynamicsAX\bin"
$axBuildPath = "$binPath\AXBuild.exe"
Set-Location -Path $binPath
& $axBuildPath xppcompileall /s=01 /v
$logFilePath = "D:\Program Files\Microsoft Dynamics AX\60\Server\TravelCardDynamicsAX\Log\AxCompileAll.html"
$logContent = Get-Content -Path $logFilePath -Raw
$errorCount = [regex]::Match($logContent, '<H2>Errors\s+:\s+(\d+)</H2>').Groups[1].Value
$warningCount = [regex]::Match($logContent, '<H2>Warnings\s+:\s+(\d+)</H2>').Groups[1].Value
if ($errorCount -gt 0) {
$status = "failed with $errorCount error(s)."
$color = "danger"
} else {
$status = "completed with $warningCount warning(s)."
if ($warningCount -gt 0) {
$color = "warning"
} else {
$color = "good"
}
}
become: true
register: xppcompile_result
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: |
{{
"Compilation completed successfully." if xppcompile_result.rc == 0
else "Compilation failed with " + xppcompile_result.stdout.split(':')[1].strip() + " error(s)."
}}
{{
"Warnings: " + xppcompile_result.stdout.split(':')[3].strip() + "." if "Warnings:" in xppcompile_result.stdout else ""
}}
when: xppcompile_result is defined
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Ax service
ansible.windows.win_service:
name: "aos60$01"
state: stopped
start_mode: manual
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Start Ax service
ansible.windows.win_service:
name: aos60$01
state: started
start_mode: manual
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Synchronize database {{ inventory_hostname }}
- name: Execute ax32.exe with startupcmd=synchronize_dbonly using CreateDesktopA function
win_shell: |
$startupCmd = "-startupcmd=synchronize_dbonly"
$createDesktopA = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern IntPtr CreateDesktopA(string lpszDesktop, IntPtr lpszDevice, IntPtr pDevmode, uint dwFlags, uint dwDesiredAccess, IntPtr lpsa);
"@
Add-Type -MemberDefinition $createDesktopA -Name "NativeMethods" -Namespace "Win32"
$desktop = [Win32.NativeMethods]::CreateDesktopA("CustomDesktop", [IntPtr]::Zero, [IntPtr]::Zero, 0, 0x10000000, [IntPtr]::Zero)
Start-Process -FilePath "ax32.exe" -ArgumentList $startupCmd -Wait
register: result
- name: Verify synchronization
win_shell: Get-EventLog -LogName Application -Source "Dynamics Server 01" -After (Get-Date).Date | Where-Object {$_.Source -eq "Dynamics Server 01" -and $_.Message
-like "*Sync finished*"}
register: event_log_result
- name: Show verification result
debug:
var: event_log_result.stdout_lines
- name: Send DB sync status via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: "{% if event_log_result.stdout_lines %}:white_check_mark: Database synchronization on {{ inventory_hostname }} completed successfully.{% else %}:x: Database
synchronization on {{ inventory_hostname }} failed with exit code {{ event_log_result.rc }}.{% endif %}"
- name: Send xpp_compile start message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting xppcompileall on {{ inventory_hostname }}
- name: xppcompileall AX
ansible.windows.win_shell: |
$binPath = "D:\Program Files\Microsoft Dynamics AX\60\Server\TravelCardDynamicsAX\bin"
$axBuildPath = "$binPath\AXBuild.exe"
Set-Location -Path $binPath
& $axBuildPath xppcompileall /s=01 /v
$logFilePath = "D:\Program Files\Microsoft Dynamics AX\60\Server\TravelCardDynamicsAX\Log\AxCompileAll.html"
$logContent = Get-Content -Path $logFilePath -Raw
$errorCount = [regex]::Match($logContent, '<H2>Errors\s+:\s+(\d+)</H2>').Groups[1].Value
$warningCount = [regex]::Match($logContent, '<H2>Warnings\s+:\s+(\d+)</H2>').Groups[1].Value
if ($errorCount -gt 0) {
$status = "failed with $errorCount error(s)."
$color = "danger"
} else {
$status = "completed with $warningCount warning(s)."
if ($warningCount -gt 0) {
$color = "warning"
} else {
$color = "good"
}
}
become: true
register: xppcompile_result
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: |
{{
"Compilation completed successfully." if xppcompile_result.rc == 0
else "Compilation failed with " + xppcompile_result.stdout.split(':')[1].strip() + " error(s)."
}}
{{
"Warnings: " + xppcompile_result.stdout.split(':')[3].strip() + "." if "Warnings:" in xppcompile_result.stdout else ""
}}
when: xppcompile_result is defined
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Ax service
ansible.windows.win_service:
name: aos60$01
state: stopped
start_mode: manual

View File

@@ -1,81 +1,70 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying AXInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\AXInstall
state: directory
- name: Copy {{AXInstall}}
win_copy:
src: ~/ansible/install/{{AXInstall}}
dest: D:\AXInstall\{{AXInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/{{ configVersion }}/{{ configName }}/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\AXInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{AXInstall}} on {{ inventory_hostname }}
- name: Run {{AXInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\AXInstall\{{AXInstall}} /PlatFormFilesPath=D:\AXInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process AXInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSAXSystem\InstallLog\AXInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleaning up AXInstall files on {{ inventory_hostname }}
- name: Clean up
ansible.windows.win_file:
path: D:\AXInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying AXInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\AXInstall
state: directory
- name: Copy {{AXInstall}}
win_copy:
src: ~/ansible/install/{{AXInstall}}
dest: D:\AXInstall\{{AXInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/{{ configVersion }}/{{ configName }}/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\AXInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{AXInstall}} on {{ inventory_hostname }}
- name: Run {{AXInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\AXInstall\{{AXInstall}} /PlatFormFilesPath=D:\AXInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process AXInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSAXSystem\InstallLog\AXInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleaning up AXInstall files on {{ inventory_hostname }}
- name: Clean up
ansible.windows.win_file:
path: D:\AXInstall
state: absent

View File

@@ -1,88 +1,81 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying {{BOInstall}} to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/{{ configVersion }}/{{ configName }}/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing {{BOInstall}} on {{ inventory_hostname }}
- name: Run {{BOInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
#- name: Send notification message via Slack
# delegate_to: localhost
# community.general.slack:
# token: "{{ slack_token }}"
# msg: Running fixlog4net on {{ inventory_hostname }}
#- name: Copy fixlog4net
# win_copy:
# src: ~/ansible/install/fixlog4net.ps1
# dest: D:\BOInstall\fixlog4net.ps1
#- name: Run fixlog4net
# ansible.windows.win_powershell:
# script: |
# D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying {{BOInstall}} to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/{{ configVersion }}/{{ configName }}/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Installing {{BOInstall}} on {{ inventory_hostname }}
- name: Run {{BOInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
#- name: Send notification message via Slack
# delegate_to: localhost
# community.general.slack:
# token: "{{ slack_token }}"
# msg: Running fixlog4net on {{ inventory_hostname }}
#- name: Copy fixlog4net
# win_copy:
# src: ~/ansible/install/fixlog4net.ps1
# dest: D:\BOInstall\fixlog4net.ps1
#- name: Run fixlog4net
# ansible.windows.win_powershell:
# script: |
# D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent

View File

@@ -1,53 +1,51 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying Note_install files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\software\
state: directory
- name: Copy {{Note_install}}
win_copy:
src: ~/ansible/install/{{Note_install}}
dest: D:\software\{{Note_install}}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Note_install on {{ inventory_hostname }}
- name: Run {{Note_install}}
ansible.windows.win_powershell:
script: |
D:\Sofware\{{Note_install}} /S
Get-Process npp* | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking Version installed on {{ inventory_hostname }}
- name: Version Check
ansible.windows.win_powershell:
script: |
$log = Get-Item 'C:\Program Files\Notepad++\change.log'
$topline = $log | Get-Content | Select -First 1
if($result.Matches[0].Groups[1].Value -match 'Notepad\+\+ v8.4.1') {
$Ansible.Failed = $true
}
###name: Clean up
### ansible.windows.win_file:
### path: D:\software\{{Note_install}}
### state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying Note_install files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\software\
state: directory
- name: Copy {{Note_install}}
win_copy:
src: ~/ansible/install/{{Note_install}}
dest: D:\software\{{Note_install}}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Note_install on {{ inventory_hostname }}
- name: Run {{Note_install}}
ansible.windows.win_powershell:
script: |
D:\Sofware\{{Note_install}} /S
Get-Process npp* | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking Version installed on {{ inventory_hostname }}
- name: Version Check
ansible.windows.win_powershell:
script: |
$log = Get-Item 'C:\Program Files\Notepad++\change.log'
$topline = $log | Get-Content | Select -First 1
if($result.Matches[0].Groups[1].Value -match 'Notepad\+\+ v8.4.1') {
$Ansible.Failed = $true
}
###name: Clean up
### ansible.windows.win_file:
### path: D:\software\{{Note_install}}
### state: absent

View File

@@ -1,81 +1,70 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying AXInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\AXInstall
state: directory
- name: Copy {{AXInstall}}
win_copy:
src: ~/ansible/install/{{AXInstall}}
dest: D:\AXInstall\{{AXInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\AXInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting AXInstall on {{ inventory_hostname }}
- name: Run {{AXInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\AXInstall\{{AXInstall}} /PlatFormFilesPath=D:\AXInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process AXInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSAXSystem\InstallLog\AXInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleaning up AXInstall files on {{ inventory_hostname }}
- name: Clean up
ansible.windows.win_file:
path: D:\AXInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying AXInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\AXInstall
state: directory
- name: Copy {{AXInstall}}
win_copy:
src: ~/ansible/install/{{AXInstall}}
dest: D:\AXInstall\{{AXInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\AXInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting AXInstall on {{ inventory_hostname }}
- name: Run {{AXInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\AXInstall\{{AXInstall}} /PlatFormFilesPath=D:\AXInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process AXInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSAXSystem\InstallLog\AXInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleaning up AXInstall files on {{ inventory_hostname }}
- name: Clean up
ansible.windows.win_file:
path: D:\AXInstall
state: absent

View File

@@ -1,81 +1,70 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying AXInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\AXInstall
state: directory
- name: Copy {{AXInstall}}
win_copy:
src: ~/ansible/install/{{AXInstall}}
dest: D:\AXInstall\{{AXInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtestc.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\AXInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting AXInstall on {{ inventory_hostname }}
- name: Run {{AXInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\AXInstall\{{AXInstall}} /PlatFormFilesPath=D:\AXInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process AXInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSAXSystem\InstallLog\AXInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleaning up AXInstall files on {{ inventory_hostname }}
- name: Clean up
ansible.windows.win_file:
path: D:\AXInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying AXInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\AXInstall
state: directory
- name: Copy {{AXInstall}}
win_copy:
src: ~/ansible/install/{{AXInstall}}
dest: D:\AXInstall\{{AXInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtestc.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\AXInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting AXInstall on {{ inventory_hostname }}
- name: Run {{AXInstall}}
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\AXInstall\{{AXInstall}} /PlatFormFilesPath=D:\AXInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process AXInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSAXSystem\InstallLog\AXInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleaning up AXInstall files on {{ inventory_hostname }}
- name: Clean up
ansible.windows.win_file:
path: D:\AXInstall
state: absent

View File

@@ -1,89 +1,82 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent

View File

@@ -1,89 +1,82 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtestc.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtestc.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent

View File

@@ -1,89 +1,82 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Copying BOInstall files to {{ inventory_hostname }}
- name: Prepare install target
ansible.windows.win_file:
path: D:\BOInstall
state: directory
- name: Copy BOInstall
win_copy:
src: ~/ansible/install/{{BOInstall}}
dest: D:\BOInstall\{{BOInstall}}
- name: Copy Config
win_copy:
src: ~/ansible/install/config/v12.0/rejtesta.local/{{ inventory_hostname.split('.')[0]|upper }}/
dest: D:\BOInstall\Config
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting BOInstall on {{ inventory_hostname }}
- name: Run BOInstall
ansible.windows.win_powershell:
script: |
iex "cmd /c D:\BOInstall\{{BOInstall}} /PlatFormFilesPath=D:\BOInstall\Config /ForceReboot=False /S"
Start-Sleep -Seconds 30
Get-Process BOInstall | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Checking final errorstatus 0 on {{ inventory_hostname }}
- name: Final errorstatus
ansible.windows.win_powershell:
script: |
$newestLog = Get-Item D:\IFSBOSystem\InstallLog\BOInstall_*.log | Sort LastWriteTime -Descending | Select-Object -First 1
$result = $newestLog | Select-String -Pattern 'The final errorstatus is ([0-9]+)'
if($result.Matches[0].Groups[1].Value -ne 0) {
$Ansible.Failed = $true
}
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Clean up
ansible.windows.win_file:
path: D:\BOInstall
state: absent

View File

@@ -1,9 +1,9 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:

View File

@@ -1,12 +1,12 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Starting Dynamics Ax service
ansible.windows.win_service:
name: "aos60$01"
state: started
start_mode: auto
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting Ax service on {{ inventory_hostname }}
- name: Starting Dynamics Ax service
ansible.windows.win_service:
name: aos60$01
state: started
start_mode: auto

View File

@@ -1,32 +1,32 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting IFSBO on {{ inventory_hostname }}
- name: IFSBO-Start
ansible.windows.win_powershell:
script: |
# start agent service
Get-Service -DisplayName 'IFS HouseKeeping Agent' | Start-Service
# connect to agent
$proxy = New-WebServiceProxy -Uri 'http://localhost:9080/HouseKeepingAgentService/'
$proxy.Startup()
# start retry loop
:retry for($retry = 0; $retry -lt 60; $retry++) {
Start-Sleep -Seconds 5
# get component status
$components = $proxy.ComponentsInfo()
# if any component is not running, restart retry loop
foreach($component in $components) {
if($component.Status -eq 'Error') {
throw "Component $($component.Name) has failed to start"
}
if($component.Status -ne 'Running') {
continue retry
}
}
# break retry loop
break retry
}
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting IFSBO on {{ inventory_hostname }}
- name: IFSBO-Start
ansible.windows.win_powershell:
script: |-
# start agent service
Get-Service -DisplayName 'IFS HouseKeeping Agent' | Start-Service
# connect to agent
$proxy = New-WebServiceProxy -Uri 'http://localhost:9080/HouseKeepingAgentService/'
$proxy.Startup()
# start retry loop
:retry for($retry = 0; $retry -lt 60; $retry++) {
Start-Sleep -Seconds 5
# get component status
$components = $proxy.ComponentsInfo()
# if any component is not running, restart retry loop
foreach($component in $components) {
if($component.Status -eq 'Error') {
throw "Component $($component.Name) has failed to start"
}
if($component.Status -ne 'Running') {
continue retry
}
}
# break retry loop
break retry
}

View File

@@ -1,9 +1,9 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting IIS on {{ inventory_hostname }}
- name: iisreset -start
win_command: iisreset -start
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Starting IIS on {{ inventory_hostname }}
- name: iisreset -start
win_command: iisreset -start

View File

@@ -1,12 +1,12 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Dynamics Ax service
ansible.windows.win_service:
name: "aos60$01"
state: stopped
start_mode: manual
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping Ax service on {{ inventory_hostname }}
- name: Stop Dynamics Ax service
ansible.windows.win_service:
name: aos60$01
state: stopped
start_mode: manual

View File

@@ -1,37 +1,36 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping IFSBO on {{ inventory_hostname }}
- name: IFSBO-Stop
ansible.windows.win_powershell:
script: |
$forceQuit = $false
# ensure agent is running
Get-Service -DisplayName 'IFS HouseKeeping Agent' | Start-Service -ErrorAction Stop
# connect to agent
$proxy = New-WebServiceProxy -Uri 'http://localhost:9080/HouseKeepingAgentService/'
# initiate shutdown
$proxy.Shutdown($forceQuit, $true)
# Start retry loop
:retry for($retry = 0; $retry -lt 60; $retry++) {
Start-Sleep -Seconds 5
# if any component is still running, restart retry loop
foreach($component in $components) {
if($component.Status -eq 'Running') {
continue retry
}
}
# no components running
if($retry -eq 59) {
$forceQuit = $true
}
# break retry loop
break retry
}
# Shutdown agent
$proxy.ShutdownAndQuit($forceQuit, $true)
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping IFSBO on {{ inventory_hostname }}
- name: IFSBO-Stop
ansible.windows.win_powershell:
script: |
$forceQuit = $false
# ensure agent is running
Get-Service -DisplayName 'IFS HouseKeeping Agent' | Start-Service -ErrorAction Stop
# connect to agent
$proxy = New-WebServiceProxy -Uri 'http://localhost:9080/HouseKeepingAgentService/'
# initiate shutdown
$proxy.Shutdown($forceQuit, $true)
# Start retry loop
:retry for($retry = 0; $retry -lt 60; $retry++) {
Start-Sleep -Seconds 5
# if any component is still running, restart retry loop
foreach($component in $components) {
if($component.Status -eq 'Running') {
continue retry
}
}
# no components running
if($retry -eq 59) {
$forceQuit = $true
}
# break retry loop
break retry
}
# Shutdown agent
$proxy.ShutdownAndQuit($forceQuit, $true)

View File

@@ -1,9 +1,9 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping IIS on {{ inventory_hostname }}
- name: iisreset -stop
win_command: iisreset -stop
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Stopping IIS on {{ inventory_hostname }}
- name: iisreset -stop
win_command: iisreset -stop

View File

@@ -1,9 +1,9 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Task failed on {{ inventory_hostname }}
- name: Fail
ansible.builtin.command: /bin/false
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Task failed on {{ inventory_hostname }}
- name: Fail
ansible.builtin.command: /bin/false

View File

@@ -1,16 +1,16 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |
D:\BOInstall\fixlog4net.ps1
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Running fixlog4net on {{ inventory_hostname }}
- name: Copy fixlog4net
win_copy:
src: ~/ansible/install/fixlog4net.ps1
dest: D:\BOInstall\fixlog4net.ps1
- name: Run fixlog4net
ansible.windows.win_powershell:
script: |-
D:\BOInstall\fixlog4net.ps1

View File

@@ -1,11 +1,11 @@
---
- name: Deleting contents of XppiL folder
ansible.windows.win_powershell:
script: |
$path = 'D:\Program Files\Microsoft Dynamics AX\60\Server\TravelCardDynamicsAX\bin\XppIL'
Get-Item -Path "$path\*" | Remove-Item -Force -Recurse
$items = Get-ChildItem -Recurse -Path $path
if($items.Count -gt 0) {
$Ansible.Result = "Items remaining in XppiL: $($items.Count)"
$Ansible.Failed = $true
}
---
- name: Deleting contents of XppiL folder
ansible.windows.win_powershell:
script: |-
$path = 'D:\Program Files\Microsoft Dynamics AX\60\Server\TravelCardDynamicsAX\bin\XppIL'
Get-Item -Path "$path\*" | Remove-Item -Force -Recurse
$items = Get-ChildItem -Recurse -Path $path
if($items.Count -gt 0) {
$Ansible.Result = "Items remaining in XppiL: $($items.Count)"
$Ansible.Failed = $true
}

View File

@@ -1,23 +1,23 @@
---
- name: Uninstall AXInstall
ansible.windows.win_powershell:
script: |
$lastInstall = (Get-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\AXInstall\ -Name LastInstall).LastInstall
$uninstallString = (Get-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\$lastInstall\ -Name UninstallString).UninstallString
iex "cmd /c '$uninstallString' /S /ForceReboot=False"
Start-Sleep -Seconds 30
Get-Process Au_ | Wait-Process
- name: Reboot
win_reboot:
- name: Cleanup IFSAXSystem folder
win_file:
path: D:\IFSAXSystem
state: absent
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: uninstall Done on {{ inventory_hostname }}
---
- name: Uninstall AXInstall
ansible.windows.win_powershell:
script: |
$lastInstall = (Get-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\AXInstall\ -Name LastInstall).LastInstall
$uninstallString = (Get-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\$lastInstall\ -Name UninstallString).UninstallString
iex "cmd /c '$uninstallString' /S /ForceReboot=False"
Start-Sleep -Seconds 30
Get-Process Au_ | Wait-Process
- name: Reboot
win_reboot:
- name: Cleanup IFSAXSystem folder
win_file:
path: D:\IFSAXSystem
state: absent
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: uninstall Done on {{ inventory_hostname }}

View File

@@ -1,39 +1,37 @@
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Uninstalling BOInstall on {{ inventory_hostname }}
- name: Uninstall BOInstall
ansible.windows.win_powershell:
script: |
$lastInstall = (Get-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\BOInstall\ -Name LastInstall).LastInstall
$uninstallString = (Get-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\$lastinstall\ -Name UninstallString).UninstallString
iex "cmd /c '$uninstallString' /S /ForceReboot=False"
Start-Sleep -Seconds 30
Get-Process Au_ | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleanup IFSBOSystem on {{ inventory_hostname }}
- name: Cleanup IFSBOSystem folder
win_file:
path: D:\IFSBOSystem
state: absent
---
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Uninstalling BOInstall on {{ inventory_hostname }}
- name: Uninstall BOInstall
ansible.windows.win_powershell:
script: |
$lastInstall = (Get-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\BOInstall\ -Name LastInstall).LastInstall
$uninstallString = (Get-ItemProperty -Path HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\$lastinstall\ -Name UninstallString).UninstallString
iex "cmd /c '$uninstallString' /S /ForceReboot=False"
Start-Sleep -Seconds 30
Get-Process Au_ | Wait-Process
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Rebooting {{ inventory_hostname }}
- name: Reboot
win_reboot:
- name: Send notification message via Slack
delegate_to: localhost
community.general.slack:
token: "{{ slack_token }}"
msg: Cleanup IFSBOSystem on {{ inventory_hostname }}
- name: Cleanup IFSBOSystem folder
win_file:
path: D:\IFSBOSystem
state: absent

View File

@@ -1,71 +1,68 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
#- name: AXInstall Post-Installation tasks
# hosts: AOS_POM
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-axinstall-cilcompile.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
## Post-installs
#- name: Install PI46810 - CWS
# hosts: WEB_CWS
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-PI46810_CWS.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
#- name: Install PI46810 - BORIS
# hosts: WEB_BORIS
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-PI46810_BORIS.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
## BOInstall
- name: Install BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/install-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Install AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/install-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
#- name: AXInstall Post-Installation tasks
# hosts: AOS_POM
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-axinstall-cilcompile.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
## Post-installs
#- name: Install PI46810 - CWS
# hosts: WEB_CWS
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-PI46810_CWS.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
#- name: Install PI46810 - BORIS
# hosts: WEB_BORIS
# gather_facts: false
# tasks:
# - block:
# - include: tasks/install-PI46810_BORIS.yaml
# rescue:
# - include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,15 +1,15 @@
---
- name: test winrm connexion
hosts: Windows
vars:
# ansible_user: svcansible@DOMAIN.EAST-WEST.DK
# ansible_password: 4bUmP3ZgOE70WDmuMuS8WD3ZgOmuMuS8
# ansible_connection: winrm
# ansible_winrm_server_cert_validation: ignore
# ansible_winrm_scheme: http
# ansible_ssh_port: 5985
# ansible_winrm_transport: kerberos
# ansible_winrm_kinit_mode: auto
# ansible_winrm_kinit_cmd: 'echo "4bUmP3ZgOE70WDmuMuS8WD3ZgOmuMuS8" | kinit svcansible@DOMAIN.EAST-WEST.DK'
tasks:
- win_ping:
---
- name: test winrm connexion
hosts: Windows
vars:
# ansible_user: svcansible@DOMAIN.EAST-WEST.DK
# ansible_password: 4bUmP3ZgOE70WDmuMuS8WD3ZgOmuMuS8
# ansible_connection: winrm
# ansible_winrm_server_cert_validation: ignore
# ansible_winrm_scheme: http
# ansible_ssh_port: 5985
# ansible_winrm_transport: kerberos
# ansible_winrm_kinit_mode: auto
# ansible_winrm_kinit_cmd: 'echo "4bUmP3ZgOE70WDmuMuS8WD3ZgOmuMuS8" | kinit svcansible@DOMAIN.EAST-WEST.DK'
tasks:
- win_ping:

View File

@@ -1,34 +1,34 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Get epoch timestamp
shell: date +%s
register: timestamp
- name: Grab config - all servers
hosts: ServersWithConfigs
gather_facts: false
vars:
epoch: "{{ hostvars['localhost']['timestamp'].stdout }}"
tasks:
- block:
- include: tasks/grab-config.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Get epoch timestamp
shell: date +%s
register: timestamp
- name: Grab config - all servers
hosts: ServersWithConfigs
gather_facts: false
vars:
epoch: "{{ hostvars['localhost']['timestamp'].stdout }}"
tasks:
- block:
- include: tasks/grab-config.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Slack
hosts: localhost
gather_facts: false
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: All done

View File

@@ -1,10 +1,9 @@
---
- name: Install BOInstall
hosts: SQL
gather_facts: false
tasks:
- block:
- include: tasks/test-log4net.yaml
rescue:
- include: tasks/task-failed-slack.yaml
---
- name: Install BOInstall
hosts: SQL
gather_facts: false
tasks:
- block:
- include: tasks/test-log4net.yaml
rescue:
- include: tasks/task-failed-slack.yaml

View File

@@ -1,16 +1,15 @@
---
- name: testing windows hosts
hosts: Windows
tasks:
- name: run ipconfig
raw: ipconfig
register: ipconfig
- debug: var=ipconfig
- name: run ping
ansible.windows.win_ping:
register: winping
- debug: var=winping
---
- name: testing windows hosts
hosts: Windows
tasks:
- name: run ipconfig
raw: ipconfig
register: ipconfig
- debug: var=ipconfig
- name: run ping
ansible.windows.win_ping:
register: winping
- debug: var=winping

View File

@@ -1,45 +1,44 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Get epoch timestamp
shell: date +%s
register: timestamp
- name: Grab config - all servers
hosts: AOS
gather_facts: false
vars:
epoch: "{{ hostvars['localhost']['timestamp'].stdout }}"
tasks:
- block:
- include: tasks/grab-config.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Uninstall AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Uninstall AXInstall - XppiL cleanup
hosts: AOS_POM
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-axinstall-pom.yaml
rescue:
- include: tasks/task-failed-slack.yaml
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Get epoch timestamp
shell: date +%s
register: timestamp
- name: Grab config - all servers
hosts: AOS
gather_facts: false
vars:
epoch: "{{ hostvars['localhost']['timestamp'].stdout }}"
tasks:
- block:
- include: tasks/grab-config.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Uninstall AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Uninstall AXInstall - XppiL cleanup
hosts: AOS_POM
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-axinstall-pom.yaml
rescue:
- include: tasks/task-failed-slack.yaml

View File

@@ -1,37 +1,35 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Get epoch timestamp
shell: date +%s
register: timestamp
- name: Grab config - all servers
hosts: BOInstall
gather_facts: false
vars:
epoch: "{{ hostvars['localhost']['timestamp'].stdout }}"
tasks:
- block:
- include: tasks/grab-config.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## BOInstall
- name: Uninstall BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Get epoch timestamp
shell: date +%s
register: timestamp
- name: Grab config - all servers
hosts: BOInstall
gather_facts: false
vars:
epoch: "{{ hostvars['localhost']['timestamp'].stdout }}"
tasks:
- block:
- include: tasks/grab-config.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## BOInstall
- name: Uninstall BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml

View File

@@ -1,55 +1,54 @@
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\u0000',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Get epoch timestamp
shell: date +%s
register: timestamp
- name: Grab config - all servers
hosts: ServersWithConfigs
gather_facts: false
vars:
epoch: "{{ hostvars['localhost']['timestamp'].stdout }}"
tasks:
- block:
- include: tasks/grab-config.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## BOInstall
- name: Uninstall BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Uninstall AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Uninstall AXInstall - XppiL cleanup
hosts: AOS_POM
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-axinstall-pom.yaml
rescue:
- include: tasks/task-failed-slack.yaml
---
- name: Slack
hosts: localhost
gather_facts: false
vars:
playbook_file: "{{ (lookup('file', '/proc/self/cmdline') | regex_replace('\0',' ')).split() | select('match','^.*[.]ya?ml$') | list | first }}"
tasks:
- name: Send notification message via Slack
community.general.slack:
token: "{{ slack_token }}"
msg: Starting {{ playbook_file }}
- name: Get epoch timestamp
shell: date +%s
register: timestamp
- name: Grab config - all servers
hosts: ServersWithConfigs
gather_facts: false
vars:
epoch: "{{ hostvars['localhost']['timestamp'].stdout }}"
tasks:
- block:
- include: tasks/grab-config.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## BOInstall
- name: Uninstall BOInstall
hosts: BOInstall
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-boinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
## AxInstall
- name: Uninstall AXInstall
hosts: AOS
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-axinstall.yaml
rescue:
- include: tasks/task-failed-slack.yaml
- name: Uninstall AXInstall - XppiL cleanup
hosts: AOS_POM
gather_facts: false
tasks:
- block:
- include: tasks/uninstall-axinstall-pom.yaml
rescue:
- include: tasks/task-failed-slack.yaml

View File

@@ -1,17 +1,17 @@
---
- name: Remove VM on Proxmox
hosts: proxmox.localdomain
gather_facts: no
gather_facts: false
vars:
api_host: "192.168.1.162"
api_user: "root@pam"
api_token_id: "mytoki"
api_token_secret: "ea5114f5-ed39-4277-ac09-a32984be5bc9"
proxmox_node: "pve"
api_host: 192.168.1.162
api_user: root@pam
api_token_id: mytoki
api_token_secret: ea5114f5-ed39-4277-ac09-a32984be5bc9
proxmox_node: pve
vars_prompt:
- name: vm_name_to_remove
prompt: "Enter the name of the VM to remove"
private: no
prompt: Enter the name of the VM to remove
private: false
tasks:
- name: List all VMs and templates
community.general.proxmox_vm_info:
@@ -19,19 +19,19 @@
api_user: "{{ api_user }}"
api_token_id: "{{ api_token_id }}"
api_token_secret: "{{ api_token_secret }}"
validate_certs: no
validate_certs: false
register: vms_info
- name: Find VMID based on VM name
set_fact:
vmid_to_remove: "{{ item.vmid }}"
loop: "{{ vms_info.proxmox_vms }}"
when: item.name == vm_name_to_remove
ansible.builtin.set_fact:
vmid_to_remove: "{{ item.vmid }}"
- name: Debug VMID to remove
debug:
msg: "VMID to remove: {{ vmid_to_remove }}"
when: vmid_to_remove is defined
ansible.builtin.debug:
msg: "VMID to remove: {{ vmid_to_remove }}"
- name: Remove the VM
community.general.proxmox_kvm:
@@ -45,7 +45,6 @@
when: vmid_to_remove is defined
- name: Print message if VM was not found
debug:
msg: "VM {{ vm_name_to_remove }} not found."
when: vmid_to_remove is not defined
ansible.builtin.debug:
msg: VM {{ vm_name_to_remove }} not found.

View File

@@ -1,3 +1,4 @@
---
galaxy_info:
author: name1
description: superorle
@@ -40,12 +41,12 @@ galaxy_info:
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,

View File

@@ -1,3 +1,4 @@
---
galaxy_info:
author: your name
description: your role description
@@ -40,12 +41,12 @@ galaxy_info:
# - 99.99
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,

View File

@@ -18,5 +18,5 @@
register: clients
- name: Display clients details
debug:
ansible.builtin.debug:
var: clients.results

View File

@@ -1,6 +1,7 @@
zabbix_server: "192.168.1.24"
zabbix_server_url: "http://192.168.1.24/api_jsonrpc.php"
zabbix_login_user: "Admin"
zabbix_login_password: "zabbix"
zabbix_host_group: "2" # Change this to the correct group ID for your setup
zabbix_template_id: "10001" # Change this to the correct template ID for your setup
---
zabbix_server: 192.168.1.24
zabbix_server_url: http://192.168.1.24/api_jsonrpc.php
zabbix_login_user: Admin
zabbix_login_password: zabbix
zabbix_host_group: "2" # Change this to the correct group ID for your setup
zabbix_template_id: "10001" # Change this to the correct template ID for your setup

View File

@@ -1,3 +1,4 @@
---
galaxy_info:
author: your name
description: your role description
@@ -22,12 +23,12 @@ galaxy_info:
# min_ansible_container_version:
galaxy_tags: []
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
# List tags for your role here, one per line. A tag is a keyword that describes
# and categorizes the role. Users find roles by searching for tags. Be sure to
# remove the '[]' above, if you add tags to this list.
#
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
# Maximum 20 tags per role.
dependencies: []
# List your role dependencies here, one per line. Be sure to remove the '[]' above,

View File

@@ -1,65 +1,68 @@
---
- name: Update apt cache
apt:
update_cache: true
become: true
ansible.builtin.apt:
update_cache: true
- name: Install Zabbix agent
apt:
become: true
ansible.builtin.apt:
name: zabbix-agent
state: present
become: true
- name: Ensure Zabbix agent is running and enabled
service:
become: true
ansible.builtin.service:
name: zabbix-agent
state: started
enabled: true
become: true
- name: Configure Zabbix agent
template:
become: true
ansible.builtin.template:
src: zabbix_agentd.conf.j2
dest: /etc/zabbix/zabbix_agentd.conf
become: true
- name: Generate PSK for Zabbix agent
shell: echo -n "4e616d656461706c617965722072616e646f6d6b65792067656e657261746564" > /etc/zabbix/zabbix_agentd.psk
become: true
ansible.builtin.shell: echo -n "4e616d656461706c617965722072616e646f6d6b65792067656e657261746564" > /etc/zabbix/zabbix_agentd.psk
- name: Restart Zabbix agent
service:
become: true
ansible.builtin.service:
name: zabbix-agent
state: restarted
become: true
- name: Authenticate with Zabbix API
uri:
url: "http://192.168.1.24/api_jsonrpc.php"
method: POST
body_format: json
headers:
Content-Type: "application/json"
body:
jsonrpc: "2.0"
method: "user.login"
params:
username: "Admin"
password: "zabbix"
id: 1
register: auth_response
delegate_to: localhost
- name: Create or update a host in Zabbix
uri:
url: "http://192.168.1.24/api_jsonrpc.php"
ansible.builtin.uri:
url: http://192.168.1.24/api_jsonrpc.php
method: POST
body_format: json
headers:
Content-Type: "application/json"
Content-Type: application/json
body:
jsonrpc: "2.0"
method: "host.create"
method: user.login
params:
username: Admin
password: zabbix
id: 1
- name: Create or update a host in Zabbix
register: zabbix_host_response
delegate_to: localhost
when: auth_response.json.result is defined
ansible.builtin.uri:
url: http://192.168.1.24/api_jsonrpc.php
method: POST
body_format: json
headers:
Content-Type: application/json
body:
jsonrpc: "2.0"
method: host.create
params:
host: "{{ inventory_hostname }}"
interfaces:
@@ -70,21 +73,18 @@
dns: ""
port: "10050"
groups:
- groupid: "2" # Group ID for "Linux servers"
- groupid: "2"
templates:
- templateid: "10001" # Template ID for "Template OS Linux"
- templateid: "10001"
tls_connect: 2
tls_accept: 2
tls_psk_identity: "PSK-{{ inventory_hostname }}"
tls_psk: "4e616d656461706c617965722072616e646f6d6b65792067656e657261746564" # Example PSK
tls_psk_identity: PSK-{{ inventory_hostname }}
tls_psk: 4e616d656461706c617965722072616e646f6d6b65792067656e657261746564
auth: "{{ auth_response.json.result }}"
id: 1
register: zabbix_host_response
delegate_to: localhost
when: auth_response.json.result is defined
- name: Check Zabbix agent status
service:
become: true
ansible.builtin.service:
name: zabbix-agent
state: started
become: true

View File

@@ -1,17 +1,17 @@
---
- name: Retrieve and display UniFi port forwarding rules
hosts: localhost
gather_facts: no
gather_facts: false
tasks:
- name: Get port forwarding rules
unifi_portforward_module:
controller_url: "https://192.168.1.237:8443"
username: "alex_mormor@hotmail.com"
password: "aaseiswild123"
site_id: "default"
controller_url: https://192.168.1.237:8443
username: alex_mormor@hotmail.com
password: aaseiswild123
site_id: default
mfa_token: "{{ lookup('password', 'Enter your MFA token: ') }}"
register: result
- name: Display port forwarding rules
debug:
ansible.builtin.debug:
var: result.portforwarding_rules

View File

@@ -1,3 +1,4 @@
---
#playbook
- name: Playbook useing the role shutdown-role on windows servers
hosts: windows

View File

@@ -1,11 +1,11 @@
---
- name: Test Zabbix API connection
hosts: localhost
gather_facts: no
gather_facts: false
tasks:
- name: Set API token
ansible.builtin.set_fact:
ansible_zabbix_auth_key: "6965e0d3bf4416a15ce750e7dba47933d3dfc988d99d866291b0f2d55845bb05"
ansible_zabbix_auth_key: 6965e0d3bf4416a15ce750e7dba47933d3dfc988d99d866291b0f2d55845bb05
- name: Configure HTTPAPI connection
ansible.builtin.set_fact:
@@ -14,10 +14,10 @@
- name: Test Zabbix API connection
community.zabbix.zabbix_api_info:
http_login_user: "Admin"
http_login_password: "zabbix"
http_login_user: Admin
http_login_password: zabbix
register: result
- name: Debug Zabbix API version
debug:
ansible.builtin.debug:
var: result

View File

@@ -1,17 +1,17 @@
---
- name: Retrieve and display UniFi port forwarding rules
hosts: localhost
gather_facts: no
gather_facts: false
tasks:
- name: Get port forwarding rules
unifi_portforward_module:
controller_url: "https://192.168.1.237:8443"
username: "alex_mormor@hotmail.com"
password: "aaseiswild123"
site_id: "default"
controller_url: https://192.168.1.237:8443
username: alex_mormor@hotmail.com
password: aaseiswild123
site_id: default
mfa_token: "{{ lookup('password', 'Enter your MFA token: ') }}"
register: result
- name: Display port forwarding rules
debug:
ansible.builtin.debug:
var: result.portforwarding_rules

View File

@@ -10,7 +10,7 @@
- name: Print version for network devices
when: ansible_network_os is defined
debug:
ansible.builtin.debug:
msg: "{{ result.stdout }}"
- name: Gather facts for regular servers

Some files were not shown because too many files have changed in this diff Show More