FastHandle - IT Operations Examples

FastHandle is fast operation tools for infrastructure configurations and tests.

User Tools

Site Tools


preparation:fhhome:init.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:init.py.html [2018/02/16 01:24]
kurihara
preparation:fhhome:init.py.html [2019/02/13 00:18] (current)
kurihara
Line 1: Line 1:
 [[:index.html#Preparation|Top#Preparation]] [[:index.html#Preparation|Top#Preparation]]
-====== $FHHOME/fabfile/__init__.py ======+====== $FHHOME/linux/fabfile/__init__.py ======
  
  
Line 8: Line 8:
  
 <sxh bash toolbar:false gutter:false> <sxh bash toolbar:false gutter:false>
-import sys, select+import sys, os, glob, select, importlib, re
 from fabric.api import * from fabric.api import *
 from fabric.contrib import files from fabric.contrib import files
 from datetime import datetime from datetime import datetime
 +
 +#======================================================
 +# SSH User
 +#======================================================
 +hostname = os.uname()[1]
 +
 +if hostname == "fasthandle-1":
 +    env.user = 'fasthandle'
 +    env.password = 'fastpass'
 +elif hostname == "stg-fasthandle-1":
 +    env.user = 'fasthandle'
 +    env.password = 'fastpass'
 +elif hostname == "dev-fasthandle-1":
 +    env.user = 'fasthandle'
 +    env.key_filename = '$FHHOME/key/id_rsa.fasthandle.dev-fasthandle-1'
 +    #env.password = 'passphrase-for-key'
 +
 +#======================================================
 +# Variable
 +#======================================================
 +FHHOME=os.environ["FHHOME"]
  
 env.warn_only = True env.warn_only = True
Line 17: Line 38:
 env.eagerly_disconnect = True env.eagerly_disconnect = True
  
-FHHOME=os.environ["FHHOME"]+#don't create *.pyc without __init__.pyc 
 +sys.dont_write_bytecode = True
  
  
 +
 +#======================================================
 +#======================================================
 # standard in for example echo x.x.x.x # standard in for example echo x.x.x.x
 if select.select([sys.stdin,],[],[],0.0)[0]: if select.select([sys.stdin,],[],[],0.0)[0]:
     lines = sys.stdin.read().splitlines()     lines = sys.stdin.read().splitlines()
     env.hosts = filter(bool, lines)     env.hosts = filter(bool, lines)
- 
  
  
Line 45: Line 69:
  
  
-#------------------------------------------- +auto import *.py 
-import  +Ref. https://gist.github.com/fereria/3331554f4c480679716b#file-__init__-py 
-#------------------------------------------- +pathThisFile = os.path.dirname(os.path.abspath(__file__))
-import auth +
-import test+
  
-## OS Management +def loadModule():
-import user +
-import pkg +
-import net +
-import set +
-import get +
-import check +
-import ope+
  
-## Middleware Management +    myself = sys.modules[__name__]
-import httpd +
-import nginx +
-import postfix +
-import squid+
  
-## Programing Languages +    #print __name__
-import php+
  
 +    mod_paths = glob.glob(os.path.join(pathThisFile, '*.py'))
 +    for py_file in mod_paths:
 +        mod_name = os.path.splitext(os.path.basename(py_file))[0]
 +        if re.search(".*__init__.*",mod_name) is None:
 +            mod = importlib.import_module(__name__+ "." + mod_name)
 +            #for m in mod.__dict__.keys():
 +                #if not m in ['__builtins__', '__doc__', '__file__', '__name__', '__package__']:
 +                    #myself.__dict__[m] = mod.__dict__[m]
 +loadModule()
 </sxh> </sxh>
  


preparation/fhhome/init.py.html.1518711852.txt.gz · Last modified: 2018/02/16 01:24 by kurihara