diff --git a/ci/schemas/one_node_wheezy/ganeti.conf b/ci/schemas/one_node_wheezy/ganeti.conf
index cb2a8c2cbaf1147684b11e2ed985c6fe64462694..abfe2e0af40a99bf49e2609d1f61bee1263fea63 100644
--- a/ci/schemas/one_node_wheezy/ganeti.conf
+++ b/ci/schemas/one_node_wheezy/ganeti.conf
@@ -1,6 +1,6 @@
[DEFAULT]
vg = ganeti
-vg_size = 10G
+vg_size = 2G
[ganeti]
name = ganeti
diff --git a/snf-deploy/conf/ganeti.conf b/snf-deploy/conf/ganeti.conf
index cb2a8c2cbaf1147684b11e2ed985c6fe64462694..abfe2e0af40a99bf49e2609d1f61bee1263fea63 100644
--- a/snf-deploy/conf/ganeti.conf
+++ b/snf-deploy/conf/ganeti.conf
@@ -1,6 +1,6 @@
[DEFAULT]
vg = ganeti
-vg_size = 10G
+vg_size = 2G
[ganeti]
name = ganeti
diff --git a/snf-deploy/snfdeploy/vcluster.py b/snf-deploy/snfdeploy/vcluster.py
index 08ab3656d11dab5a17a29bd5bf02b2eeda468ada..b4841e02aaa820005a958a8cbd2ba66a1a5fd3ea 100644
--- a/snf-deploy/snfdeploy/vcluster.py
+++ b/snf-deploy/snfdeploy/vcluster.py
@@ -13,10 +13,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-import time
+import re
import os
import sys
-import re
import random
import subprocess
import ipaddr
@@ -24,7 +23,7 @@ from snfdeploy import config
from snfdeploy import context
from snfdeploy import constants
from snfdeploy.lib import check_pidfile, create_dir, get_default_route, \
- random_mac
+ random_mac, get_netinfo
def runcmd(cmd):
@@ -55,7 +54,7 @@ def create_dnsmasq_files(ctx):
print("Customize dnsmasq..")
- hosts = opts = conf = ""
+ hosts = opts = conf = "\n"
hostsf = os.path.join(config.dns_dir, "dhcp-hostsfile")
optsf = os.path.join(config.dns_dir, "dhcp-optsfile")
conff = os.path.join(config.dns_dir, "conf-file")
@@ -191,13 +190,19 @@ def image():
def cluster(ctx):
+ vms = []
for node in ctx.all_nodes:
node_info = config.get_info(node=node)
- _launch_vm(node_info.name, node_info.mac)
+ vnc = _launch_vm(node_info.name, node_info.mac)
+ vms.append((node_info, vnc))
- # TODO: check if the cluster is up and running instead of sleeping 30 secs
- time.sleep(30)
runcmd("reset")
+ for vm, port in vms:
+ if port:
+ vnc = "vncviewer %s:%s" % (get_netinfo()[0], 5900 + port)
+ else:
+ vnc = "no vnc"
+ print "%s: ssh root@%s or %s" % (vm.name, vm.ip, vnc)
def _launch_vm(name, mac):
@@ -209,8 +214,10 @@ def _launch_vm(name, mac):
print("Launching cluster node {0}..".format(name))
os.environ["BRIDGE"] = config.bridge
if config.vnc:
- graphics = "-vnc :{0}".format(random.randint(1, 1000))
+ random_vnc_port = random.randint(1, 1000)
+ graphics = "-vnc :{0}".format(random_vnc_port)
else:
+ random_vnc_port = None
graphics = "-nographic"
disks = """ \
@@ -244,9 +251,11 @@ def _launch_vm(name, mac):
-m {4} -smp {5} {6} {7} \
""".format(name, config.run_dir, disks, nics,
config.mem, config.smp, graphics, kernel)
- print cmd
+
runcmd(cmd)
+ return random_vnc_port
+
def dnsmasq():
check_pidfile(config.run_dir + "/dnsmasq.pid")