• Patrick Ohly's avatar
    e2e: deploy from manifest files + enhance CSI volume output · 38efff56
    Patrick Ohly authored
    Ensuring that CSI drivers get deployed for testing exactly as intended
    was problematic because the original .yaml files had to be converted
    into code. e2e/manifest helped a bit, but not enough:
    - could not load all entities
    - didn't handle loading .yaml files with multiple entities
    - actually creating and deleting entities still had to be done in tests
    
    The new framework utility code handles all of that, including the
    tricky cleanup operation that tests got wrong (AfterEach does not get
    called after test failures!).
    
    In addition, it is ensuring that each test gets its own instance of the
    entities.
    
    The PSP role binding for hostpath is now necessary because we switch
    from creating a pod directly to creation via the StatefulSet
    controller, which runs with less privileges.
    
    Without this, the hostpath test runs into these errors in the
    kubernetes-e2e-gce job:
    
    Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpath-attacher: {statefulset-controller } FailedCreate: create Pod csi-hostpath-attacher-0 in StatefulSet csi-hostpath-attacher failed error: pods "csi-hostpath-attacher-0" is forbidden: unable to validate against any pod security policy: []
    Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpath-provisioner: {statefulset-controller } FailedCreate: create Pod csi-hostpath-provisioner-0 in StatefulSet csi-hostpath-provisioner failed error: pods "csi-hostpath-provisioner-0" is forbidden: unable to validate against any pod security policy: []
    Oct 19 16:30:09.225: INFO: At 2018-10-19 16:25:07 +0000 UTC - event for csi-hostpathplugin: {daemonset-controller } FailedCreate: Error creating: pods "csi-hostpathplugin-" is forbidden: unable to validate against any pod security policy: []
    
    The extra role binding is silently ignored on clusters which don't
    have this particular role.
    38efff56