Moon_utilities cleanup 87/49187/1
authorThomas Duval <thomas.duval@orange.com>
Mon, 18 Dec 2017 09:14:37 +0000 (10:14 +0100)
committerThomas Duval <thomas.duval@orange.com>
Mon, 18 Dec 2017 09:29:09 +0000 (10:29 +0100)
Change-Id: Ia1817db7b1eb12f4a43f3babebda963b8830c4c0

moonv4/moon_interface/tools/get_keystone_token.py
moonv4/moon_utilities/Changelog
moonv4/moon_utilities/moon_utilities/__init__.py
moonv4/moon_utilities/moon_utilities/configuration.py
moonv4/moon_utilities/moon_utilities/exceptions.py
moonv4/moon_utilities/moon_utilities/get_os_apis.py [deleted file]
moonv4/moon_utilities/moon_utilities/misc.py
moonv4/moon_utilities/moon_utilities/options.py [deleted file]
moonv4/moon_utilities/moon_utilities/security_functions.py

index 63b0d0b..a153f4d 100644 (file)
@@ -1,7 +1,6 @@
 import requests
 from oslo_config import cfg
 from oslo_log import log as logging
-from moon_utilities import options  # noqa
 from moon_utilities import exceptions
 
 CONF = cfg.CONF
index 81b7c46..952c2aa 100644 (file)
@@ -59,3 +59,7 @@ CHANGES
 -----
 - Add a waiting loop when the Keystone server is not currently available
 
+1.4.1
+-----
+- Cleanup moon_utilities code
+
index 8b353f9..e3ad930 100644 (file)
@@ -3,4 +3,4 @@
 # license which can be found in the file 'LICENSE' in this package distribution
 # or at 'http://www.apache.org/licenses/LICENSE-2.0'.
 
-__version__ = "1.4.0"
+__version__ = "1.4.1"
index 97727c3..cda75de 100644 (file)
@@ -17,8 +17,6 @@ CONSUL_HOST = "consul"
 CONSUL_PORT = "8500"
 
 DATABASE = "database"
-SLAVE = "slave"
-MESSENGER = "messenger"
 KEYSTONE = "keystone"
 DOCKER = "docker"
 COMPONENTS = "components"
index ba5ecf4..eb60643 100644 (file)
@@ -138,26 +138,6 @@ class ModelExisting(MoonError):
     logger = "Error"
 
 
-class RootExtensionUnknown(IntraExtensionUnknown):
-    description = _("The root_extension is unknown.")
-    code = 400
-    title = 'Root Extension Unknown'
-    logger = "Error"
-
-
-class RootPDPNotInitialized(IntraExtensionException):
-    description = _("The root_extension is not initialized.")
-    code = 400
-    title = 'Root Extension Not Initialized'
-    logger = "Error"
-
-
-class IntraExtensionCreationError(IntraExtensionException):
-    description = _("The arguments for the creation of this Extension were malformed.")
-    code = 400
-    title = 'Intra Extension Creation Error'
-
-
 # Authz exceptions
 
 class AuthzException(MoonError):
diff --git a/moonv4/moon_utilities/moon_utilities/get_os_apis.py b/moonv4/moon_utilities/moon_utilities/get_os_apis.py
deleted file mode 100644 (file)
index 0008b28..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-import json
-import yaml
-import logging
-import requests
-import argparse
-
-URLS = {
-    "keystone": "https://api.github.com/repos/openstack/keystone/contents/api-ref/source/v3",
-    "nova": "https://api.github.com/repos/openstack/nova/contents/api-ref/source",
-    "neutron": "https://api.github.com/repos/openstack/neutron-lib/contents/api-ref/source/v2",
-    "glance": "https://api.github.com/repos/openstack/glance/contents/api-ref/source/v2",
-    "swift": "https://api.github.com/repos/openstack/swift/contents/api-ref/source",
-    "cinder": "https://api.github.com/repos/openstack/cinder/contents/api-ref/source/v3",
-
-}
-
-logger = None
-
-USER = ""
-PASS = ""
-
-
-def init():
-    global logger, USER, PASS
-    parser = argparse.ArgumentParser()
-    parser.add_argument("--verbose", "-v", action='store_true', help="verbose mode")
-    parser.add_argument("--debug", "-d", action='store_true', help="debug mode")
-    parser.add_argument("--format", "-f", help="Output format (txt, json)", default="json")
-    parser.add_argument("--output", "-o", help="Output filename")
-    parser.add_argument("--from-policies", "-p", help="Get API from policy.{json,yaml}", target="policies")
-    parser.add_argument("--credentials", "-c", help="Github credential filename (inside format user:pass)")
-    args = parser.parse_args()
-
-    FORMAT = '%(levelname)s %(message)s'
-
-    if args.verbose:
-        logging.basicConfig(
-            format=FORMAT,
-            level=logging.INFO)
-    elif args.debug:
-        logging.basicConfig(
-            format=FORMAT,
-            level=logging.DEBUG)
-    else:
-        logging.basicConfig(
-            format=FORMAT,
-            level=logging.WARNING)
-
-    if args.credentials:
-        cred = open(args.credentials).read()
-        USER = cred.split(":")[0]
-        PASS = cred.split(":")[1]
-
-    logger = logging.getLogger(__name__)
-
-    return args
-
-
-def get_api_item(url):
-    if USER:
-        r = requests.get(url, auth=(USER, PASS))
-    else:
-        r = requests.get(url)
-    items = []
-    for line in r.text.splitlines():
-        if ".. rest_method::" in line:
-            items.append(line.replace(".. rest_method::", "").strip())
-    logger.debug("\n\t".join(items))
-    return items
-
-
-def get_content(key, args):
-    logger.info("Analysing {}".format(key))
-    if USER:
-        r = requests.get(URLS[key], auth=(USER, PASS))
-    else:
-        r = requests.get(URLS[key])
-    data = r.json()
-    results = {}
-    for item in data:
-        try:
-            logger.debug("{} {}".format(item['name'], item['download_url']))
-            if item['type'] == "file" and ".inc" in item['name']:
-                results[item['name'].replace(".inc", "")] = get_api_item(item['download_url'])
-        except TypeError:
-            logger.error("Error with {}".format(item))
-        except requests.exceptions.MissingSchema:
-            logger.error("MissingSchema error {}".format(item))
-    return results
-
-
-def to_str(results):
-    output = ""
-    for key in results:
-        output += "{}\n".format(key)
-        for item in results[key]:
-            output += "\t{}\n".format(item)
-            for value in results[key][item]:
-                output += "\t\t{}\n".format(value)
-    return output
-
-
-def get_data_from_policies(policies):
-    return
-    # for filename in policies.split(","):
-    #     try:
-    #         obj = json.loads(open(filename.strip()).read())
-
-
-def save(results, args):
-    if args.output:
-        if args.format == 'json':
-            json.dump(results, open(args.output, "w"), indent=4)
-        elif args.format == 'txt':
-            open(args.output, "w").write(to_str(results))
-    else:
-        if args.format == 'json':
-            print(json.dumps(results, indent=4))
-        elif args.format in ('txt', 'text'):
-            print(to_str(results))
-
-
-def main():
-    args = init()
-    results = {}
-    if not args.policies:
-        for key in URLS:
-            results[key] = get_content(key, args)
-    else:
-        get_data_from_policies(args.policies)
-    save(results, args)
-
-if __name__ == "__main__":
-    main()
index 4eadd47..b83523c 100644 (file)
@@ -11,13 +11,11 @@ LOG = logging.getLogger(__name__)
 
 
 def get_uuid_from_name(name, elements, **kwargs):
-    LOG.error("get_uuid_from_name {} {} {}".format(name, elements, kwargs))
     for element in elements:
         if type(elements[element]) is dict and elements[element].get('name') == name:
             if kwargs:
                 for args in kwargs:
                     if elements[element].get(args) != kwargs[args]:
-                        LOG.error("get_uuid_from_name2 {} {} {}".format(args, elements[element].get(args), kwargs[args]))
                         return
                 else:
                     return element
diff --git a/moonv4/moon_utilities/moon_utilities/options.py b/moonv4/moon_utilities/moon_utilities/options.py
deleted file mode 100644 (file)
index 8b8ccca..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
-# Copyright 2015 Open Platform for NFV Project, Inc. and its contributors
-# This software is distributed under the terms and conditions of the 'Apache-2.0'
-# license which can be found in the file 'LICENSE' in this package distribution
-# or at 'http://www.apache.org/licenses/LICENSE-2.0'.
-
-import os
-import sys
-from oslo_config import cfg
-from oslo_log import log as logging
-from moon_utilities import __version__
-
-LOG = logging.getLogger(__name__)
-CONF = cfg.CONF
-
-__CWD__ = os.path.dirname(os.path.abspath(__file__))
-
-
-def configure(domain="moon", version=__version__, usage=""):
-    # FIXME (dthom): put DEBUG as default log level doesn't work
-    extra_log_level_defaults = [
-        '{}=DEBUG'.format(__name__),
-    ]
-    # LOG.setLevel(logging.DEBUG)
-    logging.set_defaults(
-        default_log_levels=logging.get_default_log_levels() + extra_log_level_defaults)
-
-    logging.register_options(CONF)
-    logging.setup(CONF, domain)
-
-    CONF.register_opts(get_opts())
-
-    # rabbit_group = cfg.OptGroup(name='messenger',
-    #                             title='Messenger options')
-    # CONF.register_group(rabbit_group)
-    # CONF.register_opts(get_messenger_opts(), group="messenger")
-
-    slave_group = cfg.OptGroup(name='slave',
-                               title='Messenger options')
-    CONF.register_group(slave_group)
-    CONF.register_opts(get_slave_opts(), group="slave")
-
-    database_group = cfg.OptGroup(name='database',
-                                  title='Database options')
-    CONF.register_group(database_group)
-    CONF.register_opts(get_database_opts(), group="database")
-
-    database_configuration_group = cfg.OptGroup(name='database_configuration',
-                                                title='Database configuration options')
-    CONF.register_group(database_configuration_group)
-    CONF.register_opts(get_database_configuration_opts(), group="database_configuration")
-
-    orchestrator_group = cfg.OptGroup(name='orchestrator',
-                                      title='Orchestrator options')
-    CONF.register_group(orchestrator_group)
-    CONF.register_opts(get_orchestrator_opts(), group="orchestrator")
-
-    secrouter_group = cfg.OptGroup(name='security_router',
-                                   title='Security Router options')
-    CONF.register_group(secrouter_group)
-    CONF.register_opts(get_security_router_opts(), group="security_router")
-
-    manager_group = cfg.OptGroup(name='security_manager',
-                                 title='Manager options')
-    CONF.register_group(manager_group)
-    CONF.register_opts(get_manager_opts(), group="security_manager")
-
-    secpolicy_group = cfg.OptGroup(name='security_policy',
-                                   title='Security policy options')
-    CONF.register_group(secpolicy_group)
-    CONF.register_opts(get_security_policy_opts(), group="security_policy")
-
-    secfunction_group = cfg.OptGroup(name='security_function',
-                                     title='Security function options')
-    CONF.register_group(secfunction_group)
-    CONF.register_opts(get_security_function_opts(), group="security_function")
-
-    interface_group = cfg.OptGroup(name='interface',
-                                   title='Interface options')
-    CONF.register_group(interface_group)
-    CONF.register_opts(get_interface_opts(), group="interface")
-
-    keystone_group = cfg.OptGroup(name='keystone',
-                                  title='Keystone options')
-    CONF.register_group(keystone_group)
-    CONF.register_opts(get_keystone_opts(), group="keystone")
-
-    filename = "moon.conf"
-    for _filename in (
-        "/etc/moon/{}",
-        "conf/{}",
-        "../conf/{}",
-    ):
-        try:
-            default_config_files = (_filename.format(filename), )
-            CONF(args=sys.argv[1:],
-                 project=domain,
-                 # version=pbr.version.VersionInfo('keystone').version_string(),
-                 version=version,
-                 usage=usage,
-                 default_config_files=default_config_files)
-        except cfg.ConfigFilesNotFoundError:
-            continue
-        else:
-            LOG.info("Using {} configuration file".format(_filename.format(filename)))
-            return _filename.format(filename)
-
-
-def get_opts():
-    return [
-        cfg.StrOpt('proxy',
-                   default="",
-                   help='Proxy server to use'),
-        cfg.StrOpt('dist_dir',
-                   default="",
-                   help='Directory where the python packages can be found'),
-        cfg.StrOpt('plugin_dir',
-                   default="",
-                   help='Directory where the python plugins can be found'),
-        cfg.StrOpt('docker_url',
-                   default="unix://var/run/docker.sock",
-                   help='Docker URL to connect to.'),
-        cfg.StrOpt('policy_directory',
-                   default="/etc/moon/policies",
-                   help='Directory containing all the intra-extension templates'),
-        cfg.StrOpt('root_policy_directory',
-                   default="/etc/moon/policies/policy_root",
-                   help='Directory containing the Root intra-extension template'),
-        cfg.StrOpt('master',
-                   default="",
-                   help='URL of the Moon Master'),
-        cfg.StrOpt('master_login',
-                   default="",
-                   help='Login to log into the Moon Master'),
-        cfg.StrOpt('master_password',
-                   default="",
-                   help='Password for the Moon Master'),
-    ]
-
-
-# def get_messenger_opts():
-#     return [
-#         cfg.StrOpt('host',
-#                    default="0.0.0.0",
-#                    help='RabbitMQ server name or IP.'),
-#         cfg.IntOpt('port',
-#                    default=8800,
-#                    help='RabbitMQ server port.'),
-#     ]
-
-
-def get_orchestrator_opts():
-    return [
-        cfg.StrOpt('host',
-                   default="127.0.0.1",
-                   help='Host binding'),
-        cfg.IntOpt('port',
-                   default=38000,
-                   help='Port number of the server'),
-    ]
-
-
-def get_slave_opts():
-    return [
-        cfg.StrOpt('slave_name',
-                   default="",
-                   help='name of the slave'),
-        cfg.StrOpt('master_url',
-                   default="",
-                   help='URL of the RabbitMQ bus of the Master, '
-                        'example: master_url=rabbit://moon:p4sswOrd1@messenger:5672/moon'),
-        cfg.StrOpt('master_login',
-                   default="",
-                   help='login name of the master administrator, example: master_login=admin'),
-        cfg.StrOpt('master_password',
-                   default="",
-                   help='password of the master administrator, example: master_password=XXXXXXX'),
-    ]
-
-
-def get_security_router_opts():
-    return [
-        cfg.StrOpt('container',
-                   default="",
-                   help='Name of the container to download (if empty build from scratch)'),
-        cfg.StrOpt('host',
-                   default="127.0.0.1",
-                   help='Host binding'),
-        cfg.IntOpt('port',
-                   default=38001,
-                   help='Port number of the server'),
-    ]
-
-
-def get_manager_opts():
-    return [
-        cfg.StrOpt('container',
-                   default="",
-                   help='Name of the container to download (if empty build from scratch)'),
-        cfg.StrOpt('host',
-                   default="127.0.0.1",
-                   help='Host binding'),
-        cfg.IntOpt('port',
-                   default=38001,
-                   help='Port number of the server'),
-    ]
-
-
-def get_security_policy_opts():
-    return [
-        cfg.StrOpt('container',
-                   default="",
-                   help='Name of the container to download (if empty build from scratch)'),
-    ]
-
-
-def get_security_function_opts():
-    return [
-        cfg.StrOpt('container',
-                   default="",
-                   help='Name of the container to download (if empty build from scratch)'),
-    ]
-
-
-def get_interface_opts():
-    return [
-        cfg.StrOpt('container',
-                   default="",
-                   help='Name of the container to download (if empty build from scratch)'),
-        cfg.StrOpt('host',
-                   default="127.0.0.1",
-                   help='Host binding'),
-        cfg.IntOpt('port',
-                   default=38002,
-                   help='Port number of the server'),
-    ]
-
-
-def get_database_opts():
-    return [
-        cfg.StrOpt('url',
-                   default="mysql+pymysql://moonuser:password@localhost/moon",
-                   help='URL of the database'),
-        cfg.StrOpt('driver',
-                   default="sql",
-                   help='Driver binding'),
-    ]
-
-
-def get_database_configuration_opts():
-    return [
-        cfg.StrOpt('url',
-                   default="",
-                   help='URL of the database'),
-        cfg.StrOpt('driver',
-                   default="memory",
-                   help='Driver binding'),
-    ]
-
-
-def get_keystone_opts():
-    return [
-        cfg.StrOpt('url',
-                   default="http://localhost:35357",
-                   help='URL of the Keystone manager.'),
-        cfg.StrOpt('user',
-                   default="admin",
-                   help='Username of the Keystone manager.'),
-        cfg.StrOpt('password',
-                   default="nomoresecrete",
-                   help='Password of the Keystone manager.'),
-        cfg.StrOpt('project',
-                   default="admin",
-                   help='Project used to connect to the Keystone manager.'),
-        cfg.StrOpt('domain',
-                   default="Default",
-                   help='Default domain for the Keystone manager.'),
-        cfg.StrOpt('check_token',
-                   default="true",
-                   help='If true, yes or strict, always check Keystone tokens against the server'),
-        cfg.StrOpt('server_crt',
-                   default="",
-                   help='If using Keystone in HTTPS mode, give a certificate filename here'),
-    ]
-
-filename = configure()
-
-
-def get_docker_template_dir(templatename="template.dockerfile"):
-    path = os.path.dirname(os.path.abspath(filename))
-    PATHS = (
-        path,
-        os.path.join(path, "dockers"),
-        "/etc/moon/"
-        "~/.moon/"
-    )
-    for _path in PATHS:
-        if os.path.isfile(os.path.join(_path, templatename)):
-            return _path
-    raise Exception("Configuration error, cannot find docker template in {}".format(PATHS))
-
index 849f511..50ab4da 100644 (file)
@@ -19,8 +19,7 @@ from moon_utilities import configuration
 LOG = logging.getLogger("moon.utilities." + __name__)
 
 keystone_config = configuration.get_configuration("openstack/keystone")["openstack/keystone"]
-# slave = configuration.get_configuration(configuration.SLAVE)["slave"]
-
+TOKENS = {}
 __targets = {}
 
 
@@ -294,13 +293,13 @@ class Context:
     #                     context["pdp_set"][meta_rule_id]["target"][act_cat].append(assign)
     #     # context["pdp_set"][meta_rule_id]["target"].update(result)
 
-    """build target from meta_rule
-    
-    Target is dict of categories as keys ; and the value of each category will be 
-    a list of assignments
-    
-    """
     def __add_target(self, meta_rule_id):
+        """build target from meta_rule
+
+        Target is dict of categories as keys ; and the value of each category
+        will be a list of assignments
+
+        """
         result = dict()
         _subject = self.__current_request["subject"]
         _object = self.__current_request["object"]
@@ -425,7 +424,8 @@ pdp_set: {pdp_set}
     @current_request.setter
     def current_request(self, value):
         self.__current_request = copy.deepcopy(value)
-        # Note (asteroide): if the current request is modified, we must update the PDP Set.
+        # Note (asteroide): if the current request is modified,
+        # we must update the PDP Set.
         self.__init_pdp_set()
 
     @current_request.deleter
@@ -469,8 +469,6 @@ pdp_set: {pdp_set}
     def pdp_set(self):
         self.__pdp_set = {}
 
-TOKENS = {}
-
 
 def check_token(token, url=None):
     _verify = False