mirror of
https://git.ecdf.ed.ac.uk/win_automation/windows-ansible.git
synced 2026-10-29 16:46:51 +00:00
Merge branch 'win_project' into dev
This commit is contained in:
commit
df4030ee5c
7 files changed
+127
No files matched your search
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
- hosts: "meta-name_fs01"
|
||||||
|
gather_facts: false
|
||||||
|
vars_files:
|
||||||
|
- ../vars/common.yml
|
||||||
|
- ../vars/connection.yml
|
||||||
|
roles:
|
||||||
|
- role: win_study
|
||||||
|
tags: win_study
|
||||||
@@ -75,6 +75,21 @@
|
|||||||
state: domain_controller
|
state: domain_controller
|
||||||
register: dc02_promotion
|
register: dc02_promotion
|
||||||
|
|
||||||
|
rescue:
|
||||||
|
- name: Wait 2 minuets before trying to promote again
|
||||||
|
pause:
|
||||||
|
minuets: 2
|
||||||
|
|
||||||
|
- name: Promote DC02 to domain controller
|
||||||
|
win_domain_controller:
|
||||||
|
dns_domain_name: "{{ win_project }}.loc"
|
||||||
|
domain_admin_user: "Administrator@{{ win_project }}.loc"
|
||||||
|
domain_admin_password: "{{ ansible_password }}"
|
||||||
|
safe_mode_password: "{{ safemode_password }}"
|
||||||
|
state: domain_controller
|
||||||
|
register: dc02_promotion
|
||||||
|
|
||||||
|
always:
|
||||||
- name: Rebooting DC02 post promotion to domain controller
|
- name: Rebooting DC02 post promotion to domain controller
|
||||||
win_reboot:
|
win_reboot:
|
||||||
reboot_timeout_sec: 1200
|
reboot_timeout_sec: 1200
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
- name: Check status of project
|
||||||
|
tags: check_project
|
||||||
|
block:
|
||||||
|
- name: Check if study folder already exists
|
||||||
|
win_stat:
|
||||||
|
path: "{{ study_folder }}"
|
||||||
|
register: folder
|
||||||
|
failed_when: folder.stat.exists
|
||||||
|
|
||||||
|
rescue:
|
||||||
|
- name: Force fail when study folder already present
|
||||||
|
fail:
|
||||||
|
msg="This study folder is already present"
|
||||||
|
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
- name: Create Study
|
||||||
|
tags: create_study
|
||||||
|
block:
|
||||||
|
- name: Create study folders and import/export folders
|
||||||
|
win_file:
|
||||||
|
path: "{{ study_folder }}\\{{ item }}"
|
||||||
|
state: directory
|
||||||
|
with_items: ["import", "export"]
|
||||||
|
|
||||||
|
- name: Create study folders on T drive
|
||||||
|
ansible.windows.win_file:
|
||||||
|
path: "T:\\{{ item }}\\{{ study_code }}"
|
||||||
|
state: directory
|
||||||
|
with_items: ["Import", "Export"]
|
||||||
|
|
||||||
|
- name: Create AD group
|
||||||
|
community.windows.win_domain_group:
|
||||||
|
name: "{{ study_code }}"
|
||||||
|
description: "{{ study_code }} study"
|
||||||
|
path: "ou=Project Groups,dc={{ win_project }},dc=loc"
|
||||||
|
scope: domainlocal
|
||||||
|
category: security
|
||||||
|
delegate_to: "{{ os_project }}-{{ win_project }}-dc01"
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
- import_tasks: check.yml
|
||||||
|
- import_tasks: create.yml
|
||||||
|
- import_tasks: permissions.yml
|
||||||
@@ -0,0 +1,58 @@
|
|||||||
|
---
|
||||||
|
- name: Set permissions
|
||||||
|
tags: set_permissions
|
||||||
|
block:
|
||||||
|
- name: Add study group permissions to study folder
|
||||||
|
win_acl:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
type: allow
|
||||||
|
user: "{{ study_code }}"
|
||||||
|
rights: Read,Write,Modify,Delete
|
||||||
|
loop: ["{{ study_folder }}", "{{ study_folder }}\\export"]
|
||||||
|
|
||||||
|
- name: Add Domain Admin permissions to study folder
|
||||||
|
win_acl:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: present
|
||||||
|
type: allow
|
||||||
|
user: "{{ domain_admin_username }}"
|
||||||
|
rights: "FullControll"
|
||||||
|
loop: ["{{ study_folder }}", "{{ study_folder }}\\export"]
|
||||||
|
|
||||||
|
- name: Add file-transfer user permissions to study folder
|
||||||
|
win_acl:
|
||||||
|
path: '{{ study_folder }}\export'
|
||||||
|
state: present
|
||||||
|
type: allow
|
||||||
|
user: file-transfer
|
||||||
|
rights: 'FullControl'
|
||||||
|
|
||||||
|
- name: Remove Users permissions
|
||||||
|
block:
|
||||||
|
- name: "Remove Users permissions from {{ study_folder }}"
|
||||||
|
win_acl:
|
||||||
|
path: "{{ study_folder }}"
|
||||||
|
state: "{{ item }}"
|
||||||
|
type: allow
|
||||||
|
user: "Users"
|
||||||
|
rights: "FullControl"
|
||||||
|
loop: ["present", "absent"]
|
||||||
|
|
||||||
|
- name: "Remove Users permissions from {{ study_folder }}\\export"
|
||||||
|
win_acl:
|
||||||
|
path: "{{ study_folder }}\\export"
|
||||||
|
state: "{{ item }}"
|
||||||
|
type: allow
|
||||||
|
user: "Users"
|
||||||
|
rights: "FullControl"
|
||||||
|
loop: ["present", "absent"]
|
||||||
|
|
||||||
|
- name: "Remove Users permissions from {{ study_folder }}\\import"
|
||||||
|
win_acl:
|
||||||
|
path: "{{ study_folder }}\\import"
|
||||||
|
state: "{{ item }}"
|
||||||
|
type: allow
|
||||||
|
user: "Users"
|
||||||
|
rights: "FullControl"
|
||||||
|
loop: ["present", "absent"]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
study_folder: \\{{ win_project }}.loc\Study_Data\{{ study_code }}
|
||||||
Reference in new issue
Block a user