Mysql-Ansible connection example

– name: Retrieve stuff from mysql
command: >
mysql –user=alice –password=topsecret dbname
–host=147.102.160.1 –batch –skip-column-names
–execute=”SELECT stuff from stuff_table”
register: stuff
check_mode: no
changed_when: False

– name: Do something with stuff
debug: “{{ item }}”
with_items: stuff.stdout_lines

#—— another example
– name: Get username
command: mysql -u {{ username }} -p {{ mysql_root_password }} {{ database }} -Ns -e “
register: username

– debug: msg=”{{ username.stdout_lines }}”

windows setup for winrm, for Ansible

In order for Ansible to connect to your windows server, you need to open winrm,you can do it by putting the settings inn a ps1 (/var/www/html/w.ps1) file in your webserver with these contents:

Enable-PSRemoting
Set-Item -Path “WSMan:\localhost\Service\Auth\Basic” -value True
Set-Item -Path “WSMan:\localhost\Service\AllowUnencrypted” -value True
net localgroup “Remote Management Users” my_admin /add
net localgroup administrators my_admin /add

Then in the windows server, you can get it and run it using:
powershell “IEX(New-Object Net.WebClient).downloadString(‘http://10.4.192.192/w.ps1’)”

create Ansible role

To create a role use the ansible-galaxy command

$ ansible-galaxy init SSSD

then add something to main.yml

$ vi SSSD/tasks/main.yml

# tasks file for SSSD
#
– name: ensure sssd packages are installed
yum:
name: libselinux-python,realmd,sssd,oddjob,oddjob-mkhomedir,adcli,samba-common,samba-common-tools,ntpdate,ntp,sudo,krb5-workstation,openldap-clients,policycoreutils-python
state: present

– name: make sure line ‘dns=none’ is set in /etc/NetworkManager/NetworkManager.conf
ini_file:
path: /etc/NetworkManager/NetworkManager.conf
state: present
no_extra_spaces: yes
section: main
option: dns
value: none
owner: root
group: root
mode: 0644
backup: yes
notify:
– reload NetworkManager

– name: deploy resolv.conf template
template:
src: templates/resolv.conf.j2
dest: /etc/resolv.conf
owner: root
group: root
mode: 0644
backup: yes
notify:
– reload NetworkManager

– name: Check if machine is bound
shell: /bin/bash -c “realm list | grep sssd”
register: realmd_bound
changed_when: false
ignore_errors: true

– name: Add use_fully_qualified_names = False to /etc/sssd/sssd.conf
lineinfile:
dest: /etc/sssd/sssd.conf
line: ‘use_fully_qualified_names = False’
insertafter: ‘^\[domain/clarios.com\]’
notify:
– restart sssd
when: realmd_bound is failed

– name: Add fallback_homedir = /home/%u to /etc/sssd/sssd.conf
lineinfile:
dest: /etc/sssd/sssd.conf
line: ‘fallback_homedir = /home/%u’
insertafter: ‘^\[domain/clarios.com\]’
notify:
– restart sssd
when: realmd_bound is failed

Adblocking for DDWRT

Save Startup Script
Code:

_rogue=0.0.0.0
echo -e “n=1\nwhile ! wget -q -O /tmp/hsts http://winhelp2002.mvps.org/hosts.txt ; do\n\t[ \$n -gt 5 ] && break\n\tlet n+=1\n\tsleep 60\ndone\ngrep \”^0.0.0.0\” /tmp/hsts | grep \”^0.0.0.0\” | grep -v localhost | awk ‘{print \”$_rogue\\\t\”\$2}’ | tr -d ‘\\\015’ >/tmp/dlhosts\nrm /tmp/hsts\nkillall -HUP dnsmasq” >/tmp/wh
sh /tmp/wh &

Put Additional DNS Masquerade option:
addn-hosts=/tmp/dlhosts

cronjob
0 12 * * * root /tmp/.rc_startup