Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
200ba9b
Feature/dsansible 76/setup read the docs (#17)
blearandy Apr 8, 2022
d7fff3e
Feature/dsansible 76/setup read the docs (#19)
blearandy Jul 11, 2022
eb97922
add two function to pyds8k (#12)
matancarmeli7 Jul 11, 2022
7283122
Revert "add two function to pyds8k (#12)" (#22)
blearandy Jul 11, 2022
a9f48d3
To incorporate the PR - https://github.com/IBM/pyds8k/pull/12 (#24)
AnboAnbo Jul 11, 2022
532cd1e
DSANSIBLE-78 (#21)
AnboAnbo Jul 12, 2022
293700b
DSANSIBLE-28, supporting creating with id & ids (#20)
AnboAnbo Jul 12, 2022
34d1a49
DSANSIBLE-98 Migrate to pytest (#25)
NjM3MjY5NzAgNzA3MzA3 Jul 20, 2022
728633f
DSANSIBLE-78 Add windows to CI (#26)
NjM3MjY5NzAgNzA3MzA3 Jul 21, 2022
affcf03
added create_alias_volumes call in RootVolumeMixin for alias support …
blearandy Jul 27, 2022
53edccb
DSANSIBLE-87 Add resource groups. (#30)
NjM3MjY5NzAgNzA3MzA3 Aug 5, 2022
9daffef
DSANSIBLE-102: add basevolume parser on volume alias request (#31)
AnboAnbo Aug 31, 2022
76b4390
DSANSIBLE-100: flash copy information was not correctly handled due t…
AnboAnbo Sep 1, 2022
fd9b412
Update __init__.py (#34)
blearandy Sep 29, 2022
3a8300a
Migrate from Travis CI to GitHub Actions (#38)
NjM3MjY5NzAgNzA3MzA3 Aug 8, 2023
4114e91
Update examples (#39)
NjM3MjY5NzAgNzA3MzA3 Aug 8, 2023
fc8703a
DSANSIBLE-143 Add HMC Certificate management. (#37)
NjM3MjY5NzAgNzA3MzA3 Aug 8, 2023
ac4db0e
Update min version of requests (#40)
NjM3MjY5NzAgNzA3MzA3 Mar 18, 2025
398ae4d
Update requirements and test matrix. (#41)
NjM3MjY5NzAgNzA3MzA3 Mar 19, 2025
551cedc
Update requirements.txt
blearandy Mar 19, 2025
61f215d
Remove six dependancy (#42)
NjM3MjY5NzAgNzA3MzA3 Apr 23, 2025
52878ca
Update toctree (#43)
NjM3MjY5NzAgNzA3MzA3 Apr 23, 2025
5be0948
Remove configparser dependancy (#44)
NjM3MjY5NzAgNzA3MzA3 Apr 23, 2025
5df9e28
Switch to pyproject.toml (#45)
NjM3MjY5NzAgNzA3MzA3 Apr 24, 2025
e25ba8b
Ruff up pyds8k (#47)
NjM3MjY5NzAgNzA3MzA3 Aug 4, 2025
9da4f6c
Replace httpretty with responses (#48)
NjM3MjY5NzAgNzA3MzA3 Aug 18, 2025
17ee890
Lint Cleanup (#50)
NjM3MjY5NzAgNzA3MzA3 Dec 3, 2025
f63a2ad
Update min version of requests (#51)
NjM3MjY5NzAgNzA3MzA3 Dec 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[run]
omit = pyds8k/test/*
44 changes: 44 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

name: Lint, Test

on:
push:
branches: [ "main", "develop" ]
pull_request:

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Run Ruff Lint
uses: astral-sh/ruff-action@v3
with:
src: "./pyds8k"
- name: Run Ruff Format
uses: astral-sh/ruff-action@v3
with:
args: "format --check --diff"
src: "./pyds8k"

unit_test:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
python: ["3.9", "3.10", "3.11", "3.12", "3.13"]

steps:
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python }}
- name: Install tox and any other packages
run: |
pip install tox
- name: Run tox
run: tox -e py
27 changes: 21 additions & 6 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,24 @@
# Python-generated files
__pycache__/
*.py[oc]
build/
dist/
wheels/
*.egg-info

# Virtual environments
.venv

# Coverage
.coverage
cover

# Docs
docs/html

# Tests
.tox
*.pyc

.project
.idea
.pydevproject
Expand All @@ -10,9 +28,6 @@
*.help
.pylintrc
*.log
__pycache__
.DS_Store
nosetests.xml
*.egg-info
docs/html
cover


1 change: 1 addition & 0 deletions .python-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
3.9
25 changes: 25 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-20.04
tools:
python: "3.9"

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py

# If using Sphinx, optionally build your docs in additional formats such as PDF
formats:
- pdf

# Optionally declare the Python requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt
20 changes: 0 additions & 20 deletions .travis.yml

This file was deleted.

37 changes: 0 additions & 37 deletions Notices.txt
Original file line number Diff line number Diff line change
Expand Up @@ -256,43 +256,6 @@ END OF APACHE 2.0 NOTICES AND INFORMATION
===========================================================================



@@@@@@@@@@@@
===========================================================================
HTTPretty version 0.9.6: The Program includes HTTPretty version 0.9.6
software. IBM obtained the HTTPretty version 0.9.6 software under the
terms and conditions of the following license(s):
---------------------------------------------------------------------------

Copyright (C) <2011-2018> Gabriel Falcão <gabriel@nacaolivre.org>

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.


===========================================================================
END OF HTTPretty version 0.9.6 NOTICES AND INFORMATION
===========================================================================


===========================================================================
END OF NOTICES AND INFORMATION FOR IBM DS8000 Python Client
Version 1.1.0 Third Party Licenses and Notices
Expand Down
48 changes: 37 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,32 @@
# DS8000 Python Client

[![Build Status](https://travis-ci.com/IBM/pyds8k.svg?branch=develop)](https://travis-ci.com/IBM/pyds8k)
[![Build Status](https://github.com/IBM/pyds8k/actions/workflows/main.yml/badge.svg?branch=develop)](https://github.com/IBM/pyds8k/actions/workflows/main.yml)
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/5884/badge)](https://bestpractices.coreinfrastructure.org/projects/5884)
[![Documentation Status](https://readthedocs.org/projects/pyds8k/badge/?version=latest)](https://pyds8k.readthedocs.io/en/latest/?badge=latest)

This repository contains the IBM RESTful API Python client, which establishes terminal connection with IBM DS8000 storage systems. The Python client protocol enables full management and monitoring of these storage arrays by issuing dedicated RESTful APIs.

## Python Compatibility

The content in this collection supports Python 3.6 and newer.
The content in this collection supports Python 3.9 and newer.

## Getting started

Clone the repository, and then add it to your PYTHONPATH directory. The Python client is then ready for import and use.
The library is also available to install using pip. See [the pypi pyds8k project](https://pypi.org/project/pyds8k/)

To install via pip run the following command:

```shell
pip install pyds8k
```

## Documentation

Documentation for the pyds8k library can be generated using sphinx.
The documentation for the latest release is also available via [pyds8k.readthedocs.io](https://pyds8k.readthedocs.io/en/latest)

NOTE: To view older versions of the doc, click on the link at the bottom right corner in the readthedocs link and select the desired version.

## Usage examples

Expand All @@ -22,29 +38,39 @@ Each storage system of DS8000 and major software version has its own set of REST

To display the full RESTful API Reference Guide of a specific storage system and a specific software version:

1. Navigate to a storage system welcome page on KC:

1. Navigate to a storage system welcome page on KC:

2. On the welcome page, select a storage system software version. For example, select **Version 8.5.3**.

![Software version](https://github.com/IBM/pyds8k/blob/master/images/1.jpg)
![Software version](images/1.jpg)

The welcome page of the selected software version is displayed.
The welcome page of the selected software version is displayed.

3. If needed, select the **Table of contents** tab.

![Table of contents](https://github.com/IBM/pyds8k/blob/master/images/2.jpg)
![Table of contents](images/2.jpg)

4. On the table of contents, click **RESTful API**.

![CLI interface](https://github.com/IBM/pyds8k/blob/master/images/3.jpg)
![CLI interface](images/3.jpg)

5. Refer to **Host commands** and to all subsequent chapters.
5. Refer to **Host commands** and to all subsequent chapters.

## Contributing

We do not accept any contributions at the moment. This may change in the future, so you can fork, clone, and suggest a pull request.

## Running tests
Use nosetests command to run a test.

nosetests -v
Use tox to run the test suite

```shell
tox
```

Use pytest to run tests or a specific test.

```shell
pytest --cov-config=.coveragerc --cov pyds8k --disable-warnings -v
pytest --cov-config=.coveragerc --cov pyds8k --disable-warnings -v pyds8k/test/test_resources/test_ds8k/test_host.py
```
37 changes: 37 additions & 0 deletions docs/api/pyds8k.resources.ds8k.v1.hmc.certificate.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
pyds8k.resources.ds8k.v1.hmc.certificate package
================================================

Submodules
----------

pyds8k.resources.ds8k.v1.hmc.certificate.certificate
----------------------------------------------------

.. automodule:: pyds8k.resources.ds8k.v1.hmc.certificate.certificate
:members:
:undoc-members:
:show-inheritance:

pyds8k.resources.ds8k.v1.hmc.certificate.csr module
---------------------------------------------------

.. automodule:: pyds8k.resources.ds8k.v1.hmc.certificate.csr
:members:
:undoc-members:
:show-inheritance:

pyds8k.resources.ds8k.v1.hmc.certificate.selfsigned
---------------------------------------------------

.. automodule:: pyds8k.resources.ds8k.v1.hmc.certificate.selfsigned
:members:
:undoc-members:
:show-inheritance:

Module contents
---------------

.. automodule:: pyds8k.resources.ds8k.v1.hmc.certificate
:members:
:undoc-members:
:show-inheritance:
29 changes: 29 additions & 0 deletions docs/api/pyds8k.resources.ds8k.v1.hmc.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
pyds8k.resources.ds8k.v1.hmc package
====================================

Subpackages
-----------

.. toctree::
:maxdepth: 4

pyds8k.resources.ds8k.v1.hmc.certificate

Submodules
----------

pyds8k.resources.ds8k.v1.hmc.restart module
-------------------------------------------

.. automodule:: pyds8k.resources.ds8k.v1.hmc.restart
:members:
:undoc-members:
:show-inheritance:

Module contents
---------------

.. automodule:: pyds8k.resources.ds8k.v1.hmc
:members:
:undoc-members:
:show-inheritance:
1 change: 1 addition & 0 deletions docs/api/pyds8k.resources.ds8k.v1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Subpackages

pyds8k.resources.ds8k.v1.common
pyds8k.resources.ds8k.v1.cs
pyds8k.resources.ds8k.v1.hmc

Submodules
----------
Expand Down
Loading