Refactor setup_mysql into setup_controller

This commit is contained in:
Laurent Indermuehle 2023-01-04 17:29:06 +01:00
commit 7049a280cb
No known key found for this signature in database
GPG key ID: 93FA944C9F34DD09
15 changed files with 16 additions and 56 deletions

View file

@ -1,5 +0,0 @@
---
home_dir: "{{ playbook_dir }}/root"
db_engine_version: mysql:8.0.22
mysql_base_port: 3306
python_packages: [pymysql == 0.9.3]

View file

@ -1,8 +0,0 @@
---
- name: "{{ role_name }} | handler | create dbdeployer installed file"
template:
src: installed_file.j2
dest: "{{ dbdeployer_installed_file }}"
listen: create zookeeper installed file
tags:
- setup_mysql

View file

@ -1,17 +0,0 @@
---
####################################################################
# WARNING: These are designed specifically for Ansible tests #
# and should not be used as examples of how to write Ansible roles #
####################################################################
- name: Prepare the controller python and MySQL connector
ansible.builtin.import_tasks:
file: prepare_controller.yml
tags:
- setup_mysql
- name: Set variables
ansible.builtin.import_tasks:
file: setvars.yml
tags:
- setup_mysql

View file

@ -1,30 +0,0 @@
---
- name: "{{ role_name }} | install | Required package for testing"
ansible.builtin.apt:
name:
- mysql-client
- iproute2
# - python3-dev
# - python3-cryptography
# - default-libmysqlclient-dev
# - build-essential
state: present
update_cache: true
environment:
DEBIAN_FRONTEND: noninteractive
- name: "{{ role_name }} | install | install python packages"
ansible.builtin.pip:
name: "{{ python_packages }}"
register: connector
- name: Ensure fake root folder
ansible.builtin.file:
path: "{{ playbook_dir }}/root"
state: directory
- name: Ensure fake root default file exists
ansible.builtin.file:
path: "{{ playbook_dir }}/root/.my.cnf"
state: touch

View file

@ -1,37 +0,0 @@
---
- name: "{{ role_name }} | setvars | Extract Podman/Docker Network Gateway"
ansible.builtin.shell:
cmd: ip route|grep default|awk '{print $3}'
register: ip_route_output
- name: "{{ role_name }} | setvars | Set Fact"
ansible.builtin.set_fact:
connector_name: "{{ connector.name.0 }}"
gateway_addr: "{{ ip_route_output.stdout }}"
db_engine: "{{ db_engine_version | split(':') | first }}"
db_version: "{{ db_engine_version | split(':') | last }}"
- name: "{{ role_name }} | setvars | Set Fact using above facts"
ansible.builtin.set_fact:
connector_ver: "{{ connector_name.split('=')[2].strip() }}"
mysql_command: >-
mysql
-h{{ gateway_addr }}
-P{{ mysql_primary_port }}
-u{{ mysql_user }}
-p{{ mysql_password }}
--protocol=tcp
mysql_command_wo_port: >-
mysql
-h{{ gateway_addr }}
-u{{ mysql_user }}
-p{{ mysql_password }}
--protocol=tcp
- name: "{{ role_name }} | setvars | Debug connector info"
ansible.builtin.debug:
msg: >
Connector name: {{ connector_name }},
Connector version: {{ connector_ver }}
db_engine: {{ db_engine }}

View file

@ -1,27 +0,0 @@
---
- name: "{{ role_name }} | verify | confirm primary is running and get the port"
shell: "{{ dbdeployer_sandbox_home_dir }}/multi_msb_{{ install_version|replace('.','_') }}/n1 -BNe'select @@port'"
register: primary_port
- name: "{{ role_name }} | verify | confirm replica1 is running and get the port"
shell: "{{ dbdeployer_sandbox_home_dir }}/multi_msb_{{ install_version|replace('.','_') }}/n2 -BNe'select @@port'"
register: replica1_port
- name: "{{ role_name }} | verify | confirm replica2 is running and get the port"
shell: "{{ dbdeployer_sandbox_home_dir }}/multi_msb_{{ install_version|replace('.','_') }}/n3 -BNe'select @@port'"
register: replica2_port
- name: "{{ role_name }} | verify | confirm primary is running on expected port"
assert:
that:
- primary_port.stdout|int == 3307
- name: "{{ role_name }} | verify | confirm replica1 is running on expected port"
assert:
that:
- replica1_port.stdout|int == 3308
- name: "{{ role_name }} | verify | confirm replica2 is running on expected port"
assert:
that:
- replica2_port.stdout|int == 3309

View file

@ -1 +0,0 @@
{{ dbdeployer_version }}