Your IP : 3.145.37.153
Current Path : /etc/ansible/ |
|
Current File : //etc/ansible/configure_timezone.yml |
---
########### change timezone for hosts in group bitrix-hosts
# timezone_string=
# timezone_default=
###########
# priority sequence from smallest to largest
# timezone_default -> timezone_settings_on_master -> timezone_string
- name: configure timezone
hosts: bitrix-hosts
vars:
timezone_string: NOT_DEFINED
timezone_default: Europe/Moscow
timezone_php_update: update
handlers:
- name: restart httpd
service: name=httpd state=restarted
tags: httpd
- name: restart mysqld
service: name=mysqld state=restarted
tags: mysqld
tasks:
- name: include variables from temporary config
include_vars: "{{ ansible_playbook_file }}"
when: "ansible_playbook_file != 'NOT_DEFINED'"
- name: gather facts about localhost/manager
delegate_to: localhost
time_facts: option=status
tags: time_facts
when: "timezone_string == 'NOT_DEFINED'"
- name: set variables by facts from localhost/manager
set_fact:
bx_tz: "{{ hostvars[inventory_hostname]['tz'] }}"
bx_tz_is_default: "{{ hostvars[inventory_hostname]['tz_default'] }}"
bx_tz_php: "{{ hostvars[inventory_hostname]['tz_php'] }}"
tags: time_facts
when: "timezone_string == 'NOT_DEFINED'"
- name: set variables by options from command line
set_fact:
bx_tz: "{{ timezone_string }}"
bx_tz_is_default: 'False'
bx_tz_php: "not_defined"
tags: time_facts
when: "timezone_string != 'NOT_DEFINED'"
- name: output debug information - env options
debug: msg="Time will be updated on bitrix-hosts by timezone={{ bx_tz }}; default={{ bx_tz_is_default }} php_time={{ bx_tz_php }}"
tags: time_facts
- name: output debug information - cmd options
debug: msg="timezone_string={{ timezone_string }} timezone_php_update={{ timezone_php_update }}"
# /etc/sysconfig/clock file
# controls the interpretation of values read from the system hardware clock.
- name: update file /etc/sysconfig/clock
template: src=templates/sysconfig-clock.j2 dest=/etc/sysconfig/clock
owner=root group=root mode=0644
tags: time_configure
notify: restart mysqld
# /etc/localtime
# file configures the system-wide timezone of the local system
# that is used by applications for presentation to the user
- name: remove file /etc/localtime
file: path=/etc/localtime state=absent
tags: time_configure
notify: restart mysqld
- name: create link /etc/localtime to defined timezone
file: src=/usr/share/zoneinfo/{{ bx_tz }}
dest=/etc/localtime
state=link force=yes
tags: time_configure
notify: restart mysqld
# configure nptd service
- name: install packages for ntp services
yum:
pkg: "{{ packages }}"
state: present
vars:
packages:
- ntp
- ntpdate
tags: ntpd_configure
- name: enable ntpd service
service: name=ntpd state=started enabled=yes
tags: ntpd_configure
- name: restart ntpd service
service: name=ntpd state=restarted
tags: ntpd_configure
- name: create update time string
shell: date +"%Y-%m-%d %H:%M:%S"
register: phpupdate_date
when: "'bitrix-web' in group_names and bx_tz != bx_tz_php"
- name: delete artifacts from /etc/php.d/bitrixenv.ini
lineinfile: dest=/etc/php.d/bitrixenv.ini state=absent regexp=' by ansible manager at '
tags: php_configure
notify: restart httpd
when: "'bitrix-web' in group_names and bx_tz != bx_tz_php"
- name: update /etc/php.d/bitrixenv.ini - ansible comment
lineinfile: dest=/etc/php.d/bitrixenv.ini state=present regexp='date.timezone'
line=';set timezone={{ bx_tz }} by ansible manager at {{ phpupdate_date.stdout }}'
tags: php_configure
notify: restart httpd
when: "'bitrix-web' in group_names and bx_tz != bx_tz_php"
- name: update /etc/php.d/bitrixenv.ini - time string
lineinfile: dest=/etc/php.d/bitrixenv.ini state=present regexp='date.timezone'
line='date.timezone = {{ bx_tz }}'
tags: php_configure
notify: restart httpd
when: "'bitrix-web' in group_names and bx_tz != bx_tz_php"
- name: restart system services
service: name={{ item }} state=restarted
with_items:
- rsyslog
- crond
tags: service