summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPádraig Brady <pbrady@redhat.com>2013-01-16 17:52:38 +0000
committerPádraig Brady <pbrady@redhat.com>2013-01-21 23:14:13 +0000
commitf379db545cf63f4ec854df748a1b7d256dc9bad4 (patch)
treef09f8adf9db9aad67d5ecd862ce7be2f4af40b41
parenta4d608fa33b328d7ed77c7f9c40ffbb43c0ade6b (diff)
downloadnova-f379db545cf63f4ec854df748a1b7d256dc9bad4.tar.gz
nova-f379db545cf63f4ec854df748a1b7d256dc9bad4.tar.xz
nova-f379db545cf63f4ec854df748a1b7d256dc9bad4.zip
fix misspellings in logs, comments and tests
Flagged with: https://github.com/lyda/misspell-check Run with: git ls-files | misspellings -f - Fixes bug: 1100083 Change-Id: Icf1f844fea8ad0a1101d1dc64b9a126608e9536e
-rw-r--r--doc/source/devref/aggregates.rst2
-rw-r--r--nova/compute/manager.py2
-rw-r--r--nova/network/linux_net.py10
-rw-r--r--nova/network/manager.py2
-rw-r--r--nova/network/model.py2
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_admin_actions_with_cells.py10
-rw-r--r--nova/tests/api/openstack/compute/contrib/test_services.py4
-rw-r--r--nova/tests/api/openstack/compute/test_limits.py2
-rw-r--r--nova/tests/compute/test_compute.py8
-rw-r--r--nova/tests/image/test_s3.py4
-rw-r--r--nova/tests/test_imagecache.py4
-rw-r--r--nova/tests/test_libvirt.py3
-rw-r--r--nova/tests/test_migrations.py4
-rw-r--r--nova/tests/test_pipelib.py8
-rw-r--r--nova/virt/firewall.py2
-rw-r--r--nova/virt/hyperv/volumeops.py2
-rw-r--r--nova/virt/images.py2
-rw-r--r--nova/virt/libvirt/driver.py2
-rw-r--r--nova/virt/libvirt/firewall.py4
-rw-r--r--nova/virt/libvirt/imagecache.py2
-rw-r--r--nova/virt/powervm/operator.py2
-rw-r--r--nova/virt/vmwareapi/network_util.py2
-rw-r--r--nova/virt/xenapi/driver.py2
-rw-r--r--nova/virt/xenapi/vm_utils.py2
-rwxr-xr-xplugins/xenserver/xenapi/etc/xapi.d/plugins/migration2
25 files changed, 44 insertions, 45 deletions
diff --git a/doc/source/devref/aggregates.rst b/doc/source/devref/aggregates.rst
index 56d398717..ecc6329ba 100644
--- a/doc/source/devref/aggregates.rst
+++ b/doc/source/devref/aggregates.rst
@@ -65,7 +65,7 @@ Usage
* aggregate-add-host <id> <host> Add the host to the specified aggregate.
* aggregate-remove-host <id> <host> Remove the specified host from the specfied aggregate.
* aggregate-set-metadata <id> <key=value> [<key=value> ...] Update the metadata associated with the aggregate.
- * aggregate-update <id> <name> [<availability_zone>] Update the aggregate's name and optionally availablity zone.
+ * aggregate-update <id> <name> [<availability_zone>] Update the aggregate's name and optionally availability zone.
* host-list List all hosts by service
* host-update --maintenance [enable | disable] Put/resume host into/from maintenance.
diff --git a/nova/compute/manager.py b/nova/compute/manager.py
index 03c54a363..6d799c1e3 100644
--- a/nova/compute/manager.py
+++ b/nova/compute/manager.py
@@ -2566,7 +2566,7 @@ class ComputeManager(manager.SchedulerDependentManager):
mp)
except Exception: # pylint: disable=W0702
with excutils.save_and_reraise_exception():
- msg = _("Faild to detach volume %(volume_id)s from %(mp)s")
+ msg = _("Failed to detach volume %(volume_id)s from %(mp)s")
LOG.exception(msg % locals(), context=context,
instance=instance)
volume = self.volume_api.get(context, volume_id)
diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py
index 1be06f66a..4fefb2db4 100644
--- a/nova/network/linux_net.py
+++ b/nova/network/linux_net.py
@@ -1163,7 +1163,7 @@ class LinuxNetInterfaceDriver(object):
raise NotImplementedError()
def unplug(self, network):
- """Destory Linux device, return device name."""
+ """Destroy Linux device, return device name."""
raise NotImplementedError()
def get_dev(self, network):
@@ -1403,7 +1403,7 @@ def remove_ebtables_rules(rules):
def isolate_dhcp_address(interface, address):
- # block arp traffic to address accross the interface
+ # block arp traffic to address across the interface
rules = []
rules.append('INPUT -p ARP -i %s --arp-ip-dst %s -j DROP'
% (interface, address))
@@ -1419,7 +1419,7 @@ def isolate_dhcp_address(interface, address):
ipv4_filter.add_rule('FORWARD',
'-m physdev --physdev-out %s -d 255.255.255.255 '
'-p udp --dport 67 -j DROP' % interface, top=True)
- # block ip traffic to address accross the interface
+ # block ip traffic to address across the interface
ipv4_filter.add_rule('FORWARD',
'-m physdev --physdev-in %s -d %s -j DROP'
% (interface, address), top=True)
@@ -1429,7 +1429,7 @@ def isolate_dhcp_address(interface, address):
def remove_isolate_dhcp_address(interface, address):
- # block arp traffic to address accross the interface
+ # block arp traffic to address across the interface
rules = []
rules.append('INPUT -p ARP -i %s --arp-ip-dst %s -j DROP'
% (interface, address))
@@ -1445,7 +1445,7 @@ def remove_isolate_dhcp_address(interface, address):
ipv4_filter.remove_rule('FORWARD',
'-m physdev --physdev-out %s -d 255.255.255.255 '
'-p udp --dport 67 -j DROP' % interface, top=True)
- # block ip traffic to address accross the interface
+ # block ip traffic to address across the interface
ipv4_filter.remove_rule('FORWARD',
'-m physdev --physdev-in %s -d %s -j DROP'
% (interface, address), top=True)
diff --git a/nova/network/manager.py b/nova/network/manager.py
index e4a97f162..c43019001 100644
--- a/nova/network/manager.py
+++ b/nova/network/manager.py
@@ -678,7 +678,7 @@ class FloatingIP(object):
# actually remove the ip address on the host. We are
# safe from races on this host due to the decorator,
# but another host might grab the ip right away. We
- # don't worry about this case because the miniscule
+ # don't worry about this case because the minuscule
# window where the ip is on both hosts shouldn't cause
# any problems.
fixed_address = self.db.floating_ip_disassociate(context, address)
diff --git a/nova/network/model.py b/nova/network/model.py
index e4fe0d54c..0771156c1 100644
--- a/nova/network/model.py
+++ b/nova/network/model.py
@@ -250,7 +250,7 @@ class VIF(Model):
'meta': {...}}]
"""
if self['network']:
- # remove unecessary fields on fixed_ips
+ # remove unnecessary fields on fixed_ips
ips = [IP(**ensure_string_keys(ip)) for ip in self.fixed_ips()]
for ip in ips:
# remove floating ips from IP, since this is a flat structure
diff --git a/nova/tests/api/openstack/compute/contrib/test_admin_actions_with_cells.py b/nova/tests/api/openstack/compute/contrib/test_admin_actions_with_cells.py
index b8f4e6398..4e577e1f5 100644
--- a/nova/tests/api/openstack/compute/contrib/test_admin_actions_with_cells.py
+++ b/nova/tests/api/openstack/compute/contrib/test_admin_actions_with_cells.py
@@ -54,10 +54,10 @@ class CellsAdminAPITestCase(test.TestCase):
def fake_cast_to_cells(context, instance, method, *args, **kwargs):
"""
- Makes sure that the cells recieve the cast to update
+ Makes sure that the cells receive the cast to update
the cell state
"""
- self.cells_recieved_kwargs.update(kwargs)
+ self.cells_received_kwargs.update(kwargs)
self.admin_api = admin_actions.AdminActionsController()
self.admin_api.compute_api = compute_cells_api.ComputeCellsAPI()
@@ -76,14 +76,14 @@ class CellsAdminAPITestCase(test.TestCase):
self.uuid = uuidutils.generate_uuid()
url = '/fake/servers/%s/action' % self.uuid
self.request = fakes.HTTPRequest.blank(url)
- self.cells_recieved_kwargs = {}
+ self.cells_received_kwargs = {}
def test_reset_active(self):
body = {"os-resetState": {"state": "error"}}
result = self.admin_api._reset_state(self.request, 'inst_id', body)
self.assertEqual(result.status_int, 202)
- # Make sure the cells recieved the update
- self.assertEqual(self.cells_recieved_kwargs,
+ # Make sure the cells received the update
+ self.assertEqual(self.cells_received_kwargs,
dict(vm_state=vm_states.ERROR,
task_state=None))
diff --git a/nova/tests/api/openstack/compute/contrib/test_services.py b/nova/tests/api/openstack/compute/contrib/test_services.py
index 1bd47b67a..3a6e5db7c 100644
--- a/nova/tests/api/openstack/compute/contrib/test_services.py
+++ b/nova/tests/api/openstack/compute/contrib/test_services.py
@@ -60,7 +60,7 @@ class FakeRequest(object):
GET = {}
-class FakeRequestWithSevice(object):
+class FakeRequestWithService(object):
environ = {"nova.context": context.get_admin_context()}
GET = {"service": "nova-compute"}
@@ -160,7 +160,7 @@ class ServicesTest(test.TestCase):
self.assertEqual(res_dict, response)
def test_services_list_with_service(self):
- req = FakeRequestWithSevice()
+ req = FakeRequestWithService()
res_dict = self.controller.index(req)
response = {'services': [{'binary': 'nova-compute', 'host': 'host1',
diff --git a/nova/tests/api/openstack/compute/test_limits.py b/nova/tests/api/openstack/compute/test_limits.py
index f0f2f02d5..375355a70 100644
--- a/nova/tests/api/openstack/compute/test_limits.py
+++ b/nova/tests/api/openstack/compute/test_limits.py
@@ -618,7 +618,7 @@ class WsgiLimiterTest(BaseLimitTestSuite):
self.app = limits.WsgiLimiter(TEST_LIMITS)
def _request_data(self, verb, path):
- """Get data decribing a limit request verb/path."""
+ """Get data describing a limit request verb/path."""
return jsonutils.dumps({"verb": verb, "path": path})
def _request(self, verb, url, username=None):
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py
index 092fd940a..4a51ebad2 100644
--- a/nova/tests/compute/test_compute.py
+++ b/nova/tests/compute/test_compute.py
@@ -2961,7 +2961,7 @@ class ComputeTestCase(BaseTestCase):
call_info['expected_instance'] = instances[0]
self.compute._heal_instance_info_cache(ctxt)
self.assertEqual(call_info['get_all_by_host'], 2)
- # Stays the same, beacuse the instance came from the DB
+ # Stays the same, because the instance came from the DB
self.assertEqual(call_info['get_by_uuid'], 3)
self.assertEqual(call_info['get_nw_info'], 4)
@@ -5255,14 +5255,14 @@ class ComputeAPITestCase(BaseTestCase):
self.assertTrue(instance3['uuid'] in instance_uuids)
self.assertTrue(instance4['uuid'] in instance_uuids)
- # multiple criterias as a dict
+ # multiple criteria as a dict
instances = self.compute_api.get_all(c,
search_opts={'metadata': {'key3': 'value3',
'key4': 'value4'}})
self.assertEqual(len(instances), 1)
self.assertEqual(instances[0]['uuid'], instance4['uuid'])
- # multiple criterias as a list
+ # multiple criteria as a list
instances = self.compute_api.get_all(c,
search_opts={'metadata': [{'key4': 'value4'},
{'key3': 'value3'}]})
@@ -6430,7 +6430,7 @@ class DisabledInstanceTypesTestCase(BaseTestCase):
"""
Some instance-types are marked 'disabled' which means that they will not
show up in customer-facing listings. We do, however, want those
- instance-types to be availble for emergency migrations and for rebuilding
+ instance-types to be available for emergency migrations and for rebuilding
of existing instances.
One legitimate use of the 'disabled' field would be when phasing out a
diff --git a/nova/tests/image/test_s3.py b/nova/tests/image/test_s3.py
index 4f8790cc7..0afe397a2 100644
--- a/nova/tests/image/test_s3.py
+++ b/nova/tests/image/test_s3.py
@@ -129,7 +129,7 @@ class TestS3ImageService(test.TestCase):
'snapshot_id': 'snap-12345678',
'delete_on_termination': True},
{'device_name': '/dev/sda2',
- 'virutal_name': 'ephemeral0'},
+ 'virtual_name': 'ephemeral0'},
{'device_name': '/dev/sdb0',
'no_device': True}]}}
_manifest, image, image_uuid = self.image_service._s3_parse_manifest(
@@ -156,7 +156,7 @@ class TestS3ImageService(test.TestCase):
'snapshot_id': 'snap-12345678',
'delete_on_termination': True},
{'device_name': '/dev/sda2',
- 'virutal_name': 'ephemeral0'},
+ 'virtual_name': 'ephemeral0'},
{'device_name': '/dev/sdb0',
'no_device': True}]
self.assertEqual(block_device_mapping, expected_bdm)
diff --git a/nova/tests/test_imagecache.py b/nova/tests/test_imagecache.py
index eaf244c56..8142312b9 100644
--- a/nova/tests/test_imagecache.py
+++ b/nova/tests/test_imagecache.py
@@ -721,7 +721,7 @@ class ImageCacheManagerTestCase(test.TestCase):
def fq_path(path):
return os.path.join('/instance_path/_base/', path)
- # Fake base directory existance
+ # Fake base directory existence
orig_exists = os.path.exists
def exists(path):
@@ -747,7 +747,7 @@ class ImageCacheManagerTestCase(test.TestCase):
'/instance_path/_base/%s_sm' % hashed_42]:
return False
- self.fail('Unexpected path existance check: %s' % path)
+ self.fail('Unexpected path existence check: %s' % path)
self.stubs.Set(os.path, 'exists', lambda x: exists(x))
diff --git a/nova/tests/test_libvirt.py b/nova/tests/test_libvirt.py
index 83b7f43bc..2e1a1729a 100644
--- a/nova/tests/test_libvirt.py
+++ b/nova/tests/test_libvirt.py
@@ -570,7 +570,6 @@ class LibvirtConnTestCase(test.TestCase):
self.context = context.get_admin_context()
self.flags(instances_path='')
self.flags(libvirt_snapshots_directory='')
- self.call_libvirt_dependant_setup = False
self.useFixture(fixtures.MonkeyPatch(
'nova.virt.libvirt.driver.libvirt_utils',
fake_libvirt_utils))
@@ -3100,7 +3099,7 @@ class LibvirtConnTestCase(test.TestCase):
self.stubs.Set(conn, 'get_info', fake_get_info)
instance = {"name": "instancename", "id": "instanceid",
"uuid": "875a8070-d0b9-4949-8b31-104d125c9a64"}
- # NOTE(vish): verifies destory doesn't raise if the instance disappears
+ # NOTE(vish): verifies destroy doesn't raise if the instance disappears
conn._destroy(instance)
def test_available_least_handles_missing(self):
diff --git a/nova/tests/test_migrations.py b/nova/tests/test_migrations.py
index abd04a641..0f8f8aed7 100644
--- a/nova/tests/test_migrations.py
+++ b/nova/tests/test_migrations.py
@@ -47,7 +47,7 @@ def _get_connect_string(backend,
passwd="openstack_citest",
database="openstack_citest"):
"""
- Try to get a connection with a very specfic set of values, if we get
+ Try to get a connection with a very specific set of values, if we get
these then we'll run the tests, otherwise they are skipped
"""
if backend == "postgres":
@@ -195,7 +195,7 @@ class TestMigrations(test.TestCase):
"~/.pgpass && chmod 0600 ~/.pgpass" % locals())
execute_cmd(createpgpass)
# note(boris-42): We must create and drop database, we can't
- # drop database wich we have connected to, so for such
+ # drop database which we have connected to, so for such
# operations there is a special database template1.
sqlcmd = ("psql -w -U %(user)s -h %(host)s -c"
" '%(sql)s' -d template1")
diff --git a/nova/tests/test_pipelib.py b/nova/tests/test_pipelib.py
index 85c2ca2cd..5cd715552 100644
--- a/nova/tests/test_pipelib.py
+++ b/nova/tests/test_pipelib.py
@@ -51,11 +51,11 @@ class PipelibTest(test.TestCase):
def test_setup_security_group(self):
group_name = "%s%s" % (self.project, CONF.vpn_key_suffix)
- # First attemp, does not exist (thus its created)
+ # First attempt, does not exist (thus its created)
res1_group = self.cloudpipe.setup_security_group(self.context)
self.assertEqual(res1_group, group_name)
- # Second attem, it exists in the DB
+ # Second attempt, it exists in the DB
res2_group = self.cloudpipe.setup_security_group(self.context)
self.assertEqual(res1_group, res2_group)
@@ -64,10 +64,10 @@ class PipelibTest(test.TestCase):
with utils.tempdir() as tmpdir:
self.flags(keys_path=tmpdir)
- # First attemp, key does not exist (thus it is generated)
+ # First attempt, key does not exist (thus it is generated)
res1_key = self.cloudpipe.setup_key_pair(self.context)
self.assertEqual(res1_key, key_name)
- # Second attem, it exists in the DB
+ # Second attempt, it exists in the DB
res2_key = self.cloudpipe.setup_key_pair(self.context)
self.assertEqual(res2_key, res1_key)
diff --git a/nova/virt/firewall.py b/nova/virt/firewall.py
index bbc6034bd..ad38cd9a4 100644
--- a/nova/virt/firewall.py
+++ b/nova/virt/firewall.py
@@ -146,7 +146,7 @@ class IptablesFirewallDriver(FirewallDriver):
self.iptables = linux_net.iptables_manager
self.instances = {}
self.network_infos = {}
- self.basicly_filtered = False
+ self.basically_filtered = False
self.iptables.ipv4['filter'].add_chain('sg-fallback')
self.iptables.ipv4['filter'].add_rule('sg-fallback', '-j DROP')
diff --git a/nova/virt/hyperv/volumeops.py b/nova/virt/hyperv/volumeops.py
index 192d6834c..b69cf7bf1 100644
--- a/nova/virt/hyperv/volumeops.py
+++ b/nova/virt/hyperv/volumeops.py
@@ -183,7 +183,7 @@ class VolumeOps(baseops.BaseOps):
"SELECT * FROM Msvm_ResourceAllocationSettingData \
WHERE ResourceSubType LIKE 'Microsoft Physical Disk Drive'\
AND Parent = '" + scsi_controller.path_() + "'")
- #Slots starts from 0, so the lenght of the disks gives us the free slot
+ #Slots starts from 0, so the length of the disks gives us the free slot
return len(volumes)
def detach_volume(self, connection_info, instance_name, mountpoint):
diff --git a/nova/virt/images.py b/nova/virt/images.py
index 9788a2b42..018badecf 100644
--- a/nova/virt/images.py
+++ b/nova/virt/images.py
@@ -123,7 +123,7 @@ class QemuImgInfo(object):
if len(line_pieces) != 6:
break
else:
- # Check against this pattern occuring in the final position
+ # Check against this pattern in the final position
# "%02d:%02d:%02d.%03d"
date_pieces = line_pieces[5].split(":")
if len(date_pieces) != 3:
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index 9931f8e4c..ddd5540f1 100644
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -2768,7 +2768,7 @@ class LibvirtDriver(driver.ComputeDriver):
:param instance_ref:
nova.db.sqlalchemy.models.Instance object
instance object that is migrated.
- :param network_info: instance network infomation
+ :param network_info: instance network information
:param block_migration: if true, post operation of block_migraiton.
"""
# Define migrated instance, otherwise, suspend/destroy does not work.
diff --git a/nova/virt/libvirt/firewall.py b/nova/virt/libvirt/firewall.py
index c47056ff2..3323b8f1d 100644
--- a/nova/virt/libvirt/firewall.py
+++ b/nova/virt/libvirt/firewall.py
@@ -228,11 +228,11 @@ class IptablesFirewallDriver(base_firewall.IptablesFirewallDriver):
def setup_basic_filtering(self, instance, network_info):
"""Set up provider rules and basic NWFilter."""
self.nwfilter.setup_basic_filtering(instance, network_info)
- if not self.basicly_filtered:
+ if not self.basically_filtered:
LOG.debug(_('iptables firewall: Setup Basic Filtering'),
instance=instance)
self.refresh_provider_fw_rules()
- self.basicly_filtered = True
+ self.basically_filtered = True
def apply_instance_filter(self, instance, network_info):
"""No-op. Everything is done in prepare_instance_filter."""
diff --git a/nova/virt/libvirt/imagecache.py b/nova/virt/libvirt/imagecache.py
index 50fac9bb4..8f677b482 100644
--- a/nova/virt/libvirt/imagecache.py
+++ b/nova/virt/libvirt/imagecache.py
@@ -77,7 +77,7 @@ CONF.import_opt('instances_path', 'nova.compute.manager')
def get_info_filename(base_path):
- """Construct a filename for storing addtional information about a base
+ """Construct a filename for storing additional information about a base
image.
Returns a filename.
diff --git a/nova/virt/powervm/operator.py b/nova/virt/powervm/operator.py
index b25a96159..5a4a2938b 100644
--- a/nova/virt/powervm/operator.py
+++ b/nova/virt/powervm/operator.py
@@ -55,7 +55,7 @@ def get_powervm_disk_adapter():
class PowerVMOperator(object):
"""PowerVM main operator.
- The PowerVMOperator is intented to wrapper all operations
+ The PowerVMOperator is intended to wrap all operations
from the driver and handle either IVM or HMC managed systems.
"""
diff --git a/nova/virt/vmwareapi/network_util.py b/nova/virt/vmwareapi/network_util.py
index a3b20137d..d2bdad0c1 100644
--- a/nova/virt/vmwareapi/network_util.py
+++ b/nova/virt/vmwareapi/network_util.py
@@ -38,7 +38,7 @@ def get_network_with_the_name(session, network_name="vmnet0"):
vm_networks_ret = hostsystems[0].propSet[0].val
# Meaning there are no networks on the host. suds responds with a ""
# in the parent property field rather than a [] in the
- # ManagedObjectRefernce property field of the parent
+ # ManagedObjectReference property field of the parent
if not vm_networks_ret:
return None
vm_networks = vm_networks_ret.ManagedObjectReference
diff --git a/nova/virt/xenapi/driver.py b/nova/virt/xenapi/driver.py
index 0acc360e8..04ab2674c 100644
--- a/nova/virt/xenapi/driver.py
+++ b/nova/virt/xenapi/driver.py
@@ -506,7 +506,7 @@ class XenAPIDriver(driver.ComputeDriver):
:params instance_ref:
nova.db.sqlalchemy.models.Instance object
instance object that is migrated.
- :params network_info: instance network infomation
+ :params network_info: instance network information
:params : block_migration: if true, post operation of block_migraiton.
"""
# TODO(JohnGarbutt) look at moving/downloading ramdisk and kernel
diff --git a/nova/virt/xenapi/vm_utils.py b/nova/virt/xenapi/vm_utils.py
index debba4f02..52a5f37b2 100644
--- a/nova/virt/xenapi/vm_utils.py
+++ b/nova/virt/xenapi/vm_utils.py
@@ -1510,7 +1510,7 @@ def fetch_bandwidth(session):
def compile_metrics(start_time, stop_time=None):
"""Compile bandwidth usage, cpu, and disk metrics for all VMs on
this host.
- Note that some stats, like bandwith, do not seem to be very
+ Note that some stats, like bandwidth, do not seem to be very
accurate in some of the data from XenServer (mdragon). """
start_time = int(start_time)
diff --git a/plugins/xenserver/xenapi/etc/xapi.d/plugins/migration b/plugins/xenserver/xenapi/etc/xapi.d/plugins/migration
index 35316a9b8..b9e9da2e2 100755
--- a/plugins/xenserver/xenapi/etc/xapi.d/plugins/migration
+++ b/plugins/xenserver/xenapi/etc/xapi.d/plugins/migration
@@ -16,7 +16,7 @@
# under the License.
"""
-XenAPI Plugin for transfering data between host nodes
+XenAPI Plugin for transferring data between host nodes
"""
import utils