mirror of
https://github.com/freeipa/ansible-freeipa.git
synced 2026-07-31 03:44:41 +00:00
Merge branch 'master' into workaround_import
This commit is contained in:
22
.github/workflows/docs.yml
vendored
22
.github/workflows/docs.yml
vendored
@@ -4,8 +4,8 @@ on:
|
|||||||
- push
|
- push
|
||||||
- pull_request
|
- pull_request
|
||||||
jobs:
|
jobs:
|
||||||
check_docs:
|
check_docs_29:
|
||||||
name: Check Ansible Documentation.
|
name: Check Ansible Documentation with Ansible 2.9.
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@@ -13,4 +13,20 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: '3.x'
|
python-version: '3.x'
|
||||||
- name: Run ansible-doc-test
|
- name: Run ansible-doc-test
|
||||||
run: ANSIBLE_LIBRARY="." python utils/ansible-doc-test roles plugins
|
run: |
|
||||||
|
python -m pip install "ansible < 2.10"
|
||||||
|
ANSIBLE_LIBRARY="." python utils/ansible-doc-test roles plugins
|
||||||
|
|
||||||
|
check_docs_latest:
|
||||||
|
name: Check Ansible Documentation with latest Ansible.
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: '3.x'
|
||||||
|
- name: Run ansible-doc-test
|
||||||
|
run: |
|
||||||
|
python -m pip install ansible
|
||||||
|
ANSIBLE_LIBRARY="." python utils/ansible-doc-test roles plugins
|
||||||
|
|
||||||
|
|||||||
@@ -25,3 +25,4 @@
|
|||||||
ipadm_password: SomeDMpassword
|
ipadm_password: SomeDMpassword
|
||||||
ipaserver_domain: test.local
|
ipaserver_domain: test.local
|
||||||
ipaserver_realm: TEST.LOCAL
|
ipaserver_realm: TEST.LOCAL
|
||||||
|
ipaclient_no_ntp: yes
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- copy:
|
- copy:
|
||||||
src: "{{ playbook_dir }}/password.txt"
|
src: "{{ playbook_dir }}/password.txt"
|
||||||
dest: "{{ ansible_env.HOME }}/password.txt"
|
dest: "{{ ansible_facts['env'].HOME }}/password.txt"
|
||||||
owner: "{{ ansible_user }}"
|
owner: "{{ ansible_user }}"
|
||||||
group: "{{ ansible_user }}"
|
group: "{{ ansible_user }}"
|
||||||
mode: 0600
|
mode: 0600
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
name: symvault
|
name: symvault
|
||||||
username: admin
|
username: admin
|
||||||
vault_type: symmetric
|
vault_type: symmetric
|
||||||
vault_password_file: "{{ ansible_env.HOME }}/password.txt"
|
vault_password_file: "{{ ansible_facts['env'].HOME }}/password.txt"
|
||||||
- file:
|
- file:
|
||||||
path: "{{ ansible_env.HOME }}/password.txt"
|
path: "{{ ansible_facts['env'].HOME }}/password.txt"
|
||||||
state: absent
|
state: absent
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- copy:
|
- copy:
|
||||||
src: "{{ playbook_dir }}/public.pem"
|
src: "{{ playbook_dir }}/public.pem"
|
||||||
dest: "{{ ansible_env.HOME }}/public.pem"
|
dest: "{{ ansible_facts['env'].HOME }}/public.pem"
|
||||||
owner: "{{ ansible_user }}"
|
owner: "{{ ansible_user }}"
|
||||||
group: "{{ ansible_user }}"
|
group: "{{ ansible_user }}"
|
||||||
mode: 0600
|
mode: 0600
|
||||||
@@ -21,7 +21,7 @@
|
|||||||
name: asymvault
|
name: asymvault
|
||||||
username: admin
|
username: admin
|
||||||
vault_type: asymmetric
|
vault_type: asymmetric
|
||||||
vault_public_key_file: "{{ ansible_env.HOME }}/public.pem"
|
vault_public_key_file: "{{ ansible_facts['env'].HOME }}/public.pem"
|
||||||
- file:
|
- file:
|
||||||
path: "{{ ansible_env.HOME }}/public.pem"
|
path: "{{ ansible_facts['env'].HOME }}/public.pem"
|
||||||
state: absent
|
state: absent
|
||||||
|
|||||||
@@ -45,6 +45,9 @@ else:
|
|||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from pprint import pformat
|
from pprint import pformat
|
||||||
|
|
||||||
|
# ansible-freeipa requires locale to be C, IPA requires utf-8.
|
||||||
|
os.environ["LANGUAGE"] = "C"
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from packaging import version
|
from packaging import version
|
||||||
except ImportError:
|
except ImportError:
|
||||||
@@ -294,6 +297,23 @@ else:
|
|||||||
"""
|
"""
|
||||||
base_debug_msg = "Ansible arguments and IPA commands differed. "
|
base_debug_msg = "Ansible arguments and IPA commands differed. "
|
||||||
|
|
||||||
|
# If both args and ipa are None, return there's no difference.
|
||||||
|
# If only one is None, return there is a difference.
|
||||||
|
# This tests avoid unecessary invalid access to attributes.
|
||||||
|
if args is None and ipa is None:
|
||||||
|
return True
|
||||||
|
if args is None or ipa is None:
|
||||||
|
module.debug(
|
||||||
|
base_debug_msg + "args is%s None an ipa is%s None" % (
|
||||||
|
"" if args is None else " not", "" if ipa is None else " not",
|
||||||
|
)
|
||||||
|
)
|
||||||
|
return False
|
||||||
|
|
||||||
|
# Fail if args or ipa are not dicts.
|
||||||
|
if not (isinstance(args, dict) and isinstance(ipa, dict)):
|
||||||
|
raise TypeError("Expected 'dicts' to compare.")
|
||||||
|
|
||||||
for key in args.keys():
|
for key in args.keys():
|
||||||
if key not in ipa:
|
if key not in ipa:
|
||||||
module.debug(
|
module.debug(
|
||||||
|
|||||||
@@ -234,14 +234,22 @@ def main():
|
|||||||
if action == "privilege":
|
if action == "privilege":
|
||||||
# Found the privilege
|
# Found the privilege
|
||||||
if res_find is not None:
|
if res_find is not None:
|
||||||
|
res_cmp = {
|
||||||
|
k: v for k, v in res_find.items()
|
||||||
|
if k not in [
|
||||||
|
"objectclass", "cn", "dn",
|
||||||
|
"memberof_permisssion"
|
||||||
|
]
|
||||||
|
}
|
||||||
# For all settings is args, check if there are
|
# For all settings is args, check if there are
|
||||||
# different settings in the find result.
|
# different settings in the find result.
|
||||||
# If yes: modify
|
# If yes: modify
|
||||||
if not compare_args_ipa(ansible_module, args,
|
if args and not compare_args_ipa(ansible_module, args,
|
||||||
res_find):
|
res_cmp):
|
||||||
commands.append([name, "privilege_mod", args])
|
commands.append([name, "privilege_mod", args])
|
||||||
else:
|
else:
|
||||||
commands.append([name, "privilege_add", args])
|
commands.append([name, "privilege_add", args])
|
||||||
|
res_find = {}
|
||||||
|
|
||||||
member_args = {}
|
member_args = {}
|
||||||
if permission:
|
if permission:
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
set_fact:
|
set_fact:
|
||||||
ipabackup_controller_dir:
|
ipabackup_controller_dir:
|
||||||
"{{ ipabackup_controller_path | default(lookup('env','PWD')) }}/{{
|
"{{ ipabackup_controller_path | default(lookup('env','PWD')) }}/{{
|
||||||
ipabackup_name_prefix | default(ansible_fqdn) }}_{{
|
ipabackup_name_prefix | default(ansible_facts['fqdn']) }}_{{
|
||||||
ipabackup_item }}/"
|
ipabackup_item }}/"
|
||||||
|
|
||||||
- name: Stat backup on server
|
- name: Stat backup on server
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
---
|
---
|
||||||
- name: Get IPA_BACKUP_DIR dir from ipaplatform
|
- name: Get IPA_BACKUP_DIR dir from ipaplatform
|
||||||
command: "{{ ansible_playbook_python }}"
|
command: "{{ ansible_python_interpreter | default('/usr/bin/python') }}"
|
||||||
args:
|
args:
|
||||||
stdin: |
|
stdin: |
|
||||||
from ipaplatform.paths import paths
|
from ipaplatform.paths import paths
|
||||||
|
|||||||
@@ -6,9 +6,9 @@
|
|||||||
- name: Import variables specific to distribution
|
- name: Import variables specific to distribution
|
||||||
include_vars: "{{ item }}"
|
include_vars: "{{ item }}"
|
||||||
with_first_found:
|
with_first_found:
|
||||||
- "{{ role_path }}/vars/{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml"
|
- "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_version'] }}.yml"
|
||||||
- "{{ role_path }}/vars/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
|
- "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_major_version'] }}.yml"
|
||||||
- "{{ role_path }}/vars/{{ ansible_distribution }}.yml"
|
- "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}.yml"
|
||||||
- "{{ role_path }}/vars/default.yml"
|
- "{{ role_path }}/vars/default.yml"
|
||||||
|
|
||||||
### GET SERVICES FROM BACKUP
|
### GET SERVICES FROM BACKUP
|
||||||
|
|||||||
@@ -1,6 +1,15 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
DOCUMENTATION = """
|
||||||
|
---
|
||||||
|
module: ipaclient_get_facts
|
||||||
|
short description: Get facts about IPA client and server configuration.
|
||||||
|
description: Get facts about IPA client and server configuration.
|
||||||
|
author:
|
||||||
|
- Thomas Woerner
|
||||||
|
"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import six
|
import six
|
||||||
|
|||||||
@@ -180,9 +180,9 @@ ntp_servers:
|
|||||||
type: list
|
type: list
|
||||||
sample: ["ntp.example.com"]
|
sample: ["ntp.example.com"]
|
||||||
ipa_python_version:
|
ipa_python_version:
|
||||||
description:
|
description: >
|
||||||
- The IPA python version as a number:
|
The IPA python version as a number:
|
||||||
- <major version>*10000+<minor version>*100+<release>
|
<major version>*10000+<minor version>*100+<release>
|
||||||
returned: always
|
returned: always
|
||||||
type: int
|
type: int
|
||||||
sample: 040400
|
sample: 040400
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
domain: "{{ ipaserver_domain | default(ipaclient_domain) | default(omit) }}"
|
domain: "{{ ipaserver_domain | default(ipaclient_domain) | default(omit) }}"
|
||||||
servers: "{{ ipaclient_servers | default(omit) }}"
|
servers: "{{ ipaclient_servers | default(omit) }}"
|
||||||
realm: "{{ ipaserver_realm | default(ipaclient_realm) | default(omit) }}"
|
realm: "{{ ipaserver_realm | default(ipaclient_realm) | default(omit) }}"
|
||||||
hostname: "{{ ipaclient_hostname | default(ansible_fqdn) }}"
|
hostname: "{{ ipaclient_hostname | default(ansible_facts['fqdn']) }}"
|
||||||
ntp_servers: "{{ ipaclient_ntp_servers | default(omit) }}"
|
ntp_servers: "{{ ipaclient_ntp_servers | default(omit) }}"
|
||||||
ntp_pool: "{{ ipaclient_ntp_pool | default(omit) }}"
|
ntp_pool: "{{ ipaclient_ntp_pool | default(omit) }}"
|
||||||
no_ntp: "{{ ipaclient_no_ntp }}"
|
no_ntp: "{{ ipaclient_no_ntp }}"
|
||||||
@@ -181,8 +181,12 @@
|
|||||||
# Do not fail on error codes 3 and 5:
|
# Do not fail on error codes 3 and 5:
|
||||||
# 3 - Unable to open keytab
|
# 3 - Unable to open keytab
|
||||||
# 5 - Principal name or realm not found in keytab
|
# 5 - Principal name or realm not found in keytab
|
||||||
|
# 7 - Failed to set cursor, typically when errcode
|
||||||
|
# would be issued in past
|
||||||
failed_when: result_ipa_rmkeytab.rc != 0 and
|
failed_when: result_ipa_rmkeytab.rc != 0 and
|
||||||
result_ipa_rmkeytab.rc != 3 and result_ipa_rmkeytab.rc != 5
|
result_ipa_rmkeytab.rc != 3 and
|
||||||
|
result_ipa_rmkeytab.rc != 5 and
|
||||||
|
result_ipa_rmkeytab.rc != 7
|
||||||
when: (ipaclient_use_otp | bool or ipaclient_force_join | bool) and not ipaclient_on_master | bool
|
when: (ipaclient_use_otp | bool or ipaclient_force_join | bool) and not ipaclient_on_master | bool
|
||||||
|
|
||||||
- name: Install - Backup and set hostname
|
- name: Install - Backup and set hostname
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
- name: Import variables specific to distribution
|
- name: Import variables specific to distribution
|
||||||
include_vars: "{{ item }}"
|
include_vars: "{{ item }}"
|
||||||
with_first_found:
|
with_first_found:
|
||||||
- "{{ role_path }}/vars/{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml"
|
- "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_version'] }}.yml"
|
||||||
- "{{ role_path }}/vars/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
|
- "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_major_version'] }}.yml"
|
||||||
- "{{ role_path }}/vars/{{ ansible_distribution }}.yml"
|
- "{{ role_path }}/vars/{{ ansible_facts['distribution'] }}.yml"
|
||||||
- "{{ role_path }}/vars/default.yml"
|
- "{{ role_path }}/vars/default.yml"
|
||||||
|
|
||||||
- name: Install IPA client
|
- name: Install IPA client
|
||||||
|
|||||||
@@ -72,7 +72,7 @@
|
|||||||
default(omit) }}"
|
default(omit) }}"
|
||||||
servers: "{{ ipareplica_servers | default(omit) }}"
|
servers: "{{ ipareplica_servers | default(omit) }}"
|
||||||
realm: "{{ ipareplica_realm | default(ipaserver_realm) |default(omit) }}"
|
realm: "{{ ipareplica_realm | default(ipaserver_realm) |default(omit) }}"
|
||||||
hostname: "{{ ipareplica_hostname | default(ansible_fqdn) }}"
|
hostname: "{{ ipareplica_hostname | default(ansible_facts['fqdn']) }}"
|
||||||
ca_cert_files: "{{ ipareplica_ca_cert_files | default([]) }}"
|
ca_cert_files: "{{ ipareplica_ca_cert_files | default([]) }}"
|
||||||
hidden_replica: "{{ ipareplica_hidden_replica }}"
|
hidden_replica: "{{ ipareplica_hidden_replica }}"
|
||||||
skip_mem_check: "{{ not ipareplica_mem_check }}"
|
skip_mem_check: "{{ not ipareplica_mem_check }}"
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
- name: Import variables specific to distribution
|
- name: Import variables specific to distribution
|
||||||
include_vars: "{{ item }}"
|
include_vars: "{{ item }}"
|
||||||
with_first_found:
|
with_first_found:
|
||||||
- "vars/{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml"
|
- "vars/{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_version'] }}.yml"
|
||||||
- "vars/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
|
- "vars/{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_major_version'] }}.yml"
|
||||||
- "vars/{{ ansible_distribution }}.yml"
|
- "vars/{{ ansible_facts['distribution'] }}.yml"
|
||||||
- "vars/default.yml"
|
- "vars/default.yml"
|
||||||
|
|
||||||
- name: Install IPA replica
|
- name: Install IPA replica
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
# command: >
|
# command: >
|
||||||
# /usr/sbin/ipa-replica-manage
|
# /usr/sbin/ipa-replica-manage
|
||||||
# del
|
# del
|
||||||
# {{ ipareplica_hostname | default(ansible_fqdn) }}
|
# {{ ipareplica_hostname | default(ansible_facts['fqdn']) }}
|
||||||
# --force
|
# --force
|
||||||
# --password={{ ipadm_password }}
|
# --password={{ ipadm_password }}
|
||||||
# failed_when: False
|
# failed_when: False
|
||||||
|
|||||||
@@ -65,7 +65,7 @@
|
|||||||
master_password: "{{ ipaserver_master_password | default(omit) }}"
|
master_password: "{{ ipaserver_master_password | default(omit) }}"
|
||||||
domain: "{{ ipaserver_domain | default(omit) }}"
|
domain: "{{ ipaserver_domain | default(omit) }}"
|
||||||
realm: "{{ ipaserver_realm | default(omit) }}"
|
realm: "{{ ipaserver_realm | default(omit) }}"
|
||||||
hostname: "{{ ipaserver_hostname | default(ansible_fqdn) }}"
|
hostname: "{{ ipaserver_hostname | default(ansible_facts['fqdn']) }}"
|
||||||
ca_cert_files: "{{ ipaserver_ca_cert_files | default(omit) }}"
|
ca_cert_files: "{{ ipaserver_ca_cert_files | default(omit) }}"
|
||||||
no_host_dns: "{{ ipaserver_no_host_dns }}"
|
no_host_dns: "{{ ipaserver_no_host_dns }}"
|
||||||
pki_config_override: "{{ ipaserver_pki_config_override | default(omit) }}"
|
pki_config_override: "{{ ipaserver_pki_config_override | default(omit) }}"
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
- name: Import variables specific to distribution
|
- name: Import variables specific to distribution
|
||||||
include_vars: "{{ item }}"
|
include_vars: "{{ item }}"
|
||||||
with_first_found:
|
with_first_found:
|
||||||
- "vars/{{ ansible_distribution }}-{{ ansible_distribution_version }}.yml"
|
- "vars/{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_version'] }}.yml"
|
||||||
- "vars/{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yml"
|
- "vars/{{ ansible_facts['distribution'] }}-{{ ansible_facts['distribution_major_version'] }}.yml"
|
||||||
- "vars/{{ ansible_distribution }}.yml"
|
- "vars/{{ ansible_facts['distribution'] }}.yml"
|
||||||
- "vars/default.yml"
|
- "vars/default.yml"
|
||||||
|
|
||||||
- name: Install IPA server
|
- name: Install IPA server
|
||||||
|
|||||||
@@ -3,3 +3,4 @@ roles_path = ../roles:~/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/rol
|
|||||||
library = ../plugins/modules:~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
|
library = ../plugins/modules:~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules
|
||||||
module_utils = ../plugins/module_utils:~/.ansible/plugins/module_utils:/usr/share/ansible/plugins/module_utils
|
module_utils = ../plugins/module_utils:~/.ansible/plugins/module_utils:/usr/share/ansible/plugins/module_utils
|
||||||
host_key_checking = false
|
host_key_checking = false
|
||||||
|
inject_facts_as_vars = false
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ jobs:
|
|||||||
|
|
||||||
- script: molecule create -s ${{ parameters.build_scenario_name }}
|
- script: molecule create -s ${{ parameters.build_scenario_name }}
|
||||||
displayName: Create test container
|
displayName: Create test container
|
||||||
|
env:
|
||||||
|
ANSIBLE_LIBRARY: ./molecule
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
docker stop ${{ parameters.build_scenario_name }}
|
docker stop ${{ parameters.build_scenario_name }}
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ jobs:
|
|||||||
cp -a plugins/module_utils/* ~/.ansible/module_utils
|
cp -a plugins/module_utils/* ~/.ansible/module_utils
|
||||||
molecule create -s ${{ parameters.scenario }}
|
molecule create -s ${{ parameters.scenario }}
|
||||||
displayName: Setup test container
|
displayName: Setup test container
|
||||||
|
env:
|
||||||
|
ANSIBLE_LIBRARY: ./molecule
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
pytest \
|
pytest \
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ jobs:
|
|||||||
cp -a plugins/module_utils/* ~/.ansible/module_utils
|
cp -a plugins/module_utils/* ~/.ansible/module_utils
|
||||||
molecule create -s ${{ parameters.scenario }}
|
molecule create -s ${{ parameters.scenario }}
|
||||||
displayName: Setup test container
|
displayName: Setup test container
|
||||||
|
env:
|
||||||
|
ANSIBLE_LIBRARY: ./molecule
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
pytest \
|
pytest \
|
||||||
|
|||||||
@@ -2,9 +2,9 @@
|
|||||||
# Set common vars and facts for test.
|
# Set common vars and facts for test.
|
||||||
- name: Set IPv4 address prefix.
|
- name: Set IPv4 address prefix.
|
||||||
set_fact:
|
set_fact:
|
||||||
ipv4_prefix: "{{ ansible_default_ipv4.address.split('.')[:-1] |
|
ipv4_prefix: "{{ ansible_facts['default_ipv4'].address.split('.')[:-1] |
|
||||||
join('.') }}"
|
join('.') }}"
|
||||||
ipv4_reverse_sufix: "{{ ansible_default_ipv4.address.split('.')[:-1] |
|
ipv4_reverse_sufix: "{{ ansible_facts['default_ipv4'].address.split('.')[:-1] |
|
||||||
reverse |
|
reverse |
|
||||||
join('.') }}"
|
join('.') }}"
|
||||||
|
|
||||||
|
|||||||
@@ -564,7 +564,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: iron01
|
name: iron01
|
||||||
zone_name: "{{ safezone }}"
|
zone_name: "{{ safezone }}"
|
||||||
ip_address: "{{ ansible_default_ipv4.address }}"
|
ip_address: "{{ ansible_facts['default_ipv4'].address }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
|
|
||||||
|
|||||||
32
tests/environment/test_locale.yml
Normal file
32
tests/environment/test_locale.yml
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
- name: Test language variations
|
||||||
|
hosts: ipaserver
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Ensure a host is not present, with language set to "de_DE".
|
||||||
|
ipahost:
|
||||||
|
ipaadmin_password: SomeADMINpassword
|
||||||
|
name: nonexistent
|
||||||
|
state: absent
|
||||||
|
environment:
|
||||||
|
LANGUAGE: "de_DE"
|
||||||
|
register: result
|
||||||
|
failed_when: result.failed or result.changed
|
||||||
|
|
||||||
|
- name: Ensure a host is not present, with language set to "C".
|
||||||
|
ipahost:
|
||||||
|
ipaadmin_password: SomeADMINpassword
|
||||||
|
name: nonexistent
|
||||||
|
state: absent
|
||||||
|
environment:
|
||||||
|
LANGUAGE: "C"
|
||||||
|
register: result
|
||||||
|
failed_when: result.failed or result.changed
|
||||||
|
|
||||||
|
- name: Ensure a host is not present, using controller language.
|
||||||
|
ipahost:
|
||||||
|
ipaadmin_password: SomeADMINpassword
|
||||||
|
name: nonexistent
|
||||||
|
state: absent
|
||||||
|
register: result
|
||||||
|
failed_when: result.failed or result.changed
|
||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
# CLEANUP TEST ITEMS
|
# CLEANUP TEST ITEMS
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Generate self-signed certificates.
|
- name: Generate self-signed certificates.
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Host test absent
|
- name: Host test absent
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn .. host6_fqdn
|
- name: Set host1_fqdn .. host6_fqdn
|
||||||
@@ -33,7 +33,7 @@
|
|||||||
|
|
||||||
- name: Get IPv4 address prefix from server node
|
- name: Get IPv4 address prefix from server node
|
||||||
set_fact:
|
set_fact:
|
||||||
ipv4_prefix: "{{ ansible_default_ipv4.address.split('.')[:-1] |
|
ipv4_prefix: "{{ ansible_facts['default_ipv4'].address.split('.')[:-1] |
|
||||||
join('.') }}"
|
join('.') }}"
|
||||||
|
|
||||||
- name: Host "{{ host1_fqdn }}" present
|
- name: Host "{{ host1_fqdn }}" present
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Get Realm from server name
|
- name: Get Realm from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_realm: "{{ ansible_fqdn.split('.')[1:] | join ('.') | upper }}"
|
ipaserver_realm: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') | upper }}"
|
||||||
when: ipaserver_realm is not defined
|
when: ipaserver_realm is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn .. host3_fqdn
|
- name: Set host1_fqdn .. host3_fqdn
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Get Realm from server name
|
- name: Get Realm from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_realm: "{{ ansible_fqdn.split('.')[1:] | join ('.') | upper }}"
|
ipaserver_realm: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') | upper }}"
|
||||||
when: ipaserver_realm is not defined
|
when: ipaserver_realm is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn .. host3_fqdn
|
- name: Set host1_fqdn .. host3_fqdn
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn .. host6_fqdn
|
- name: Set host1_fqdn .. host6_fqdn
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn .. host6_fqdn
|
- name: Set host1_fqdn .. host6_fqdn
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
- name: Get IPv4 address prefix from server node
|
- name: Get IPv4 address prefix from server node
|
||||||
set_fact:
|
set_fact:
|
||||||
ipv4_prefix: "{{ ansible_default_ipv4.address.split('.')[:-1] |
|
ipv4_prefix: "{{ ansible_facts['default_ipv4'].address.split('.')[:-1] |
|
||||||
join('.') }}"
|
join('.') }}"
|
||||||
|
|
||||||
- name: Host absent
|
- name: Host absent
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn .. host2_fqdn
|
- name: Set host1_fqdn .. host2_fqdn
|
||||||
@@ -55,39 +55,39 @@
|
|||||||
register: result
|
register: result
|
||||||
failed_when: result.changed
|
failed_when: result.changed
|
||||||
|
|
||||||
- name: Host "{{ host1_fqdn }}" managed by "{{ ansible_fqdn }}"
|
- name: Host "{{ host1_fqdn }}" managed by "{{ ansible_facts['fqdn'] }}"
|
||||||
ipahost:
|
ipahost:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{ host1_fqdn }}"
|
name: "{{ host1_fqdn }}"
|
||||||
managedby_host: "{{ ansible_fqdn }}"
|
managedby_host: "{{ ansible_facts['fqdn'] }}"
|
||||||
action: member
|
action: member
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
|
|
||||||
- name: Host "{{ host1_fqdn }}" managed by "{{ ansible_fqdn }}" again
|
- name: Host "{{ host1_fqdn }}" managed by "{{ ansible_facts['fqdn'] }}" again
|
||||||
ipahost:
|
ipahost:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{ host1_fqdn }}"
|
name: "{{ host1_fqdn }}"
|
||||||
managedby_host: "{{ ansible_fqdn }}"
|
managedby_host: "{{ ansible_facts['fqdn'] }}"
|
||||||
action: member
|
action: member
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed
|
failed_when: result.changed
|
||||||
|
|
||||||
- name: Host "{{ host1_fqdn }}" not managed by "{{ ansible_fqdn }}"
|
- name: Host "{{ host1_fqdn }}" not managed by "{{ ansible_facts['fqdn'] }}"
|
||||||
ipahost:
|
ipahost:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{ host1_fqdn }}"
|
name: "{{ host1_fqdn }}"
|
||||||
managedby_host: "{{ ansible_fqdn }}"
|
managedby_host: "{{ ansible_facts['fqdn'] }}"
|
||||||
action: member
|
action: member
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
|
|
||||||
- name: Host "{{ host1_fqdn }}" not managed by "{{ ansible_fqdn }}" again
|
- name: Host "{{ host1_fqdn }}" not managed by "{{ ansible_facts['fqdn'] }}" again
|
||||||
ipahost:
|
ipahost:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{ host1_fqdn }}"
|
name: "{{ host1_fqdn }}"
|
||||||
managedby_host: "{{ ansible_fqdn }}"
|
managedby_host: "{{ ansible_facts['fqdn'] }}"
|
||||||
action: member
|
action: member
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Get Realm from server name
|
- name: Get Realm from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_realm: "{{ ansible_fqdn.split('.')[1:] | join ('.') | upper }}"
|
ipaserver_realm: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') | upper }}"
|
||||||
when: ipaserver_realm is not defined
|
when: ipaserver_realm is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn
|
- name: Set host1_fqdn
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn and host2_fqdn
|
- name: Set host1_fqdn and host2_fqdn
|
||||||
@@ -77,11 +77,11 @@
|
|||||||
debug:
|
debug:
|
||||||
var: ipahost.host["{{host2_fqdn }}"].randompassword
|
var: ipahost.host["{{host2_fqdn }}"].randompassword
|
||||||
|
|
||||||
- name: Enrolled host "{{ ansible_fqdn }}" fails to set random password with update_password always
|
- name: Enrolled host "{{ ansible_facts['fqdn'] }}" fails to set random password with update_password always
|
||||||
ipahost:
|
ipahost:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
hosts:
|
hosts:
|
||||||
- name: "{{ ansible_fqdn }}"
|
- name: "{{ ansible_facts['fqdn'] }}"
|
||||||
random: yes
|
random: yes
|
||||||
update_password: always
|
update_password: always
|
||||||
register: ipahost
|
register: ipahost
|
||||||
@@ -89,7 +89,7 @@
|
|||||||
|
|
||||||
- assert:
|
- assert:
|
||||||
that:
|
that:
|
||||||
- ipahost.host["{{ ansible_fqdn }}"].randompassword is
|
- ipahost.host["{{ ansible_facts['fqdn'] }}"].randompassword is
|
||||||
not defined
|
not defined
|
||||||
- "'Password cannot be set on enrolled host' in ipahost.msg"
|
- "'Password cannot be set on enrolled host' in ipahost.msg"
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn
|
- name: Set host1_fqdn
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
- name: Get IPv4 address prefix from server node
|
- name: Get IPv4 address prefix from server node
|
||||||
set_fact:
|
set_fact:
|
||||||
ipv4_prefix: "{{ ansible_default_ipv4.address.split('.')[:-1] |
|
ipv4_prefix: "{{ ansible_facts['default_ipv4'].address.split('.')[:-1] |
|
||||||
join('.') }}"
|
join('.') }}"
|
||||||
|
|
||||||
- name: Set zone prefixes.
|
- name: Set zone prefixes.
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn .. host6_fqdn
|
- name: Set host1_fqdn .. host6_fqdn
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn .. host5_fqdn
|
- name: Set host1_fqdn .. host5_fqdn
|
||||||
|
|||||||
@@ -6,12 +6,12 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Get Realm from server name
|
- name: Get Realm from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_realm: "{{ ansible_fqdn.split('.')[1:] | join ('.') | upper }}"
|
ipaserver_realm: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') | upper }}"
|
||||||
when: ipaserver_realm is not defined
|
when: ipaserver_realm is not defined
|
||||||
|
|
||||||
- name: Set host1_fqdn .. host2_fqdn
|
- name: Set host1_fqdn .. host2_fqdn
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Ensure host-group databases, mysql-server and oracle-server are absent
|
- name: Ensure host-group databases, mysql-server and oracle-server are absent
|
||||||
|
|||||||
@@ -140,6 +140,30 @@
|
|||||||
register: result
|
register: result
|
||||||
failed_when: result.changed or result.failed
|
failed_when: result.changed or result.failed
|
||||||
|
|
||||||
|
- name: Ensure "Broad Privilege" is absent.
|
||||||
|
ipaprivilege:
|
||||||
|
ipaadmin_password: SomeADMINpassword
|
||||||
|
name: Broad Privilege
|
||||||
|
state: absent
|
||||||
|
|
||||||
|
- name: Ensure privilege Broad Privilege is created with permission. (issue 529)
|
||||||
|
ipaprivilege:
|
||||||
|
ipaadmin_password: SomeADMINpassword
|
||||||
|
name: Broad Privilege
|
||||||
|
permission:
|
||||||
|
- "Write IPA Configuration"
|
||||||
|
register: result
|
||||||
|
failed_when: not result.changed or result.failed
|
||||||
|
|
||||||
|
- name: Ensure privilege Broad Privilege is created with permission, again. (issue 529)
|
||||||
|
ipaprivilege:
|
||||||
|
ipaadmin_password: SomeADMINpassword
|
||||||
|
name: Broad Privilege
|
||||||
|
permission:
|
||||||
|
- "Write IPA Configuration"
|
||||||
|
register: result
|
||||||
|
failed_when: result.changed or result.failed
|
||||||
|
|
||||||
# CLEANUP TEST ITEMS
|
# CLEANUP TEST ITEMS
|
||||||
|
|
||||||
- name: Ensure privilege testing privileges are absent
|
- name: Ensure privilege testing privileges are absent
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Set fact for realm name
|
- name: Set fact for realm name
|
||||||
|
|||||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQEL
|
|
||||||
BQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQx
|
|
||||||
MDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
|
||||||
AoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk
|
|
||||||
+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa
|
|
||||||
8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0am
|
|
||||||
nvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cj
|
|
||||||
QQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidS
|
|
||||||
X0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYuku
|
|
||||||
H/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAP
|
|
||||||
BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0
|
|
||||||
WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqic
|
|
||||||
uPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkG
|
|
||||||
wIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyE
|
|
||||||
iaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj
|
|
||||||
9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV
|
|
||||||
7MVq
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
Binary file not shown.
@@ -1,19 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIC/zCCAeegAwIBAgIURhps6LEteMDCdBrlVkWe4cgSh0YwDQYJKoZIhvcNAQEL
|
|
||||||
BQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQyNDBaFw0zMDAyMDExNDQy
|
|
||||||
NDBaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
|
|
||||||
AoIBAQC4W56H0VraEKGlCxSTS2PqnaD11shMjruexmholmTEtYPePPnQHpwiiZlg
|
|
||||||
K7CPBIOdCn4hHH+hXQDg/TJRMjrde1VzD0pFRBUq6H25sy8oOlfD0bDXkncWn82S
|
|
||||||
OJu2UJHeL7htQLRxW14VIAO2YO9zaXdophy6/csTAkFq1ls/vTBp73pnnYp8D7Tg
|
|
||||||
zBB6bb95OZBSHeCzPIH2FSCJ/W0j6bHw4i7uHu/jWx0o0LR152fSFFwk0Wrmp8HH
|
|
||||||
b2083OlnSBgTM+BZDg9rB7jpLCsIGHWXbjG36jmRaZu5z4vq2FNomJ8PXkX7mwUf
|
|
||||||
aft6z+px7UlhrwUxEVWIXOoUBYcJAgMBAAGjUzBRMB0GA1UdDgQWBBTttCQn5UaQ
|
|
||||||
i+N5WRnA7ZTQlkVfRTAfBgNVHSMEGDAWgBTttCQn5UaQi+N5WRnA7ZTQlkVfRTAP
|
|
||||||
BgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBW3vRR5wEDztuLVrcQ
|
|
||||||
Dojn1XB24OOqn4C6OJyz3FUxd4MQA8J2vKN4P2QXhY0oYsauFKhR5xfOaDUcK2Tu
|
|
||||||
kAtFz1mxqm1ygUVQHbrs8lBeIi4hoMc76ODJ/V9GNY7N/y/5xtD7XlyTVT2tb6tc
|
|
||||||
6tmv8e4497PTPspuHp9YbbvzdSI12JENDW4hKCOpR/Uv7mRcCT+c2iMJdUL3f3YO
|
|
||||||
FsGBbxVdTPmuhL4My8qR/CtCNpN0gBsaxUKFAP+/1AvFbFDChFVDEEdD8PLznH5x
|
|
||||||
8HLmA9/K5x/cXbgqESUqK13P53f1XYOfggKb1f7yqBAZRnTY82+k9Kn9qWOcnyxS
|
|
||||||
uUtZ
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC+XVVGFYpHVkcD
|
|
||||||
fVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJ
|
|
||||||
zMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmj
|
|
||||||
fMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn
|
|
||||||
0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQW
|
|
||||||
AnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63
|
|
||||||
g5cZyE+nAgMBAAECggEBALJIsw5aKhE5inSIN0xZT3FTWxcjHF26jE+X86G0H3KZ
|
|
||||||
roLqnjOagOKTwjeErXt66IWKFh3b5vKCSNq6PEs8OCeRHv71bay5zK1WWLH87sKJ
|
|
||||||
EAUSPuK5O6donI9aC36VL8tTwSOOOS9WJ0KoHqsn/tLHlONXOvo063iYEg8xFhuP
|
|
||||||
etrOf2gDjwGbeWis7VeHG7wL5p2/WdsyjTDbQPhmUlBO93rtkBlm9FaqYKwrp8qe
|
|
||||||
4c5gf6ZAKgY2EZaQuEvq3Lonk7TRCtPDVCPLYQxZGOmn2UeUS+HMnDSqrlQesBKD
|
|
||||||
hNNCCJVaQZHsghmwXa8t9yRBIxoOqVObdEQYJ8wuxMECgYEA676x3m7T2PwJXS+q
|
|
||||||
Km3snv60lCozxKbzaNJ1xlAmpW08MijYCkDS/kWSIwN5GO+b5B6use8iALrV9SyP
|
|
||||||
eC/6bFuMJ+zRfGhn1cw4Ibz79EroTxmJio7J7SiD/yxvjNVznKx5xgQeB9tdgjaf
|
|
||||||
yHSxInWoQzcDGKUe2h2KFJxUzJECgYEAzrh6zI8Ugne5iBUbLcpJUehlMd4+RM0l
|
|
||||||
1y8ZOBS1tjzimWycjZaPtMB0q4FOc1ou2zcSxwoGIv5khvUsjKhTfOc6lK+cHPhE
|
|
||||||
fAppYUxhHw2UDpX/0hKDuDu++O+86ANp7AOvM+KcNAiEoovxUyurVjBsT/PPlrTA
|
|
||||||
r5w7xuyi1LcCgYAZ7ZdSh431R4MgJKXqlLx5oDnsMdgPwOz0knExpo8ZkrIUMjnQ
|
|
||||||
puCN5sjz4OXowDG9HULJfyuWOPZfSM9ewKgiUs9PdNR1gmYpNZTW4Ro0/CggywY9
|
|
||||||
nwbGdrZN0m1SaAeXK8EY7kr/Qjk+oRNh0LPKvnYLLnnAtCh4hNcy/R62gQKBgBaD
|
|
||||||
3UweYVt8csaxlc489BNpvmvaCuovdemkBZkoGEqLAxs2yy5Ysbo8I/jyEntZ3TSf
|
|
||||||
IPpwyw5Qqt5QIdQIGV/HR4geQGCfYcYo1CV2zjU1o2SbTcuxnIsaZshyRB75EDZW
|
|
||||||
iGScT+sS6m9R0qz+WqD+kS18HqYJddsqpxAZgfqtAoGBAJx7E8HxFpaNfz/QQPAQ
|
|
||||||
mvON6ub5u4AfhH4DgiPErMxNsdzVICL+mnQy0wdmi1oEpq9KH4/8aSxdPhadyl/8
|
|
||||||
l+0CkCkBZvEP7+NmctR8Zot60wS0DnOwuURCxm/zYJ26DXjB0XitDDumFJ56Wd6p
|
|
||||||
uLl9eKMBE/jBsCSWQTuwrtnT
|
|
||||||
-----END PRIVATE KEY-----
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
-----BEGIN PRIVATE KEY-----
|
|
||||||
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC4W56H0VraEKGl
|
|
||||||
CxSTS2PqnaD11shMjruexmholmTEtYPePPnQHpwiiZlgK7CPBIOdCn4hHH+hXQDg
|
|
||||||
/TJRMjrde1VzD0pFRBUq6H25sy8oOlfD0bDXkncWn82SOJu2UJHeL7htQLRxW14V
|
|
||||||
IAO2YO9zaXdophy6/csTAkFq1ls/vTBp73pnnYp8D7TgzBB6bb95OZBSHeCzPIH2
|
|
||||||
FSCJ/W0j6bHw4i7uHu/jWx0o0LR152fSFFwk0Wrmp8HHb2083OlnSBgTM+BZDg9r
|
|
||||||
B7jpLCsIGHWXbjG36jmRaZu5z4vq2FNomJ8PXkX7mwUfaft6z+px7UlhrwUxEVWI
|
|
||||||
XOoUBYcJAgMBAAECggEAPTBrlbiu5uHORPFAiwLizuQyoGYBZSearkA8Nzpzh7aX
|
|
||||||
ZhPm9mSyfeQdvAXEPDPLWzw4UNUcp3ou6H4hTUHWt9xPqDjS9dp7DBrOX+xRIpD6
|
|
||||||
wEvA3kwGqsOvf3C6ffCP+abtF5X6TgV9XJWbpdTWpP/EWj+IGahS1qRRAhzTfHvF
|
|
||||||
YGMTFwlgbz4eOs+FXBnVNGsdsdMLpOyqHMdDAA4BhyspWHyHgCRjEjROuJCKSDUR
|
|
||||||
MD1pNdaEYzoj5QeE1IKzXAzTaxG/YKd36BxV5Cp9DOBuZZLgNEd2EisXxV7UwZL4
|
|
||||||
leGgxAc+KQs6QoPoz+mrKbdDnxe6V+uaa9KHoqnj4QKBgQD1qh+MEIF+Vuf/keFJ
|
|
||||||
vDgS7oFeg1UGzMtWypiNfVYu9cBLp32tgY48+ey3OCvhRSJAVROH1rc5ZfkESSQ2
|
|
||||||
rSeV/T3plr5bBkLc7chuDM8An745p8VSOM+Ak1zE2qb+Qo+IsxNRA9KyeUvupuB8
|
|
||||||
HJ7fxdZ7JpgueD/mKyCn1WaGIwKBgQDAHTS6J7LKm52d2norERK6ZyBNVhKaKNDW
|
|
||||||
ssRqSh906oFU63Qijsp4dbm1iRXGME6Zoe1quN/K80iATdv/VzjzxS1Of8mqA7gr
|
|
||||||
/2juZbpEluSxjkqPAZp1p4Kx9WURdzv2ModkYwM3zSTGR5l22Whd9QdNQvVl1mf0
|
|
||||||
+RfgE6ty4wKBgA+GtwO1L1n6yCLg52ovmSOpK0f76O3LF7beixG2MDI7mfGuHkVP
|
|
||||||
ANxdt1ZFGJDeO7HxLpDRQzc/eKOKs904yF20aatPuawrEyK/bIF4EcUqU211awUt
|
|
||||||
TgAEUEKoxxEex8+N8dSW90QMYn4s0ddGP8xIxqt13vxg4Tj81M2GsTodAoGAOa8L
|
|
||||||
S/Hrj0ZWdzVIhXHk669XVaFIiJ1Ex5J5w2hqNZLMLpFcF5xEUxMWJdn5fb63ew3R
|
|
||||||
2b+VAr01wcCfE/Y+lYNY7T8VcEUZoaxY92v4F+wu0tlkrbfPhxA6//As3qesi2n0
|
|
||||||
mUHZj4G7TwXkoHj7C2stPBek02UjZbz9XDzLt/0CgYAiawpqmHJK4LhRm+P6J1+X
|
|
||||||
nzLPzQ6t15ivh4jPrWZPgOG3hKV+If+PTv7lLy51y2X4Ttuyumy09J+kYiy3qIHR
|
|
||||||
nmbAEkc9lesrxk1eytxmYY+fGTBpaLAc+vNXWCtUc1ttKcfrPhZdncmSh5Z0aFN3
|
|
||||||
D+EddEZHzfzoGlfbNVkfmQ==
|
|
||||||
-----END PRIVATE KEY-----
|
|
||||||
@@ -1,25 +1,3 @@
|
|||||||
#
|
|
||||||
# Generate self-signed certificates using openssl:
|
|
||||||
#
|
|
||||||
# openssl req -x509 -newkey rsa:2048 -days 3650 -nodes -keyout private1.key -out cert1.pem -subj '/CN=test'
|
|
||||||
# openssl req -x509 -newkey rsa:2048 -days 3650 -nodes -keyout private2.key -out cert2.pem -subj '/CN=test'
|
|
||||||
#
|
|
||||||
# Convert the certificate do DER for easier handling through CLI
|
|
||||||
#
|
|
||||||
# openssl x509 -outform der -in cert1.pem -out cert1.der
|
|
||||||
# openssl x509 -outform der -in cert2.pem -out cert2.der
|
|
||||||
#
|
|
||||||
# Use base64:
|
|
||||||
#
|
|
||||||
# base64 cert1.der -w5000
|
|
||||||
# base64 cert2.der -w5000
|
|
||||||
#
|
|
||||||
# Certificates:
|
|
||||||
# cert1:
|
|
||||||
# - MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
|
||||||
# cert2:
|
|
||||||
# - MIIC/zCCAeegAwIBAgIURhps6LEteMDCdBrlVkWe4cgSh0YwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQyNDBaFw0zMDAyMDExNDQyNDBaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4W56H0VraEKGlCxSTS2PqnaD11shMjruexmholmTEtYPePPnQHpwiiZlgK7CPBIOdCn4hHH+hXQDg/TJRMjrde1VzD0pFRBUq6H25sy8oOlfD0bDXkncWn82SOJu2UJHeL7htQLRxW14VIAO2YO9zaXdophy6/csTAkFq1ls/vTBp73pnnYp8D7TgzBB6bb95OZBSHeCzPIH2FSCJ/W0j6bHw4i7uHu/jWx0o0LR152fSFFwk0Wrmp8HHb2083OlnSBgTM+BZDg9rB7jpLCsIGHWXbjG36jmRaZu5z4vq2FNomJ8PXkX7mwUfaft6z+px7UlhrwUxEVWIXOoUBYcJAgMBAAGjUzBRMB0GA1UdDgQWBBTttCQn5UaQi+N5WRnA7ZTQlkVfRTAfBgNVHSMEGDAWgBTttCQn5UaQi+N5WRnA7ZTQlkVfRTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBW3vRR5wEDztuLVrcQDojn1XB24OOqn4C6OJyz3FUxd4MQA8J2vKN4P2QXhY0oYsauFKhR5xfOaDUcK2TukAtFz1mxqm1ygUVQHbrs8lBeIi4hoMc76ODJ/V9GNY7N/y/5xtD7XlyTVT2tb6tc6tmv8e4497PTPspuHp9YbbvzdSI12JENDW4hKCOpR/Uv7mRcCT+c2iMJdUL3f3YOFsGBbxVdTPmuhL4My8qR/CtCNpN0gBsaxUKFAP+/1AvFbFDChFVDEEdD8PLznH5x8HLmA9/K5x/cXbgqESUqK13P53f1XYOfggKb1f7yqBAZRnTY82+k9Kn9qWOcnyxSuUtZ
|
|
||||||
|
|
||||||
---
|
---
|
||||||
- name: Test service certificates
|
- name: Test service certificates
|
||||||
hosts: ipaserver
|
hosts: ipaserver
|
||||||
@@ -27,14 +5,24 @@
|
|||||||
|
|
||||||
tasks:
|
tasks:
|
||||||
# setup
|
# setup
|
||||||
|
- name: Generate self-signed certificates.
|
||||||
|
shell:
|
||||||
|
cmd: |
|
||||||
|
openssl req -x509 -newkey rsa:2048 -days 365 -nodes -keyout "private{{ item }}.key" -out "cert{{ item }}.pem" -subj '/CN=test'
|
||||||
|
openssl x509 -outform der -in "cert{{ item }}.pem" -out "cert{{ item }}.der"
|
||||||
|
base64 "cert{{ item }}.der" -w5000 > "cert{{ item }}.b64"
|
||||||
|
with_items: [1, 2]
|
||||||
|
become: no
|
||||||
|
delegate_to: localhost
|
||||||
|
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
when: ipaserver_domain is not defined
|
when: ipaserver_domain is not defined
|
||||||
|
|
||||||
- name: Get IPv4 address prefix from server node
|
- name: Get IPv4 address prefix from server node
|
||||||
set_fact:
|
set_fact:
|
||||||
ipv4_prefix: "{{ ansible_default_ipv4.address.split('.')[:-1] |
|
ipv4_prefix: "{{ ansible_facts['default_ipv4'].address.split('.')[:-1] |
|
||||||
join('.') }}"
|
join('.') }}"
|
||||||
|
|
||||||
- name: Set test host FQDN
|
- name: Set test host FQDN
|
||||||
@@ -78,7 +66,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "HTTP/{{ test_host }}"
|
name: "HTTP/{{ test_host }}"
|
||||||
certificate:
|
certificate:
|
||||||
- MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
- "{{ lookup('file', 'cert1.b64') }}"
|
||||||
pac_type:
|
pac_type:
|
||||||
- MS-PAC
|
- MS-PAC
|
||||||
- PAD
|
- PAD
|
||||||
@@ -95,7 +83,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "HTTP/{{ test_host }}"
|
name: "HTTP/{{ test_host }}"
|
||||||
certificate:
|
certificate:
|
||||||
- MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
- "{{ lookup('file', 'cert1.b64') }}"
|
||||||
pac_type:
|
pac_type:
|
||||||
- MS_PAC
|
- MS_PAC
|
||||||
- PAD
|
- PAD
|
||||||
@@ -120,7 +108,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "HTTP/{{ test_host }}"
|
name: "HTTP/{{ test_host }}"
|
||||||
certificate:
|
certificate:
|
||||||
- MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
- "{{ lookup('file', 'cert1.b64') }}"
|
||||||
action: member
|
action: member
|
||||||
state: present
|
state: present
|
||||||
register: result
|
register: result
|
||||||
@@ -131,7 +119,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "HTTP/{{ test_host }}"
|
name: "HTTP/{{ test_host }}"
|
||||||
certificate:
|
certificate:
|
||||||
- MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
- "{{ lookup('file', 'cert1.b64') }}"
|
||||||
action: member
|
action: member
|
||||||
state: present
|
state: present
|
||||||
register: result
|
register: result
|
||||||
@@ -142,8 +130,8 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "HTTP/{{ test_host }}"
|
name: "HTTP/{{ test_host }}"
|
||||||
certificate:
|
certificate:
|
||||||
- MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
- "{{ lookup('file', 'cert1.b64') }}"
|
||||||
- MIIC/zCCAeegAwIBAgIURhps6LEteMDCdBrlVkWe4cgSh0YwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQyNDBaFw0zMDAyMDExNDQyNDBaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4W56H0VraEKGlCxSTS2PqnaD11shMjruexmholmTEtYPePPnQHpwiiZlgK7CPBIOdCn4hHH+hXQDg/TJRMjrde1VzD0pFRBUq6H25sy8oOlfD0bDXkncWn82SOJu2UJHeL7htQLRxW14VIAO2YO9zaXdophy6/csTAkFq1ls/vTBp73pnnYp8D7TgzBB6bb95OZBSHeCzPIH2FSCJ/W0j6bHw4i7uHu/jWx0o0LR152fSFFwk0Wrmp8HHb2083OlnSBgTM+BZDg9rB7jpLCsIGHWXbjG36jmRaZu5z4vq2FNomJ8PXkX7mwUfaft6z+px7UlhrwUxEVWIXOoUBYcJAgMBAAGjUzBRMB0GA1UdDgQWBBTttCQn5UaQi+N5WRnA7ZTQlkVfRTAfBgNVHSMEGDAWgBTttCQn5UaQi+N5WRnA7ZTQlkVfRTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBW3vRR5wEDztuLVrcQDojn1XB24OOqn4C6OJyz3FUxd4MQA8J2vKN4P2QXhY0oYsauFKhR5xfOaDUcK2TukAtFz1mxqm1ygUVQHbrs8lBeIi4hoMc76ODJ/V9GNY7N/y/5xtD7XlyTVT2tb6tc6tmv8e4497PTPspuHp9YbbvzdSI12JENDW4hKCOpR/Uv7mRcCT+c2iMJdUL3f3YOFsGBbxVdTPmuhL4My8qR/CtCNpN0gBsaxUKFAP+/1AvFbFDChFVDEEdD8PLznH5x8HLmA9/K5x/cXbgqESUqK13P53f1XYOfggKb1f7yqBAZRnTY82+k9Kn9qWOcnyxSuUtZ
|
- "{{ lookup('file', 'cert2.b64') }}"
|
||||||
action: member
|
action: member
|
||||||
state: present
|
state: present
|
||||||
register: result
|
register: result
|
||||||
@@ -154,7 +142,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "HTTP/{{ test_host }}"
|
name: "HTTP/{{ test_host }}"
|
||||||
certificate:
|
certificate:
|
||||||
- MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
- "{{ lookup('file', 'cert1.b64') }}"
|
||||||
action: member
|
action: member
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
@@ -165,7 +153,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "HTTP/{{ test_host }}"
|
name: "HTTP/{{ test_host }}"
|
||||||
certificate:
|
certificate:
|
||||||
- MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
- "{{ lookup('file', 'cert1.b64') }}"
|
||||||
action: member
|
action: member
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
@@ -176,8 +164,8 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "HTTP/{{ test_host }}"
|
name: "HTTP/{{ test_host }}"
|
||||||
certificate:
|
certificate:
|
||||||
- MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
- "{{ lookup('file', 'cert1.b64') }}"
|
||||||
- MIIC/zCCAeegAwIBAgIURhps6LEteMDCdBrlVkWe4cgSh0YwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQyNDBaFw0zMDAyMDExNDQyNDBaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC4W56H0VraEKGlCxSTS2PqnaD11shMjruexmholmTEtYPePPnQHpwiiZlgK7CPBIOdCn4hHH+hXQDg/TJRMjrde1VzD0pFRBUq6H25sy8oOlfD0bDXkncWn82SOJu2UJHeL7htQLRxW14VIAO2YO9zaXdophy6/csTAkFq1ls/vTBp73pnnYp8D7TgzBB6bb95OZBSHeCzPIH2FSCJ/W0j6bHw4i7uHu/jWx0o0LR152fSFFwk0Wrmp8HHb2083OlnSBgTM+BZDg9rB7jpLCsIGHWXbjG36jmRaZu5z4vq2FNomJ8PXkX7mwUfaft6z+px7UlhrwUxEVWIXOoUBYcJAgMBAAGjUzBRMB0GA1UdDgQWBBTttCQn5UaQi+N5WRnA7ZTQlkVfRTAfBgNVHSMEGDAWgBTttCQn5UaQi+N5WRnA7ZTQlkVfRTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQBW3vRR5wEDztuLVrcQDojn1XB24OOqn4C6OJyz3FUxd4MQA8J2vKN4P2QXhY0oYsauFKhR5xfOaDUcK2TukAtFz1mxqm1ygUVQHbrs8lBeIi4hoMc76ODJ/V9GNY7N/y/5xtD7XlyTVT2tb6tc6tmv8e4497PTPspuHp9YbbvzdSI12JENDW4hKCOpR/Uv7mRcCT+c2iMJdUL3f3YOFsGBbxVdTPmuhL4My8qR/CtCNpN0gBsaxUKFAP+/1AvFbFDChFVDEEdD8PLznH5x8HLmA9/K5x/cXbgqESUqK13P53f1XYOfggKb1f7yqBAZRnTY82+k9Kn9qWOcnyxSuUtZ
|
- "{{ lookup('file', 'cert2.b64') }}"
|
||||||
action: member
|
action: member
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
@@ -188,7 +176,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "HTTP/{{ test_host }}"
|
name: "HTTP/{{ test_host }}"
|
||||||
certificate:
|
certificate:
|
||||||
- MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
- "{{ lookup('file', 'cert1.b64') }}"
|
||||||
action: member
|
action: member
|
||||||
state: present
|
state: present
|
||||||
register: result
|
register: result
|
||||||
@@ -223,3 +211,12 @@
|
|||||||
name: "{{ test_host }}"
|
name: "{{ test_host }}"
|
||||||
update_dns: yes
|
update_dns: yes
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
|
- name: Remove certificate files.
|
||||||
|
shell:
|
||||||
|
cmd: rm -f "private{{ item }}.key" "cert{{ item }}.pem" "cert{{ item }}.der" "cert{{ item }}.b64"
|
||||||
|
with_items: [1, 2]
|
||||||
|
become: no
|
||||||
|
delegate_to: localhost
|
||||||
|
args:
|
||||||
|
warn: no # suppres warning for not using the `file` module.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
- name: Get Domain from server name
|
- name: Get Domain from server name
|
||||||
set_fact:
|
set_fact:
|
||||||
test_domain: "{{ ansible_fqdn.split('.')[1:] | join('.') }}"
|
test_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join('.') }}"
|
||||||
|
|
||||||
- name: Set host1, host2 and svc hosts fqdn
|
- name: Set host1, host2 and svc hosts fqdn
|
||||||
set_fact:
|
set_fact:
|
||||||
@@ -12,4 +12,4 @@
|
|||||||
|
|
||||||
- name: Get IPv4 address prefix from server node
|
- name: Get IPv4 address prefix from server node
|
||||||
set_fact:
|
set_fact:
|
||||||
ipv4_prefix: "{{ ansible_default_ipv4.address.split('.')[:-1] | join('.') }}"
|
ipv4_prefix: "{{ ansible_facts['default_ipv4'].address.split('.')[:-1] | join('.') }}"
|
||||||
|
|||||||
@@ -16,68 +16,78 @@
|
|||||||
- name: Get Kerberos ticket for `admin`.
|
- name: Get Kerberos ticket for `admin`.
|
||||||
shell: echo SomeADMINpassword | kinit -c ${KRB5CCNAME} admin
|
shell: echo SomeADMINpassword | kinit -c ${KRB5CCNAME} admin
|
||||||
|
|
||||||
|
- name: Generate self-signed certificates.
|
||||||
|
shell:
|
||||||
|
cmd: |
|
||||||
|
openssl req -x509 -newkey rsa:2048 -days 365 -nodes -keyout "private{{ item }}.key" -out "cert{{ item }}.pem" -subj '/CN=test'
|
||||||
|
openssl x509 -outform der -in "cert{{ item }}.pem" -out "cert{{ item }}.der"
|
||||||
|
base64 "cert{{ item }}.der" -w5000 > "cert{{ item }}.b64"
|
||||||
|
with_items: [1]
|
||||||
|
become: no
|
||||||
|
delegate_to: localhost
|
||||||
|
|
||||||
- name: Ensure service is absent
|
- name: Ensure service is absent
|
||||||
ipaservice:
|
ipaservice:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "mysvc1/{{ ansible_fqdn }}"
|
name: "mysvc1/{{ ansible_facts['fqdn'] }}"
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Ensure service is present
|
- name: Ensure service is present
|
||||||
ipaservice:
|
ipaservice:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "mysvc1/{{ ansible_fqdn }}"
|
name: "mysvc1/{{ ansible_facts['fqdn'] }}"
|
||||||
certificate:
|
certificate:
|
||||||
- MIIC/zCCAeegAwIBAgIUMNHIbn+hhrOVew/2WbkteisV29QwDQYJKoZIhvcNAQELBQAwDzENMAsGA1UEAwwEdGVzdDAeFw0yMDAyMDQxNDQxMDhaFw0zMDAyMDExNDQxMDhaMA8xDTALBgNVBAMMBHRlc3QwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC+XVVGFYpHVkcDfVnNInE1Y/pFciegdzqTjMwUWlRL4Zt3u96GhaMLRbtk+OfEkzLUAhWBOwEraELJzMLJOMvjYF3C+TiGO7dStFLikZmccuSsSIXjnzIPwBXa8KvgRVRyGLoVvGbLJvmjfMXp0nIToTx/i74KF9S++WEes9H5ErJ99CDhLKFgq0amnvsgparYXhypHaRLnikn0vQINt55YoEd1s4KrvEcD2VdZkIMPbLRu2zFvMprF3cjQQG4LT9ggfEXNIPZ1nQWAnAsu7OJEkNF+E4Mkmpcxj9aGUVt5bsq1D+Tzj3GsidSX0nSNcZ2JltXRnL/5v63g5cZyE+nAgMBAAGjUzBRMB0GA1UdDgQWBBRV0j7JYukuH/r/t9+QeNlRLXDlEDAfBgNVHSMEGDAWgBRV0j7JYukuH/r/t9+QeNlRLXDlEDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCgVy1+1kNwHs5y1Zp0WjMWGCJC6/zw7FDG4OW5r2GJiCXZYdJ0UonY9ZtoVLJPrp2/DAv1m5DtnDhBYqicuPgLzEkOS1KdTi20Otm/J4yxLLrZC5W4x0XOeSVPXOJuQWfwQ5pPvKkn6WxYUYkGwIt1OH2nSMngkbami3CbSmKZOCpgQIiSlQeDJ8oGjWFMLDymYSHoVOIXHwNoooyEiaio3693l6noobyGv49zyCVLVR1DC7i6RJ186ql0av+D4vPoiF5mX7+sKC2E8xEj9uKQ5GTWRh59VnRBVC/SiMJ/H78tJnBAvoBwXxSEvj8Z3Kjm/BQqZfv4IBsA5yqV7MVq
|
- "{{ lookup('file', 'cert1.b64', rstrip=False) }}"
|
||||||
force: no
|
force: no
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
|
|
||||||
- name: Obtain keytab
|
- name: Obtain keytab
|
||||||
shell: ipa-getkeytab -s "{{ ansible_fqdn }}" -p "mysvc1/{{ ansible_fqdn }}" -k mysvc1.keytab
|
shell: ipa-getkeytab -s "{{ ansible_facts['fqdn'] }}" -p "mysvc1/{{ ansible_facts['fqdn'] }}" -k mysvc1.keytab
|
||||||
|
|
||||||
- name: Verify keytab
|
- name: Verify keytab
|
||||||
shell: ipa service-find "mysvc1/{{ ansible_fqdn }}"
|
shell: ipa service-find "mysvc1/{{ ansible_facts['fqdn'] }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or result.stdout | regex_search(" Keytab. true")
|
failed_when: result.failed or result.stdout | regex_search(" Keytab. true")
|
||||||
|
|
||||||
- name: Ensure service is disabled
|
- name: Ensure service is disabled
|
||||||
ipaservice:
|
ipaservice:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "mysvc1/{{ ansible_fqdn }}"
|
name: "mysvc1/{{ ansible_facts['fqdn'] }}"
|
||||||
state: disabled
|
state: disabled
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
|
|
||||||
- name: Verify keytab
|
- name: Verify keytab
|
||||||
shell: ipa service-find "mysvc1/{{ ansible_fqdn }}"
|
shell: ipa service-find "mysvc1/{{ ansible_facts['fqdn'] }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or result.stdout | regex_search(" Keytab. true")
|
failed_when: result.failed or result.stdout | regex_search(" Keytab. true")
|
||||||
|
|
||||||
- name: Obtain keytab
|
- name: Obtain keytab
|
||||||
shell: ipa-getkeytab -s "{{ ansible_fqdn }}" -p "mysvc1/{{ ansible_fqdn }}" -k mysvc1.keytab
|
shell: ipa-getkeytab -s "{{ ansible_facts['fqdn'] }}" -p "mysvc1/{{ ansible_facts['fqdn'] }}" -k mysvc1.keytab
|
||||||
|
|
||||||
- name: Verify keytab
|
- name: Verify keytab
|
||||||
shell: ipa service-find "mysvc1/{{ ansible_fqdn }}"
|
shell: ipa service-find "mysvc1/{{ ansible_facts['fqdn'] }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or result.stdout | regex_search(" Keytab. true")
|
failed_when: result.failed or result.stdout | regex_search(" Keytab. true")
|
||||||
|
|
||||||
- name: Ensure service is disabled
|
- name: Ensure service is disabled
|
||||||
ipaservice:
|
ipaservice:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "mysvc1/{{ ansible_fqdn }}"
|
name: "mysvc1/{{ ansible_facts['fqdn'] }}"
|
||||||
state: disabled
|
state: disabled
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
|
|
||||||
- name: Verify keytab
|
- name: Verify keytab
|
||||||
shell: ipa service-find "mysvc1/{{ ansible_fqdn }}"
|
shell: ipa service-find "mysvc1/{{ ansible_facts['fqdn'] }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or result.stdout | regex_search(" Keytab. true")
|
failed_when: result.failed or result.stdout | regex_search(" Keytab. true")
|
||||||
|
|
||||||
- name: Ensure service is disabled, with no keytab.
|
- name: Ensure service is disabled, with no keytab.
|
||||||
ipaservice:
|
ipaservice:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "mysvc1/{{ ansible_fqdn }}"
|
name: "mysvc1/{{ ansible_facts['fqdn'] }}"
|
||||||
state: disabled
|
state: disabled
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed
|
failed_when: result.changed
|
||||||
@@ -85,7 +95,16 @@
|
|||||||
- name: Ensure service is absent
|
- name: Ensure service is absent
|
||||||
ipaservice:
|
ipaservice:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "mysvc1/{{ ansible_fqdn }}"
|
name: "mysvc1/{{ ansible_facts['fqdn'] }}"
|
||||||
|
|
||||||
- name: Destroy Kerberos tickets.
|
- name: Destroy Kerberos tickets.
|
||||||
shell: kdestroy -A -q -c ${KRB5CCNAME}
|
shell: kdestroy -A -q -c ${KRB5CCNAME}
|
||||||
|
|
||||||
|
- name: Remove certificate files.
|
||||||
|
shell:
|
||||||
|
cmd: rm -f "private{{ item }}.key" "cert{{ item }}.pem" "cert{{ item }}.der" "cert{{ item }}.b64"
|
||||||
|
with_items: [1]
|
||||||
|
become: no
|
||||||
|
delegate_to: localhost
|
||||||
|
args:
|
||||||
|
warn: no # suppres warning for not using the `file` module.
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
ipahostgroup:
|
ipahostgroup:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: cluster
|
name: cluster
|
||||||
host: "{{ ansible_fqdn }}"
|
host: "{{ ansible_facts['fqdn'] }}"
|
||||||
|
|
||||||
- name: Ensure some sudocmds are available
|
- name: Ensure some sudocmds are available
|
||||||
ipasudocmd:
|
ipasudocmd:
|
||||||
@@ -500,20 +500,20 @@
|
|||||||
register: result
|
register: result
|
||||||
failed_when: result.changed
|
failed_when: result.changed
|
||||||
|
|
||||||
- name: Ensure host "{{ ansible_fqdn }}" is present in sudorule.
|
- name: Ensure host "{{ ansible_facts['fqdn'] }}" is present in sudorule.
|
||||||
ipasudorule:
|
ipasudorule:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: testrule1
|
name: testrule1
|
||||||
host: "{{ ansible_fqdn }}"
|
host: "{{ ansible_facts['fqdn'] }}"
|
||||||
action: member
|
action: member
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
|
|
||||||
- name: Ensure host "{{ ansible_fqdn }}" is present in sudorule, again.
|
- name: Ensure host "{{ ansible_facts['fqdn'] }}" is present in sudorule, again.
|
||||||
ipasudorule:
|
ipasudorule:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: testrule1
|
name: testrule1
|
||||||
host: "{{ ansible_fqdn }}"
|
host: "{{ ansible_facts['fqdn'] }}"
|
||||||
action: member
|
action: member
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed
|
failed_when: result.changed
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
tasks:
|
tasks:
|
||||||
- name: Get Domain from the server name
|
- name: Get Domain from the server name
|
||||||
set_fact:
|
set_fact:
|
||||||
ipaserver_domain: "{{ ansible_fqdn.split('.')[1:] | join ('.') }}"
|
ipaserver_domain: "{{ ansible_facts['fqdn'].split('.')[1:] | join ('.') }}"
|
||||||
|
|
||||||
- name: Ensure sudorules are absent
|
- name: Ensure sudorules are absent
|
||||||
ipasudorule:
|
ipasudorule:
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
- name: Remove files from target host.
|
- name: Remove files from target host.
|
||||||
file:
|
file:
|
||||||
path: "{{ ansible_env.HOME }}/{{ item }}"
|
path: "{{ ansible_facts['env'].HOME }}/{{ item }}"
|
||||||
state: absent
|
state: absent
|
||||||
with_items:
|
with_items:
|
||||||
- A_private.pem
|
- A_private.pem
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
- name: Copy files to target host.
|
- name: Copy files to target host.
|
||||||
copy:
|
copy:
|
||||||
src: "{{ playbook_dir }}/{{ item }}"
|
src: "{{ playbook_dir }}/{{ item }}"
|
||||||
dest: "{{ ansible_env.HOME }}/{{ item }}"
|
dest: "{{ ansible_facts['env'].HOME }}/{{ item }}"
|
||||||
with_items:
|
with_items:
|
||||||
- A_private.pem
|
- A_private.pem
|
||||||
- A_public.pem
|
- A_public.pem
|
||||||
|
|||||||
@@ -151,7 +151,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{vault.name}}"
|
name: "{{vault.name}}"
|
||||||
action: member
|
action: member
|
||||||
services: "HTTP/{{ ansible_fqdn }}"
|
services: "HTTP/{{ ansible_facts['fqdn'] }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
|
|
||||||
@@ -160,7 +160,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{vault.name}}"
|
name: "{{vault.name}}"
|
||||||
action: member
|
action: member
|
||||||
services: "HTTP/{{ ansible_fqdn }}"
|
services: "HTTP/{{ ansible_facts['fqdn'] }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed
|
failed_when: result.changed
|
||||||
|
|
||||||
@@ -169,7 +169,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{vault.name}}"
|
name: "{{vault.name}}"
|
||||||
action: member
|
action: member
|
||||||
services: "HTTP/{{ ansible_fqdn }}"
|
services: "HTTP/{{ ansible_facts['fqdn'] }}"
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
@@ -179,7 +179,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{vault.name}}"
|
name: "{{vault.name}}"
|
||||||
action: member
|
action: member
|
||||||
services: "HTTP/{{ ansible_fqdn }}"
|
services: "HTTP/{{ ansible_facts['fqdn'] }}"
|
||||||
state: absent
|
state: absent
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed
|
failed_when: result.changed
|
||||||
@@ -264,7 +264,7 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{vault.name}}"
|
name: "{{vault.name}}"
|
||||||
ownerservices: "HTTP/{{ ansible_fqdn }}"
|
ownerservices: "HTTP/{{ ansible_facts['fqdn'] }}"
|
||||||
action: member
|
action: member
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
@@ -273,7 +273,7 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{vault.name}}"
|
name: "{{vault.name}}"
|
||||||
ownerservices: "HTTP/{{ ansible_fqdn }}"
|
ownerservices: "HTTP/{{ ansible_facts['fqdn'] }}"
|
||||||
action: member
|
action: member
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed
|
failed_when: result.changed
|
||||||
@@ -282,7 +282,7 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{vault.name}}"
|
name: "{{vault.name}}"
|
||||||
ownerservices: "HTTP/{{ ansible_fqdn }}"
|
ownerservices: "HTTP/{{ ansible_facts['fqdn'] }}"
|
||||||
state: absent
|
state: absent
|
||||||
action: member
|
action: member
|
||||||
register: result
|
register: result
|
||||||
@@ -292,7 +292,7 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: "{{vault.name}}"
|
name: "{{vault.name}}"
|
||||||
ownerservices: "HTTP/{{ ansible_fqdn }}"
|
ownerservices: "HTTP/{{ ansible_facts['fqdn'] }}"
|
||||||
state: absent
|
state: absent
|
||||||
action: member
|
action: member
|
||||||
register: result
|
register: result
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: asymvault
|
name: asymvault
|
||||||
vault_type: asymmetric
|
vault_type: asymmetric
|
||||||
public_key_file: "{{ ansible_env.HOME }}/A_public.pem"
|
public_key_file: "{{ ansible_facts['env'].HOME }}/A_public.pem"
|
||||||
private_key: "{{ lookup('file', 'B_private.b64') }}"
|
private_key: "{{ lookup('file', 'B_private.b64') }}"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or not result.changed
|
failed_when: result.failed or not result.changed
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: asymvault
|
name: asymvault
|
||||||
private_key_file: "{{ ansible_env.HOME }}/A_private.pem"
|
private_key_file: "{{ ansible_facts['env'].HOME }}/A_private.pem"
|
||||||
state: retrieved
|
state: retrieved
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or result.changed or result.vault.data != 'SomeValue'
|
failed_when: result.failed or result.changed or result.vault.data != 'SomeValue'
|
||||||
@@ -87,8 +87,8 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: asymvault
|
name: asymvault
|
||||||
vault_type: asymmetric
|
vault_type: asymmetric
|
||||||
public_key_file: "{{ ansible_env.HOME }}/B_public.pem"
|
public_key_file: "{{ ansible_facts['env'].HOME }}/B_public.pem"
|
||||||
private_key_file: "{{ ansible_env.HOME }}/A_private.pem"
|
private_key_file: "{{ ansible_facts['env'].HOME }}/A_private.pem"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or not result.changed
|
failed_when: result.failed or not result.changed
|
||||||
|
|
||||||
@@ -115,8 +115,8 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: asymvault
|
name: asymvault
|
||||||
public_key_file: "{{ ansible_env.HOME }}/B_public.pem"
|
public_key_file: "{{ ansible_facts['env'].HOME }}/B_public.pem"
|
||||||
private_key_file: "{{ ansible_env.HOME }}/A_private.pem"
|
private_key_file: "{{ ansible_facts['env'].HOME }}/A_private.pem"
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or not result.changed
|
failed_when: result.failed or not result.changed
|
||||||
|
|
||||||
@@ -154,11 +154,11 @@
|
|||||||
register: result
|
register: result
|
||||||
failed_when: result.vault.data != 'Hello World.' or result.changed
|
failed_when: result.vault.data != 'Hello World.' or result.changed
|
||||||
|
|
||||||
- name: Retrieve data from asymmetric vault into file {{ ansible_env.HOME }}/data.txt.
|
- name: Retrieve data from asymmetric vault into file {{ ansible_facts['env'].HOME }}/data.txt.
|
||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: asymvault
|
name: asymvault
|
||||||
out: "{{ ansible_env.HOME }}/data.txt"
|
out: "{{ ansible_facts['env'].HOME }}/data.txt"
|
||||||
private_key: "{{ lookup('file', 'B_private.b64') }}"
|
private_key: "{{ lookup('file', 'B_private.b64') }}"
|
||||||
state: retrieved
|
state: retrieved
|
||||||
register: result
|
register: result
|
||||||
@@ -166,7 +166,7 @@
|
|||||||
|
|
||||||
- name: Verify retrieved data.
|
- name: Verify retrieved data.
|
||||||
slurp:
|
slurp:
|
||||||
src: "{{ ansible_env.HOME }}/data.txt"
|
src: "{{ ansible_facts['env'].HOME }}/data.txt"
|
||||||
register: slurpfile
|
register: slurpfile
|
||||||
failed_when: slurpfile['content'] | b64decode != 'Hello World.'
|
failed_when: slurpfile['content'] | b64decode != 'Hello World.'
|
||||||
|
|
||||||
@@ -192,7 +192,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: asymvault
|
name: asymvault
|
||||||
vault_type: asymmetric
|
vault_type: asymmetric
|
||||||
in: "{{ ansible_env.HOME }}/in.txt"
|
in: "{{ ansible_facts['env'].HOME }}/in.txt"
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
|
|
||||||
@@ -242,7 +242,7 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: asymvault
|
name: asymvault
|
||||||
public_key_file: "{{ ansible_env.HOME }}/B_public.pem"
|
public_key_file: "{{ ansible_facts['env'].HOME }}/B_public.pem"
|
||||||
vault_type: asymmetric
|
vault_type: asymmetric
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
@@ -251,7 +251,7 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: asymvault
|
name: asymvault
|
||||||
public_key_file: "{{ ansible_env.HOME }}/B_public.pem"
|
public_key_file: "{{ ansible_facts['env'].HOME }}/B_public.pem"
|
||||||
vault_type: asymmetric
|
vault_type: asymmetric
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed
|
failed_when: result.changed
|
||||||
@@ -277,7 +277,7 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: asymvault
|
name: asymvault
|
||||||
private_key_file: "{{ ansible_env.HOME }}/B_private.pem"
|
private_key_file: "{{ ansible_facts['env'].HOME }}/B_private.pem"
|
||||||
state: retrieved
|
state: retrieved
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.vault.data != 'Hello World.' or result.changed
|
failed_when: result.vault.data != 'Hello World.' or result.changed
|
||||||
|
|||||||
@@ -57,18 +57,18 @@
|
|||||||
register: result
|
register: result
|
||||||
failed_when: result.vault.data != 'Hello World.' or result.changed
|
failed_when: result.vault.data != 'Hello World.' or result.changed
|
||||||
|
|
||||||
- name: Retrieve data from standard vault into file {{ ansible_env.HOME }}/data.txt.
|
- name: Retrieve data from standard vault into file {{ ansible_facts['env'].HOME }}/data.txt.
|
||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: stdvault
|
name: stdvault
|
||||||
out: "{{ ansible_env.HOME }}/data.txt"
|
out: "{{ ansible_facts['env'].HOME }}/data.txt"
|
||||||
state: retrieved
|
state: retrieved
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed or result.failed or (result.vault.data | default(false))
|
failed_when: result.changed or result.failed or (result.vault.data | default(false))
|
||||||
|
|
||||||
- name: Verify retrieved data.
|
- name: Verify retrieved data.
|
||||||
slurp:
|
slurp:
|
||||||
src: "{{ ansible_env.HOME }}/data.txt"
|
src: "{{ ansible_facts['env'].HOME }}/data.txt"
|
||||||
register: slurpfile
|
register: slurpfile
|
||||||
failed_when: slurpfile['content'] | b64decode != 'Hello World.'
|
failed_when: slurpfile['content'] | b64decode != 'Hello World.'
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: stdvault
|
name: stdvault
|
||||||
vault_type: standard
|
vault_type: standard
|
||||||
in: "{{ ansible_env.HOME }}/in.txt"
|
in: "{{ ansible_facts['env'].HOME }}/in.txt"
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed
|
failed_when: not result.changed
|
||||||
|
|
||||||
|
|||||||
@@ -63,19 +63,19 @@
|
|||||||
register: result
|
register: result
|
||||||
failed_when: result.changed or result.failed or result.vault.data != 'Hello World.'
|
failed_when: result.changed or result.failed or result.vault.data != 'Hello World.'
|
||||||
|
|
||||||
- name: Retrieve data from symmetric vault into file {{ ansible_env.HOME }}/data.txt.
|
- name: Retrieve data from symmetric vault into file {{ ansible_facts['env'].HOME }}/data.txt.
|
||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: symvault
|
name: symvault
|
||||||
password: SomeVAULTpassword
|
password: SomeVAULTpassword
|
||||||
out: "{{ ansible_env.HOME }}/data.txt"
|
out: "{{ ansible_facts['env'].HOME }}/data.txt"
|
||||||
state: retrieved
|
state: retrieved
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.changed or result.failed or (result.vault.data | default(false))
|
failed_when: result.changed or result.failed or (result.vault.data | default(false))
|
||||||
|
|
||||||
- name: Verify retrieved data.
|
- name: Verify retrieved data.
|
||||||
slurp:
|
slurp:
|
||||||
src: "{{ ansible_env.HOME }}/data.txt"
|
src: "{{ ansible_facts['env'].HOME }}/data.txt"
|
||||||
register: slurpfile
|
register: slurpfile
|
||||||
failed_when: slurpfile['content'] | b64decode != 'Hello World.'
|
failed_when: slurpfile['content'] | b64decode != 'Hello World.'
|
||||||
|
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: symvault
|
name: symvault
|
||||||
in: "{{ ansible_env.HOME }}/in.txt"
|
in: "{{ ansible_facts['env'].HOME }}/in.txt"
|
||||||
password: SomeVAULTpassword
|
password: SomeVAULTpassword
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or not result.changed
|
failed_when: result.failed or not result.changed
|
||||||
@@ -154,7 +154,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: symvault
|
name: symvault
|
||||||
username: user01
|
username: user01
|
||||||
password_file: "{{ ansible_env.HOME }}/password.txt"
|
password_file: "{{ ansible_facts['env'].HOME }}/password.txt"
|
||||||
vault_type: symmetric
|
vault_type: symmetric
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or not result.changed
|
failed_when: result.failed or not result.changed
|
||||||
@@ -164,7 +164,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: symvault
|
name: symvault
|
||||||
username: user01
|
username: user01
|
||||||
password_file: "{{ ansible_env.HOME }}/password.txt"
|
password_file: "{{ ansible_facts['env'].HOME }}/password.txt"
|
||||||
vault_type: symmetric
|
vault_type: symmetric
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or result.changed
|
failed_when: result.failed or result.changed
|
||||||
@@ -191,7 +191,7 @@
|
|||||||
ipavault:
|
ipavault:
|
||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: symvault
|
name: symvault
|
||||||
password_file: "{{ ansible_env.HOME }}/password.txt"
|
password_file: "{{ ansible_facts['env'].HOME }}/password.txt"
|
||||||
state: retrieved
|
state: retrieved
|
||||||
register: result
|
register: result
|
||||||
failed_when: result.failed or result.changed or result.vault.data != 'Hello World.'
|
failed_when: result.failed or result.changed or result.vault.data != 'Hello World.'
|
||||||
@@ -328,7 +328,7 @@
|
|||||||
ipaadmin_password: SomeADMINpassword
|
ipaadmin_password: SomeADMINpassword
|
||||||
name: symvault
|
name: symvault
|
||||||
password: APasswordToChange
|
password: APasswordToChange
|
||||||
new_password_file: "{{ ansible_env.HOME }}/password.txt"
|
new_password_file: "{{ ansible_facts['env'].HOME }}/password.txt"
|
||||||
vault_type: symmetric
|
vault_type: symmetric
|
||||||
register: result
|
register: result
|
||||||
failed_when: not result.changed or result.failed
|
failed_when: not result.changed or result.failed
|
||||||
|
|||||||
Reference in New Issue
Block a user