Add support for log snapshotting API
Change-Id: I00a5bfdd3dd5c3632150cd9d4a1dcb94b881a7ee
This commit is contained in:
6
debian/changelog
vendored
6
debian/changelog
vendored
@@ -1,3 +1,9 @@
|
|||||||
|
python-libraclient (1.2.5-1) UNRELEASED; urgency=low
|
||||||
|
|
||||||
|
* Adds support for Load Balancer log snapshotting
|
||||||
|
|
||||||
|
-- Andrew Hutchings <andrew@linuxjedi.co.uk> Wed, 27 Mar 2013 20:24:06 +0000
|
||||||
|
|
||||||
python-libraclient (1.2.4-1) UNRELEASED; urgency=low
|
python-libraclient (1.2.4-1) UNRELEASED; urgency=low
|
||||||
|
|
||||||
* Adds input filtering and error handling for --node options
|
* Adds input filtering and error handling for --node options
|
||||||
|
@@ -12,4 +12,4 @@
|
|||||||
# License for the specific language governing permissions and limitations
|
# License for the specific language governing permissions and limitations
|
||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
__version__ = "1.2.4"
|
__version__ = "1.2.5"
|
||||||
|
@@ -162,6 +162,15 @@ class ClientOptions(object):
|
|||||||
sp.add_argument('--nodeid', help='node ID to get status from',
|
sp.add_argument('--nodeid', help='node ID to get status from',
|
||||||
required=True)
|
required=True)
|
||||||
|
|
||||||
|
sp = subparsers.add_parser(
|
||||||
|
'logs', help='send a snapshot of logs to an object store'
|
||||||
|
)
|
||||||
|
sp.add_argument('--id', help='load balancer ID', required=True)
|
||||||
|
sp.add_argument('--storage', help='storage type', choices=['Swift'])
|
||||||
|
sp.add_argument('--endpoint', help='object store endpoint to use')
|
||||||
|
sp.add_argument('--basepath', help='object store based directory')
|
||||||
|
sp.add_argument('--token', help='object store authentication token')
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self._generate()
|
self._generate()
|
||||||
return self.options.parse_args()
|
return self.options.parse_args()
|
||||||
|
@@ -188,6 +188,21 @@ class LibraAPI(object):
|
|||||||
columns = ['id', 'address', 'port', 'condition', 'status']
|
columns = ['id', 'address', 'port', 'condition', 'status']
|
||||||
self._render_dict(column_names, columns, body)
|
self._render_dict(column_names, columns, body)
|
||||||
|
|
||||||
|
def logs_lb(self, args):
|
||||||
|
data = {}
|
||||||
|
|
||||||
|
if args.storage:
|
||||||
|
data['ObjectStoreType'] = args.storage
|
||||||
|
if args.endpoint:
|
||||||
|
data['ObjectStoreEndpoint'] = args.endpoint
|
||||||
|
if args.basepath:
|
||||||
|
data['ObjectStoreBasePath'] = args.basepath
|
||||||
|
if args.token:
|
||||||
|
data['ObjectStoreAuthToken'] = args.token
|
||||||
|
|
||||||
|
resp, body = self._post('/loadbalancers/{0}/logs'.format(args.id),
|
||||||
|
body=data)
|
||||||
|
|
||||||
def _render_list(self, column_names, columns, data):
|
def _render_list(self, column_names, columns, data):
|
||||||
table = prettytable.PrettyTable(column_names)
|
table = prettytable.PrettyTable(column_names)
|
||||||
for item in data:
|
for item in data:
|
||||||
|
Reference in New Issue
Block a user