Merge "Make HA containers log to /var/log/containers after upgrade"
This commit is contained in:
commit
c7d559ad0b
@ -145,6 +145,9 @@ outputs:
|
||||
optional: true
|
||||
preserve_properties: true
|
||||
permissions:
|
||||
- path: /var/log/mysql
|
||||
owner: mysql:mysql
|
||||
recurse: true
|
||||
- path: /etc/pki/tls/certs/mysql.crt
|
||||
owner: mysql:mysql
|
||||
perm: '0600'
|
||||
@ -260,10 +263,20 @@ outputs:
|
||||
- /dev/shm:/dev/shm:rw
|
||||
- /var/lib/mysql:/var/lib/mysql:rw
|
||||
host_prep_tasks:
|
||||
- name: create /var/lib/mysql
|
||||
- name: create persistent directories
|
||||
file:
|
||||
path: /var/lib/mysql
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- /var/log/containers/mysql
|
||||
- /var/lib/mysql
|
||||
- name: mysql logs readme
|
||||
copy:
|
||||
dest: /var/log/mariadb/readme.txt
|
||||
content: |
|
||||
Log files from mysql containers can be found under
|
||||
/var/log/containers/mysql.
|
||||
ignore_errors: true
|
||||
metadata_settings:
|
||||
get_attr: [MysqlPuppetBase, role_data, metadata_settings]
|
||||
update_tasks:
|
||||
@ -306,18 +319,18 @@ outputs:
|
||||
- name: Check if Mysql is already containerized
|
||||
set_fact:
|
||||
mysql_containerized: "{{mysql_kolla_config.stat.isdir | default(false)}}"
|
||||
- name: get bootstrap nodeid
|
||||
tags: common
|
||||
command: hiera -c /etc/puppet/hiera.yaml bootstrap_nodeid
|
||||
register: bootstrap_node
|
||||
- name: set is_bootstrap_node fact
|
||||
tags: common
|
||||
set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
|
||||
- name: Mysql baremetal to container upgrade tasks
|
||||
when:
|
||||
- step|int == 1
|
||||
- not mysql_containerized|bool
|
||||
block:
|
||||
- name: get bootstrap nodeid
|
||||
tags: common
|
||||
command: hiera -c /etc/puppet/hiera.yaml bootstrap_nodeid
|
||||
register: bootstrap_node
|
||||
- name: set is_bootstrap_node fact
|
||||
tags: common
|
||||
set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
|
||||
- name: Check cluster resource status
|
||||
pacemaker_resource:
|
||||
resource: galera
|
||||
@ -349,6 +362,40 @@ outputs:
|
||||
file: state=absent path=/etc/xinetd.d/galera-monitor
|
||||
- name: Restart xinetd service after clustercheck removal
|
||||
service: name=xinetd state=restarted
|
||||
- name: Move Mysql logging to /var/log/containers
|
||||
when:
|
||||
- step|int == 1
|
||||
- mysql_containerized|bool
|
||||
- is_bootstrap_node
|
||||
block:
|
||||
- name: Check Mysql logging configuration in pacemaker
|
||||
command: cibadmin --query --xpath "//storage-mapping[@id='mysql-log']"
|
||||
ignore_errors: true
|
||||
register: mysql_logs_moved
|
||||
- name: Change Mysql logging configuration in pacemaker
|
||||
# rc == 6 means the configuration doesn't exist in the CIB
|
||||
when: mysql_logs_moved.rc == 6
|
||||
block:
|
||||
- name: Disable the galera cluster resource
|
||||
pacemaker_resource:
|
||||
resource: galera
|
||||
state: disable
|
||||
wait_for_resource: true
|
||||
register: output
|
||||
retries: 5
|
||||
until: output.rc == 0
|
||||
- name: Add a bind mount for logging in the galera bundle
|
||||
command: pcs resource bundle update galera-bundle storage-map add id=mysql-log source-dir=/var/log/containers/mysql target-dir=/var/log/mysql options=rw
|
||||
- name: Reconfigure Mysql log file in the galera resource agent
|
||||
command: pcs resource update galera log=/var/log/mysql/mysqld.log
|
||||
- name: Enable the galera cluster resource
|
||||
pacemaker_resource:
|
||||
resource: galera
|
||||
state: enable
|
||||
wait_for_resource: true
|
||||
register: output
|
||||
retries: 5
|
||||
until: output.rc == 0
|
||||
- name: Retag the pacemaker image if containerized
|
||||
when:
|
||||
- step|int == 3
|
||||
|
@ -245,18 +245,21 @@ outputs:
|
||||
metadata_settings:
|
||||
get_attr: [RedisBase, role_data, metadata_settings]
|
||||
host_prep_tasks:
|
||||
- name: create /var/run/redis
|
||||
- name: create persistent directories
|
||||
file:
|
||||
path: /var/run/redis
|
||||
state: directory
|
||||
- name: create /var/log/redis
|
||||
file:
|
||||
path: /var/log/redis
|
||||
state: directory
|
||||
- name: create /var/lib/redis
|
||||
file:
|
||||
path: /var/lib/redis
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- /var/lib/redis
|
||||
- /var/log/containers/redis
|
||||
- /var/run/redis
|
||||
- name: redis logs readme
|
||||
copy:
|
||||
dest: /var/log/redis/readme.txt
|
||||
content: |
|
||||
Log files from redis containers can be found under
|
||||
/var/log/containers/redis.
|
||||
ignore_errors: true
|
||||
update_tasks:
|
||||
- name: Redis fetch and retag container image for pacemaker
|
||||
when: step|int == 2
|
||||
@ -297,18 +300,18 @@ outputs:
|
||||
- name: Check if redis is already containerized
|
||||
set_fact:
|
||||
redis_containerized: "{{redis_kolla_config.stat.isdir | default(false)}}"
|
||||
- name: get bootstrap nodeid
|
||||
tags: common
|
||||
command: hiera -c /etc/puppet/hiera.yaml bootstrap_nodeid
|
||||
register: bootstrap_node
|
||||
- name: set is_bootstrap_node fact
|
||||
tags: common
|
||||
set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
|
||||
- name: redis baremetal to container upgrade tasks
|
||||
when:
|
||||
- step|int == 1
|
||||
- not redis_containerized|bool
|
||||
block:
|
||||
- name: get bootstrap nodeid
|
||||
tags: common
|
||||
command: hiera -c /etc/puppet/hiera.yaml bootstrap_nodeid
|
||||
register: bootstrap_node
|
||||
- name: set is_bootstrap_node fact
|
||||
tags: common
|
||||
set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
|
||||
- name: Check cluster resource status of redis
|
||||
pacemaker_resource:
|
||||
resource: {get_attr: [RedisBase, role_data, service_name]}
|
||||
@ -336,6 +339,40 @@ outputs:
|
||||
until: output.rc == 0
|
||||
- name: Disable redis service
|
||||
service: name=redis enabled=no
|
||||
- name: Move redis logging to /var/log/containers
|
||||
when:
|
||||
- step|int == 1
|
||||
- redis_containerized|bool
|
||||
- is_bootstrap_node
|
||||
block:
|
||||
- name: Check redis logging configuration in pacemaker
|
||||
command: cibadmin --query --xpath "//storage-mapping[@id='redis-log' and @source-dir='/var/log/containers/redis']"
|
||||
ignore_errors: true
|
||||
register: redis_logs_moved
|
||||
- name: Change redis logging configuration in pacemaker
|
||||
# rc == 6 means the configuration doesn't exist in the CIB
|
||||
when: redis_logs_moved.rc == 6
|
||||
block:
|
||||
- name: Disable the redis cluster resource
|
||||
pacemaker_resource:
|
||||
resource: redis
|
||||
state: disable
|
||||
wait_for_resource: true
|
||||
register: output
|
||||
retries: 5
|
||||
until: output.rc == 0
|
||||
- name: Remove old bind mount for logging in the redis bundle
|
||||
command: pcs resource bundle update redis-bundle storage-map remove redis-log
|
||||
- name: Add a bind mount for logging in the redis bundle
|
||||
command: pcs resource bundle update redis-bundle storage-map add id=redis-log source-dir=/var/log/containers/redis target-dir=/var/log/redis options=rw
|
||||
- name: Enable the redis cluster resource
|
||||
pacemaker_resource:
|
||||
resource: redis
|
||||
state: enable
|
||||
wait_for_resource: true
|
||||
register: output
|
||||
retries: 5
|
||||
until: output.rc == 0
|
||||
- name: Retag the pacemaker image if containerized
|
||||
when:
|
||||
- step|int == 3
|
||||
|
@ -208,10 +208,20 @@ outputs:
|
||||
- /dev/shm:/dev/shm:rw
|
||||
- /bin/true:/bin/epmd
|
||||
host_prep_tasks:
|
||||
- name: create /var/lib/rabbitmq
|
||||
- name: create persistent directories
|
||||
file:
|
||||
path: /var/lib/rabbitmq
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- /var/lib/rabbitmq
|
||||
- /var/log/containers/rabbitmq
|
||||
- name: rabbitmq logs readme
|
||||
copy:
|
||||
dest: /var/log/rabbitmq/readme.txt
|
||||
content: |
|
||||
Log files from rabbitmq containers can be found under
|
||||
/var/log/containers/rabbitmq.
|
||||
ignore_errors: true
|
||||
- name: stop the Erlang port mapper on the host and make sure it cannot bind to the port used by container
|
||||
shell: |
|
||||
echo 'export ERL_EPMD_ADDRESS=127.0.0.1' > /etc/rabbitmq/rabbitmq-env.conf
|
||||
@ -259,16 +269,16 @@ outputs:
|
||||
- name: Check if Rabbitmq is already containerized
|
||||
set_fact:
|
||||
rabbit_containerized: "{{rabbit_kolla_config.stat.isdir | default(false)}}"
|
||||
- name: get bootstrap nodeid
|
||||
command: hiera -c /etc/puppet/hiera.yaml bootstrap_nodeid
|
||||
register: bootstrap_node
|
||||
- name: set is_bootstrap_node fact
|
||||
set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
|
||||
- name: Rabbitmq baremetal to container upgrade tasks
|
||||
when:
|
||||
- step|int == 1
|
||||
- not rabbit_containerized|bool
|
||||
block:
|
||||
- name: get bootstrap nodeid
|
||||
command: hiera -c /etc/puppet/hiera.yaml bootstrap_nodeid
|
||||
register: bootstrap_node
|
||||
- name: set is_bootstrap_node fact
|
||||
set_fact: is_bootstrap_node={{bootstrap_node.stdout|lower == ansible_hostname|lower}}
|
||||
- name: Check cluster resource status of rabbitmq
|
||||
pacemaker_resource:
|
||||
resource: {get_attr: [RabbitmqBase, role_data, service_name]}
|
||||
@ -296,6 +306,38 @@ outputs:
|
||||
until: output.rc == 0
|
||||
- name: Disable rabbitmq service
|
||||
service: name=rabbitmq-server enabled=no
|
||||
- name: Move rabbitmq logging to /var/log/containers
|
||||
when:
|
||||
- step|int == 1
|
||||
- rabbit_containerized|bool
|
||||
- is_bootstrap_node
|
||||
block:
|
||||
- name: Check rabbitmq logging configuration in pacemaker
|
||||
command: cibadmin --query --xpath "//storage-mapping[@id='rabbitmq-log']"
|
||||
ignore_errors: true
|
||||
register: rabbitmq_logs_moved
|
||||
- name: Change rabbitmq logging configuration in pacemaker
|
||||
# rc == 6 means the configuration doesn't exist in the CIB
|
||||
when: rabbitmq_logs_moved.rc == 6
|
||||
block:
|
||||
- name: Disable the rabbitmq cluster resource
|
||||
pacemaker_resource:
|
||||
resource: rabbitmq
|
||||
state: disable
|
||||
wait_for_resource: true
|
||||
register: output
|
||||
retries: 5
|
||||
until: output.rc == 0
|
||||
- name: Add a bind mount for logging in the rabbitmq bundle
|
||||
command: pcs resource bundle update rabbitmq-bundle storage-map add id=rabbitmq-log source-dir=/var/log/containers/rabbitmq target-dir=/var/log/rabbitmq options=rw
|
||||
- name: Enable the rabbitmq cluster resource
|
||||
pacemaker_resource:
|
||||
resource: rabbitmq
|
||||
state: enable
|
||||
wait_for_resource: true
|
||||
register: output
|
||||
retries: 5
|
||||
until: output.rc == 0
|
||||
- name: Retag the pacemaker image if containerized
|
||||
when:
|
||||
- step|int == 3
|
||||
|
Loading…
x
Reference in New Issue
Block a user