Issue #30: Test with Molecule 3.0 alpha.

This commit is contained in:
Jeff Geerling
2020-02-19 11:03:14 -06:00
parent 6d49ef700a
commit eb81891577
21 changed files with 268 additions and 246 deletions

View File

@@ -14,7 +14,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
python_version: ["3.6"] python_version: ['3.6']
steps: steps:
- name: Check out code - name: Check out code
uses: actions/checkout@v1 uses: actions/checkout@v1
@@ -36,7 +36,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
python_version: ["3.6"] python_version: ['3.6']
steps: steps:
- name: Check out code - name: Check out code
uses: actions/checkout@v1 uses: actions/checkout@v1
@@ -76,8 +76,9 @@ jobs:
with: with:
python-version: ${{ matrix.python_version }} python-version: ${{ matrix.python_version }}
# TODO: Remove molecule version constraint after 3.0 is released.
- name: Install molecule and openshift dependencies - name: Install molecule and openshift dependencies
run: pip install molecule openshift run: pip install molecule===3.0a9 yamllint openshift
- name: Install ansible-base - name: Install ansible-base
run: pip install git+https://github.com/ansible-collection-migration/ansible-base.git --disable-pip-version-check run: pip install git+https://github.com/ansible-collection-migration/ansible-base.git --disable-pip-version-check

12
.yamllint Normal file
View File

@@ -0,0 +1,12 @@
---
extends: default
rules:
braces:
max-spaces-inside: 1
level: error
brackets:
max-spaces-inside: 1
level: error
line-length: disable
truthy: disable

View File

@@ -6,12 +6,8 @@ driver:
login_cmd_template: 'docker exec -ti {instance} bash' login_cmd_template: 'docker exec -ti {instance} bash'
ansible_connection_options: ansible_connection_options:
ansible_connection: docker ansible_connection: docker
lint: lint: |
name: yamllint yamllint .
options:
config-data:
line-length:
max: 160
platforms: platforms:
- name: instance-kind - name: instance-kind
provisioner: provisioner:
@@ -27,6 +23,7 @@ provisioner:
scenario: scenario:
name: default name: default
test_sequence: test_sequence:
- lint
- syntax - syntax
- converge - converge
- verify - verify

View File

@@ -1,3 +1,4 @@
---
- block: - block:
- name: Ensure that append_hash namespace exists - name: Ensure that append_hash namespace exists
k8s: k8s:

View File

@@ -1,5 +1,4 @@
--- ---
- name: Ensure testing1 namespace exists - name: Ensure testing1 namespace exists
k8s: k8s:
api_version: v1 api_version: v1

View File

@@ -1,3 +1,4 @@
---
apiVersion: certmanager.k8s.io/v1alpha1 apiVersion: certmanager.k8s.io/v1alpha1
kind: Certificate kind: Certificate
metadata: metadata:

View File

@@ -1,3 +1,4 @@
---
apiVersion: extensions/v1beta1 apiVersion: extensions/v1beta1
kind: Deployment kind: Deployment
metadata: metadata:

View File

@@ -1,3 +1,4 @@
---
apiVersion: extensions/v1beta1 apiVersion: extensions/v1beta1
kind: Deployment kind: Deployment
metadata: metadata:

View File

@@ -1,3 +1,4 @@
---
apiVersion: apiextensions.k8s.io/v1beta1 apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:

View File

@@ -1,3 +1,4 @@
---
- name: delete temporary directory - name: delete temporary directory
file: file:
path: "{{ remote_tmp_dir }}" path: "{{ remote_tmp_dir }}"

View File

@@ -1 +1,2 @@
---
dependencies: [] dependencies: []

View File

@@ -1,3 +1,4 @@
---
- include_tasks: setup_remote_tmp_dir.yml - include_tasks: setup_remote_tmp_dir.yml
- set_fact: - set_fact:

View File

@@ -1,11 +1,12 @@
# TODO: Not available in ansible-base ---
# - python_requirements_info: # TODO: Not available in ansible-base
# dependencies: # - python_requirements_info:
# - openshift==0.6.0 # dependencies:
# - kubernetes==6.0.0 # - openshift==0.6.0
# - kubernetes==6.0.0
# append_hash # append_hash
- name: use append_hash with ConfigMap - name: use append_hash with ConfigMap
k8s: k8s:
definition: definition:
metadata: metadata:
@@ -19,15 +20,15 @@
ignore_errors: yes ignore_errors: yes
register: k8s_append_hash register: k8s_append_hash
- name: assert that append_hash fails gracefully - name: assert that append_hash fails gracefully
assert: assert:
that: that:
- k8s_append_hash is failed - k8s_append_hash is failed
- "'Failed to import the required Python library (openshift >= 0.7.2)' in k8s_append_hash.msg" - "'Failed to import the required Python library (openshift >= 0.7.2)' in k8s_append_hash.msg"
- "'. This is required for append_hash.' in k8s_append_hash.msg" - "'. This is required for append_hash.' in k8s_append_hash.msg"
# validate # validate
- name: attempt to use validate with older openshift - name: attempt to use validate with older openshift
k8s: k8s:
definition: definition:
metadata: metadata:
@@ -42,14 +43,14 @@
ignore_errors: yes ignore_errors: yes
register: k8s_validate register: k8s_validate
- name: assert that validate fails gracefully - name: assert that validate fails gracefully
assert: assert:
that: that:
- k8s_validate is failed - k8s_validate is failed
- "k8s_validate.msg == 'openshift >= 0.8.0 is required for validate'" - "k8s_validate.msg == 'openshift >= 0.8.0 is required for validate'"
# apply # apply
- name: attempt to use apply with older openshift - name: attempt to use apply with older openshift
k8s: k8s:
definition: definition:
metadata: metadata:
@@ -63,7 +64,7 @@
ignore_errors: yes ignore_errors: yes
register: k8s_apply register: k8s_apply
- name: assert that apply fails gracefully - name: assert that apply fails gracefully
assert: assert:
that: that:
- k8s_apply is failed - k8s_apply is failed

View File

@@ -1,3 +1,4 @@
---
# OpenShift Resources # OpenShift Resources
- name: Create a project - name: Create a project
k8s: k8s:

View File

@@ -1,3 +1,4 @@
---
- name: create temporary directory - name: create temporary directory
test_tempfile: test_tempfile:
state: directory state: directory

View File

@@ -1,3 +1,4 @@
---
- block: - block:
- name: Create a namespace - name: Create a namespace
k8s: k8s:

View File

@@ -1,11 +1,12 @@
# TODO: Not available in ansible-base ---
# - python_requirements_info: # TODO: Not available in ansible-base
# dependencies: # - python_requirements_info:
# - openshift # dependencies:
# - kubernetes # - openshift
# - kubernetes-validate # - kubernetes
# - kubernetes-validate
- k8s: - k8s:
definition: definition:
apiVersion: v1 apiVersion: v1
kind: ConfigMap kind: ConfigMap
@@ -17,7 +18,7 @@
ignore_errors: yes ignore_errors: yes
register: k8s_no_validate register: k8s_no_validate
- name: assert that k8s_no_validate fails gracefully - name: assert that k8s_no_validate fails gracefully
assert: assert:
that: that:
- k8s_no_validate is failed - k8s_no_validate is failed