跳转到主要内容

用于管理fabric的OpenVMS主机的插件

项目描述

用于通过fabric管理OpenVMS主机的插件。它包装了Fabric中的一些可用方法,使用户能够在一个OpenVMS(已在OVMS 7.3和8.x版本上测试)主机上执行命令。

安装

fabric_vms在PyPI上,因此运行

pip install fabric_vms

兼容性

对于托管主机没有特殊要求,特别是GNVvmspython不是必需的。

仅移植了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 - 初始版本

项目详情


由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面