summaryrefslogtreecommitdiffstats
path: root/playbooks/roles/pre-install
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/roles/pre-install')
-rw-r--r--playbooks/roles/pre-install/molecule/default/converge.yml16
-rw-r--r--playbooks/roles/pre-install/molecule/default/molecule.yml26
-rw-r--r--playbooks/roles/pre-install/molecule/default/tests/test_default.py26
-rw-r--r--playbooks/roles/pre-install/tasks/main.yml20
-rw-r--r--playbooks/roles/pre-install/vars/RedHat.yml14
5 files changed, 102 insertions, 0 deletions
diff --git a/playbooks/roles/pre-install/molecule/default/converge.yml b/playbooks/roles/pre-install/molecule/default/converge.yml
new file mode 100644
index 0000000..c7904cf
--- /dev/null
+++ b/playbooks/roles/pre-install/molecule/default/converge.yml
@@ -0,0 +1,16 @@
+---
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 Samsung Electronics
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+- name: Converge
+ hosts: all
+ gather_facts: true
+ roles:
+ - role: pre-install
+ inventory_path: /home/kuberef/inventory
diff --git a/playbooks/roles/pre-install/molecule/default/molecule.yml b/playbooks/roles/pre-install/molecule/default/molecule.yml
new file mode 100644
index 0000000..a43f45f
--- /dev/null
+++ b/playbooks/roles/pre-install/molecule/default/molecule.yml
@@ -0,0 +1,26 @@
+---
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 Samsung Electronics
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+dependency:
+ name: galaxy
+driver:
+ name: docker
+lint: |
+ set -e
+ yamllint -c ../../../.yamllint .
+ ansible-lint
+platforms:
+ - name: centos_7
+ image: centos:7
+provisioner:
+ name: ansible
+verifier:
+ name: testinfra
+ lint:
+ name: flake8
diff --git a/playbooks/roles/pre-install/molecule/default/tests/test_default.py b/playbooks/roles/pre-install/molecule/default/tests/test_default.py
new file mode 100644
index 0000000..c992994
--- /dev/null
+++ b/playbooks/roles/pre-install/molecule/default/tests/test_default.py
@@ -0,0 +1,26 @@
+# Copyright 2020 Samsung Electronics
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.#
+#
+
+import os
+import pytest
+
+import testinfra.utils.ansible_runner
+
+testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner(
+ os.environ['MOLECULE_INVENTORY_FILE']
+).get_hosts('all')
+def test_requirements_installed(host):
+ for pkg in ["lshw", "pciutils", "ethtool"]:
+ assert host.package(pkg).is_installed
diff --git a/playbooks/roles/pre-install/tasks/main.yml b/playbooks/roles/pre-install/tasks/main.yml
new file mode 100644
index 0000000..db6534d
--- /dev/null
+++ b/playbooks/roles/pre-install/tasks/main.yml
@@ -0,0 +1,20 @@
+---
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 Samsung Electronics
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+- name: Load distro variables
+ include_vars:
+ file: "{{ ansible_os_family }}.yml"
+
+- name: Install BRMA requirements
+ become: true
+ package:
+ name: "{{ item }}"
+ state: present
+ with_items: "{{ bmra_pkgs }}"
diff --git a/playbooks/roles/pre-install/vars/RedHat.yml b/playbooks/roles/pre-install/vars/RedHat.yml
new file mode 100644
index 0000000..5adac50
--- /dev/null
+++ b/playbooks/roles/pre-install/vars/RedHat.yml
@@ -0,0 +1,14 @@
+---
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2020 Samsung Electronics
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+bmra_pkgs:
+ - lshw
+ - pciutils
+ - ethtool