我正在使用Ansible来配置Prism设置。DNS,NTP,警报,代理,身份验证等。我将尝试清理所有特定数据,并将其发布在Nutanix Git或我自己的Git门户网站上。
有没有更好的方法可以将cluster_name作为过滤器传递并仅在该特定群集上获得VM?
tia
https://github.com/ad-code/automation/tree/master/ansible/nutanix_cluster_baseline
我最终弄清楚了如何做(找不到有关过滤器的任何文档)
- import_tasks:get_session_cookie.yml
- 名称:获取VMS列表
URI:
URL:“ {{api_url_v3}}/vms/list”
身体:
KIND:VM
sort_order:上升
偏移:0
长度:1000
sort_attribute:''
过滤器:“ cluster_name == {{cluster_name}}”
方法:帖子
validate_certs:否
Body_Format:JSON
status_code:200
标题:
cookie:“ {{session_cookie}}”
注册:vms_result
https://github.com/mbach04/nutanix_vm_proviseer
目前正在努力在Nutanix上配备K8S群集 - 一旦我对此感到满意,我将把它放在GitHub上。
我刚刚创造了一个明智的角色(https://galaxy.ansible.com/cybergavin/nutanix_vm_create)用于使用不同图像和不同子网中的VMS创建。它还安装并启用NGT。
- 谢谢您的回复!
我最终弄清楚了如何做(找不到有关过滤器的任何文档)
过滤器规格正在杀死我!感谢您分享这一点。一旦我知道上下文和语法,它就可以完美地工作。
伙计们,
是否可以使用Ansible自动化VM快照过程?
我想在维护活动之前/之后进行VM的快照,并在维护活动之前恢复相同的快照。
你好,
有人可以帮助低于要求吗?
如何使用Ansible删除Nutanix VM?
如果VM快照成功或Ansible失败,该如何获得?
在服用VM快照时,将VM放置在不同的Nutanix群集中,如果一个群集中不存在VM,请检查其他群集吗?
如何列出VM快照以及日期Ansible?
问候
拉吉
你好
您可以使用“ delete /vms /{{uuid}}” API调用轻松使用Ansible删除VM。
我的Ansible角色检查快照完成,如果有问题,任务将失败。
要列出快照,您可以使用“获取 /快照” API调用。
拍摄快照时,您无需指定群集,但我想您的Prism必须管理所有主机。我是Nutanix的新手,如果我错了,请原谅我:)
你好,
感谢您提供的信息。您是否可以帮助您提供完整的Ansible Playbook以删除快照?我尝试了下面的事情似乎不起作用。
- 名称:删除vm快照{{invoctory_hostname}}
URI:
url:“ {{base_urlv2}}/{{vm_uuid}}”
方法:删除
用户:“ {{用户名}}”
密码:“ {{passwass}}”
身体:
snapshot_specs:
- uuid:“ {{{vm_uuid}}”
snapshot_name:“ {{invoctory_hostname}} _ test”
Body_Format:JSON
标题:
内容类型:应用程序/JSON
接受:应用程序/JSON
force_basic_auth:是的
validate_certs:否
status_code:201
是的,我们使用Prism控制台来管理主机/VM。我们将VM放置在不同的群集中,如果可以在一个群集中存在VM,则可以做出任何条件,然后搜索另一个群集。
问候
拉吉
我添加了角色,该角色删除了给定VM的所有快照:https://github.com/fredouye/nutanix_ansible/tree/main/main/roles/vm_snapshots_remove
嗨,弗雷德,
谢谢。它按预期工作。
有没有办法以人类可读格式获得快照创建时间?默认情况下,它以时期格式显示。
是否有方法可以使情况下VM不存在,然后检查其他棱镜吗?面临的挑战是,我们通过不同的棱镜将VM放置在不同的集群中。
问候
拉吉
嗨,拉吉
似乎Nutanix的API仅在微观秒内返回日期:
“ json”:{
“ cluster_uuid”:“ 0005CEC4-5D52-EFBF-2BB0-00505698BC02”,
“完整_time_usecs”:1636384114684320,
“ create_time_usecs”:1636384114376874
您可以使用Strfime过滤器将其转换为人类可读格式:https://docs.ansible.com/ansible/latest/user_guide/playbooks_filters.html#handling-dates-dates-and and-times
- 名称:等待任务结束
URI:
url:'{{api_url_v2}}/tasks/{{task_uuid}}}'
方法:获取
validate_certs:false
force_basic_auth:正确
url_username:“ {{prism_user}}”
url_password:“ {{prism_password}}”
return_content:true
注册:task_status
delegate_to:localhost
重试:10
延迟:5
直到:task_status.json.progress_status ==“成功”
- 名称:显示快照创建时间到人类可读格式
调试:
msg:“快照创建时间:{{{'%y-%m-%d%h:%m:%s'| strftime(((task_status.json.create_time_usecs_usecs | string)| string)[:10]}}}}}}}}}”
结果将是:
任务[snap_nutanix:显示快照创建时间人类可读格式] **************************************************************************************************************************************************************************************************
确定:[rhel7-1] => {
“ msg”:“快照创建时间:2021-11-08 16:24:04”
}
关于多个集群,由于我只能访问一个节点社区版群集,所以我不知道...
也许您可以使用“ get /vms /”,并在簇上循环,直到找到VM。
你好弗雷德,,,,
感谢您以前的所有帮助。
您能帮下面的问题吗?
- 在快照创建期间,有时会在采用一堆VM时面对以下问题?是否有超时或需要增加的东西?
任务[获取VM的UUID] *****************************************************************************************************************************************************************************
2021年11月28日,星期日23:27:21 +0800(0:00:17.746)0:00:17.746 *******
致命:失败!=> {“ change”:false,“ content”:“”,“ apaped”:30,“ msg”:“状态代码为-1而不是[200]:连接失败:('读取操作超时',),“重定向”:false,“状态”:-1,“ url”:“”}
- 在拍摄快照后,该条件正在失败(等到任务完成),但在以前的任务中取得了成功
{“ msg”:“条件检查'task_status.json.progress_status == \“成功\”''失败。对象'没有属性'json'}
- 提供的删除快照剧本运行良好,但它删除了与VM相关的所有快照,我们需要删除特定的快照?
- 我们正在以库存文件的形式传递VM名称,但是对于库存名称和vm显示名称而言,几个VM的快照失败是对病例敏感的吗?
问候
拉吉