Fixing LBaaS package issues

* Due to main .gitignore file directory lbaas.egg-info
   wasn't added. Need to add it to construct correct
   python tarball archive.
 * Fixing chown command in bash script

Change-Id: I2ca47cf24eed9717c7aa291ff81e7d36803d065e
This commit is contained in:
Nikolay Mahotkin 2016-04-18 16:16:48 +03:00
parent 4b391a7903
commit 4674eebb6e
9 changed files with 227 additions and 1 deletions

View File

@ -21,7 +21,7 @@ sudo pip install mysql-python
sudo mkdir /etc/lbaas
sudo chown -R $USER:$USER /etc/lbaas
sudo chown /var/log/lbaas.log
sudo chown -R $USER:$USER /var/log/lbaas.log
# Moving config to another place.
cp lbaas.conf.sample /etc/lbaas/lbaas.conf

View File

@ -0,0 +1,116 @@
Metadata-Version: 1.0
Name: lbaas
Version: 0.1.0
Summary: LBaaS Project
Home-page: UNKNOWN
Author: Mirantis Inc.
Author-email: nmakhotkin@mirantis.com
License: Apache License, Version 2.0
Description: LBaaS API specification
=======================
Listeners API
-------------
**/v1/listeners** - objects representing a group of machines balancing on LB on specific protocol and port. Each listener contains mapping configuration to members and their listening ports.
Example: listener A listen to HTTP port 80 and maps to 3 machines with their own IPs listening on HTTP port 8080.
---> Member, Machine1_IP (HTTP, 8080)
Listener A (HTTP, 80) ---> Member, Machine2_IP (HTTP, 8080)
---> Member, Machine3_IP (HTTP, 8080)
**POST /v1/listeners**
Creates a new listener object. Returns 201 if succeed.
Parameters:
* **name** - The name of listener. Type string. Required. Should be unique across listener objects.
* **protocol** - The protocol of listener. Type string. Should be one of {“http”, “tcp”}. It is not validated by API! Required.
* **protocol_port** - Protocol TCP port which listener will be listening to. Type integer. Required.
* **algorithm** - Load-balancing algorithm. Type string. If passed, should be compatible with one of possible haproxy algorithm. Optional, default value if not passed - “roundrobin”.
Request body example:
{
“protocol”: “http”,
“protocol_port”: 80,
“name”: “app”,
“algorithm”: “roundrobin”
}
**GET /v1/listeners**
Gets all listeners from LBaaS. Also contains all containing members information. Returns 200 if succeed.
**GET /v1/listeners/<name>**
Gets particular listener from LBaaS. name - the listeners name.
**PUT /v1/listeners/<name>**
Update listener info by its name. Returns 200 code if succeed.
Request body example:
{
“protocol_port”: 8080,
“name”: “app”
}
**DELETE /v1/listeners/<name>**
Deletes the whole listener by its name. Returns 204 if succeed.
Members API
-----------
**/v1/members** - objects representing a machine which is able to receive requests on specific port of specific protocol. Each member belongs to specific listener.
**POST /v1/members**
Creates a new member object. Returns 201 if succeed.
Parameters:
* **name** - The name of member. Type string. Required. Should be unique across member objects.
* **protocol_port** - Protocol TCP port which member is listening to. Type integer. Required.
* **address** - Hostname or IP address of member machine. Type string. Required.
* **listener_name** - The name of listener which adds the current member to. Member will belong to this listener. Each listener may have a number of members. Type string. Required.
Request body example:
{
“address”: “10.0.20.5”,
“protocol_port”: 80,
“name”: “my_server”,
“listener_name”: “app”
}
**GET /v1/members**
Gets all members from LBaaS. Returns 200 if succeed.
**GET /v1/members/<name>**
Gets particular member from LBaaS. name - the members name.
**PUT /v1/members/<name>**
Update listener info by its name. Returns 200 code if succeed.
Request body example:
{
“protocol_port”: 8080,
}
**DELETE /v1/members/<name>**
Deletes the whole member by its name. Returns 204 if succeed.
Platform: UNKNOWN

View File

@ -0,0 +1,78 @@
.testr.conf
AUTHORS
ChangeLog
README.md
requirements.txt
setup.cfg
setup.py
test-requirements.txt
tox.ini
etc/lbaas.conf.sample
etc/logging.conf.sample
lbaas/__init__.py
lbaas/config.py
lbaas/exceptions.py
lbaas/version.py
lbaas.egg-info/PKG-INFO
lbaas.egg-info/SOURCES.txt
lbaas.egg-info/dependency_links.txt
lbaas.egg-info/entry_points.txt
lbaas.egg-info/not-zip-safe
lbaas.egg-info/pbr.json
lbaas.egg-info/requires.txt
lbaas.egg-info/top_level.txt
lbaas/api/__init__.py
lbaas/api/app.py
lbaas/api/controllers/__init__.py
lbaas/api/controllers/resource.py
lbaas/api/controllers/root.py
lbaas/api/controllers/v1/__init__.py
lbaas/api/controllers/v1/listener.py
lbaas/api/controllers/v1/member.py
lbaas/api/controllers/v1/root.py
lbaas/cmd/__init__.py
lbaas/cmd/launch.py
lbaas/db/__init__.py
lbaas/db/sqlalchemy/__init__.py
lbaas/db/sqlalchemy/base.py
lbaas/db/sqlalchemy/model_base.py
lbaas/db/sqlalchemy/types.py
lbaas/db/sqlalchemy/migration/__init__.py
lbaas/db/sqlalchemy/migration/alembic.ini
lbaas/db/sqlalchemy/migration/cli.py
lbaas/db/sqlalchemy/migration/alembic_migrations/README.md
lbaas/db/sqlalchemy/migration/alembic_migrations/__init__.py
lbaas/db/sqlalchemy/migration/alembic_migrations/env.py
lbaas/db/sqlalchemy/migration/alembic_migrations/script.py.mako
lbaas/db/sqlalchemy/migration/alembic_migrations/versions/001_initial_lbaas_scheme.py
lbaas/db/sqlalchemy/migration/alembic_migrations/versions/002_add_options_to_listeners.py
lbaas/db/sqlalchemy/migration/alembic_migrations/versions/003_added_address_field_to_listener.py
lbaas/db/sqlalchemy/migration/alembic_migrations/versions/__init__.py
lbaas/db/v1/__init__.py
lbaas/db/v1/api.py
lbaas/db/v1/sqlalchemy/__init__.py
lbaas/db/v1/sqlalchemy/api.py
lbaas/db/v1/sqlalchemy/models.py
lbaas/drivers/__init__.py
lbaas/drivers/base.py
lbaas/drivers/driver.py
lbaas/drivers/haproxy.py
lbaas/tests/__init__.py
lbaas/tests/unit/__init__.py
lbaas/tests/unit/base.py
lbaas/tests/unit/api/__init__.py
lbaas/tests/unit/api/base.py
lbaas/tests/unit/api/v1/__init__.py
lbaas/tests/unit/api/v1/test_listeners.py
lbaas/tests/unit/api/v1/test_members.py
lbaas/tests/unit/api/v1/test_root.py
lbaas/tests/unit/db/__init__.py
lbaas/tests/unit/db/v1/__init__.py
lbaas/tests/unit/db/v1/test_sqlalchemy_db_api.py
lbaas/tests/unit/drivers/__init__.py
lbaas/tests/unit/drivers/test_haproxy.py
lbaas/utils/__init__.py
lbaas/utils/file_utils.py
lbaas/utils/rest_utils.py
tools/update_env_deps
tools/with_venv.sh

View File

@ -0,0 +1,10 @@
[console_scripts]
lbaas-db-manage = lbaas.db.sqlalchemy.migration.cli:main
lbaas-server = lbaas.cmd.launch:main
[lbaas.drivers]
haproxy = lbaas.drivers.haproxy:HAProxyDriver
[oslo.config.opts]
lbaas.config = lbaas.config:list_opts

View File

@ -0,0 +1 @@
{"is_release": false, "git_version": "64ca7a2"}

View File

@ -0,0 +1,18 @@
alembic>=0.8.0
argparse
eventlet>=0.17.4
jsonschema!=2.5.0,<3.0.0,>=2.0.0
mock>=1.2
oslo.concurrency>=2.3.0
oslo.config>=2.7.0
oslo.db>=3.2.0
oslo.utils>=2.8.0
oslo.log>=1.12.0
oslo.serialization>=1.10.0
pbr>=1.6
pecan>=1.0.0
requests>=2.8.1
six>=1.9.0
SQLAlchemy<1.1.0,>=0.9.9
stevedore>=1.5.0
WSME>=0.8