Skip to content

Commit

Permalink
Merge "Enhance provision scripts to be able to"
Browse files Browse the repository at this point in the history
  • Loading branch information
Zuul authored and opencontrail-ci-admin committed Apr 11, 2017
2 parents f723899 + da9a31e commit a6677dd
Show file tree
Hide file tree
Showing 21 changed files with 212 additions and 56 deletions.
1 change: 1 addition & 0 deletions src/config/utils/SConscript
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ utils_scripts = [
'issu_process.sh',
'qosmap.py',
'update_default_global_qos_config.py',
'vnc_admin_api.py',
]

for utils in utils_scripts:
Expand Down
13 changes: 10 additions & 3 deletions src/config/utils/provision.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from netaddr import IPNetwork

from vnc_api.vnc_api import *
from vnc_admin_api import VncApiAdmin


def get_ip(ip_w_pfx):
Expand All @@ -36,7 +37,8 @@ def __init__(self, args_str=None):
self._bgp_peering_attrs = BgpPeeringAttributes(
session=self._bgp_sessions)

self._vnc_lib = VncApi(self._args.admin_user,
self._vnc_lib = VncApiAdmin(self._args.use_admin_api,
self._args.admin_user,
self._args.admin_password,
self._args.admin_tenant_name,
self._args.api_server_ip,
Expand Down Expand Up @@ -163,8 +165,6 @@ def _parse_args(self, args_str):

parser.add_argument(
"--prov_data_file", help="File name of provision data in json")
parser.add_argument(
"--api_server_ip", help="IP address of api server")
parser.add_argument("--api_server_port", help="Port of api server")
parser.add_argument("--api_server_use_ssl",
help="Use SSL to connect with API server")
Expand All @@ -174,6 +174,13 @@ def _parse_args(self, args_str):
"--admin_password", help="Password of keystone admin user")
parser.add_argument(
"--admin_tenant_name", help="Tenamt name for keystone admin user")
group = parser.add_mutually_exclusive_group()
group.add_argument(
"--api_server_ip", help="IP address of api server")
group.add_argument("--use_admin_api",
default=False,
help = "Connect to local api-server on admin port",
action="store_true")

self._args = parser.parse_args(remaining_argv)

Expand Down
16 changes: 11 additions & 5 deletions src/config/utils/provision_alarm.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@
import ConfigParser

from vnc_api.vnc_api import *
from vnc_admin_api import VncApiAdmin
from cfgm_common.exceptions import *
from contrail_alarm import alarm_list


class AlarmProvisioner(object):

def __init__(self, args_str=None):
Expand All @@ -22,7 +24,8 @@ def __init__(self, args_str=None):
self._parse_args(args_str)

try:
self._vnc_lib = VncApi(
self._vnc_lib = VncApiAdmin(
self._args.use_admin_api,
self._args.admin_user,
self._args.admin_password,
self._args.admin_tenant_name,
Expand Down Expand Up @@ -65,10 +68,6 @@ def _parse_args(self, args_str):

args, remaining_argv = parser.parse_known_args(args_str.split())

parser.add_argument(
"--api_server_ip",
default='127.0.0.1',
help="IP address of api server")
parser.add_argument(
"--api_server_port",
default='8082',
Expand All @@ -86,6 +85,13 @@ def _parse_args(self, args_str):
"--api_server_use_ssl",
default=False,
help="Use SSL to connect with API server"),
group = parser.add_mutually_exclusive_group()
group.add_argument(
"--api_server_ip", help="IP address of api server")
group.add_argument("--use_admin_api",
default=False,
help = "Connect to local api-server on admin port",
action="store_true")
self._args = parser.parse_args(remaining_argv)
# end _parse_args

Expand Down
13 changes: 10 additions & 3 deletions src/config/utils/provision_analytics_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import ConfigParser

from vnc_api.vnc_api import *
from vnc_admin_api import VncApiAdmin
from cfgm_common.exceptions import *


Expand All @@ -24,7 +25,8 @@ def __init__(self, args_str=None):
tries = 0
while not connected:
try:
self._vnc_lib = VncApi(
self._vnc_lib = VncApiAdmin(
self._args.use_admin_api,
self._args.admin_user, self._args.admin_password,
self._args.admin_tenant_name,
self._args.api_server_ip,
Expand Down Expand Up @@ -106,8 +108,6 @@ def _parse_args(self, args_str):
parser.add_argument(
"--host_name", help="hostname name of analytics node", required=True)
parser.add_argument("--host_ip", help="IP address of analytics node", required=True)
parser.add_argument(
"--api_server_ip", help="IP address of api server", required=True)
parser.add_argument("--api_server_port", help="Port of api server")
parser.add_argument("--api_server_use_ssl",
help="Use SSL to connect with API server")
Expand All @@ -122,6 +122,13 @@ def _parse_args(self, args_str):
"--admin_tenant_name", help="Tenamt name for keystone admin user")
parser.add_argument(
"--openstack_ip", help="IP address of openstack node")
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument(
"--api_server_ip", help="IP address of api server")
group.add_argument("--use_admin_api",
default=False,
help = "Connect to local api-server on admin port",
action="store_true")

self._args = parser.parse_args(remaining_argv)

Expand Down
8 changes: 5 additions & 3 deletions src/config/utils/provision_bgp.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
from pprint import pformat

from vnc_api.vnc_api import *
from vnc_admin_api import VncApiAdmin


def get_ip(ip_w_pfx):
Expand All @@ -19,15 +20,16 @@ def get_ip(ip_w_pfx):
class BgpProvisioner(object):

def __init__(self, user, password, tenant, api_server_ip, api_server_port,
api_server_use_ssl=False):
api_server_use_ssl=False, use_admin_api=False):
self._admin_user = user
self._admin_password = password
self._admin_tenant_name = tenant
self._api_server_ip = api_server_ip
self._api_server_port = api_server_port
self._api_server_use_ssl = api_server_use_ssl
self._vnc_lib = VncApi(
self._admin_user, self._admin_password, self._admin_tenant_name,
self._vnc_lib = VncApiAdmin(
use_admin_api, self._admin_user, self._admin_password,
self._admin_tenant_name,
self._api_server_ip,
self._api_server_port, '/',
api_server_use_ssl=self._api_server_use_ssl)
Expand Down
13 changes: 10 additions & 3 deletions src/config/utils/provision_config_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import ConfigParser

from vnc_api.vnc_api import *
from vnc_admin_api import VncApiAdmin
from cfgm_common.exceptions import *


Expand All @@ -24,7 +25,8 @@ def __init__(self, args_str=None):
tries = 0
while not connected:
try:
self._vnc_lib = VncApi(
self._vnc_lib = VncApiAdmin(
self._args.use_admin_api,
self._args.admin_user, self._args.admin_password,
self._args.admin_tenant_name,
self._args.api_server_ip,
Expand Down Expand Up @@ -106,8 +108,6 @@ def _parse_args(self, args_str):
parser.add_argument(
"--host_name", help="hostname name of config node", required=True)
parser.add_argument("--host_ip", help="IP address of config node", required=True)
parser.add_argument(
"--api_server_ip", help="IP address of api server", required=True)
parser.add_argument("--api_server_port", help="Port of api server")
parser.add_argument("--api_server_use_ssl",
help="Use SSL to connect with API server")
Expand All @@ -122,6 +122,13 @@ def _parse_args(self, args_str):
"--admin_tenant_name", help="Tenamt name for keystone admin user")
parser.add_argument(
"--openstack_ip", help="IP address of openstack node")
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument(
"--api_server_ip", help="IP address of api server")
group.add_argument("--use_admin_api",
default=False,
help = "Connect to local api-server on admin port",
action="store_true")

self._args = parser.parse_args(remaining_argv)

Expand Down
18 changes: 13 additions & 5 deletions src/config/utils/provision_control.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

from provision_bgp import BgpProvisioner
from vnc_api.vnc_api import *
from vnc_admin_api import VncApiAdmin


class ControlProvisioner(object):
Expand All @@ -19,7 +20,8 @@ def __init__(self, args_str=None):
self._parse_args(args_str)

if self._args.router_asn and not self._args.oper:
self._vnc_lib = VncApi(
self._vnc_lib = VncApiAdmin(
self._args.use_admin_api,
self._args.admin_user, self._args.admin_password,
self._args.admin_tenant_name,
self._args.api_server_ip,
Expand Down Expand Up @@ -54,7 +56,8 @@ def __init__(self, args_str=None):
self._args.admin_user, self._args.admin_password,
self._args.admin_tenant_name,
self._args.api_server_ip, self._args.api_server_port,
api_server_use_ssl=self._args.api_server_use_ssl)
api_server_use_ssl=self._args.api_server_use_ssl,
use_admin_api=self._args.use_admin_api)
if self._args.oper == 'add':
bp_obj.add_bgp_router('control-node', self._args.host_name,
self._args.host_ip, self._args.router_asn,
Expand Down Expand Up @@ -160,9 +163,7 @@ def _parse_args(self, args_str):
"--ibgp_auto_mesh", help="Create iBGP mesh automatically", dest='ibgp_auto_mesh', action='store_true')
parser.add_argument(
"--no_ibgp_auto_mesh", help="Don't create iBGP mesh automatically", dest='ibgp_auto_mesh', action='store_false')
parser.add_argument(
"--api_server_ip", help="IP address of api server", required=True)
parser.add_argument("--api_server_port", help="Port of api server", required=True)
parser.add_argument("--api_server_port", help="Port of api server")
parser.add_argument("--api_server_use_ssl",
help="Use SSL to connect with API server")
parser.add_argument(
Expand Down Expand Up @@ -201,6 +202,13 @@ def _parse_args(self, args_str):
parser.add_argument("--set_graceful_restart_parameters",
action='store_true',
help="Set Graceful Restart Parameters")
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument(
"--api_server_ip", help="IP address of api server")
group.add_argument("--use_admin_api",
default=False,
help = "Connect to local api-server on admin port",
action="store_true")

self._args = parser.parse_args(remaining_argv)

Expand Down
13 changes: 10 additions & 3 deletions src/config/utils/provision_database_node.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@

from vnc_api.vnc_api import *
from cfgm_common.exceptions import *
from vnc_admin_api import VncApiAdmin


class DatabaseNodeProvisioner(object):
Expand All @@ -24,7 +25,8 @@ def __init__(self, args_str=None):
tries = 0
while not connected:
try:
self._vnc_lib = VncApi(
self._vnc_lib = VncApiAdmin(
self._args.use_admin_api,
self._args.admin_user, self._args.admin_password,
self._args.admin_tenant_name,
self._args.api_server_ip,
Expand Down Expand Up @@ -106,8 +108,6 @@ def _parse_args(self, args_str):
parser.add_argument(
"--host_name", help="hostname name of database node", required=True)
parser.add_argument("--host_ip", help="IP address of database node", required=True)
parser.add_argument(
"--api_server_ip", help="IP address of api server", required=True)
parser.add_argument("--api_server_port", help="Port of api server")
parser.add_argument("--api_server_use_ssl",
help="Use SSL to connect with API server")
Expand All @@ -122,6 +122,13 @@ def _parse_args(self, args_str):
"--admin_tenant_name", help="Tenamt name for keystone admin user")
parser.add_argument(
"--openstack_ip", help="IP address of openstack node")
group = parser.add_mutually_exclusive_group(required=True)
group.add_argument(
"--api_server_ip", help="IP address of api server")
group.add_argument("--use_admin_api",
default=False,
help = "Connect to local api-server on admin port",
action="store_true")

self._args = parser.parse_args(remaining_argv)

Expand Down
14 changes: 11 additions & 3 deletions src/config/utils/provision_encap.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@

from cfgm_common.exceptions import RefsExistError
from vnc_api.vnc_api import *
from vnc_admin_api import VncApiAdmin


class EncapsulationProvision(object):

Expand All @@ -18,7 +20,8 @@ def __init__(self, args_str=None):
args_str = ' '.join(sys.argv[1:])
self._parse_args(args_str)

self._vnc_lib = VncApi(
self._vnc_lib = VncApiAdmin(
self._args.use_admin_api,
self._args.admin_user, self._args.admin_password,
self._args.admin_tenant_name,
self._args.api_server_ip,
Expand Down Expand Up @@ -108,8 +111,6 @@ def _parse_args(self, args_str):
defaults.update(ksopts)
parser.set_defaults(**defaults)

parser.add_argument(
"--api_server_ip", help="IP address of api server")
parser.add_argument("--api_server_port", help="Port of api server")
parser.add_argument("--api_server_use_ssl",
help="Use SSL to connect with API server")
Expand All @@ -125,6 +126,13 @@ def _parse_args(self, args_str):
"--admin_password", help="Password of keystone admin user")
parser.add_argument(
"--admin_tenant_name", help="Tenant name for keystone admin user")
group = parser.add_mutually_exclusive_group()
group.add_argument(
"--api_server_ip", help="IP address of api server")
group.add_argument("--use_admin_api",
default=False,
help = "Connect to local api-server on admin port",
action="store_true")

self._args = parser.parse_args(remaining_argv)
if not self._args.encap_priority:
Expand Down
14 changes: 12 additions & 2 deletions src/config/utils/provision_forwarding_mode.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@
import ConfigParser

from vnc_api.vnc_api import *
from vnc_admin_api import VncApiAdmin


class ForwardingModeSetup(object):

Expand All @@ -17,7 +19,8 @@ def __init__(self, args_str=None):
args_str = ' '.join(sys.argv[1:])
self._parse_args(args_str)

self._vnc_lib = VncApi(
self._vnc_lib = VncApiAdmin(
self._args.use_admin_api,
self._args.admin_user, self._args.admin_password,
self._args.admin_tenant_name,
self._args.api_server_ip,
Expand Down Expand Up @@ -107,7 +110,7 @@ def _parse_args(self, args_str):
"--project_fq_name", help="Fully qualified name of the Project", required=True)
parser.add_argument(
"--vxlan_id", help="VxLan ID")
parser.add_argument("--api_server_port", help="Port of api server", required=True)
parser.add_argument("--api_server_port", help="Port of api server")
parser.add_argument(
"--forwarding_mode", help="l2_l3 or l2 only", required=True)
parser.add_argument(
Expand All @@ -116,6 +119,13 @@ def _parse_args(self, args_str):
"--admin_user", help="Name of keystone admin user")
parser.add_argument(
"--admin_password", help="Password of keystone admin user")
group = parser.add_mutually_exclusive_group()
group.add_argument(
"--api_server_ip", help="IP address of api server")
group.add_argument("--use_admin_api",
default=False,
help = "Connect to local api-server on admin port",
action="store_true")

self._args = parser.parse_args(remaining_argv)
# end _parse_args
Expand Down
2 changes: 1 addition & 1 deletion src/config/utils/provision_issu.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ def _parse_args(self, args_str):
)
parser.set_defaults(**defaults)

parser.add_argument(
group.add_argument(
"--api_server_ip", help="IP address of api server")
parser.add_argument("--api_server_port", help="Port of api server")
parser.add_argument("--api_server_use_ssl",
Expand Down

0 comments on commit a6677dd

Please sign in to comment.