From b922d47458c77578bc3a2e8c3b407af92ef7c4b6 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Sat, 15 Feb 2020 22:49:48 -0500 Subject: [PATCH] Use new in-built database migrations in API --- roles/pvc/files/patroni/provisioner-schema.sql | 11 ----------- roles/pvc/tasks/patroni/bootstrap.yml | 3 --- roles/pvc/tasks/patroni/main.yml | 1 - roles/pvc/tasks/pvc/main.yml | 6 +++++- 4 files changed, 5 insertions(+), 16 deletions(-) delete mode 100644 roles/pvc/files/patroni/provisioner-schema.sql diff --git a/roles/pvc/files/patroni/provisioner-schema.sql b/roles/pvc/files/patroni/provisioner-schema.sql deleted file mode 100644 index 9b72305..0000000 --- a/roles/pvc/files/patroni/provisioner-schema.sql +++ /dev/null @@ -1,11 +0,0 @@ -CREATE TABLE system_template (id SERIAL PRIMARY KEY, name TEXT NOT NULL UNIQUE, vcpu_count INT NOT NULL, vram_mb INT NOT NULL, serial BOOL NOT NULL, vnc BOOL NOT NULL, vnc_bind TEXT, node_limit TEXT, node_selector TEXT, node_autostart BOOL NOT NULL); -CREATE TABLE network_template (id SERIAL PRIMARY KEY, name TEXT NOT NULL UNIQUE, mac_template TEXT); -CREATE TABLE network (id SERIAL PRIMARY KEY, network_template INT REFERENCES network_template(id), vni INT NOT NULL); -CREATE TABLE storage_template (id SERIAL PRIMARY KEY, name TEXT NOT NULL UNIQUE); -CREATE TABLE storage (id SERIAL PRIMARY KEY, storage_template INT REFERENCES storage_template(id), pool TEXT NOT NULL, disk_id TEXT NOT NULL, source_volume TEXT, disk_size_gb INT, mountpoint TEXT, filesystem TEXT, filesystem_args TEXT); -CREATE TABLE userdata (id SERIAL PRIMARY KEY, name TEXT NOT NULL UNIQUE, userdata TEXT NOT NULL); -CREATE TABLE script (id SERIAL PRIMARY KEY, name TEXT NOT NULL UNIQUE, script TEXT NOT NULL); -CREATE TABLE profile (id SERIAL PRIMARY KEY, name TEXT NOT NULL UNIQUE, system_template INT REFERENCES system_template(id), network_template INT REFERENCES network_template(id), storage_template INT REFERENCES storage_template(id), userdata INT REFERENCES userdata(id), script INT REFERENCES script(id), arguments text); - -INSERT INTO userdata (name, userdata) VALUES ('empty', ''); -INSERT INTO script (name, script) VALUES ('empty', ''); diff --git a/roles/pvc/tasks/patroni/bootstrap.yml b/roles/pvc/tasks/patroni/bootstrap.yml index 6ab3147..60d6754 100644 --- a/roles/pvc/tasks/patroni/bootstrap.yml +++ b/roles/pvc/tasks/patroni/bootstrap.yml @@ -89,8 +89,5 @@ - name: import DNS database schema command: "psql -U {{ pvc_dns_database_user }} -f /etc/postgresql/powerdns-schema.sql {{ pvc_dns_database_name }}" - - name: import Provisioner database schema - command: "psql -U {{ pvc_prov_database_user }} -f /etc/postgresql/provisioner-schema.sql {{ pvc_prov_database_name }}" - become: yes become_user: postgres diff --git a/roles/pvc/tasks/patroni/main.yml b/roles/pvc/tasks/patroni/main.yml index 4fc2b71..dfa4bac 100644 --- a/roles/pvc/tasks/patroni/main.yml +++ b/roles/pvc/tasks/patroni/main.yml @@ -69,7 +69,6 @@ mode: 0640 with_items: - { src: "patroni/powerdns-schema.sql", dest: "/etc/postgresql/powerdns-schema.sql" } - - { src: "patroni/provisioner-schema.sql", dest: "/etc/postgresql/provisioner-schema.sql" } - include: patroni/bootstrap.yml run_once: yes diff --git a/roles/pvc/tasks/pvc/main.yml b/roles/pvc/tasks/pvc/main.yml index 6e172a0..6757528 100644 --- a/roles/pvc/tasks/pvc/main.yml +++ b/roles/pvc/tasks/pvc/main.yml @@ -46,9 +46,13 @@ - pdns.service - dnsmasq.service +- name: prepare Patroni database migrations (on all hosts) + command: /usr/share/pvc/pvc-api-db-init + when: bootstrap is defined and bootstrap and is_coordinator + - include: pvc/bootstrap.yml - when: bootstrap is defined and bootstrap run_once: yes + when: bootstrap is defined and bootstrap and is_coordinator - name: enable daemon services but don't start them service: