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')
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)
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')
def start_service(self, pre_script='', post_script=''): """Start service""" try: if pre_script != '': utils.execute(pre_script) except Exception, e: log.exception(e)
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')
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)
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
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
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')
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)
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")
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")
def _execute(self, command, service, action): execute('%s %s %s' % (command, service, action))
"""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)
def scan_scsi_bus(scsi_host='host0'): utils.execute("echo \"- - -\" > /sys/class/scsi_host/host0/scan")