Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

An addon for managing OpenVMS hosts with fabric

Project Description

An addon for managing OpenVMS hosts with fabric. It wraps some of the methods available in Fabric enabling a user to execute commands on an OpenVMS (tested with OVMS 7.3 and 8.x releases) host.

Install

fabric_vms is on PyPI, so run:

pip install fabric_vms

Compatibility

There are no special requirements for the managed hosts, in particular GNV, vmspython are not required.

Only a subset of fabric’s commands are ported, pull requests are more than welcome.

As an additional feature, an extra module allows to run arbitrary commands on Xura’s v5 SMSC platform PML interpreter if imported as follows:

from fabric_vms import pml

Usage examples

An example of fabfile using fabric_vms.safe_run() wrapper:

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 - Fixes for get and put, add ls
  • 0.2.3 - Add some minor methods and refactor
  • 0.2.2 - Add documentation example
  • 0.2.1 - Add safe_run, get_shadowset_members
  • 0.2.0 - Add PML addon, refactor
  • 0.1.3 - Add queue job stop/start
  • 0.1.2 - Add lsof wrapper
  • 0.1.1 - Add put, get wrappers
  • 0.1.0 - Initial version
Release History

Release History

This version
History Node

0.2.4.2

History Node

0.2.4.1

History Node

0.2.4.0

History Node

0.2.4

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting