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
preparation:fhhome:test.py.html [2017/11/24 01:57]
kurihara
preparation:fhhome:test.py.html [2019/02/13 00:18] (current)
kurihara
Line 1: Line 1:
-====== test.py ======+[[:index.html#Preparation|Top#Preparation]] 
 +====== $FHHOME/linux/fabfile/test.py ======
  
 +\\
 +{{INLINETOC}}
 +\\
  
  
 +===== Operation =====
 +<sxh bash toolbar:false gutter:false>
 +$ echo xx.xx.xx.xx | fab -- hostname
 +$ echo xx.xx.xx.xx | fab -- sudo cat /etc/shadow
  
-===== test.py =====+$ fab local_hostname
  
-<wrap hi>Change login user and password and publickkey.</wrap>+$ fab -l |grep test   # check options 
 + 
 +$ echo xx.xx.xx.xx | fab  test.hostname 
 +$ fhghost.sh "*" hosts/test | fab  test.hostname 
 +</sxh> 
 + 
 +\\ 
 +===== fabfile/test.py =====
  
 <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 hostname():+def local_hostname():
     local('hostname')     local('hostname')
 +
 +# test.hostname
 +@task
 +def hostname():
 +    run('hostname')
 +
 +
 +# test.sudo
 +@task
 +def sudo():
 +    """ 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>
 +
 +
  
  
 \\ \\
 +<WRAP box 90%>
 +[[:index.html#Preparation|Top#Preparation]]
 +<catlist ..: -noAddPageButton -noHead >
 +</WRAP>
 \\ \\
-===== Configuration Test ===== +[[:index.html#Preparation|Top#Preparation]]
-<sxh bash toolbar:false gutter:false> +
-$ echo xx.xx.xx.xx | fab -- hostname +
-$ echo xx.xx.xx.xx fab -- sudo cat /etc/shadow +
-</sxh> +


preparation/fhhome/test.py.html.1511456252.txt.gz · Last modified: 2017/11/24 01:57 by kurihara