Skip to main content

Build & Test Code Checks Issues Coverage Status Pyversions MIT license Code Style pypi

Gitpod Ready-to-Code Good first issues open semantic-release


Documentation

See here for User Documentation.

Contributing

See:

Installation

pip3 install -U hpecp

If you encounter an issue installing on Centos 7.7 with Python 2.7 see here for a workaround

CLI examples

You need to create a config file with your endpoint details - note that you can have multiple profiles:

cat > ~/.hpecp.conf <<EOF
[default]
api_host = 127.0.0.1
api_port = 8080
use_ssl = True
verify_ssl = False
warn_ssl = False
username = admin
password = admin123

[tenant1]
tenant = /api/v1/tenant/15
admin = ad_admin1
password = pass123
EOF

Setup bash autocomplete:

source <(hpecp autocomplete bash)

Autocompletion:

hpecp TAB

Add gateway:

hpecp lock create "Install Gateway"
hpecp gateway create-with-ssh-key --ip 10.1.0.5 --proxy-node-hostname my.gateway.local --ssh-key-file controller_private.key
hpecp gateway wait-for-state ${GATEWAY_ID} --states [installed] --timeout-secs 1200
hpecp lock delete-all

Add K8s worker host:

hpecp k8sworker create-with-ssh-key \
    --ip 10.1.0.10 \
    --ssh-key-file controller_private.key \
    --persistent-disks /dev/nvme1n1 \
    --ephemeral-disks /dev/nvme2n1 \
    --wait-for-operation-secs 600

K8s versions:

hpecp k8scluster k8s-supported-versions --major-filter 1 --minor-filter 17

Create k8s cluster:

hpecp k8scluster create --name myclus1 --k8shosts-config /api/v2/worker/k8shost/1:master --k8s_version=1.17.0

Get k8s available addons:

hpecp k8scluster get-available-addons --id $CLUSTER_ID

Add k8s cluster addons:

hpecp k8scluster add-addons --id $CLUSTER_ID --addons [istio,harbor]

List with columns parameter:

hpecp k8scluster list --columns [id,description,status]

List with (jmespath) query parameter:

hpecp catalog list --query "[?state!='installed' && state!='installing'] | [*].[_links.self.href] | []"  --output text

List --query examples:

hpecp tenant examples

Tenant create:

TENANT_ID=$(hpecp tenant create --name tenant1 --description "dev tenant" --k8s-cluster-id $CLUSTER_ID  --tenant-type k8s)
hpecp tenant wait-for-status --id $TENANT_ID --status [ready] --timeout-secs 600

Add LDAP role to Tenant:

ADMIN_GROUP="CN=DemoTenantAdmins,CN=Users,DC=samdom,DC=example,DC=com"
ADMIN_ROLE=$(hpecp role list  --query "[?label.name == 'Admin'][_links.self.href]" --output text)
hpecp tenant add-external-user-group --tenant-id $TENANT_ID --group $ADMIN_GROUP --role-id $ADMIN_ROLE

Add internal user to Tenant:

ADMIN_USER_ID=$(hpecp user list --query "[?label.name == 'admin'][_links.self.href]" --output text)
ADMIN_ROLE=$(hpecp role list  --query "[?label.name == 'Admin'][_links.self.href]" --output text)
hpecp tenant assign-user-to-role --tenant-id $TENANT_ID --role-id $ADMIN_ROLE --user-id $ADMIN_USER_ID

Tenant kube config:

PROFILE=tenant1 hpecp tenant k8skubeconfig > tenant1_kube.conf

# get available Kubedirector apps
kubectl --kubeconfig tenant1_kube.conf -n t1 get kubedirectorapps

# list running applications
kubectl --kubeconfig tenant1_kube.conf -n t1 describe kubedirectorclusters

Http call:

hpecp httpclient get /some/uri

Use a different config file:

HPECP_CONFIG_FILE=myclus.conf hpecp do-something

Logging with HTTP tracing:

export LOG_LEVEL=DEBUG
hpecp do-something

More sophisticated CLI examples here

Python Library Examples

See docs: https://hpe-container-platform-community.github.io/hpecp-python-library/index.html

Example:

from hpecp import ContainerPlatformClient

client = ContainerPlatformClient(username='admin',
                                password='admin123',
                                api_host='127.0.0.1',
                                api_port=8080,
                                use_ssl=True,
                                verify_ssl='/certs/hpecp-ca-cert.pem')
client.create_session() # Login

# Alternatively:
# client = ContainerPlatformClient.create_from_config_file().create_session()

print(client.k8s_cluster.list(columns=['description', 'id']))

On my environment, this displays:

+-------------+-----------------------+
| description |          id           |
+-------------+-----------------------+
| my cluster  | /api/v2/k8scluster/20 |
+-------------+-----------------------+

Metadata

Release files for hpecp 0.22.13

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hpecp 0.22.13
File Size Uploaded
hpecp-0.22.13.tar.gz 50.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for hpecp 0.22.13
File Interpreter ABI Platform
hpecp-0.22.13-py3-none-any.whl Python 3 none any Details

Total release size: 138.2 kB

Release files / hpecp-0.22.13.tar.gz

Download URL hpecp-0.22.13.tar.gz
Size 50.6 kB
Tags Source
SHA-256 checksum
How to use checksums
d2a509025c94881cc5a83016b901536175452371d9f2842cd86445958ae85407
BLAKE2b-256 checksum
How to use checksums
2deb97975e0af5ace5b0c7b1658f19aa40ddda12c4d8bf29d6d915627406e3f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.4 keyring/23.6.0 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.13

Release files / hpecp-0.22.13-py3-none-any.whl

Download URL hpecp-0.22.13-py3-none-any.whl
Size 87.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
93721d0cd4bc08c988602e2bf5a790aef28139543e86e12c03db88f2984e6305
BLAKE2b-256 checksum
How to use checksums
f2c8e4c29347e2cbdc8eb3caeb857be971f9e67b956f398a61c05945493dcbac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.0 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.64.0 importlib-metadata/4.11.4 keyring/23.6.0 rfc3986/2.0.0 colorama/0.4.5 CPython/3.9.13

Release history Release notifications | RSS feed

This release

0.22.13 This release

2 release files

0.22.9

2 release files

0.22.8

2 release files

0.22.7

2 release files

0.22.6

2 release files

0.22.5

2 release files

0.22.4

2 release files

0.22.3

2 release files

0.22.1

2 release files

0.22.0

2 release files

0.21.7

2 release files

0.21.6

2 release files

0.21.5

2 release files

0.21.4

2 release files

0.21.3

2 release files

0.21.2

2 release files

0.21.1

2 release files

0.21.0

2 release files

0.20.4

2 release files

0.20.3

2 release files

0.20.2

2 release files

0.20.1

2 release files

0.20.0

2 release files

0.19.2

2 release files

0.19.1

2 release files

0.19.0

2 release files

0.18.2

2 release files

0.16.1

2 release files

0.16.0

2 release files

0.15.3

2 release files

0.15.2

2 release files

0.15.1

2 release files

0.15.0

2 release files

0.12.5

2 release files

0.12.4

2 release files

0.12.3

2 release files

0.12.2

2 release files

0.12.1

2 release files

0.12.0

2 release files

0.11.1

2 release files

0.11.0

2 release files

0.10.9

2 release files

0.10.8

2 release files

0.10.7

2 release files

0.10.6

2 release files

0.10.5

2 release files

0.10.4

2 release files

0.10.3

2 release files

0.10.2

2 release files

0.10.1

2 release files

0.10.0

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.8.11

2 release files

0.8.10

2 release files

0.8.9

2 release files

0.8.8

2 release files

0.8.7

2 release files

0.8.6

2 release files

0.8.5

2 release files

0.8.4

2 release files

0.8.3

2 release files

0.8.2

2 release files

0.8.1

2 release files

0.8.0

2 release files

0.7.9

2 release files

0.7.8

2 release files

0.7.7

2 release files

0.7.6

2 release files

0.7.5

2 release files

0.7.4

2 release files

0.7.3

2 release files

0.7.2

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page