??????????????
Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 173

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 175

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 176

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 177

Warning: Cannot modify header information - headers already sent by (output started at /home/mybf1/public_html/mentol.bf1.my/SS1.php:4) in /home/mybf1/public_html/mentol.bf1.my/SS1.php on line 178
ó àUdac@`sžddlmZmZmZeZdZdZddlZddl m Z m Z m Z yddlmZWnek r}nXdZde fd „ƒYZ dS( i(tabsolute_importtdivisiontprint_functions name: kubevirt plugin_type: inventory author: - KubeVirt Team (@kubevirt) version_added: "2.8" short_description: KubeVirt inventory source extends_documentation_fragment: - inventory_cache - constructed description: - Fetch running VirtualMachines for one or more namespaces. - Groups by namespace, namespace_vms and labels. - Uses kubevirt.(yml|yaml) YAML configuration file to set parameter values. options: plugin: description: token that ensures this is a source file for the 'kubevirt' plugin. required: True choices: ['kubevirt'] type: str host_format: description: - Specify the format of the host in the inventory group. default: "{namespace}-{name}-{uid}" connections: type: list description: - Optional list of cluster connection settings. If no connections are provided, the default I(~/.kube/config) and active context will be used, and objects will be returned for all namespaces the active user is authorized to access. suboptions: name: description: - Optional name to assign to the cluster. If not provided, a name is constructed from the server and port. type: str kubeconfig: description: - Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the OpenShift client will attempt to load the default configuration file from I(~/.kube/config.json). Can also be specified via K8S_AUTH_KUBECONFIG environment variable. type: str context: description: - The name of a context found in the config file. Can also be specified via K8S_AUTH_CONTEXT environment variable. type: str host: description: - Provide a URL for accessing the API. Can also be specified via K8S_AUTH_HOST environment variable. type: str api_key: description: - Token used to authenticate with the API. Can also be specified via K8S_AUTH_API_KEY environment variable. type: str username: description: - Provide a username for authenticating with the API. Can also be specified via K8S_AUTH_USERNAME environment variable. type: str password: description: - Provide a password for authenticating with the API. Can also be specified via K8S_AUTH_PASSWORD environment variable. type: str cert_file: description: - Path to a certificate used to authenticate with the API. Can also be specified via K8S_AUTH_CERT_FILE environment variable. type: str key_file: description: - Path to a key file used to authenticate with the API. Can also be specified via K8S_AUTH_HOST environment variable. type: str ssl_ca_cert: description: - Path to a CA certificate used to authenticate with the API. Can also be specified via K8S_AUTH_SSL_CA_CERT environment variable. type: str verify_ssl: description: - "Whether or not to verify the API server's SSL certificates. Can also be specified via K8S_AUTH_VERIFY_SSL environment variable." type: bool namespaces: description: - List of namespaces. If not specified, will fetch all virtual machines for all namespaces user is authorized to access. type: list network_name: description: - In case of multiple network attached to virtual machine, define which interface should be returned as primary IP address. type: str api_version: description: - "Specify the KubeVirt API version." type: str annotation_variable: description: - "Specify the name of the annotation which provides data, which should be used as inventory host variables." - "Note, that the value in ansible annotations should be json." type: str default: 'ansible' requirements: - "openshift >= 0.6" - "PyYAML >= 3.11" sá # File must be named kubevirt.yaml or kubevirt.yml # Authenticate with token, and return all virtual machines for all namespaces plugin: kubevirt connections: - host: https://kubevirt.io token: xxxxxxxxxxxxxxxx ssl_verify: false # Use default config (~/.kube/config) file and active context, and return vms with interfaces # connected to network myovsnetwork and from namespace vms plugin: kubevirt connections: - namespaces: - vms network_name: myovsnetwork N(tK8sInventoryExceptiontInventoryModuletformat_dynamic_api_exc(tDynamicApiErrorskubevirt.io/v1alpha3RcB`s;eZdZd„Zd„Zdddd„Zd„ZRS(tkubevirtcC`s)||_tt|ƒj|||ƒdS(N(t config_datatsuperRtsetup(tselfRtcachet cache_key((sF/usr/lib/python2.7/site-packages/ansible/plugins/inventory/kubevirt.pyR s c C`sQ|jƒ}|jjddƒ}|rùx#|D]Ä}|j|}|jd|j|jjƒƒ}|jdƒr€|d}n|j|ƒ}|jdƒ}|jdtƒ}|jddƒ} x-|D]%} |j||| |||| ƒqÉWq.WnT|j|jjƒ}|j|ƒ}x-|D]%} |j||| |d|| ƒq$WdS( Nt host_formats{namespace}-{name}-{uid}tnamet namespacest network_namet api_versiontannotation_variabletansible( tget_api_clientRtgettget_default_host_namet configurationthosttget_available_namespacest API_VERSIONtget_vms_for_namespacetNone( R t connectionstclientt vm_formatt connectionRRtinterface_nameRRt namespace((sF/usr/lib/python2.7/site-packages/ansible/plugins/inventory/kubevirt.pyt fetch_objects¡s$  !  * c `sŒ|jjd|ddƒ}y|jd|ƒ} Wn9tk rl} |jj| ƒtdt| ƒƒ‚nXdj|ƒ} dj| ƒ} |j|ƒ}|j| ƒ} |j| ƒ} |j j |ƒ|j j | ƒ|j j || ƒ|j j | ƒ|j j | | ƒxw| j D]l} | j o0| j js9qnˆdkrX| j jd}n%t‡fd †| j jDƒdƒ}|dks|jdkržqn|jd| jjd | jjd | jjƒ}|j}| jjséint| jjƒ}|j j|ƒ| jjrx^| jjD]P\}}d j||ƒ}|j|ƒ}|j j |ƒ|j j ||ƒq$Wt| jjƒ}ni}|j j | |ƒ|j j|d |ƒ|j j|d|ƒ|j j|d|ƒ|j j|ddƒ|j j|d| jjƒ|j j|d | jjƒtj|j|dƒƒ}x0|j ƒD]"\}}|j j|||ƒq^WqWdS(NRtkindtVirtualMachineInstanceR#s(Error fetching Virtual Machines list: %ss namespace_{0}s{0}_vmsic3`s$|]}|jˆkr|VqdS(N(R(t.0ti(R"(sF/usr/lib/python2.7/site-packages/ansible/plugins/inventory/kubevirt.pys ÔsRtuids label_{0}_{1}t ansible_hosttlabelst annotationst object_typetvmtresource_versions{}(t resourcesRRtdisplaytdebugRRtformatt_sanitize_group_namet inventoryt add_groupt add_childtitemststatust interfacesRtnextt ipAddresstmetadataR#RR)R,tdicttadd_hostR+t set_variabletresourceVersiontjsontloads(R RRR#t name_formatR"RRtv1_vmtobjtexctnamespace_grouptnamespace_vms_groupR.t interfacetvm_nametvm_iptvm_annotationstkeytvaluet group_namet vm_labelstannotations_datatktv((R"sF/usr/lib/python2.7/site-packages/ansible/plugins/inventory/kubevirt.pyR¸s`  0 $ cC`s2tt|ƒj|ƒr.|jdƒr.tSntS(Ns kubevirt.ymls kubevirt.yaml(s kubevirt.ymls kubevirt.yaml(R Rt verify_filetendswithtTruetFalse(R tpath((sF/usr/lib/python2.7/site-packages/ansible/plugins/inventory/kubevirt.pyRUüsN(t__name__t __module__tNAMER R$RRRU(((sF/usr/lib/python2.7/site-packages/ansible/plugins/inventory/kubevirt.pyRšs   D(t __future__RRRttypet __metaclass__t DOCUMENTATIONtEXAMPLESRBtansible.plugins.inventory.k8sRRtK8sInventoryModuleRtopenshift.dynamic.exceptionsRt ImportErrorR(((sF/usr/lib/python2.7/site-packages/ansible/plugins/inventory/kubevirt.pytsr