用于管理fabric的OpenVMS主机的插件
项目描述
用于通过fabric管理OpenVMS主机的插件。它包装了Fabric中的一些可用方法,使用户能够在一个OpenVMS(已在OVMS 7.3和8.x版本上测试)主机上执行命令。
安装
fabric_vms在PyPI上,因此运行
pip install fabric_vms
兼容性
对于托管主机没有特殊要求,特别是GNV,vmspython不是必需的。
仅移植了fabric的部分命令,欢迎提交拉取请求。
作为额外功能,一个额外的模块允许在导入如下时在Xura的v5 SMSC平台PML解释器上运行任意命令
from fabric_vms import pml
使用示例
使用fabric_vms.safe_run()包装器的fabfile示例
fabfile.py
from fabric.api import env, task
from fabric.utils import puts
from fabric_vms import *
from fabric_vms import safe_run as run # override fabric_vms.run
# Environmental settings
env.use_ssh_config = True
env.colorize_errors = True
env.hosts = ['menta']
env.user = 'SYSTEM'
@task(default=True)
def test():
run('show device dsa /size /units=bytes')
with cd('DSA0:[DELIVERABLES]'):
run('md5sum packed_file.zip')
@task
def restart_snmp():
run_clusterwide(['@SYS$STARTUP:TCPIP$SNMP_SHUTDOWN',
'@SYS$STARTUP:TCPIP$SNMP_STARTUP'])
@task
def stop_custom_services():
run_clusterwide(['@SYS$STARTUP:STOP_SERVICES'])
run('@T4$SYS:T4$STOP ALL')
my_job = queue_job('HOUSEKEEPER')
watchdog = queue_job('WATCHDOG')
my_job.stop_queued_job()
watchdog.stop_queued_job()
# Check open files in DSA2, DSA3:
for shadow_set in ['DSA2', 'DSA3']:
open_files = lsof(shadow_set)
if open_files:
for _file in open_files:
puts(_file)
0.2.4 - 修复get和put,添加ls
0.2.3 - 添加一些小方法并重构
0.2.2 - 添加文档示例
0.2.1 - 添加safe_run,get_shadowset_members
0.2.0 - 添加PML插件,重构
0.1.3 - 添加队列作业停止/启动
0.1.2 - 添加lsof包装器
0.1.1 - 添加put,get包装器
0.1.0 - 初始版本