
This patch improves the numa objects, mem_available and mem_total are added. This patch adds a parameter which named "cpu_policy" for Zun API to tag the mode of container. This patch adds methods of node resource management for numa. This patch also introduces a filter for cpuset. Co-Authored-By: Hongbin Lu <hongbin034@gmail.com> Change-Id: Ic65b86ceb6f7d37c2b4ef545425e4edd20328282 Implements: blueprint cpuset-container
76 lines
2.3 KiB
Python
76 lines
2.3 KiB
Python
# Copyright 2016 IBM Corp.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from oslo_config import cfg
|
|
|
|
|
|
compute_opts = [
|
|
cfg.BoolOpt(
|
|
'resume_container_state',
|
|
default=True,
|
|
help='restart the containers which are running '
|
|
'before the host reboots.'),
|
|
cfg.FloatOpt(
|
|
'reserve_disk_for_image',
|
|
default=0.2,
|
|
help='reserve disk for docker images'),
|
|
cfg.BoolOpt(
|
|
'enable_cpu_pinning',
|
|
default=False,
|
|
help='allow the container with cpu_policy is dedicated'),
|
|
]
|
|
|
|
service_opts = [
|
|
cfg.StrOpt(
|
|
'topic',
|
|
default='zun-compute',
|
|
help='The queue to add compute tasks to.'),
|
|
]
|
|
|
|
db_opts = [
|
|
cfg.StrOpt(
|
|
'unique_container_name_scope',
|
|
default='',
|
|
choices=['', 'project', 'global'],
|
|
help="""
|
|
Sets the scope of the check for unique container names.
|
|
The default doesn't check for unique names. If a scope for the name check is
|
|
set, a launch of a new container with a duplicate name will result in an
|
|
''ContainerAlreadyExists'' error. The uniqueness is case-insensitive.
|
|
Setting this option can increase the usability for end users as they don't
|
|
have to distinguish among containers with the same name by their IDs.
|
|
Possible values:
|
|
* '': An empty value means that no uniqueness check is done and duplicate
|
|
names are possible.
|
|
* "project": The container name check is done only for containers within the
|
|
same project.
|
|
* "global": The container name check is done for all containers regardless of
|
|
the project.
|
|
"""),
|
|
]
|
|
|
|
opt_group = cfg.OptGroup(
|
|
name='compute', title='Options for the zun-compute service')
|
|
|
|
ALL_OPTS = (service_opts + db_opts + compute_opts)
|
|
|
|
|
|
def register_opts(conf):
|
|
conf.register_group(opt_group)
|
|
conf.register_opts(ALL_OPTS, opt_group)
|
|
|
|
|
|
def list_opts():
|
|
return {opt_group: ALL_OPTS}
|