mirror of
https://git.ecdf.ed.ac.uk/win_automation/windows-ansible.git
synced 2026-10-26 17:07:21 +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
|
||||
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
|
||||
win_reboot:
|
||||
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