我正在用Ansible设置棱镜。DNS, NTP,警报,代理,认证,诸如此类。我将尝试清理我所有的特定数据,并发布到nutanix git,或我自己的git门户。
有没有更好的方法,我可以传递cluster_name作为过滤器,并只在特定的集群上获得虚拟机?
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”
身体:
:虚拟机
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_provisioner.
目前正在努力在Nutanix上配置K8S集群 - 我会在GitHub上放在GitHub上,我很满意。
我刚刚创造了一个ansible角色(https://galaxy.ansible.com/cybergavin/nutanix_vm_create.)用于使用不同图像和不同子网的批量创建VM。它还安装并启用NGT。
- 谢谢你的回复!
我最终弄清楚了如何做到这一点(找不到关于过滤器的任何文件)
过滤器规范简直要了我的命!谢谢你的分享。一旦我知道了上下文和语法,它就完美地工作了。
伙计们,
有可能自动化虚拟机快照过程与Ansible ?
我想取VM的快照,并在维护活动之前/之后还原相同。
你好,
有人可以帮助以下要求吗?
如何使用Assibe删除Nutanix VM?
使用ansible如何获取虚拟机快照成功或失败?
虚拟机被放置在不同的nutanix集群,而采取虚拟机快照,如何使条件,如果虚拟机不存在在一个集群,然后检查其他集群?
如何列出虚拟机快照与日期和可?
问候
拉吉
嗨
你可以很容易地使用Ansible来删除一个虚拟机,使用“delete /vms/{{uuid}}”API调用。
我的Ansible角色检查快照是否完成,如果有问题,任务将失败。
要列出快照,您可以使用“get / snapshots”API调用。
在获取快照时,您不需要指定集群,但我猜Prism必须管理所有主机。我刚接触Nutanix,如果我错了,请原谅我:)
你好,
感谢您的信息。您可以帮助提供完整的Ansible Playbook for Snapshot删除吗?我尝试过它的东西,似乎看起来不起作用。
—name: DELETE虚拟机快照{{inventory_hostname}}
Uri:
Url: "{{base_urlv2}}/{{vm_uuid}}"
方法:删除
用户:“{{username}}”
密码:“{{Password}}”
身体:
snapshot_specs:
—uuid:“{{vm_uuid}}”
snapshot_name:“{{inventory_hostname}} _ test”
body_format: json
标题:
内容类型:应用程序/ JSON
接受:application / json
force_basic_auth:是的
validate_certs:不
status_code: 201
是的,我们正在使用棱镜控制台来管理主机/虚拟机。我们有VM放置在不同的群集中,如果VM在一个群集中没有呈现任何条件,那么如果在一个群集中搜索其他情况,则会很大。
问候
拉吉
嗨Fredouye,
谢谢。它按预期工作。
有没有办法获得人类可读格式的快照创建时间?默认情况下,它显示为epoch格式。
如果VM不存在于一个棱镜,那么是否有方法是检查其他棱镜?挑战是通过不同的棱镜在不同的群集中放置了VM。
问候
拉吉
嗨raj.
看起来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-and -times.
—name:等待任务结束
Uri:
Url: '{{api_url_v2}}/tasks/{{task_uuid}}'
方法:获取
validate_certs:false.
force_basic_auth:真
url_username:“{{prism_user}}”
URL_PASSWORD:“{{prism_password}}”
return_content:真
注册:task_status
delegate_to: localhost
重试:10
延迟:5
直到:task_status.json.progress_status ==“成功”
—name:以人类可读的格式显示快照创建时间
调试:
msg: "快照创建时间:{{'%Y-%m-%d %H:% m:%S' | strftime((task_status.json.create_time_usecs|string)[:10])}}"
结果将是:
任务(snap_nutanix:显示快照创建时间为人类可读的格式 ] **********************************************************************************
好的:[rhel7-1] => {
msg: "快照创建时间:2019-11-08 16:24:04"
}
关于多个群集,因为我只能访问单个节点社区版本集群,我不知道...
也许您可以使用“GET /vms/”,并在集群中循环,直到找到VM。
谢谢你以前的所有帮助。
您能帮助解决以下问题吗?
在创建快照时,有时会遇到以下问题,而采取一堆虚拟机?是否有任何超时或需要增加的东西?
任务[获得VM的UUID] ***********************************************************************************************************************************************
2021年11月28日星期日23:27:21 +0800 (0:00:17.746)0:00:17.746 *******
致命:失败!=> {“已更改”:false,“内容”:“”,“已经过”:30,“msg”:“状态代码为-1,而不是[200]:连接失败:('读取操作超时',)“,”重定向“:false,”状态“:-1,”URL“:”}
—前一个任务快照成功,但快照成功后,有少数虚拟机快照失败(等待任务完成)
{“msg”:“条件检查'task_status.json.progress_status == \”成功“失败。错误是:评估条件的时出错(task_status.json.progress_status == \”成功“):'dict对象'没有属性'json'“}
—所提供的删除快照剧本运行良好,但它会删除所有与VM关联的快照。我们需要删除特定的快照?
- 我们通过清单文件的形式传递VM名称,但由于库存名称和VM显示名称,少量VM的快照失败区分大小写?
问候
拉吉