From a44f956d2c9e09ac6e3e65157ae85818392cf539 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 10:14:10 -0400 Subject: [PATCH 01/49] add IPy as a dependency --- requirements.txt | 1 + setup.py | 1 + 2 files changed, 2 insertions(+) diff --git a/requirements.txt b/requirements.txt index b82a3ce..cd05365 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ oca==4.10.0 python-etcd==0.4.3 +IPy==0.83 diff --git a/setup.py b/setup.py index 83e92a7..c75463a 100644 --- a/setup.py +++ b/setup.py @@ -21,6 +21,7 @@ setup( install_requires=[ "oca>=4.10.0", "python-etcd>=0.4.3", + "IPy>=0.83", ], entry_points=dict(console_scripts=['onedns = onedns.cli:main']), zip_safe=False From a80a85191c0b80edf11adee4038340ee25c0ed15 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 11:19:19 -0400 Subject: [PATCH 02/49] add DynamicResolver class with 100% test coverage --- onedns/server.py | 102 +++++++++++++++++++++++++++ onedns/tests/__init__.py | 0 onedns/tests/conftest.py | 16 +++++ onedns/tests/test_dynamicresolver.py | 51 ++++++++++++++ 4 files changed, 169 insertions(+) create mode 100644 onedns/server.py create mode 100644 onedns/tests/__init__.py create mode 100644 onedns/tests/conftest.py create mode 100644 onedns/tests/test_dynamicresolver.py diff --git a/onedns/server.py b/onedns/server.py new file mode 100644 index 0000000..efe892b --- /dev/null +++ b/onedns/server.py @@ -0,0 +1,102 @@ +# -*- coding: utf-8 -*- +from __future__ import print_function + +import dnslib +from dnslib import server +from dnslib import dns + +from IPy import IP + + +class DynamicResolver(server.BaseResolver): + """ + Dynamic In-Memory DNS Resolver + """ + + def __init__(self, domain, one_kwargs={}): + """ + Initialise resolver from zone list + Stores RRs as a list of (label, type, rr) tuples + """ + self.domain = domain + self.zone = [] + self._tcp_server = None + self._udp_server = None + + def resolve(self, request, handler): + """ + Respond to DNS request - parameters are request packet & handler. + Method is expected to return DNS response + """ + reply = request.reply() + qname = request.q.qname + qtype = dnslib.QTYPE[request.q.qtype] + for name, rtype, rr in self.zone: + # Check if label & type match + if qname == name and (qtype in [rtype, 'ANY'] or rtype == 'CNAME'): + reply.add_answer(rr) + # Check for A/AAAA records associated with reply and + # add in additional section + if rtype in ['CNAME', 'NS', 'MX', 'PTR']: + for a_name, a_rtype, a_rr in self.zone: + if a_name == rr.rdata.label and a_rtype in ['A', 'AAAA']: + reply.add_ar(a_rr) + if not reply.rr: + reply.header.rcode = dnslib.RCODE.NXDOMAIN + return reply + + def clear(self): + self.zone = [] + + def add_host(self, name, ip): + self._add_forward(name, ip) + self._add_reverse(ip, name) + + def _get_fqdn(self, name): + if not name.endswith(self.domain): + if name.endswith('.'): + return name + self.domain + else: + return '.'.join([name, self.domain]) + return name + + def _add_forward(self, name, ip): + f = dnslib.RR(rname=dnslib.DNSLabel(self._get_fqdn(name)), + rtype=dnslib.QTYPE.reverse['A'], + rclass=dnslib.CLASS.reverse['IN'], + rdata=dns.A(ip)) + self.zone.append((f.rname, 'A', f)) + + def _add_reverse(self, ip, name): + ip = IP(ip) + r = dnslib.RR(rname=dnslib.DNSLabel(ip.reverseName()), + rtype=dnslib.QTYPE.reverse['PTR'], + rclass=dnslib.CLASS.reverse['IN'], + rdata=dns.PTR(self._get_fqdn(name))) + self.zone.append((r.rname, 'PTR', r)) + + def start(self, dns_address='0.0.0.0', dns_port=53, + api_address='127.0.0.1', api_port=8000, tcp=False, udplen=0, + log="request,reply,truncated,error", log_prefix=False): + logger = server.DNSLogger(log, log_prefix) + + print("Starting OneDNS (%s:%d) [%s]" % + (dns_address or "*", dns_port, "UDP/TCP" if tcp else "UDP")) + + server.DNSHandler.udplen = udplen + + self._udp_server = server.DNSServer(self, port=dns_port, + address=dns_address, logger=logger) + self._udp_server.start_thread() + + if tcp: + self._tcp_server = server.DNSServer(self, port=dns_port, + address=dns_address, tcp=True, + logger=logger) + self._tcp_server.start_thread() + + def close(self): + for srv in [self._tcp_server, self._udp_server]: + if srv: + srv.stop() + srv.server.socket.close() diff --git a/onedns/tests/__init__.py b/onedns/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/onedns/tests/conftest.py b/onedns/tests/conftest.py new file mode 100644 index 0000000..f0a3276 --- /dev/null +++ b/onedns/tests/conftest.py @@ -0,0 +1,16 @@ +import pytest + +from onedns import server + + +DOMAIN = 'onedns.test' +INTERFACE = '127.0.0.1' +PORT = 9053 + + +@pytest.fixture(scope="function") +def dns(request): + dns = server.DynamicResolver(domain=DOMAIN) + dns.start(dns_address=INTERFACE, dns_port=PORT, tcp=True) + request.addfinalizer(dns.close) + return dns diff --git a/onedns/tests/test_dynamicresolver.py b/onedns/tests/test_dynamicresolver.py new file mode 100644 index 0000000..d73480b --- /dev/null +++ b/onedns/tests/test_dynamicresolver.py @@ -0,0 +1,51 @@ +import pytest +import dnslib + +from IPy import IP + +from onedns.tests import conftest + + +HOST = '.'.join(['testhost', conftest.DOMAIN]) +HOST_IP = '10.242.118.112' +TEST_LOOKUP_DATA = [ + (HOST, dnslib.QTYPE.A, HOST_IP), + (IP(HOST_IP).reverseName(), dnslib.QTYPE.PTR, HOST + '.') +] +TEST_GET_FQDN_DATA = [ + ('hostwithnodot', '192.168.1.23'), + ('hostwithdot.', '192.168.1.19'), +] + + +@pytest.mark.parametrize("qname,qtype,output", TEST_LOOKUP_DATA) +def test_lookup(dns, qname, qtype, output): + dns.clear() + dns.add_host(HOST, HOST_IP) + try: + q = dnslib.DNSRecord(q=dnslib.DNSQuestion(qname, qtype)) + a_pkt = q.send(conftest.INTERFACE, conftest.PORT, tcp=False) + a = dnslib.DNSRecord.parse(a_pkt) + assert a.short() == output + finally: + dns.close() + + +def test_nxdomain(dns): + dns.clear() + try: + q = dnslib.DNSRecord(q=dnslib.DNSQuestion( + 'unknownhost', dnslib.QTYPE.A)) + a_pkt = q.send(conftest.INTERFACE, conftest.PORT, tcp=False) + a = dnslib.DNSRecord.parse(a_pkt) + assert dnslib.RCODE.get(a.header.rcode) == 'NXDOMAIN' + finally: + dns.close() + + +@pytest.mark.parametrize("name,ip", TEST_GET_FQDN_DATA) +def test_get_fqdn(dns, name, ip): + dns.clear() + dns.add_host(name, ip) + assert dns.zone[0][0].label[0] == name.split('.')[0] + assert '.'.join(dns.zone[0][0].label[1:]) == conftest.DOMAIN From 2e84626fb8faad2873dd39c1c9a323c39d74c679 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 11:34:15 -0400 Subject: [PATCH 03/49] add dnslib to project dependencies --- requirements.txt | 1 + setup.py | 1 + 2 files changed, 2 insertions(+) diff --git a/requirements.txt b/requirements.txt index cd05365..7402204 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ oca==4.10.0 python-etcd==0.4.3 IPy==0.83 +dnslib==0.9.6 diff --git a/setup.py b/setup.py index c75463a..1d3d8c1 100644 --- a/setup.py +++ b/setup.py @@ -22,6 +22,7 @@ setup( "oca>=4.10.0", "python-etcd>=0.4.3", "IPy>=0.83", + "dnslib>=0.9.6", ], entry_points=dict(console_scripts=['onedns = onedns.cli:main']), zip_safe=False From dd8430e5487ecb003f617279b8ba7f6ae3d8e91c Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 11:44:59 -0400 Subject: [PATCH 04/49] add setup.cfg for flake8, pytest, coverage, etc. --- setup.cfg | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 setup.cfg diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..8224adf --- /dev/null +++ b/setup.cfg @@ -0,0 +1,11 @@ +[flake8] +exclude = + .git, + build, + dist + +[pytest] +addopts = -v --cov=onedns --cov-report missing-term + +[coverage:run] +omit = onedns/tests/* From 8dfa63da5d958ded22fc9d536cc5426a06bb3a6c Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 11:54:29 -0400 Subject: [PATCH 05/49] remove all traces of skydns and etcd from code --- README.md | 8 ------ one-dns.yaml | 22 --------------- onedns/api.py | 12 ++++---- onedns/cli.py | 45 ++++++++++-------------------- onedns/clients/skydns.py | 60 ---------------------------------------- onedns/monitor.py | 2 +- requirements.txt | 1 - setup.py | 1 - 8 files changed, 20 insertions(+), 131 deletions(-) delete mode 100644 one-dns.yaml delete mode 100644 onedns/clients/skydns.py diff --git a/README.md b/README.md index f2ec2bb..5d96bf7 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,2 @@ # OneDNS Dyanmic DNS for OpenNebula - -## Usage - -``` -$ docker-compose -f one-dns.yaml up -$ python setup.py install -$ onedns --etcd-host=http://localhost:2379 --client-cert /path/to/ssl/cert -``` diff --git a/one-dns.yaml b/one-dns.yaml deleted file mode 100644 index 5097e3b..0000000 --- a/one-dns.yaml +++ /dev/null @@ -1,22 +0,0 @@ -version: '2' -services: - etcd: - image: quay.io/coreos/etcd:v2.3.2 - restart: always - ports: - - "${ETCD_PORT}:${ETCD_PORT}" - volumes: - - "/tmp/data:/data" - command: --listen-client-urls http://0.0.0.0:${ETCD_PORT} --advertise-client-urls http://0.0.0.0:${ETCD_PORT} --data-dir /data - - skydns: - image: skynetservices/skydns:2.5.3a - restart: always - ports: - - "${DNS_PORT}:${DNS_PORT}" - - "${DNS_PORT}:${DNS_PORT}/udp" - links: - - etcd - depends_on: - - etcd - command: -machines http://etcd:${ETCD_PORT} -addr 0.0.0.0:${DNS_PORT} -no-rec diff --git a/onedns/api.py b/onedns/api.py index 2c7f808..a3555e1 100644 --- a/onedns/api.py +++ b/onedns/api.py @@ -1,18 +1,16 @@ from onedns import exception from onedns.clients import one -from onedns.clients import skydns from onedns.logger import log class OneDNS(object): """ - This class bridges the gap between OpenNebula and SkyDNS APIs. It primarily - provides convenience methods for adding/removing VMs to SkyDNS. + This class provides convenience methods for adding/removing VMs to the + DynamicResolver. """ - def __init__(self, domain, one_kwargs={}, etcd_kwargs={}): + def __init__(self, domain, one_kwargs={}): self._one = one.OneClient(**one_kwargs) - self._skydns = skydns.SkyDNSClient(domain, etcd_kwargs=etcd_kwargs) def _check_for_networks(self, vm): if not hasattr(vm.template, 'nics'): @@ -34,14 +32,14 @@ class OneDNS(object): dns_entries = self._get_vm_dns_entries(vm) log.info("Adding VM {id}: {vm}".format(id=vm.id, vm=vm.name)) for name, ip in dns_entries.items(): - self._skydns.add_host(name, ip) + self.add_host(name, ip) def remove_vm(self, vm): self._check_for_networks(vm) dns_entries = self._get_vm_dns_entries(vm) log.info("Removing VM {id}: {vm}".format(id=vm.id, vm=vm.name)) for name, ip in dns_entries.items(): - self._skydns.remove_host(name, ip) + self.remove_host(name, ip) def add_vm_by_id(self, vm_id): vm = self._one.get_vm_by_id(vm_id) diff --git a/onedns/cli.py b/onedns/cli.py index 8af72cc..078e022 100644 --- a/onedns/cli.py +++ b/onedns/cli.py @@ -4,45 +4,35 @@ from onedns import api from onedns import utils from onedns import logger from onedns import monitor -from onedns.clients import skydns -def daemon(args, one_args, etcd_args): - mon = monitor.OneMonitor(args.domain, one_kwargs=one_args, - etcd_kwargs=etcd_args) +def daemon(args, one_args): + mon = monitor.OneMonitor(args.domain, one_kwargs=one_args) mon.run(args.interval) -def add_host(args, one_args, etcd_args): - client = skydns.SkyDNSClient(args.domain, etcd_kwargs=etcd_args) - client.add_host(args.hostname, args.ip) +def add_host(args, one_args): + pass -def remove_host(args, one_args, etcd_args): - client = skydns.SkyDNSClient(args.domain, etcd_kwargs=etcd_args) - client.remove_host(args.hostname, args.ip) +def remove_host(args, one_args): + pass -def add_vm(args, one_args, etcd_args): - client = api.OneDNS(args.domain, one_kwargs=one_args, - etcd_kwargs=etcd_args) +def add_vm(args, one_args): + client = api.OneDNS(args.domain, one_kwargs=one_args) client.add_vm_by_id(args.id) -def remove_vm(args, one_args, etcd_args): - client = api.OneDNS(args.domain, one_kwargs=one_args, - etcd_kwargs=etcd_args) +def remove_vm(args, one_args): + client = api.OneDNS(args.domain, one_kwargs=one_args) client.remove_vm_by_id(args.id) -def shell(args, one_args, etcd_args): - onemon = monitor.OneMonitor(args.domain, one_kwargs=one_args, - etcd_kwargs=etcd_args) +def shell(args, one_args): + onemon = monitor.OneMonitor(args.domain, one_kwargs=one_args) oneclient = onemon._one - skyclient = onemon._skydns - etcdclient = skyclient._etcd - ns = dict(onemon=onemon, skyclient=skyclient, oneclient=oneclient, - etcdclient=etcdclient, log=logger.log) + ns = dict(onemon=onemon, oneclient=oneclient, log=logger.log) utils.shell(local_ns=ns) @@ -60,12 +50,6 @@ def main(args=None): help='ONE credentials to use (e.g. user:key)') parser.add_argument('--one-proxy', required=False, help='proxy host to use to connect to ONE controller') - parser.add_argument('--etcd-host', required=False, - help='etcd host to connect to') - parser.add_argument('--etcd-port', required=False, type=int, default=4001, - help='etcd port to connect to') - parser.add_argument('--etcd-cert', required=False, type=int, - help='path to etcd client ssl cert') subparsers = parser.add_subparsers() daemon_parser = subparsers.add_parser('daemon') @@ -107,6 +91,5 @@ def main(args=None): args_dict = vars(args) one_args = utils.get_kwargs_from_dict(args_dict, 'one_') - etcd_args = utils.get_kwargs_from_dict(args_dict, 'etcd_') - args.func(args, one_args, etcd_args) + args.func(args, one_args) diff --git a/onedns/clients/skydns.py b/onedns/clients/skydns.py deleted file mode 100644 index ca40179..0000000 --- a/onedns/clients/skydns.py +++ /dev/null @@ -1,60 +0,0 @@ -import re -import json - -import etcd - -from onedns.logger import log - -RE_VALIDNAME = re.compile('[^\w\d.-]') - - -class SkyDNSClient(object): - def __init__(self, domain, etcd_kwargs={}): - self.domain = domain - self._reverse_domain_parts = domain.split('.') - self._reverse_domain_parts.reverse() - self._etcd = etcd.Client(**etcd_kwargs) - - def _sanitize_name(self, name): - return RE_VALIDNAME.sub('', name).rstrip('.') - - def _skydns_ns(self, parts): - return '/'.join(['skydns'] + parts) - - def _get_forward_ns(self, hostname): - return self._skydns_ns(self._reverse_domain_parts + [hostname]) - - def _get_reverse_ns(self, ip): - ip_parts = ip.split('.') - return self._skydns_ns(['arpa/in-addr'] + ip_parts) - - def add_forward(self, hostname, ip): - forward = self._get_forward_ns(hostname) - log.debug("adding forward: {path}".format(path=forward)) - self._etcd.write(forward, json.dumps(dict(host=ip))) - - def remove_forward(self, hostname): - forward = self._get_forward_ns(hostname) - log.debug("removing forward: {path}".format(path=forward)) - self._etcd.delete(forward) - - def add_reverse(self, ip, hostname): - reverse = self._get_reverse_ns(ip) - fqdn = '.'.join([hostname, self.domain]) - log.debug("adding reverse: {path}".format(path=reverse)) - self._etcd.write(reverse, json.dumps(dict(host=fqdn))) - - def remove_reverse(self, ip): - reverse = self._get_reverse_ns(ip) - log.debug("removing reverse: {path}".format(path=reverse)) - self._etcd.delete(reverse) - - def add_host(self, hostname, ip): - hostname = self._sanitize_name(hostname) - self.add_forward(hostname, ip) - self.add_reverse(ip, hostname) - - def remove_host(self, hostname, ip): - hostname = self._sanitize_name(hostname) - self.remove_forward(hostname) - self.remove_reverse(ip) diff --git a/onedns/monitor.py b/onedns/monitor.py index d2c7d54..b9853bc 100644 --- a/onedns/monitor.py +++ b/onedns/monitor.py @@ -5,7 +5,7 @@ from onedns import api class OneMonitor(api.OneDNS): """ - Daemon that syncs OpenNebula VMs with SkyDNS + Daemon that syncs OpenNebula VMs with OneDNS """ def run(self, interval=60): while True: diff --git a/requirements.txt b/requirements.txt index 7402204..137d95b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,3 @@ oca==4.10.0 -python-etcd==0.4.3 IPy==0.83 dnslib==0.9.6 diff --git a/setup.py b/setup.py index 1d3d8c1..1a2396e 100644 --- a/setup.py +++ b/setup.py @@ -20,7 +20,6 @@ setup( long_description=README, install_requires=[ "oca>=4.10.0", - "python-etcd>=0.4.3", "IPy>=0.83", "dnslib>=0.9.6", ], From dad6ce3e2cba0260b4f28819b46217f805c19d39 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 12:04:45 -0400 Subject: [PATCH 06/49] setup.cfg: s/missing-term/term-missing --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 8224adf..ed88aa4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -5,7 +5,7 @@ exclude = dist [pytest] -addopts = -v --cov=onedns --cov-report missing-term +addopts = -v --cov=onedns --cov-report term-missing [coverage:run] omit = onedns/tests/* From 12a2a46f146813eb0b0cb47aad3e088bc90f500e Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 12:39:02 -0400 Subject: [PATCH 07/49] move server.py -> resolver.py --- onedns/{server.py => resolver.py} | 0 onedns/tests/conftest.py | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) rename onedns/{server.py => resolver.py} (100%) diff --git a/onedns/server.py b/onedns/resolver.py similarity index 100% rename from onedns/server.py rename to onedns/resolver.py diff --git a/onedns/tests/conftest.py b/onedns/tests/conftest.py index f0a3276..40b77ef 100644 --- a/onedns/tests/conftest.py +++ b/onedns/tests/conftest.py @@ -1,6 +1,6 @@ import pytest -from onedns import server +from onedns import resolver DOMAIN = 'onedns.test' @@ -10,7 +10,7 @@ PORT = 9053 @pytest.fixture(scope="function") def dns(request): - dns = server.DynamicResolver(domain=DOMAIN) + dns = resolver.DynamicResolver(domain=DOMAIN) dns.start(dns_address=INTERFACE, dns_port=PORT, tcp=True) request.addfinalizer(dns.close) return dns From c1a6d81157c72c7fdf344403bb20f68043e805ac Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 13:21:42 -0400 Subject: [PATCH 08/49] add daemon method to DynamicResolver Keeps main process up indefinitely as long as DynamicResolver UDP socketserver is up --- onedns/resolver.py | 10 ++++++++++ onedns/tests/test_dynamicresolver.py | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/onedns/resolver.py b/onedns/resolver.py index efe892b..94707d4 100644 --- a/onedns/resolver.py +++ b/onedns/resolver.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import print_function +import time import dnslib from dnslib import server @@ -100,3 +101,12 @@ class DynamicResolver(server.BaseResolver): if srv: srv.stop() srv.server.socket.close() + + def daemon(self, *args, **kwargs): + testing = kwargs.pop('testing', False) + if self._udp_server is None or not self._udp_server.isAlive(): + self.start(*args, **kwargs) + while self._udp_server.isAlive(): + time.sleep(1) + if testing: + break diff --git a/onedns/tests/test_dynamicresolver.py b/onedns/tests/test_dynamicresolver.py index d73480b..b64a5a8 100644 --- a/onedns/tests/test_dynamicresolver.py +++ b/onedns/tests/test_dynamicresolver.py @@ -49,3 +49,9 @@ def test_get_fqdn(dns, name, ip): dns.add_host(name, ip) assert dns.zone[0][0].label[0] == name.split('.')[0] assert '.'.join(dns.zone[0][0].label[1:]) == conftest.DOMAIN + + +def test_daemon(dns): + dns.close() + dns.daemon(dns_address=conftest.INTERFACE, dns_port=conftest.PORT, + tcp=True, testing=True) From fb1608ce56b89ce1a00cc902f276968ed92c7b5d Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 13:29:53 -0400 Subject: [PATCH 09/49] move api.py module to server.py --- onedns/cli.py | 18 +++++++++--------- onedns/{api.py => server.py} | 8 ++++++-- 2 files changed, 15 insertions(+), 11 deletions(-) rename onedns/{api.py => server.py} (90%) diff --git a/onedns/cli.py b/onedns/cli.py index 078e022..17fc404 100644 --- a/onedns/cli.py +++ b/onedns/cli.py @@ -1,14 +1,14 @@ import argparse -from onedns import api from onedns import utils +from onedns import server from onedns import logger -from onedns import monitor def daemon(args, one_args): - mon = monitor.OneMonitor(args.domain, one_kwargs=one_args) - mon.run(args.interval) + srv = server.OneDNS(args.domain, one_kwargs=one_args) + srv.sync() + srv.daemon(dns_port=args.dns_port) def add_host(args, one_args): @@ -30,9 +30,9 @@ def remove_vm(args, one_args): def shell(args, one_args): - onemon = monitor.OneMonitor(args.domain, one_kwargs=one_args) - oneclient = onemon._one - ns = dict(onemon=onemon, oneclient=oneclient, log=logger.log) + srv = server.OneDNS(args.domain, one_kwargs=one_args) + oneclient = srv._one + ns = dict(one_dns=srv, oneclient=oneclient, log=logger.log) utils.shell(local_ns=ns) @@ -55,8 +55,8 @@ def main(args=None): daemon_parser = subparsers.add_parser('daemon') daemon_parser.set_defaults(func=daemon) daemon_parser.add_argument( - '-i', '--interval', required=False, type=int, default=60, - help="how often in seconds to poll ONE and update DNS") + '--dns-port', required=False, default=5053, type=int, + help="port for DNS server to listen on") add_parser = subparsers.add_parser('add') add_subparser = add_parser.add_subparsers() diff --git a/onedns/api.py b/onedns/server.py similarity index 90% rename from onedns/api.py rename to onedns/server.py index a3555e1..363c5d6 100644 --- a/onedns/api.py +++ b/onedns/server.py @@ -1,15 +1,17 @@ +from onedns import resolver from onedns import exception from onedns.clients import one from onedns.logger import log -class OneDNS(object): +class OneDNS(resolver.DynamicResolver): """ This class provides convenience methods for adding/removing VMs to the DynamicResolver. """ def __init__(self, domain, one_kwargs={}): + super(OneDNS, self).__init__(domain) self._one = one.OneClient(**one_kwargs) def _check_for_networks(self, vm): @@ -50,7 +52,9 @@ class OneDNS(object): return self.remove_vm(vm) def sync(self): - for vm in self._one.vms(): + vms = self._one.vms() + self.clear() + for vm in vms: try: self.add_vm(vm) except exception.NoNetworksError as e: From 989e194c1a230493b26b26f96f55b6de2054c18a Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 13:32:12 -0400 Subject: [PATCH 10/49] cli: remove all commands except daemon and shell ...for now --- onedns/cli.py | 42 ------------------------------------------ 1 file changed, 42 deletions(-) diff --git a/onedns/cli.py b/onedns/cli.py index 17fc404..2a38100 100644 --- a/onedns/cli.py +++ b/onedns/cli.py @@ -11,24 +11,6 @@ def daemon(args, one_args): srv.daemon(dns_port=args.dns_port) -def add_host(args, one_args): - pass - - -def remove_host(args, one_args): - pass - - -def add_vm(args, one_args): - client = api.OneDNS(args.domain, one_kwargs=one_args) - client.add_vm_by_id(args.id) - - -def remove_vm(args, one_args): - client = api.OneDNS(args.domain, one_kwargs=one_args) - client.remove_vm_by_id(args.id) - - def shell(args, one_args): srv = server.OneDNS(args.domain, one_kwargs=one_args) oneclient = srv._one @@ -58,30 +40,6 @@ def main(args=None): '--dns-port', required=False, default=5053, type=int, help="port for DNS server to listen on") - add_parser = subparsers.add_parser('add') - add_subparser = add_parser.add_subparsers() - - add_vm_parser = add_subparser.add_parser('vm') - add_vm_parser.set_defaults(func=add_vm) - add_vm_parser.add_argument('id', type=int, help='id of the vm to add') - - add_host_parser = add_subparser.add_parser('host') - add_host_parser.set_defaults(func=add_host) - add_host_parser.add_argument('hostname', help='name of host to add') - add_host_parser.add_argument('ip', help='ip of host to add') - - rm_parser = subparsers.add_parser('remove') - rm_subparser = rm_parser.add_subparsers() - - rm_vm_parser = rm_subparser.add_parser('vm') - rm_vm_parser.set_defaults(func=remove_vm) - rm_vm_parser.add_argument('id', type=int, help='id of the vm to add') - - rm_host_parser = rm_subparser.add_parser('host') - rm_host_parser.set_defaults(func=remove_host) - rm_host_parser.add_argument('hostname', help='name of host to remove') - rm_host_parser.add_argument('ip', help='ip of host to remove') - shell_parser = subparsers.add_parser('shell') shell_parser.set_defaults(func=shell) From 14cd665964709a59fdead8b6a2075a5011bec3db Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 17:17:19 -0400 Subject: [PATCH 11/49] configure pytest and setuptools integration --- setup.cfg | 3 +++ setup.py | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/setup.cfg b/setup.cfg index ed88aa4..b412b3c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,3 +1,6 @@ +[aliases] +test=pytest + [flake8] exclude = .git, diff --git a/setup.py b/setup.py index 1a2396e..d23f46a 100644 --- a/setup.py +++ b/setup.py @@ -23,6 +23,13 @@ setup( "IPy>=0.83", "dnslib>=0.9.6", ], + setup_requires=[ + 'pytest-runner>=2.9' + ], + tests_require=[ + "pytest>=2.9.2", + "testfixtures>=4.10.0", + ], entry_points=dict(console_scripts=['onedns = onedns.cli:main']), zip_safe=False ) From 68b64b58ee84fa8e185fa86f58f5aeda28017d4a Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 17:25:38 -0400 Subject: [PATCH 12/49] logger: leave default log completely unconfigured ...dont add NullHandler --- onedns/logger.py | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/onedns/logger.py b/onedns/logger.py index 51a49c3..863967c 100644 --- a/onedns/logger.py +++ b/onedns/logger.py @@ -6,19 +6,7 @@ import logging.handlers LOG_FORMAT = ("%(asctime)s %(filename)s:%(lineno)d - %(levelname)s - " "%(message)s") - -class NullHandler(logging.Handler): - def emit(self, record): - pass - - -def get_onedns_logger(): - log = logging.getLogger('onedns') - log.addHandler(NullHandler()) - return log - - -log = get_onedns_logger() +log = logging.getLogger('onedns') console = logging.StreamHandler() formatter = logging.Formatter(LOG_FORMAT) console.setFormatter(formatter) @@ -29,11 +17,10 @@ def configure_onedns_logging(use_syslog=False, syslog_device='/dev/log', """ Configure logging for onedns *application* code - By default onedns's logger has no formatters and a NullHandler so that - other developers using onedns as a library can configure logging as - they see fit. This method is used in onedns's application code (i.e. - the 'onedns' command) to toggle onedns's application specific - formatters/handlers + By default onedns's logger is completely unconfigured so that other + developers using onedns as a library can configure logging as they see fit. + This method is used in onedns's application code (i.e. the 'onedns' + command) to toggle onedns's application specific formatters/handlers use_syslog - enable logging all messages to syslog. currently only works if /dev/log exists on the system (standard for most Linux distros) From ea68558d6377173cd8c0ede7a1b117c5b23d0def Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 17:28:44 -0400 Subject: [PATCH 13/49] logger: remove syslog handlers for now --- onedns/logger.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/onedns/logger.py b/onedns/logger.py index 863967c..22760bf 100644 --- a/onedns/logger.py +++ b/onedns/logger.py @@ -12,8 +12,7 @@ formatter = logging.Formatter(LOG_FORMAT) console.setFormatter(formatter) -def configure_onedns_logging(use_syslog=False, syslog_device='/dev/log', - debug=False): +def configure_onedns_logging(debug=False): """ Configure logging for onedns *application* code @@ -21,9 +20,6 @@ def configure_onedns_logging(use_syslog=False, syslog_device='/dev/log', developers using onedns as a library can configure logging as they see fit. This method is used in onedns's application code (i.e. the 'onedns' command) to toggle onedns's application specific formatters/handlers - - use_syslog - enable logging all messages to syslog. currently only works if - /dev/log exists on the system (standard for most Linux distros) """ log.setLevel(logging.DEBUG) if debug: @@ -31,8 +27,3 @@ def configure_onedns_logging(use_syslog=False, syslog_device='/dev/log', else: console.setLevel(logging.INFO) log.addHandler(console) - if use_syslog and os.path.exists(syslog_device): - log.debug("Logging to %s" % syslog_device) - syslog_handler = logging.handlers.SysLogHandler(address=syslog_device) - syslog_handler.setLevel(logging.DEBUG) - log.addHandler(syslog_handler) From c4941aaf4485678d003fa472c837199383b871bd Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 18:06:35 -0400 Subject: [PATCH 14/49] add tests for one.OneClient --- onedns/tests/conftest.py | 6 ++++++ onedns/tests/test_oneclient.py | 17 +++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 onedns/tests/test_oneclient.py diff --git a/onedns/tests/conftest.py b/onedns/tests/conftest.py index 40b77ef..3ed5afb 100644 --- a/onedns/tests/conftest.py +++ b/onedns/tests/conftest.py @@ -1,6 +1,7 @@ import pytest from onedns import resolver +from onedns.clients import one DOMAIN = 'onedns.test' @@ -14,3 +15,8 @@ def dns(request): dns.start(dns_address=INTERFACE, dns_port=PORT, tcp=True) request.addfinalizer(dns.close) return dns + + +@pytest.fixture(scope="module") +def oneclient(request): + return one.OneClient() diff --git a/onedns/tests/test_oneclient.py b/onedns/tests/test_oneclient.py new file mode 100644 index 0000000..a1745a8 --- /dev/null +++ b/onedns/tests/test_oneclient.py @@ -0,0 +1,17 @@ +import pytest + +import oca +from oca import vm + + +def test_get_vms(oneclient): + vms = oneclient.vms() + assert isinstance(vms, vm.VirtualMachinePool) + assert len(vms) > 0 + + +def test_get_vm_by_id(oneclient): + with pytest.raises(TypeError): + oneclient.get_vm_by_id('asdf') + vm = oneclient.get_vm_by_id(0) + assert isinstance(vm, oca.VirtualMachine) From 8b02727e35a90fbe64711b02c92635a475a4a591 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 18:08:50 -0400 Subject: [PATCH 15/49] remove unused onedns.monitor module --- onedns/monitor.py | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100644 onedns/monitor.py diff --git a/onedns/monitor.py b/onedns/monitor.py deleted file mode 100644 index b9853bc..0000000 --- a/onedns/monitor.py +++ /dev/null @@ -1,13 +0,0 @@ -import time - -from onedns import api - - -class OneMonitor(api.OneDNS): - """ - Daemon that syncs OpenNebula VMs with OneDNS - """ - def run(self, interval=60): - while True: - self.sync() - time.sleep(interval) From 649fb7d6a6f78fb0d1be0d2fcc989a8dc27bc0c3 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 18:35:17 -0400 Subject: [PATCH 16/49] add tests for onedns.logger module --- onedns/tests/test_logging.py | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 onedns/tests/test_logging.py diff --git a/onedns/tests/test_logging.py b/onedns/tests/test_logging.py new file mode 100644 index 0000000..f2bb22d --- /dev/null +++ b/onedns/tests/test_logging.py @@ -0,0 +1,21 @@ +import logging + +from testfixtures import LogCapture + +from onedns import logger + + +def test_onedns_logger(): + assert not logger.log.handlers + with LogCapture() as log_capture: + logger.configure_onedns_logging() + assert logger.log.handlers + assert logger.console.level == logging.INFO + logger.log.info('test') + logger.configure_onedns_logging(debug=True) + assert logger.console.level == logging.DEBUG + logger.log.debug('test') + log_capture.check( + ('onedns', 'INFO', 'test'), + ('onedns', 'DEBUG', 'test'), + ) From 923c8305ae2ba2f6757cdafe0d10fdf7cd49a889 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Tue, 2 Aug 2016 23:19:04 -0400 Subject: [PATCH 17/49] add tests for utils module --- onedns/tests/test_shell.py | 33 +++++++++++++++++++++++++++++++++ onedns/tests/test_utils.py | 24 ++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 onedns/tests/test_shell.py create mode 100644 onedns/tests/test_utils.py diff --git a/onedns/tests/test_shell.py b/onedns/tests/test_shell.py new file mode 100644 index 0000000..a8dddd3 --- /dev/null +++ b/onedns/tests/test_shell.py @@ -0,0 +1,33 @@ +import sys + +import mock + +from testfixtures import LogCapture + +IPY = mock.MagicMock() +IPY.embed = mock.MagicMock() + +IPY_MODULES = { + 'IPython': IPY, +} + + +@mock.patch.dict('sys.modules', IPY_MODULES) +def test_with_ipython(): + from onedns import utils + ns = dict(test=True) + utils.shell(local_ns=ns) + IPY.embed.assert_called_once_with(user_ns=ns) + + +@mock.patch.object(sys, 'path', []) +def test_without_ipython(): + from onedns import utils + with LogCapture() as log: + utils.shell() + log.check( + ('onedns', 'ERROR', + 'Unable to load IPython:\n\nNo module named IPython\n'), + ('onedns', 'ERROR', + 'Please check that IPython is installed and working.'), + ) diff --git a/onedns/tests/test_utils.py b/onedns/tests/test_utils.py new file mode 100644 index 0000000..d0950b8 --- /dev/null +++ b/onedns/tests/test_utils.py @@ -0,0 +1,24 @@ +import os + +import mock + +from onedns import utils + + +ONE_XMLRPC = 'https://controller:2633/RPC2' + + +def test_get_kwargs_from_dict(): + d = dict(ONE_XMLRPC=ONE_XMLRPC) + kwargs = utils.get_kwargs_from_dict(d, prefix='ONE_') + assert kwargs['XMLRPC'] == ONE_XMLRPC + kwargs = utils.get_kwargs_from_dict(d, prefix='ONE_', lower=True) + assert kwargs['xmlrpc'] == ONE_XMLRPC + + +@mock.patch.dict(os.environ, {'ONE_XMLRPC': ONE_XMLRPC}) +def test_get_kwargs_from_env(): + kwargs = utils.get_kwargs_from_env(prefix='ONE_') + assert kwargs['XMLRPC'] == ONE_XMLRPC + kwargs = utils.get_kwargs_from_env(prefix='ONE_', lower=True) + assert kwargs['xmlrpc'] == ONE_XMLRPC From f312c86df69315c0bc63defe245c71aa291fb878 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 00:12:31 -0400 Subject: [PATCH 18/49] gitignore: ignore .eggs directory --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index f8c1cee..4fe413f 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ build/ develop-eggs/ dist/ downloads/ +.eggs eggs/ #lib/ lib64/ From eff941dbf8d022d380f11ea4efc44375bb198719 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 00:13:16 -0400 Subject: [PATCH 19/49] utils: add get_kwargs_from_env function --- onedns/utils.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/onedns/utils.py b/onedns/utils.py index b49ca00..e457430 100644 --- a/onedns/utils.py +++ b/onedns/utils.py @@ -1,10 +1,21 @@ +import os + from onedns.logger import log -def get_kwargs_from_dict(d, prefix): - kwargs = dict((i.replace(prefix, ''), d[i]) - for i in d.keys() if i.startswith(prefix)) - return kwargs +def get_kwargs_from_dict(d, prefix, lower=False): + tups_list = [] + for i in d: + if i.startswith(prefix): + arg = i.replace(prefix, '') + if lower: + arg = arg.lower() + tups_list.append((arg, d[i])) + return dict(tups_list) + + +def get_kwargs_from_env(prefix, lower=False): + return get_kwargs_from_dict(os.environ, prefix, lower=lower) def shell(local_ns={}): From 679f3a036960899f1d515cccd15ccf8760e1a86e Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 00:35:58 -0400 Subject: [PATCH 20/49] use vcrpy for oneclient tests Will commit cassettes later once the tests have been executed on a test VM and the test authorization token has been stripped. --- onedns/tests/__init__.py | 11 +++++++++++ onedns/tests/conftest.py | 5 ++++- onedns/tests/test_oneclient.py | 4 ++++ setup.py | 1 + 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/onedns/tests/__init__.py b/onedns/tests/__init__.py index e69de29..10b91bf 100644 --- a/onedns/tests/__init__.py +++ b/onedns/tests/__init__.py @@ -0,0 +1,11 @@ +import os + +from vcr import VCR + +vcr = VCR( + serializer='yaml', + cassette_library_dir=os.path.join( + os.path.dirname(os.path.realpath(__file__)), 'fixtures/oneclient' + ), + record_mode='once', +) diff --git a/onedns/tests/conftest.py b/onedns/tests/conftest.py index 3ed5afb..b8693c4 100644 --- a/onedns/tests/conftest.py +++ b/onedns/tests/conftest.py @@ -17,6 +17,9 @@ def dns(request): return dns -@pytest.fixture(scope="module") +@pytest.fixture(scope="function") def oneclient(request): + """ + NOTE: All fixtures must be function scope to work with VCRPY cassettes + """ return one.OneClient() diff --git a/onedns/tests/test_oneclient.py b/onedns/tests/test_oneclient.py index a1745a8..9499cb8 100644 --- a/onedns/tests/test_oneclient.py +++ b/onedns/tests/test_oneclient.py @@ -1,15 +1,19 @@ +from onedns.tests import vcr + import pytest import oca from oca import vm +@vcr.use_cassette() def test_get_vms(oneclient): vms = oneclient.vms() assert isinstance(vms, vm.VirtualMachinePool) assert len(vms) > 0 +@vcr.use_cassette() def test_get_vm_by_id(oneclient): with pytest.raises(TypeError): oneclient.get_vm_by_id('asdf') diff --git a/setup.py b/setup.py index d23f46a..6b38241 100644 --- a/setup.py +++ b/setup.py @@ -29,6 +29,7 @@ setup( tests_require=[ "pytest>=2.9.2", "testfixtures>=4.10.0", + "vcrpy>=1.9.0", ], entry_points=dict(console_scripts=['onedns = onedns.cli:main']), zip_safe=False From ca951f324a099bf8f92e0495d078647bcba897eb Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 00:37:45 -0400 Subject: [PATCH 21/49] add mock to test dependencies --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 6b38241..c0a31d8 100644 --- a/setup.py +++ b/setup.py @@ -30,6 +30,7 @@ setup( "pytest>=2.9.2", "testfixtures>=4.10.0", "vcrpy>=1.9.0", + "mock>=2.0.0", ], entry_points=dict(console_scripts=['onedns = onedns.cli:main']), zip_safe=False From a0cadb72589a3a5999d54921104c0e6bc7eebb9a Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 00:38:56 -0400 Subject: [PATCH 22/49] logger: remove unused os import --- onedns/logger.py | 1 - 1 file changed, 1 deletion(-) diff --git a/onedns/logger.py b/onedns/logger.py index 22760bf..a96a1d6 100644 --- a/onedns/logger.py +++ b/onedns/logger.py @@ -1,4 +1,3 @@ -import os import logging import logging.handlers From e411bb7a8a94cb2d4cfd82c804a8512f32e8ae9f Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 00:43:11 -0400 Subject: [PATCH 23/49] add pytest-cov to test dependencies --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index c0a31d8..1f82d7e 100644 --- a/setup.py +++ b/setup.py @@ -28,6 +28,7 @@ setup( ], tests_require=[ "pytest>=2.9.2", + "pytest-cov>=2.3.0", "testfixtures>=4.10.0", "vcrpy>=1.9.0", "mock>=2.0.0", From d57ca4efa87dbb7e56673cc256acc22336c72d2c Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 00:44:16 -0400 Subject: [PATCH 24/49] use pytest-flake8 plugin --- setup.cfg | 2 +- setup.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index b412b3c..7eb0124 100644 --- a/setup.cfg +++ b/setup.cfg @@ -8,7 +8,7 @@ exclude = dist [pytest] -addopts = -v --cov=onedns --cov-report term-missing +addopts = -v --cov=onedns --cov-report term-missing --flake8 [coverage:run] omit = onedns/tests/* diff --git a/setup.py b/setup.py index 1f82d7e..feb79f6 100644 --- a/setup.py +++ b/setup.py @@ -29,6 +29,7 @@ setup( tests_require=[ "pytest>=2.9.2", "pytest-cov>=2.3.0", + "pytest-flake8>=0.6", "testfixtures>=4.10.0", "vcrpy>=1.9.0", "mock>=2.0.0", From 8d00264eb75ea01101bff0d0c58d6698d3963cb9 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 11:31:40 -0400 Subject: [PATCH 25/49] vcr: save fixtures with .yaml extension --- onedns/tests/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/onedns/tests/__init__.py b/onedns/tests/__init__.py index 10b91bf..effcb57 100644 --- a/onedns/tests/__init__.py +++ b/onedns/tests/__init__.py @@ -8,4 +8,5 @@ vcr = VCR( os.path.dirname(os.path.realpath(__file__)), 'fixtures/oneclient' ), record_mode='once', + path_transformer=VCR.ensure_suffix('.yaml'), ) From 17acd42c7d42ea31b6bc10a792f55e4e8cc33b9b Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 11:33:36 -0400 Subject: [PATCH 26/49] vcr: decompress response bodies before recording --- onedns/tests/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/onedns/tests/__init__.py b/onedns/tests/__init__.py index effcb57..a35c0fa 100644 --- a/onedns/tests/__init__.py +++ b/onedns/tests/__init__.py @@ -8,5 +8,6 @@ vcr = VCR( os.path.dirname(os.path.realpath(__file__)), 'fixtures/oneclient' ), record_mode='once', + decode_compressed_response=True, path_transformer=VCR.ensure_suffix('.yaml'), ) From 2c32c03ab4eede0611123c8c493b59f9fbc96baa Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 11:38:10 -0400 Subject: [PATCH 27/49] vcr: scrub ONE xmlrpc auth from recordings --- onedns/tests/__init__.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/onedns/tests/__init__.py b/onedns/tests/__init__.py index a35c0fa..1eb4355 100644 --- a/onedns/tests/__init__.py +++ b/onedns/tests/__init__.py @@ -1,7 +1,23 @@ import os +import StringIO +import xml.etree.ElementTree as ET from vcr import VCR + +def scrub_auth(request): + xml = StringIO.StringIO(request.body) + tree = ET.parse(xml) + root = tree.getroot() + auth_param = tree.findall('./params/param/value/string')[0] + auth_param.text = 'someuser:sometoken' + scrubbed = StringIO.StringIO() + tree.write(scrubbed) + scrubbed.seek(0) + request.body = scrubbed.read() + return request + + vcr = VCR( serializer='yaml', cassette_library_dir=os.path.join( @@ -10,4 +26,5 @@ vcr = VCR( record_mode='once', decode_compressed_response=True, path_transformer=VCR.ensure_suffix('.yaml'), + before_record=scrub_auth, ) From e6a1724251362a118afb6409a007d8bb0c1321d2 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 11:45:57 -0400 Subject: [PATCH 28/49] fix flake8 failures --- onedns/resolver.py | 3 ++- onedns/tests/__init__.py | 2 +- onedns/tests/test_shell.py | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/onedns/resolver.py b/onedns/resolver.py index 94707d4..0362c40 100644 --- a/onedns/resolver.py +++ b/onedns/resolver.py @@ -32,6 +32,7 @@ class DynamicResolver(server.BaseResolver): reply = request.reply() qname = request.q.qname qtype = dnslib.QTYPE[request.q.qtype] + A_RECORDS = ['A', 'AAAA'] for name, rtype, rr in self.zone: # Check if label & type match if qname == name and (qtype in [rtype, 'ANY'] or rtype == 'CNAME'): @@ -40,7 +41,7 @@ class DynamicResolver(server.BaseResolver): # add in additional section if rtype in ['CNAME', 'NS', 'MX', 'PTR']: for a_name, a_rtype, a_rr in self.zone: - if a_name == rr.rdata.label and a_rtype in ['A', 'AAAA']: + if a_name == rr.rdata.label and a_rtype in A_RECORDS: reply.add_ar(a_rr) if not reply.rr: reply.header.rcode = dnslib.RCODE.NXDOMAIN diff --git a/onedns/tests/__init__.py b/onedns/tests/__init__.py index 1eb4355..9b16896 100644 --- a/onedns/tests/__init__.py +++ b/onedns/tests/__init__.py @@ -9,7 +9,7 @@ def scrub_auth(request): xml = StringIO.StringIO(request.body) tree = ET.parse(xml) root = tree.getroot() - auth_param = tree.findall('./params/param/value/string')[0] + auth_param = root.findall('./params/param/value/string')[0] auth_param.text = 'someuser:sometoken' scrubbed = StringIO.StringIO() tree.write(scrubbed) diff --git a/onedns/tests/test_shell.py b/onedns/tests/test_shell.py index a8dddd3..a5e4e6f 100644 --- a/onedns/tests/test_shell.py +++ b/onedns/tests/test_shell.py @@ -8,7 +8,7 @@ IPY = mock.MagicMock() IPY.embed = mock.MagicMock() IPY_MODULES = { - 'IPython': IPY, + 'IPython': IPY, } From 9ba49ee677e90dcf3f5776f5e26a63fed9a4e6d1 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 3 Aug 2016 12:01:41 -0400 Subject: [PATCH 29/49] tests: move dns query code to onedns.tests.utils --- onedns/tests/test_dynamicresolver.py | 10 +++------- onedns/tests/utils.py | 9 +++++++++ 2 files changed, 12 insertions(+), 7 deletions(-) create mode 100644 onedns/tests/utils.py diff --git a/onedns/tests/test_dynamicresolver.py b/onedns/tests/test_dynamicresolver.py index b64a5a8..33159a5 100644 --- a/onedns/tests/test_dynamicresolver.py +++ b/onedns/tests/test_dynamicresolver.py @@ -3,6 +3,7 @@ import dnslib from IPy import IP +from onedns.tests import utils from onedns.tests import conftest @@ -23,9 +24,7 @@ def test_lookup(dns, qname, qtype, output): dns.clear() dns.add_host(HOST, HOST_IP) try: - q = dnslib.DNSRecord(q=dnslib.DNSQuestion(qname, qtype)) - a_pkt = q.send(conftest.INTERFACE, conftest.PORT, tcp=False) - a = dnslib.DNSRecord.parse(a_pkt) + a = utils.dnsquery(qname, qtype) assert a.short() == output finally: dns.close() @@ -34,10 +33,7 @@ def test_lookup(dns, qname, qtype, output): def test_nxdomain(dns): dns.clear() try: - q = dnslib.DNSRecord(q=dnslib.DNSQuestion( - 'unknownhost', dnslib.QTYPE.A)) - a_pkt = q.send(conftest.INTERFACE, conftest.PORT, tcp=False) - a = dnslib.DNSRecord.parse(a_pkt) + a = utils.dnsquery('unknownhost', dnslib.QTYPE.A) assert dnslib.RCODE.get(a.header.rcode) == 'NXDOMAIN' finally: dns.close() diff --git a/onedns/tests/utils.py b/onedns/tests/utils.py new file mode 100644 index 0000000..f2a8d60 --- /dev/null +++ b/onedns/tests/utils.py @@ -0,0 +1,9 @@ +import dnslib + +from onedns.tests import conftest + + +def dnsquery(qname, qtype): + q = dnslib.DNSRecord(q=dnslib.DNSQuestion(qname, qtype)) + a_pkt = q.send(conftest.INTERFACE, conftest.PORT, tcp=False) + return dnslib.DNSRecord.parse(a_pkt) From 6fecaed95ad8f7fe74057788cef34fe6e29a36fc Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Fri, 12 Aug 2016 10:44:09 -0400 Subject: [PATCH 30/49] add optional vms kwarg to sync for testing --- onedns/server.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/onedns/server.py b/onedns/server.py index 363c5d6..8084ee4 100644 --- a/onedns/server.py +++ b/onedns/server.py @@ -51,8 +51,8 @@ class OneDNS(resolver.DynamicResolver): vm = self._one.get_vm_by_id(vm_id) return self.remove_vm(vm) - def sync(self): - vms = self._one.vms() + def sync(self, vms=None): + vms = vms or self._one.vms() self.clear() for vm in vms: try: From 7f2a3ca8a8e1ea17fe7749cdb9de5e7bdb9a963d Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Fri, 12 Aug 2016 11:03:55 -0400 Subject: [PATCH 31/49] add kwargs for server, port, and tcp to dnsquery --- onedns/tests/utils.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/onedns/tests/utils.py b/onedns/tests/utils.py index f2a8d60..5865e26 100644 --- a/onedns/tests/utils.py +++ b/onedns/tests/utils.py @@ -3,7 +3,9 @@ import dnslib from onedns.tests import conftest -def dnsquery(qname, qtype): +def dnsquery(qname, qtype, server=None, port=None, tcp=False): + server = server or conftest.INTERFACE + port = port or conftest.PORT q = dnslib.DNSRecord(q=dnslib.DNSQuestion(qname, qtype)) - a_pkt = q.send(conftest.INTERFACE, conftest.PORT, tcp=False) + a_pkt = q.send(server, port, tcp=tcp) return dnslib.DNSRecord.parse(a_pkt) From ec8c1902abb69aef32c18a386022184d75c07d31 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Fri, 12 Aug 2016 11:12:11 -0400 Subject: [PATCH 32/49] move get_fqdn to onedns.utils module --- onedns/resolver.py | 9 +++------ onedns/utils.py | 9 +++++++++ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/onedns/resolver.py b/onedns/resolver.py index 0362c40..10b5792 100644 --- a/onedns/resolver.py +++ b/onedns/resolver.py @@ -8,6 +8,8 @@ from dnslib import dns from IPy import IP +from onedns import utils + class DynamicResolver(server.BaseResolver): """ @@ -55,12 +57,7 @@ class DynamicResolver(server.BaseResolver): self._add_reverse(ip, name) def _get_fqdn(self, name): - if not name.endswith(self.domain): - if name.endswith('.'): - return name + self.domain - else: - return '.'.join([name, self.domain]) - return name + return utils.get_fqdn(name, self.domain) def _add_forward(self, name, ip): f = dnslib.RR(rname=dnslib.DNSLabel(self._get_fqdn(name)), diff --git a/onedns/utils.py b/onedns/utils.py index e457430..e9fca0e 100644 --- a/onedns/utils.py +++ b/onedns/utils.py @@ -3,6 +3,15 @@ import os from onedns.logger import log +def get_fqdn(name, domain): + if not name.endswith(domain): + if name.endswith('.'): + return name + domain + else: + return '.'.join([name, domain]) + return name + + def get_kwargs_from_dict(d, prefix, lower=False): tups_list = [] for i in d: From 6892508b9e62e7d76c995c603cb1253f47728fce Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Fri, 12 Aug 2016 11:13:50 -0400 Subject: [PATCH 33/49] resolver: add zone kwarg to add_host This will allow OneDNS.sync to build a new zone and instantly swap it with the currently active zone to minimize downtime. --- onedns/resolver.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/onedns/resolver.py b/onedns/resolver.py index 10b5792..08195fd 100644 --- a/onedns/resolver.py +++ b/onedns/resolver.py @@ -52,27 +52,30 @@ class DynamicResolver(server.BaseResolver): def clear(self): self.zone = [] - def add_host(self, name, ip): - self._add_forward(name, ip) - self._add_reverse(ip, name) + def add_host(self, name, ip, zone=None): + zone = zone or self.zone + self._add_forward(name, ip, zone=zone) + self._add_reverse(ip, name, zone=zone) def _get_fqdn(self, name): return utils.get_fqdn(name, self.domain) - def _add_forward(self, name, ip): + def _add_forward(self, name, ip, zone=None): + zone = zone or self.zone f = dnslib.RR(rname=dnslib.DNSLabel(self._get_fqdn(name)), rtype=dnslib.QTYPE.reverse['A'], rclass=dnslib.CLASS.reverse['IN'], rdata=dns.A(ip)) - self.zone.append((f.rname, 'A', f)) + zone.append((f.rname, 'A', f)) - def _add_reverse(self, ip, name): + def _add_reverse(self, ip, name, zone=None): + zone = zone or self.zone ip = IP(ip) r = dnslib.RR(rname=dnslib.DNSLabel(ip.reverseName()), rtype=dnslib.QTYPE.reverse['PTR'], rclass=dnslib.CLASS.reverse['IN'], rdata=dns.PTR(self._get_fqdn(name))) - self.zone.append((r.rname, 'PTR', r)) + zone.append((r.rname, 'PTR', r)) def start(self, dns_address='0.0.0.0', dns_port=53, api_address='127.0.0.1', api_port=8000, tcp=False, udplen=0, From 56f6998753aaa71b20f1ba911e8de18e7ade6a0b Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Fri, 12 Aug 2016 11:24:52 -0400 Subject: [PATCH 34/49] add vms fixture that gets recorded using vcrpy Should help prevent creating duplicate vcrpy yaml's in onedns/tests/fixtures for the same 'get all vms' request in multiple tests. --- onedns/tests/conftest.py | 7 +++++++ onedns/tests/test_oneclient.py | 4 +--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/onedns/tests/conftest.py b/onedns/tests/conftest.py index b8693c4..6ee93b2 100644 --- a/onedns/tests/conftest.py +++ b/onedns/tests/conftest.py @@ -1,6 +1,7 @@ import pytest from onedns import resolver +from onedns.tests import vcr from onedns.clients import one @@ -23,3 +24,9 @@ def oneclient(request): NOTE: All fixtures must be function scope to work with VCRPY cassettes """ return one.OneClient() + + +@pytest.fixture(scope="function") +@vcr.use_cassette() +def vms(oneclient): + return oneclient.vms() diff --git a/onedns/tests/test_oneclient.py b/onedns/tests/test_oneclient.py index 9499cb8..9735071 100644 --- a/onedns/tests/test_oneclient.py +++ b/onedns/tests/test_oneclient.py @@ -6,9 +6,7 @@ import oca from oca import vm -@vcr.use_cassette() -def test_get_vms(oneclient): - vms = oneclient.vms() +def test_get_vms(vms): assert isinstance(vms, vm.VirtualMachinePool) assert len(vms) > 0 From 2c0283fdb7347bb61bdb0ac22d306d1bd05b7f03 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 17 Aug 2016 10:13:43 -0400 Subject: [PATCH 35/49] add zone module with in-memory zone implementation --- onedns/exception.py | 10 ++++ onedns/tests/conftest.py | 31 +++++++++++- onedns/tests/test_dynamicresolver.py | 20 ++------ onedns/tests/test_zone.py | 61 +++++++++++++++++++++++ onedns/utils.py | 14 +++--- onedns/zone.py | 73 ++++++++++++++++++++++++++++ 6 files changed, 185 insertions(+), 24 deletions(-) create mode 100644 onedns/tests/test_zone.py create mode 100644 onedns/zone.py diff --git a/onedns/exception.py b/onedns/exception.py index 63cb4dd..eac61f0 100644 --- a/onedns/exception.py +++ b/onedns/exception.py @@ -26,3 +26,13 @@ class NoNetworksError(OneDnsException): def __init__(self, vm): self.msg = "No networks found for VM {id}: {vm}".format(vm=vm.name, id=vm.id) + + +class RecordDoesNotExist(OneDnsException): + """ + Raised when a zone record does not exist + """ + def __init__(self, key, val=None): + self.msg = "Record Does Not Exist: {}".format(key) + if val is not None: + self.msg += " -> {}".format(val) diff --git a/onedns/tests/conftest.py b/onedns/tests/conftest.py index 6ee93b2..5807730 100644 --- a/onedns/tests/conftest.py +++ b/onedns/tests/conftest.py @@ -1,5 +1,9 @@ import pytest +import dnslib +from IPy import IP +from onedns import zone +from onedns import server from onedns import resolver from onedns.tests import vcr from onedns.clients import one @@ -8,7 +12,23 @@ from onedns.clients import one DOMAIN = 'onedns.test' INTERFACE = '127.0.0.1' PORT = 9053 - +HOST_SHORT = 'testhost' +HOST = '.'.join([HOST_SHORT, DOMAIN]) +HOST_IP = '10.242.118.112' +TEST_LOOKUP_DATA = [ + (HOST, dnslib.QTYPE.A, HOST_IP), + (IP(HOST_IP).reverseName(), dnslib.QTYPE.PTR, HOST + '.') +] +TEST_GET_FQDN_DATA = [ + ('hostwithnodot', '192.168.1.23'), + ('hostwithdot.', '192.168.1.19'), +] +TEST_GET_FORWARD_DATA = [ + HOST_SHORT, + HOST_SHORT + '.', + HOST, + HOST + '.', +] @pytest.fixture(scope="function") def dns(request): @@ -30,3 +50,12 @@ def oneclient(request): @vcr.use_cassette() def vms(oneclient): return oneclient.vms() + + +@pytest.fixture(scope="function") +def onezone(): + z = zone.Zone(DOMAIN) + z.add_host(HOST_SHORT, HOST_IP) + for name, ip in TEST_GET_FQDN_DATA: + z.add_host(name, ip) + return z diff --git a/onedns/tests/test_dynamicresolver.py b/onedns/tests/test_dynamicresolver.py index 33159a5..32d0f43 100644 --- a/onedns/tests/test_dynamicresolver.py +++ b/onedns/tests/test_dynamicresolver.py @@ -1,28 +1,14 @@ import pytest import dnslib -from IPy import IP - from onedns.tests import utils from onedns.tests import conftest -HOST = '.'.join(['testhost', conftest.DOMAIN]) -HOST_IP = '10.242.118.112' -TEST_LOOKUP_DATA = [ - (HOST, dnslib.QTYPE.A, HOST_IP), - (IP(HOST_IP).reverseName(), dnslib.QTYPE.PTR, HOST + '.') -] -TEST_GET_FQDN_DATA = [ - ('hostwithnodot', '192.168.1.23'), - ('hostwithdot.', '192.168.1.19'), -] - - -@pytest.mark.parametrize("qname,qtype,output", TEST_LOOKUP_DATA) +@pytest.mark.parametrize("qname,qtype,output", conftest.TEST_LOOKUP_DATA) def test_lookup(dns, qname, qtype, output): dns.clear() - dns.add_host(HOST, HOST_IP) + dns.add_host(conftest.HOST, conftest.HOST_IP) try: a = utils.dnsquery(qname, qtype) assert a.short() == output @@ -39,7 +25,7 @@ def test_nxdomain(dns): dns.close() -@pytest.mark.parametrize("name,ip", TEST_GET_FQDN_DATA) +@pytest.mark.parametrize("name,ip", conftest.TEST_GET_FQDN_DATA) def test_get_fqdn(dns, name, ip): dns.clear() dns.add_host(name, ip) diff --git a/onedns/tests/test_zone.py b/onedns/tests/test_zone.py new file mode 100644 index 0000000..ef1c8d0 --- /dev/null +++ b/onedns/tests/test_zone.py @@ -0,0 +1,61 @@ +import pytest + +import dnslib + +from IPy import IP + +from onedns import exception +from onedns.tests import conftest + + +def test_zone_clear(onezone): + assert onezone._forward + assert onezone._reverse + onezone.clear() + assert not onezone._forward + assert not onezone._reverse + + +def test_add_host(onezone): + onezone.clear() + with pytest.raises(exception.RecordDoesNotExist): + onezone._get_forward(conftest.HOST_SHORT, conftest.HOST_IP) + with pytest.raises(exception.RecordDoesNotExist): + onezone._get_reverse(conftest.HOST_IP, conftest.HOST_SHORT) + onezone.add_host(conftest.HOST_SHORT, conftest.HOST_IP) + assert onezone._get_forward(conftest.HOST_SHORT, conftest.HOST_IP) + assert onezone._get_reverse(conftest.HOST_IP, conftest.HOST_SHORT) + + +def test_remove_host(onezone): + onezone.clear() + onezone.add_host(conftest.HOST_SHORT, conftest.HOST_IP) + assert onezone._get_forward(conftest.HOST_SHORT, conftest.HOST_IP) + assert onezone._get_reverse(conftest.HOST_IP, conftest.HOST_SHORT) + onezone.remove_host(conftest.HOST_SHORT, conftest.HOST_IP) + with pytest.raises(exception.RecordDoesNotExist): + onezone._get_forward(conftest.HOST_SHORT, conftest.HOST_IP) + with pytest.raises(exception.RecordDoesNotExist): + onezone._get_reverse(conftest.HOST_IP, conftest.HOST_SHORT) + + +@pytest.mark.parametrize("host", conftest.TEST_GET_FORWARD_DATA) +def test_get_forward(onezone, host): + forward = onezone.get_forward(host) + fqdn = conftest.HOST + '.' + assert isinstance(forward, dnslib.RR) + assert forward.rname == fqdn + assert forward.rtype == dnslib.QTYPE.A + assert forward.rclass == dnslib.CLASS.IN + assert str(forward.rdata) == conftest.HOST_IP + + +def test_get_reverse(onezone): + reverse = onezone.get_reverse(conftest.HOST_IP) + fqdn = conftest.HOST + '.' + revip = IP(conftest.HOST_IP).reverseName() + assert isinstance(reverse, dnslib.RR) + assert reverse.rname == revip + assert reverse.rtype == dnslib.QTYPE.PTR + assert reverse.rclass == dnslib.CLASS.IN + assert str(reverse.rdata) == fqdn diff --git a/onedns/utils.py b/onedns/utils.py index e9fca0e..afee875 100644 --- a/onedns/utils.py +++ b/onedns/utils.py @@ -1,15 +1,17 @@ import os +import dnslib + from onedns.logger import log def get_fqdn(name, domain): - if not name.endswith(domain): - if name.endswith('.'): - return name + domain - else: - return '.'.join([name, domain]) - return name + domain = dnslib.DNSLabel(domain) + name = dnslib.DNSLabel(name) + if name.label[-1 * len(domain.label):] != domain.label: + return dnslib.DNSLabel(name.label + domain.label).idna() + else: + return name.idna() def get_kwargs_from_dict(d, prefix, lower=False): diff --git a/onedns/zone.py b/onedns/zone.py new file mode 100644 index 0000000..a93c55e --- /dev/null +++ b/onedns/zone.py @@ -0,0 +1,73 @@ +import dnslib +from dnslib import dns + +from IPy import IP + +from onedns import utils +from onedns import exception + + +class Zone(object): + def __init__(self, domain): + self.domain = domain + self._forward = {} + self._reverse = {} + + def clear(self): + self._forward = {} + self._reverse = {} + + def _get_fqdn(self, name): + return utils.get_fqdn(name, self.domain) + + def _get_rr(self, rname, rtype, rdata): + return dnslib.RR(rname=dnslib.DNSLabel(rname), + rtype=dnslib.QTYPE.reverse[rtype], + rclass=dnslib.CLASS.reverse['IN'], + rdata=getattr(dns, rtype)(rdata)) + + def _add_forward(self, name, ip): + self._forward[self._get_fqdn(name)] = IP(ip) + + def _get_forward(self, name, ip=None): + fqdn = self._get_fqdn(name) + fip = self._forward.get(fqdn) + if not fip or (ip and fip != IP(ip)): + raise exception.RecordDoesNotExist(name, ip) + return fip + + def _remove_forward(self, name, ip=None): + self._get_forward(name, ip) + del self._forward[self._get_fqdn(name)] + + def _add_reverse(self, ip, name): + self._reverse[IP(ip)] = self._get_fqdn(name) + + def _get_reverse(self, ip, name=None): + reverse = self._reverse.get(IP(ip)) + fqdn = self._get_fqdn(name) if name else None + if not reverse or (name and fqdn != reverse): + raise exception.RecordDoesNotExist(ip, fqdn) + return reverse + + def _remove_reverse(self, ip, name=None): + self._get_reverse(ip, name) + del self._reverse[IP(ip)] + + def add_host(self, name, ip): + self._add_forward(name, ip) + self._add_reverse(ip, name) + + def remove_host(self, name, ip): + self._remove_forward(name, ip) + self._remove_reverse(ip, name) + + def get_forward(self, name): + fqdn = self._get_fqdn(name) + forward = self._get_forward(fqdn) + return self._get_rr(fqdn, 'A', str(forward)) + + def get_reverse(self, ip): + ip = IP(ip) + reverse = self._get_reverse(ip) + return self._get_rr(ip.reverseName(), 'PTR', reverse) From b735c84a04c24407a9351ef745a9453a2db5b271 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 17 Aug 2016 16:18:03 -0400 Subject: [PATCH 36/49] resolver: add thread mutex and use new zone module --- onedns/resolver.py | 85 +++++++++++++--------------- onedns/tests/conftest.py | 2 +- onedns/tests/test_dynamicresolver.py | 48 ++++++++++++---- onedns/utils.py | 10 ++++ requirements.txt | 2 + setup.py | 2 + 6 files changed, 92 insertions(+), 57 deletions(-) diff --git a/onedns/resolver.py b/onedns/resolver.py index 08195fd..5d5ef48 100644 --- a/onedns/resolver.py +++ b/onedns/resolver.py @@ -1,14 +1,16 @@ -# -*- coding: utf-8 -*- from __future__ import print_function import time +import threading import dnslib from dnslib import server -from dnslib import dns -from IPy import IP +from wrapt import synchronized +from onedns import zone from onedns import utils +from onedns import exception +from onedns.logger import log class DynamicResolver(server.BaseResolver): @@ -16,16 +18,18 @@ class DynamicResolver(server.BaseResolver): Dynamic In-Memory DNS Resolver """ - def __init__(self, domain, one_kwargs={}): + _lock = threading.RLock() + + def __init__(self, domain): """ Initialise resolver from zone list Stores RRs as a list of (label, type, rr) tuples """ - self.domain = domain - self.zone = [] + self.zone = zone.Zone(domain) self._tcp_server = None self._udp_server = None + @synchronized(_lock) def resolve(self, request, handler): """ Respond to DNS request - parameters are request packet & handler. @@ -33,57 +37,46 @@ class DynamicResolver(server.BaseResolver): """ reply = request.reply() qname = request.q.qname - qtype = dnslib.QTYPE[request.q.qtype] - A_RECORDS = ['A', 'AAAA'] - for name, rtype, rr in self.zone: - # Check if label & type match - if qname == name and (qtype in [rtype, 'ANY'] or rtype == 'CNAME'): - reply.add_answer(rr) - # Check for A/AAAA records associated with reply and - # add in additional section - if rtype in ['CNAME', 'NS', 'MX', 'PTR']: - for a_name, a_rtype, a_rr in self.zone: - if a_name == rr.rdata.label and a_rtype in A_RECORDS: - reply.add_ar(a_rr) - if not reply.rr: + qtype = request.q.qtype + try: + if qtype in (dnslib.QTYPE.A, dnslib.QTYPE.AAAA): + forward = self.zone.get_forward(qname) + reply.add_answer(forward) + elif qtype == dnslib.QTYPE.PTR: + reverse = self.zone.get_reverse( + utils.reverse_to_ip(qname.idna())) + reply.add_answer(reverse) + forward = self.zone.get_forward(str(reverse.rdata)) + if forward: + reply.add_ar(forward) + except exception.RecordDoesNotExist: reply.header.rcode = dnslib.RCODE.NXDOMAIN return reply + @synchronized(_lock) def clear(self): - self.zone = [] + self.zone.clear() - def add_host(self, name, ip, zone=None): - zone = zone or self.zone - self._add_forward(name, ip, zone=zone) - self._add_reverse(ip, name, zone=zone) + @synchronized(_lock) + def load(self, zone): + self.zone = zone - def _get_fqdn(self, name): - return utils.get_fqdn(name, self.domain) + @synchronized(_lock) + def add_host(self, name, ip): + self.zone.add_host(name, ip) - def _add_forward(self, name, ip, zone=None): - zone = zone or self.zone - f = dnslib.RR(rname=dnslib.DNSLabel(self._get_fqdn(name)), - rtype=dnslib.QTYPE.reverse['A'], - rclass=dnslib.CLASS.reverse['IN'], - rdata=dns.A(ip)) - zone.append((f.rname, 'A', f)) - - def _add_reverse(self, ip, name, zone=None): - zone = zone or self.zone - ip = IP(ip) - r = dnslib.RR(rname=dnslib.DNSLabel(ip.reverseName()), - rtype=dnslib.QTYPE.reverse['PTR'], - rclass=dnslib.CLASS.reverse['IN'], - rdata=dns.PTR(self._get_fqdn(name))) - zone.append((r.rname, 'PTR', r)) + @synchronized(_lock) + def remove_host(self, name, ip): + self.zone.remove_host(name, ip) def start(self, dns_address='0.0.0.0', dns_port=53, api_address='127.0.0.1', api_port=8000, tcp=False, udplen=0, - log="request,reply,truncated,error", log_prefix=False): - logger = server.DNSLogger(log, log_prefix) + log_components="request,reply,truncated,error", + log_prefix=False): + logger = server.DNSLogger(log_components, log_prefix) - print("Starting OneDNS (%s:%d) [%s]" % - (dns_address or "*", dns_port, "UDP/TCP" if tcp else "UDP")) + log.info("Starting OneDNS (%s:%d) [%s]" % + (dns_address or "*", dns_port, "UDP/TCP" if tcp else "UDP")) server.DNSHandler.udplen = udplen diff --git a/onedns/tests/conftest.py b/onedns/tests/conftest.py index 5807730..2ff080f 100644 --- a/onedns/tests/conftest.py +++ b/onedns/tests/conftest.py @@ -3,7 +3,6 @@ import dnslib from IPy import IP from onedns import zone -from onedns import server from onedns import resolver from onedns.tests import vcr from onedns.clients import one @@ -30,6 +29,7 @@ TEST_GET_FORWARD_DATA = [ HOST + '.', ] + @pytest.fixture(scope="function") def dns(request): dns = resolver.DynamicResolver(domain=DOMAIN) diff --git a/onedns/tests/test_dynamicresolver.py b/onedns/tests/test_dynamicresolver.py index 32d0f43..fc1a0c4 100644 --- a/onedns/tests/test_dynamicresolver.py +++ b/onedns/tests/test_dynamicresolver.py @@ -1,14 +1,22 @@ import pytest + import dnslib +from IPy import IP + +from onedns import zone from onedns.tests import utils from onedns.tests import conftest +def _clear_and_add_test_host(dns, name, ip): + dns.clear() + dns.add_host(name, ip) + + @pytest.mark.parametrize("qname,qtype,output", conftest.TEST_LOOKUP_DATA) def test_lookup(dns, qname, qtype, output): - dns.clear() - dns.add_host(conftest.HOST, conftest.HOST_IP) + _clear_and_add_test_host(dns, conftest.HOST, conftest.HOST_IP) try: a = utils.dnsquery(qname, qtype) assert a.short() == output @@ -25,15 +33,35 @@ def test_nxdomain(dns): dns.close() -@pytest.mark.parametrize("name,ip", conftest.TEST_GET_FQDN_DATA) -def test_get_fqdn(dns, name, ip): - dns.clear() - dns.add_host(name, ip) - assert dns.zone[0][0].label[0] == name.split('.')[0] - assert '.'.join(dns.zone[0][0].label[1:]) == conftest.DOMAIN - - def test_daemon(dns): dns.close() dns.daemon(dns_address=conftest.INTERFACE, dns_port=conftest.PORT, tcp=True, testing=True) + + +@pytest.mark.parametrize("qname,qtype,output", conftest.TEST_LOOKUP_DATA) +def test_remove_host(dns, qname, qtype, output): + _clear_and_add_test_host(dns, conftest.HOST, conftest.HOST_IP) + try: + a = utils.dnsquery(qname, qtype) + assert a.short() == output + dns.remove_host(conftest.HOST, conftest.HOST_IP) + a = utils.dnsquery(qname, qtype) + assert dnslib.RCODE.get(a.header.rcode) == 'NXDOMAIN' + finally: + dns.close() + + +def test_load_zone(dns): + new_ip = IP(IP(conftest.HOST_IP).int() + 1) + new_zone = zone.Zone(conftest.DOMAIN) + new_zone.add_host(conftest.HOST, new_ip) + _clear_and_add_test_host(dns, conftest.HOST, conftest.HOST_IP) + try: + a = utils.dnsquery(conftest.HOST, dnslib.QTYPE.A) + assert a.short() == conftest.HOST_IP + dns.load(new_zone) + a = utils.dnsquery(conftest.HOST, dnslib.QTYPE.A) + assert a.short() == str(new_ip) + finally: + dns.close() diff --git a/onedns/utils.py b/onedns/utils.py index afee875..2fe1332 100644 --- a/onedns/utils.py +++ b/onedns/utils.py @@ -1,7 +1,12 @@ import os +import dns.name +import dns.reversename + import dnslib +from IPy import IP + from onedns.logger import log @@ -14,6 +19,11 @@ def get_fqdn(name, domain): return name.idna() +def reverse_to_ip(reverse): + rname = dns.name.Name(reverse.split('.')) + return IP(dns.reversename.to_address(rname)) + + def get_kwargs_from_dict(d, prefix, lower=False): tups_list = [] for i in d: diff --git a/requirements.txt b/requirements.txt index 137d95b..cf7351d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,5 @@ oca==4.10.0 IPy==0.83 dnslib==0.9.6 +dnspython==1.14.0 +wrapt==1.10.8 diff --git a/setup.py b/setup.py index feb79f6..593ea91 100644 --- a/setup.py +++ b/setup.py @@ -22,6 +22,8 @@ setup( "oca>=4.10.0", "IPy>=0.83", "dnslib>=0.9.6", + "dnspython>=1.14.0", + "wrapt>=1.10.8", ], setup_requires=[ 'pytest-runner>=2.9' From a97e9f687c9a213e0bfb5c116db54cff92bf86cc Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Fri, 19 Aug 2016 09:19:50 -0400 Subject: [PATCH 37/49] add tests for cli --- onedns/cli.py | 21 ++++++++++++--------- onedns/tests/test_cli.py | 24 ++++++++++++++++++++++++ onedns/tests/test_shell.py | 1 + 3 files changed, 37 insertions(+), 9 deletions(-) create mode 100644 onedns/tests/test_cli.py diff --git a/onedns/cli.py b/onedns/cli.py index 2a38100..0ba4aad 100644 --- a/onedns/cli.py +++ b/onedns/cli.py @@ -5,20 +5,22 @@ from onedns import server from onedns import logger -def daemon(args, one_args): +def daemon(args, one_args, **kwargs): + testing = kwargs.get('testing', False) + vms = kwargs.get('vms') srv = server.OneDNS(args.domain, one_kwargs=one_args) - srv.sync() - srv.daemon(dns_port=args.dns_port) + srv.sync(vms=vms) + srv.daemon(dns_port=args.dns_port, testing=testing) -def shell(args, one_args): +def shell(args, one_args, **kwargs): srv = server.OneDNS(args.domain, one_kwargs=one_args) oneclient = srv._one ns = dict(one_dns=srv, oneclient=oneclient, log=logger.log) utils.shell(local_ns=ns) -def main(args=None): +def get_parser(): parser = argparse.ArgumentParser( description='OneDNS - Dynamic DNS for OpenNebula') parser.add_argument('--debug', required=False, @@ -42,12 +44,13 @@ def main(args=None): shell_parser = subparsers.add_parser('shell') shell_parser.set_defaults(func=shell) + return parser - args = parser.parse_args(args=args) +def main(**kwargs): + parser = get_parser() + args = parser.parse_args(args=kwargs.pop('args', None)) logger.configure_onedns_logging(debug=args.debug) - args_dict = vars(args) one_args = utils.get_kwargs_from_dict(args_dict, 'one_') - - args.func(args, one_args) + args.func(args, one_args, **kwargs) diff --git a/onedns/tests/test_cli.py b/onedns/tests/test_cli.py new file mode 100644 index 0000000..95f7a8a --- /dev/null +++ b/onedns/tests/test_cli.py @@ -0,0 +1,24 @@ +import pytest + +import mock + +from onedns import cli +from onedns.tests import test_shell + + +def test_cli_help(): + with pytest.raises(SystemExit): + cli.main(args=['--help']) + + +@mock.patch.object(cli, 'logger', mock.MagicMock()) +def test_cli_subcmd_daemon(vms): + cli.main(args=['daemon'], testing=True, vms=vms) + + +@mock.patch.dict('sys.modules', test_shell.IPY_MODULES) +@mock.patch.object(cli, 'logger', mock.MagicMock()) +def test_cli_subcmd_shell(): + test_shell.IPY.embed.reset_mock() + cli.main(args=['shell'], testing=True) + test_shell.IPY.embed.assert_called_once() diff --git a/onedns/tests/test_shell.py b/onedns/tests/test_shell.py index a5e4e6f..a8caaa6 100644 --- a/onedns/tests/test_shell.py +++ b/onedns/tests/test_shell.py @@ -14,6 +14,7 @@ IPY_MODULES = { @mock.patch.dict('sys.modules', IPY_MODULES) def test_with_ipython(): + IPY.embed.reset_mock() from onedns import utils ns = dict(test=True) utils.shell(local_ns=ns) From 8bad8b47d487584e583bb8ea011c4f8de598ddf0 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Fri, 19 Aug 2016 12:28:10 -0400 Subject: [PATCH 38/49] add tests for onedns base exception --- onedns/tests/test_exception.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 onedns/tests/test_exception.py diff --git a/onedns/tests/test_exception.py b/onedns/tests/test_exception.py new file mode 100644 index 0000000..7c556c8 --- /dev/null +++ b/onedns/tests/test_exception.py @@ -0,0 +1,19 @@ +from onedns import exception + +from testfixtures import LogCapture + + +def test_onedns_exception(): + test_msg = "test message" + e = exception.OneDnsException("test message") + assert e.msg == test_msg + assert e.args == (test_msg,) + assert str(e) == test_msg + assert e.explain() == 'OneDnsException: {}'.format(test_msg) + with LogCapture() as log_capture: + e.log() + e.log(warn=True) + log_capture.check( + ('onedns', 'ERROR', e.explain()), + ('onedns', 'WARNING', e.explain()), + ) From bc88849e310995ed0bb21c85a823454f0075b19e Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 28 Sep 2016 10:48:26 -0400 Subject: [PATCH 39/49] add utils for verifying presence/absence in DNS --- onedns/tests/utils.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/onedns/tests/utils.py b/onedns/tests/utils.py index 5865e26..490a843 100644 --- a/onedns/tests/utils.py +++ b/onedns/tests/utils.py @@ -1,5 +1,8 @@ import dnslib +from IPy import IP + +from onedns import utils from onedns.tests import conftest @@ -9,3 +12,23 @@ def dnsquery(qname, qtype, server=None, port=None, tcp=False): q = dnslib.DNSRecord(q=dnslib.DNSQuestion(qname, qtype)) a_pkt = q.send(server, port, tcp=tcp) return dnslib.DNSRecord.parse(a_pkt) + + +def verify_vm_dns(dns_entries, domain=None): + domain = domain or conftest.DOMAIN + for name, ip in dns_entries.items(): + fqdn = utils.get_fqdn(name, domain) + reverse = IP(ip).reverseName() + assert dnsquery(fqdn, dnslib.QTYPE.A).short() == ip + assert dnsquery(reverse, dnslib.QTYPE.PTR).short() == fqdn + + +def verify_vm_dns_absent(dns_entries, domain=None): + domain = domain or conftest.DOMAIN + for name, ip in dns_entries.items(): + fqdn = utils.get_fqdn(name, domain) + reverse = IP(ip).reverseName() + q = dnsquery(fqdn, dnslib.QTYPE.A) + assert dnslib.RCODE.get(q.header.rcode) == 'NXDOMAIN' + q = dnsquery(reverse, dnslib.QTYPE.PTR) + assert dnslib.RCODE.get(q.header.rcode) == 'NXDOMAIN' From 3a07adba103b415e5c56fe2c562a824e8525b6e0 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 28 Sep 2016 11:07:12 -0400 Subject: [PATCH 40/49] resolver: add zone kwarg to {add,remove}_host methods --- onedns/resolver.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/onedns/resolver.py b/onedns/resolver.py index 5d5ef48..f57204e 100644 --- a/onedns/resolver.py +++ b/onedns/resolver.py @@ -62,12 +62,14 @@ class DynamicResolver(server.BaseResolver): self.zone = zone @synchronized(_lock) - def add_host(self, name, ip): - self.zone.add_host(name, ip) + def add_host(self, name, ip, zone=None): + z = zone or self.zone + z.add_host(name, ip) @synchronized(_lock) - def remove_host(self, name, ip): - self.zone.remove_host(name, ip) + def remove_host(self, name, ip, zone=None): + z = zone or self.zone + z.remove_host(name, ip) def start(self, dns_address='0.0.0.0', dns_port=53, api_address='127.0.0.1', api_port=8000, tcp=False, udplen=0, From a7051e06893cf7df75798c88aa07226796ce8b02 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 28 Sep 2016 11:12:18 -0400 Subject: [PATCH 41/49] server: build new zone and replace live copy in sync Instead of clearing the live zone and iterating through and adding records from OpenNebula we build an entirely new zone, sync it with OpenNebula, and instantaneously swap it with the currently live zone. This minimizes the amount of time that the DNS server is missing entries while its syncing with OpenNebula. --- onedns/resolver.py | 1 + onedns/server.py | 17 +++++++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/onedns/resolver.py b/onedns/resolver.py index f57204e..b99964f 100644 --- a/onedns/resolver.py +++ b/onedns/resolver.py @@ -25,6 +25,7 @@ class DynamicResolver(server.BaseResolver): Initialise resolver from zone list Stores RRs as a list of (label, type, rr) tuples """ + self.domain = domain self.zone = zone.Zone(domain) self._tcp_server = None self._udp_server = None diff --git a/onedns/server.py b/onedns/server.py index 8084ee4..e504d92 100644 --- a/onedns/server.py +++ b/onedns/server.py @@ -1,3 +1,4 @@ +from onedns import zone from onedns import resolver from onedns import exception from onedns.clients import one @@ -19,6 +20,7 @@ class OneDNS(resolver.DynamicResolver): raise exception.NoNetworksError(vm) def _get_vm_dns_entries(self, vm): + self._check_for_networks(vm) entries = {} hostname = vm.name primary_ip = vm.template.nics[0].ip @@ -29,19 +31,17 @@ class OneDNS(resolver.DynamicResolver): entries[nicname] = nic.ip return entries - def add_vm(self, vm): - self._check_for_networks(vm) + def add_vm(self, vm, zone=None): dns_entries = self._get_vm_dns_entries(vm) log.info("Adding VM {id}: {vm}".format(id=vm.id, vm=vm.name)) for name, ip in dns_entries.items(): - self.add_host(name, ip) + self.add_host(name, ip, zone=zone) - def remove_vm(self, vm): - self._check_for_networks(vm) + def remove_vm(self, vm, zone=None): dns_entries = self._get_vm_dns_entries(vm) log.info("Removing VM {id}: {vm}".format(id=vm.id, vm=vm.name)) for name, ip in dns_entries.items(): - self.remove_host(name, ip) + self.remove_host(name, ip, zone=zone) def add_vm_by_id(self, vm_id): vm = self._one.get_vm_by_id(vm_id) @@ -52,10 +52,11 @@ class OneDNS(resolver.DynamicResolver): return self.remove_vm(vm) def sync(self, vms=None): + z = zone.Zone(self.domain) vms = vms or self._one.vms() - self.clear() for vm in vms: try: - self.add_vm(vm) + self.add_vm(vm, zone=z) except exception.NoNetworksError as e: e.log(warn=True) + self.load(z) From 4c245819ce91f0ac8ac686c79b1d69e5b667e475 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 28 Sep 2016 11:18:14 -0400 Subject: [PATCH 42/49] server: implement tiebreaker for VMs with same name/IP The tiebreaker is first-come first serve - ie whichever VM had the name or IP first wins (based on VM id). The sync() method now sorts the VM list by id in order to evaluate the tiebreaker correctly (VM list comes that way from ONED but just in case...). --- onedns/exception.py | 8 ++++++++ onedns/server.py | 17 +++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/onedns/exception.py b/onedns/exception.py index eac61f0..06b5f16 100644 --- a/onedns/exception.py +++ b/onedns/exception.py @@ -36,3 +36,11 @@ class RecordDoesNotExist(OneDnsException): self.msg = "Record Does Not Exist: {}".format(key) if val is not None: self.msg += " -> {}".format(val) + + +class DuplicateVMError(OneDnsException): + """ + Raised when two or more VMs share a name or IP + """ + def __init__(self, vmid, key, val): + self.msg = "VM one-{} has a duplicate: {} -> {}".format(vmid, key, val) diff --git a/onedns/server.py b/onedns/server.py index e504d92..70defaa 100644 --- a/onedns/server.py +++ b/onedns/server.py @@ -31,10 +31,24 @@ class OneDNS(resolver.DynamicResolver): entries[nicname] = nic.ip return entries + def _check_for_duplicates(self, vm_id, name, ip, zone=None): + z = zone or self.zone + try: + f = z.get_forward(name) + raise exception.DuplicateVMError(vm_id, f, ip) + except exception.RecordDoesNotExist: + pass + try: + r = z.get_reverse(ip) + raise exception.DuplicateVMError(vm_id, ip, r) + except exception.RecordDoesNotExist: + pass + def add_vm(self, vm, zone=None): dns_entries = self._get_vm_dns_entries(vm) log.info("Adding VM {id}: {vm}".format(id=vm.id, vm=vm.name)) for name, ip in dns_entries.items(): + self._check_for_duplicates(vm.id, name, ip, zone=zone) self.add_host(name, ip, zone=zone) def remove_vm(self, vm, zone=None): @@ -54,9 +68,12 @@ class OneDNS(resolver.DynamicResolver): def sync(self, vms=None): z = zone.Zone(self.domain) vms = vms or self._one.vms() + vms.sort(key=lambda x: x.id) for vm in vms: try: self.add_vm(vm, zone=z) except exception.NoNetworksError as e: e.log(warn=True) + except exception.DuplicateVMError as e: + e.log(warn=True) self.load(z) From 5475be37f24a0fde5045609d4e64adc6bf439aff Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 28 Sep 2016 11:35:07 -0400 Subject: [PATCH 43/49] add tests for onedns.server (now at 100% coverage) --- onedns/tests/conftest.py | 12 +++++- onedns/tests/test_onedns.py | 78 +++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 onedns/tests/test_onedns.py diff --git a/onedns/tests/conftest.py b/onedns/tests/conftest.py index 2ff080f..47a603b 100644 --- a/onedns/tests/conftest.py +++ b/onedns/tests/conftest.py @@ -3,6 +3,7 @@ import dnslib from IPy import IP from onedns import zone +from onedns import server from onedns import resolver from onedns.tests import vcr from onedns.clients import one @@ -39,7 +40,16 @@ def dns(request): @pytest.fixture(scope="function") -def oneclient(request): +def one_dns(request, oneclient): + dns = server.OneDNS(domain=DOMAIN) + dns._one = oneclient + dns.start(dns_address=INTERFACE, dns_port=PORT, tcp=True) + request.addfinalizer(dns.close) + return dns + + +@pytest.fixture(scope="function") +def oneclient(): """ NOTE: All fixtures must be function scope to work with VCRPY cassettes """ diff --git a/onedns/tests/test_onedns.py b/onedns/tests/test_onedns.py new file mode 100644 index 0000000..2f0ce28 --- /dev/null +++ b/onedns/tests/test_onedns.py @@ -0,0 +1,78 @@ +import pytest + +from onedns import exception +from onedns.tests import vcr +from onedns.tests import utils + + +def _get_vm_with_nics(one_dns, vms): + for vm in vms: + try: + one_dns._check_for_networks(vm) + return vm + except exception.NoNetworksError: + continue + + +def _add_and_verify(one_dns, vm, by_id=False, dns_entries=None): + if by_id: + one_dns.add_vm_by_id(vm) + else: + one_dns.add_vm(vm) + dns_entries = dns_entries or one_dns._get_vm_dns_entries(vm) + utils.verify_vm_dns(dns_entries) + + +def test_onedns_sync(one_dns, vms): + one_dns.sync(vms=vms) + uniq_names = [] + uniq_ips = [] + for vm in vms: + try: + dns_entries = one_dns._get_vm_dns_entries(vm) + except exception.NoNetworksError: + continue + if vm.name not in uniq_names: + for name, ip in dns_entries.items(): + dns_entry = {name: ip} + if ip not in uniq_ips: + uniq_ips.append(ip) + utils.verify_vm_dns(dns_entry) + else: + with pytest.raises(AssertionError): + utils.verify_vm_dns(dns_entry) + uniq_names.append(vm.name) + else: + with pytest.raises(AssertionError): + utils.verify_vm_dns(dns_entries) + + +def test_onedns_add_vm(one_dns, vms): + vm = _get_vm_with_nics(one_dns, vms) + _add_and_verify(one_dns, vm) + + +def test_onedns_remove_vm(one_dns, vms): + vm = _get_vm_with_nics(one_dns, vms) + dns_entries = one_dns._get_vm_dns_entries(vm) + _add_and_verify(one_dns, vm) + one_dns.remove_vm(vm) + utils.verify_vm_dns_absent(dns_entries) + + +@vcr.use_cassette() +def test_onedns_add_vm_by_id(oneclient, one_dns): + vms = oneclient.vms() + vm = _get_vm_with_nics(one_dns, vms) + dns_entries = one_dns._get_vm_dns_entries(vm) + _add_and_verify(one_dns, vm.id, by_id=True, dns_entries=dns_entries) + + +@vcr.use_cassette() +def test_onedns_remove_vm_by_id(oneclient, one_dns): + vms = oneclient.vms() + vm = _get_vm_with_nics(one_dns, vms) + dns_entries = one_dns._get_vm_dns_entries(vm) + _add_and_verify(one_dns, vm) + one_dns.remove_vm_by_id(vm.id) + utils.verify_vm_dns_absent(dns_entries) From abd1744553ae2f90b5c183bf39b0c571270bb4e7 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Wed, 5 Oct 2016 23:34:55 -0400 Subject: [PATCH 44/49] utils: add tests for get_fqdn --- onedns/tests/conftest.py | 8 ++++++++ onedns/tests/test_utils.py | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/onedns/tests/conftest.py b/onedns/tests/conftest.py index 47a603b..5700786 100644 --- a/onedns/tests/conftest.py +++ b/onedns/tests/conftest.py @@ -29,6 +29,14 @@ TEST_GET_FORWARD_DATA = [ HOST, HOST + '.', ] +TEST_FQDN_DATA = [ + (HOST_SHORT, DOMAIN), + (HOST_SHORT + '.', DOMAIN), + (HOST_SHORT, DOMAIN + '.'), + (HOST_SHORT + '.', DOMAIN + '.'), + (HOST, DOMAIN), +] +TEST_FQDN_RESULT = HOST + '.' @pytest.fixture(scope="function") diff --git a/onedns/tests/test_utils.py b/onedns/tests/test_utils.py index d0950b8..2b0fe0a 100644 --- a/onedns/tests/test_utils.py +++ b/onedns/tests/test_utils.py @@ -1,8 +1,10 @@ import os import mock +import pytest from onedns import utils +from onedns.tests import conftest ONE_XMLRPC = 'https://controller:2633/RPC2' @@ -22,3 +24,9 @@ def test_get_kwargs_from_env(): assert kwargs['XMLRPC'] == ONE_XMLRPC kwargs = utils.get_kwargs_from_env(prefix='ONE_', lower=True) assert kwargs['xmlrpc'] == ONE_XMLRPC + + +@pytest.mark.parametrize("name,domain", conftest.TEST_FQDN_DATA) +def test_get_fqdn(name, domain): + fqdn = utils.get_fqdn(name, domain) + assert fqdn == conftest.TEST_FQDN_RESULT From 9b47eb8f08d6e510246264393d243ae7759981ed Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Thu, 6 Oct 2016 00:01:51 -0400 Subject: [PATCH 45/49] setup.cfg: use [tool:pytest] instead of [pytest] ...[pytest] is deprecated --- setup.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.cfg b/setup.cfg index 7eb0124..89ccbd9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -7,7 +7,7 @@ exclude = build, dist -[pytest] +[tool:pytest] addopts = -v --cov=onedns --cov-report term-missing --flake8 [coverage:run] From 9ca71db45869cd5ac6fdefe5efa3aa91d94283fc Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Thu, 6 Oct 2016 00:16:43 -0400 Subject: [PATCH 46/49] server: sanitize VM names in _get_vm_dns_entries ...using the same method as 15-hostname in OpenNebula/addon-context-linux --- onedns/server.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/onedns/server.py b/onedns/server.py index 70defaa..0a7771a 100644 --- a/onedns/server.py +++ b/onedns/server.py @@ -1,3 +1,5 @@ +import re + from onedns import zone from onedns import resolver from onedns import exception @@ -5,6 +7,9 @@ from onedns.clients import one from onedns.logger import log +_BAD_CHARS = re.compile('[^-a-zA-Z0-9]') + + class OneDNS(resolver.DynamicResolver): """ This class provides convenience methods for adding/removing VMs to the @@ -19,15 +24,21 @@ class OneDNS(resolver.DynamicResolver): if not hasattr(vm.template, 'nics'): raise exception.NoNetworksError(vm) + def _sanitize_name(self, name): + name = _BAD_CHARS.sub('-', name) + return name.strip('-') + def _get_vm_dns_entries(self, vm): self._check_for_networks(vm) entries = {} - hostname = vm.name + hostname = self._sanitize_name(vm.name) primary_ip = vm.template.nics[0].ip entries[hostname] = primary_ip for nic in vm.template.nics[1:]: - nicname = "{hostname}-{id}".format(hostname=hostname, - id=nic.nic_id) + nicname = self._sanitize_name("{hostname}-{id}".format( + id=nic.nic_id, + hostname=hostname + )) entries[nicname] = nic.ip return entries From f9554f7f7940e92eb75f84ff5c84149a941eb540 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Thu, 6 Oct 2016 00:29:49 -0400 Subject: [PATCH 47/49] resolver: remove unused future print import --- onedns/resolver.py | 1 - 1 file changed, 1 deletion(-) diff --git a/onedns/resolver.py b/onedns/resolver.py index b99964f..0540604 100644 --- a/onedns/resolver.py +++ b/onedns/resolver.py @@ -1,4 +1,3 @@ -from __future__ import print_function import time import threading From b4d64b327f6192ed2ae85d9ad504f0af4be2e9ef Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Fri, 7 Oct 2016 15:27:11 -0400 Subject: [PATCH 48/49] README: add usage --- README.md | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/README.md b/README.md index 5d96bf7..8ec6a4e 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,33 @@ # OneDNS Dyanmic DNS for OpenNebula + +## Usage +Global options: +``` +$ onedns --help +usage: onedns [-h] [--debug] [-d DOMAIN] [--one-address ONE_ADDRESS] + [--one-secret ONE_SECRET] [--one-proxy ONE_PROXY] + {daemon,shell} ... + +OneDNS - Dynamic DNS for OpenNebula + +positional arguments: + {daemon,shell} + +optional arguments: + -h, --help show this help message and exit + --debug ONE controller host address + -d DOMAIN, --domain DOMAIN + DNS domain to use + --one-address ONE_ADDRESS + ONE controller host address + --one-secret ONE_SECRET + ONE credentials to use (e.g. user:key) + --one-proxy ONE_PROXY + proxy host to use to connect to ONE controller +``` + +Run the `daemon` command to kick off onedns: +``` +$ onedns daemon --dns-port=53 +``` From f05db7d322227a9df3e60ce76925f811d00b29d8 Mon Sep 17 00:00:00 2001 From: Justin Riley Date: Fri, 7 Oct 2016 15:30:32 -0400 Subject: [PATCH 49/49] tests: add fixtures from opennebula test instance --- .../fixtures/oneclient/test_get_vm_by_id.yaml | 66 +++++++ .../oneclient/test_onedns_add_vm_by_id.yaml | 173 ++++++++++++++++++ .../test_onedns_remove_vm_by_id.yaml | 173 ++++++++++++++++++ onedns/tests/fixtures/oneclient/vms.yaml | 109 +++++++++++ 4 files changed, 521 insertions(+) create mode 100644 onedns/tests/fixtures/oneclient/test_get_vm_by_id.yaml create mode 100644 onedns/tests/fixtures/oneclient/test_onedns_add_vm_by_id.yaml create mode 100644 onedns/tests/fixtures/oneclient/test_onedns_remove_vm_by_id.yaml create mode 100644 onedns/tests/fixtures/oneclient/vms.yaml diff --git a/onedns/tests/fixtures/oneclient/test_get_vm_by_id.yaml b/onedns/tests/fixtures/oneclient/test_get_vm_by_id.yaml new file mode 100644 index 0000000..dfd0a81 --- /dev/null +++ b/onedns/tests/fixtures/oneclient/test_get_vm_by_id.yaml @@ -0,0 +1,66 @@ +interactions: +- request: + body: !!python/unicode ' + + one.vmpool.info + + + + + + someuser:sometoken + + + + + + -1 + + + + + + 0 + + + + + + 0 + + + + + + -2 + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['382'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://localhost:2633/RPC2 + response: + body: {string: !!python/unicode "\r\n\ + \r\n\r\n\r\n1\r\ + \n<VM_POOL><VM><ID>0</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-0</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-0</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.2]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:02]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5900]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.2]]></IP><MAC><![CDATA[02:00:ac:10:64:02]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-0-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[0]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>0</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786738</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786738</PSTIME><PETIME>1475786739</PETIME><RSTIME>1475786739</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM></VM_POOL>\r\ + \n0\r\n\r\n\r\ + \n\r\n"} + headers: + connection: [Keep-Alive] + content-length: ['6762'] + content-type: [text/xml; charset=utf-8] + date: ['Fri, 07 Oct 2016 19:13:15 UTC'] + keep-alive: ['timeout=15, max=30'] + server: [Xmlrpc-c_Abyss/1.40.0] + status: {code: 200, message: OK} +version: 1 diff --git a/onedns/tests/fixtures/oneclient/test_onedns_add_vm_by_id.yaml b/onedns/tests/fixtures/oneclient/test_onedns_add_vm_by_id.yaml new file mode 100644 index 0000000..0ef1d33 --- /dev/null +++ b/onedns/tests/fixtures/oneclient/test_onedns_add_vm_by_id.yaml @@ -0,0 +1,173 @@ +interactions: +- request: + body: !!python/unicode ' + + one.vmpool.info + + + + + + someuser:sometoken + + + + + + -1 + + + + + + -1 + + + + + + -1 + + + + + + -1 + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['384'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://localhost:2633/RPC2 + response: + body: {string: !!python/unicode "\r\n\ + \r\n\r\n\r\n1\r\ + \n<VM_POOL><VM><ID>0</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-0</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-0</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.2]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:02]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5900]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.2]]></IP><MAC><![CDATA[02:00:ac:10:64:02]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-0-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[0]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>0</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786738</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786738</PSTIME><PETIME>1475786739</PETIME><RSTIME>1475786739</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>1</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-1</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-1</DEPLOY_ID><MONITORING><CPU><![CDATA[13.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.3]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:03]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5901]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.3]]></IP><MAC><![CDATA[02:00:ac:10:64:03]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-1-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[1]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>1</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786748</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786748</PSTIME><PETIME>1475786750</PETIME><RSTIME>1475786750</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>2</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-6</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-2</DEPLOY_ID><MONITORING><CPU><![CDATA[11.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.4]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:04]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5902]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.4]]></IP><MAC><![CDATA[02:00:ac:10:64:04]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-2-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[2]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>2</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786758</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786758</PSTIME><PETIME>1475786785</PETIME><RSTIME>1475786785</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>3</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-5</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-3</DEPLOY_ID><MONITORING><CPU><![CDATA[12.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.5]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:05]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5903]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.5]]></IP><MAC><![CDATA[02:00:ac:10:64:05]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-3-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[3]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>3</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786768</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786768</PSTIME><PETIME>1475786793</PETIME><RSTIME>1475786793</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>4</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-2</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-4</DEPLOY_ID><MONITORING><CPU><![CDATA[10.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.6]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:06]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5904]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.6]]></IP><MAC><![CDATA[02:00:ac:10:64:06]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-4-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[4]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>4</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786778</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786778</PSTIME><PETIME>1475786792</PETIME><RSTIME>1475786792</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>5</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-4</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-5</DEPLOY_ID><MONITORING><CPU><![CDATA[11.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.7]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:07]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5905]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.7]]></IP><MAC><![CDATA[02:00:ac:10:64:07]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-5-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[5]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>5</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786788</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786788</PSTIME><PETIME>1475786795</PETIME><RSTIME>1475786795</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>6</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-3</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-6</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.8]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:08]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5906]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.8]]></IP><MAC><![CDATA[02:00:ac:10:64:08]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-6-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[6]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>6</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786798</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786798</PSTIME><PETIME>1475786820</PETIME><RSTIME>1475786820</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>7</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-7</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-7</DEPLOY_ID><MONITORING><CPU><![CDATA[26.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.9]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:09]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5907]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.9]]></IP><MAC><![CDATA[02:00:ac:10:64:09]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-7-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[7]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>7</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786808</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786808</PSTIME><PETIME>1475786823</PETIME><RSTIME>1475786823</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>8</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-8</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-8</DEPLOY_ID><MONITORING><CPU><![CDATA[12.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.10]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0a]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5908]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.10]]></IP><MAC><![CDATA[02:00:ac:10:64:0a]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-8-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[8]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>8</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786818</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786818</PSTIME><PETIME>1475786839</PETIME><RSTIME>1475786839</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>9</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-9</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-9</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.11]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0b]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5909]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.11]]></IP><MAC><![CDATA[02:00:ac:10:64:0b]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-9-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[9]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>9</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786828</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786828</PSTIME><PETIME>1475786843</PETIME><RSTIME>1475786843</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>10</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-0</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475866525</STIME><ETIME>0</ETIME><DEPLOY_ID>one-10</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.12]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0c]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5910]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.12]]></IP><MAC><![CDATA[02:00:ac:10:64:0c]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-10-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[10]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>10</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475866529</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475866529</PSTIME><PETIME>1475866540</PETIME><RSTIME>1475866540</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>12</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>no-network-test</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475866684</STIME><ETIME>0</ETIME><DEPLOY_ID>one-12</DEPLOY_ID><MONITORING><CPU><![CDATA[12.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5912]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><TEMPLATE_ID><![CDATA[1]]></TEMPLATE_ID><VMID><![CDATA[12]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>12</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475866689</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475866689</PSTIME><PETIME>1475866706</PETIME><RSTIME>1475866706</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>13</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>multiple-networks</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475866821</STIME><ETIME>0</ETIME><DEPLOY_ID>one-13</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[1296]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.13]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0d]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><ETH1_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH1_CONTEXT_FORCE_IPV4><ETH1_DNS><![CDATA[]]></ETH1_DNS><ETH1_GATEWAY><![CDATA[]]></ETH1_GATEWAY><ETH1_GATEWAY6><![CDATA[]]></ETH1_GATEWAY6><ETH1_IP><![CDATA[172.16.100.14]]></ETH1_IP><ETH1_IP6><![CDATA[]]></ETH1_IP6><ETH1_IP6_ULA><![CDATA[]]></ETH1_IP6_ULA><ETH1_MAC><![CDATA[02:00:ac:10:64:0e]]></ETH1_MAC><ETH1_MASK><![CDATA[]]></ETH1_MASK><ETH1_MTU><![CDATA[]]></ETH1_MTU><ETH1_NETWORK><![CDATA[]]></ETH1_NETWORK><ETH1_SEARCH_DOMAIN><![CDATA[]]></ETH1_SEARCH_DOMAIN><ETH1_VLAN_ID><![CDATA[]]></ETH1_VLAN_ID><ETH1_VROUTER_IP><![CDATA[]]></ETH1_VROUTER_IP><ETH1_VROUTER_IP6><![CDATA[]]></ETH1_VROUTER_IP6><ETH1_VROUTER_MANAGEMENT><![CDATA[]]></ETH1_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5913]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.13]]></IP><MAC><![CDATA[02:00:ac:10:64:0d]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-13-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.14]]></IP><MAC><![CDATA[02:00:ac:10:64:0e]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[1]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-13-1]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[13]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>13</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475866830</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475866830</PSTIME><PETIME>1475866844</PETIME><RSTIME>1475866844</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>14</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>duplicate-ip-original</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475867466</STIME><ETIME>0</ETIME><DEPLOY_ID>one-14</DEPLOY_ID><MONITORING><CPU><![CDATA[11.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.15]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0f]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5914]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[1]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.15]]></IP><MAC><![CDATA[02:00:ac:10:64:0f]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-14-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[2]]></TEMPLATE_ID><VMID><![CDATA[14]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>14</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475867470</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475867470</PSTIME><PETIME>1475867485</PETIME><RSTIME>1475867485</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>15</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>duplicate-ip-dupe</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>0</LAST_POLL><STATE>1</STATE><LCM_STATE>0</LCM_STATE><PREV_STATE>1</PREV_STATE><PREV_LCM_STATE>0</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475867543</STIME><ETIME>0</ETIME><DEPLOY_ID></DEPLOY_ID><MONITORING></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.15]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0f]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.15]]></IP><MAC><![CDATA[02:00:ac:10:64:0f]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-15-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[2]]></TEMPLATE_ID><VMID><![CDATA[15]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO><SCHED_MESSAGE><![CDATA[Fri\ + \ Oct 7 19:13:10 2016 : No host with enough capacity to deploy the VM]]></SCHED_MESSAGE></USER_TEMPLATE><HISTORY_RECORDS/></VM></VM_POOL>\r\ + \n0\r\n\r\n\r\ + \n\r\n"} + headers: + connection: [Keep-Alive] + content-length: ['95672'] + content-type: [text/xml; charset=utf-8] + date: ['Fri, 07 Oct 2016 19:13:20 UTC'] + keep-alive: ['timeout=15, max=30'] + server: [Xmlrpc-c_Abyss/1.40.0] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + one.vmpool.info + + + + + + someuser:sometoken + + + + + + -1 + + + + + + 0 + + + + + + 0 + + + + + + -2 + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['382'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://localhost:2633/RPC2 + response: + body: {string: !!python/unicode "\r\n\ + \r\n\r\n\r\n1\r\ + \n<VM_POOL><VM><ID>0</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-0</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-0</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.2]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:02]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5900]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.2]]></IP><MAC><![CDATA[02:00:ac:10:64:02]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-0-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[0]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>0</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786738</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786738</PSTIME><PETIME>1475786739</PETIME><RSTIME>1475786739</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM></VM_POOL>\r\ + \n0\r\n\r\n\r\ + \n\r\n"} + headers: + connection: [Keep-Alive] + content-length: ['6762'] + content-type: [text/xml; charset=utf-8] + date: ['Fri, 07 Oct 2016 19:13:20 UTC'] + keep-alive: ['timeout=15, max=30'] + server: [Xmlrpc-c_Abyss/1.40.0] + status: {code: 200, message: OK} +version: 1 diff --git a/onedns/tests/fixtures/oneclient/test_onedns_remove_vm_by_id.yaml b/onedns/tests/fixtures/oneclient/test_onedns_remove_vm_by_id.yaml new file mode 100644 index 0000000..1392807 --- /dev/null +++ b/onedns/tests/fixtures/oneclient/test_onedns_remove_vm_by_id.yaml @@ -0,0 +1,173 @@ +interactions: +- request: + body: !!python/unicode ' + + one.vmpool.info + + + + + + someuser:sometoken + + + + + + -1 + + + + + + -1 + + + + + + -1 + + + + + + -1 + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['384'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://localhost:2633/RPC2 + response: + body: {string: !!python/unicode "\r\n\ + \r\n\r\n\r\n1\r\ + \n<VM_POOL><VM><ID>0</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-0</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-0</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.2]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:02]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5900]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.2]]></IP><MAC><![CDATA[02:00:ac:10:64:02]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-0-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[0]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>0</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786738</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786738</PSTIME><PETIME>1475786739</PETIME><RSTIME>1475786739</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>1</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-1</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-1</DEPLOY_ID><MONITORING><CPU><![CDATA[13.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.3]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:03]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5901]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.3]]></IP><MAC><![CDATA[02:00:ac:10:64:03]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-1-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[1]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>1</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786748</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786748</PSTIME><PETIME>1475786750</PETIME><RSTIME>1475786750</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>2</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-6</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-2</DEPLOY_ID><MONITORING><CPU><![CDATA[11.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.4]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:04]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5902]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.4]]></IP><MAC><![CDATA[02:00:ac:10:64:04]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-2-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[2]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>2</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786758</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786758</PSTIME><PETIME>1475786785</PETIME><RSTIME>1475786785</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>3</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-5</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-3</DEPLOY_ID><MONITORING><CPU><![CDATA[12.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.5]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:05]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5903]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.5]]></IP><MAC><![CDATA[02:00:ac:10:64:05]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-3-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[3]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>3</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786768</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786768</PSTIME><PETIME>1475786793</PETIME><RSTIME>1475786793</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>4</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-2</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-4</DEPLOY_ID><MONITORING><CPU><![CDATA[10.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.6]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:06]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5904]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.6]]></IP><MAC><![CDATA[02:00:ac:10:64:06]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-4-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[4]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>4</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786778</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786778</PSTIME><PETIME>1475786792</PETIME><RSTIME>1475786792</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>5</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-4</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-5</DEPLOY_ID><MONITORING><CPU><![CDATA[11.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.7]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:07]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5905]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.7]]></IP><MAC><![CDATA[02:00:ac:10:64:07]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-5-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[5]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>5</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786788</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786788</PSTIME><PETIME>1475786795</PETIME><RSTIME>1475786795</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>6</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-3</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-6</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.8]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:08]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5906]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.8]]></IP><MAC><![CDATA[02:00:ac:10:64:08]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-6-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[6]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>6</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786798</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786798</PSTIME><PETIME>1475786820</PETIME><RSTIME>1475786820</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>7</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-7</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-7</DEPLOY_ID><MONITORING><CPU><![CDATA[26.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.9]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:09]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5907]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.9]]></IP><MAC><![CDATA[02:00:ac:10:64:09]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-7-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[7]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>7</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786808</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786808</PSTIME><PETIME>1475786823</PETIME><RSTIME>1475786823</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>8</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-8</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-8</DEPLOY_ID><MONITORING><CPU><![CDATA[12.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.10]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0a]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5908]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.10]]></IP><MAC><![CDATA[02:00:ac:10:64:0a]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-8-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[8]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>8</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786818</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786818</PSTIME><PETIME>1475786839</PETIME><RSTIME>1475786839</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>9</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-9</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-9</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.11]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0b]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5909]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.11]]></IP><MAC><![CDATA[02:00:ac:10:64:0b]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-9-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[9]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>9</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786828</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786828</PSTIME><PETIME>1475786843</PETIME><RSTIME>1475786843</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>10</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-0</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475866525</STIME><ETIME>0</ETIME><DEPLOY_ID>one-10</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.12]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0c]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5910]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.12]]></IP><MAC><![CDATA[02:00:ac:10:64:0c]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-10-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[10]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>10</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475866529</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475866529</PSTIME><PETIME>1475866540</PETIME><RSTIME>1475866540</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>12</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>no-network-test</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475866684</STIME><ETIME>0</ETIME><DEPLOY_ID>one-12</DEPLOY_ID><MONITORING><CPU><![CDATA[12.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5912]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><TEMPLATE_ID><![CDATA[1]]></TEMPLATE_ID><VMID><![CDATA[12]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>12</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475866689</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475866689</PSTIME><PETIME>1475866706</PETIME><RSTIME>1475866706</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>13</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>multiple-networks</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475866821</STIME><ETIME>0</ETIME><DEPLOY_ID>one-13</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[1296]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.13]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0d]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><ETH1_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH1_CONTEXT_FORCE_IPV4><ETH1_DNS><![CDATA[]]></ETH1_DNS><ETH1_GATEWAY><![CDATA[]]></ETH1_GATEWAY><ETH1_GATEWAY6><![CDATA[]]></ETH1_GATEWAY6><ETH1_IP><![CDATA[172.16.100.14]]></ETH1_IP><ETH1_IP6><![CDATA[]]></ETH1_IP6><ETH1_IP6_ULA><![CDATA[]]></ETH1_IP6_ULA><ETH1_MAC><![CDATA[02:00:ac:10:64:0e]]></ETH1_MAC><ETH1_MASK><![CDATA[]]></ETH1_MASK><ETH1_MTU><![CDATA[]]></ETH1_MTU><ETH1_NETWORK><![CDATA[]]></ETH1_NETWORK><ETH1_SEARCH_DOMAIN><![CDATA[]]></ETH1_SEARCH_DOMAIN><ETH1_VLAN_ID><![CDATA[]]></ETH1_VLAN_ID><ETH1_VROUTER_IP><![CDATA[]]></ETH1_VROUTER_IP><ETH1_VROUTER_IP6><![CDATA[]]></ETH1_VROUTER_IP6><ETH1_VROUTER_MANAGEMENT><![CDATA[]]></ETH1_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5913]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.13]]></IP><MAC><![CDATA[02:00:ac:10:64:0d]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-13-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.14]]></IP><MAC><![CDATA[02:00:ac:10:64:0e]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[1]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-13-1]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[13]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>13</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475866830</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475866830</PSTIME><PETIME>1475866844</PETIME><RSTIME>1475866844</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>14</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>duplicate-ip-original</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475867466</STIME><ETIME>0</ETIME><DEPLOY_ID>one-14</DEPLOY_ID><MONITORING><CPU><![CDATA[11.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.15]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0f]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5914]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[1]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.15]]></IP><MAC><![CDATA[02:00:ac:10:64:0f]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-14-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[2]]></TEMPLATE_ID><VMID><![CDATA[14]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>14</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475867470</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475867470</PSTIME><PETIME>1475867485</PETIME><RSTIME>1475867485</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>15</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>duplicate-ip-dupe</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>0</LAST_POLL><STATE>1</STATE><LCM_STATE>0</LCM_STATE><PREV_STATE>1</PREV_STATE><PREV_LCM_STATE>0</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475867543</STIME><ETIME>0</ETIME><DEPLOY_ID></DEPLOY_ID><MONITORING></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.15]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0f]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.15]]></IP><MAC><![CDATA[02:00:ac:10:64:0f]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-15-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[2]]></TEMPLATE_ID><VMID><![CDATA[15]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO><SCHED_MESSAGE><![CDATA[Fri\ + \ Oct 7 19:13:20 2016 : No host with enough capacity to deploy the VM]]></SCHED_MESSAGE></USER_TEMPLATE><HISTORY_RECORDS/></VM></VM_POOL>\r\ + \n0\r\n\r\n\r\ + \n\r\n"} + headers: + connection: [Keep-Alive] + content-length: ['95672'] + content-type: [text/xml; charset=utf-8] + date: ['Fri, 07 Oct 2016 19:13:22 UTC'] + keep-alive: ['timeout=15, max=30'] + server: [Xmlrpc-c_Abyss/1.40.0] + status: {code: 200, message: OK} +- request: + body: !!python/unicode ' + + one.vmpool.info + + + + + + someuser:sometoken + + + + + + -1 + + + + + + 0 + + + + + + 0 + + + + + + -2 + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['382'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://localhost:2633/RPC2 + response: + body: {string: !!python/unicode "\r\n\ + \r\n\r\n\r\n1\r\ + \n<VM_POOL><VM><ID>0</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-0</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-0</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.2]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:02]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5900]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.2]]></IP><MAC><![CDATA[02:00:ac:10:64:02]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-0-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[0]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>0</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786738</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786738</PSTIME><PETIME>1475786739</PETIME><RSTIME>1475786739</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM></VM_POOL>\r\ + \n0\r\n\r\n\r\ + \n\r\n"} + headers: + connection: [Keep-Alive] + content-length: ['6762'] + content-type: [text/xml; charset=utf-8] + date: ['Fri, 07 Oct 2016 19:13:22 UTC'] + keep-alive: ['timeout=15, max=30'] + server: [Xmlrpc-c_Abyss/1.40.0] + status: {code: 200, message: OK} +version: 1 diff --git a/onedns/tests/fixtures/oneclient/vms.yaml b/onedns/tests/fixtures/oneclient/vms.yaml new file mode 100644 index 0000000..31bcaf4 --- /dev/null +++ b/onedns/tests/fixtures/oneclient/vms.yaml @@ -0,0 +1,109 @@ +interactions: +- request: + body: !!python/unicode ' + + one.vmpool.info + + + + + + someuser:sometoken + + + + + + -1 + + + + + + -1 + + + + + + -1 + + + + + + -1 + + + + + + ' + headers: + Accept-Encoding: [gzip] + Content-Length: ['384'] + Content-Type: [text/xml] + User-Agent: [xmlrpclib.py/1.0.1 (by www.pythonware.com)] + method: POST + uri: http://localhost:2633/RPC2 + response: + body: {string: !!python/unicode "\r\n\ + \r\n\r\n\r\n1\r\ + \n<VM_POOL><VM><ID>0</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-0</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-0</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.2]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:02]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5900]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.2]]></IP><MAC><![CDATA[02:00:ac:10:64:02]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-0-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[0]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>0</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786738</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786738</PSTIME><PETIME>1475786739</PETIME><RSTIME>1475786739</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>1</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-1</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-1</DEPLOY_ID><MONITORING><CPU><![CDATA[13.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.3]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:03]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5901]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.3]]></IP><MAC><![CDATA[02:00:ac:10:64:03]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-1-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[1]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>1</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786748</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786748</PSTIME><PETIME>1475786750</PETIME><RSTIME>1475786750</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>2</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-6</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-2</DEPLOY_ID><MONITORING><CPU><![CDATA[11.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.4]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:04]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5902]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.4]]></IP><MAC><![CDATA[02:00:ac:10:64:04]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-2-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[2]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>2</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786758</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786758</PSTIME><PETIME>1475786785</PETIME><RSTIME>1475786785</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>3</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-5</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-3</DEPLOY_ID><MONITORING><CPU><![CDATA[12.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.5]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:05]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5903]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.5]]></IP><MAC><![CDATA[02:00:ac:10:64:05]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-3-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[3]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>3</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786768</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786768</PSTIME><PETIME>1475786793</PETIME><RSTIME>1475786793</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>4</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-2</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-4</DEPLOY_ID><MONITORING><CPU><![CDATA[10.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.6]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:06]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5904]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.6]]></IP><MAC><![CDATA[02:00:ac:10:64:06]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-4-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[4]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>4</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786778</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786778</PSTIME><PETIME>1475786792</PETIME><RSTIME>1475786792</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>5</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-4</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-5</DEPLOY_ID><MONITORING><CPU><![CDATA[11.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.7]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:07]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5905]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.7]]></IP><MAC><![CDATA[02:00:ac:10:64:07]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-5-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[5]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>5</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786788</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786788</PSTIME><PETIME>1475786795</PETIME><RSTIME>1475786795</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>6</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-3</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-6</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.8]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:08]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5906]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.8]]></IP><MAC><![CDATA[02:00:ac:10:64:08]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-6-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[6]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>6</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786798</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786798</PSTIME><PETIME>1475786820</PETIME><RSTIME>1475786820</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>7</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-7</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-7</DEPLOY_ID><MONITORING><CPU><![CDATA[26.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.9]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:09]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5907]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.9]]></IP><MAC><![CDATA[02:00:ac:10:64:09]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-7-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[7]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>7</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786808</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786808</PSTIME><PETIME>1475786823</PETIME><RSTIME>1475786823</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>8</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-8</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-8</DEPLOY_ID><MONITORING><CPU><![CDATA[12.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.10]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0a]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5908]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.10]]></IP><MAC><![CDATA[02:00:ac:10:64:0a]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-8-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[8]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>8</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786818</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786818</PSTIME><PETIME>1475786839</PETIME><RSTIME>1475786839</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>9</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-9</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867584</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475786733</STIME><ETIME>0</ETIME><DEPLOY_ID>one-9</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.11]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0b]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5909]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.11]]></IP><MAC><![CDATA[02:00:ac:10:64:0b]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-9-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[9]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>9</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475786828</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475786828</PSTIME><PETIME>1475786843</PETIME><RSTIME>1475786843</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>10</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>test-0</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475866525</STIME><ETIME>0</ETIME><DEPLOY_ID>one-10</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.12]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0c]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5910]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.12]]></IP><MAC><![CDATA[02:00:ac:10:64:0c]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-10-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[10]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>10</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475866529</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475866529</PSTIME><PETIME>1475866540</PETIME><RSTIME>1475866540</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>12</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>no-network-test</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475866684</STIME><ETIME>0</ETIME><DEPLOY_ID>one-12</DEPLOY_ID><MONITORING><CPU><![CDATA[12.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5912]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><TEMPLATE_ID><![CDATA[1]]></TEMPLATE_ID><VMID><![CDATA[12]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>12</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475866689</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475866689</PSTIME><PETIME>1475866706</PETIME><RSTIME>1475866706</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>13</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>multiple-networks</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475866821</STIME><ETIME>0</ETIME><DEPLOY_ID>one-13</DEPLOY_ID><MONITORING><CPU><![CDATA[14.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[1296]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.13]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0d]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><ETH1_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH1_CONTEXT_FORCE_IPV4><ETH1_DNS><![CDATA[]]></ETH1_DNS><ETH1_GATEWAY><![CDATA[]]></ETH1_GATEWAY><ETH1_GATEWAY6><![CDATA[]]></ETH1_GATEWAY6><ETH1_IP><![CDATA[172.16.100.14]]></ETH1_IP><ETH1_IP6><![CDATA[]]></ETH1_IP6><ETH1_IP6_ULA><![CDATA[]]></ETH1_IP6_ULA><ETH1_MAC><![CDATA[02:00:ac:10:64:0e]]></ETH1_MAC><ETH1_MASK><![CDATA[]]></ETH1_MASK><ETH1_MTU><![CDATA[]]></ETH1_MTU><ETH1_NETWORK><![CDATA[]]></ETH1_NETWORK><ETH1_SEARCH_DOMAIN><![CDATA[]]></ETH1_SEARCH_DOMAIN><ETH1_VLAN_ID><![CDATA[]]></ETH1_VLAN_ID><ETH1_VROUTER_IP><![CDATA[]]></ETH1_VROUTER_IP><ETH1_VROUTER_IP6><![CDATA[]]></ETH1_VROUTER_IP6><ETH1_VROUTER_MANAGEMENT><![CDATA[]]></ETH1_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5913]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.13]]></IP><MAC><![CDATA[02:00:ac:10:64:0d]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-13-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.14]]></IP><MAC><![CDATA[02:00:ac:10:64:0e]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[1]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-13-1]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[0]]></TEMPLATE_ID><VMID><![CDATA[13]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>13</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475866830</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475866830</PSTIME><PETIME>1475866844</PETIME><RSTIME>1475866844</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>14</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>duplicate-ip-original</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>1475867585</LAST_POLL><STATE>3</STATE><LCM_STATE>3</LCM_STATE><PREV_STATE>3</PREV_STATE><PREV_LCM_STATE>3</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475867466</STIME><ETIME>0</ETIME><DEPLOY_ID>one-14</DEPLOY_ID><MONITORING><CPU><![CDATA[11.0]]></CPU><DISK_SIZE><ID><![CDATA[0]]></ID><SIZE><![CDATA[40]]></SIZE></DISK_SIZE><DISK_SIZE><ID><![CDATA[1]]></ID><SIZE><![CDATA[1]]></SIZE></DISK_SIZE><MEMORY><![CDATA[131072]]></MEMORY><NETRX><![CDATA[648]]></NETRX><NETTX><![CDATA[0]]></NETTX><STATE><![CDATA[a]]></STATE></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.15]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0f]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><PORT><![CDATA[5914]]></PORT><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[1]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.15]]></IP><MAC><![CDATA[02:00:ac:10:64:0f]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-14-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[2]]></TEMPLATE_ID><VMID><![CDATA[14]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO></USER_TEMPLATE><HISTORY_RECORDS><HISTORY><OID>14</OID><SEQ>0</SEQ><HOSTNAME>one-dns-testing</HOSTNAME><HID>0</HID><CID>0</CID><STIME>1475867470</STIME><ETIME>0</ETIME><VM_MAD><![CDATA[kvm]]></VM_MAD><TM_MAD><![CDATA[ssh]]></TM_MAD><DS_ID>0</DS_ID><PSTIME>1475867470</PSTIME><PETIME>1475867485</PETIME><RSTIME>1475867485</RSTIME><RETIME>0</RETIME><ESTIME>0</ESTIME><EETIME>0</EETIME><REASON>0</REASON><ACTION>0</ACTION></HISTORY></HISTORY_RECORDS></VM><VM><ID>15</ID><UID>0</UID><GID>0</GID><UNAME>oneadmin</UNAME><GNAME>oneadmin</GNAME><NAME>duplicate-ip-dupe</NAME><PERMISSIONS><OWNER_U>1</OWNER_U><OWNER_M>1</OWNER_M><OWNER_A>0</OWNER_A><GROUP_U>0</GROUP_U><GROUP_M>0</GROUP_M><GROUP_A>0</GROUP_A><OTHER_U>0</OTHER_U><OTHER_M>0</OTHER_M><OTHER_A>0</OTHER_A></PERMISSIONS><LAST_POLL>0</LAST_POLL><STATE>1</STATE><LCM_STATE>0</LCM_STATE><PREV_STATE>1</PREV_STATE><PREV_LCM_STATE>0</PREV_LCM_STATE><RESCHED>0</RESCHED><STIME>1475867543</STIME><ETIME>0</ETIME><DEPLOY_ID></DEPLOY_ID><MONITORING></MONITORING><TEMPLATE><AUTOMATIC_DS_REQUIREMENTS><![CDATA[\"\ + CLUSTERS/ID\" @> 0]]></AUTOMATIC_DS_REQUIREMENTS><AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID\ + \ = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS><CONTEXT><DISK_ID><![CDATA[1]]></DISK_ID><ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4><ETH0_DNS><![CDATA[]]></ETH0_DNS><ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY><ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6><ETH0_IP><![CDATA[172.16.100.15]]></ETH0_IP><ETH0_IP6><![CDATA[]]></ETH0_IP6><ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA><ETH0_MAC><![CDATA[02:00:ac:10:64:0f]]></ETH0_MAC><ETH0_MASK><![CDATA[]]></ETH0_MASK><ETH0_MTU><![CDATA[]]></ETH0_MTU><ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK><ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN><ETH0_VLAN_ID><![CDATA[]]></ETH0_VLAN_ID><ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP><ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6><ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT><NETWORK><![CDATA[YES]]></NETWORK><SSH_PUBLIC_KEY><![CDATA[]]></SSH_PUBLIC_KEY><TARGET><![CDATA[hdb]]></TARGET></CONTEXT><CPU><![CDATA[0.1]]></CPU><DISK><CLONE><![CDATA[YES]]></CLONE><CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><DATASTORE><![CDATA[default]]></DATASTORE><DATASTORE_ID><![CDATA[1]]></DATASTORE_ID><DEV_PREFIX><![CDATA[hd]]></DEV_PREFIX><DISK_ID><![CDATA[0]]></DISK_ID><DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE><DISK_TYPE><![CDATA[FILE]]></DISK_TYPE><IMAGE><![CDATA[ttylinux\ + \ - kvm]]></IMAGE><IMAGE_ID><![CDATA[0]]></IMAGE_ID><IMAGE_STATE><![CDATA[2]]></IMAGE_STATE><LN_TARGET><![CDATA[SYSTEM]]></LN_TARGET><READONLY><![CDATA[NO]]></READONLY><SAVE><![CDATA[NO]]></SAVE><SIZE><![CDATA[40]]></SIZE><SOURCE><![CDATA[/var/lib/one//datastores/1/203ec12ff6495be37ec95dbbc7cf94ef]]></SOURCE><TARGET><![CDATA[hda]]></TARGET><TM_MAD><![CDATA[ssh]]></TM_MAD><TYPE><![CDATA[FILE]]></TYPE></DISK><GRAPHICS><LISTEN><![CDATA[0.0.0.0]]></LISTEN><TYPE><![CDATA[VNC]]></TYPE></GRAPHICS><MEMORY><![CDATA[128]]></MEMORY><NIC><AR_ID><![CDATA[0]]></AR_ID><BRIDGE><![CDATA[br0]]></BRIDGE><CLUSTER_ID><![CDATA[0]]></CLUSTER_ID><IP><![CDATA[172.16.100.15]]></IP><MAC><![CDATA[02:00:ac:10:64:0f]]></MAC><NETWORK><![CDATA[local]]></NETWORK><NETWORK_ID><![CDATA[0]]></NETWORK_ID><NIC_ID><![CDATA[0]]></NIC_ID><SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS><TARGET><![CDATA[one-15-0]]></TARGET><VN_MAD><![CDATA[dummy]]></VN_MAD></NIC><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><SECURITY_GROUP_RULE><PROTOCOL><![CDATA[ALL]]></PROTOCOL><RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE><SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID><SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME></SECURITY_GROUP_RULE><TEMPLATE_ID><![CDATA[2]]></TEMPLATE_ID><VMID><![CDATA[15]]></VMID></TEMPLATE><USER_TEMPLATE><LOGO><![CDATA[images/logos/linux.png]]></LOGO><SCHED_MESSAGE><![CDATA[Fri\ + \ Oct 7 19:13:00 2016 : No host with enough capacity to deploy the VM]]></SCHED_MESSAGE></USER_TEMPLATE><HISTORY_RECORDS/></VM></VM_POOL>\r\ + \n0\r\n\r\n\r\ + \n\r\n"} + headers: + connection: [Keep-Alive] + content-length: ['95672'] + content-type: [text/xml; charset=utf-8] + date: ['Fri, 07 Oct 2016 19:13:06 UTC'] + keep-alive: ['timeout=15, max=30'] + server: [Xmlrpc-c_Abyss/1.40.0] + status: {code: 200, message: OK} +version: 1