Merge "Fix neutron qos/policies.rules definition"
This commit is contained in:
@@ -12,27 +12,26 @@
|
|||||||
#
|
#
|
||||||
import copy
|
import copy
|
||||||
import logging
|
import logging
|
||||||
from multiprocessing import Process, Manager
|
|
||||||
from pathlib import Path
|
|
||||||
import re
|
import re
|
||||||
import tempfile
|
import tempfile
|
||||||
|
from multiprocessing import Manager, Process
|
||||||
|
from pathlib import Path
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
|
import sqlalchemy
|
||||||
from routes.base import Route
|
from routes.base import Route
|
||||||
from ruamel.yaml.scalarstring import LiteralScalarString
|
from ruamel.yaml.scalarstring import LiteralScalarString
|
||||||
|
|
||||||
import sqlalchemy
|
from codegenerator.common.schema import (
|
||||||
|
ParameterSchema,
|
||||||
from codegenerator.common.schema import ParameterSchema
|
PathSchema,
|
||||||
from codegenerator.common.schema import PathSchema
|
SpecSchema,
|
||||||
from codegenerator.common.schema import SpecSchema
|
TypeSchema,
|
||||||
from codegenerator.common.schema import TypeSchema
|
)
|
||||||
from codegenerator.openapi.base import OpenStackServerSourceBase
|
|
||||||
from codegenerator.openapi.base import VERSION_RE
|
|
||||||
from codegenerator.openapi import neutron_schemas
|
from codegenerator.openapi import neutron_schemas
|
||||||
|
from codegenerator.openapi.base import VERSION_RE, OpenStackServerSourceBase
|
||||||
from codegenerator.openapi.utils import merge_api_ref_doc
|
from codegenerator.openapi.utils import merge_api_ref_doc
|
||||||
|
|
||||||
|
|
||||||
PASTE_CONFIG = """
|
PASTE_CONFIG = """
|
||||||
[composite:neutron]
|
[composite:neutron]
|
||||||
use = egg:Paste#urlmap
|
use = egg:Paste#urlmap
|
||||||
@@ -89,7 +88,6 @@ class NeutronGenerator(OpenStackServerSourceBase):
|
|||||||
# Create the default configurations
|
# Create the default configurations
|
||||||
from neutron.common import config as neutron_config
|
from neutron.common import config as neutron_config
|
||||||
from neutron.conf.plugins.ml2 import config as ml2_config
|
from neutron.conf.plugins.ml2 import config as ml2_config
|
||||||
|
|
||||||
from neutron.db import models # noqa
|
from neutron.db import models # noqa
|
||||||
from neutron_lib import fixture
|
from neutron_lib import fixture
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
@@ -191,12 +189,11 @@ class NeutronGenerator(OpenStackServerSourceBase):
|
|||||||
def process_neutron_with_vpnaas(self, work_dir, processed_routes, args):
|
def process_neutron_with_vpnaas(self, work_dir, processed_routes, args):
|
||||||
"""Setup base Neutron with enabled vpnaas"""
|
"""Setup base Neutron with enabled vpnaas"""
|
||||||
logging.info("Processing Neutron with VPNaaS")
|
logging.info("Processing Neutron with VPNaaS")
|
||||||
|
from neutron import manager # noqa
|
||||||
from neutron.common import config as neutron_config
|
from neutron.common import config as neutron_config
|
||||||
from neutron.conf.plugins.ml2 import config as ml2_config
|
from neutron.conf.plugins.ml2 import config as ml2_config
|
||||||
|
|
||||||
from neutron.db import models # noqa
|
from neutron.db import models # noqa
|
||||||
from neutron_lib import fixture
|
from neutron_lib import fixture
|
||||||
from neutron import manager # noqa
|
|
||||||
from oslo_config import cfg
|
from oslo_config import cfg
|
||||||
from oslo_db import options as db_options
|
from oslo_db import options as db_options
|
||||||
|
|
||||||
@@ -1155,11 +1152,11 @@ class NeutronGenerator(OpenStackServerSourceBase):
|
|||||||
},
|
},
|
||||||
"remote_address_group_id": {
|
"remote_address_group_id": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The remote address group UUID that is associated with this\nsecurity group rule.",
|
"description": "The remote address group UUID that is associated with this security group rule.",
|
||||||
},
|
},
|
||||||
"belongs_to_default_sg": {
|
"belongs_to_default_sg": {
|
||||||
"type": ["string", "boolean", "null"],
|
"type": ["string", "boolean", "null"],
|
||||||
"description": "Indicates if the security group rule belongs to the default security\ngroup of the project or not.",
|
"description": "Indicates if the security group rule belongs to the default security group of the project or not.",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
@@ -1167,6 +1164,60 @@ class NeutronGenerator(OpenStackServerSourceBase):
|
|||||||
)
|
)
|
||||||
elif resource_key == "subnetpool" and field == "ip_version":
|
elif resource_key == "subnetpool" and field == "ip_version":
|
||||||
js_schema.update({"type": "integer"})
|
js_schema.update({"type": "integer"})
|
||||||
|
elif resource_key == "policy" and field == "rules":
|
||||||
|
# QOS Policy rules
|
||||||
|
js_schema.update(
|
||||||
|
{
|
||||||
|
"description": "A set of zero or more policy rules.",
|
||||||
|
"type": "array",
|
||||||
|
"items": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"direction": {
|
||||||
|
"description": "The direction of the traffic to which the QoS rule is applied, as seen from the point of view of the port. Valid values are `egress` and `ingress`. Default value is `egress`.",
|
||||||
|
"type": "string",
|
||||||
|
},
|
||||||
|
"dscp_mark": {"type": "string"},
|
||||||
|
"id": {
|
||||||
|
"description": "The rule ID",
|
||||||
|
"type": "string",
|
||||||
|
},
|
||||||
|
"max_burst_kbps": {
|
||||||
|
"description": "The maximum burst size (in kilobits).",
|
||||||
|
"minimum": 0,
|
||||||
|
"type": "integer",
|
||||||
|
},
|
||||||
|
"max_burst_kpps": {
|
||||||
|
"description": "The max burst kpps (kilo packets per second) value.",
|
||||||
|
"minimum": 0,
|
||||||
|
"type": "integer",
|
||||||
|
},
|
||||||
|
"max_kbps": {
|
||||||
|
"description": "The maximum KBPS (kilobits per second) value. If you specify this value, must be greater than 0 otherwise max_kbps will have no value",
|
||||||
|
"minimum": 0,
|
||||||
|
"type": "integer",
|
||||||
|
},
|
||||||
|
"max_kpps": {
|
||||||
|
"description": "The max kpps (kilo packets per second) value.",
|
||||||
|
"minimum": 0,
|
||||||
|
"type": "integer",
|
||||||
|
},
|
||||||
|
"min_kbps": {
|
||||||
|
"description": "The minimum KBPS (kilobits per second) value which should be available for port.",
|
||||||
|
"minimum": 0,
|
||||||
|
"type": "integer",
|
||||||
|
},
|
||||||
|
"min_kpps": {
|
||||||
|
"description": "The minimum kilo (1000) packets per second (kpps) value.",
|
||||||
|
"minimum": 0,
|
||||||
|
"type": "integer",
|
||||||
|
},
|
||||||
|
"type": {"type": "string"},
|
||||||
|
"qos_policy_id": {"type": "string"},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
)
|
||||||
elif resource_key == "agent" and field == "configurations":
|
elif resource_key == "agent" and field == "configurations":
|
||||||
js_schema.update({"type": "object"})
|
js_schema.update({"type": "object"})
|
||||||
elif field == "l2_adjacency":
|
elif field == "l2_adjacency":
|
||||||
|
|||||||
Reference in New Issue
Block a user