You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2018/12/13 11:26:49 UTC
[40/45] libcloud git commit: removed drs from provider feature matrix
removed drs from provider feature matrix
Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/2b445cea
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/2b445cea
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/2b445cea
Branch: refs/heads/trunk
Commit: 2b445ceac7586d09507735435c6fccc938459b19
Parents: bbe90e5
Author: mitch <mi...@itaas.dimensiondata.com>
Authored: Wed Nov 28 22:17:31 2018 -0500
Committer: mitch <mi...@itaas.dimensiondata.com>
Committed: Wed Nov 28 22:17:31 2018 -0500
----------------------------------------------------------------------
.../generate_provider_feature_matrix_table.py | 21 -----
libcloud/base.py | 7 --
libcloud/compute/drivers/nttcis.py | 36 +++++----
.../fixtures/nttcis/create_preview_server.xml | 7 ++
.../nttcis/disable_server_snapshot_service.xml | 6 ++
.../nttcis/initiate_manual_snapshot.xml | 2 +-
.../fixtures/nttcis/list_server_snapshots.xml | 27 +++++++
.../fixtures/nttcis/manual_snapshot_server.xml | 26 +++++++
libcloud/test/compute/test_nttcis.py | 80 +++++++++++++++++++-
9 files changed, 166 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b445cea/contrib/generate_provider_feature_matrix_table.py
----------------------------------------------------------------------
diff --git a/contrib/generate_provider_feature_matrix_table.py b/contrib/generate_provider_feature_matrix_table.py
index 419baee..4e6441f 100755
--- a/contrib/generate_provider_feature_matrix_table.py
+++ b/contrib/generate_provider_feature_matrix_table.py
@@ -45,11 +45,6 @@ from libcloud.dns.providers import get_driver as get_dns_driver
from libcloud.dns.providers import DRIVERS as DNS_DRIVERS
from libcloud.dns.types import Provider as DNSProvider
-from libcloud.drs.base import DRSDriver
-from libcloud.drs.providers import get_driver as get_drs_driver
-from libcloud.drs.providers import DRIVERS as DRS_DRIVERS
-from libcloud.drs.types import Provider as DRSProvider
-
from libcloud.container.base import ContainerDriver
from libcloud.container.providers import get_driver as get_container_driver
from libcloud.container.providers import DRIVERS as CONTAINER_DRIVERS
@@ -94,11 +89,6 @@ BASE_API_METHODS = {
'dns': ['list_zones', 'list_records', 'iterate_zones', 'iterate_records',
'create_zone', 'update_zone', 'create_record', 'update_record',
'delete_zone', 'delete_record'],
- 'drs': ['create_consistency_group', 'list_consistency_groups',
- 'get_consistency_group', 'delete_consistency_group',
- 'list_consistency_group_snapshots', 'expand_journal',
- 'start_failover_preview', 'stop_failover_preview',
- 'initiate_failover'],
'container': ['install_image', 'list_images', 'deploy_container',
'get_container', 'start_container', 'stop_container',
'restart_container', 'destroy_container', 'list_containers',
@@ -179,17 +169,6 @@ FRIENDLY_METHODS_NAMES = {
'delete_zone': 'delete zone',
'delete_record': 'delete record'
},
- 'drs': {
- 'create_consistency_group': 'create_consistency_group',
- 'list_consistency_groups': 'list_consistency_groups',
- 'get_consistency_group': 'get_consistency_group',
- 'delete_consistency_group': 'delete_consistency_group',
- 'list_consistency_group_snapshots': 'list_consistency_group_snapshots',
- 'expand_journal': 'expand_journal',
- 'start_failover_preview': 'start_failover_preview',
- 'stop_failover_preview': 'stop_failover_preview',
- 'initiate_failover': 'initiate_failover'
- },
'container': {
'install_image': 'install image',
'list_images': 'list images',
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b445cea/libcloud/base.py
----------------------------------------------------------------------
diff --git a/libcloud/base.py b/libcloud/base.py
index dead087..94e9f17 100644
--- a/libcloud/base.py
+++ b/libcloud/base.py
@@ -25,9 +25,6 @@ from libcloud.container.providers import get_driver as get_container_driver
from libcloud.dns.providers import Provider as DnsProvider
from libcloud.dns.providers import get_driver as get_dns_driver
-from libcloud.drs.providers import Provider as DrsProvider
-from libcloud.drs.providers import get_driver as get_drs_driver
-
from libcloud.loadbalancer.providers import Provider as LoadBalancerProvider
from libcloud.loadbalancer.providers import get_driver as \
get_loadbalancer_driver
@@ -49,9 +46,6 @@ class DriverType(object):
""" DNS service provider driver """
DNS = DnsProvider
- """ DRS service provider driver """
- DRS = DrsProvider
-
""" Load balancer provider-driver """
LOADBALANCER = LoadBalancerProvider
@@ -64,7 +58,6 @@ DriverTypeFactoryMap = {
DriverType.COMPUTE: get_compute_driver,
DriverType.CONTAINER: get_container_driver,
DriverType.DNS: get_dns_driver,
- DriverType.DRS: get_drs_driver,
DriverType.LOADBALANCER: get_loadbalancer_driver,
DriverType.STORAGE: get_storage_driver
}
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b445cea/libcloud/compute/drivers/nttcis.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/nttcis.py b/libcloud/compute/drivers/nttcis.py
index 8f7deef..8980051 100644
--- a/libcloud/compute/drivers/nttcis.py
+++ b/libcloud/compute/drivers/nttcis.py
@@ -1319,18 +1319,23 @@ class NttCisNodeDriver(NodeDriver):
response_code = findtext(result, 'responseCode', TYPES_URN)
return response_code in ['IN_PROGRESS', 'OK']
- def list_snapshots(self, node):
+ def list_snapshots(self, node, page_size=None):
"""
- List snapshots of a server
+ List snapshots of a server. The list of snapshots can get large.
+ Therefore, page_size is optional to limit this if desired.
- :param node: Node nameof the node on which to enable snapshots.
- :type node: ``str``
-
- :rtype: ``list``
+ :param node: Node nameof the node on which to enable snapshots.
+ :type node: ``str``
+ :param page_size: (Optional) Limit the number of records returned
+ :return snapshots
+ :rtype: ``list`` of `dictionaries`
"""
params = {}
params['serverId'] = self.list_nodes(ex_name=node)[0].id
+ if page_size is not None:
+ params["pageSize"] = page_size
+
return self._to_snapshots(self.connection.request_with_orgId_api_2(
'snapshot/snapshot',
params=params).object)
@@ -1339,9 +1344,9 @@ class NttCisNodeDriver(NodeDriver):
"""
Get snapshot of a server by snapshot id.
- :param snapshot_id: ID of snapshot to retrieve.
- :type snapshot_id: ``str``
-
+ :param snapshot_id: ID of snapshot to retrieve.
+ :type snapshot_id: ``str``
+ :return a snapshot
:rtype: ``dict``
"""
@@ -1352,10 +1357,10 @@ class NttCisNodeDriver(NodeDriver):
"""
Disable snapshots on a server. This also deletes current snapshots.
- :param node: Node ID of the node on which to enable snapshots.
- :type node: ``str``
-
- :rtype: ``list``
+ :param node: Node ID of the node on which to enable snapshots.
+ :type node: ``str``
+ :return True or False
+ :rtype: ``bool``
"""
update_node = ET.Element('disableSnapshotService',
@@ -1481,9 +1486,8 @@ class NttCisNodeDriver(NodeDriver):
'snapshot/createSnapshotPreviewServer',
method='POST',
data=ET.tostring(create_preview)).object
- for info in findall(result, 'info', TYPES_URN):
- if info.get('name') == 'serverId':
- return info.get('value')
+ response_code = findtext(result, 'responseCode', TYPES_URN)
+ return response_code in ['IN_PROGRESS', 'OK']
def ex_migrate_preview_server(self, preview_id):
migrate_preview = ET.Element('migrateSnapshotPreviewServer',
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b445cea/libcloud/test/compute/fixtures/nttcis/create_preview_server.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/nttcis/create_preview_server.xml b/libcloud/test/compute/fixtures/nttcis/create_preview_server.xml
index e69de29..6715c64 100644
--- a/libcloud/test/compute/fixtures/nttcis/create_preview_server.xml
+++ b/libcloud/test/compute/fixtures/nttcis/create_preview_server.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response xmlns="urn:didata.com:api:cloud:types" requestId="eu_20181128T230815109+0100_29483e8f-e94d-4472-8c92-723b9068828d">
+ <operation>CREATE_SNAPSHOT_PREVIEW_SERVER</operation>
+ <responseCode>IN_PROGRESS</responseCode>
+ <message>Request to Create Snapshot Preview Server has been accepted. Please use appropriate Get or List API for status.</message>
+ <info name="serverId" value="17bff533-1959-4d16-b0bc-cea6f4cd1bb6"/>
+</response>
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b445cea/libcloud/test/compute/fixtures/nttcis/disable_server_snapshot_service.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/nttcis/disable_server_snapshot_service.xml b/libcloud/test/compute/fixtures/nttcis/disable_server_snapshot_service.xml
index e69de29..32f3eb8 100644
--- a/libcloud/test/compute/fixtures/nttcis/disable_server_snapshot_service.xml
+++ b/libcloud/test/compute/fixtures/nttcis/disable_server_snapshot_service.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<response xmlns="urn:didata.com:api:cloud:types" requestId="eu_20181129T033624848+0100_8c78e514-872a-4bb9-bfb9-b02fb33a7713">
+ <operation>DISABLE_SNAPSHOT_SERVICE</operation>
+ <responseCode>OK</responseCode>
+ <message>Snapshot Service has been disabled.</message>
+</response>
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b445cea/libcloud/test/compute/fixtures/nttcis/initiate_manual_snapshot.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/nttcis/initiate_manual_snapshot.xml b/libcloud/test/compute/fixtures/nttcis/initiate_manual_snapshot.xml
index 988342b..7c461ed 100644
--- a/libcloud/test/compute/fixtures/nttcis/initiate_manual_snapshot.xml
+++ b/libcloud/test/compute/fixtures/nttcis/initiate_manual_snapshot.xml
@@ -4,4 +4,4 @@
<responseCode>IN_PROGRESS</responseCode>
<message>Request to Initiate Manual Snapshot has been accepted. Please use appropriate Get or List API for status.</message>
<info name="manualSnapshotId" value="dd9a9e7e-2de7-4543-adef-bb1fda7ac030"/>
-</response>
\ No newline at end of file
+</response>
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b445cea/libcloud/test/compute/fixtures/nttcis/list_server_snapshots.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/nttcis/list_server_snapshots.xml b/libcloud/test/compute/fixtures/nttcis/list_server_snapshots.xml
index e69de29..0096857 100644
--- a/libcloud/test/compute/fixtures/nttcis/list_server_snapshots.xml
+++ b/libcloud/test/compute/fixtures/nttcis/list_server_snapshots.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<snapshots xmlns="urn:didata.com:api:cloud:types" pageNumber="1" pageCount="1" totalCount="43" pageSize="1">
+ <snapshot id="d11940a8-1455-43bf-a2de-b51a38c2aa94">
+ <startTime>2018-08-15T12:00:47.000Z</startTime>
+ <expiryTime>2019-08-15T12:00:47.000Z</expiryTime>
+ <type>SYSTEM</type>
+ <consistencyLevel>CRASH_CONSISTENT</consistencyLevel>
+ <indexState>INDEX_VALID</indexState>
+ <serverConfig>
+ <cluster id="EU6-01" name="Default Cluster"/>
+ <cpu count="2" speed="STANDARD" coresPerSocket="1"/>
+ <memoryGb>4</memoryGb>
+ <scsiController busNumber="0" id="3e27b3ff-f34c-4b50-abac-c4dbf17c46d3" adapterType="LSI_LOGIC_PARALLEL" state="NORMAL">
+ <disk scsiId="0" id="0bb10086-9691-4cd7-9ae3-914c79890250" sizeGb="20" speed="STANDARD" driveType="DISK" state="NORMAL"/>
+ </scsiController>
+ <networkInfo networkDomainId="6aafcf08-cb0b-432c-9c64-7371265db086" networkDomainName="sdk_test_1">
+ <primaryNic id="29ccc441-9972-41df-b918-b9c93a1b46e9" privateIpv4="10.1.1.6" ipv6="2a00:47c0:111:1331:6140:e432:729b:eef6" vlanId="eb05a24e-85a6-46e3-a7c9-f1765737476d" vlanName="sdk_vlan1" networkAdapter="VMXNET3" connected="true" key="4000" state="NORMAL"/>
+ </networkInfo>
+ <guest osCustomization="true">
+ <operatingSystem id="UBUNTU1664" displayName="UBUNTU16/64" family="UNIX"/>
+ </guest>
+ <virtualHardwareVersion>vmx-10</virtualHardwareVersion>
+ </serverConfig>
+ <state>NORMAL</state>
+ <createTime>2018-08-15T12:30:50.000Z</createTime>
+ </snapshot>
+</snapshots>
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b445cea/libcloud/test/compute/fixtures/nttcis/manual_snapshot_server.xml
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/fixtures/nttcis/manual_snapshot_server.xml b/libcloud/test/compute/fixtures/nttcis/manual_snapshot_server.xml
index e69de29..0f3e7e5 100644
--- a/libcloud/test/compute/fixtures/nttcis/manual_snapshot_server.xml
+++ b/libcloud/test/compute/fixtures/nttcis/manual_snapshot_server.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<server xmlns="urn:didata.com:api:cloud:types" id="e1eb7d71-93c9-4b9c-807c-e05932dc8143" datacenterId="EU6">
+ <name>test</name>
+ <description>auto_created_server</description>
+ <cpu count="2" speed="STANDARD" coresPerSocket="1"/>
+ <memoryGb>4</memoryGb>
+ <scsiController state="NORMAL" id="f6a0a9b4-8e8e-4db4-84a3-6aed43f2a6ee" adapterType="LSI_LOGIC_PARALLEL" key="1000" busNumber="0">
+ <disk state="NORMAL" id="b96f35f3-ad63-489a-9e0e-a675cd1d1143" sizeGb="20" speed="STANDARD" scsiId="0"/>
+ </scsiController>
+ <networkInfo networkDomainId="6aafcf08-cb0b-432c-9c64-7371265db086">
+ <primaryNic id="8f2c0823-94f9-4ac7-a59d-d0ed292da7b0" privateIpv4="10.1.1.10" ipv6="2a00:47c0:111:1331:524d:5ca0:b59c:4220" vlanId="eb05a24e-85a6-46e3-a7c9-f1765737476d" vlanName="sdk_vlan1" networkAdapter="VMXNET3" connected="true" macAddress="00:50:56:bb:9b:d5" key="4000" state="NORMAL"/>
+ </networkInfo>
+ <snapshotService servicePlan="ADVANCED" state="NORMAL" manualSnapshotInProgress="false">
+ <window dayOfWeek="DAILY" startHour="12"/>
+ </snapshotService>
+ <source type="IMAGE_ID" value="81a36aa0-555c-4735-b965-4b64fcf0ac8f"/>
+ <createTime>2018-11-15T19:23:36.000Z</createTime>
+ <deployed>true</deployed>
+ <started>true</started>
+ <state>NORMAL</state>
+ <guest osCustomization="true">
+ <operatingSystem id="UBUNTU1664" displayName="UBUNTU16/64" family="UNIX" osUnitsGroupId="CANONICAL"/>
+ <vmTools type="OPEN_VM_TOOLS" versionStatus="UNMANAGED" runningStatus="RUNNING" apiVersion="10304"/>
+ </guest>
+ <virtualHardware version="vmx-10" upToDate="false"/>
+</server>
http://git-wip-us.apache.org/repos/asf/libcloud/blob/2b445cea/libcloud/test/compute/test_nttcis.py
----------------------------------------------------------------------
diff --git a/libcloud/test/compute/test_nttcis.py b/libcloud/test/compute/test_nttcis.py
index 7f894bd..7f73473 100644
--- a/libcloud/test/compute/test_nttcis.py
+++ b/libcloud/test/compute/test_nttcis.py
@@ -186,6 +186,42 @@ def test_list_datacenter_snapshot_windows(driver):
assert isinstance(ret[0], dict)
+def test_list_snapshots(driver):
+ NttCisMockHttp.type = None
+ snapshots = driver.list_snapshots('sdk_server_1', page_size=1)
+ assert len(snapshots) == 1
+ assert snapshots[0]['id'] == "d11940a8-1455-43bf-a2de-b51a38c2aa94"
+
+
+def test_enable_snapshot_service(driver):
+ NttCisMockHttp.type = None
+ window_id = 'ea646520-4272-11e8-838c-180373fb68df'
+ node = 'e1eb7d71-93c9-4b9c-807c-e05932dc8143'
+ result = driver.ex_enable_snapshots(node, window_id)
+ assert result is True
+
+
+def test_initiate_manual_snapshot(driver):
+ NttCisMockHttp.type = None
+ result = driver.ex_initiate_manual_snapshot('test', 'e1eb7d71-93c9-4b9c-807c-e05932dc8143')
+ assert result is True
+
+
+def test_create_snapshot_preview_server(driver):
+ snapshot_id = "dd9a9e7e-2de7-4543-adef-bb1fda7ac030"
+ server_name = "test_snapshot"
+ start = "true"
+ nic_connected = "true"
+ result = driver.ex_create_snapshot_preview_server(
+ snapshot_id, server_name, start, nic_connected)
+ assert result is True
+
+
+def test_disable_node_snapshot(driver):
+ node = "e1eb7d71-93c9-4b9c-807c-e05932dc8143"
+ assert driver.ex_disable_snapshots(node) is True
+
+
def test_reboot_node_response(driver):
node = Node(id='11', name=None, state=None,
public_ips=None, private_ips=None, driver=driver)
@@ -3029,4 +3065,46 @@ class NttCisMockHttp(MockHttp):
body = self.fixtures.load(
'deploy_customised_server.xml'
)
- return httplib.OK, body, {}, httplib.responses[httplib.OK]
\ No newline at end of file
+ return httplib.OK, body, {}, httplib.responses[httplib.OK]
+
+ def _caas_2_7_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_snapshot_snapshot(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ "list_server_snapshots.xml"
+ )
+ return httplib.OK, body, {}, httplib.responses[httplib.OK]
+
+ def _caas_2_7_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_snapshot_enableSnapshotService(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ "enable_snapshot_service.xml"
+ )
+ return httplib.OK, body, {}, httplib.responses[httplib.OK]
+
+ def _caas_2_7_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_snapshot_initiateManualSnapshot(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ "initiate_manual_snapshot.xml"
+ )
+ return httplib.OK, body, {}, httplib.responses[httplib.OK]
+
+ def _caas_2_7_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_server_server_e1eb7d71_93c9_4b9c_807c_e05932dc8143(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ "manual_snapshot_server.xml"
+ )
+ return httplib.OK, body, {}, httplib.responses[httplib.OK]
+
+ def _caas_2_7_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_snapshot_createSnapshotPreviewServer(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ "create_preview_server.xml"
+ )
+ return httplib.OK, body, {}, httplib.responses[httplib.OK]
+
+ def _caas_2_7_8a8f6abc_2745_4d8a_9cbc_8dabe5a7d0e4_snapshot_disableSnapshotService(
+ self, method, url, body, headers):
+ body = self.fixtures.load(
+ "disable_server_snapshot_service.xml"
+ )
+ return httplib.OK, body, {}, httplib.responses[httplib.OK]