Code Monkey home page Code Monkey logo

pyu4v's Introduction

Welcome to PyU4V

NOTE

A library showing some of the functionality possible using the RestAPI of Dell EMC's Unisphere for VMAX. See the documentation here: http://pyu4v.readthedocs.io/. Get the Unisphere for VMAX Rest documentation by navigating to https://<ip-address>:<port-number>/univmax/restapi/docs, where <ip-address> = the ip of your Unisphere server and <port-number> = the corresponding port to connect through, eg: https://10.0.0.1:8443/univmax/restapi/docs.

VERSION 3

Please note that version '3.0.0.14' of the library is NOT BACKWARDS COMPATIBLE with existing scripts, and does not support any Unisphere for VMAX version earlier than 8.4 - PyU4V version 2.0.2.6 is still available on Pip, and there is a 'stable/2.0' branch available on Github. Version 3 will be the version maintained going forward, and we do suggest you move to this version when it is released.

WHAT'S SUPPORTED

This package supports Unisphere version 8.4 onwards. We support VMAX3 and VMAX All-Flash and PowerMAX.

INSTALLATION

To give the master branch a try, clone the package using git (see the link above), and install the package using pip (switch to the newly cloned PyU4V directory and run 'pip install .'). Copy the sample PyU4V.conf into your working directory, and add your server and array details to the top of the PyU4V.conf configuration file, under the [setup] heading. Alternatively, you can pass some or all of these details on initialisation. Password, username, server_ip, port, and array MUST be set (either in the config file or on initialisation). Verify can be left as is, or you can enable SSL verification by following the directions below (see SSL CONFIGURATION).

SSL CONFIGURATION

  1. Get the CA certificate of the Unisphere server.

    # openssl s_client -showcerts -connect {server_hostname}:8443 </dev/null 2>/dev/null|openssl x509 -outform PEM > {server_hostname}.pem

    (This pulls the CA cert file and saves it as server_hostname.pem e.g. esxi01vm01.pem)

  2. Either (a) add the certificate to a ca-certificates bundle, OR (b) add the path to the conf file:

    • Copy the pem file to the system certificate directory:
      # cp {server_hostname}.pem /usr/share/ca-certificates/{server_hostname}.crt
    • Update CA certificate database with the following commands (Ensure the new cert file is highlighted)
      # dpkg-reconfigure ca-certificates
      # update-ca-certificates
    • In the conf file ensure "verify=True" OR pass the value in on initialization

  1. In the conf file insert the following: verify=/{path-to-file}/{server_hostname}.pem OR pass the value in on initialization.

USAGE

PyU4V could also be used as the backend for a script, or a menu etc. Just import the PyU4V package, create the connection to the server by instantiating an instance of U4VConn, and you're good to go. The functions are divided up into categories - common, provisioning, replication and performance.

import PyU4V

conn = PyU4V.U4VConn()
conn.provisioning.get_host_list()
conn.replication.find_expired_snapvx_snapshots()

If you wish to query another array without changing the configuration file, call the 'set_array_id(new_array_id)' function, e.g.

conn.set_array_id('000197123456')

EXAMPLES

There are a number of examples which can be run with minimal set-up. For details on how to run these, and other very useful information, please see Paul Martin's blog https://community.emc.com/people/PaulCork/blog

FUTURE

This is still a work in progress. To be expected in the future:
  • Expansion of the RestFunctions library
  • Improved exception handling and logging
  • Unittests
  • Tutorials

CONTRIBUTION

Please do! Create a fork of the project into your own repository. Make all your necessary changes and create a pull request with a description on what was added or removed and details explaining the changes in lines of code. If it all looks good, I'll merge it.

SUPPORT

Please file bugs and issues on the Github issues page for this project. This is to help keep track and document everything related to this repo. For general discussions and further support you can join the {code} Community slack channel. Lastly, for questions asked on Stackoverflow.com, please tag them with Dell or Dell EMC. The code and documentation are released with no warranties or SLAs and are intended to be supported through a community driven process.

pyu4v's People

Contributors

rawstorage avatar ciarams87 avatar michaelmcaleer avatar jbrt avatar nimeob avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.