using curl to debug ironic(2)

本文详细介绍了如何使用curl调试REST API,包括打印JSON和XML数据,并展示了如何通过curl获取ironic服务的数据,以及如何利用python-mjson.tool进行数据格式化输出。此外,还解释了如何通过keystone获取认证令牌并访问服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用curl来调试rest是十分方便高效的

http://www.cnblogs.com/gbyukg/p/3326825.html

这篇文章不错

使用curl打印出来的格式看起来比较乱,这个时候使用

http://blog.youkuaiyun.com/caomiao2006/article/details/19923509

使用 curl http://xxx | python -m json.tool 格式化输出

将打印出来的json和xml数据格式化的显示


要访问某一个服务,比如ironic需要拿到对应token,token是会过期的,24小时


第一步,拿到一个token,也包含该tenant对应tenantid

curl -d '{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "xxx"}}}' -H "Content-type: application/json" http://xxx:5000/v2.0/tokens | python -m json.tool

更多的信息可以参照上面curl教程中所述,加入更多的参数。


返回的数据中包含:

  "token": {
            "audit_ids": [
                "2fZjgJTlR5ynzgciJBYptQ"
            ],
            "expires": "2015-03-19T10:03:12Z",
            "id": "f3df359ca33f40af9990aceb82574f71",
            "issued_at": "2015-03-19T09:03:12.550554",
            "tenant": {
                "description": "admin tenant",
                "enabled": true,
                "id": "d63f0cca2367489780c2e29e1034c02b",
                "name": "admin"
            }
        },

第二步,拿着这个token去访问ironic对应的服务:

 curl -H "X-Auth-Token:f3df359ca33f40af9990aceb82574f71" http://xxx:6385/v1/ports/detail | python -m json.tool

输出为:

{
    "ports": [
        {
            "address": "00:90:fa:6c:7d:7c",
            "created_at": "2015-03-19T04:46:03+00:00",
            "extra": {},
            "links": [
                {
                    "href": "http://xxx:6385/v1/ports/9f10c0b8-4400-4e04-8db0-e42c7f689425",
                    "rel": "self"
                },
                {
                    "href": "http://xxx:6385/ports/9f10c0b8-4400-4e04-8db0-e42c7f689425",
                    "rel": "bookmark"
                }
            ],
            "node_uuid": "8cdc7750-9d66-4353-ab3e-99fe82e739e2",
            "updated_at": null,
            "uuid": "9f10c0b8-4400-4e04-8db0-e42c7f689425"
        }
    ]
}

新的keystone直接在拿token的时候舒服tenantname,比原来的keystone需要先拿到unscoped的tenant的token再拿scoped的token方便。如果没记错的话:)

ps:

对于ironic使用pecan,方法

def get_all(self, node_uuid=None, address=None, marker=None, limit=None,sort_key='id', sort_dir='asc'):

对应的rest call是:

 curl -H "X-Auth-Token:791d6350c9f74d6f8d1fdce28e9c768a" http://xxxx:6385/v1/ports/?node_uuid=8cdc7750-9d66-4353-ab3e-99fe82e739e2 | python -m json.tool

方法 def get_one(self, port_uuid): 对应rest call是:

curl -H "X-Auth-Token:791d6350c9f74d6f8d1fdce28e9c768a" http://xxxx:6385/v1/ports/9f10c0b8-4400-4e04-8db0-e42c7f689425 | python -m json.tool



内容概要:本文详细介绍了900W或1Kw,20V-90V 10A双管正激可调电源充电机的研发过程和技术细节。首先阐述了项目背景,强调了充电机在电动汽车和可再生能源领域的重要地位。接着深入探讨了硬件设计方面,包括PCB设计、磁性器件的选择及其对高功率因数的影响。随后介绍了软件实现,特别是程序代码中关键的保护功能如过流保护的具体实现方法。此外,文中还提到了充电机所具备的各种保护机制,如短路保护、欠压保护、电池反接保护、过流保护和过温度保护,确保设备的安全性和可靠性。通讯功能方面,支持RS232隔离通讯,采用自定义协议实现远程监控和控制。最后讨论了散热设计的重要性,以及为满足量产需求所做的准备工作,包括提供详细的PCB图、程序代码、BOM清单、磁性器件和散热片规格书等源文件。 适合人群:从事电力电子产品研发的技术人员,尤其是关注电动汽车充电解决方案的专业人士。 使用场景及目标:适用于需要高效、可靠充电解决方案的企业和个人开发者,旨在帮助他们快速理解和应用双管正激充电机的设计理念和技术要点,从而加速产品开发进程。 其他说明:本文不仅涵盖了理论知识,还包括具体的工程实践案例,对于想要深入了解充电机内部构造和工作原理的人来说是非常有价值的参考资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值