OpenStack REST API使用

以前一直想写博客,但因各种因素一直没写。最近在做OpenStack,而OpenStack对外提供REST API,今天就简要介绍一下OpenStack REST API 使用,关于什么是REST API可以参考以下两篇博文:

http://www.choudan.net/2013/07/28/OpenStack-Restful-API.html

http://www.ruanyifeng.com/blog/2011/09/restful.html

简单的来说,一切都是资源,每个资源对应一个URI。

我们可以使用linux curl命令使用REST API向OpenStack发送请求,例如根据用户名、密码和tenant得到token:

curl -i 'http://127.0.0.1:5000/v2.0/tokens' -X POST -H "Content-Type: application/json" -H "Accept: application/json"  -d '{"auth": {"tenantName": "admin", "passwordCredentials": {"username": "admin", "password": "secretsecret"}}}'

但是我觉得用curl命令不太方便,而且有时候返回结果很长很长的时候不太好看,所以就使用了RESTClient,因为是在CentOS环境下工作,于是在火狐下装了个RESTClient插件,像上面的请求可以轻松搞定,加入两个Header,如果要访问其他资源,则还另外需要一个Header:x-auth-token,选择一个Method,然后在Body里面写下需要的东西,截图如下:

aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7IAAAGvCAIAAADpNX7PAAAgAElEQVR4nO3dv2sjab7o4fljTrDBBDZMMA0T3M6W4QZDgYM9cIO7cBPBBsZRY05waE4wFBsYbrLgznqTplBwWU5gUAcD1YFBHTRoggkqUFCBAwUdKOjkvUFJpSpV6act64efhw/neGWpVJbk1ndel6TvRgAA8OJ9t+8dAACA/auMxQ+jfJhnAABw0vJhPnpYNBY/jMbjcfgWJEmSpBNu/HU8+DIYfBnkw7wxFj+M9r5/kiRJ0rOVfkr7n/vVyfg768SSJEl6aY2/jnt3vcGXQXk0xXf5MN/7bkmSJEnPXNJN0k9puWD8XZZle98nSZIk6ZlLPiS9j70sy4zFkiRJerm9/+f73p2xWJIkSS87Y7EkSZJ06mNxnueDL4P+576equJd/fZ+z7r3JUlap8c/cY8+9rM//3v/7PXxlv3530cf+yt/0lMei/M8z/7IxqPx+OvLrf+5v+UnHi7yMBr8fgSTsXtfkvRsPf2z7RN69BP34MefR3/56+j/dI64v/x18NPPK3/SUx6LB18G468v/T2Yd/KL+jAafBns/UdbnntfkvRsHfRYPHrsE3f/x9ejP0f5//j5eBv9Oer/+HrlT3rKY3H/cz98Cy/cjn5RJ7ftAefeB+DZHPpY/Jgn7nHo//h673Pt4+v/+DqMV/ywxuITZywGgF078bH4h9f5Tz8fe/0fjMUvfjAyFgPArhmLDz9jscHIWAwAO2csPvyMxQYjYzEA7NwWz7adv3V28QS9iLF4x2PxH7fR2fn52XWvdnrvuuXEJVtY75zzVxHd/mEwWsshjsXN+708ZfKgqjY954aPFvc+AM9m02fb/uf++dn5v/77X7t4jl50jc8+Fr9Ovz9PJr0aFCf++Lo3O3Hyrf6P5ZmnZ/vpdf+s/J/V7Zwn358nZ9vszzOMxVF0cX59Vznx7vr8Ilo2vlSHm+cfi4dJ5yKKanWS4aIzxGntwllyWbngTbpgg41t7tURjsW1b/XenJ9f3GZPMhYPk878ffpow6RzmWTNr1uurnz8LNiH+7jt8bPqUu3Xtd4Z1j9x9q3pg3z2k7bu4fonNm63tquL71t3aMMNtl18wZYBNrPps+3b/3p7fnZ+/eZ6F8/RrR41Fp+9zn/8ecNe97+/rvxT3Eu/f539+HP+l/ej+RsvG/2vn/Mf3+YhhNCbXtdf8yyE0Mt+LL9V8fE62XyX+mc7H4uvb99F0bvZRXpvzq/fLR1f9j8W159B7+PZFHIf156Aq98KIb2ZjsIhTJ6Pbypb2sXI9RRW/qJev7lu/lq2nvg0v10bjsXLvvUkY3H1xM3vxKzb6XSz5tchpHF9XCsfP/UHUnU3qo/DyQVXXGrBda15hvRm3RMn7uPmPrTu4fonhvnbrbbPk1/G+m/i8quebXD1vWksBp7MpmPxz3/+ObqIXv30Ks/zjS643bP2o564txyL/5plIYR09OPP+Y/xOISQvc/Lsfjj28b5J7Pv6B//Pmgdi8uL/K/34xDCx+v+D4c3Fvf+uI2KxbzJwHrdq40vxTEV5Z/Cy/8Z3f4x3cLddfHn8tmq8+wv6ZXxd3q28zfXTzkWz54aW54js25nuiqWxi3rypVNHedYfP1meuNXfp1aT3yy366TGouz5LJ8VMy+zrqd6CLq3MSVrVUeP6uvpTzz6ku1Xdd6Z7iPo8vOWieWu3UTNebX1j1c/8RQvw3n9qS2IN2YX1dt0FgMPKOVY3HyIXn106vqUYLFcRRlr356lXxIlm9k62ftRz1xj0P/7FX+4+sNu85DCB+vB3On/+V2FEL4eN1+/hBC6A1+eF0Zi2ebKs88+hhCyLK/bLZL/bNXux+Lv2W3F9Mh9e76/E2vMr5kt9NDLLJ3Ucufwovx901vOvXORufJiNx2YvYuOt/FWLxwZiqeehvLwy3nPLKxOM/z6CIqfyGLX6fyt+v87Dy6iJ7+t2vD2bf3ZvoIeaqxeHqsQnwfpsuoxXEL1a/DZLrqxrVjZuZHwzSejW6zr7P7NAtLBu7Gf2LVzf5jbI1LtVzXWmfIkss4XePEys/bNr+27uH6JxZfXybZ/Fw7N61WVo6XX3W5wTB3b1YPyaj+l0x1Qbr8ScvL1u6+pNspHgyzB0D7cS/AS7TOanH2RxZdRD//+efbd7flicW4HF1EK7fwmGftRz1xbzkWvx2HEEIv/dN58v2rrDEWJ386nzT5bjH73o6ykL15lS0di/P/6IUQ8jeHOBaHbHocRe/N+fXdohFneuTD/Fg8HXCXX+ru+ry2Jv20B1HEaZhbnSpVn4/LJ8tFfwQ/srG4+Tv2859/rv52LfnLzrO95G52iM7TjMXT+6683xcOr8Vxq+VKZ3OhtH5QQfMAgy3G4sno1roIunSY3vDY4tbDDFYde5DGF53OZXPWfNxYPLndKhNq48jgyh9tFv1EzQ02z1CdgIvTp1daO0hjtif1/z6ZPgBmF69f6VpHMwMna/2DKIqjiouF4X/997/Oz87f/tfbNS+79bP2o564x6H//av8h9cb9x/Tf4P/uP3Xv50nxUYubuePLc7e5z+8zn+Yzr7/kYbstn82HYur3yq3/KYXQhi9++tG+9P//lnG4jA5jqJ3PTfXzo84rWNx4+vaBDxZb54tNj/BWLzg5XGrx+LaifPD8XGOxc3fsZ3/dq0ei2t/TKgfWvP4sbgxzy0di8u7Put2Wg+rLc9Q/bpyddusFreP7E85Fk8XtlefOLeFyorskj3cZCwub7fyFp471DjrdtqPdV61wTVu/yy5jOJu9edasvOth4U4BgOYWH8sLt+D4q//+6/FWLzR+1Fs96z9qCfurcfiH17nPxQHPIQQQri77p9Nx+LqjDupnH3/OspC9ubfj3YsLubUu+lBxssPBl05Fj/zavGKby1f2Fv0bHpA1vlFnfsd2+1vV+s9WN6/c4+Zu+vz5t8THjUWN+ak9cbitv9qmo6G818vvbrJmZf/zX3lgQcNm4zFrYNj+zS53R5uMBZXbrfJInHtUI2s21l4fMI6Gyy/bj9SOUsuo+gySav/zTP/X86NnW8sQi99rwzgpdh0tbhc633106tN349ii2ftRz1xP24szn94XUy6IWTZxTpj8ev8XRbubgd/hEVj8aAYi99sthvPNhaH3pvK37vbji2uT71tg05tyH7OY4tLS19yV3lzgPbzH/NYXP0d2/lvV/mAqf13TvPB0zjnXsfiltXi5UdQzG9tVy+5a7uu5WeoHAs0G+laT9x6D9c+sX67pTed5H52BMXCdeL5fViwwTVXi+8X7XDrrbfgDC3/PgAvy/pjcTEN/9+b/zsajW7f3RaT8ZqX3fpZ+1FP3NuNxWevkvLAiR9eD/6RhRBG/7HeWPzD2+mBFm1j8dmr/l0IIRv95VDH4sWrevW3npjOypP3nVi2ctx4J4rpidG7252sFoflb9A2WVgq1wvnj3c88rG4+B27fnO989+u6ry71gHEvevidZlLDjt+7FhcHYla7/GWP5dn3U51aG4ZIhuvXVv2VmvVuapycO16b9C28bHFG5+44R6ueeL87VZ93dvcX2ParNjg/FEfi48tDtXl5PpRzkv+26m6fWMxvHhrPtv2P/d//vPP1TP3P/eji2iLz/XY6Fn7UU/c243FxYHFd9fJv50n/xYN/gghpKMfpmPx5PRJ6Vlj9n1XPMlUxuLyIv/zdvIWbxvu0o7H4oNvqw90qC6bzZ8zvaksp839Sf34x+KNHOWHP7ev+U0+EmL2V/XK1/FNPPfmA9N3Zmh/a7aFVxdCy/sb1N/XIpu+0UG0yaVar2vlGdY/cbs9XO/E5u02OwSi9rtWWb2efyeQZRus3pur3omi9lYzre9iseDYDO9EAYQQNhmLm4Nsnuc7erKeu+otn1LHof+nV/nZ6417V3v59OjidX72Or94P27ceuM3r/Ozt+MQwse3k8tOzpaOzqbfqirPtkn9PxmLvzVu+xfGWLwtb2oLwLqeYa59pD2MxQeWsdhYbCzemrEYgHUZiw8/Y7Gx2Fi8NWMxAOs69bH4PD97dez1/3RuLN73L8q+GYsBYNeMxYefsdhgZCwGgJ07/bH4+1fHnrHYYGQsBoCdMxYffsZig9FuflEfRoMvg73fv+59AA7EoY/Fj3niNhafRgajsJtf1MHvg3yY7/3+de8DcCAOfCx+1BP3OAz+dJ4d+WSc/el88P2LH4tfeIMvg11s9vBnYve+JOnZ2tGz7RP2yCfu0X+nvZ9eJ386P956P70e3aUrf9JTHoslSZL02MaTxl/Hx1i5/yt/UmOxJEmSVjU+5tb7GY3FkiRJkrFYkiRJMhZLkiRJoXUsHn8d7323JEmSpGdr/HWcfEh6HytjcT7MD/+TGiRJkqQnrPexl3ST9FOaD/PJWFx8Dkr6KbVmLEmSpJNv/HXc+9hLPiS9u97g98HoYTQdi0ejPM/7n/u9u17STZIPyft/vpckSZJOsuRDknST3l2v/7mf53n56YDfFf8vz/Nizbh315MkSZJOuPRTOvgyqM7Es7F4NBrlw3zw+6D/ud+/lyRJkk60z/3B74PykOKWsRgAAF4sYzEAABiLAQDAWAwAACNjMQAAjIzFAAAwMhYDAMDIWAwAACNjMQAAjIzFAAAwMhYDAMDIWAwAACNjMQAAjIzFAAAwqo3FD6N8mGcAAHDS8mE+elg0Fj+MxuNx+BYkSZKkE278dTz4Mhh8GeTDvDEWP4z2vn+SJEnSs5V+Svuf+9XJ+DvrxJIkSXppjb+Oe3e9wZdBeTTFd/kw3/tuSZIkSc9c0k3ST2m5YPxdlmV73ydJkiTpmUs+JL2PvSzLjMWSJEl6ub3/5/venbFYkiRJLztjsSRJkmQsliRJkozFkiRJUjAWS5IkScFYLEmSJAVjsSRJkhSMxZIkSVIwFkuSJEnBWCxJkiQFY7EkSZIUjMWSJEkvvPHX8dtf3779z2m/vt37Lu0lY7EkSdKLbvx1/PY/Z6Nw9esXlbFYkiTphTZbIV7Q3vfwOXvkWNy7Pjs/P7vuzU7Jbi/mTnlMveuz8/OL22zfN5MkSZJOO2OxJEnSy22DpeKHfvKP29uyu/0cYpDd3Sb3o9pefeiPiv/7uC3vfCzO3kXnZ+dF13eVy95dl6efn0W3f8xtoTj//Fi8YGvFRaLrN9Fsa3/cRrPtP9WYLkmSdFK9/c+36ce09f/On7k2ema9fyT9h2ff4Yd+ctfvf+hl1VOOYizuvTmvzL7n52fn0buscsFKk9l3NhM3vrVka/VLXdxmC7cvSZKkWduOxSG7u+39EcK3EP7o1daPH/rJh17vw+3tP26T+6w/+WIUvoXRfVKcs/yf5brv7Ou5rdUrrnR0n0yu+tvBjcXNrnvfpuu1s3l00fEVldl6ssQ7Oc9kbbjYwrKtTcfiN73JNufPLEmSpJYeu1pcOXEyKD/0k/Jb1fM89JN/FKu8zcuO+h8WbK22D1mv2EJ1T45jLK4dJtF6vET14pWLlNNt9djiZVubHESxYMsOopAkSWpvs7G4cmzx/OJueWI5oc598UevXAAuR97sbjoNF99qbq2yA9XV5dnQfGBj8YKDKJYMsrUDf3cxFjevov5dSZIkbblaXDmwuDLszp9tjbG4uPjc/1ywq1mv+oK/f9zeVjd+6GPx4iMZiqMjJkcGVw+c2OAgitrN1DIWVyoOSq694E+SJElbH0RRHhFRHinxbdT/MD2IonUsbh5EUXz9odcrX0LX3Fp57fMTc/24i0Mfi9teJLd46bd+lPB6L7mrv1CvMhYvWo2WJElSpce85G6yXtvykru2sbjykrvqvJvd1V9d1/6Su1Ht3SfKc95lRzMWh7lZtrLWW54evcuKVeHpau5sMo7e3V4vuFR9aysPonAEhSRJUktvf13wvsW/vqyPuAs+/FmSJEkKxmJJkiQpGIslSZKkYCyWJEmSgrFYkiRJCsZiSZIkKRiLJUmSpGAsliRJkoKxWJIkSQrGYkmSJCkYiyVJkqRgLJYkSZKCsViSJEkKxmJJkiQpGIslSZKkYCyWJEmSgrFYkiRJCsZiSZIkKRiLJUmSpGAsliRJkoKxWJIkSQrGYkmSJClsOhaPHkb5MM9gsXyYjx5G6zz4PJxOyfr3uyRJh9kGY/HoYbTvZ16OxsoJycPpJJmMJUnH2wZjsYU91pcP8+WPPA+nk7Tyfpck6WDbYCze9xMuR2b5I2/fe8eu7P0fNUmStstYzK4sf+Tte+/Ylb3/oyZJ0nYZi9mV5Y+8fe8du7L3f9QkSdouYzG7svyRt++9Y1f2/o+aJEnbZSxmV5Y/8va9d+zK3v9RkyRpu4zF7MryR96+945d2fs/apIkbZexmF1Z/sjb996xK3v/R02SpO3ayVicl4abXWj7Mw/zFhtc+1Mb5nmeT/7vWqbn3OAi04tteJHNfHoff0gX/s+llj/yNtqLnd2bT33Tud+NxZKko+3px+I8T+Nfzs/Pzs/Pzq+6a08zw+Tql7i35nU0z/xbHJ1NrnRaFP+25uZ24FMc/RL3foujNX+o8ida/yJZlg3T+Jco/rDJRTbU/5Tc/hpPRqJP7+Nf49tu2l/vsssfeRvsxDBPLs+jm/TpZ8CNHnXrcL8biyVJR9tTj8XDNP7lPPp78WT9vnMWxZ+K0+sruPXF3SzL8vs4+iVOKytn5bdWnLmu9/eouPba+mJlDa+25eZ1ZdXvZe3naW6neUoxHg3bztC2zdlP1LzIgluseS2zbw8be75kIyvu0DzPere/xvGvcfxrfPsxW3+Bcvkjb92tFDfOZRz/cpVU/xNr6U3aeiMvfSC13SLu9x3c75IkHWxPPRZ/qq1g9X573/sty4Z5ehMVi7jRTZoPs+xTHF1eXRXLupdJnvUmC8zFk3336rz81vIzN66/HIvfV9YX8+7V+eX77FMc/XJ19Utly83ryt53zjrv6/NBufPnl0k++Rnr22k/Je5Nbo08vy8Xs6+SPG9ss/ITTSeeVbdYlmVZehNFf+9Nh6TZIv3kB19vI2vI889J/Gsc/7/+Rn+0X/7IW3szeXJ5fvUh6/09uuqWV9+4Sdtu5JYHUu1uqj6Q3O8tt/wu7ndJkg62px6LP1ydXybzJ36Ko7Or91mWZe+vivXj2ilXybAyT3+arJ/l+WQeWnbmhnIszn6Lo+LMwzT+5bwz2U5xZEUv/mW65bnravqtPE8yu/bmdtq2PJ11kqvpER29v0fnf3vfvs3Kj99b5xbL8uQyin+bXuTD1fllUvwokwlvrY2sofgb+v+r/FV9PcsfeetuZZhcFT9OcaMNyxPrN2nzlPYHUtvd1Hq97vfd3O+SJB1szzIWV06cDSiTcaQX/zJ95i5O+TBd4SuWu8pVsbYzN/80PBuLi0mlm89PHtWzNa+raVhd86vvarmdRafU1g7X22Zl1llxiw2Tq2LWKY9nLZcDi7+er7ORlYrZ6GPx0rDeRhPS8kfeetvI05souimG2zy5PJ8sGDdv0uYpyx5ILXfcPPf7bu53SZIOtqcei6tLellefZ7Os6z8g/iKsXhyPMP0+ODFZ37/t+nc87fJH8ArY/FkU5O/OGfTteFhlpV/hm5eV9OHq/NiCikW/z61bWfBKb3KC7Cmy5x5nueLtjk3Hi2/xSZHhsx+rjzP8/Klh1cf1rvZV+l/SpLZcaV5nvWS53zJ3TC5mnslZXFLNm/S1hu57YHUcje1XrX7fTf3uyRJB9uTvxNFL/7lfLq8l1wVq3TF8QyTUyp//60+T0//vpz9FkdnUXyfF+9o0Wl9Ui/P3Lz66licve+cRdEvV5OR+VNjy83rar70qvwjdfdqtsLX3MPWfZ7s+fvO5Lt53r06r/7hu9xm+RPNlgBX3GKzoz4+xdEv8fu/R9M/pufJ5do3+0rDuZtj3ZdsZU8xFufdq/I/eLJyt+/zrHmTNk9pfSA1HwCLXnLnft/N/S5J0sG2i/ctft9pHJbQ+/vkNUCd4hn9t/rz9G/TS00WjDu1NeDlZ66rj8VZehNNltayyQukOr/UVpfnr6v50qvyx/lbp3NWjj717TRP+W22Xjh5+63JbVJsvLHN8ieaXmTVLVbeFG1r55W/7K+62Xdo+SNvjQ304l/m7oss+9CZ3cK1m7TtlLk7t+UBUD6Q3O9PZu//qEmStF2n+yl3w2INrzIELPmL+UbWObD12RSHq+7r2pda/sjbww498m5yv69n7/+oSZK0Xac7FhcrhdU/wW/0iQlLNLfzVFveQvPHPBjLH3l72KFH3k3u9/Xs/R81SZK263THYvZt+SNv33vHruz9HzVJkrbLWMyuLH/k7Xvv2JW9/6MmSdJ2GYvZleWPvH3vHbuy93/UJEnaLmMxu7L8kbfvvWNX9v6PmiRJ22UsZleWP/L2vXfsyt7/UZMkabuMxezK8kfevveOXdn7P2qSJG3XBmNxPlz7c6548fJhvvyR5+F0klbe75IkHWwbjMWjh9G+n3M5GqOH0fJHnofTSVp5v0uSdLBtMBaHb2H0MLLIx3L5MF9zNvJwOiXr3++SJB1mm43FkiRJ0klmLJYkSZKMxZIkSZKxWJIkSQrGYkmSJCkYiyVJkqRgLJYkSZJC61g8/jre+25JkiRJz9b46zj5kPQ+VsbifJgPvgz2vmeSJEnSs9X72Eu6SfopzYf5ZCwePYwGXwbpp9SasSRJkk6+8ddx72Mv+ZD07nqD3wejh9F0LB6N8jzvf+737npJN0k+JO//+V6SJEk6yZIPSdJNene9/ud+nk+WiidjcTEZF2vGvbueJEmSdMKln9LBl0F1Jp6NxaPRKB/mg98H/c/9/r0kSZJ0on3uD34flIcUt4zFAADwYhmLAQDAWAwAAMZiAAAYGYsBAGBkLAYAgJGxGAAARsZiAAAYGYsBAGBkLAYAgJGxGAAARsZiAAAYGYsBAGBkLAYAgFFtLH4Y5cM8AwCAk5YP89HDorH4YTQej8O3IEmSJJ1w46/jwZfB4MsgH+aNsfhhtPf9kyRJkp6t9FPa/9yvTsbfWSeWJEnSS2v8ddy76w2+DMqjKb7Lh/ned0uSJEl65pJukn5KywXj77Is2/s+SZIkSc9c8iHpfexlWWYsliRJ0svt/T/f9+6MxZIkSXrZGYslSZIkY7EkSZJkLJYkSZKCsViSJEkKxmJJkiQpPHos7l2fnZ/PdXGbbbwfvestLyhJkiQ9QTsYi7cZcI3FkiRJ2mdPMhZf9xafkr2LynE5elfdeHZ7MTn9+q4ci4sTpxe/u25cSpIkSXr6djMWT9d9e28aC8lveuFbqM7Ec2vMxRh9fVdePLr9Y/83kyRJkk67XRxEMR1k/7iNqv9zcubo9o/yW5N5erKiXAzTxbfe9MLcyrEkSZK0s3ZzbHExy95dV5aHQ6iuBM9/q7rGnN1eFF/3rusXlyRJknbUkx9EMTlwom32XXMsLs4W3d7dRg4sliRJ0rO0y7F4u4MovpXfdWCxJEmSnqldHkSx1Uvuat/1lm2SJEl6lnb5krtvIaz3Bm3Ru9u59y2ezNMOLJYkSdKzdKAf/lx9mzZJkiRp1x3mWOyt2SRJkvSsHdxYXB50YalYkiRJz9bBjcWSJEnS82csliRJkozFkiRJ0tZj8XgsSZIkHUdPOhaPl07DXyVJkqSDacl8vGBKXmssntvc6KskSZJ0TK1cP95gLK5uN/8a8pEkSZJ08LXNxxuPxXMrxOU0nI1C9iBJkiQdfI35uHXNeK2xuDoTl1cwyCVJkqRDrxxfm5PxNmNxPgpXd2NJkiTpqMtHm4/FtaXiUbi6G4+/SpIkScdaORY3J+PFY/H0nddG02Mnru7G4/F412+kLEmSJO2i8Xh8dTcujqYYTd/HrXy/toVj8dxScTEWh28BAACO0rdQHYvnFoxXj8X518n7ThiLAQA4YtOxOJu+9m7DsXg0ed8JYzEAAEfsW7i6GxfvTdF84Z2xGACAl8FYDAAAxmIAANj5WJzGF1F0EafP/4MBAMD6djoWZ91OdGMkBgDg4BmLAQDAWAwAAMZiAAAIux2Ls+Qyiu/38mMBAMAmdjcWpzdmYgAAjoTVYgAAcGwxAAAYiwEAIBiLAQAgGIsBACDseCwOIY0vougiNhoDAHDQdjwWAwDAMTAWAwCAsRgAAIzFAAAQjMUAABAOaiy+j6PLJHvkR0YPk07zjS9WbNnbZQAAvHinMBZXR+HNx2JvrgwAwCGNxcOkc5OGENKbTjLc8ILLx+KlWzYWAwBwSGNx030cXUSTism1ZQIuDoGIootOMpyeOL3golXn9CbqdLPia2MxAACHPBancTnX3se1qbf4fvn1/InTGfo+XueIYWMxAACHPBZXpfEGY/H0SInWAyrmPe4VfgAAnIaDHouLpd/mMRKz77aOxUuPM65Lb8zEAAAc8lhcXffdbLV4g7HYajEAACEc8lhcOTI4vZmuFlcOOM66nWg2FrcdOLHWWOzYYgAADnksDllyOTmCotNNyzXdrNuZnpjEk6l3cs74ft2x2DtRAABQc8Bj8TMxFgMAYCw2FgMAYCwOIUw+EGT1UcgAAJwsYzEAABiLAQDAWAwAAMFYDAAAwVgMAADhqMfi+zi6TLLj+PTm6YdXF4ZJ52LySSXbvjdcfYObWv75f8u/u+Jm97YeAMBxMhY/i8oUW/lQ68nn820zGW8+Fq/3Udirz7n0Zvcm0ADAsTrisXiYdG7SEEJ684h102dSTrFpfFGfJodJZ5t13/2NxUtvdmMxAHCsjngsnpcll52kG88fnHA/PaX9xMpsN39iZUF0mHTKcXayXFo9FmK6kWHSuYzjy+lRBOUGb+LJFFtbKq6bu+zkaIT6AQnNDbaec5h0LuKk2ynO3OlmlfN0kmF98G3ePu3fXTiFpzfFVYRgLAYAjtdpjcW1mbIcB2fj7GzJtnJIQzHjtp04G/Lu485lpxj+sm6nbctxGurTc+UMWbcTlWPx5OoaauJ36TwAAA0RSURBVJedTeRZt1PZw8YGW885TDoX01G1tm+1uTmtb3N2+9S+27yhlt4HxmIA4Eid2FhcHp/QNp8tPpIhLDhxmHQuk6w4YOC+OHhgei21Iw2mW64eEVGbI9N4rbG4surc3HjrBlfuRnmG9rG47fZpHZrXchTHeQMAtDnVsbjtUIfqkQDlQQXVMa55YjEpZsllnIY0vij/79yQ2jIrV1Z5Q220XXIQRW1sjaL6brdvsO2c7RPworG4efvMj9rNG6pdemMmBgCO1qmOxZPV4toL2tpeptY6p1ZOTG+iuFtZM+7GLQfgtq7dti7utqy/Tk9ZuZq7erV4av2xuPX2WXTtq1+xZ7UYADhaJzYWzx+GWx9wo9ZDHZoDYnUEnDuqePr14mOLa+usjUOBa1/X9rl22blX+80f0tB6bPEGE3B54sLbZ+ltsuQ+cGwxAHCkTmwsjm/iytsvhOnr8IpT0tkEudY7UYQQGu9B0f6pHK3HBM/O0OkmcfsVVd4cY36Ntv7eEcs22Dhn+8Lz5Kaor0y33T7eiQIAeIFObSz2F/y9MhYDAMfKWMwTMhYDAMfKWMyTKo7oWO/j9AAADscJjcUAALAtYzEAABiLAQDAWAwAAMFYDAAA4UWNxZMPTz7CN6xYsucb/1Btn4DdqvUjoLe/XgCAw2YsPgJ7GYu33iUAgGP0gsbiYdK5SUMI6c1TzIXPacmeb/xDPdFYfLw3JgBAqxc0Fs+pHiRQ/fo+ji6i6CKKauNj8SkVlQ+qGCadyzi+jKKLOB0mnYs46XaKC3a6WZjfVDT97LcsuYzibtIpTxxWvl50XQ3pTeVa5rRcaeXEm3g6Fq/ak/I2WfTTAQCcEmNx/evKYurkOIFQ/fy8rNuZnDhMOhfT4weGSaecF+/jaLap6Rnu46gyjE43m8YXUWVrlWl17ro20HqlsxOzbmfdPamNxc2fDgDgtBiL619XxsrWc5Zz82yQbX7dHBzTuDH1tn/del1bml58Nt9vtSerfzoAgONnLJ7/enYMQ20xeHZkwtxi6pJN1S64/jDauK6Nf67axeurztuNxa03FADACTEWz39dKg8YaP3uyrG4usi65Wrxdj9U40qfYLXYWAwAnLqXOxbPH3HbmGVnx9FWpsaVw2L5deUw3PRm7dXi1utaX/uVLjy22FgMADDxgsfiYkYs3l0hidd9J4q2o2zbv86Sy2i6/bRl6l34deO6Gha/E0Xrlc6OrOh0kx2tFi97cwwAgMP3ksdintIwiY3FAMDxMhbzJLJu7HM9AIAjZiwGAABjMQAAGIsBACAYiwEAIBiLAQAgGIsBACC8qLF48hnI1Y+uOFhzn9vcts+LvjX3iRvTD/KILipna//IkhUXr3yCdPVDQ7JlOwMAcCyMxQdp67G4+IS8cq6dfexzuI8nQ3D7B1xPL3AT1U65j6Ob+U+1S2+mI3K5qWO6bQEA2rygsXiYdG7SEEJ6s/BDlQ/GdCxess+NbxWfZd25iTvVD7KuL/E2ZtbpFc3O36muFrd9pHP9Igt2BgDgyLygsXhellx2ku70cIJyTXR2gEHrifUhsnZiZe4cJp3qMu1sbbW+kWHSuYzjy+kCbbnBm7hl9AwhtM+p05/nPp1eSzy/wBtCbeW4vEi3U5+b47R28Sy5XHWUBQDAaXjZY3F5wEAaTw6TbTvqoLo+Olt/bTkx63Ymk/R93LnsFPNr1u20bTlOQ316rpwh63Zajvpd04KxtT4BlzP67Fom+1m7eBpfdDqX9VH+Po4uk7TbmT9eGQDgqL3wsbic6mYT7Uw5+Lass7afOEw6l0lWHEtwXxxXML2WxrjZcpjvbGxtO1BhTW1jcdbtRK1LvLNji9N4tqQ9PWd190IaV5a0Z6+023o/AQAOirF4ouVQh+piavFStrn10eaJxTibJZdxOpkjK9Nk8zDfygxaX819yrF46drz5IrSm+rhH4uOwai+uq7+gwAAHDtj8eR/FKvF8+ujjWmy8dYNcyemN1HcrawZd6fv5LBwtbj15XFPNhYvXCeuXdFsvo9apv/F+2wsBgBOxgsfiysHCkfx/fyAu+wdzRa9zdncUcXTrxcfW9zyZmpPdmxxbcqfqu7t9KiP9osvOOfsZX+t/5EAAHCMXvhYHN/EtY+lqH1QRTpbCl3rnShCCI33oGh8a/6dKNo+O6PTTbZ4J4rKRqqTfcsacDZ9wVzLUNuy2Nw85+xWslQMAJyIlz4Wm+oAAAjGYmMxAADBWGwsBgAgvOixGAAApozFAABgLAYAAGMxAAAEYzEAAIQjHouLzyv2EWsAADyFox2LQ1jnI98AAGAdxmIAADAWAwDAkY/FWbdjLAYA4Akc9Vgc7uPoxovuAAB4tOMei4PJGACAp3DcY/F9HF0mjqIAAOCxjnosTm8iS8UAADyBYx+Ly5fceVcKAAC2dzJjcRgmsbEYAIDtnMxYnHXjZPjcOwAAwIk42rE4jS+i6CJ2ZDEAAE/gaMdiAAB4OsZiAAAwFgMAgLEYAACCsRgAAMJRj8WTT37Okssovn/eqx4mnYv6p4cMk86Tvy3Gkh9w4589jS86a72B3fIfZI+3OQDATp3OWLyLwbSquv1h0pl7e7iTGYu33iUAgKN2xGPxMOncpCGE9KaTDJ9/LI6Tbqf6GXtPf+1zP+Ca32r3RGPxxtcLAHAkjngsrik+3SOKZsNfecr8LBtdRFH1EIj7OJqcM4pu0gXnrG9/MgRnyWVt4+miDRbLq91ijTmKbtLpenN5hrYdbv6QN/UjN6parrRy4k08HYtX7Un5gyy6uQAATtKpjMVz67Wzv/Jn3U50mWShfkDwfTydPtP4Yno8wH1cmXob52ysFqfFd+emydYNhiy5jCa7UYy/s12qTKtzO7yB1iudnZh1O+vuSW0sbt5cAAAn6jTH4tqIPD1+YDaDLjrmYek527efJZdLDuFI48bU2/516w5vaXrxyXHA2+7J6psLAOCEnO5YHM0OKrhoTK4Lz7z4nEsuPjkUYfEG1xpGGzu88Y9fu3h91Xm7sbj1PzMAAE7R6Y7FjTFu4bBbPRx587E4hPSmOFp38QY3Wy3e7mdvXOkTrBYbiwGAF+O0xuJyNKwMfMvnvMpRs+nNytXiBQcVVN+vrXWDK4fR1h1eX/uVLjy22FgMADDvdMbi4sVk5SvPmu9NsfDg4Gj6Zgtpy9pt45yti7tZtxMt2eDqsbhthxsWvxNF65XOjqzodBOrxQAAy5zQWAwAANsyFgMAgLEYAACMxQAAEIzFAAAQjMUAABCMxQAAEIzFAAAQDmgsLj7MwmdGAACwDwczFoew7FPcAABgl4zFAABgLAYAgAMbi7Nux1gMAMAeHNRYHO7j6MaL7gAAeHaHNRYHkzEAAPtwWGPxfRxdJo6iAADguR3UWJzeRJaKAQDYg0Mbi73kDgCAPTAWAwCAsRgAAA5oLE7jiyi6iB1ZDADAHhzMWAwAAPtjLAYAAGMxAAAYiwEAIBiLAQAg7HAs9s4SAAAcj52uFnsfYgAAjoOxGAAAjMUAALDjsTjrdozFAAAcgd2+E8V9HN140R0AAAdv52/QZjIGAODw7Xy1+DJxFAUAAIdu1y+5s1QMAMAR8E4UAABgLAYAAGMxAACEHY7FaXwRRRexI4sBADgCO3+DNgAAOHzGYgAAMBYDAICxGAAAgrEYAACCsRgAAIKxGAAAgrEYAACCsRgAAIKxGAAAgrEYAACCsRgAAIKxGAAAgrEYAACCsRgAAIKxGAAAgrEYAACCsRgAAIKxGAAAgrEYAACCsRgAAIKxGAAAgrEYAACCsRgAAIKxGAAAgrEYAACCsRgAgJek97HX+9hr+YaxGACAl8NYDAAAixmLAQDAWAwAwImrHjjhIAoAAF4oYzEAAKzHWAwAAMZiAABO0KIDJxxEAQDAC2IsBgCAzRmLAQDAWAwAAI8fi7+GbBSyB2MxAADH7Fu4uhtnDyEbhfzr5mNxuWBsLAYA4IhNx+JiqXjdsTiMw3gcxsZiAABOQ30sHn8N43EIq8fixoKxsRgAgCP2LVzdjVuXileMxXMvvLu6G0uSJElHXfPFdpuNxcVr74qjKYoGuSRJknToleNrPn2l3fZj8dxknI8m700hSZIkHXqjyQQ7NxNvNhY314zn5mNJkiTpoPtam2ObA/HGY/HcyrEkSZJ0LM0NtFuOxcX7tTXn41lfJUmSpINpwdRajrVrjcXjr+P2yXjx+rEkSZJ0sK0ebr+Okw9J72NlLM6H+eDLYOUlJUmSpJOp97GXdJP0U5oP88lYPHoYDb4M0k/pOmvGkiRJ0lE3/jrufewlH5LeXW/w+2D0MJqOxaNRnuf9z/3eXS/pJsmH5P0/30uSJEknWfIhSbpJ767X/9zP88lS8WQsLibjYs24d9eTJEmSTrj0Uzr4MqjOxLOxeDQa5cN88Pug/7nfv5ckSZJOtM/9we+D8pDilrEYAABerP8PYV0t/4CqlbQAAAAASUVORK5CYII=" alt="" />

Body:

{
"auth":{
"passwordCredentials":{
"username":"admin",
"password":""
},
"tenantName":"admin"
}
}

OpenStack的API大多都在官方文档中写了,为什么说大多,而不是全部,是因为有些真没写,我觉得其中没写的分两类:

  1. 没有及时更新。
  2. 觉得没必要写,认为大家可以猜到,或者可以从源码中找到蛛丝马迹。毕竟搞OpenStack还是得要两把刷子。

举几个目前API文档中没写或者没有详细说明用法的API,比如:

  1. OpenStack中的admin用户如何获得所有tenant(project)下的虚机信息。具体的做法是加上query参数all_tenants,即:/v2/{tenant_id}/servers/detail?all_tenants=true
  2. 延伸第一条,admin如何获取某个tenant下的虚机。/v2/{tenant_id}/servers/detail?all_tenants=true&project_id=XXX

还有好多可以加query参数的API,就不一一列举了。

还有一个问题,在API文档中只有URL的后半部分,那么前半部分去哪了,前半部分就在当初安装OpenStack时创建的endpoint中,我们可以使用以下命令找到:

keystone endpoint-list
keystone endpoint-get --service=XXX

在实际的编码中我们当然不能在代码里把URL写死,应该通过查数据表得到各个服务的endpoint,然后生成完整的URL。细心的同学就会发现,在每次认证的时候不仅会返回token而且会返回serviceCatalog,里面就有我们想要的endpoint,就不必再单独再去查一次数据库了。

有个问题没太弄懂,不知是否有人解答一下:

keystone两个端口,一个是5000,一个是35357(adminURL)。两个权限不一样,创建用户什么的必须用35357。我知道OpenStack采用Policy来管理某个用户在某个tenant下的权限。但后台具体是如何区分5000和35357的呢,怎样让35357可以创建用户而5000创建不了用户。

上一篇:javascript 回调 继承


下一篇:接口安全测试基础