DEPENDS_PIDFILE = '/tmp/nepi-depends.pid'
DEPENDS_LOGFILE = '/tmp/nepi-depends.log'
+
RPM_FUSION_URL = 'http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm'
RPM_FUSION_URL_F12 = 'http://download1.rpmfusion.org/free/fedora/releases/12/Everything/x86_64/os/rpmfusion-free-release-12-1.noarch.rpm'
def resolvable(node_id):
try:
- addr = socket.gethostbyname(hostnames[node_id])
+ addr = server.gethostbyname(hostnames[node_id])
return addr is not None
except:
return False
orig_attrs['server_key'] = self.server_key
self.server_key = info['ssh_rsa_key']
- self.hostip = socket.gethostbyname(self.hostname)
+ self.hostip = server.gethostbyname(self.hostname)
try:
self.__orig_attrs
RPM_FUSION_URL = self.RPM_FUSION_URL
rpmFusion = (
- 'rpm -q $(rpm -q -p %(RPM_FUSION_URL)s) || sudo -S rpm -i %(RPM_FUSION_URL)s'
+ 'rpm -q rpmfusion-free-release || sudo -S rpm -i %(RPM_FUSION_URL)s'
) % {
'RPM_FUSION_URL' : RPM_FUSION_URL
}
else:
rpmFusion = ''
-
+
if rpmFusion:
(out,err),proc = server.popen_ssh_command(
rpmFusion,
- host = self.hostname,
+ host = self.hostip,
port = None,
user = self.slicename,
agent = None,
if proc.wait():
if self.check_bad_host(out,err):
self.blacklist()
- raise RuntimeError, "Failed to set up application: %s %s" % (out,err,)
+ raise RuntimeError, "Failed to set up application on host %s: %s %s" % (self.hostname, out,err,)
# Launch p2p yum dependency installer
self._yum_dependencies.async_setup()
# they have to be created for deployment
(out,err),proc = server.eintr_retry(server.popen_ssh_command)(
"echo 'ALIVE'",
- host = self.hostname,
+ host = self.hostip,
port = None,
user = self.slicename,
agent = None,
def destroy(self):
if self.enable_proc_cleanup:
self.do_proc_cleanup()
- if self.enable_home_cleanup:
- self.do_home_cleanup()
def blacklist(self):
if self._node_id:
cmd % {
'slicename' : self.slicename ,
},
- host = self.hostname,
+ host = self.hostip,
port = None,
user = self.slicename,
agent = None,
self._logger.info("Cleaning up home on %s", self.hostname)
cmds = [
- "find . -maxdepth 1 ! -name '.bash*' ! -name '.' -execdir rm -rf {} + "
+ "find . -maxdepth 1 \( -name '.cache' -o -name '.local' -o -name '.config' -o -name 'nepi-*' \) -execdir rm -rf {} + "
]
for cmd in cmds:
(out,err),proc = server.popen_ssh_command(
# Some apps need two kills
- cmd % {
- 'slicename' : self.slicename ,
- },
- host = self.hostname,
+ cmd,
+ host = self.hostip,
port = None,
user = self.slicename,
agent = None,
vsys_vnet = ipaddr.IPv4Network(vsys_vnet)
for route in routes:
- dest, prefix, nexthop, metric = route
+ dest, prefix, nexthop, metric, device = route
dest = ipaddr.IPv4Network("%s/%d" % (dest,prefix))
nexthop = ipaddr.IPAddress(nexthop)
if dest not in vsys_vnet or nexthop not in vsys_vnet:
return 'vroute'
def format_route(self, route, dev, method, action):
- dest, prefix, nexthop, metric = route
+ dest, prefix, nexthop, metric, device = route
if method == 'vroute':
return (
"%s %s%s gw %s %s" % (
"( sudo -S bash -c 'cat /vsys/%(method)s.out >&2' & ) ; sudo -S bash -c 'cat > /vsys/%(method)s.in' ; sleep 0.5" % dict(
home = server.shell_escape(self.home_path),
method = method),
- host = self.hostname,
+ host = self.hostip,
port = None,
user = self.slicename,
agent = None,
def check_bad_host(self, out, err):
badre = re.compile(r'(?:'
- r"curl: [(]\d+[)] Couldn't resolve host 'download1[.]rpmfusion[.]org'"
+ #r"curl: [(]\d+[)] Couldn't resolve host 'download1[.]rpmfusion[.]org'"
r'|Error: disk I/O error'
r')',
re.I)
return badre.search(out) or badre.search(err)
+