Skip to main content

Python binding for the PowerVM REST API

Project description

NOTE

Current versions should utilize the local authentication mechanism. The remote authentication mechanism is intended only for development and test purposes for the time being.

Overview

pypowervm provides a Python-based API wrapper for interaction with IBM PowerVM-based systems.

License

The library’s license can be found in the LICENSE file. It must be reviewed prior to use.

Project Structure

  • debian/: Debian packaging metadata and controls.

  • pypowervm/: Project source code.

    • helpers/: Decorator methods suitable for passing to the helpers parameter of the pypowervm.adapter.Adapter initializer.

    • locale/: Translated message files for internationalization (I18N).

    • tasks/: Modules for performing complex tasks on PowerVM objects.

      • monitor/: Modules for tasks specific to the PowerVM Performance and Capacity Monitoring (PCM) API.

    • tests/: Functional and unit tests. The directory and file structure mirrors that of the project code. For example, tests for module pypowervm/wrappers/logical_partition.py can be found in pypowervm/tests/wrappers/test_logical_partition.py.

      • data/: Data files used by test cases. These are generally XML dumps obtained from real PowerVM REST API servers, often via the utilities found in pypowervm/tests/test_utils/.

      • helpers/: Tests for modules under pypowervm/helpers/.

      • locale/: Directory structure containing sample internationalization (I18N) files for I18N testing.

      • tasks/: Tests for modules under pypowervm/tasks/.

        • monitor/: Tests for modules under pypowervm/tasks/monitor/.

      • test_utils/: Utilities useful for test development and implementation.

      • utils/: Tests for modules under pypowervm/utils/.

      • wrappers/: Tests for modules under pypowervm/wrappers/.

        • pcm/: Tests for modules under pypowervm/wrappers/pcm/.

    • utils/: Common helper utilities.

    • wrappers/: Modules presenting intuitive hierarchical views and controls on PowerVM REST objects. Simple operations involving getting or setting single, independent attributes on an object are handled by the wrappers defined here.

      • pcm/: Wrapper modules specific to the PowerVM Performance and Capacity Monitoring (PCM) API.

Using Sonar

To enable sonar code scans through tox there are a few steps involved.

  • Install sonar locally. See: http://www.sonarqube.org/downloads/

  • Create a host mapping in /etc/hosts for the name ‘sonar-server’. If the sonar server were on the local host then the entry might be:

    127.0.0.1  sonar-server

    Alternatively, you can set the environment variable SONAR_SERVER prior to invoking tox, to specify the server to use.

  • The following environment variable must be set in order to log onto the sonar server:

    SONAR_USER
    SONAR_PASSWORD

    An example invocation:

    # SONAR_USER=user SONAR_PASSWORD=password tox -e sonar
  • Sonar output is placed in:

    .sonar/

Developer Notes

  • The property pypowervm.base_partition.IOSlot.adapter is deprecated and will be removed no sooner than January 1st, 2017. It has been replaced by the pypowervm.base_partition.IOSlot.io_adapter property. Removal will break compatibility with PowerVC 1.3.0.0 and 1.3.0.1. The issue is resolved as of PowerVC 1.3.0.2.

  • The xag argument to the pypowervm.wrappers.entry_wrapper.EntryWrapper.update method is deprecated and will be removed no sooner than January 1st, 2017.

  • The xags member of the pypowervm.wrappers.virtual_io_server.VIOS class is deprecated and will be removed no sooner than January 1st, 2017. Please use the members of pypowervm.const.XAG instead.

  • Remote Restart in a NovaLink environment is handled by the consuming management layer, not by NovaLink itself. As such, the properties rr_enabled and rr_state of pypowervm.wrappers.logical_partition.LPAR should not be used. These properties are now deprecated and will be removed no sooner than January 1st, 2017. Use the srr_enabled property instead.

  • The method pypowervm.tasks.storage.crt_lu_linked_clone is deprecated and will be removed no sooner than January 1st, 2017. You should now use the pypowervm.tasks.storage.crt_lu method to create a linked clone by passing the source image LU wrapper via the clone parameter.

  • The Adapter cache is removed as of release 1.0.0.4. Attempting to create an Adapter with use_cache=True will result in a CacheNotSupportedException.

  • The property pypowervm.wrappers.managed_system.IOSlot.pci_sub_dev_id is deprecated and will be removed no sooner than January 1st, 2019. It has been replaced by the pypowervm.wrappers.managed_system.IOSlot.pci_subsys_dev_id property.

  • The property pypowervm.wrappers.managed_system.IOSlot.pci_revision_id is deprecated and will be removed no sooner than January 1st, 2019. It has been replaced by the pypowervm.wrappers.managed_system.IOSlot.pci_rev_id property.

  • The property pypowervm.wrappers.managed_system.IOSlot.pci_sub_vendor_id is deprecated and will be removed no sooner than January 1st, 2019. It has been replaced by the pypowervm.wrappers.managed_system.IOSlot.pci_subsys_vendor_id property.

  • The property pypowervm.wrappers.managed_system.IOSlot.dyn_reconfig_conn_index is deprecated and will be removed no sooner than January 1st, 2019. It has been replaced by the pypowervm.wrappers.managed_system.IOSlot.drc_index property.

  • The property pypowervm.wrappers.managed_system.IOSlot.dyn_reconfig_conn_name is deprecated and will be removed no sooner than January 1st, 2019. It has been replaced by the pypowervm.wrappers.managed_system.IOSlot.drc_name property.

  • Passing an arbitrary dictionary into the add_parms argument of pypowervm.tasks.power.power_on and power_off is deprecated. Consumers should migrate to using pypowervm.tasks.power_opts.PowerOnOpts and PowerOffOpts instead.

  • The pypowervm.tasks.power.power_off method is deprecated and will be removed no sooner than January 1st, 2019. Consumers should migrate to using pypowervm.tasks.power.PowerOp.stop for single power-off; or pypowervm.tasks.power.power_off_progressive for soft-retry flows.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pypowervm-1.1.18.tar.gz (898.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pypowervm-1.1.18-py2.py3-none-any.whl (1.1 MB view details)

Uploaded Python 2Python 3

File details

Details for the file pypowervm-1.1.18.tar.gz.

File metadata

  • Download URL: pypowervm-1.1.18.tar.gz
  • Upload date:
  • Size: 898.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.8.1 pkginfo/1.3.2 requests/2.11.0 setuptools/25.2.0 requests-toolbelt/0.7.0 clint/0.5.1 CPython/2.7.12 Linux/4.8.0-58-generic

File hashes

Hashes for pypowervm-1.1.18.tar.gz
Algorithm Hash digest
SHA256 416992040f6bebb0a9c391949f034ce8a959c82423b9be8b993601c8e39451af
MD5 792b25944a6d5db85b376a0bb5e3e021
BLAKE2b-256 c609bf7c6861d0cffce4d1e1f90dfc5a2ff53064f80170f2d6bc304db8b3a5dd

See more details on using hashes here.

File details

Details for the file pypowervm-1.1.18-py2.py3-none-any.whl.

File metadata

  • Download URL: pypowervm-1.1.18-py2.py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.8.1 pkginfo/1.3.2 requests/2.11.0 setuptools/25.2.0 requests-toolbelt/0.7.0 clint/0.5.1 CPython/2.7.12 Linux/4.8.0-58-generic

File hashes

Hashes for pypowervm-1.1.18-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 e6951355acc1159a6e02b3c52e062444638fe65ce237ac664dfdb1012f185b8a
MD5 4c2b5d5fdb2bb34750fa17b277c0fbce
BLAKE2b-256 302911aed2563c93d80ee2c413ff42d0854ba90dcf131b2fe3d3f417c73141c9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page