solve ssh-discover error after delete ironic related rpm

Change-Id: I18d4cbacd5f74bb4e968a2c85ba7706d740387c7
Signed-off-by: luyao <lu.yao135@zte.com.cn>
This commit is contained in:
luyao 2016-09-12 09:20:41 +08:00 committed by Yao Lu
parent cb5241703c
commit 869ffd0460
10 changed files with 5 additions and 69 deletions

View File

@ -47,11 +47,9 @@ from oslo_utils import netutils
from oslo_utils import strutils from oslo_utils import strutils
import six import six
from webob import exc from webob import exc
import ConfigParser
from daisy.common import exception from daisy.common import exception
from daisy import i18n from daisy import i18n
from ironicclient import client as ironic_client
CONF = cfg.CONF CONF = cfg.CONF
@ -887,16 +885,6 @@ def is_ip_in_ranges(ip, ip_ranges):
return False return False
def get_ironicclient(): # pragma: no cover
"""Get Ironic client instance."""
config_discoverd = ConfigParser.ConfigParser(defaults=DISCOVER_DEFAULTS)
config_discoverd.read("/etc/ironic-discoverd/discoverd.conf")
ironic_url = config_discoverd.get("discoverd", "ironic_url")
args = {'os_auth_token': 'fake',
'ironic_url': ironic_url}
return ironic_client.get_client(1, **args)
def get_host_hw_info(host_interface): def get_host_hw_info(host_interface):
host_hw_config = {} host_hw_config = {}
ironicclient = get_ironicclient() ironicclient = get_ironicclient()

View File

@ -67,7 +67,6 @@ class Controller(object):
def __init__(self): def __init__(self):
self.db_api = daisy.db.get_api() self.db_api = daisy.db.get_api()
self.ironicclient = utils.get_ironicclient()
self.daisyclient = self.get_daisyclient() self.daisyclient = self.get_daisyclient()
@staticmethod @staticmethod

View File

@ -16,7 +16,6 @@
import logging import logging
import eventlet import eventlet
from ironicclient import exceptions
from ironic_discoverd import conf from ironic_discoverd import conf
from ironic_discoverd import firewall from ironic_discoverd import firewall

View File

@ -73,7 +73,6 @@ def api_continue():
else: else:
hostname = None hostname = None
if data_name == "baremetal_source": if data_name == "baremetal_source":
process.write_data_to_ironic(data)
process.write_data_to_daisy(data, ipmi_addr, os_status, hostname) process.write_data_to_daisy(data, ipmi_addr, os_status, hostname)
return json.dumps(""), 200, {'Content-Type': 'applications/json'} return json.dumps(""), 200, {'Content-Type': 'applications/json'}
@ -131,31 +130,6 @@ def periodic_clean_up(period): # pragma: no cover
eventlet.greenthread.sleep(period) eventlet.greenthread.sleep(period)
def check_ironic_available():
"""Try to make sure we can reach Ironic.
Ensure that:
1. Keystone access is configured properly
2. Keystone has already started
3. Ironic has already started
"""
attempts = conf.getint('discoverd', 'ironic_retry_attempts')
assert attempts >= 0
retry_period = conf.getint('discoverd', 'ironic_retry_period')
LOG.debug('Trying to connect to Ironic')
for i in range(attempts + 1): # one attempt always required
try:
utils.get_client().driver.list()
except Exception as exc:
if i == attempts:
raise
LOG.warning('Unable to connect to Ironic or Keystone, retrying %d '
'times more: %s', attempts - i, exc)
else:
break
eventlet.greenthread.sleep(retry_period)
def config_shim(args): def config_shim(args):
"""Make new argument parsing method backwards compatible.""" """Make new argument parsing method backwards compatible."""
if len(args) == 2 and args[1][0] != '-': if len(args) == 2 and args[1][0] != '-':
@ -169,7 +143,6 @@ def init():
LOG.warning('Starting unauthenticated, please check configuration') LOG.warning('Starting unauthenticated, please check configuration')
node_cache.init() node_cache.init()
check_ironic_available()
if conf.getboolean('discoverd', 'manage_firewall'): if conf.getboolean('discoverd', 'manage_firewall'):
firewall.init() firewall.init()

View File

@ -17,7 +17,6 @@ import logging
import time import time
import eventlet import eventlet
from ironicclient import exceptions
from logging import handlers from logging import handlers
@ -126,26 +125,6 @@ def format_node_info_for_daisy_client(node_info, ipmi_addr,
return daisy_data return daisy_data
def write_data_to_ironic(node_info):
"""Parse data from the discovery ramdis.
this function put data into ironic db
"""
ironic = utils.get_client()
uuid = node_info['system'].get('uuid')
if uuid:
LOG.debug("find uuid, parse node_info, node_uuid: %s", uuid)
mac = find_min_mac_in_node_info(node_info)
patch = format_node_info_for_ironic(node_info)
try:
ironic.physical_node.update(uuid, mac, patch)
except Exception as ex:
LOG.warning('%s:update ironic db failed.', ex)
else:
LOG.debug("Don't find uuid.")
def find_min_mac_in_node_info(node_info): def find_min_mac_in_node_info(node_info):
interfaces_dict = node_info['interfaces'] interfaces_dict = node_info['interfaces']
mac_list = [] mac_list = []

View File

@ -16,8 +16,6 @@ import re
import eventlet import eventlet
from daisyclient import client as daisy_client from daisyclient import client as daisy_client
from ironicclient import client
from ironicclient import exceptions
from keystonemiddleware import auth_token from keystonemiddleware import auth_token
import six import six

View File

@ -1,7 +1,6 @@
eventlet>=0.15.1,<0.16.0 eventlet>=0.15.1,<0.16.0
Flask>=0.10,<1.0 Flask>=0.10,<1.0
keystonemiddleware>=1.0.0 keystonemiddleware>=1.0.0
python-ironicclient>=0.2.1
python-keystoneclient>=0.10.0 python-keystoneclient>=0.10.0
requests>=1.2.1,!=2.4.0 requests>=1.2.1,!=2.4.0
six>=1.7.0 six>=1.7.0

View File

@ -56,7 +56,6 @@ install -p -D -m 644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/ironic-discoverd/dns
Summary: Hardware introspection service for OpenStack Ironic - Python modules Summary: Hardware introspection service for OpenStack Ironic - Python modules
Requires: python-eventlet Requires: python-eventlet
Requires: python-flask Requires: python-flask
Requires: python-ironicclient
Requires: python-keystoneclient Requires: python-keystoneclient
Requires: python-keystonemiddleware Requires: python-keystonemiddleware
Requires: python-requests Requires: python-requests

View File

@ -16,7 +16,6 @@ from oslo_log import log as logging
from tempest import config from tempest import config
import tempest.test import tempest.test
from daisyclient.v1 import client as daisy_client from daisyclient.v1 import client as daisy_client
from ironicclient import client as ironic_client
CONF = config.CONF CONF = config.CONF
@ -36,8 +35,6 @@ class BaseDaisyTest(tempest.test.BaseTestCase):
cls.daisy_endpoint = CONF.daisy.daisy_endpoint cls.daisy_endpoint = CONF.daisy.daisy_endpoint
cls.daisy_client = daisy_client.Client(version=cls.daisy_version, cls.daisy_client = daisy_client.Client(version=cls.daisy_version,
endpoint=cls.daisy_endpoint) endpoint=cls.daisy_endpoint)
cls.ironic_client = ironic_client.get_client(
1, os_auth_token='fake', ironic_url='http://127.0.0.1:6385/v1')
@classmethod @classmethod
def resource_cleanup(cls): def resource_cleanup(cls):

View File

@ -17,6 +17,7 @@ keystone_admin_token="e93e9abf42f84be48e0996e5bd44f096"
daisy_install="/var/log/daisy/daisy_install" daisy_install="/var/log/daisy/daisy_install"
installdatefile=`date -d "today" +"%Y%m%d-%H%M%S"` installdatefile=`date -d "today" +"%Y%m%d-%H%M%S"`
install_logfile=$daisy_install/daisyinstall_$installdatefile.log install_logfile=$daisy_install/daisyinstall_$installdatefile.log
discover_logfile="/var/log/ironic"
#the contents of the output is displayed on the screen and output to the specified file #the contents of the output is displayed on the screen and output to the specified file
function write_install_log function write_install_log
{ {
@ -39,6 +40,10 @@ function all_install
touch $install_logfile touch $install_logfile
fi fi
if [ ! -d "$discover_logfile" ];then
mkdir -p $discover_logfile
fi
rm -rf /root/.my.cnf rm -rf /root/.my.cnf
[ "$?" -ne 0 ] && { write_install_log "Error:can not rm of /root/.my.cnf file"; exit 1; } [ "$?" -ne 0 ] && { write_install_log "Error:can not rm of /root/.my.cnf file"; exit 1; }
write_install_log "install fping rpm" write_install_log "install fping rpm"