Fix usage of various deprecated methods
Our unittest output complains about some of the codebase, described in more detail in the referred bug. This change fixes all of those places. static_root is now set only if debug=True is set in pecan configuration. Logging is now setup as part of the conf module import, so that unittests can use it. Closes-Bug: #1668240 Change-Id: I2536bd2b174e0d224ddf6806f1be37bd29017669
This commit is contained in:
parent
f6bad6fb9e
commit
7fd26bf803
ironic
api
common
conf
tests/unit
@ -52,8 +52,8 @@ def setup_app(pecan_config=None, extra_hooks=None):
|
||||
|
||||
app = pecan.make_app(
|
||||
pecan_config.app.root,
|
||||
static_root=pecan_config.app.static_root,
|
||||
debug=CONF.pecan_debug,
|
||||
static_root=pecan_config.app.static_root if CONF.pecan_debug else None,
|
||||
force_canonical=getattr(pecan_config.app, 'force_canonical', True),
|
||||
hooks=app_hooks,
|
||||
wrap_app=middleware.ParsableErrorMiddleware,
|
||||
@ -81,7 +81,7 @@ def setup_app(pecan_config=None, extra_hooks=None):
|
||||
# Create a CORS wrapper, and attach ironic-specific defaults that must be
|
||||
# included in all CORS responses.
|
||||
app = cors_middleware.CORS(app, CONF)
|
||||
app.set_latent(
|
||||
cors_middleware.set_defaults(
|
||||
allow_headers=[base.Version.max_string, base.Version.min_string,
|
||||
base.Version.string],
|
||||
allow_methods=['GET', 'PUT', 'POST', 'DELETE', 'PATCH'],
|
||||
|
@ -109,7 +109,7 @@ class RootController(rest.RestController):
|
||||
return Root.convert()
|
||||
|
||||
@pecan.expose()
|
||||
def _route(self, args):
|
||||
def _route(self, args, request=None):
|
||||
"""Overrides the default routing behavior.
|
||||
|
||||
It redirects the request to the default version of the ironic API
|
||||
@ -118,4 +118,4 @@ class RootController(rest.RestController):
|
||||
|
||||
if args[0] and args[0] not in self._versions:
|
||||
args = [self._default_version] + args
|
||||
return super(RootController, self)._route(args)
|
||||
return super(RootController, self)._route(args, request)
|
||||
|
@ -199,7 +199,7 @@ class Controller(rest.RestController):
|
||||
headers=headers)
|
||||
|
||||
@pecan.expose()
|
||||
def _route(self, args):
|
||||
def _route(self, args, request=None):
|
||||
v = base.Version(pecan.request.headers, versions.MIN_VERSION_STRING,
|
||||
versions.MAX_VERSION_STRING)
|
||||
|
||||
@ -214,7 +214,7 @@ class Controller(rest.RestController):
|
||||
pecan.response.headers[base.Version.string] = str(v)
|
||||
pecan.request.version = v
|
||||
|
||||
return super(Controller, self)._route(args)
|
||||
return super(Controller, self)._route(args, request)
|
||||
|
||||
|
||||
__all__ = ('Controller',)
|
||||
|
@ -237,19 +237,21 @@ class PortgroupsController(pecan.rest.RestController):
|
||||
}
|
||||
|
||||
@pecan.expose()
|
||||
def _lookup(self, ident, subres, *remainder):
|
||||
def _lookup(self, ident, *remainder):
|
||||
if not api_utils.allow_portgroups():
|
||||
pecan.abort(http_client.NOT_FOUND)
|
||||
try:
|
||||
ident = types.uuid_or_name.validate(ident)
|
||||
except exception.InvalidUuidOrName as e:
|
||||
pecan.abort(http_client.BAD_REQUEST, e.args[0])
|
||||
subcontroller = self._subcontroller_map.get(subres)
|
||||
if not remainder:
|
||||
return
|
||||
subcontroller = self._subcontroller_map.get(remainder[0])
|
||||
if subcontroller:
|
||||
if api_utils.allow_portgroups_subcontrollers():
|
||||
return subcontroller(
|
||||
portgroup_ident=ident,
|
||||
node_ident=self.parent_node_ident), remainder
|
||||
node_ident=self.parent_node_ident), remainder[1:]
|
||||
pecan.abort(http_client.NOT_FOUND)
|
||||
|
||||
def __init__(self, node_ident=None):
|
||||
|
@ -14,7 +14,6 @@
|
||||
# License for the specific language governing permissions and limitations
|
||||
# under the License.
|
||||
|
||||
from oslo_log import log
|
||||
from oslo_service import service
|
||||
|
||||
from ironic.common import config
|
||||
@ -24,25 +23,7 @@ from ironic import objects
|
||||
|
||||
def prepare_service(argv=None):
|
||||
argv = [] if argv is None else argv
|
||||
log.register_options(CONF)
|
||||
log.set_defaults(default_log_levels=['amqp=WARNING',
|
||||
'amqplib=WARNING',
|
||||
'qpid.messaging=INFO',
|
||||
'oslo_messaging=INFO',
|
||||
'sqlalchemy=WARNING',
|
||||
'stevedore=INFO',
|
||||
'eventlet.wsgi.server=INFO',
|
||||
'iso8601=WARNING',
|
||||
'paramiko=WARNING',
|
||||
'requests=WARNING',
|
||||
'neutronclient=WARNING',
|
||||
'glanceclient=WARNING',
|
||||
'urllib3.connectionpool=WARNING',
|
||||
'keystonemiddleware.auth_token=INFO',
|
||||
'keystoneauth.session=INFO',
|
||||
])
|
||||
config.parse_args(argv)
|
||||
log.setup(CONF, 'ironic')
|
||||
objects.register_all()
|
||||
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
# under the License.
|
||||
|
||||
from oslo_config import cfg
|
||||
from oslo_log import log
|
||||
|
||||
from ironic.conf import agent
|
||||
from ironic.conf import api
|
||||
@ -45,6 +46,26 @@ from ironic.conf import swift
|
||||
|
||||
CONF = cfg.CONF
|
||||
|
||||
log.register_options(CONF)
|
||||
log.set_defaults(default_log_levels=[
|
||||
'amqp=WARNING',
|
||||
'amqplib=WARNING',
|
||||
'qpid.messaging=INFO',
|
||||
'oslo_messaging=INFO',
|
||||
'sqlalchemy=WARNING',
|
||||
'stevedore=INFO',
|
||||
'eventlet.wsgi.server=INFO',
|
||||
'iso8601=WARNING',
|
||||
'paramiko=WARNING',
|
||||
'requests=WARNING',
|
||||
'neutronclient=WARNING',
|
||||
'glanceclient=WARNING',
|
||||
'urllib3.connectionpool=WARNING',
|
||||
'keystonemiddleware.auth_token=INFO',
|
||||
'keystoneauth.session=INFO',
|
||||
])
|
||||
log.setup(CONF, 'ironic')
|
||||
|
||||
agent.register_opts(CONF)
|
||||
api.register_opts(CONF)
|
||||
audit.register_opts(CONF)
|
||||
|
@ -70,6 +70,7 @@ class BaseApiTest(base.DbTestCase):
|
||||
'root': 'ironic.api.controllers.root.RootController',
|
||||
'modules': ['ironic.api'],
|
||||
'static_root': '%s/public' % root_dir,
|
||||
'debug': True,
|
||||
'template_path': '%s/api/templates' % root_dir,
|
||||
'acl_public_routes': ['/', '/v1'],
|
||||
},
|
||||
|
@ -3230,10 +3230,9 @@ class UpdatePortTestCase(mgr_utils.ServiceSetUpMixin,
|
||||
@mock.patch.object(n_flat.FlatNetwork, 'port_changed', autospec=True)
|
||||
@mock.patch.object(n_flat.FlatNetwork, 'validate', autospec=True)
|
||||
def test_update_port_address_maintenance(self, mock_val, mock_pc):
|
||||
node = obj_utils.create_test_node(self.context, driver='fake',
|
||||
instance_uuid='uuid',
|
||||
provision_state='active',
|
||||
maintenance=True)
|
||||
node = obj_utils.create_test_node(
|
||||
self.context, driver='fake', maintenance=True,
|
||||
instance_uuid=uuidutils.generate_uuid(), provision_state='active')
|
||||
port = obj_utils.create_test_port(self.context,
|
||||
node_id=node.id,
|
||||
extra={'vif_port_id': 'fake-id'})
|
||||
|
Loading…
x
Reference in New Issue
Block a user