Esempio n. 1
0
 def stop_service(self):
     """Stop service"""
     try:
         utils.execute('service %s stop' % self.name)
     except Exception, e:
         log.error(e)
         raise Exception('Unable to execute command')
Esempio n. 2
0
 def notify_crowbar_ready(self, base_url, state):
     try:
         mac = "`ifconfig eth1 | grep HWaddr | awk '{ print \$5 }'`"
         cmd = """wget -q "%s?mac=%s&state=%s" -O- -T 30"""
         execute(cmd % (base_url, mac, state))
     except Exception, e:
         log.error(e)
Esempio n. 3
0
 def uninstall_service(self):
     """Remove service from bootstrap list"""
     try:
         utils.execute('chkconfig %s off' % self.name)
     except Exception, e:
         log.error(e)
         raise Exception('Unable to execute command')
Esempio n. 4
0
 def start_service(self, pre_script='', post_script=''):
     """Start service"""
     try:
         if pre_script != '':
             utils.execute(pre_script)
     except Exception, e:
         log.exception(e)
Esempio n. 5
0
 def install_service(self):
     """Add service to bootstrap list"""
     try:
         utils.execute('chkconfig --level 2345 %s on' % self.name)
     except Exception, e:
         log.error(e)
         raise Exception('Unable to execute command')
Esempio n. 6
0
def remote_puppet_run(node_fqdn, foreground=True):
    try:
        # ignores exit code 3: this means that a puppet run is already
        # in execution.
        flag = ' -f' if foreground else ''
        utils.execute('sudo puppetrun --host %s%s' % (node_fqdn, flag), [3])
    except Exception, e:
        logger.exception(e)
Esempio n. 7
0
 def enforce_configuration(self):
     """Try to restart the network service: only root can succeed"""
     try:
         utils.execute('hostname %s' % self.hostname)
         utils.execute('service network restart')  # only RHEL-based
         self.activated = True
     except Exception, e:
         log.error(e)
         self.activated = False
Esempio n. 8
0
 def _is_valid_hypervisor_pwd(self):
     try:
         logger.debug('Password check: validating...')
         execute('%s %s %s' % (PasswordForm._validator, 'root',
                               quote(self.cleaned_data["password"])))
         logger.debug('Password check: succeded')
     except Exception, e:
         logger.debug('Password check: failure')
         logger.error(e)
         return False
Esempio n. 9
0
    def _do_action_on_service(self, command, action):
        """Execute action on the service"""
        if self._master_flag is None:
            raise Exception('Master flag is None: invalid action')

        service = 'puppet'
        if self._master_flag == PuppetNode.MASTER:
            service += 'master'
        try:
            utils.execute('%s %s %s' % (command, service, action))
        except Exception, e:
            logger.error(e)
            raise Exception('Unable to execute command')
Esempio n. 10
0
 def apply_config(cls, geppetto_args={}, db_args={}, queue_args={}):
     args_list = []
     if 'config' in db_args:
         args_list.append(db_args['config'])
     if 'config' in queue_args:
         args_list.append(queue_args['config'])
     for args in args_list:
         for arg_label, arg_value in args.iteritems():
             utils.\
             update_config_option_strip_spaces(cls.GEPPETTO_BACKEND_FILE,
                     setup.MasterBootOptions[arg_label]['config_param'],
                     "'" + arg_value + "'")
     utils.execute(cls.GEPPETTO_SETUP_SCRIPT)
Esempio n. 11
0
    def start_dns_dhcp(self, ip_address, subnet_mask, dns_suffix, first_ip,
                       last_ip, puppet_master):
        [subnet_address, broadcast_address, reverse_zone_prefix] = \
                                        ipinfo(ip_address, subnet_mask)
        config_map = {
            'hostname': puppet_master,
            'interface': ip_address,
            'dhcp_server': ip_address,
            'subnet': subnet_address,
            'subnet_mask': subnet_mask,
            'broadcast_address': broadcast_address,
            'routers': ip_address,
            'domain_name_servers': ip_address,
            'dns_suffix': dns_suffix,
            'range_from': first_ip,
            'range_to': last_ip,
            'nic': 'eth1',
            'reverse_zone_prefix': reverse_zone_prefix,
            'dns_server': ip_address,
            'puppet_master': puppet_master,
        }

        config = {gen.NAMED_CONF_TEMPLATE_FILE: '/etc/named.conf',
                  gen.NAMED_FORWARD_ZONE_TEMPLATE_FILE: '/var/named/zone.%s' \
                                                % config_map['dns_suffix'],
                  gen.NAMED_REVERSE_ZONE_TEMPLATE_FILE: '/var/named/%s.zone' \
                                        % config_map['reverse_zone_prefix'],
                  gen.DHCPD_CONF_TEMPLATE_FILE:
                                            '/usr/share/geppetto/dhcpd.conf',
                  gen.DHCPD_ARGS_TEMPLATE_FILE: '/usr/share/geppetto/dhcpd',
                  gen.RESLV_TEMPLATE_FILE: '/usr/share/geppetto/resolv.conf', }

        for (template_file, config_file) in config.items():
            gen.write_config(gen.fill_template(template_file, config_map),
                             config_file)

        execute("/usr/local/bin/geppetto/rndckeygen.sh")
        self._restart_service("named")
        self._restart_service("dhcpd")
Esempio n. 12
0
def _nova_manage_register(auth_token, label, machine, kernel=None, \
                      ramdisk=None, hypervisor='xenserver', ostype=None, \
                    adaptertype='lsiLogic'):
    to_log = '&> /var/log/geppetto/nova-manage-register-%s' % time.time()
    # Choose image type
    if kernel is None and ramdisk is None:
        nova_manage_cmd = '/usr/local/bin/nova-manage image image_register'
        nova_manage_fmt = '%(nova_manage_cmd)s %(machine)s ' + \
            '--owner=root ' + \
            '--name="%(label)s" --auth_token=%(auth_token)s %(to_log)s'
    else:
        nova_manage_cmd = '/usr/local/bin/nova-manage image all_register'
        nova_manage_fmt = '%(nova_manage_cmd)s %(machine)s %(kernel)s ' + \
            '%(ramdisk)s --owner=root ' + \
            '--name="%(label)s" --auth_token=%(auth_token)s %(to_log)s'
    # Register with registry
    try:
        execute(nova_manage_fmt % locals())
        logger.debug('nova-manage register: done!')
    except Exception, e:
        logger.error('Nova manage: failure')
        logger.error(e)
        raise Exception("Failed to register image")
Esempio n. 13
0
 def _execute(self, command, service, action):
     execute('%s %s %s' % (command, service, action))
Esempio n. 14
0
        """Remove service from bootstrap list"""
        try:
            utils.execute('chkconfig %s off' % self.name)
        except Exception, e:
            log.error(e)
            raise Exception('Unable to execute command')

    def start_service(self, pre_script='', post_script=''):
        """Start service"""
        try:
            if pre_script != '':
                utils.execute(pre_script)
        except Exception, e:
            log.exception(e)
        try:
            utils.execute('service %s start' % self.name)
        except Exception, e:
            # If we fail, try restart
            log.exception(e)
            try:
                utils.execute('service %s restart' % self.name)
            except Exception, e:
                # if restart fails too, raise exc
                log.exception(e)
                raise Exception('Unable to execute command')
        try:
            if post_script != '':
                utils.execute(post_script)
        except Exception, e:
            log.exception(e)
Esempio n. 15
0
def scan_scsi_bus(scsi_host='host0'):
    utils.execute("echo \"- - -\" > /sys/class/scsi_host/host0/scan")