From f7bcc11eecf16a3565286ea3ae95bbd679fa6135 Mon Sep 17 00:00:00 2001
From: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
Date: Tue, 2 Apr 2019 15:39:25 +0200
Subject: Molecule tests for chrony role

Change-Id: I2cfee4ef44b1aa0ddff0b5d93712390988846c90
Issue-ID: OOM-1710
Signed-off-by: Bartek Grzybowski <b.grzybowski@partner.samsung.com>
---
 ansible/roles/chrony/.yamllint                     | 11 ++++++
 ansible/roles/chrony/defaults/main.yml             |  8 ++---
 ansible/roles/chrony/molecule/default/molecule.yml | 38 +++++++++++++++++++++
 ansible/roles/chrony/molecule/default/playbook.yml | 10 ++++++
 ansible/roles/chrony/molecule/default/prepare.yml  |  6 ++++
 ansible/roles/chrony/molecule/ubuntu/molecule.yml  | 39 ++++++++++++++++++++++
 6 files changed, 108 insertions(+), 4 deletions(-)
 create mode 100644 ansible/roles/chrony/.yamllint
 create mode 100644 ansible/roles/chrony/molecule/default/molecule.yml
 create mode 100644 ansible/roles/chrony/molecule/default/playbook.yml
 create mode 100644 ansible/roles/chrony/molecule/default/prepare.yml
 create mode 100644 ansible/roles/chrony/molecule/ubuntu/molecule.yml

(limited to 'ansible/roles')

diff --git a/ansible/roles/chrony/.yamllint b/ansible/roles/chrony/.yamllint
new file mode 100644
index 00000000..ad0be760
--- /dev/null
+++ b/ansible/roles/chrony/.yamllint
@@ -0,0 +1,11 @@
+extends: default
+
+rules:
+  braces:
+    max-spaces-inside: 1
+    level: error
+  brackets:
+    max-spaces-inside: 1
+    level: error
+  line-length: disable
+  truthy: disable
diff --git a/ansible/roles/chrony/defaults/main.yml b/ansible/roles/chrony/defaults/main.yml
index af433dac..2dee84ef 100644
--- a/ansible/roles/chrony/defaults/main.yml
+++ b/ansible/roles/chrony/defaults/main.yml
@@ -1,11 +1,11 @@
 ---
 timesync: {}
 chrony:
-  servers: "{{ timesync.servers | default([hostvars[groups.infrastructure[0]].cluster_ip]) }}" # chronyd's NTP servers
-  slewclock: "{{ timesync.slewclock | default(false) }}" # chronyd's makestep property
-  timezone: "{{ timesync.timezone | default('Universal') }}" # Timezone name according to tz database
+  servers: "{{ timesync.servers | default([hostvars[groups.infrastructure[0]].cluster_ip]) }}"  # chronyd's NTP servers
+  slewclock: "{{ timesync.slewclock | default(false) }}"  # chronyd's makestep property
+  timezone: "{{ timesync.timezone | default('Universal') }}"  # Timezone name according to tz database
   makestep: '1 -1'
-  maxjitter: 10 # Max allowed jitter if using infra as time source as it may by unstable due to pretending stratum 1 time source
+  maxjitter: 10  # Max allowed jitter if using infra as time source as it may by unstable due to pretending stratum 1 time source
   initstepslew: 30
   conf:
     RedHat:
diff --git a/ansible/roles/chrony/molecule/default/molecule.yml b/ansible/roles/chrony/molecule/default/molecule.yml
new file mode 100644
index 00000000..a5b48674
--- /dev/null
+++ b/ansible/roles/chrony/molecule/default/molecule.yml
@@ -0,0 +1,38 @@
+---
+dependency:
+  name: galaxy
+driver:
+  name: docker
+lint:
+  name: yamllint
+platforms:
+  - name: infra_host
+    image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.6}
+    pre_build_image: True
+    privileged: true
+    volume_mounts:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+    override_command: False
+    groups:
+      - infrastructure
+  - name: node0
+    image: molecule-${PREBUILD_PLATFORM_DISTRO:-centos}:${PREBUILD_DISTRO_VERSION:-centos7.6}
+    pre_build_image: True
+    privileged: true
+    volume_mounts:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+    override_command: False
+    groups:
+      - kubernetes
+provisioner:
+  name: ansible
+  lint:
+    name: ansible-lint
+  env:
+    ANSIBLE_ROLES_PATH: ../../../../test/roles
+verifier:
+  name: testinfra
+  lint:
+    name: flake8
+  options:
+    v: 1
diff --git a/ansible/roles/chrony/molecule/default/playbook.yml b/ansible/roles/chrony/molecule/default/playbook.yml
new file mode 100644
index 00000000..7dccfc35
--- /dev/null
+++ b/ansible/roles/chrony/molecule/default/playbook.yml
@@ -0,0 +1,10 @@
+---
+- name: Converge infrastructure hosts
+  hosts: infrastructure
+  roles:
+    - chrony
+
+- name: Converge kubernetes hosts
+  hosts: kubernetes
+  roles:
+    - chrony
diff --git a/ansible/roles/chrony/molecule/default/prepare.yml b/ansible/roles/chrony/molecule/default/prepare.yml
new file mode 100644
index 00000000..73582dd3
--- /dev/null
+++ b/ansible/roles/chrony/molecule/default/prepare.yml
@@ -0,0 +1,6 @@
+---
+- name: Setup all hosts for playing chrony role
+  hosts: all
+
+  roles:
+    - prepare-chrony
diff --git a/ansible/roles/chrony/molecule/ubuntu/molecule.yml b/ansible/roles/chrony/molecule/ubuntu/molecule.yml
new file mode 100644
index 00000000..dd2b9655
--- /dev/null
+++ b/ansible/roles/chrony/molecule/ubuntu/molecule.yml
@@ -0,0 +1,39 @@
+---
+dependency:
+  name: galaxy
+driver:
+  name: docker
+lint:
+  name: yamllint
+platforms:
+  - name: infra_host-ubuntu
+    image: molecule-${PREBUILD_PLATFORM_DISTRO:-ubuntu}:${PREBUILD_DISTRO_VERSION:-18.04}
+    pre_build_image: True
+    privileged: true
+    volume_mounts:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+    override_command: False
+    groups:
+      - infrastructure
+  - name: node0-ubuntu
+    image: molecule-${PREBUILD_PLATFORM_DISTRO:-ubuntu}:${PREBUILD_DISTRO_VERSION:-18.04}
+    pre_build_image: True
+    privileged: true
+    volume_mounts:
+      - "/sys/fs/cgroup:/sys/fs/cgroup:ro"
+    override_command: False
+    groups:
+      - kubernetes
+provisioner:
+  name: ansible
+  lint:
+    name: ansible-lint
+  env:
+    ANSIBLE_ROLES_PATH: ../../../../test/roles
+  playbooks:
+    prepare: ../default/prepare.yml
+    converge: ../default/playbook.yml
+verifier:
+  name: testinfra
+  lint:
+    name: flake8
-- 
cgit