Best Python code snippet using tempest_python
version.py
Source:version.py  
1#!/usr/bin/env python32# coding: utf-83# kubernetes çæ¬ç®¡ç4def version_mg(vs):5    v = {6        'v1.18.4': v1_18_4,7        'v1.18.6' : v1_18_6,8        'v1.18.8': v1_18_8,9        'v1.18.10': v1_18_10,10        'v1.18.12': v1_18_12,11        'v1.18.14': v1_18_14,12        'v1.18.15': v1_18_15,13        'v1.18.18': v1_18_18,14        'v1.18.20': v1_18_20,15        'v1.20.4': v1_20_4,16        'v1.20.6': v1_20_6,17        'v1.20.8': v1_20_8,18        'v1.20.10': v1_20_10,19        'v1.20.12': v1_20_12,20        'v1.20.14': v1_20_14,21        'v1.22.6': v1_22_6,22        'v1.22.8': v1_22_8,23        'v1.22.10': v1_22_10,24        'v1.22.12': v1_22_12,25    }26    return v.get(vs,'none version')27v1_18_4 =  {28    'pause_version':  '3.2',29    'busybox_version': '1.28',30    'crictl_version': 'v1.18.0',31    'npd_version': 'v0.8.1',32    'kube_bench_version': 'v0.6.8',33    'runc_version': 'v1.1',34    'cni_version': 'v0.8.6',35    # åå¨ç±»éåçæ¬è®¾ç½®36    'rbd_provisioner_version': 'v2.1.1-k8s1.11',37    'cephfs_provisioner_version': "v2.1.0-k8s1.11",38    'nfs_provisioner_version': 'v3.1.0-k8s1.11',39    'vsphere_csi_version': 'v2.5.1',40    'govc_version': 'v0.23.0',41    'rook_ceph_version': 'v1.9.0',42    'ceph_version': 'v16.2.7',43    'huawei_csi_driver_version': '2.2.9',44    'cinder_csi_version': 'v1.20.0',45    # rook csi46    'rook_csi_ceph_version': 'v3.6.0',47    'rook_csi_resizer_version': 'v1.4.0',48    'rook_csi_snapshotter_version': 'v5.0.1',49    'rook_csi_attacher_version': 'v3.4.0',50    'rook_csi_provisioner_version': 'v3.1.0',51    'rook_csi_node_driver_registrar_version': 'v2.5.0',52    # huawei csi53    'huawei_csi_attacher_version': 'v1.2.1',54    'huawei_csi_provisioner_version': 'v1.4.0',55    'huawei_csi_node_driver_registrar_version': 'v1.2.0',56    # vsphere csi57    'vsphere_csi_livenessprobe_version': 'v2.6.0',58    'vsphere_csi_attacher_version': 'v3.4.0',59    'vsphere_csi_provisioner_version': 'v3.1.0',60    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',61    'vsphere_csi_resizer_version': "v1.4.0",62    'vsphere_csi_snapshotter_version': "v5.0.1",63    # cinder csi64    'cinder_csi_attacher_version': 'v3.1.0',65    'cinder_csi_provisioner_version': 'v2.1.1',66    'cinder_csi_snapshotter_version': 'v2.1.3',67    'cinder_csi_resizer_version': 'v1.1.0',68    'cinder_csi_livenessprobe_version': 'v2.1.0',69    'cinder_csi_node_driver_registrar_version': 'v1.3.0',70    # etcdçæ¬71    'etcd_version':'v3.4.9',72    # dockerçæ¬73    'docker_version':'19.03.9',74    # containerdçæ¬75    'containerd_version':'1.3.6',76    # flannelçæ¬77    'flannel_version':'v0.12.0',78    # calicoçæ¬79    'calico_version':'v3.14.1',80    # ciliumçæ¬81    'cilium_version':'v1.9.5',82    # corednsçæ¬83    'coredns_version':'1.6.7',84    # dns-cacheçæ¬85    'dns_cache_version':'1.17.0',86    # helm v2 çæ¬87    'helm_v2_version':'v2.16.9',88    # helm v3 çæ¬89    'helm_v3_version':'v3.2.4',90    # nginx-ingressçæ¬91    'nginx_ingress_version':'0.33.0',92    # traefik-ingressçæ¬93    'traefik_ingress_version':'v2.2.1',94    # metrics-serverçæ¬95    'metrics_server_version':'v0.5.0',96    # istioçæ¬97    'istio_version': '1.11.8',98    # opa gatekeeperçæ¬99    'gatekeeper_version': 'v3.7.0'100}101v1_18_6 =  {102    'pause_version':  '3.2',103    'busybox_version': '1.28',104    'crictl_version': 'v1.18.0',105    'npd_version': 'v0.8.1',106    'kube_bench_version': 'v0.6.8',107    '': 'v1.0.0-rc91',108    'cni_version': 'v0.8.6',109    # åå¨ç±»éåçæ¬è®¾ç½®110    'rbd_provisioner_version': 'v2.1.1-k8s1.11',111    'cephfs_provisioner_version': "v2.1.0-k8s1.11",112    'nfs_provisioner_version': 'v3.1.0-k8s1.11',113    'vsphere_csi_version': 'v2.5.1',114    'govc_version': 'v0.23.0',115    'rook_ceph_version': 'v1.9.0',116    'ceph_version': 'v16.2.7',117    'huawei_csi_driver_version': '2.2.9',118    'cinder_csi_version': 'v1.20.0',119    # rook csi120    'rook_csi_ceph_version': 'v3.6.0',121    'rook_csi_resizer_version': 'v1.4.0',122    'rook_csi_snapshotter_version': 'v5.0.1',123    'rook_csi_attacher_version': 'v3.4.0',124    'rook_csi_provisioner_version': 'v3.1.0',125    'rook_csi_node_driver_registrar_version': 'v2.5.0',126    # huawei csi127    'huawei_csi_attacher_version': 'v1.2.1',128    'huawei_csi_provisioner_version': 'v1.4.0',129    'huawei_csi_node_driver_registrar_version': 'v1.2.0',130    # vsphere csi131    'vsphere_csi_livenessprobe_version': 'v2.6.0',132    'vsphere_csi_attacher_version': 'v3.4.0',133    'vsphere_csi_provisioner_version': 'v3.1.0',134    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',135    'vsphere_csi_resizer_version': "v1.4.0",136    'vsphere_csi_snapshotter_version': "v5.0.1",137    # cinder csi138    'cinder_csi_attacher_version': 'v3.1.0',139    'cinder_csi_provisioner_version': 'v2.1.1',140    'cinder_csi_snapshotter_version': 'v2.1.3',141    'cinder_csi_resizer_version': 'v1.1.0',142    'cinder_csi_livenessprobe_version': 'v2.1.0',143    'cinder_csi_node_driver_registrar_version': 'v1.3.0',144    # etcdçæ¬145    'etcd_version':'v3.4.9',146    # dockerçæ¬147    'docker_version':'19.03.9',148    # containerdçæ¬149    'containerd_version':'1.3.6',150    # flannelçæ¬151    'flannel_version':'v0.12.0',152    # calicoçæ¬153    'calico_version':'v3.14.1',154    # ciliumçæ¬155    'cilium_version':'v1.9.5',156    # corednsçæ¬157    'coredns_version':'1.6.7',158    # dns-cacheçæ¬159    'dns_cache_version':'1.17.0',160    # helm v2 çæ¬161    'helm_v2_version':'v2.16.9',162    # helm v3 çæ¬163    'helm_v3_version':'v3.2.4',164    # nginx-ingressçæ¬165    'nginx_ingress_version':'0.33.0',166    # traefik-ingressçæ¬167    'traefik_ingress_version':'v2.2.1',168    # metrics-serverçæ¬169    'metrics_server_version':'v0.5.0',170    # istioçæ¬171    'istio_version': '1.11.8',172    # opa gatekeeperçæ¬173    'gatekeeper_version': 'v3.7.0'174}175v1_18_8 =  {176    'pause_version':  '3.2',177    'busybox_version': '1.28',178    'crictl_version': 'v1.18.0',179    'npd_version': 'v0.8.1',180    'kube_bench_version': 'v0.6.8',181    'runc_version': 'v1.1',182    'cni_version': 'v0.8.6',183    # åå¨ç±»éåçæ¬è®¾ç½®184    'rbd_provisioner_version': 'v2.1.1-k8s1.11',185    'cephfs_provisioner_version': "v2.1.0-k8s1.11",186    'nfs_provisioner_version': 'v3.1.0-k8s1.11',187    'vsphere_csi_version': 'v2.5.1',188    'govc_version': 'v0.23.0',189    'rook_ceph_version': 'v1.9.0',190    'ceph_version': 'v16.2.7',191    'huawei_csi_driver_version': '2.2.9',192    'cinder_csi_version': 'v1.20.0',193    # rook csi194    'rook_csi_ceph_version': 'v3.6.0',195    'rook_csi_resizer_version': 'v1.4.0',196    'rook_csi_snapshotter_version': 'v5.0.1',197    'rook_csi_attacher_version': 'v3.4.0',198    'rook_csi_provisioner_version': 'v3.1.0',199    'rook_csi_node_driver_registrar_version': 'v2.5.0',200    # huawei csi201    'huawei_csi_attacher_version': 'v1.2.1',202    'huawei_csi_provisioner_version': 'v1.4.0',203    'huawei_csi_node_driver_registrar_version': 'v1.2.0',204    # vsphere csi205    'vsphere_csi_livenessprobe_version': 'v2.6.0',206    'vsphere_csi_attacher_version': 'v3.4.0',207    'vsphere_csi_provisioner_version': 'v3.1.0',208    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',209    'vsphere_csi_resizer_version': "v1.4.0",210    'vsphere_csi_snapshotter_version': "v5.0.1",211    # cinder csi212    'cinder_csi_attacher_version': 'v3.1.0',213    'cinder_csi_provisioner_version': 'v2.1.1',214    'cinder_csi_snapshotter_version': 'v2.1.3',215    'cinder_csi_resizer_version': 'v1.1.0',216    'cinder_csi_livenessprobe_version': 'v2.1.0',217    'cinder_csi_node_driver_registrar_version': 'v1.3.0',218    # etcdçæ¬219    'etcd_version':'v3.4.9',220    # dockerçæ¬221    'docker_version':'19.03.9',222    # containerdçæ¬223    'containerd_version':'1.3.6',224    # flannelçæ¬225    'flannel_version':'v0.12.0',226    # calicoçæ¬227    'calico_version':'v3.14.1',228    # ciliumçæ¬229    'cilium_version':'v1.9.5',230    # corednsçæ¬231    'coredns_version':'1.6.7',232    # dns-cacheçæ¬233    'dns_cache_version':'1.17.0',234    # helm v2 çæ¬235    'helm_v2_version':'v2.16.9',236    # helm v3 çæ¬237    'helm_v3_version':'v3.2.4',238    # nginx-ingressçæ¬239    'nginx_ingress_version':'0.33.0',240    # traefik-ingressçæ¬241    'traefik_ingress_version':'v2.2.1',242    # metrics-serverçæ¬243    'metrics_server_version':'v0.5.0',244    # istioçæ¬245    'istio_version': '1.11.8',246    # opa gatekeeperçæ¬247    'gatekeeper_version': 'v3.7.0'248}249v1_18_10 =  {250    'pause_version':  '3.2',251    'busybox_version': '1.28',252    'crictl_version': 'v1.18.0',253    'npd_version': 'v0.8.1',254    'kube_bench_version': 'v0.6.8',255    'runc_version': 'v1.1',256    'cni_version': 'v0.8.6',257    # åå¨ç±»éåçæ¬è®¾ç½®258    'rbd_provisioner_version': 'v2.1.1-k8s1.11',259    'cephfs_provisioner_version': "v2.1.0-k8s1.11",260    'nfs_provisioner_version': 'v3.1.0-k8s1.11',261    'vsphere_csi_version': 'v2.5.1',262    'govc_version': 'v0.23.0',263    'rook_ceph_version': 'v1.9.0',264    'ceph_version': 'v16.2.7',265    'huawei_csi_driver_version': '2.2.9',266    'cinder_csi_version': 'v1.20.0',267    # rook csi268    'rook_csi_ceph_version': 'v3.6.0',269    'rook_csi_resizer_version': 'v1.4.0',270    'rook_csi_snapshotter_version': 'v5.0.1',271    'rook_csi_attacher_version': 'v3.4.0',272    'rook_csi_provisioner_version': 'v3.1.0',273    'rook_csi_node_driver_registrar_version': 'v2.5.0',274    # huawei csi275    'huawei_csi_attacher_version': 'v1.2.1',276    'huawei_csi_provisioner_version': 'v1.4.0',277    'huawei_csi_node_driver_registrar_version': 'v1.2.0',278    # vsphere csi279    'vsphere_csi_livenessprobe_version': 'v2.6.0',280    'vsphere_csi_attacher_version': 'v3.4.0',281    'vsphere_csi_provisioner_version': 'v3.1.0',282    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',283    'vsphere_csi_resizer_version': "v1.4.0",284    'vsphere_csi_snapshotter_version': "v5.0.1",285    # cinder csi286    'cinder_csi_attacher_version': 'v3.1.0',287    'cinder_csi_provisioner_version': 'v2.1.1',288    'cinder_csi_snapshotter_version': 'v2.1.3',289    'cinder_csi_resizer_version': 'v1.1.0',290    'cinder_csi_livenessprobe_version': 'v2.1.0',291    'cinder_csi_node_driver_registrar_version': 'v1.3.0',292    # etcdçæ¬293    'etcd_version':'v3.4.9',294    # dockerçæ¬295    'docker_version':'19.03.9',296    # containerdçæ¬297    'containerd_version':'1.3.6',298    # flannelçæ¬299    'flannel_version':'v0.12.0',300    # calicoçæ¬301    'calico_version':'v3.14.1',302    # ciliumçæ¬303    'cilium_version':'v1.9.5',304    # corednsçæ¬305    'coredns_version':'1.6.7',306    # dns-cacheçæ¬307    'dns_cache_version':'1.17.0',308    # helm v2 çæ¬309    'helm_v2_version':'v2.16.9',310    # helm v3 çæ¬311    'helm_v3_version':'v3.2.4',312    # nginx-ingressçæ¬313    'nginx_ingress_version':'0.33.0',314    # traefik-ingressçæ¬315    'traefik_ingress_version':'v2.2.1',316    # metrics-serverçæ¬317    'metrics_server_version':'v0.5.0',318    # istioçæ¬319    'istio_version': '1.11.8',320    # opa gatekeeperçæ¬321    'gatekeeper_version': 'v3.7.0'322}323v1_18_12 =  {324    'pause_version':  '3.2',325    'busybox_version': '1.28',326    'crictl_version': 'v1.18.0',327    'npd_version': 'v0.8.1',328    'kube_bench_version': 'v0.6.8',329    'runc_version': 'v1.1',330    'cni_version': 'v0.8.6',331    # åå¨ç±»éåçæ¬è®¾ç½®332    'rbd_provisioner_version': 'v2.1.1-k8s1.11',333    'cephfs_provisioner_version': "v2.1.0-k8s1.11",334    'nfs_provisioner_version': 'v3.1.0-k8s1.11',335    'vsphere_csi_version': 'v2.5.1',336    'govc_version': 'v0.23.0',337    'rook_ceph_version': 'v1.9.0',338    'ceph_version': 'v16.2.7',339    'huawei_csi_driver_version': '2.2.9',340    'cinder_csi_version': 'v1.20.0',341    # rook csi342    'rook_csi_ceph_version': 'v3.6.0',343    'rook_csi_resizer_version': 'v1.4.0',344    'rook_csi_snapshotter_version': 'v5.0.1',345    'rook_csi_attacher_version': 'v3.4.0',346    'rook_csi_provisioner_version': 'v3.1.0',347    'rook_csi_node_driver_registrar_version': 'v2.5.0',348    # huawei csi349    'huawei_csi_attacher_version': 'v1.2.1',350    'huawei_csi_provisioner_version': 'v1.4.0',351    'huawei_csi_node_driver_registrar_version': 'v1.2.0',352    # vsphere csi353    'vsphere_csi_livenessprobe_version': 'v2.6.0',354    'vsphere_csi_attacher_version': 'v3.4.0',355    'vsphere_csi_provisioner_version': 'v3.1.0',356    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',357    'vsphere_csi_resizer_version': "v1.4.0",358    'vsphere_csi_snapshotter_version': "v5.0.1",359    # cinder csi360    'cinder_csi_attacher_version': 'v3.1.0',361    'cinder_csi_provisioner_version': 'v2.1.1',362    'cinder_csi_snapshotter_version': 'v2.1.3',363    'cinder_csi_resizer_version': 'v1.1.0',364    'cinder_csi_livenessprobe_version': 'v2.1.0',365    'cinder_csi_node_driver_registrar_version': 'v1.3.0',366    # etcdçæ¬367    'etcd_version':'v3.4.9',368    # dockerçæ¬369    'docker_version':'19.03.9',370    # containerdçæ¬371    'containerd_version':'1.4.1',372    # flannelçæ¬373    'flannel_version':'v0.13.0',374    # calicoçæ¬375    'calico_version':'v3.16.5',376    # ciliumçæ¬377    'cilium_version':'v1.9.5',378    # corednsçæ¬379    'coredns_version':'1.6.7',380    # dns-cacheçæ¬381    'dns_cache_version':'1.17.0',382    # helm v2 çæ¬383    'helm_v2_version':'v2.17.0',384    # helm v3 çæ¬385    'helm_v3_version':'v3.4.1',386    # nginx-ingressçæ¬387    'nginx_ingress_version':'0.33.0',388    # traefik-ingressçæ¬389    'traefik_ingress_version':'v2.2.1',390    # metrics-serverçæ¬391    'metrics_server_version':'v0.5.0',392    # istioçæ¬393    'istio_version': '1.11.8',394    # opa gatekeeperçæ¬395    'gatekeeper_version': 'v3.7.0'396}397v1_18_14 =  {398    'pause_version':  '3.2',399    'busybox_version': '1.28',400    'crictl_version': 'v1.18.0',401    'npd_version': 'v0.8.1',402    'kube_bench_version': 'v0.6.8',403    'runc_version': 'v1.1',404    'cni_version': 'v0.8.6',405    # åå¨ç±»éåçæ¬è®¾ç½®406    'rbd_provisioner_version': 'v2.1.1-k8s1.11',407    'cephfs_provisioner_version': "v2.1.0-k8s1.11",408    'nfs_provisioner_version': 'v3.1.0-k8s1.11',409    'vsphere_csi_version': 'v2.5.1',410    'govc_version': 'v0.23.0',411    'rook_ceph_version': 'v1.9.0',412    'ceph_version': 'v16.2.7',413    'huawei_csi_driver_version': '2.2.9',414    'cinder_csi_version': 'v1.20.0',415    # rook csi416    'rook_csi_ceph_version': 'v3.6.0',417    'rook_csi_resizer_version': 'v1.4.0',418    'rook_csi_snapshotter_version': 'v5.0.1',419    'rook_csi_attacher_version': 'v3.4.0',420    'rook_csi_provisioner_version': 'v3.1.0',421    'rook_csi_node_driver_registrar_version': 'v2.5.0',422    # huawei csi423    'huawei_csi_attacher_version': 'v1.2.1',424    'huawei_csi_provisioner_version': 'v1.4.0',425    'huawei_csi_node_driver_registrar_version': 'v1.2.0',426    # vsphere csi427    'vsphere_csi_livenessprobe_version': 'v2.6.0',428    'vsphere_csi_attacher_version': 'v3.4.0',429    'vsphere_csi_provisioner_version': 'v3.1.0',430    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',431    'vsphere_csi_resizer_version': "v1.4.0",432    'vsphere_csi_snapshotter_version': "v5.0.1",433    # cinder csi434    'cinder_csi_attacher_version': 'v3.1.0',435    'cinder_csi_provisioner_version': 'v2.1.1',436    'cinder_csi_snapshotter_version': 'v2.1.3',437    'cinder_csi_resizer_version': 'v1.1.0',438    'cinder_csi_livenessprobe_version': 'v2.1.0',439    'cinder_csi_node_driver_registrar_version': 'v1.3.0',440    # etcdçæ¬441    'etcd_version':'v3.4.14',442    # dockerçæ¬443    'docker_version':'19.03.9',444    # containerdçæ¬445    'containerd_version':'1.4.3',446    # flannelçæ¬447    'flannel_version':'v0.13.0',448    # calicoçæ¬449    'calico_version':'v3.16.5',450    # ciliumçæ¬451    'cilium_version':'v1.9.5',452    # corednsçæ¬453    'coredns_version':'1.6.7',454    # dns-cacheçæ¬455    'dns_cache_version':'1.17.0',456    # helm v2 çæ¬457    'helm_v2_version':'v2.17.0',458    # helm v3 çæ¬459    'helm_v3_version':'v3.4.1',460    # nginx-ingressçæ¬461    'nginx_ingress_version':'0.33.0',462    # traefik-ingressçæ¬463    'traefik_ingress_version':'v2.2.1',464    # metrics-serverçæ¬465    'metrics_server_version':'v0.5.0',466    # istioçæ¬467    'istio_version': '1.11.8',468    # opa gatekeeperçæ¬469    'gatekeeper_version': 'v3.7.0'470}471v1_18_15 =  {472    'pause_version':  '3.2',473    'busybox_version': '1.28',474    'crictl_version': 'v1.18.0',475    'npd_version': 'v0.8.1',476    'kube_bench_version': 'v0.6.8',477    'runc_version': 'v1.1',478    'cni_version': 'v0.8.6',479    # åå¨ç±»éåçæ¬è®¾ç½®480    'rbd_provisioner_version': 'v2.1.1-k8s1.11',481    'cephfs_provisioner_version': "v2.1.0-k8s1.11",482    'nfs_provisioner_version': 'v3.1.0-k8s1.11',483    'vsphere_csi_version': 'v2.5.1',484    'govc_version': 'v0.23.0',485    'rook_ceph_version': 'v1.9.0',486    'ceph_version': 'v16.2.7',487    'huawei_csi_driver_version': '2.2.9',488    'cinder_csi_version': 'v1.20.0',489    # rook csi490    'rook_csi_ceph_version': 'v3.6.0',491    'rook_csi_resizer_version': 'v1.4.0',492    'rook_csi_snapshotter_version': 'v5.0.1',493    'rook_csi_attacher_version': 'v3.4.0',494    'rook_csi_provisioner_version': 'v3.1.0',495    'rook_csi_node_driver_registrar_version': 'v2.5.0',496    # huawei csi497    'huawei_csi_attacher_version': 'v1.2.1',498    'huawei_csi_provisioner_version': 'v1.4.0',499    'huawei_csi_node_driver_registrar_version': 'v1.2.0',500    # vsphere csi501    'vsphere_csi_livenessprobe_version': 'v2.6.0',502    'vsphere_csi_attacher_version': 'v3.4.0',503    'vsphere_csi_provisioner_version': 'v3.1.0',504    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',505    'vsphere_csi_resizer_version': "v1.4.0",506    'vsphere_csi_snapshotter_version': "v5.0.1",507    # cinder csi508    'cinder_csi_attacher_version': 'v3.1.0',509    'cinder_csi_provisioner_version': 'v2.1.1',510    'cinder_csi_snapshotter_version': 'v2.1.3',511    'cinder_csi_resizer_version': 'v1.1.0',512    'cinder_csi_livenessprobe_version': 'v2.1.0',513    'cinder_csi_node_driver_registrar_version': 'v1.3.0',514    # etcdçæ¬515    'etcd_version':'v3.4.14',516    # dockerçæ¬517    'docker_version':'19.03.9',518    # containerdçæ¬519    'containerd_version':'1.4.3',520    # flannelçæ¬521    'flannel_version':'v0.13.0',522    # calicoçæ¬523    'calico_version':'v3.16.5',524    # ciliumçæ¬525    'cilium_version':'v1.9.5',526    # corednsçæ¬527    'coredns_version':'1.6.7',528    # dns-cacheçæ¬529    'dns_cache_version':'1.17.0',530    # helm v2 çæ¬531    'helm_v2_version':'v2.17.0',532    # helm v3 çæ¬533    'helm_v3_version':'v3.4.1',534    # nginx-ingressçæ¬535    'nginx_ingress_version':'0.33.0',536    # traefik-ingressçæ¬537    'traefik_ingress_version':'v2.2.1',538    # metrics-serverçæ¬539    'metrics_server_version':'v0.5.0',540    # istioçæ¬541    'istio_version': '1.11.8',542    # opa gatekeeperçæ¬543    'gatekeeper_version': 'v3.7.0'544}545v1_18_18 =  {546    'pause_version':  '3.2',547    'busybox_version': '1.28',548    'crictl_version': 'v1.18.0',549    'npd_version': 'v0.8.1',550    'kube_bench_version': 'v0.6.8',551    'runc_version': 'v1.1',552    'cni_version': 'v0.8.6',553    # åå¨ç±»éåçæ¬è®¾ç½®554    'rbd_provisioner_version': 'v2.1.1-k8s1.11',555    'cephfs_provisioner_version': "v2.1.0-k8s1.11",556    'nfs_provisioner_version': 'v3.1.0-k8s1.11',557    'vsphere_csi_version': 'v2.5.1',558    'govc_version': 'v0.23.0',559    'rook_ceph_version': 'v1.9.0',560    'ceph_version': 'v16.2.7',561    'huawei_csi_driver_version': '2.2.9',562    'cinder_csi_version': 'v1.20.0',563    # rook csi564    'rook_csi_ceph_version': 'v3.6.0',565    'rook_csi_resizer_version': 'v1.4.0',566    'rook_csi_snapshotter_version': 'v5.0.1',567    'rook_csi_attacher_version': 'v3.4.0',568    'rook_csi_provisioner_version': 'v3.1.0',569    'rook_csi_node_driver_registrar_version': 'v2.5.0',570    # huawei csi571    'huawei_csi_attacher_version': 'v1.2.1',572    'huawei_csi_provisioner_version': 'v1.4.0',573    'huawei_csi_node_driver_registrar_version': 'v1.2.0',574    # vsphere csi575    'vsphere_csi_livenessprobe_version': 'v2.6.0',576    'vsphere_csi_attacher_version': 'v3.4.0',577    'vsphere_csi_provisioner_version': 'v3.1.0',578    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',579    'vsphere_csi_resizer_version': "v1.4.0",580    'vsphere_csi_snapshotter_version': "v5.0.1",581    # cinder csi582    'cinder_csi_attacher_version': 'v3.1.0',583    'cinder_csi_provisioner_version': 'v2.1.1',584    'cinder_csi_snapshotter_version': 'v2.1.3',585    'cinder_csi_resizer_version': 'v1.1.0',586    'cinder_csi_livenessprobe_version': 'v2.1.0',587    'cinder_csi_node_driver_registrar_version': 'v1.3.0',588    # etcdçæ¬589    'etcd_version':'v3.4.14',590    # dockerçæ¬591    'docker_version':'19.03.15',592    # containerdçæ¬593    'containerd_version':'1.4.3',594    # flannelçæ¬595    'flannel_version':'v0.13.0',596    # calicoçæ¬597    'calico_version':'v3.16.5',598    # ciliumçæ¬599    'cilium_version':'v1.9.5',600    # corednsçæ¬601    'coredns_version':'1.6.7',602    # dns-cacheçæ¬603    'dns_cache_version':'1.17.0',604    # helm v2 çæ¬605    'helm_v2_version':'v2.17.0',606    # helm v3 çæ¬607    'helm_v3_version':'v3.4.1',608    # nginx-ingressçæ¬609    'nginx_ingress_version':'0.33.0',610    # traefik-ingressçæ¬611    'traefik_ingress_version':'v2.2.1',612    # metrics-serverçæ¬613    'metrics_server_version':'v0.5.0',614    # istioçæ¬615    'istio_version': '1.11.8',616    # opa gatekeeperçæ¬617    'gatekeeper_version': 'v3.7.0'618}619v1_18_20 =  {620    'pause_version':  '3.2',621    'busybox_version': '1.28',622    'crictl_version': 'v1.18.0',623    'npd_version': 'v0.8.1',624    'kube_bench_version': 'v0.6.8',625    'runc_version': 'v1.1',626    'cni_version': 'v0.8.6',627    # åå¨ç±»éåçæ¬è®¾ç½®628    'rbd_provisioner_version': 'v2.1.1-k8s1.11',629    'cephfs_provisioner_version': "v2.1.0-k8s1.11",630    'nfs_provisioner_version': 'v3.1.0-k8s1.11',631    'vsphere_csi_version': 'v2.5.1',632    'govc_version': 'v0.23.0',633    'rook_ceph_version': 'v1.9.0',634    'ceph_version': 'v16.2.7',635    'huawei_csi_driver_version': '2.2.9',636    'cinder_csi_version': 'v1.20.0',637    # rook csi638    'rook_csi_ceph_version': 'v3.6.0',639    'rook_csi_resizer_version': 'v1.4.0',640    'rook_csi_snapshotter_version': 'v5.0.1',641    'rook_csi_attacher_version': 'v3.4.0',642    'rook_csi_provisioner_version': 'v3.1.0',643    'rook_csi_node_driver_registrar_version': 'v2.5.0',644    # huawei csi645    'huawei_csi_attacher_version': 'v1.2.1',646    'huawei_csi_provisioner_version': 'v1.4.0',647    'huawei_csi_node_driver_registrar_version': 'v1.2.0',648    # vsphere csi649    'vsphere_csi_livenessprobe_version': 'v2.6.0',650    'vsphere_csi_attacher_version': 'v3.4.0',651    'vsphere_csi_provisioner_version': 'v3.1.0',652    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',653    'vsphere_csi_resizer_version': "v1.4.0",654    'vsphere_csi_snapshotter_version': "v5.0.1",655    # cinder csi656    'cinder_csi_attacher_version': 'v3.1.0',657    'cinder_csi_provisioner_version': 'v2.1.1',658    'cinder_csi_snapshotter_version': 'v2.1.3',659    'cinder_csi_resizer_version': 'v1.1.0',660    'cinder_csi_livenessprobe_version': 'v2.1.0',661    'cinder_csi_node_driver_registrar_version': 'v1.3.0',662    # etcdçæ¬663    'etcd_version':'v3.4.14',664    # dockerçæ¬665    'docker_version':'20.10.7',666    # containerdçæ¬667    'containerd_version':'1.4.3',668    # flannelçæ¬669    'flannel_version':'v0.13.0',670    # calicoçæ¬671    'calico_version':'v3.18.4',672    # ciliumçæ¬673    'cilium_version':'v1.9.5',674    # corednsçæ¬675    'coredns_version':'1.6.7',676    # dns-cacheçæ¬677    'dns_cache_version':'1.17.0',678    # helm v2 çæ¬679    'helm_v2_version':'v2.17.0',680    # helm v3 çæ¬681    'helm_v3_version':'v3.6.0',682    # nginx-ingressçæ¬683    'nginx_ingress_version':'0.33.0',684    # traefik-ingressçæ¬685    'traefik_ingress_version':'v2.4.8',686    # metrics-serverçæ¬687    'metrics_server_version':'v0.5.0',688    # istioçæ¬689    'istio_version': '1.11.8',690    # opa gatekeeperçæ¬691    'gatekeeper_version': 'v3.7.0'692}693v1_20_4 =  {694    'pause_version':  '3.2',695    'busybox_version': '1.28',696    'crictl_version': 'v1.18.0',697    'npd_version': 'v0.8.1',698    'kube_bench_version': 'v0.6.8',699    'runc_version': 'v1.1',700    'cni_version': 'v0.8.6',701    # åå¨ç±»éåçæ¬è®¾ç½®702    'rbd_provisioner_version': 'v2.1.1-k8s1.11',703    'cephfs_provisioner_version': "v2.1.0-k8s1.11",704    'nfs_provisioner_version': 'v3.1.0-k8s1.11',705    'vsphere_csi_version': 'v2.5.1',706    'govc_version': 'v0.23.0',707    'rook_ceph_version': 'v1.9.0',708    'ceph_version': 'v16.2.7',709    'huawei_csi_driver_version': '2.2.9',710    'cinder_csi_version': 'v1.20.0',711    # rook csi712    'rook_csi_ceph_version': 'v3.6.0',713    'rook_csi_resizer_version': 'v1.4.0',714    'rook_csi_snapshotter_version': 'v5.0.1',715    'rook_csi_attacher_version': 'v3.4.0',716    'rook_csi_provisioner_version': 'v3.1.0',717    'rook_csi_node_driver_registrar_version': 'v2.5.0',718    # huawei csi719    'huawei_csi_attacher_version': 'v1.2.1',720    'huawei_csi_provisioner_version': 'v1.4.0',721    'huawei_csi_node_driver_registrar_version': 'v1.2.0',722    # vsphere csi723    'vsphere_csi_livenessprobe_version': 'v2.6.0',724    'vsphere_csi_attacher_version': 'v3.4.0',725    'vsphere_csi_provisioner_version': 'v3.1.0',726    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',727    'vsphere_csi_resizer_version': "v1.4.0",728    'vsphere_csi_snapshotter_version': "v5.0.1",729    # cinder csi730    'cinder_csi_attacher_version': 'v3.1.0',731    'cinder_csi_provisioner_version': 'v2.1.1',732    'cinder_csi_snapshotter_version': 'v2.1.3',733    'cinder_csi_resizer_version': 'v1.1.0',734    'cinder_csi_livenessprobe_version': 'v2.1.0',735    'cinder_csi_node_driver_registrar_version': 'v1.3.0',736    # etcdçæ¬737    'etcd_version':'v3.4.14',738    # dockerçæ¬739    'docker_version':'19.03.9',740    # containerdçæ¬741    'containerd_version':'1.4.3',742    # flannelçæ¬743    'flannel_version':'v0.13.0',744    # calicoçæ¬745    'calico_version':'v3.16.5',746    # ciliumçæ¬747    'cilium_version':'v1.9.5',748    # corednsçæ¬749    'coredns_version':'1.7.0',750    # dns-cacheçæ¬751    'dns_cache_version':'1.17.0',752    # helm v2 çæ¬753    'helm_v2_version':'v2.17.0',754    # helm v3 çæ¬755    'helm_v3_version':'v3.4.1',756    # nginx-ingressçæ¬757    'nginx_ingress_version':'0.33.0',758    # traefik-ingressçæ¬759    'traefik_ingress_version':'v2.2.1',760    # metrics-serverçæ¬761    'metrics_server_version':'v0.5.0',762    # istioçæ¬763    'istio_version': '1.11.8',764    # opa gatekeeperçæ¬765    'gatekeeper_version': 'v3.7.0'766}767v1_20_6 =  {768    'pause_version':  '3.2',769    'busybox_version': '1.28',770    'crictl_version': 'v1.18.0',771    'npd_version': 'v0.8.1',772    'kube_bench_version': 'v0.6.8',773    'runc_version': 'v1.1',774    'cni_version': 'v0.8.6',775    # åå¨ç±»éåçæ¬è®¾ç½®776    'rbd_provisioner_version': 'v2.1.1-k8s1.11',777    'cephfs_provisioner_version': "v2.1.0-k8s1.11",778    'nfs_provisioner_version': 'v3.1.0-k8s1.11',779    'vsphere_csi_version': 'v2.5.1',780    'govc_version': 'v0.23.0',781    'rook_ceph_version': 'v1.9.0',782    'ceph_version': 'v16.2.7',783    'huawei_csi_driver_version': '2.2.9',784    'cinder_csi_version': 'v1.20.0',785    # rook csi786    'rook_csi_ceph_version': 'v3.6.0',787    'rook_csi_resizer_version': 'v1.4.0',788    'rook_csi_snapshotter_version': 'v5.0.1',789    'rook_csi_attacher_version': 'v3.4.0',790    'rook_csi_provisioner_version': 'v3.1.0',791    'rook_csi_node_driver_registrar_version': 'v2.5.0',792    # huawei csi793    'huawei_csi_attacher_version': 'v1.2.1',794    'huawei_csi_provisioner_version': 'v1.4.0',795    'huawei_csi_node_driver_registrar_version': 'v1.2.0',796    # vsphere csi797    'vsphere_csi_livenessprobe_version': 'v2.6.0',798    'vsphere_csi_attacher_version': 'v3.4.0',799    'vsphere_csi_provisioner_version': 'v3.1.0',800    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',801    'vsphere_csi_resizer_version': "v1.4.0",802    'vsphere_csi_snapshotter_version': "v5.0.1",803    # cinder csi804    'cinder_csi_attacher_version': 'v3.1.0',805    'cinder_csi_provisioner_version': 'v2.1.1',806    'cinder_csi_snapshotter_version': 'v2.1.3',807    'cinder_csi_resizer_version': 'v1.1.0',808    'cinder_csi_livenessprobe_version': 'v2.1.0',809    'cinder_csi_node_driver_registrar_version': 'v1.3.0',810    # etcdçæ¬811    'etcd_version':'v3.4.14',812    # dockerçæ¬813    'docker_version':'19.03.15',814    # containerdçæ¬815    'containerd_version':'1.4.3',816    # flannelçæ¬817    'flannel_version':'v0.13.0',818    # calicoçæ¬819    'calico_version':'v3.18.4',820    # ciliumçæ¬821    'cilium_version':'v1.9.5',822    # corednsçæ¬823    'coredns_version':'1.7.0',824    # dns-cacheçæ¬825    'dns_cache_version':'1.17.0',826    # helm v2 çæ¬827    'helm_v2_version':'v2.17.0',828    # helm v3 çæ¬829    'helm_v3_version':'v3.6.0',830    # nginx-ingressçæ¬831    'nginx_ingress_version':'0.33.0',832    # traefik-ingressçæ¬833    'traefik_ingress_version':'v2.4.8',834    # metrics-serverçæ¬835    'metrics_server_version':'v0.5.0',836    # istioçæ¬837    'istio_version': '1.11.8',838    # opa gatekeeperçæ¬839    'gatekeeper_version': 'v3.7.0'840}841v1_20_8 =  {842    'pause_version':  '3.2',843    'busybox_version': '1.28',844    'crictl_version': 'v1.18.0',845    'npd_version': 'v0.8.1',846    'kube_bench_version': 'v0.6.8',847    'runc_version': 'v1.1',848    'cni_version': 'v0.8.6',849    # åå¨ç±»éåçæ¬è®¾ç½®850    'rbd_provisioner_version': 'v2.1.1-k8s1.11',851    'cephfs_provisioner_version': "v2.1.0-k8s1.11",852    'nfs_provisioner_version': 'v3.1.0-k8s1.11',853    'vsphere_csi_version': 'v2.5.1',854    'govc_version': 'v0.23.0',855    'rook_ceph_version': 'v1.9.0',856    'ceph_version': 'v16.2.7',857    'huawei_csi_driver_version': '2.2.9',858    'cinder_csi_version': 'v1.20.0',859    # rook csi860    'rook_csi_ceph_version': 'v3.6.0',861    'rook_csi_resizer_version': 'v1.4.0',862    'rook_csi_snapshotter_version': 'v5.0.1',863    'rook_csi_attacher_version': 'v3.4.0',864    'rook_csi_provisioner_version': 'v3.1.0',865    'rook_csi_node_driver_registrar_version': 'v2.5.0',866    # huawei csi867    'huawei_csi_attacher_version': 'v1.2.1',868    'huawei_csi_provisioner_version': 'v1.4.0',869    'huawei_csi_node_driver_registrar_version': 'v1.2.0',870    # vsphere csi871    'vsphere_csi_livenessprobe_version': 'v2.6.0',872    'vsphere_csi_attacher_version': 'v3.4.0',873    'vsphere_csi_provisioner_version': 'v3.1.0',874    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',875    'vsphere_csi_resizer_version': "v1.4.0",876    'vsphere_csi_snapshotter_version': "v5.0.1",877    # cinder csi878    'cinder_csi_attacher_version': 'v3.1.0',879    'cinder_csi_provisioner_version': 'v2.1.1',880    'cinder_csi_snapshotter_version': 'v2.1.3',881    'cinder_csi_resizer_version': 'v1.1.0',882    'cinder_csi_livenessprobe_version': 'v2.1.0',883    'cinder_csi_node_driver_registrar_version': 'v1.3.0',884    # etcdçæ¬885    'etcd_version':'v3.4.14',886    # dockerçæ¬887    'docker_version':'20.10.7',888    # containerdçæ¬889    'containerd_version':'1.4.3',890    # flannelçæ¬891    'flannel_version':'v0.13.0',892    # calicoçæ¬893    'calico_version':'v3.18.4',894    # ciliumçæ¬895    'cilium_version':'v1.9.5',896    # corednsçæ¬897    'coredns_version':'1.7.0',898    # dns-cacheçæ¬899    'dns_cache_version':'1.17.0',900    # helm v2 çæ¬901    'helm_v2_version':'v2.17.0',902    # helm v3 çæ¬903    'helm_v3_version':'v3.6.0',904    # nginx-ingressçæ¬905    'nginx_ingress_version':'0.33.0',906    # traefik-ingressçæ¬907    'traefik_ingress_version':'v2.4.8',908    # metrics-serverçæ¬909    'metrics_server_version':'v0.5.0',910    # istioçæ¬911    'istio_version': '1.11.8',912    # opa gatekeeperçæ¬913    'gatekeeper_version': 'v3.7.0'914}915v1_20_10 =  {916    'pause_version':  '3.2',917    'busybox_version': '1.28',918    'crictl_version': 'v1.18.0',919    'npd_version': 'v0.8.1',920    'kube_bench_version': 'v0.6.8',921    'runc_version': 'v1.1',922    'cni_version': 'v0.8.6',923    # åå¨ç±»éåçæ¬è®¾ç½®924    'rbd_provisioner_version': 'v2.1.1-k8s1.11',925    'cephfs_provisioner_version': "v2.1.0-k8s1.11",926    'nfs_provisioner_version': 'v3.1.0-k8s1.11',927    'vsphere_csi_version': 'v2.5.1',928    'govc_version': 'v0.23.0',929    'rook_ceph_version': 'v1.9.0',930    'ceph_version': 'v16.2.7',931    'huawei_csi_driver_version': '2.2.9',932    'cinder_csi_version': 'v1.20.0',933    # rook csi934    'rook_csi_ceph_version': 'v3.6.0',935    'rook_csi_resizer_version': 'v1.4.0',936    'rook_csi_snapshotter_version': 'v5.0.1',937    'rook_csi_attacher_version': 'v3.4.0',938    'rook_csi_provisioner_version': 'v3.1.0',939    'rook_csi_node_driver_registrar_version': 'v2.5.0',940    # huawei csi941    'huawei_csi_attacher_version': 'v1.2.1',942    'huawei_csi_provisioner_version': 'v1.4.0',943    'huawei_csi_node_driver_registrar_version': 'v1.2.0',944    # vsphere csi945    'vsphere_csi_livenessprobe_version': 'v2.6.0',946    'vsphere_csi_attacher_version': 'v3.4.0',947    'vsphere_csi_provisioner_version': 'v3.1.0',948    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',949    'vsphere_csi_resizer_version': "v1.4.0",950    'vsphere_csi_snapshotter_version': "v5.0.1",951    # cinder csi952    'cinder_csi_attacher_version': 'v3.1.0',953    'cinder_csi_provisioner_version': 'v2.1.1',954    'cinder_csi_snapshotter_version': 'v2.1.3',955    'cinder_csi_resizer_version': 'v1.1.0',956    'cinder_csi_livenessprobe_version': 'v2.1.0',957    'cinder_csi_node_driver_registrar_version': 'v1.3.0',958    # etcdçæ¬959    'etcd_version':'v3.4.14',960    # dockerçæ¬961    'docker_version':'20.10.7',962    # containerdçæ¬963    'containerd_version':'1.4.3',964    # flannelçæ¬965    'flannel_version':'v0.13.0',966    # calicoçæ¬967    'calico_version':'v3.18.4',968    # ciliumçæ¬969    'cilium_version':'v1.9.5',970    # corednsçæ¬971    'coredns_version':'1.7.0',972    # dns-cacheçæ¬973    'dns_cache_version':'1.17.0',974    # helm v2 çæ¬975    'helm_v2_version':'v2.17.0',976    # helm v3 çæ¬977    'helm_v3_version':'v3.6.0',978    # nginx-ingressçæ¬979    'nginx_ingress_version':'0.33.0',980    # traefik-ingressçæ¬981    'traefik_ingress_version':'v2.4.8',982    # metrics-serverçæ¬983    'metrics_server_version':'v0.5.0',984    # istioçæ¬985    'istio_version': '1.11.8',986    # opa gatekeeperçæ¬987    'gatekeeper_version': 'v3.7.0'988}989v1_20_12 =  {990    'pause_version':  '3.2',991    'busybox_version': '1.28',992    'crictl_version': 'v1.18.0',993    'npd_version': 'v0.8.1',994    'kube_bench_version': 'v0.6.8',995    'runc_version': 'v1.1',996    'cni_version': 'v0.8.6',997    # åå¨ç±»éåçæ¬è®¾ç½®998    'rbd_provisioner_version': 'v2.1.1-k8s1.11',999    'cephfs_provisioner_version': "v2.1.0-k8s1.11",1000    'nfs_provisioner_version': 'v3.1.0-k8s1.11',1001    'vsphere_csi_version': 'v2.5.1',1002    'govc_version': 'v0.23.0',1003    'rook_ceph_version': 'v1.9.0',1004    'ceph_version': 'v16.2.7',1005    'huawei_csi_driver_version': '2.2.9',1006    'cinder_csi_version': 'v1.20.0',1007    # rook csi1008    'rook_csi_ceph_version': 'v3.6.0',1009    'rook_csi_resizer_version': 'v1.4.0',1010    'rook_csi_snapshotter_version': 'v5.0.1',1011    'rook_csi_attacher_version': 'v3.4.0',1012    'rook_csi_provisioner_version': 'v3.1.0',1013    'rook_csi_node_driver_registrar_version': 'v2.5.0',1014    # huawei csi1015    'huawei_csi_attacher_version': 'v1.2.1',1016    'huawei_csi_provisioner_version': 'v1.4.0',1017    'huawei_csi_node_driver_registrar_version': 'v1.2.0',1018    # vsphere csi1019    'vsphere_csi_livenessprobe_version': 'v2.6.0',1020    'vsphere_csi_attacher_version': 'v3.4.0',1021    'vsphere_csi_provisioner_version': 'v3.1.0',1022    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',1023    'vsphere_csi_resizer_version': "v1.4.0",1024    'vsphere_csi_snapshotter_version': "v5.0.1",1025    # cinder csi1026    'cinder_csi_attacher_version': 'v3.1.0',1027    'cinder_csi_provisioner_version': 'v2.1.1',1028    'cinder_csi_snapshotter_version': 'v2.1.3',1029    'cinder_csi_resizer_version': 'v1.1.0',1030    'cinder_csi_livenessprobe_version': 'v2.1.0',1031    'cinder_csi_node_driver_registrar_version': 'v1.3.0',1032    # etcdçæ¬1033    'etcd_version':'v3.4.14',1034    # dockerçæ¬1035    'docker_version':'20.10.7',1036    # containerdçæ¬1037    'containerd_version':'1.4.3',1038    # flannelçæ¬1039    'flannel_version':'v0.13.0',1040    # calicoçæ¬1041    'calico_version':'v3.18.4',1042    # ciliumçæ¬1043    'cilium_version':'v1.9.5',1044    # corednsçæ¬1045    'coredns_version':'1.7.0',1046    # dns-cacheçæ¬1047    'dns_cache_version':'1.17.0',1048    # helm v2 çæ¬1049    'helm_v2_version':'v2.17.0',1050    # helm v3 çæ¬1051    'helm_v3_version':'v3.6.0',1052    # nginx-ingressçæ¬1053    'nginx_ingress_version':'0.33.0',1054    # traefik-ingressçæ¬1055    'traefik_ingress_version':'v2.4.8',1056    # metrics-serverçæ¬1057    'metrics_server_version':'v0.5.0',1058    # istioçæ¬1059    'istio_version': '1.11.8',1060    # opa gatekeeperçæ¬1061    'gatekeeper_version': 'v3.7.0'1062}1063v1_20_14 =  {1064    'pause_version':  '3.2',1065    'busybox_version': '1.28',1066    'crictl_version': 'v1.18.0',1067    'npd_version': 'v0.8.1',1068    'kube_bench_version': 'v0.6.8',1069    'runc_version': 'v1.1',1070    'cni_version': 'v0.8.6',1071    # åå¨ç±»éåçæ¬è®¾ç½®1072    'rbd_provisioner_version': 'v2.1.1-k8s1.11',1073    'cephfs_provisioner_version': "v2.1.0-k8s1.11",1074    'nfs_provisioner_version': 'v3.1.0-k8s1.11',1075    'vsphere_csi_version': 'v2.5.1',1076    'govc_version': 'v0.23.0',1077    'rook_ceph_version': 'v1.9.0',1078    'ceph_version': 'v16.2.7',1079    'huawei_csi_driver_version': '2.2.9',1080    'cinder_csi_version': 'v1.20.0',1081    # rook csi1082    'rook_csi_ceph_version': 'v3.6.0',1083    'rook_csi_resizer_version': 'v1.4.0',1084    'rook_csi_snapshotter_version': 'v5.0.1',1085    'rook_csi_attacher_version': 'v3.4.0',1086    'rook_csi_provisioner_version': 'v3.1.0',1087    'rook_csi_node_driver_registrar_version': 'v2.5.0',1088    # huawei csi1089    'huawei_csi_attacher_version': 'v1.2.1',1090    'huawei_csi_provisioner_version': 'v1.4.0',1091    'huawei_csi_node_driver_registrar_version': 'v1.2.0',1092    # vsphere csi1093    'vsphere_csi_livenessprobe_version': 'v2.6.0',1094    'vsphere_csi_attacher_version': 'v3.4.0',1095    'vsphere_csi_provisioner_version': 'v3.1.0',1096    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',1097    'vsphere_csi_resizer_version': "v1.4.0",1098    'vsphere_csi_snapshotter_version': "v5.0.1",1099    # cinder csi1100    'cinder_csi_attacher_version': 'v3.1.0',1101    'cinder_csi_provisioner_version': 'v2.1.1',1102    'cinder_csi_snapshotter_version': 'v2.1.3',1103    'cinder_csi_resizer_version': 'v1.1.0',1104    'cinder_csi_livenessprobe_version': 'v2.1.0',1105    'cinder_csi_node_driver_registrar_version': 'v1.3.0',1106    # etcdçæ¬1107    'etcd_version':'v3.4.14',1108    # dockerçæ¬1109    'docker_version':'20.10.7',1110    # containerdçæ¬1111    'containerd_version':'1.4.3',1112    # flannelçæ¬1113    'flannel_version':'v0.13.0',1114    # calicoçæ¬1115    'calico_version':'v3.18.4',1116    # ciliumçæ¬1117    'cilium_version':'v1.9.5',1118    # corednsçæ¬1119    'coredns_version':'1.7.0',1120    # dns-cacheçæ¬1121    'dns_cache_version':'1.17.0',1122    # helm v2 çæ¬1123    'helm_v2_version':'v2.17.0',1124    # helm v3 çæ¬1125    'helm_v3_version':'v3.6.0',1126    # nginx-ingressçæ¬1127    'nginx_ingress_version':'0.33.0',1128    # traefik-ingressçæ¬1129    'traefik_ingress_version':'v2.4.8',1130    # metrics-serverçæ¬1131    'metrics_server_version':'v0.5.0',1132    # istioçæ¬1133    'istio_version': '1.11.8',1134    # opa gatekeeperçæ¬1135    'gatekeeper_version': 'v3.7.0'1136}1137v1_22_6 =  {1138    'pause_version':  '3.5',1139    'busybox_version': '1.28',1140    'crictl_version': 'v1.23.0',1141    'npd_version': 'v0.8.1',1142    'kube_bench_version': 'v0.6.8',1143    'runc_version': 'v1.1',1144    'cni_version': 'v0.8.6',1145    # åå¨ç±»éåçæ¬è®¾ç½®1146    'rbd_provisioner_version': 'v2.1.1-k8s1.11',1147    'cephfs_provisioner_version': "v2.1.0-k8s1.11",1148    'nfs_provisioner_version': 'v3.1.0-k8s1.11',1149    'vsphere_csi_version': 'v2.5.1',1150    'govc_version': 'v0.23.0',1151    'rook_ceph_version': 'v1.9.0',1152    'ceph_version': 'v16.2.7',1153    'huawei_csi_driver_version': '2.2.9',1154    'cinder_csi_version': 'v1.20.0',1155    # rook csi1156    'rook_csi_ceph_version': 'v3.6.0',1157    'rook_csi_resizer_version': 'v1.4.0',1158    'rook_csi_snapshotter_version': 'v5.0.1',1159    'rook_csi_attacher_version': 'v3.4.0',1160    'rook_csi_provisioner_version': 'v3.1.0',1161    'rook_csi_node_driver_registrar_version': 'v2.5.0',1162    # huawei csi1163    'huawei_csi_attacher_version': 'v1.2.1',1164    'huawei_csi_provisioner_version': 'v1.4.0',1165    'huawei_csi_node_driver_registrar_version': 'v1.2.0',1166    # vsphere csi1167    'vsphere_csi_livenessprobe_version': 'v2.6.0',1168    'vsphere_csi_attacher_version': 'v3.4.0',1169    'vsphere_csi_provisioner_version': 'v3.1.0',1170    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',1171    'vsphere_csi_resizer_version': "v1.4.0",1172    'vsphere_csi_snapshotter_version': "v5.0.1",1173    # cinder csi1174    'cinder_csi_attacher_version': 'v3.1.0',1175    'cinder_csi_provisioner_version': 'v2.1.1',1176    'cinder_csi_snapshotter_version': 'v2.1.3',1177    'cinder_csi_resizer_version': 'v1.1.0',1178    'cinder_csi_livenessprobe_version': 'v2.1.0',1179    'cinder_csi_node_driver_registrar_version': 'v1.3.0',1180    # etcdçæ¬1181    'etcd_version':'v3.5.2',1182    # dockerçæ¬1183    'docker_version':'20.10.12',1184    # containerdçæ¬1185    'containerd_version':'1.6.0',1186    # flannelçæ¬1187    'flannel_version':'v0.15.1',1188    # calicoçæ¬1189    'calico_version':'v3.21.4',1190    # ciliumçæ¬1191    'cilium_version':'v1.9.5',1192    # corednsçæ¬1193    'coredns_version':'1.8.4',1194    # dns-cacheçæ¬1195    'dns_cache_version':'1.17.0',1196    # helm v2 çæ¬1197    'helm_v2_version':'v2.17.0',1198    # helm v3 çæ¬1199    'helm_v3_version':'v3.8.0',1200    # nginx-ingressçæ¬1201    'nginx_ingress_version':'v1.2.1',1202    # traefik-ingressçæ¬1203    'traefik_ingress_version':'v2.6.1',1204    # metrics-serverçæ¬1205    'metrics_server_version':'v0.5.0',1206    # istioçæ¬1207    'istio_version': '1.11.8',1208    # opa gatekeeperçæ¬1209    'gatekeeper_version': 'v3.7.0'1210}1211v1_22_8 =  {1212    'pause_version':  '3.5',1213    'busybox_version': '1.28',1214    'crictl_version': 'v1.23.0',1215    'npd_version': 'v0.8.1',1216    'kube_bench_version': 'v0.6.8',1217    'runc_version': 'v1.1',1218    'cni_version': 'v0.8.6',1219    # åå¨ç±»éåçæ¬è®¾ç½®1220    'rbd_provisioner_version': 'v2.1.1-k8s1.11',1221    'cephfs_provisioner_version': "v2.1.0-k8s1.11",1222    'nfs_provisioner_version': 'v3.1.0-k8s1.11',1223    'vsphere_csi_version': 'v2.5.1',1224    'govc_version': 'v0.23.0',1225    'rook_ceph_version': 'v1.9.0',1226    'ceph_version': 'v16.2.7',1227    'huawei_csi_driver_version': '2.2.9',1228    'cinder_csi_version': 'v1.20.0',1229    # rook csi1230    'rook_csi_ceph_version': 'v3.6.0',1231    'rook_csi_resizer_version': 'v1.4.0',1232    'rook_csi_snapshotter_version': 'v5.0.1',1233    'rook_csi_attacher_version': 'v3.4.0',1234    'rook_csi_provisioner_version': 'v3.1.0',1235    'rook_csi_node_driver_registrar_version': 'v2.5.0',1236    # huawei csi1237    'huawei_csi_attacher_version': 'v1.2.1',1238    'huawei_csi_provisioner_version': 'v1.4.0',1239    'huawei_csi_node_driver_registrar_version': 'v1.2.0',1240    # vsphere csi1241    'vsphere_csi_livenessprobe_version': 'v2.6.0',1242    'vsphere_csi_attacher_version': 'v3.4.0',1243    'vsphere_csi_provisioner_version': 'v3.1.0',1244    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',1245    'vsphere_csi_resizer_version': "v1.4.0",1246    'vsphere_csi_snapshotter_version': "v5.0.1",1247    # cinder csi1248    'cinder_csi_attacher_version': 'v3.1.0',1249    'cinder_csi_provisioner_version': 'v2.1.1',1250    'cinder_csi_snapshotter_version': 'v2.1.3',1251    'cinder_csi_resizer_version': 'v1.1.0',1252    'cinder_csi_livenessprobe_version': 'v2.1.0',1253    'cinder_csi_node_driver_registrar_version': 'v1.3.0',1254    # etcdçæ¬1255    'etcd_version':'v3.5.2',1256    # dockerçæ¬1257    'docker_version':'20.10.12',1258    # containerdçæ¬1259    'containerd_version':'1.6.0',1260    # flannelçæ¬1261    'flannel_version':'v0.15.1',1262    # calicoçæ¬1263    'calico_version':'v3.21.4',1264    # ciliumçæ¬1265    'cilium_version':'v1.9.5',1266    # corednsçæ¬1267    'coredns_version':'1.8.4',1268    # dns-cacheçæ¬1269    'dns_cache_version':'1.17.0',1270    # helm v2 çæ¬1271    'helm_v2_version':'v2.17.0',1272    # helm v3 çæ¬1273    'helm_v3_version':'v3.8.0',1274    # nginx-ingressçæ¬1275    'nginx_ingress_version':'v1.2.1',1276    # traefik-ingressçæ¬1277    'traefik_ingress_version':'v2.6.1',1278    # metrics-serverçæ¬1279    'metrics_server_version':'v0.5.0',1280    # istioçæ¬1281    'istio_version': '1.11.8',1282    # opa gatekeeperçæ¬1283    'gatekeeper_version': 'v3.7.0'1284}1285v1_22_10 =  {1286    'pause_version':  '3.5',1287    'busybox_version': '1.28',1288    'crictl_version': 'v1.23.0',1289    'npd_version': 'v0.8.1',1290    'kube_bench_version': 'v0.6.8',1291    'runc_version': 'v1.1',1292    'cni_version': 'v0.8.6',1293    # åå¨ç±»éåçæ¬è®¾ç½®1294    'rbd_provisioner_version': 'v2.1.1-k8s1.11',1295    'cephfs_provisioner_version': "v2.1.0-k8s1.11",1296    'nfs_provisioner_version': 'v3.1.0-k8s1.11',1297    'vsphere_csi_version': 'v2.5.1',1298    'govc_version': 'v0.23.0',1299    'rook_ceph_version': 'v1.9.0',1300    'ceph_version': 'v16.2.7',1301    'huawei_csi_driver_version': '2.2.9',1302    'cinder_csi_version': 'v1.20.0',1303    # rook csi1304    'rook_csi_ceph_version': 'v3.6.0',1305    'rook_csi_resizer_version': 'v1.4.0',1306    'rook_csi_snapshotter_version': 'v5.0.1',1307    'rook_csi_attacher_version': 'v3.4.0',1308    'rook_csi_provisioner_version': 'v3.1.0',1309    'rook_csi_node_driver_registrar_version': 'v2.5.0',1310    # huawei csi1311    'huawei_csi_attacher_version': 'v1.2.1',1312    'huawei_csi_provisioner_version': 'v1.4.0',1313    'huawei_csi_node_driver_registrar_version': 'v1.2.0',1314    # vsphere csi1315    'vsphere_csi_livenessprobe_version': 'v2.6.0',1316    'vsphere_csi_attacher_version': 'v3.4.0',1317    'vsphere_csi_provisioner_version': 'v3.1.0',1318    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',1319    'vsphere_csi_resizer_version': "v1.4.0",1320    'vsphere_csi_snapshotter_version': "v5.0.1",1321    # cinder csi1322    'cinder_csi_attacher_version': 'v3.1.0',1323    'cinder_csi_provisioner_version': 'v2.1.1',1324    'cinder_csi_snapshotter_version': 'v2.1.3',1325    'cinder_csi_resizer_version': 'v1.1.0',1326    'cinder_csi_livenessprobe_version': 'v2.1.0',1327    'cinder_csi_node_driver_registrar_version': 'v1.3.0',1328    # etcdçæ¬1329    'etcd_version':'v3.5.2',1330    # dockerçæ¬1331    'docker_version':'20.10.12',1332    # containerdçæ¬1333    'containerd_version':'1.6.0',1334    # flannelçæ¬1335    'flannel_version':'v0.15.1',1336    # calicoçæ¬1337    'calico_version':'v3.21.4',1338    # ciliumçæ¬1339    'cilium_version':'v1.9.5',1340    # corednsçæ¬1341    'coredns_version':'1.8.4',1342    # dns-cacheçæ¬1343    'dns_cache_version':'1.17.0',1344    # helm v2 çæ¬1345    'helm_v2_version':'v2.17.0',1346    # helm v3 çæ¬1347    'helm_v3_version':'v3.8.0',1348    # nginx-ingressçæ¬1349    'nginx_ingress_version':'v1.2.1',1350    # traefik-ingressçæ¬1351    'traefik_ingress_version':'v2.6.1',1352    # metrics-serverçæ¬1353    'metrics_server_version':'v0.5.0',1354    # istioçæ¬1355    'istio_version': '1.11.8',1356    # opa gatekeeperçæ¬1357    'gatekeeper_version': 'v3.7.0'1358}1359v1_22_12 =  {1360    'pause_version':  '3.5',1361    'busybox_version': '1.28',1362    'crictl_version': 'v1.23.0',1363    'npd_version': 'v0.8.1',1364    'kube_bench_version': 'v0.6.8',1365    'runc_version': 'v1.1',1366    'cni_version': 'v0.8.6',1367    # åå¨ç±»éåçæ¬è®¾ç½®1368    'rbd_provisioner_version': 'v2.1.1-k8s1.11',1369    'cephfs_provisioner_version': "v2.1.0-k8s1.11",1370    'nfs_provisioner_version': 'v3.1.0-k8s1.11',1371    'vsphere_csi_version': 'v2.5.1',1372    'govc_version': 'v0.23.0',1373    'rook_ceph_version': 'v1.9.0',1374    'ceph_version': 'v16.2.7',1375    'huawei_csi_driver_version': '2.2.9',1376    'cinder_csi_version': 'v1.20.0',1377    # rook csi1378    'rook_csi_ceph_version': 'v3.6.0',1379    'rook_csi_resizer_version': 'v1.4.0',1380    'rook_csi_snapshotter_version': 'v5.0.1',1381    'rook_csi_attacher_version': 'v3.4.0',1382    'rook_csi_provisioner_version': 'v3.1.0',1383    'rook_csi_node_driver_registrar_version': 'v2.5.0',1384    # huawei csi1385    'huawei_csi_attacher_version': 'v1.2.1',1386    'huawei_csi_provisioner_version': 'v1.4.0',1387    'huawei_csi_node_driver_registrar_version': 'v1.2.0',1388    # vsphere csi1389    'vsphere_csi_livenessprobe_version': 'v2.6.0',1390    'vsphere_csi_attacher_version': 'v3.4.0',1391    'vsphere_csi_provisioner_version': 'v3.1.0',1392    'vsphere_csi_node_driver_registrar_version': 'v2.5.0',1393    'vsphere_csi_resizer_version': "v1.4.0",1394    'vsphere_csi_snapshotter_version': "v5.0.1",1395    # cinder csi1396    'cinder_csi_attacher_version': 'v3.1.0',1397    'cinder_csi_provisioner_version': 'v2.1.1',1398    'cinder_csi_snapshotter_version': 'v2.1.3',1399    'cinder_csi_resizer_version': 'v1.1.0',1400    'cinder_csi_livenessprobe_version': 'v2.1.0',1401    'cinder_csi_node_driver_registrar_version': 'v1.3.0',1402    # etcdçæ¬1403    'etcd_version':'v3.5.2',1404    # dockerçæ¬1405    'docker_version':'20.10.12',1406    # containerdçæ¬1407    'containerd_version':'1.6.0',1408    # flannelçæ¬1409    'flannel_version':'v0.15.1',1410    # calicoçæ¬1411    'calico_version':'v3.21.4',1412    # ciliumçæ¬1413    'cilium_version':'v1.9.5',1414    # corednsçæ¬1415    'coredns_version':'1.8.4',1416    # dns-cacheçæ¬1417    'dns_cache_version':'1.17.0',1418    # helm v2 çæ¬1419    'helm_v2_version':'v2.17.0',1420    # helm v3 çæ¬1421    'helm_v3_version':'v3.8.0',1422    # nginx-ingressçæ¬1423    'nginx_ingress_version':'v1.2.1',1424    # traefik-ingressçæ¬1425    'traefik_ingress_version':'v2.6.1',1426    # metrics-serverçæ¬1427    'metrics_server_version':'v0.5.0',1428    # istioçæ¬1429    'istio_version': '1.11.8',1430    # opa gatekeeperçæ¬1431    'gatekeeper_version': 'v3.7.0'...openstack_cinder.py
Source:openstack_cinder.py  
1# Copyright (C) 2009 Red Hat, Inc., Joey Boggs <jboggs@redhat.com>2# Copyright (C) 2012 Rackspace US, Inc.,3#                    Justin Shepherd <jshepher@rackspace.com>4# Copyright (C) 2013 Red Hat, Inc., Flavio Percoco <fpercoco@redhat.com>5# Copyright (C) 2013 Red Hat, Inc., Jeremy Agee <jagee@redhat.com>6# This file is part of the sos project: https://github.com/sosreport/sos7#8# This copyrighted material is made available to anyone wishing to use,9# modify, copy, or redistribute it subject to the terms and conditions of10# version 2 of the GNU General Public License.11#12# See the LICENSE file in the source distribution for further information.13from sos.report.plugins import Plugin, RedHatPlugin, DebianPlugin, UbuntuPlugin14class OpenStackCinder(Plugin):15    short_desc = 'OpenStack cinder'16    plugin_name = "openstack_cinder"17    profiles = ('openstack', 'openstack_controller')18    containers = ('.*cinder_api',)19    var_puppet_gen = "/var/lib/config-data/puppet-generated/cinder"20    def setup(self):21        self.add_forbidden_path('/etc/cinder/volumes')22        cinder_config = ""23        cinder_config_opt = "--config-dir %s/etc/cinder/"24        # check if either standalone (cinder-api) or httpd wsgi (cinder_wsgi)25        # is up and running26        cinder_process = ["cinder_wsgi", "cinder-wsgi", "cinder-api"]27        in_ps = False28        for process in cinder_process:29            in_ps = self.check_process_by_name(process)30            if in_ps:31                break32        in_container = self.container_exists('.*cinder_api')33        if in_container:34            cinder_config = cinder_config_opt % self.var_puppet_gen35        # collect commands output if the standalone, wsgi or container is up36        if in_ps or in_container:37            self.add_cmd_output(38                "cinder-manage " + cinder_config + " db version",39                suggest_filename="cinder_db_version"40            )41        self.add_forbidden_path('/etc/cinder/volumes')42        self.add_copy_spec([43            "/etc/cinder/",44            self.var_puppet_gen + "/etc/cinder/",45            self.var_puppet_gen + "/etc/httpd/conf/",46            self.var_puppet_gen + "/etc/httpd/conf.d/",47            self.var_puppet_gen + "/etc/httpd/conf.modules.d/*.conf",48            self.var_puppet_gen + "/etc/my.cnf.d/tripleo.cnf",49            self.var_puppet_gen + "/etc/sysconfig/",50        ])51        if self.get_option("all_logs"):52            self.add_copy_spec([53                "/var/log/cinder/",54                "/var/log/httpd/cinder*",55            ])56        else:57            self.add_copy_spec([58                "/var/log/cinder/*.log",59                "/var/log/httpd/cinder*.log",60            ])61    def apply_regex_sub(self, regexp, subst):62        self.do_path_regex_sub("/etc/cinder/*", regexp, subst)63        self.do_path_regex_sub(64            self.var_puppet_gen + "/etc/cinder/*",65            regexp, subst66        )67    def postproc(self):68        protect_keys = [69            "admin_password", "backup_tsm_password", "chap_password",70            "nas_password", "cisco_fc_fabric_password", "coraid_password",71            "eqlx_chap_password", "fc_fabric_password",72            "hitachi_auth_password", "hitachi_horcm_password",73            "hp3par_password", "hplefthand_password", "memcache_secret_key",74            "netapp_password", "netapp_sa_password", "nexenta_password",75            "password", "qpid_password", "rabbit_password", "san_password",76            "ssl_key_password", "vmware_host_password", "zadara_password",77            "zfssa_initiator_password", "hmac_keys", "zfssa_target_password",78            "os_privileged_user_password", "transport_url"79        ]80        connection_keys = ["connection"]81        self.apply_regex_sub(82            r"((?m)^\s*(%s)\s*=\s*)(.*)" % "|".join(protect_keys),83            r"\1*********"84        )85        self.apply_regex_sub(86            r"((?m)^\s*(%s)\s*=\s*(.*)://(\w*):)(.*)(@(.*))" %87            "|".join(connection_keys),88            r"\1*********\6"89        )90class DebianCinder(OpenStackCinder, DebianPlugin, UbuntuPlugin):91    cinder = False92    packages = (93        'cinder-api',94        'cinder-backup',95        'cinder-common',96        'cinder-scheduler',97        'cinder-volume',98        'python-cinder',99        'python-cinderclient'100    )101    def setup(self):102        super(DebianCinder, self).setup()103        if self.get_option("all_logs"):104            self.add_copy_spec([105                "/var/log/apache/cinder*",106            ])107        else:108            self.add_copy_spec([109                "/var/log/apache/cinder*.log",110            ])111class RedHatCinder(OpenStackCinder, RedHatPlugin):112    cinder = False113    packages = ('openstack-selinux',)114    def setup(self):115        super(RedHatCinder, self).setup()116        self.add_copy_spec(["/etc/sudoers.d/cinder"])...volumes.py
Source:volumes.py  
1from flask import request, Blueprint, jsonify2from wafec.testing.driver.openstack import commons3from wafec.testing.driver.openstack import mappers4from wafec.testing.driver.openstack import errors5from cinderclient.exceptions import BadRequest, NotFound6volumes_api = Blueprint('volumes', __name__)7@volumes_api.route('/', methods=['GET'])8def get():9    cinder = commons.cinder_client(request.args.get('key'))10    name = request.args.get('name')11    search_opts = {}12    if name:13        search_opts['name'] = name14    volumes = cinder.volumes.list(search_opts=search_opts)15    return jsonify(list(map(lambda volume: mappers.volume_to_view(volume), volumes))), 20116@volumes_api.route('/<id>', methods=['GET'])17def get_by_id(id):18    cinder = commons.cinder_client(request.args.get('key'))19    volumes = cinder.volumes.list(search_opts={'id': id})20    if volumes and len(volumes):21        print(dir(volumes[0]))22        print(volumes[0].attachments)23        return jsonify(mappers.volume_to_view(volumes[0])), 20124    else:25        return errors.http_notfound()26@volumes_api.route('/', methods=['POST'])27def post():28    cinder = commons.cinder_client(request.args.get('key'))29    volume = cinder.volumes.create(name=request.json['name'],30                                   size=int(request.json['size']),31                                   availability_zone=request.json['availability_zone'])32    return jsonify({'id': volume.id})33@volumes_api.route('/<id>', methods=['DELETE'])34def delete(id):35    cinder = commons.cinder_client(request.args.get('key'))36    volumes = cinder.volumes.list(search_opts={'id': id})37    cinder.volumes.delete(volumes[0])38    return jsonify(success=True)39@volumes_api.route('/<id>/actions/extend', methods=['POST'])40def extend(id):41    cinder = commons.cinder_client(request.args.get('key'))42    volumes = cinder.volumes.list(search_opts={'id': id})43    if not volumes or not len(volumes):44        return errors.http_notfound()45    volume = volumes[0]46    cinder.volumes.extend(volume, int(request.args.json['size']))47    return jsonify(success=True)48@volumes_api.route('/<id>/actions/attach', methods=['POST'])49def attach(id):50    cinder = commons.cinder_client(request.args.get('key'))51    volumes = cinder.volumes.list(search_opts={'id': id})52    if not volumes or not len(volumes):53        return errors.http_notfound()54    volume = volumes[0]55    cinder.volumes.attach(volume, request.json['server'], mountpoint=request.json['mountpoint'])56    return jsonify(success=True)57@volumes_api.route('/<id>/actions/detach', methods=['POST'])58def detach(id):59    cinder = commons.cinder_client(request.args.get('key'))60    volumes = cinder.volumes.list(search_opts={'id': id})61    if not volumes or not len(volumes):62        return errors.http_notfound()63    volume = volumes[0]64    cinder.volumes.detach(volume)65    return jsonify(success=True)66@volumes_api.errorhandler(NotFound)67@volumes_api.errorhandler(BadRequest)68def client_error(e):69    response = jsonify({70        'message': str(e)71    })72    if isinstance(e, NotFound):73        response.status_code = 40474    else:75        response.status_code = 400...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
