Coverage for manila/policies/share_server.py: 100%

21 statements  

« prev     ^ index     » next       coverage.py v7.11.0, created at 2026-02-18 22:19 +0000

1# Licensed under the Apache License, Version 2.0 (the "License"); you may 

2# not use this file except in compliance with the License. You may obtain 

3# a copy of the License at 

4# 

5# http://www.apache.org/licenses/LICENSE-2.0 

6# 

7# Unless required by applicable law or agreed to in writing, software 

8# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 

9# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 

10# License for the specific language governing permissions and limitations 

11# under the License. 

12 

13from oslo_log import versionutils 

14from oslo_policy import policy 

15 

16from manila.policies import base 

17 

18 

19BASE_POLICY_NAME = 'share_server:%s' 

20 

21DEPRECATED_REASON = """ 

22The share server API now supports scope and default roles. 

23""" 

24 

25deprecated_server_index = policy.DeprecatedRule( 

26 name=BASE_POLICY_NAME % 'index', 

27 check_str=base.RULE_ADMIN_API, 

28 deprecated_reason=DEPRECATED_REASON, 

29 deprecated_since=versionutils.deprecated.WALLABY 

30) 

31deprecated_server_show = policy.DeprecatedRule( 

32 name=BASE_POLICY_NAME % 'show', 

33 check_str=base.RULE_ADMIN_API, 

34 deprecated_reason=DEPRECATED_REASON, 

35 deprecated_since=versionutils.deprecated.WALLABY 

36) 

37deprecated_server_details = policy.DeprecatedRule( 

38 name=BASE_POLICY_NAME % 'details', 

39 check_str=base.RULE_ADMIN_API, 

40 deprecated_reason=DEPRECATED_REASON, 

41 deprecated_since=versionutils.deprecated.WALLABY 

42) 

43deprecated_server_delete = policy.DeprecatedRule( 

44 name=BASE_POLICY_NAME % 'delete', 

45 check_str=base.RULE_ADMIN_API, 

46 deprecated_reason=DEPRECATED_REASON, 

47 deprecated_since=versionutils.deprecated.WALLABY 

48) 

49deprecated_manage_server = policy.DeprecatedRule( 

50 name=BASE_POLICY_NAME % 'manage_share_server', 

51 check_str=base.RULE_ADMIN_API, 

52 deprecated_reason=DEPRECATED_REASON, 

53 deprecated_since=versionutils.deprecated.WALLABY 

54) 

55deprecated_unmanage_server = policy.DeprecatedRule( 

56 name=BASE_POLICY_NAME % 'unmanage_share_server', 

57 check_str=base.RULE_ADMIN_API, 

58 deprecated_reason=DEPRECATED_REASON, 

59 deprecated_since=versionutils.deprecated.WALLABY 

60) 

61deprecated_server_reset_status = policy.DeprecatedRule( 

62 name=BASE_POLICY_NAME % 'reset_status', 

63 check_str=base.RULE_ADMIN_API, 

64 deprecated_reason=DEPRECATED_REASON, 

65 deprecated_since=versionutils.deprecated.WALLABY 

66) 

67deprecated_server_migration_start = policy.DeprecatedRule( 

68 name=BASE_POLICY_NAME % 'share_server_migration_start', 

69 check_str=base.RULE_ADMIN_API, 

70 deprecated_reason=DEPRECATED_REASON, 

71 deprecated_since=versionutils.deprecated.WALLABY 

72) 

73deprecated_server_migration_check = policy.DeprecatedRule( 

74 name=BASE_POLICY_NAME % 'share_server_migration_check', 

75 check_str=base.RULE_ADMIN_API, 

76 deprecated_reason=DEPRECATED_REASON, 

77 deprecated_since=versionutils.deprecated.WALLABY 

78) 

79deprecated_server_migration_complete = policy.DeprecatedRule( 

80 name=BASE_POLICY_NAME % 'share_server_migration_complete', 

81 check_str=base.RULE_ADMIN_API, 

82 deprecated_reason=DEPRECATED_REASON, 

83 deprecated_since=versionutils.deprecated.WALLABY 

84) 

85deprecated_server_migration_cancel = policy.DeprecatedRule( 

86 name=BASE_POLICY_NAME % 'share_server_migration_cancel', 

87 check_str=base.RULE_ADMIN_API, 

88 deprecated_reason=DEPRECATED_REASON, 

89 deprecated_since=versionutils.deprecated.WALLABY 

90) 

91deprecated_server_migration_get_progress = policy.DeprecatedRule( 

92 name=BASE_POLICY_NAME % 'share_server_migration_get_progress', 

93 check_str=base.RULE_ADMIN_API, 

94 deprecated_reason=DEPRECATED_REASON, 

95 deprecated_since=versionutils.deprecated.WALLABY 

96) 

97deprecated_server_reset_task_state = policy.DeprecatedRule( 

98 name=BASE_POLICY_NAME % 'share_server_reset_task_state', 

99 check_str=base.RULE_ADMIN_API, 

100 deprecated_reason=DEPRECATED_REASON, 

101 deprecated_since=versionutils.deprecated.WALLABY 

102) 

103 

104 

105share_server_policies = [ 

106 policy.DocumentedRuleDefault( 

107 name=BASE_POLICY_NAME % 'index', 

108 check_str=base.ADMIN, 

109 scope_types=['project'], 

110 description="Get share servers.", 

111 operations=[ 

112 { 

113 'method': 'GET', 

114 'path': '/share-servers?{query}', 

115 } 

116 ], 

117 deprecated_rule=deprecated_server_index 

118 ), 

119 policy.DocumentedRuleDefault( 

120 name=BASE_POLICY_NAME % 'show', 

121 check_str=base.ADMIN, 

122 scope_types=['project'], 

123 description="Show share server.", 

124 operations=[ 

125 { 

126 'method': 'GET', 

127 'path': '/share-servers/{server_id}', 

128 } 

129 ], 

130 deprecated_rule=deprecated_server_show 

131 ), 

132 policy.DocumentedRuleDefault( 

133 name=BASE_POLICY_NAME % 'details', 

134 check_str=base.ADMIN, 

135 scope_types=['project'], 

136 description="Get share server details.", 

137 operations=[ 

138 { 

139 'method': 'GET', 

140 'path': '/share-servers/{server_id}/details', 

141 } 

142 ], 

143 deprecated_rule=deprecated_server_details 

144 ), 

145 policy.DocumentedRuleDefault( 

146 name=BASE_POLICY_NAME % 'delete', 

147 check_str=base.ADMIN, 

148 scope_types=['project'], 

149 description="Delete share server.", 

150 operations=[ 

151 { 

152 'method': 'DELETE', 

153 'path': '/share-servers/{server_id}', 

154 } 

155 ], 

156 deprecated_rule=deprecated_server_delete 

157 ), 

158 policy.DocumentedRuleDefault( 

159 name=BASE_POLICY_NAME % 'manage_share_server', 

160 check_str=base.ADMIN, 

161 scope_types=['project'], 

162 description="Manage share server.", 

163 operations=[ 

164 { 

165 'method': 'POST', 

166 'path': '/share-servers/manage' 

167 } 

168 ], 

169 deprecated_rule=deprecated_manage_server 

170 ), 

171 policy.DocumentedRuleDefault( 

172 name=BASE_POLICY_NAME % 'unmanage_share_server', 

173 check_str=base.ADMIN, 

174 scope_types=['project'], 

175 description="Unmanage share server.", 

176 operations=[ 

177 { 

178 'method': 'POST', 

179 'path': '/share-servers/{share_server_id}/action' 

180 } 

181 ], 

182 deprecated_rule=deprecated_unmanage_server 

183 ), 

184 policy.DocumentedRuleDefault( 

185 name=BASE_POLICY_NAME % 'reset_status', 

186 check_str=base.ADMIN, 

187 scope_types=['project'], 

188 description="Reset the status of a share server.", 

189 operations=[ 

190 { 

191 'method': 'POST', 

192 'path': '/share-servers/{share_server_id}/action' 

193 } 

194 ], 

195 deprecated_rule=deprecated_server_reset_status 

196 ), 

197 policy.DocumentedRuleDefault( 

198 name=BASE_POLICY_NAME % 'share_server_migration_start', 

199 check_str=base.ADMIN, 

200 scope_types=['project'], 

201 description="Migrates a share server to the specified host.", 

202 operations=[ 

203 { 

204 'method': 'POST', 

205 'path': '/share-servers/{share_server_id}/action', 

206 } 

207 ], 

208 deprecated_rule=deprecated_server_migration_start 

209 ), 

210 policy.DocumentedRuleDefault( 

211 name=BASE_POLICY_NAME % 'share_server_migration_check', 

212 check_str=base.ADMIN, 

213 scope_types=['project'], 

214 description="Check if can migrates a share server to the specified " 

215 "host.", 

216 operations=[ 

217 { 

218 'method': 'POST', 

219 'path': '/share-servers/{share_server_id}/action', 

220 } 

221 ], 

222 deprecated_rule=deprecated_server_migration_check 

223 ), 

224 policy.DocumentedRuleDefault( 

225 name=BASE_POLICY_NAME % 'share_server_migration_complete', 

226 check_str=base.ADMIN, 

227 scope_types=['project'], 

228 description="Invokes the 2nd phase of share server migration.", 

229 operations=[ 

230 { 

231 'method': 'POST', 

232 'path': '/share-servers/{share_server_id}/action', 

233 } 

234 ], 

235 deprecated_rule=deprecated_server_migration_complete 

236 ), 

237 policy.DocumentedRuleDefault( 

238 name=BASE_POLICY_NAME % 'share_server_migration_cancel', 

239 check_str=base.ADMIN, 

240 scope_types=['project'], 

241 description="Attempts to cancel share server migration.", 

242 operations=[ 

243 { 

244 'method': 'POST', 

245 'path': '/share-servers/{share_server_id}/action', 

246 } 

247 ], 

248 deprecated_rule=deprecated_server_migration_cancel 

249 ), 

250 policy.DocumentedRuleDefault( 

251 name=BASE_POLICY_NAME % 'share_server_migration_get_progress', 

252 check_str=base.ADMIN, 

253 scope_types=['project'], 

254 description=("Retrieves the share server migration progress for a " 

255 "given share server."), 

256 operations=[ 

257 { 

258 'method': 'POST', 

259 'path': '/share-servers/{share_server_id}/action', 

260 } 

261 ], 

262 deprecated_rule=deprecated_server_migration_get_progress 

263 ), 

264 policy.DocumentedRuleDefault( 

265 name=BASE_POLICY_NAME % 'share_server_reset_task_state', 

266 check_str=base.ADMIN, 

267 scope_types=['project'], 

268 description="Resets task state.", 

269 operations=[ 

270 { 

271 'method': 'POST', 

272 'path': '/share-servers/{share_server_id}/action', 

273 } 

274 ], 

275 deprecated_rule=deprecated_server_reset_task_state 

276 ), 

277] 

278 

279 

280def list_rules(): 

281 return share_server_policies