openstack误删service恢复方法

清理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                 |
+---------------------------+--------------------------------------+
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值