Extending ansible playbooks of ubuntu support.
Creating new test with Ubuntu image for Molecule in nfs role.
Issue-ID: OOM-1671
Signed-off-by: Jan Benedikt <j.benedikt@partner.samsung.com>
Change-Id: Ib1c85e4df7ec2ba547a20684ed5e23e097351df2
nfs_packages:
RedHat:
- nfs-utils
+ Debian:
+ - nfs-common
+ - nfs-kernel-server
nfs_services:
RedHat:
- rpcbind
- nfs-server
+ Debian:
+ - rpcbind
+ - nfs-kernel-server
+nfs_destination:
+ RedHat:
+ - "/etc/exports.d/dockerdata-nfs.exports"
+ Debian:
+ - "/etc/exports"
host_vars: host_vars
lint:
name: ansible-lint
+scenario:
+ name: default
verifier:
name: testinfra
lint:
os.environ['MOLECULE_INVENTORY_FILE']).get_hosts('all')
-@pytest.mark.parametrize('pkg', [
- 'nfs-utils'
+@pytest.mark.parametrize('distro,pkg', [
+ ('centos', 'nfs-utils'),
+ ('ubuntu', 'nfs-common'),
+ ('ubuntu', 'nfs-kernel-server')
])
-def test_pkg(host, pkg):
- package = host.package(pkg)
-
- assert package.is_installed
+def test_pkg(host, distro, pkg):
+ os = host.system_info.distribution
+ if distro == os:
+ package = host.package(pkg)
+ assert package.is_installed
def test_exports(host):
+ os = host.system_info.distribution
+ if (os == "centos"):
+ host_file = "/etc/exports.d/dockerdata-nfs.exports"
+ elif (os == "ubuntu"):
+ host_file = "/etc/exports"
node2_ip = testinfra.get_host("docker://kubernetes-node-2").interface(
"eth0").addresses[0]
- f = host.file("/etc/exports.d/dockerdata-nfs.exports")
+ f = host.file(host_file)
assert f.exists
assert f.content_string == \
"""/dockerdata-nfs """ + node2_ip + """(rw,sync,no_root_squash,no_subtree_check)""" # noqa: E501
--- /dev/null
+---
+dependency:
+ name: galaxy
+driver:
+ name: docker
+lint:
+ name: yamllint
+platforms:
+ - name: kubernetes-node-1
+ image: molecule-${PREBUILD_PLATFORM_DISTRO:-ubuntu}:${PREBUILD_DISTRO_VERSION:-18.04}
+ pre_build_image: true
+ privileged: true
+ command: ${MOLECULE_DOCKER_COMMAND:-""}
+ groups:
+ - kubernetes
+ - nfs-server
+ purge_networks: true
+ networks:
+ - name: nfs-net
+ volumes:
+ - /sys/fs/cgroup:/sys/fs/cgroup:ro
+ - /dockerdata-nfs
+ - name: kubernetes-node-2
+ image: molecule-${PREBUILD_PLATFORM_DISTRO:-ubuntu}:${PREBUILD_DISTRO_VERSION:-18.04}
+ pre_build_image: true
+ privileged: true
+ command: ${MOLECULE_DOCKER_COMMAND:-""}
+ groups:
+ - kubernetes
+ purge_networks: true
+ networks:
+ - name: nfs-net
+ volumes:
+ - /sys/fs/cgroup:/sys/fs/cgroup:ro
+provisioner:
+ name: ansible
+ env:
+ ANSIBLE_ROLES_PATH: "../../../../test/roles"
+ inventory:
+ links:
+ group_vars: ../../../../group_vars
+ host_vars: ../default/host_vars
+ lint:
+ name: ansible-lint
+ playbooks:
+ prepare: ../default/prepare.yml
+ converge: ../default/playbook.yml
+scenario:
+ name: ubuntu
+verifier:
+ name: testinfra
+ lint:
+ name: flake8
+ directory: ../default/tests
- name: Add hosts to exports
template:
src: exports.j2
- dest: /etc/exports.d/dockerdata-nfs.exports
+ dest: "{{ item }}"
+ loop: "{{ nfs_destination[ansible_os_family] }}"
notify:
- reload nfs
when: