|
14 | 14 | - name: '{{ mssql_image_tag }}'
|
15 | 15 | docker_image_repository: '{{ mssql_image }}'
|
16 | 16 | state: '{{ state }}'
|
| 17 | + async: 180 |
| 18 | + poll: 0 |
| 19 | + register: create_is |
17 | 20 | when: mssql_local != true
|
18 | 21 |
|
| 22 | +- name: Create secret |
| 23 | + k8s_v1_secret: |
| 24 | + name: '{{ service_instance }}' |
| 25 | + namespace: '{{ namespace }}' |
| 26 | + string_data: |
| 27 | + ACCEPT_EULA: "Y" |
| 28 | + MSSQL_SA_PASSWORD: '{{ mssql_sa_pw }}' |
| 29 | + MSSQL_PID: '{{ mssql_pid }}' |
| 30 | + MSSQL_LCID: '{{ mssql_lcid | string }}' |
| 31 | + MSSQL_AGENT_ENABLED: '{{ mssql_agent | string }}' |
| 32 | + MSSQL_MEMORY_LIMIT_MB: '{{ (( memory_limit | int ) * 1000 ) | string }}' |
| 33 | + state: '{{ state }}' |
| 34 | + async: 180 |
| 35 | + poll: 0 |
| 36 | + register: create_secret |
| 37 | + |
| 38 | +- name: Create PVC for persistent deployment |
| 39 | + k8s_v1_persistent_volume_claim: |
| 40 | + name: '{{ service_instance }}' |
| 41 | + namespace: '{{ namespace }}' |
| 42 | + access_modes: |
| 43 | + - ReadWriteOnce |
| 44 | + resources_requests: |
| 45 | + storage: '{{ volume_size }}G' |
| 46 | + state: '{{ state }}' |
| 47 | + async: 180 |
| 48 | + poll: 0 |
| 49 | + register: create_pvc |
| 50 | + when: _apb_plan_id == "persistent" |
| 51 | + |
19 | 52 |
|
20 | 53 | ##############################################################################
|
21 | 54 | ## A Kubernetes service serves as an internal load balancer. It identifies a
|
22 | 55 | ## set of replicated pods in order to proxy the connections it receives to them.
|
23 | 56 | ##############################################################################
|
24 |
| -- name: Create '{{ service_instance }}' service |
| 57 | +- name: Create service |
25 | 58 | k8s_v1_service:
|
26 | 59 | name: '{{ service_instance }}'
|
27 | 60 | namespace: '{{ namespace }}'
|
|
37 | 70 | target_port: 1433
|
38 | 71 | state: '{{ state }}'
|
39 | 72 |
|
40 |
| -- name: Create '{{ service_name }}' service |
| 73 | +- name: Create '{{ service_name }}' CNAME service |
41 | 74 | k8s_v1_service:
|
42 | 75 | name: '{{ service_name }}'
|
43 | 76 | namespace: '{{ namespace }}'
|
|
54 | 87 | port: '{{ service_port }}'
|
55 | 88 | target_port: 1433
|
56 | 89 | state: '{{ state }}'
|
| 90 | + async: 180 |
| 91 | + poll: 0 |
| 92 | + register: create_svc_cname |
57 | 93 |
|
58 | 94 |
|
59 | 95 | ##############################################################################
|
|
198 | 234 | state: '{{ state }}'
|
199 | 235 | when: _apb_plan_id == "persistent"
|
200 | 236 |
|
201 |
| -- name: Create secret |
202 |
| - k8s_v1_secret: |
203 |
| - name: '{{ service_instance }}' |
204 |
| - namespace: '{{ namespace }}' |
205 |
| - string_data: |
206 |
| - ACCEPT_EULA: "Y" |
207 |
| - MSSQL_SA_PASSWORD: '{{ mssql_sa_pw }}' |
208 |
| - MSSQL_PID: '{{ mssql_pid }}' |
209 |
| - MSSQL_LCID: '{{ mssql_lcid | string }}' |
210 |
| - MSSQL_AGENT_ENABLED: '{{ mssql_agent | string }}' |
211 |
| - MSSQL_MEMORY_LIMIT_MB: '{{ (( memory_limit | int ) * 1000 ) | string }}' |
212 |
| - state: '{{ state }}' |
213 |
| - |
214 |
| -- name: Create PVC for persistent deployment |
215 |
| - k8s_v1_persistent_volume_claim: |
216 |
| - name: '{{ service_instance }}' |
217 |
| - namespace: '{{ namespace }}' |
218 |
| - access_modes: |
219 |
| - - ReadWriteOnce |
220 |
| - resources_requests: |
221 |
| - storage: '{{ volume_size }}G' |
222 |
| - state: '{{ state }}' |
223 |
| - when: _apb_plan_id == "persistent" |
224 |
| - |
225 | 237 |
|
226 | 238 | ##############################################################################
|
227 | 239 | ## Encode bind credentials.
|
|
238 | 250 | DB_URI: 'Data Source={{ service_instance }}.{{ namespace }}.svc,{{ service_port }}; Initial Catalog={{ mssql_db }}; User Id=SA; Password={{ mssql_sa_pw }};'
|
239 | 251 | when: action == 'provision'
|
240 | 252 |
|
| 253 | +- name: 'Check on ImageStream task' |
| 254 | + async_status: jid={{ create_is.ansible_job_id }} |
| 255 | + register: is_job_result |
| 256 | + until: is_job_result.finished |
| 257 | + retries: 60 |
| 258 | + when: mssql_local != true |
| 259 | + |
| 260 | +- name: 'Check on secret task' |
| 261 | + async_status: jid={{ create_secret.ansible_job_id }} |
| 262 | + register: s_job_result |
| 263 | + until: s_job_result.finished |
| 264 | + retries: 60 |
| 265 | + |
| 266 | +- name: 'Check on PVC task' |
| 267 | + async_status: jid={{ create_pvc.ansible_job_id }} |
| 268 | + register: pvc_job_result |
| 269 | + until: pvc_job_result.finished |
| 270 | + retries: 60 |
| 271 | + when: _apb_plan_id == "persistent" |
| 272 | + |
| 273 | +- name: 'Check on service CNAME task' |
| 274 | + async_status: jid={{ create_svc_cname.ansible_job_id }} |
| 275 | + register: csvc_job_result |
| 276 | + until: csvc_job_result.finished |
| 277 | + retries: 60 |
| 278 | + |
241 | 279 | - name: Wait for mssql to come up
|
242 | 280 | wait_for:
|
243 | 281 | host: '{{ service_instance }}.{{ namespace }}.svc'
|
|
0 commit comments