diff --git a/create-database-cluster.yml b/create-database.yml
similarity index 100%
rename from create-database-cluster.yml
rename to create-database.yml
diff --git a/import-database.yml b/import-database.yml
new file mode 100644
index 0000000..556c062
--- /dev/null
+++ b/import-database.yml
@@ -0,0 +1,119 @@
+---
+
+# Parameters:
+# playbook inventory
+# stage := the type of the stage (e.g. dev, int, qa, prod)
+# tenant_id := (unique key for the tenant, e.g. customer)
+# cluster_name := (business name for the cluster, e.g. product, department )
+# cluster_size := (WIP node count for the cluster) (Currently max is 2 master/slave)
+# cluster_services := (services to setup, e.g. ['connect', 'wordpress', ...])
+# uploaded_file := the dump file to import, has to be on the database server under /tmp (e.g. wordpress_portal.sql)
+# target_database := (optional) the database to import into ( see {{ connect_wordpress_maria_database }})
+# smardigo message callback
+# scope_id := (scope id of the management process)
+# process_instance_id := (process instance id of the management process)
+# smardigo_management_action := (smardigo management action anme of the management process)
+
+#############################################################
+# Creating inventory dynamically for given parameters
+#############################################################
+
+- hosts: localhost
+ connection: local
+ gather_facts: false
+
+ pre_tasks:
+ - name: "Check if ansible version is at least 2.10.x"
+ assert:
+ that:
+ - ansible_version.major >= 2
+ - ansible_version.minor >= 10
+ msg: "The ansible version has to be at least ({{ ansible_version.full }})"
+
+ tasks:
+ - name: Add hosts
+ add_host:
+ name: "{{ stage }}-maria-01"
+ groups:
+ - "stage_{{ stage }}"
+ - "{{ item }}"
+ cluster_service: "{{ item }}"
+ changed_when: False
+ with_items: "{{ cluster_services }}"
+ when: item in ['connect_wordpress']
+
+#############################################################
+# Setup services for created inventory
+#############################################################
+
+- hosts: "stage_{{ stage }}"
+ serial: "{{ serial_number | default(1) }}"
+ remote_user: root
+
+ pre_tasks:
+ - name: "Gathering current server infos from hetzner"
+ hcloud_server_info:
+ api_token: "{{ hetzner_authentication_token }}"
+ register: hetzner_server_infos
+ delegate_to: 127.0.0.1
+
+ - name: "Setting current server infos as fact: hetzner_server_infos_json"
+ set_fact:
+ hetzner_server_infos_json: "{{ hetzner_server_infos.hcloud_server_info }}"
+ delegate_to: 127.0.0.1
+
+ - name: "Reading ip address for {{ inventory_hostname }}"
+ set_fact:
+ stage_server_ip: "{{ hetzner_server_infos_json | json_query(querystr) | first }}"
+ vars:
+ querystr: "[?name=='{{ inventory_hostname }}'].ipv4_address"
+ delegate_to: 127.0.0.1
+
+ - name: "Printing ip address for {{ inventory_hostname }}"
+ debug:
+ msg: "{{ stage_server_ip }}"
+ delegate_to: 127.0.0.1
+ when:
+ - debug
+
+ roles:
+ - role: import-maria-database
+ when:
+ - "'connect_wordpress' in group_names"
+ - "target_database is defined"
+ - "uploaded_file is defined"
+ - role: import-maria-database
+ vars:
+ target_database: "{{ connect_wordpress_maria_database }}"
+ when:
+ - "'connect_wordpress' in group_names"
+ - "uploaded_file is defined"
+
+#############################################################
+# Sending smardigo management message to process
+#############################################################
+
+- hosts: "stage_{{ stage }}"
+ serial: "{{ serial_number | default(1) }}"
+ connection: local
+ gather_facts: false
+
+ post_tasks:
+ - name: "Sending smardigo management message <{{ smardigo_management_action }}> to <{{ scope_id }}/{{ process_instance_id }}>"
+ uri:
+ url: "{{ smardigo_management_url }}"
+ method: POST
+ body_format: json
+ body: "{{ lookup('template','smardigo-management-message.json.j2') }}"
+ headers:
+ accept: "*/*"
+ Content-Type: "application/json"
+ Smardigo-User-Token: "{{ smardigo_management_token }}"
+ status_code: [200]
+ delegate_to: 127.0.0.1
+ retries: 5
+ delay: 5
+ when:
+ - scope_id is defined
+ - process_instance_id is defined
+ - smardigo_management_action is defined
\ No newline at end of file
diff --git a/roles/awx/tasks/awx-config.yml b/roles/awx/tasks/awx-config.yml
index 2213787..c8ba772 100644
--- a/roles/awx/tasks/awx-config.yml
+++ b/roles/awx/tasks/awx-config.yml
@@ -553,7 +553,7 @@
tags:
- awx_config
-- name: "187 all job templates"
+- name: "Remove all job templates"
uri:
url: "{{ awx_base_url }}{{ item.url }}"
method: DELETE
@@ -576,18 +576,18 @@
include_tasks: awx-config-job-template.yml
loop:
- {
- name: "create-database-cluster",
- #description: "create-database-cluster",
- #playbook_file: "create-database-cluster.yml",
+ name: "create-database",
+ #description: "create-database",
+ #playbook_file: "create-database.yml",
credentials: [
"{{ awx_credential_hetzner_ansible_vault_id }}",
"{{ awx_credential_hetzner_ansible_id }}",
]
}
- {
- name: "create-db-import",
- #description: "create-db-import",
- #playbook_file: "create-db-import.yml",
+ name: "create-realm",
+ #description: "create-realm",
+ #playbook_file: "create-realm.yml",
credentials: [
"{{ awx_credential_hetzner_ansible_vault_id }}",
"{{ awx_credential_hetzner_ansible_id }}",
@@ -603,18 +603,18 @@
]
}
- {
- name: "create-realm",
- #description: "create-realm",
- #playbook_file: "create-realm.yml",
+ name: "create-service",
+ #description: "create-service",
+ #playbook_file: "create-service.yml",
credentials: [
"{{ awx_credential_hetzner_ansible_vault_id }}",
"{{ awx_credential_hetzner_ansible_id }}",
]
}
- {
- name: "create-service",
- #description: "create-service",
- #playbook_file: "create-service.yml",
+ name: "import-database",
+ #description: "import-database",
+ #playbook_file: "import-database.yml",
credentials: [
"{{ awx_credential_hetzner_ansible_vault_id }}",
"{{ awx_credential_hetzner_ansible_id }}",
diff --git a/roles/upload-local-file/defaults/main.yml b/roles/upload-local-file/defaults/main.yml
index de54568..5f31ebe 100644
--- a/roles/upload-local-file/defaults/main.yml
+++ b/roles/upload-local-file/defaults/main.yml
@@ -1,3 +1,3 @@
---
-upload_directory: /tmp
+upload_directory: /tmp
diff --git a/roles/upload-local-file/vars/main.yml b/roles/upload-local-file/vars/main.yml
index cd21505..ed97d53 100644
--- a/roles/upload-local-file/vars/main.yml
+++ b/roles/upload-local-file/vars/main.yml
@@ -1,2 +1 @@
---
-
diff --git a/smardigo/provisioning/process/simple-connect.bpmn b/smardigo/provisioning/process/simple-connect.bpmn
index 0386945..7a545d5 100644
--- a/smardigo/provisioning/process/simple-connect.bpmn
+++ b/smardigo/provisioning/process/simple-connect.bpmn
@@ -548,12 +548,12 @@ Variables.userId(authenticatedUserId)
Flow_1u7vy0j
Flow_15fkmn4
-
+
-
-
+
+
${progress_current + 1}
diff --git a/create-db-import.yml b/upload-database-dumb.yml
similarity index 86%
rename from create-db-import.yml
rename to upload-database-dumb.yml
index ad39e11..5a1afda 100644
--- a/create-db-import.yml
+++ b/upload-database-dumb.yml
@@ -1,6 +1,6 @@
---
# Example call:
-# poetry run ansible-playbook create-db-import.yml --ask-vault-pass -e "cluster_name='maria' cluster_size='1' stage='dev' upload_file='dumps/import.sql' uploaded_file='import.sql' target_database=test01"
+# poetry run ansible-playbook upload-database-dumb.yml --ask-vault-pass -e "cluster_name='maria' cluster_size='1' stage='dev' upload_file='dumps/import.sql' uploaded_file='import.sql'
# How this stuff works:
# If `upload_file` is defined the upload role save the binary to `upload_directory` (default /tmp)
@@ -88,17 +88,6 @@
when:
- "'connect_wordpress' in group_names"
- "upload_file is defined"
- - role: import-maria-database
- when:
- - "'connect_wordpress' in group_names"
- - "target_database is defined"
- - "uploaded_file is defined"
- - role: import-maria-database
- vars:
- target_database: "{{ connect_wordpress_maria_database }}"
- when:
- - "'connect_wordpress' in group_names"
- - "uploaded_file is defined"
#############################################################
# Sending smardigo management message to process