我正在使用Ansible来配置棱镜设置。DNS,NTP,警报,代理,身份验证和类似的内容。我会尝试清理所有特定数据并在Nutanix Git或我自己的Git门户上发布它们。
是否有更好的方法可以将cluster_name传递为过滤器并仅在该特定群集上获取VM?
蒂雅
https://github.com/AD-Code/Automation/tree/master/ansible/nutanix_cluster_baseline
我最终找到了怎么做(找不到任何关于过滤器的文档)
- import_tasks: get_session_cookie.yml
—name:获取VMS列表
uri:
Url: "{{api_url_v3}}/vms/list"
身体:
类:VM.
sort_order:升序
偏移:0
长度:1000
sort_attribute:“
过滤器:“cluster_name == {{cluster_name}}”
方法:帖子
validate_certs:no
body_format:json.
status_code:200
标题:
Cookie:“{{session_cookie}}”
注册:VMS_RESULT.
https://github.com/mbach04/nutanix_vm_provisioner
目前工作在供应k8s集群上的nutanix -我将把它放在github上,一旦我满意它。
我刚刚创建了一个ansible角色(https://galaxy.ansible.com/cybergavin/nutanix_vm_create),用于批量创建使用不同镜像、不同子网的虚拟机。它还安装并启用NGT。
-谢谢回复!
我最终找到了怎么做(找不到任何关于过滤器的文档)
过滤器规格杀了我!感谢您分享这个。一旦我知道上下文和语法,它就完全运作。
人们,
是否有可能使用Ansible自动化VM快照流程?
我想采取VM的快照以及恢复相同的之前/之后的维护活动。
你好,
有人能帮助低于要求的人吗?
如何使用ansible删除nutanix虚拟机?
如何获得VM快照成功或与Ansible失败?
如果VM不存在于一个群集中,则将VM Snapshot放置不同的Nutanix群集,然后在一个群集中呈现VM,然后检查其他群集吗?
如何列出VM快照以及日期Ansible?
问候
Raj.
你好
您可以使用“delete / vms / {{uuid}}”API调用轻松使用ASSibe来删除VM。
我的Ansible角色检查快照完成,如果问题将失败。
要列出快照,可以使用“GET /快照”API调用。
拍摄快照时,您无需指定群集,但我猜您的棱镜必须管理所有主机。我是Nutanix的新手,如果我错了,请原谅我:)
你好,
谢谢你提供的信息。Could you help to provide complete ansible playbook for snapshot removal? I tried it something like below doesn’t seems working.
- 名称:删除VM Snapshot {{Inventory_Hostname}}
uri:
URL:“{base_urlv2}} / {vm_uuid}}”
方法:删除
用户:“{{用户名}}”
密码:“{{password}}”
身体:
snapshot_specs:
- UUID:“{{vm_uuid}}”
Snapshot_name:“{{inventory_hostname}}_test”
body_format:json.
标题:
内容类型:application / json
接受:应用/ JSON
force_basic_auth:是的
validate_certs:no
status_code:201
是的,我们正在使用棱镜控制台来管理主机/虚拟机。我们将虚拟机放置在不同的集群中,如果有任何条件,如果虚拟机在一个集群中不存在,那么寻找其他集群,那就太好了。
问候
Raj.
我添加了一个角色,该角色删除给定虚拟机的所有快照:https://github.com/Fredouye/nutanix_ansible/tree/main/roles/vm_snapshots_remove
嗨Fredouye,
谢谢。我t’s working as expected.
是否有人以人类可读格式获取快照创建时间?默认情况下,它以epoch格式显示。
是否有办法使条件,如果虚拟机不存在于一个棱镜,然后检查其他棱镜?挑战在于,我们将vm置于不同的集群中,通过不同的棱镜进行管理。
问候
Raj.
你好,拉吉
似乎Qualanix的API只返回微秒内的日期:
" json ": {
“cluster_uuid”:“0005 cec4 - 5 - d52 efbf - 2 - bb0 - 00505698 - bc02”,
“complete_time_usecs”:1636384114684320,
“create_time_usecs”:1636384114376874
你可以使用strfime过滤器将其转换为人类可读的格式:https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#handling-dates-and-times
- 名称:等到任务已经结束
uri:
URL:'{{API_URL_V2}} /任务/ {{task_uuid}}'
方法:
validate_certs:假
force_basic_auth:true
Url_username: "{{prism_user}}"
Url_password: "{{prism_password}}"
return_content:true
注册:Task_Status.
delogge_to:localhost.
重试:10
延迟:5
直到:task_status.json。progress_status = = "成功"
- 名称:将快照创建时间显示为人类可读格式
调试:
msg:“快照创建时间:{{'%y-%m - %d%h:%m:%s'| strftime((task_status.json.create_time_usecs |字符串)[:10])}}”
结果将是:
任务[snap_nutanix:显示人类可读格式的快照创建时间] **********************************************************************************
[rhel7-1] => {
“msg”:“快照创建时间:2021-11-08 16:24:04”
}
关于多个集群,因为我只能访问一个节点Community Edition集群,我不知道……
也许您可以使用“get / vms /”,并在找到VM之前循环循环。
你好Fredouye,
感谢之前的帮助。
你可以帮助以下问题吗?
- 在服用束VM时有时面临以下问题的快照创建期间?是否需要增加任何时间?
任务(VM的UUID ] **********************************************************************************************************************************************
2011年11月28日星期日23:27:21 +0800(0:00:17.746)0:00:17.746 *******
致命:失败!=> {"changed": false, "content": "" ", "elapsed": 30, "msg": "Status code was -1 and not [200]: Connection failure:('The read operation timed out',)", "redirected": false, "Status ": -1, "url": ""}
- 在拍摄快照之后,条件失败(等待任务完成)在以前的任务中拍摄快照
{"msg": "条件检查'task_status.json。progress_status == \"Succeeded\"' failed. "当计算条件(task_status.json。progress_status == \"Succeeded\"): 'dict object'没有属性'json'"}
- 提供的删除快照播放簿运作良好,但它会删除与VM关联的所有快照.WE是否要求删除特定的快照?
-我们传递的虚拟机名称在库存文件的形式,但少数虚拟机的快照失败,因为库存名称和虚拟机显示名称是大小写敏感的?
问候
Raj.