清理openstack环境时误删除了service项目。导致openstack环境无法使用。
通过数据库查看service已经不存在,如下:

MariaDB [keystone]> select * from project;
+----------------------------------+--------------------------+-------+-----------------------------------------------+---------+--------------------------+-----------+-----------+
| id                               | name                     | extra | description                                   | enabled | domain_id                | parent_id | is_domain |
+----------------------------------+--------------------------+-------+-----------------------------------------------+---------+--------------------------+-----------+-----------+
| 1d9bd70040b74eda8b1d83405164358a | heat_user_domain         | {}    |                                               |       1 | <<keystone.domain.root>> | NULL      |         1 |
| 9cd5c8c1c2254390921a4e88ef9378aa | admin                    | {}    | Bootstrap project for initializing the cloud. |       1 | default                  | default   |         0 |
| <<keystone.domain.root>>         | <<keystone.domain.root>> | {}    |                                               |       0 | <<keystone.domain.root>> | NULL      |         1 |
| default                          | Default                  | {}    | The default domain                            |       1 | <<keystone.domain.root>> | NULL      |         1 |
+----------------------------------+--------------------------+-------+-----------------------------------------------+---------+--------------------------+-----------+-----------+
4 rows in set (0.000 sec)

1:查找被删除数据,在keystone的数据中有revocation_event表。

MariaDB [keystone]> select * from revocation_event;
+----+-----------+----------------------------------+----------------------------------+---------+----------+-------------+-----------------+---------------------+------------+---------------------+----------+----------------+
| id | domain_id | project_id                       | user_id                          | role_id | trust_id | consumer_id | access_token_id | issued_before       | expires_at | revoked_at          | audit_id | audit_chain_id |
+----+-----------+----------------------------------+----------------------------------+---------+----------+-------------+-----------------+---------------------+------------+---------------------+----------+----------------+
|  3 | NULL      | NULL                             | adb1ad554fc24487be7afcfda799827e | NULL    | NULL     | NULL        | NULL            | 2021-09-07 03:35:37 | NULL       | 2021-09-07 03:35:37 | NULL     | NULL           |
|  6 | NULL      | NULL                             | 768a8561feca4853b055aca6651c2ad6 | NULL    | NULL     | NULL        | NULL            | 2021-09-07 03:41:57 | NULL       | 2021-09-07 03:41:57 | NULL     | NULL           |
|  9 | NULL      | NULL                             | adb1ad554fc24487be7afcfda799827e | NULL    | NULL     | NULL        | NULL            | 2021-09-07 03:42:01 | NULL       | 2021-09-07 03:42:01 | NULL     | NULL           |
| 12 | NULL      | NULL                             | 985242806632461493fa604ffa17e4cf | NULL    | NULL     | NULL        | NULL            | 2021-09-07 03:42:05 | NULL       | 2021-09-07 03:42:05 | NULL     | NULL           |
| 15 | NULL      | NULL                             | 317ea7b2cd7a47a99425852efea83f3a | NULL    | NULL     | NULL        | NULL            | 2021-09-07 04:46:00 | NULL       | 2021-09-07 04:46:00 | NULL     | NULL           |
| 18 | NULL      | NULL                             | e52d02250e1d405b8d0b1fda4434aed0 | NULL    | NULL     | NULL        | NULL            | 2021-09-07 04:50:43 | NULL       | 2021-09-07 04:50:43 | NULL     | NULL           |
| 21 | NULL      | e01d2f315de4441faf4677c4abf90513 | NULL                             | NULL    | NULL     | NULL        | NULL            | 2021-09-07 06:28:39 | NULL       | 2021-09-07 06:28:39 | NULL     | NULL           |
+----+-----------+----------------------------------+----------------------------------+---------+----------+-------------+-----------------+---------------------+------------+---------------------+----------+----------------+
7 rows in set (0.000 sec)
可以看到,一共执行了和项目id相关的5条delete操作,删除了project ,assignment ,credential ,project_endpoint_group,project_endpoint这5张表的内容
其中,只有project ,assignment两张表有数据,所以要做的就是恢复这两张表。
以上可以通过project_id对应的字段得到被删除的service ID

2:创建service 项目

openstack project create --domain default --description "Service Project" service
在数据库中更新service的ID
MariaDB [keystone]> update project set id='e01d2f315de4441faf4677c4abf90513' where name='service';

3:查询关系表assignment

MariaDB [keystone]> select * from assignment;
+-------------+----------------------------------+----------------------------------+----------------------------------+-----------+
| type        | actor_id                         | target_id                        | role_id                          | inherited |
+-------------+----------------------------------+----------------------------------+----------------------------------+-----------+
| UserProject | 985242806632461493fa604ffa17e4cf | 9cd5c8c1c2254390921a4e88ef9378aa | f90fa71dab784f218c97cdd73bc0fbb4 |         0 |
| UserProject | adb1ad554fc24487be7afcfda799827e | 9cd5c8c1c2254390921a4e88ef9378aa | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserDomain  | 56a45fd8889a44ebb74479e75ba21ec8 | 1d9bd70040b74eda8b1d83405164358a | afd78d4352d6466dabb717fef9ea2da7 |         0 |
+-------------+----------------------------------+----------------------------------+----------------------------------+-----------+
3 rows in set (0.000 sec)
actor_id是用户ID,target_id是项目ID,role则是角色ID。

4:查看openstack中project、user和role

[root@animbus-1 ~]# openstack project list
+----------------------------------+---------+
| ID                               | Name    |
+----------------------------------+---------+
| 9cd5c8c1c2254390921a4e88ef9378aa | admin   |
| e01d2f315de4441faf4677c4abf90513 | service |
+----------------------------------+---------+
[root@animbus-1 ~]# openstack user list
+----------------------------------+--------------------+
| ID                               | Name               |
+----------------------------------+--------------------+
| 768a8561feca4853b055aca6651c2ad6 | contribmiddleware  |
| adb1ad554fc24487be7afcfda799827e | admin              |
| 985242806632461493fa604ffa17e4cf | administrator      |
| 317ea7b2cd7a47a99425852efea83f3a | ceph_rgw           |
| 09a56231546047c59091971e27ed3414 | glance             |
| 57a8cda9a22240cca40bd3aba9fb6bf9 | cinder             |
| 5ac68c5000594ceb8596f3cc16369a8f | placement          |
| 0c83e5d165894bd28c1987ce134d7ec3 | nova               |
| e499fd5daf894e38be255441aba2a03c | neutron            |
| 508f531a6a0546388ba972082c199ed5 | heat               |
| 56a45fd8889a44ebb74479e75ba21ec8 | heat_domain_admin  |
| 5fdd4af2c2f44374b3921cc5ba76bff2 | courier            |
| 068624f228f245c0a0d7ffd0573482c7 | skyline            |
| edc904c617bd4644a6faa03b18c82090 | gocron             |
| 6ded17c45fdd4fbb920835a97c6adc17 | billing_system     |
| d9090608385645a4a3c42845675a5d91 | workflow           |
| e52d02250e1d405b8d0b1fda4434aed0 | openstack_exporter |
+----------------------------------+--------------------+
[root@animbus-1 ~]# openstack role list  |grep admin
| 07aa486d1c8e4d76b80522d84cf92d35 | nova_system_admin       |
| 0849526c1f604c0ea38b41a160890882 | panko_system_admin      |
| 590b01d92c33432eb54b584b2efac5cd | neutron_system_admin    |
| 66e2ea6c62f140168020b1a74ef616ac | nova_project_admin      |
| 6903b6a6823d40c7ba4f022fe67a3707 | neutron_project_admin   |
| 7c1a28d7f4ce49b4991fc4a479ad76c0 | project_admin           |
| 88f6bdb9d74d4ed68b4e352eb7345f93 | glance_project_admin    |
| 98f1f83778bd4b6ca40263100f9e1b65 | heat_project_admin      |
| a0bfb24f536d488a814224a9731e6581 | octavia_system_admin    |
| a2575570cc51475cba2be08764ce8acd | heat_system_admin       |
| a32575bca3804b1aa55de1441fc0084b | keystone_system_admin   |
| a492b3cf2b70404d86e38693ddff7539 | octavia_project_admin   |
| a72bd99ea7c143d68288b32defd7844b | cinder_system_admin     |
| ac3435c975804330946dc77d57b7eac4 | courier_system_admin    |
| afd78d4352d6466dabb717fef9ea2da7 | admin                   |
| b8a44f07dc714ec780f0780bf1524c18 | keystone_project_admin  |
| c41d6f2fdae34c80823b3aa93ddf997a | glance_system_admin     |
| d026c6fbb9554165bee377e17bbecfb6 | courier_project_admin   |
| dd57d651f3c14b71a31418796ed66b55 | cinder_project_admin    |
| dda39a7bdcfb49828e8618e3eeeab060 | ironic_system_admin     |
| e1099c087174423cb8b62837ab9a16a0 | placement_system_admin  |
| ec2b085d27124599b69e608db56ddf12 | panko_project_admin     |
| f90fa71dab784f218c97cdd73bc0fbb4 | system_admin            |

5:更新keystone.assignment表插入对应数据

INSERT INTO keystone.assignment(type, actor_id, target_id, role_id, inherited) VALUES ('UserProject', '7bf261c82dea49e4ab6741b7ec800f5a', '24d6d57ed7b04a88b101353ef2cb5a0a', '5dcd75bdff9f4d0ea0f221d32992ea3', '0');
MariaDB [keystone]> select * from assignment;
+-------------+----------------------------------+----------------------------------+----------------------------------+-----------+
| type        | actor_id                         | target_id                        | role_id                          | inherited |
+-------------+----------------------------------+----------------------------------+----------------------------------+-----------+
| UserProject | 068624f228f245c0a0d7ffd0573482c7 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | 09a56231546047c59091971e27ed3414 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | 0c83e5d165894bd28c1987ce134d7ec3 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | 317ea7b2cd7a47a99425852efea83f3a | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | 508f531a6a0546388ba972082c199ed5 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | 56a45fd8889a44ebb74479e75ba21ec8 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | 57a8cda9a22240cca40bd3aba9fb6bf9 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | 5ac68c5000594ceb8596f3cc16369a8f | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | 5fdd4af2c2f44374b3921cc5ba76bff2 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | 6ded17c45fdd4fbb920835a97c6adc17 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | 985242806632461493fa604ffa17e4cf | 9cd5c8c1c2254390921a4e88ef9378aa | f90fa71dab784f218c97cdd73bc0fbb4 |         0 |
| UserProject | adb1ad554fc24487be7afcfda799827e | 9cd5c8c1c2254390921a4e88ef9378aa | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | d9090608385645a4a3c42845675a5d91 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | e499fd5daf894e38be255441aba2a03c | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | e52d02250e1d405b8d0b1fda4434aed0 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserProject | edc904c617bd4644a6faa03b18c82090 | e01d2f315de4441faf4677c4abf90513 | afd78d4352d6466dabb717fef9ea2da7 |         0 |
| UserDomain  | 56a45fd8889a44ebb74479e75ba21ec8 | 1d9bd70040b74eda8b1d83405164358a | afd78d4352d6466dabb717fef9ea2da7 |         0 |
+-------------+----------------------------------+----------------------------------+----------------------------------+-----------+
17 rows in set (0.000 sec)

6:平台验证

[root@animbus-1 ~]# source admin-openrc.sh
[root@animbus-1 ~]# glance image-list
+----+------+
| ID | Name |
+----+------+
+----+------+
[root@animbus-1 ~]# nova list
+----+------+--------+------------+-------------+----------+
| ID | Name | Status | Task State | Power State | Networks |
+----+------+--------+------------+-------------+----------+
+----+------+--------+------------+-------------+----------+
[root@animbus-1 ~]# neutron net-create test
neutron CLI is deprecated and will be removed in the future. Use openstack CLI instead.
Created a new network:
+---------------------------+--------------------------------------+
| Field                     | Value                                |
+---------------------------+--------------------------------------+
| admin_state_up            | True                                 |
| availability_zone_hints   |                                      |
| availability_zones        |                                      |
| created_at                | 2021-09-07T07:04:44Z                 |
| description               |                                      |
| id                        | 7bc9892f-ddd0-4fa8-b97f-0efb1002f66e |
| ipv4_address_scope        |                                      |
| ipv6_address_scope        |                                      |
| is_default                | False                                |
| mtu                       | 1500                                 |
| name                      | test                                 |
| port_security_enabled     | True                                 |
| project_id                | 9cd5c8c1c2254390921a4e88ef9378aa     |
| provider:network_type     | vlan                                 |
| provider:physical_network | physnet1                             |
| provider:segmentation_id  | 1000                                 |
| qos_policy_id             |                                      |
| revision_number           | 1                                    |
| router:external           | False                                |
| shared                    | False                                |
| status                    | ACTIVE                               |
| subnets                   |                                      |
| tags                      |                                      |
| tenant_id                 | 9cd5c8c1c2254390921a4e88ef9378aa     |
| updated_at                | 2021-09-07T07:04:44Z                 |
+---------------------------+--------------------------------------+

openstack误删service恢复方法相关推荐

  1. 如何快速恢复误删文件?文件误删的恢复方法-附软件

    来源:https://blog.yoodb.com/yoodb/article/detail/1606 怎么快速恢复删除文件?俗话说覆水难收,其实很多人也认为如果将文件删除了,就如同泼出去的谁,是很难 ...

  2. linux重启文件被删除,linux 误删文件恢复方法(debugfs)

    应用linux自带工具debugfs恢复误删文件方法演示 1.创建一个文件写入内容并删除 cj@cj-virtual-machine:~/Documents/debugfs_example$ vim ...

  3. linux各种误删文件恢复方法(经典强推)

    linux不像windows有个回收站,使用rm -rf *基本上文件是找不回来的. 那么问题来了: 对于linux下误删的文件,我们是否真的无法通过软件进行恢复呢? 答案当然是否定的,对于误删的文件 ...

  4. git 误删分支恢复方法

    在使用git的过程中,因为人为因素造成分支(commit)被删除,可以使用以下步骤进行恢复. 首先用以下步骤创建一个新分支,修改一些文件后删除,以便进行恢复. 1.创建分支 abc git branc ...

  5. android 恢复照片误删,安卓手机照片误删怎么恢复?一般人不知道这个恢复方法...

    安卓手机照片误删怎么恢复?一般人不知道这个恢复方法 2019年06月12日 17:40作者:黄页编辑:黄页 分享 安卓手机照片误删怎么恢复?一般人不知道这个恢复方法.手机可以说取得相当大的成功了,在近 ...

  6. word误删如何恢复

    Word是小伙伴们在日常办公中经常使用的软件,但在使用中,难免会因为一些误操作或者其他因素,不小心把重要的文件给误删了,在这种情况下就可以尝试恢复丢失的文档或文件.那么word误删如何恢复呢?本文将给 ...

  7. U盘东西误删怎么恢复,轻松三步立即恢复

    U盘是可以帮助我们存储各种重要文件的移动存储工具.不知道大家有没有误删U盘文件的经历,大家都是怎么解决的呢?U盘东西误删了怎么恢复呢?本篇文章就要为大家介绍简单使用的方法. U盘东西误删的恢复方法 U ...

  8. Excel文档误删的4种恢复方法,1秒就可以还原所有内容,你用过吗

    相信大家都误删过手机里面的文件,那么如果你误删过手机里面的Excel文档吗?如果误删过的话,那么你就要知道以下的恢复方法了,每一个都非常好用,强大到不可思议. 一.常用恢复 1.回收站还原 首先我们可 ...

  9. Linux中误删文件的恢复方法

    Linux中误删文件的恢复方法 做为Linux的从业者大家对"rm -rf"这个命令肯定又爱又恨. 他的简洁霸气,势不可挡,可谓"十步杀一人,千里不留行", 他 ...

最新文章

  1. 安全测试中常见的术语
  2. 520,花一夜给女神写走迷宫游戏
  3. FineUI控件集合
  4. python2默认编码_解决Python2.x编码之殇
  5. 2016四季度 服务器收入和出货量双下滑
  6. 03—Shell脚本编写规范
  7. Elixir 初尝试 5 -- 遇见Actor
  8. 票务系统开发_景区票务系统部署到底是SaaS还是本地化呢?
  9. 指数随机变量 泊松过程跳_概率微课:第二章(19) 连续型随机变量函数的分布1...
  10. 力扣每日一刷-144,二叉树前序遍历-递归解法
  11. 单相半桥两电平电压型逆变器的正弦脉宽调制(SPWM)——Matlab程序
  12. RTX2080Ti和RTX2080 Super 那个好
  13. [微信小程序] 单张、多张图片上传(图片转base64格式)实践经验
  14. 这才不是我想看的《时间简史》
  15. html实现给微信发红包看照片,微信发红包看图片效果实现
  16. Java集合框架是什么?说出一些集合框架的优点?
  17. 2.中继镜(增距镜)详解
  18. [刷题]leetcode\344_反转字符串
  19. 【cf】Codeforces Round #784(Div 4)
  20. 蒂娜交易准则(黄金高胜算交易)

热门文章

  1. php怎么让数组转换为字符串,php如何将数组转换为字符串
  2. CN_@子网划分@子网掩码@CIDR@ IP地址与硬件地址及其变化问题
  3. Lane_GCN翻译
  4. MFC开发软件支持多语言且同时支持xp和win7操作系统
  5. pinpoint 介绍
  6. iphone禁用提交按钮_如何在iPhone的锁定屏幕上禁用Siri建议
  7. 【原来Python爬虫还可以这么玩!】python爬虫自动化实现B站自动登录
  8. Xmind思维导图转化为Excel用例
  9. ORACLE数据库回滚
  10. one to one