summaryrefslogtreecommitdiffstats
path: root/playbooks/roles/pre-install/molecule
diff options
context:
space:
mode:
authorMichael S. Pedersen <michaelx.pedersen@intel.com>2020-10-23 12:24:43 +0000
committerRihab Banday <rihab.banday@ericsson.com>2020-11-13 16:24:54 +0000
commit5d28b70edce08ee912c433386599424f8202f303 (patch)
tree98c1246797f5a03f9417d6e1e6843f5bd90e8e09 /playbooks/roles/pre-install/molecule
parente34b4d93d5e288bdbb5ec798602ea5e8f1bc3985 (diff)
Add support for deploying to Equinix Metal bare-metal servers
Adds an additional hw_config which is simplified (equinix-metal). Adds support for skipping HW provisioning (pre-provisioned through EM). Usage: deploy.sh [k8s] Adds a few new helper functions, and updates existing to support changes. Signed-off-by: Michael S. Pedersen <michaelx.pedersen@intel.com> Signed-off-by: Victor Morales <v.morales@samsung.com> Change-Id: I2f84c662d183ba224e0edd8a218abe8b46c1fe45 Signed-off-by: Victor Morales <v.morales@samsung.com> Reviewed-on: https://gerrit.opnfv.org/gerrit/c/kuberef/+/71301 Tested-by: jenkins-ci <jenkins-opnfv-ci@opnfv.org> Reviewed-by: Rihab Banday <rihab.banday@ericsson.com> Reviewed-by: Victor Morales <chipahuac@hotmail.com>
Diffstat (limited to 'playbooks/roles/pre-install/molecule')
-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
3 files changed, 68 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