Thank you Dan.
Looking at the documentation, I'm not sure how I can properly use this
parameter.
Looking in internet, I read that I should create a token by using this
command: "openstack token issue" but not use how can use it and if it is
really necessary.
I'm attaching my openrc file provided by Horizon dashboard, if you can
figure out what I'm missing here.
Currently this code is not working:
from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver
username = 'mcanonic'
password = '<MYPASSW>'
project_name = 'CCC-19/20' # It looks like CH-XXXXX
#project_name = 'CH-822574' # It looks like CH-XXXXX
auth_url = 'https://kvm.tacc.chameleoncloud.org:5000' # It looks like
https://kvm.tacc.chameleoncloud.org:5000
region_name = 'KVM@TACC' # It looks like KVM@TACC
cls = get_driver(Provider.OPENSTACK)
client = cls(username,
#password,
api_version='2.1',
ex_tenant_name=project_name,
ex_force_auth_url=auth_url,
ex_force_service_region=region_name,
ex_force_auth_version='3.x_oidc_access_token')
After my signature the error that I got.
Thanks for your support,
Massimo.
[mex@hope code]$ python libcloudOS-mcanonic2.py
/home/mex/.local/lib/python3.8/site-packages/requests/__init__.py:89:
RequestsDependencyWarning: urllib3 (1.26.5) or chardet (3.0.4) doesn't
match a supported version!
warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Traceback (most recent call last):
File "libcloudOS-mcanonic2.py", line 42, in <module>
instances = client.list_nodes()
File
"/home/mex/.local/lib/python3.8/site-packages/libcloud/compute/drivers/openstack.py",
line 2906, in list_nodes
return self._to_nodes(self._paginated_request(
File
"/home/mex/.local/lib/python3.8/site-packages/libcloud/compute/drivers/openstack.py",
line 200, in _paginated_request
data = connection.request(url, params=params)
File
"/home/mex/.local/lib/python3.8/site-packages/libcloud/common/openstack.py",
line 232, in request
return super(OpenStackBaseConnection, self).request(action=action,
File
"/home/mex/.local/lib/python3.8/site-packages/libcloud/common/base.py",
line 555, in request
action = self.morph_action_hook(action)
File
"/home/mex/.local/lib/python3.8/site-packages/libcloud/common/openstack.py",
line 304, in morph_action_hook
self._populate_hosts_and_request_paths()
File
"/home/mex/.local/lib/python3.8/site-packages/libcloud/common/openstack.py",
line 338, in _populate_hosts_and_request_paths
osa = osa.authenticate(**kwargs) # may throw InvalidCreds
File
"/home/mex/.local/lib/python3.8/site-packages/libcloud/common/openstack_identity.py",
line 1431, in authenticate
subject_token = self._get_unscoped_token_from_oidc_token()
File
"/home/mex/.local/lib/python3.8/site-packages/libcloud/common/openstack_identity.py",
line 1512, in _get_unscoped_token_from_oidc_token
response = self.request(path,
File
"/home/mex/.local/lib/python3.8/site-packages/libcloud/common/base.py",
line 655, in request
response = responseCls(**kwargs)
File
"/home/mex/.local/lib/python3.8/site-packages/libcloud/common/base.py",
line 165, in __init__
raise exception_from_message(code=self.status,
libcloud.common.exceptions.BaseHTTPError: <!DOCTYPE HTML PUBLIC
"-//W3C//DTD HTML 3.2 Final//EN">
<title>404 Not Found</title>
<h1>Not Found</h1>
<p>The requested URL was not found on the server. If you entered the URL
manually please check your spelling and try again.</p>
On 6/2/21 11:23 PM, Dan Peschman wrote:
Hello. Just guessing here, is 3.x_oidc_access_token what you want for
ex_force_auth_version?
https://libcloud.readthedocs.io/en/stable/compute/drivers/openstack.html
Dan
On 6/2/21, 1:01 PM, "Massimo Canonico" <massimo.canon...@uniupo.it> wrote:
Caution: This email is from an external sender. Please do not click links
or open attachments unless you recognize the sender and know the content is
safe. Forward suspicious emails to isitbad@.
Hi,
I'm using the openstack cloud provided by chameleon project and they use
the v3oidcpassword.
After my signature, I paste the script that I'm trying to use but it
does not work.
Do you have any suggestion in order to have libcloud working? I read
something related to "openstack token issue" trick but I'm not sure how
to use id and user_id provided by the previous command inside my script.
Thank in advance,
Massimo
from libcloud.compute.types import Provider
from libcloud.compute.providers import get_driver
auth_username = 'mcanonic'
auth_password = '<MY_PASSOWORD>'
project_name = 'CCC-19/20'
auth_url = 'https://kvm.tacc.chameleoncloud.org:5000'
region_name = 'KVM@TACC'
provider = get_driver(Provider.OPENSTACK)
conn =
provider(auth_username,auth_password,ex_force_auth_url=auth_url,ex_force_auth_version='3.x_password',ex_tenant_name=project_name,ex_force_service_region=region_name,api_version='2.1')
instances = conn.list_nodes()
i = 1
for instance in instances:
print(i,"):",instance.name)
i += 1
#!/usr/bin/env bash
export OS_AUTH_URL=https://kvm.tacc.chameleoncloud.org:5000/v3
export OS_IDENTITY_API_VERSION=3
export OS_INTERFACE=public
export OS_PROJECT_ID="362f2cc63b8546fd8ea8f357d7c96906"
export OS_USERNAME="mcanonic"
export OS_PROTOCOL="openid"
export OS_AUTH_TYPE="v3oidcpassword"
echo "($OS_USERNAME) Please enter your Chameleon CLI password: "
read -sr OS_PASSWORD_INPUT
export OS_PASSWORD=$OS_PASSWORD_INPUT
export OS_IDENTITY_PROVIDER="chameleon"
export
OS_DISCOVERY_ENDPOINT="https://auth.chameleoncloud.org/auth/realms/chameleon/.well-known/openid-configuration"
export OS_CLIENT_ID="keystone-kvm-prod"
export OS_ACCESS_TOKEN_TYPE="access_token"
export OS_CLIENT_SECRET="none"
export OS_REGION_NAME="KVM@TACC"
if [ -z "$OS_REGION_NAME" ]; then unset OS_REGION_NAME; fi