Remove rally-jobs/startup scripts/config in kuryr
These code should be in kuryr-libnetwork/kuryr-k8s now. Partially Implements blueprint code-refactoring Change-Id: If9779fb3369651781e7913e7d4b8472043409bff
This commit is contained in:
parent
4287cf791b
commit
3dae373837
|
@ -1,14 +0,0 @@
|
|||
description "Kuryr libnetwork driver"
|
||||
author "Antoni Segura Puimedon <toni@kuryr.org>"
|
||||
|
||||
start on (net-device-up
|
||||
and local-filesystems
|
||||
and runlevel [2345])
|
||||
stop on runlevel [016]
|
||||
|
||||
respawn
|
||||
respawn limit 10 5
|
||||
|
||||
script
|
||||
exec start-stop-daemon --start --exec /usr/bin/kuryr-server -- --config-file /etc/kuryr/kuryr.conf
|
||||
end script
|
|
@ -1,31 +0,0 @@
|
|||
Rally job related files
|
||||
=======================
|
||||
|
||||
This directory contains rally tasks and plugins that are run by OpenStack CI.
|
||||
|
||||
Structure
|
||||
---------
|
||||
|
||||
* plugins - directory where you can add rally plugins. Almost everything in
|
||||
Rally is a plugin. Benchmark context, Benchmark scenario, SLA checks, Generic
|
||||
cleanup resources, ....
|
||||
|
||||
* extra - all files from this directory will be copy pasted to gates, so you
|
||||
are able to use absolute paths in rally tasks.
|
||||
Files will be located in ~/.rally/extra/*
|
||||
|
||||
* kuryr.yaml is a task that is run in gates against OpenStack with
|
||||
Kuryr and Neutron deployed
|
||||
|
||||
Useful links
|
||||
------------
|
||||
|
||||
* More about Rally: https://rally.readthedocs.org/en/latest/
|
||||
|
||||
* Rally release notes: https://rally.readthedocs.org/en/latest/release_notes.html
|
||||
|
||||
* How to add rally-gates: https://rally.readthedocs.org/en/latest/gates.html
|
||||
|
||||
* About plugins: https://rally.readthedocs.org/en/latest/plugins.html
|
||||
|
||||
* Plugin samples: https://github.com/openstack/rally/tree/master/samples/plugins
|
|
@ -1,6 +0,0 @@
|
|||
Extra files
|
||||
===========
|
||||
|
||||
All files from this directory will be copy pasted to gates, so you are able to
|
||||
use absolute path in rally tasks. Files will be in ~/.rally/extra/*
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
---
|
||||
Kuryr.list_networks:
|
||||
-
|
||||
runner:
|
||||
type: "constant"
|
||||
times: 40
|
||||
concurrency: 20
|
||||
context:
|
||||
users:
|
||||
tenants: 2
|
||||
users_per_tenant: 2
|
||||
quotas:
|
||||
neutron:
|
||||
network: -1
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
||||
|
||||
Kuryr.create_and_delete_networks:
|
||||
-
|
||||
runner:
|
||||
type: "constant"
|
||||
times: 10
|
||||
concurrency: 4
|
||||
context:
|
||||
users:
|
||||
tenants: 2
|
||||
users_per_tenant: 2
|
||||
quotas:
|
||||
neutron:
|
||||
network: -1
|
||||
sla:
|
||||
failure_rate:
|
||||
max: 0
|
|
@ -1,9 +0,0 @@
|
|||
Rally plugins
|
||||
=============
|
||||
|
||||
All *.py modules from this directory will be auto-loaded by Rally and all
|
||||
plugins will be discoverable. There is no need of any extra configuration
|
||||
and there is no difference between writing them here and in rally code base.
|
||||
|
||||
Note that it is better to push all interesting and useful benchmarks to Rally
|
||||
code base, this simplifies administration for Operators.
|
|
@ -1,52 +0,0 @@
|
|||
# Copyright 2016: IBM Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# 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.
|
||||
|
||||
import utils
|
||||
|
||||
from rally.plugins.openstack import scenario
|
||||
from rally.task import validation
|
||||
|
||||
|
||||
class Kuryr(utils.KuryrScenario):
|
||||
"""Benchmark scenarios for Kuryr."""
|
||||
|
||||
@validation.required_openstack(users=True)
|
||||
@scenario.configure(context={"cleanup": ["kuryr"]})
|
||||
def list_networks(self, network_list_args=None):
|
||||
"""List the networks.
|
||||
|
||||
Measure the "docker network ls" command performance under kuryr.
|
||||
|
||||
This will call the docker client API to list networks
|
||||
|
||||
TODO (baohua):
|
||||
1. may support tenant/user in future.
|
||||
2. validation.required_services add KURYR support
|
||||
|
||||
:param network_list_args: dict: names, ids
|
||||
"""
|
||||
self._list_networks(network_list_args or {})
|
||||
|
||||
@scenario.configure(context={"cleanup": ["kuryr"]})
|
||||
def create_and_delete_networks(self, network_create_args=None):
|
||||
"""Create and delete a network.
|
||||
|
||||
Measure the "docker network create" and "docker network rm" command
|
||||
performance.
|
||||
|
||||
:param network_create_args: dict as options to create the network
|
||||
"""
|
||||
network = self._create_network(network_create_args or {})
|
||||
self._delete_network(network)
|
|
@ -1,62 +0,0 @@
|
|||
# Copyright 2016: IBM Inc.
|
||||
# All Rights Reserved.
|
||||
#
|
||||
# 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.
|
||||
|
||||
import docker
|
||||
|
||||
from rally.common import logging
|
||||
from rally.plugins.openstack import scenario
|
||||
from rally.task import atomic
|
||||
|
||||
LOG = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class KuryrScenario(scenario.OpenStackScenario):
|
||||
"""Base class for Kuryr scenarios with basic atomic actions."""
|
||||
|
||||
def __init__(self, context=None, admin_clients=None, clients=None):
|
||||
super(KuryrScenario, self).__init__(context, admin_clients, clients)
|
||||
self.docker_client = docker.Client(base_url='tcp://0.0.0.0:2375')
|
||||
|
||||
@atomic.action_timer("kuryr.list_networks")
|
||||
def _list_networks(self, network_list_args):
|
||||
"""Return user networks list.
|
||||
|
||||
:param network_list_args: network list options
|
||||
"""
|
||||
LOG.debug("Running the list_networks scenario")
|
||||
names = network_list_args.get('names')
|
||||
ids = network_list_args.get('ids')
|
||||
return self.docker_client.networks(names, ids)
|
||||
|
||||
@atomic.action_timer("kuryr.create_network")
|
||||
def _create_network(self, network_create_args):
|
||||
"""Create Kuryr network.
|
||||
|
||||
:param network_create_args: dict: name, driver and others
|
||||
:returns: dict of the created network reference object
|
||||
"""
|
||||
name = self.generate_random_name()
|
||||
return self.docker_client.create_network(name=name,
|
||||
driver='kuryr',
|
||||
options=network_create_args
|
||||
)
|
||||
|
||||
@atomic.action_timer("kuryr.delete_network")
|
||||
def _delete_network(self, network):
|
||||
"""Delete Kuryr network.
|
||||
|
||||
:param network: Network object
|
||||
"""
|
||||
self.docker_client.remove_network(network['Id'])
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"Kuryr.create_and_delete_networks": [
|
||||
{
|
||||
"runner": {
|
||||
"type": "constant",
|
||||
"concurrency": 2,
|
||||
"times": 4
|
||||
},
|
||||
"args": {
|
||||
"network_create_args": {}
|
||||
},
|
||||
"context": {
|
||||
"users": {
|
||||
"project_domain": "default",
|
||||
"users_per_tenant": 3,
|
||||
"tenants": 3,
|
||||
"resource_management_workers": 10,
|
||||
"user_domain": "default"
|
||||
},
|
||||
"quotas": {
|
||||
"neutron": {
|
||||
"network": -1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,28 +0,0 @@
|
|||
{
|
||||
"Kuryr.list_networks": [
|
||||
{
|
||||
"runner": {
|
||||
"type": "constant",
|
||||
"concurrency": 10,
|
||||
"times": 100
|
||||
},
|
||||
"args": {
|
||||
"network_list_args": {}
|
||||
},
|
||||
"context": {
|
||||
"users": {
|
||||
"project_domain": "default",
|
||||
"users_per_tenant": 3,
|
||||
"tenants": 3,
|
||||
"resource_management_workers": 10,
|
||||
"user_domain": "default"
|
||||
},
|
||||
"quotas": {
|
||||
"neutron": {
|
||||
"network": -1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,61 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# 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.
|
||||
|
||||
KURYR_HOME=${KURYR_HOME:-.}
|
||||
KURYR_JSON_FILENAME=kuryr.json
|
||||
KURYR_DEFAULT_JSON=${KURYR_HOME}/etc/${KURYR_JSON_FILENAME}
|
||||
# See libnetwork's plugin discovery mechanism:
|
||||
# https://github.com/docker/docker/blob/c4d45b6a29a91f2fb5d7a51ac36572f2a9b295c6/docs/extend/plugin_api.md#plugin-discovery
|
||||
KURYR_JSON_DIR=${KURYR_JSON_DIR:-/usr/lib/docker/plugins/kuryr}
|
||||
KURYR_JSON=${KURYR_JSON_DIR}/${KURYR_JSON_FILENAME}
|
||||
|
||||
KURYR_CONFIG_FILENAME=kuryr.conf
|
||||
KURYR_DEFAULT_CONFIG=${KURYR_HOME}/etc/${KURYR_CONFIG_FILENAME}
|
||||
KURYR_CONFIG_DIR=${KURYR_CONFIG_DIR:-/etc/kuryr}
|
||||
KURYR_CONFIG=${KURYR_CONFIG_DIR}/${KURYR_CONFIG_FILENAME}
|
||||
|
||||
|
||||
if [[ ! -d "${KURYR_JSON_DIR}" ]]; then
|
||||
echo -n "${KURYR_JSON_DIR} directory is missing. Creating it... "
|
||||
sudo mkdir -p ${KURYR_JSON_DIR}
|
||||
echo "Done"
|
||||
fi
|
||||
|
||||
if [[ ! -f "${KURYR_JSON}" ]]; then
|
||||
echo -n "${KURYR_JSON} is missing. Copying the default one... "
|
||||
sudo cp ${KURYR_DEFAULT_JSON} ${KURYR_JSON}
|
||||
echo "Done"
|
||||
fi
|
||||
|
||||
if [[ ! -d "${KURYR_CONFIG_DIR}" ]]; then
|
||||
echo -n "${KURYR_CONFIG_DIR} directory is missing. Creating it... "
|
||||
sudo mkdir -p ${KURYR_CONFIG_DIR}
|
||||
echo "Done"
|
||||
fi
|
||||
|
||||
if [[ ! -f "${KURYR_CONFIG}" ]]; then
|
||||
if [[ -f "${KURYR_DEFAULT_CONFIG}" ]]; then
|
||||
echo -n "${KURYR_CONFIG} is missing. Copying the default one... "
|
||||
sudo cp ${KURYR_DEFAULT_CONFIG} ${KURYR_CONFIG}
|
||||
else
|
||||
echo -n "${KURYR_CONFIG} and the default config missing. Auto generating and copying one... "
|
||||
cd ${KURYR_HOME}
|
||||
tox -egenconfig
|
||||
sudo cp ${KURYR_DEFAULT_CONFIG}.sample ${KURYR_DEFAULT_CONFIG}
|
||||
sudo cp ${KURYR_DEFAULT_CONFIG} ${KURYR_CONFIG}
|
||||
fi
|
||||
echo "Done"
|
||||
fi
|
||||
|
||||
PYTHONPATH=${KURYR_HOME} python ${KURYR_HOME}/scripts/run_server.py --config-file /etc/kuryr/kuryr.conf $@
|
|
@ -1,17 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
#
|
||||
# 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 kuryr import server
|
||||
|
||||
server.start()
|
Loading…
Reference in New Issue