3 ܓiL"@s>ddlZddlmZmZGdddeZGdddeeZdS)N)Plugin RedHatPluginc@seZdZdZdZdZdZdZdZe j j edZ e j j edZ d Ze j j eeZe j j ed Ze j j ed Ze efZd d ZddZddZddZddZddZdS)OpenShiftOriginzOpenShift OriginoriginN openshiftz/etc/origin/masterz/etc/origin/nodezmaster-config.yamlz master.envznode-config.yamlznode.kubeconfigpodscCs |j|jS)zDetermine if we are on a master) path_exists master_cfg)selfr /usr/lib/python3.6/origin.py is_master>szOpenShiftOrigin.is_mastercCs |j|jS)zDetermine if we are on a node)rnode_cfg)r r r r is_nodeBszOpenShiftOrigin.is_nodecCs|j|j|jdS)z*Determine if we are on a node running etcdz etcd.yaml)r path_joinstatic_pod_dir)r r r r is_static_etcdFs zOpenShiftOrigin.is_static_etcdcCs |j|jS)z*Determine if a node is running static pods)rr)r r r r is_static_pod_compatibleKsz(OpenShiftOrigin.is_static_pod_compatiblec s|j|jd|j}|j|jd}|j|jdd}|j|jd}|j|jd}d|d}|jr|j|j|j|j|jd g|jr|j|j|j d |j |d |d g|j r|j |d dddg}|j fdd|Ddddg}|j fdd|Ddddddg} |j fdd| D|jsX|j dddgd |j d!} x*| d"jD]} |j d#| qvW|jr|j|j|j|||||j|jd |j|jd$|j|jd%g |j d&d dS)'Nz bootstrap-zbootstrap.kubeconfigZcerts*z client-ca.crtzadmin.kubeconfigz oc --config=z master-logsz*.crtz*.yamlz api apiz controllers controllersz etcd etcdzadm top imageszadm top imagestreamsz adm top nodescsg|]}d|qS) r ).0Zsubcmd) oc_cmd_adminr r sz)OpenShiftOrigin.setup..Z hostsubnetZclusternetworkZ netnamespacescsg|]}d|qS)z get -o json r )rZjcmd)rr r rsdefaultzopenshift-web-consolez openshift-ansible-service-brokerz openshift-sdnzopenshift-consolecsg|]}d|qS)z7 get -o json deploymentconfig,deployment,daemonsets -n r )rn)rr r rszatomic-openshift-masterzatomic-openshift-master-apiz#atomic-openshift-master-controllers)Zunitsz get pod -o name -n defaultoutputz logs -n default z resolv.confznode-dnsmasq.confzatomic-openshift-node)r node_base_dir node_cfg_filemaster_base_dirr Z add_copy_specr master_envrrZadd_cmd_outputrZ add_journalZexec_cmd splitlinesrrnode_kubeconfig) r Zbstrap_node_cfgZbstrap_kubeconfigZ node_certsZnode_client_caZ admin_cfgZstatic_pod_logs_cmdZsubcmdsZjcmdsZnmspsrZpodr )rr setupOsv           zOpenShiftOrigin.setupcCs&d}|jd|d|j|jdddS)Nzq(?P{\s*"name":\s*[^,]*(pass|pwd|key|token|cred|secret|PASS|PWD|KEY|TOKEN|CRED|SECRET)[^,]*,\s*"value":)[^}]*zoc*jsonz\g "********"z#(bindPassword|clientSecret):\s*(.*)z \1:"********")Zdo_cmd_output_subZ do_file_subr )r Z env_regexpr r r postprocs zOpenShiftOrigin.postproc)r)__name__ __module__ __qualname__ short_descZ plugin_namefilesZprofilesrrospathjoinr rrrr!rr rrrr"r#r r r r r#s& mrc@seZdZdZdZdS)AtomicOpenShiftz3OpenShift Enterprise / OpenShift Container Platformatomic-openshiftN)r-)r$r%r&r'Zpackagesr r r r r,sr,)Zos.pathr)Zsos.report.pluginsrrrr,r r r r  s0