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:
parent
cb5241703c
commit
869ffd0460
@ -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()
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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()
|
||||||
|
@ -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 = []
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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):
|
||||||
|
@ -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"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user