Coverage for manila/share/drivers/huawei/v3/rpcapi.py: 100%

13 statements  

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

1# Copyright (c) 2016 Huawei Technologies Co., Ltd. 

2# All Rights Reserved. 

3# 

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

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

6# a copy of the License at 

7# 

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

9# 

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

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

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

13# License for the specific language governing permissions and limitations 

14# under the License. 

15 

16import oslo_messaging as messaging 

17 

18from manila import rpc 

19from manila.share import utils 

20 

21 

22class HuaweiV3API(object): 

23 """Client side of the huawei V3 rpc API. 

24 

25 API version history: 

26 

27 1.0 - Initial version. 

28 """ 

29 

30 BASE_RPC_API_VERSION = '1.0' 

31 

32 def __init__(self): 

33 self.topic = 'huawei_v3' 

34 target = messaging.Target(topic=self.topic, 

35 version=self.BASE_RPC_API_VERSION) 

36 self.client = rpc.get_client(target, version_cap='1.0') 

37 

38 def create_replica_pair(self, context, host, local_share_info, 

39 remote_device_wwn, remote_fs_id): 

40 new_host = utils.extract_host(host) 

41 call_context = self.client.prepare(server=new_host, version='1.0') 

42 return call_context.call( 

43 context, 'create_replica_pair', 

44 local_share_info=local_share_info, 

45 remote_device_wwn=remote_device_wwn, 

46 remote_fs_id=remote_fs_id)