    - python_requirements_info:
        dependencies:
          - openshift==0.6.0
          - kubernetes==6.0.0

    # append_hash
    - name: use append_hash with ConfigMap
      k8s:
        definition:
          metadata:
            name: config-map-test
            namespace: "{{ playbook_namespace }}"
          apiVersion: v1
          kind: ConfigMap
          data:
            hello: world
        append_hash: yes
      ignore_errors: yes
      register: k8s_append_hash

    - name: assert that append_hash fails gracefully
      assert:
        that:
          - k8s_append_hash is failed
          - "'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"

    # validate
    - name: attempt to use validate with older openshift
      k8s:
        definition:
          metadata:
            name: config-map-test
            namespace: "{{ playbook_namespace }}"
          apiVersion: v1
          kind: ConfigMap
          data:
            hello: world
        validate:
          fail_on_error: yes
      ignore_errors: yes
      register: k8s_validate

    - name: assert that validate fails gracefully
      assert:
        that:
          - k8s_validate is failed
          - "k8s_validate.msg == 'openshift >= 0.8.0 is required for validate'"

    # apply
    - name: attempt to use apply with older openshift
      k8s:
        definition:
          metadata:
            name: config-map-test
            namespace: "{{ playbook_namespace }}"
          apiVersion: v1
          kind: ConfigMap
          data:
            hello: world
        apply: yes
      ignore_errors: yes
      register: k8s_apply

    - name: assert that apply fails gracefully
      assert:
        that:
          - k8s_apply is failed
          - "k8s_apply.msg.startswith('Failed to import the required Python library (openshift >= 0.9.2)')"
