summaryrefslogtreecommitdiff
path: root/tools/mock-meta.py
diff options
context:
space:
mode:
authorRyan Harper <ryan.harper@canonical.com>2017-12-06 16:30:22 -0600
committerScott Moser <smoser@brickies.net>2017-12-07 22:40:07 -0500
commita110e483e8644ab73e69853ea11b6c4c6cfa04b6 (patch)
tree455267ae3a8b69d0d6d93c142160422925ba04ec /tools/mock-meta.py
parent0cf6db3617e0cebeb89c4809396f84360827e96c (diff)
downloadvyos-cloud-init-a110e483e8644ab73e69853ea11b6c4c6cfa04b6.tar.gz
vyos-cloud-init-a110e483e8644ab73e69853ea11b6c4c6cfa04b6.zip
pylint: Update pylint to 1.7.1, run on tests/ and tools and fix complaints.
The motivation for this is that a.) 1.7.1 runs with python 3.6 (bionic) b.) we want to run pylint on tests/ and tools for the same reasons that we want to run it on cloudinit/ The changes are described below. - Update tox.ini to invoke pylint v1.7.1. - Modify .pylintrc generated-members ignore mocked object members (m_.*) - Replace "dangerous" params defaulting to {} - Fix up cloud_tests use of platforms - Cast some instance objects to with dict() - Handle python2.7 vs 3+ ConfigParser use of readfp (deprecated) - Update use of assertEqual(<boolean>, value) to assert<Boolean>(value) - replace depricated assertRegexp -> assertRegex - Remove useless test-class calls to super class - Assign class property accessors a result and use it - Fix missing class member in CepkoResultTests - Fix Cheetah test import
Diffstat (limited to 'tools/mock-meta.py')
-rwxr-xr-xtools/mock-meta.py45
1 files changed, 21 insertions, 24 deletions
diff --git a/tools/mock-meta.py b/tools/mock-meta.py
index a5d14ab7..724f7fc4 100755
--- a/tools/mock-meta.py
+++ b/tools/mock-meta.py
@@ -17,6 +17,7 @@ Then:
ec2metadata --instance-id
"""
+import argparse
import functools
import json
import logging
@@ -27,8 +28,6 @@ import string
import sys
import yaml
-from optparse import OptionParser
-
try:
from BaseHTTPServer import HTTPServer, BaseHTTPRequestHandler
import httplib as hclient
@@ -415,29 +414,27 @@ def setup_logging(log_level, fmt='%(levelname)s: @%(name)s : %(message)s'):
def extract_opts():
- parser = OptionParser()
- parser.add_option("-p", "--port", dest="port", action="store", type=int,
- default=80, metavar="PORT",
- help=("port from which to serve traffic"
- " (default: %default)"))
- parser.add_option("-a", "--addr", dest="address", action="store", type=str,
- default='::', metavar="ADDRESS",
- help=("address from which to serve traffic"
- " (default: %default)"))
- parser.add_option("-f", '--user-data-file', dest='user_data_file',
- action='store', metavar='FILE',
- help=("user data filename to serve back to"
- "incoming requests"))
- (options, args) = parser.parse_args()
- out = dict()
- out['extra'] = args
- out['port'] = options.port
- out['user_data_file'] = None
- out['address'] = options.address
- if options.user_data_file:
- if not os.path.isfile(options.user_data_file):
+ parser = argparse.ArgumentParser()
+ parser.add_argument("-p", "--port", dest="port", action="store", type=int,
+ default=80, metavar="PORT",
+ help=("port from which to serve traffic"
+ " (default: %default)"))
+ parser.add_argument("-a", "--addr", dest="address", action="store",
+ type=str, default='::', metavar="ADDRESS",
+ help=("address from which to serve traffic"
+ " (default: %default)"))
+ parser.add_argument("-f", '--user-data-file', dest='user_data_file',
+ action='store', metavar='FILE',
+ help=("user data filename to serve back to"
+ "incoming requests"))
+ parser.add_argument('extra', nargs='*')
+ args = parser.parse_args()
+ out = {'port': args.port, 'address': args.address, 'extra': args.extra,
+ 'user_data_file': None}
+ if args.user_data_file:
+ if not os.path.isfile(args.user_data_file):
parser.error("Option -f specified a non-existent file")
- with open(options.user_data_file, 'rb') as fh:
+ with open(args.user_data_file, 'rb') as fh:
out['user_data_file'] = fh.read()
return out