编写Python程序 要求使用openstack api 开发

在一个搭建有openstack的服务器上使用openstack提供的zun环境,在服务器节点的/root目录下,编写Python程序create_zun.py文件,对接 openstack api,要求上传CentOS7_1804.tar容器,命名为centos7.5-docker,创建并启动zun-container容器(如果存在同名容器,代码中需先进行删除操作)。输出容器名和id和详细信息。
请问一下这个应该如何搭建
同时 有一个示范程序 但是放到机器上运行出现报错

//导入库
from keystoneauth1.identity import v3
from keystoneauth1 import session
from keystoneclient.v3 import client as keyclient
#auth_url为keystone的endpoint入口
//def 定义一个函数
def get_keystone_session():
//定义变量auth 存放认证信息
    auth = v3.Password(auth_url="http://192.168.31.68:5000/v3", username="admin", password="000000", project_name="admin", user_domain_id="default", project_domain_id="default")
///定义变量sess 
    sess = session.Session(auth=auth)
    return sess
#定义好keystone的接口
def get_keystone_client():
//获取get_keystone_session 返回值 认证信息
    sess = get_keystone_session()
    keystone = keyclient.Client(session=sess)
    return keystone
keystone = get_keystone_client()
#查询keystone项目列表[2,4,5,6,7,8]
list = keystone.projects.list()
for p in list:
    print(p)


Traceback (most recent call last):
  File "C:/Users/admin/AppData/Local/Temp/tokens.py/main.py", line 20, in <module>
    list = keystone.projects.list()
  File "C:\Program Files\Python36\lib\site-packages\keystoneclient\v3\projects.py", line 142, in list
    **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\keystoneclient\base.py", line 86, in func
    return f(*args, **new_kwargs)
  File "C:\Program Files\Python36\lib\site-packages\keystoneclient\base.py", line 448, in list
    list_resp = self._list(url_query, self.collection_key)
  File "C:\Program Files\Python36\lib\site-packages\keystoneclient\base.py", line 141, in _list
    resp, body = self.client.get(url, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\adapter.py", line 395, in get
    return self.request(url, 'GET', **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\adapter.py", line 554, in request
    resp = super(LegacyJsonAdapter, self).request(*args, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\adapter.py", line 257, in request
    return self.session.request(url, method, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\session.py", line 790, in request
    auth_headers = self.get_auth_headers(auth)
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\session.py", line 1201, in get_auth_headers
    return auth.get_headers(self, **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\plugin.py", line 106, in get_headers
    token = self.get_token(session)
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\identity\base.py", line 88, in get_token
    return self.get_access(session).auth_token
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\identity\base.py", line 134, in get_access
    self.auth_ref = self.get_auth_ref(session)
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\identity\v3\base.py", line 188, in get_auth_ref
    authenticated=False, log=False, **rkwargs)
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\session.py", line 1149, in post
    return self.request(url, 'POST', **kwargs)
  File "C:\Program Files\Python36\lib\site-packages\keystoneauth1\session.py", line 986, in request
    raise exceptions.from_response(resp, method, url)
keystoneauth1.exceptions.http.Unauthorized: The request you have made requires authentication. (HTTP 401) (Request-ID: req-eb61b3ca-5987-41f3-ac19-aac89ad2b9ed)

进程已结束,退出代码1


参考一下:


如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢