X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fpython%2Fapex_python_utils.py;h=ebc49dc5656e1e0a790e024534db13d28e56d68c;hb=5ac7ef296a6967f67e5d6a4a29117092c2f5dff4;hp=829b3a0f38ddd118ef578d731f038024db54a2d5;hpb=7bc81629e67d747cc362056669070f856494fe01;p=apex.git diff --git a/lib/python/apex_python_utils.py b/lib/python/apex_python_utils.py index 829b3a0f..ebc49dc5 100755 --- a/lib/python/apex_python_utils.py +++ b/lib/python/apex_python_utils.py @@ -7,6 +7,7 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## +import apex import argparse import sys import logging @@ -21,6 +22,7 @@ from jinja2 import FileSystemLoader from apex import NetworkSettings from apex import NetworkEnvironment from apex import DeploySettings +from apex import Inventory from apex import ip_utils from apex.common.constants import ADMIN_NETWORK @@ -61,6 +63,15 @@ def parse_deploy_settings(args): settings.dump_bash() +def run_clean(args): + apex.clean_nodes(args.file) + + +def parse_inventory(args): + inventory = Inventory(args.file, ha=args.ha, virtual=args.virtual) + inventory.dump_instackenv_json() + + def find_ip(args): """ Get and print the IP from a specific interface @@ -95,19 +106,19 @@ def build_nic_template(args): """ template_dir, template = args.template.rsplit('/', 1) - network_settings = NetworkSettings(args.net_settings_file, - args.network_isolation) + netsets = NetworkSettings(args.net_settings_file, + args.network_isolation) env = Environment(loader=FileSystemLoader(template_dir)) template = env.get_template(template) # gather vlan values into a dict - net_list = copy(args.enabled_networks).split(' ') + net_list = copy(netsets.enabled_network_list) net_list.remove(ADMIN_NETWORK) - vlans_vals = map(lambda x: network_settings[x]['vlan'], net_list) + vlans_vals = map(lambda x: netsets[x]['vlan'], net_list) vlans = dict(zip(net_list, vlans_vals)) - nics = network_settings.nics + nics = netsets.nics - print(template.render(enabled_networks=args.enabled_networks, + print(template.render(enabled_networks=netsets.enabled_network_list, role=args.role, vlans=vlans, external_net_type=args.ext_net_type, @@ -123,7 +134,7 @@ def get_parser(): parser.add_argument('-l', '--log-file', default='/var/log/apex/apex.log', dest='log_file', help="Log file to log to") subparsers = parser.add_subparsers() - + # parse-net-settings net_settings = subparsers.add_parser('parse-net-settings', help='Parse network settings file') net_settings.add_argument('-s', '--net-settings-file', @@ -149,7 +160,7 @@ def get_parser(): help='Boolean to enable Controller Pre Config') net_settings.set_defaults(func=parse_net_settings) - + # find-ip get_int_ip = subparsers.add_parser('find-ip', help='Find interface ip') get_int_ip.add_argument('-i', '--interface', required=True, @@ -158,7 +169,7 @@ def get_parser(): choices=[4, 6], dest='address_family', help='IP Address family') get_int_ip.set_defaults(func=find_ip) - + # nic-template nic_template = subparsers.add_parser('nic-template', help='Build NIC templates') nic_template.add_argument('-r', '--role', required=True, @@ -174,9 +185,6 @@ def get_parser(): nic_template.add_argument('--flat', action='store_false', default=True, dest='network_isolation', help='disable network isolation') - nic_template.add_argument('-n', '--enabled-networks', required=True, - dest='enabled_networks', - help='enabled network list') nic_template.add_argument('-e', '--ext-net-type', default='interface', dest='ext_net_type', choices=['interface', 'br-ex'], @@ -187,13 +195,34 @@ def get_parser(): default=None, dest='ovs_dpdk_bridge', help='OVS DPDK Bridge Name') nic_template.set_defaults(func=build_nic_template) - + # parse-deploy-settings deploy_settings = subparsers.add_parser('parse-deploy-settings', help='Parse deploy settings file') deploy_settings.add_argument('-f', '--file', default='deploy_settings.yaml', help='path to deploy settings file') deploy_settings.set_defaults(func=parse_deploy_settings) + # parse-inventory + inventory = subparsers.add_parser('parse-inventory', + help='Parse inventory file') + inventory.add_argument('-f', '--file', + default='deploy_settings.yaml', + help='path to deploy settings file') + inventory.add_argument('--ha', + default=False, + action='store_true', + help='Indicate if deployment is HA or not') + inventory.add_argument('--virtual', + default=False, + action='store_true', + help='Indicate if deployment inventory is virtual') + inventory.set_defaults(func=parse_inventory) + + clean = subparsers.add_parser('clean', + help='Parse deploy settings file') + clean.add_argument('-f', '--file', + help='path to inventory file') + clean.set_defaults(func=run_clean) return parser