FastHandle - IT Operations Examples

FastHandle is fast operation tools for infrastructure configurations and tests.

User Tools

Site Tools


preparation:fhhome:test.py.html



Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
preparation:fhhome:test.py.html [2017/12/04 00:34]
kurihara
preparation:fhhome:test.py.html [2019/02/13 00:16]
kurihara
Line 1: Line 1:
-~~NOTOC~~ 
 [[:index.html#Preparation|Top#Preparation]] [[:index.html#Preparation|Top#Preparation]]
 +====== $FHHOME/$FHLINUX/fabfile/test.py ======
  
-====== fabfile/test.py ======+\\ 
 +{{INLINETOC}} 
 +\\
  
  
Line 12: Line 14:
 $ fab local_hostname $ fab local_hostname
  
-$ fab -l |grep test. +$ fab -l |grep test.    # check options 
-$ echo xx.xx.xx.xx | fab auth.test test.hostname+ 
 +$ echo xx.xx.xx.xx | fab  test.hostname 
 +$ fhghost.sh "*" hosts/test | fab  test.hostname
 </sxh> </sxh>
  
Line 20: Line 24:
  
 <sxh bash toolbar:false gutter:false> <sxh bash toolbar:false gutter:false>
-import sys+import sys, os
 from fabric.api import * from fabric.api import *
 from fabric.contrib import files from fabric.contrib import files
 +from datetime import datetime
  
 +FHLINUX=os.environ["FHLINUX"]
 +
 +# test.local_hostname
 @task @task
 def local_hostname(): def local_hostname():
     local('hostname')     local('hostname')
  
 +# test.hostname
 @task @task
 def hostname(): def hostname():
     run('hostname')     run('hostname')
  
 +
 +# test.sudo
 @task @task
-def cat_etc_shadow():+def sudo(): 
 +    """ sudo cat /etc/shadow """
     sudo('cat /etc/shadow')     sudo('cat /etc/shadow')
 +
 +
 +# test.arg1:hostname
 +@task
 +def arg1(cmd):
 +    """ fab test.arg1:hostname """
 +    run('%s' % cmd)
 +
 +
 +# test.arg2:hostname,whoami
 +@task
 +def arg2(cmd1, cmd2):
 +    """ fab test.arg2:hostname,whoami """
 +    run('%s' % cmd1)
 +    run('%s' % cmd2)
 +    run('%s ; %s' % (cmd1, cmd2) )
 +
 +
 +# test.put
 +@task
 +def put():
 +    date = datetime.now().strftime('%Y%m%d_%H%M')
 +    local('hostname > /tmp/test.%s' % date)
 +    put('/tmp/test.%s' % date, '/tmp/test.%s' % date)
 +    run('ls -lh /tmp/test.%s' % date)
 +    run('cat /tmp/test.%s' % date)
 +
 +# test.get
 +@task
 +def get():
 +    date = datetime.now().strftime('%Y%m%d_%H%M')
 +    run('hostname > /tmp/test.%s' % date)
 +    get('/tmp/test.%s' % date, '/tmp/test.%s' % date)
 +    local('ls -lh /tmp/test.%s' % date)
 +    local('cat /tmp/test.%s' % date)
  
 </sxh> </sxh>


preparation/fhhome/test.py.html.txt · Last modified: 2019/02/13 00:18 by kurihara