揭开smartcmp的数据库为我所用

起因

原因是某些人要求有更多的IP地址信息,而我不想要登录那个平台的web进行操作。想要直接更新数据库的方式实现这个请求。

经过

ssh到这个平台的主机,这个平台可以说完全是开源组件构建起来的,但是好像是在卖钱,个人不觉得这个产品的技术价值有多大,但是可能让一些懒惰的人觉得有用。我是不会为它付钱的。

至于这个产品的结构不提了,底层用了一些python,terrform,ansible这样的自动化部署脚本,网络上用networkx这样的东西,然后通讯用celery和amq这样的,web用nginx,监控用了gafana和prometheus,dashborad是自己的java写的,部署用了tomcat。看起来整的还挺多的。。。。。。

吐槽到此为止,进入正题。

找一个没有使用过的ip地址select下看看,发现, | id | created_by | created_at | deleted | deleted_timestamp | exts | lock_version | updated_by | updated_at | tenant_id | deployment_id | vm_external_id | ip_address | port_name | status | vm_name | network_ip_range_id | recycled_at | epg_name | network_profile_id | description | cooldown_at | | 0ec505ff-4dc2-4e6c-ba60-26bee8066e9d | sysadmin | 2019-10-21 09:59:17.128000 | | 0 | {} | 1 | sysadmin | 2019-10-21 09:59:17.238000 | default | NULL | NULL | 10.214.14.90 | NULL | Available | NULL | 5919ff6a-5a49-48ca-ba06-14b836885538 | NULL | NULL | 708b8305-aa0d-4ce9-b912-b9712d4b20b6 | NULL | NULL |

找个没有用过的ip,select下看看,这里的updated_by: ce0858e2-14f7-4588-9150-dc13c61ab310 (这个是我的id号)。

43be24d5-93fc-4245-b9f8-357828d68d5f sysadmin 2019-10-21 09:59:17.124000   0 {} 2 ce0858e2-14f7-4588-9150-dc13c61ab310 2020-11-30 16:44:18.340000 default NULL NULL 10.214.14.71 NULL Occupied demo demo 5919ff6a-5a49-48ca-ba06-14b836885538 NULL NULL 708b8305-aa0d-4ce9-b912-b9712d4b20b6 NULL NULL

那就明显了,只要更新需要更新的,以及自己想要更新的数据段就好了。

更新语句如下:

update network_ip_address set lock_version=2,updated_by="ce0858e2-14f7-4588-9150-dc13c61ab310",updated_at="2021-01-06 16:44:18.340000",status="Occupied",vm_name="just a test" where ip_address="10.214.14.129";

刷新下web就能看到,这个地址被标记为占用了。

为了能够给出可以使用的前十个地址,可以这么查询一下:

select ip_address from network_ip_address where status="Available" order by created_at limit 10;

+--------------+
| ip_address   |
+--------------+
| 10.214.14.77 |
| 10.214.14.78 |
| 10.214.14.81 |
| 10.214.14.79 |
| 10.214.14.84 |
| 10.214.14.82 |
| 10.214.14.85 |
| 10.214.14.83 |
| 10.214.14.87 |
| 10.214.14.90 |
+--------------+
10 rows in set (0.00 sec)

这样脱离web,直接操作数据库感觉好了点。

重要的是,这样,做个前端的web,用户想要自己申请ip可以自己去做。

这样:

就不需要用户做什么变ip地址,申请ip地址的事情了。

今天早上就干了个这。。。。。

总结

smartcmp这个产品能解决一些问题,但是不是我所设想的,因为它并没有给我带来什么启发的东西。我自己做的web也能实现它的功能,当然仅仅是vmware,没有它的那么全面。

小型企业用不上,大型企业看不上。对于有钱的行政事业机关可能有用。

很久没有用sql语句了,基本的语法都忘了。还得search。。。。

| 访问量:
Table of Contents