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)
| File | Size | Uploaded | |
|---|---|---|---|
| hpecp-0.22.13.tar.gz | 50.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|