??????????????
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@`sKddlmZmZmZeZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlmZddlmZddlmZddlmZddlmZddlmZmZdd lmZdd lmZdd l m!Z!dd l"m#Z#e#ƒZ$d efd„ƒYZ%dS(i(tabsolute_importtdivisiontprint_functionN(t constants(tcontext(tCLI(toption_helpers(tAnsibleOptionsError(t to_nativetto_text(t shlex_quote(t module_loader(trun_cmd(tDisplaytPullCLIcB`s˜eZdZdZdZdZidd6dd 6ZdgZid d 6Ze Z e d „ƒZ d „Z d„Zd„Ze d„ƒZe d„ƒZRS(s— is used to up a remote copy of ansible on each managed node, each set to run via cron and update playbook source via a source repository. This inverts the default *push* architecture of ansible into a *pull* architecture, which has near-limitless scaling potential. The setup playbook can be tuned to change the cron frequency, logging locations, and parameters to ansible-pull. This is useful both for extreme scale-out as well as periodic remediation. Usage of the 'fetch' module to retrieve logs from ansible-pull runs would be an excellent way to gather and analyze remote logs from ansible-pull. tgits local.ymlt subversionthgtbzrsFile does not existisFile is not readableisThe name of one the YAML format files to run as an Ansible playbook.This can be a relative path within the checkout. By default, Ansible willlook for a playbook based on the host's fully-qualified domain name,on the host hostname and finally a playbook named *local.yml*.s playbook.ymlcC`s’d}tjjdtƒrŽxptjdD]^}t|tƒrX|ddj|ƒ7}q)d|ksvtjj |ƒr)|d|7}q)q)Wn|S(Ntt inventorys -i '%s' t,s -i %s ( RtCLIARGStgettFalset isinstancetlisttjointostpathtexists(tinv_optstinv((s4/usr/lib/python2.7/site-packages/ansible/cli/pull.pyt _get_inv_cli:sc C`stt|ƒjddddƒtj|jƒtj|jƒtj|jƒtj|jƒtj |jƒtj |jƒtj |jƒ|jj ddddd d d ƒ|jj d d t ddddƒ|jj ddddd t ddddƒ|jj ddddd dBddƒ|jj ddddd t ddddƒ|jj ddddd dBdd ƒ|jj d!d"dd#d dBdd$ƒ|jj d%dd&dddd'ƒ|jj d(d)dd*dd+ƒ|jj d,d t dd-dddd.ƒ|jj d/d0dd1d |jdd2|j|jfƒ|jj d3dd4d t dddd5ƒ|jj d6dd7d t dddd8ƒ|jj d9dd:d t dddd;ƒ|jj d<d t dd=dddd>ƒ|jj d?d tjdd@ddddAƒdBS(Cs* create an options parser for bin/ansible tusages0%prog -U [options] []tdescsDpulls playbooks from a VCS repo and executes them for the local hosttargsthelps Playbook(s)tmetavars playbook.ymltnargst*s--purgetdefaulttactiont store_trues!purge checkout after playbook runs-os--only-if-changedtdestt ifchangeds8only run the playbook if the repository has been updateds-ss--sleeptsleeps|sleep for random interval (between 0 and n number of seconds) before starting. This is a useful way to disperse git requestss-fs--forcetforces<run the playbook even if the repository could not be updateds-ds --directorys#directory to checkout repository tos-Us--urlturlsURL of the playbook repositorys--fullt fullclones*Do a full clone, instead of a shallow one.s-Cs --checkouttcheckoutsIbranch/tag/commit to checkout. Defaults to behavior of repository module.s--accept-host-keytaccept_host_keys6adds the hostkey for the repo url if not already addeds-ms --module-namet module_namesdRepository module name, which ansible will use to check out the repo. Choices are %s. Default is %s.s--verify-committverifys˜verify GPG signature of checked out commit, if it fails abort running the playbook. This needs the corresponding VCS module to support such an operations--cleantcleans:modified files in the working repository will be discardeds --track-subst tracksubsstsubmodules will track the latest changes. This is equivalent to specifying the --remote flag to git submodule updates--checktchecksRdon't make any changes; instead, try to predict some of the changes that may occurs--difftdiffshwhen changing (small) files and templates, show the differences in those files; works great with --checkN(tsuperRt init_parsertopt_helptadd_connect_optionstparsertadd_vault_optionstadd_runtask_optionstadd_subset_optionstadd_inventory_optionstadd_module_optionstadd_runas_prompt_optionst add_argumentRtNonetDEFAULT_REPO_TYPEt REPO_CHOICEStCt DIFF_ALWAYS(tself((s4/usr/lib/python2.7/site-packages/ansible/cli/pull.pyR;FsL""$$%%"!!!!!!$cC`swtt|ƒj|ƒ}|jsHtjƒ}tjjd|ƒ|_ntjj tjj |jƒƒ|_tjj |jƒr­tjj |jƒ r­t d|jƒ‚n|jry(tjdt|jƒƒ}||_Wqtk rt d|jƒ‚qXn|js t dƒ‚n|j|jkrZt d|jdj|jƒfƒ‚n|jt_|j|ƒ|S(Ns~/.ansible/pulls*%s is not a valid or accessible directory.is%s is not a number.s1URL for repository not specified, use -h for helps*Unsupported repo module %s, choices are %sR(R:Rtpost_process_argsR,tsockettgetfqdnRRRt expandvarst expanduserRtisdirRR.trandomtrandinttintt ValueErrorR0R4tSUPPORTED_REPO_MODULESt verbositytdisplaytvalidate_conflicts(RKtoptionsthostnametsecs((s4/usr/lib/python2.7/site-packages/ansible/cli/pull.pyRLys(  $+    (  cC`s₯tt|ƒjƒtjjƒ}tj|jdƒƒtjdjtj ƒƒt j ƒ}t j ƒ}ddjt|||jdƒd|jdƒdgƒƒ}d}tjddkrώ|d d jgtdtjdƒD] }d ^qδƒ7}n|jƒ}|s4d }|d tdtjƒ7}ntjddkrdtjdtjdf}tjdrŠ|dtjd7}ntjdr€|d7}ntjdrΙ|dtjd7}ntjdrγ|d7}ntjdrύ|d7}ntjdsh|d7}qhnNtjdd krd!tjdtjdf}tjdrp|d"tjd7}ntjdsh|d#7}qhnΫtjdd$krζd!tjdtjdf}tjdrh|d"tjd7}qhn‚tjdd%kr?dtjdtjdf}tjdrh|dtjd7}qhn)td&tjddj|jƒfƒ‚tjd'r‚|d(7}ntjtjdƒ} | dNkrΎtd)tjdƒ‚ntjjtjjtj dƒƒ} d*| ||tjd||f} x)tjd+D]} | d,t| ƒ7} qWtjd-rntjd.tjd-ƒtj tjd-ƒntj!d/ƒtj"d0| ƒt#| d1t$ƒ\} }}| dkrΧtjd2rΠtj%d3ƒq| Sn*tjd4rd5|krtjd6ƒdS|j&tjdƒ}|dNkr2td7ƒ‚nd8| ||f} tjd9r{x&tjd9D]}| d:|7} q`Wntjd;r±x&tjd;D]}| d<|7} q–Wnx)tjd+D]} | d,t| ƒ7} qΏWtjd=rχ| d>7} ntjd?r+| d@t'dAjtjd?ƒƒ7} ntjdBr_| dCt'dAjtjdBƒƒ7} ntjdDr„| dEtjdD7} n| dE|7} tjdFr¬| dG7} ntjdHrΖ| dI7} ntj(tjdƒ|jƒ}|rω| |7} ntj!dJƒtj!d0| ƒt#| d1t$ƒ\} }}tjdKr‘tj(dLƒyt)j*tjdƒWq‘t+k r}tj,dMtjdt-|ƒfƒq‘Xn| S(Os! use Runner lib to do SSH things sStarting Ansible Pull at %F %Tt slocalhost,%s,127.0.0.1Rt.is -c local RWs -%sRtvs -i localhost, s-e %s sansible_python_interpreter=%sR4Rsname=%s dest=%sR0R,R2s version=%sR3s accept_hostkey=yestprivate_key_files key_file=%sR5s verify_commit=yesR7s track_submodules=yesR1s depth=1Rsrepo=%s dest=%ss revision=%ss export=yesRRs5Unsupported (%s) SCM module for pull, choices are: %sR6s force=yessmodule '%s' not found. s*%s/ansible %s %s -m %s -a "%s" all -l "%s"t extra_varss -e %sR.sSleeping for %d seconds...s0running ansible with VCS module to checkout reposEXEC: %stliveR/sFUnable to update repository. Continuing with (forced) run of playbook.R-s"changed": trues%Repository has not changed, quitting.s!Could not find a playbook to run.s%s/ansible-playbook %s %stvault_password_filess --vault-password-file=%st vault_idss --vault-id=%stbecome_ask_passs --ask-become-passt skip_tagss --skip-tags "%s"u,ttagss -t "%s"tsubsets -l "%s"R8s -CR9s -Ds*running ansible-playbook to do actual worktpurget/uFailed to remove %s: %sN(.R:RtruntdatetimetnowRXtstrftimeRtsystargvtplatformtnodeRMRNtsettsplitRRtrangeR!R t executableRRHR t find_pluginRFRRtdirnametabspathttimeR.tdebugtvvvvR tTruetwarningtselect_playbookRtchdirtshutiltrmtreet ExceptionterrorR (RKRmRrthostt limit_optst base_optstxRt repo_optsRtbin_pathtcmdtevtrctb_outtb_errtplaybooktvault_password_filetvault_idte((s4/usr/lib/python2.7/site-packages/ansible/cli/pull.pyRk—sΨ  ?=                  %              ' '          +cC`s3tjj|ƒsdStj|tjƒs/dSdS(Niii(RRRtaccesstR_OK(R((s4/usr/lib/python2.7/site-packages/ansible/cli/pull.pyt try_playbook/s c C`s~d}tjdr‹tjdddk r‹tjj|tjddƒ}tj|ƒ}|dkr‡tj d|tj |fƒdS|St j ƒ}tjj||dƒ}tjj||j dƒddƒ}tjj|tjƒ}g}xZ|||gD]I}tj|ƒ}|dkr/|}Pq|jd|tj |fƒqW|dkrvtj dj|ƒƒn|SdS(NR$is%s: %ss.ymlR^s (RFRRRRRRR–RXR~tPLAYBOOK_ERRORSRMRNRttDEFAULT_PLAYBOOKtappend( RRRtfqdnthostpbt shorthostpbtlocalpbterrorstpb((s4/usr/lib/python2.7/site-packages/ansible/cli/pull.pyR7s,$   & " (sgits subversionshgsbzr(t__name__t __module__t__doc__RGR˜RHR—RVt ARGUMENTSR}tSKIP_INVENTORY_DEFAULTSt staticmethodR!R;RLRkR–R(((s4/usr/lib/python2.7/site-packages/ansible/cli/pull.pyRs      3  ˜(&t __future__RRRttypet __metaclass__RlRRqRRRRMRoRztansibleRRIRt ansible.cliRtansible.cli.argumentsRR<tansible.errorsRtansible.module_utils._textRR tansible.module_utils.six.movesR tansible.plugins.loaderR tansible.utils.cmd_functionsR tansible.utils.displayR RXR(((s4/usr/lib/python2.7/site-packages/ansible/cli/pull.pyts*