Commit 36797098 authored by remy's avatar remy
Browse files

update doc for NAT in virtualbox (search domain option in resolv.conf)

parent aa4df3ec
#!/bin/bash
echo "This script will remove every DHCP servers in your Virtualbox. Are you sure ? [Yy/Nn]"
# assuming awk and vboxmanage are both in the PATH
DHCPservers=`vboxmanage list dhcpservers | awk -F"[: ]" '/NetworkName/ {print $2}'`
for server in $DHCPservers
do
vboxmanage dhcpserver remove --netname $server
done
......@@ -23,7 +23,7 @@ class VBwrapper:
def parseArgs(self):
"""parse command line arguments """
self.errors = { "errType":"Need to provide type. Valid types: frontend or compute",
self.errors = {"errType":"Need to provide type. Valid types: frontend or compute",
"errNoConfig":"Need to provide xml configuration file.",
"errConfig":"Configuration file %s is not found"}
usage = "Usage: %prog [-h] [-d] --type=[frontend|compute] configFile"
......@@ -104,7 +104,7 @@ class VBwrapper:
self.VM = {}
# VM and network names
xmlnode = xmlroot.findall("./vm")[0]
self.VM["vm_name"]= xmlnode.attrib["name"]
self.VM["vm_name"] = xmlnode.attrib["name"]
self.VM["vm_network"] = xmlnode.attrib["private"]
# iso info
......@@ -174,7 +174,7 @@ class VBwrapper:
str = xmlnode.attrib["order"]
items = str.split()
boot_order = ""
for n in range(0,len(items)):
for n in range(0, len(items)):
boot_order += "--boot%d %s " % (n+1, items[n])
self.VM["boot_order"] = boot_order
......@@ -305,18 +305,27 @@ class VBwrapper:
medium = self.VM["iso_path"]
else:
medium = "%s.vdi" % name
try:
medium = medium.encode("ascii")
#medium = unicode(medium, "ascii")
except UnicodeError:
medium = medium.encode("utf-8")
#medium = unicode(medium, "utf-8")
else:
# value was valid ASCII data
pass
template = "%s storageattach %s" % (self.cmd, name) \
+ " --storagectl %s" % ctl["name"] \
+ " --port %s --device %s" % (ctl["port"], ctl["device"]) \
+ " --type %s" % ctl["attr"] \
+ " --medium \"%s\"" % medium
+ " --medium %s" % medium
self.logger.info(template)
os.system(template)
def commandSharedFolder(self, name):
"""create and run sharedfolder command"""
num_shared = len(self.VM["shared"])
for i in range (0, num_shared):
for i in range(0, num_shared):
shared = self.VM["shared"][i]
template = "%s sharedfolder add %s" % (self.cmd, name) \
+ " --name %s --hostpath %s --automount" % (shared["shared_name"], shared["shared_path"])
......@@ -352,11 +361,12 @@ class VBwrapper:
def rename_iso(self):
iso_path = self.VM["iso_path"]
#replace '+' by '_'
new_iso_path = iso_path.replace("+","_")
self.logger.info("Replacing '+' symbols in ISO name '%s' with '_'" % (iso_path))
new_iso_path = iso_path.replace("+", "_")
os.rename(iso_path, new_iso_path)
self.VM["iso_path"] = new_iso_path
if __name__ == "__main__":
app=VBwrapper(sys.argv)
app = VBwrapper(sys.argv)
app.run()
......@@ -49,6 +49,11 @@ rocks list host
rocks list host interface
```
> **Warning** Avant d'insérer un nouveau noeud, on va commenter la première ligne du fichier
```/etc/resolv.conf``` (_search domain ..._)
car les machines créées ne pourront pas être résolues par le DNS (domaine _hpc.org_)
On va insérer un nouveau noeud:
```bash
insert-ethers
......
......@@ -3,9 +3,14 @@
- Installez *Virtualbox*
- Récupérez l'image de rocks cluster Jumbo DVD
- vérifiez éventuellement l'image avec un md5sum
Là, vous pouvez continuer à la main ou si vous avez cloné la documentation, utiliser le
script bash ```nat-add.sh```et le code python ```vbox_cluster``` également disponibles [ici](https://github.com/remyd1/cloud)
A la main:
- Créez une VM 1024Mo RAM et 25Go (30Go recommandés) de disque (VDI dynamique)
- Configurez pour avoir du réseau interne sur la "Carte 1" et un NAT sur la "Carte 2" <br />
Activez le mode promiscuité sur "Carte 1"
- Configurez pour avoir du réseau interne sur la "Carte 1" et un NAT sur la "Carte 2"
- Dans un terminal/console faire:
```
VBoxManage natnetwork add --netname mynet --network "10.0.3.0/24" --enable --dhcp off
......@@ -32,6 +37,8 @@ Passerelle 10.0.3.2 DNS 10.0.3.3
- Laissez finir l'installation
----
Au redémarrage, vous avez un noeud maître RocksCluster opérationnel. Ce dernier est composé d'un serveur HTTP, TFTP, MySQL, DNS, DHCP, Syslog, Kickstart et NFS pour l'essentiel, sans compter les Rolls additionnels (ici hpc, SGE et ganglia).
> **Comment** A l'installation des noeuds de calcul par boot PXE, les protocoles DHCP et HTTP seront utilisés.
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment