def test_inherit_contract_and_delete(self): self.delete_tenant() config_json = self.get_config_json() args = TestArgs() apic = Session(APIC_URL, APIC_USERNAME, APIC_PASSWORD) apic.login() self.setup_tenant(apic) tool = execute_tool(args, cli_mode=False) tool.add_config(config_json) time.sleep(2) # Verify that the contract is not inherited by the child EPG self.verify_not_inherited(apic) time.sleep(2) # Add the contract self.add_contract(apic) time.sleep(2) # Verify that the contract is now inherited by the child EPG self.verify_inherited(apic) # Remove the contract from the parent EPG self.remove_contract(apic) time.sleep(2) # Verify that the contract is not inherited by the child EPG self.verify_not_inherited(apic) self.delete_tenant()
def test_dual_inheritance_contract(self): self.delete_tenant() config_json = { "apic": {"user_name": APIC_USERNAME, "password": APIC_PASSWORD, "ip_address": APIC_IP, "use_https": False }, "inheritance_policies": [{ "epg": { "tenant": "inheritanceautomatedtest", "epg_container": {"name": "myl3out", "container_type": "l3out"}, "name": "childepg" }, "allowed": True, "enabled": True }, { "epg": { "tenant": "inheritanceautomatedtest", "epg_container": {"name": "myl3out", "container_type": "l3out"}, "name": "parentepg1" }, "allowed": True, "enabled": False }, { "epg": { "tenant": "inheritanceautomatedtest", "epg_container": {"name": "myl3out", "container_type": "l3out"}, "name": "parentepg2" }, "allowed": True, "enabled": False } ] } args = TestArgs() apic = Session(APIC_URL, APIC_USERNAME, APIC_PASSWORD) apic.login() self.setup_tenant_with_2_parent_epgs(apic) tool = execute_tool(args, cli_mode=False) tool.add_config(config_json) time.sleep(2) print 'STARTING VERIFICATION...' # Verify that the contract is now inherited by the child EPG self.verify_inherited(apic) self.delete_tenant()
def test_basic_inherit_add_subnet(self): config_json = { "apic": { "user_name": APIC_USERNAME, "password": APIC_PASSWORD, "ip_address": APIC_IP, "use_https": False }, "inheritance_policies": [ { "epg": { "tenant": "inheritanceautomatedtest", "epg_container": { "name": "myl3out", "container_type": "l3out" }, "name": "childepg" }, "allowed": True, "enabled": True }, { "epg": { "tenant": "inheritanceautomatedtest", "epg_container": { "name": "myl3out", "container_type": "l3out" }, "name": "parentepg" }, "allowed": True, "enabled": False } ] } args = TestArgs() apic = Session(APIC_URL, APIC_USERNAME, APIC_PASSWORD) apic.login() self.setup_tenant(apic) tool = execute_tool(args, cli_mode=False) tool.add_config(config_json) time.sleep(2) # Verify that the contract is not inherited by the child EPG self.verify_not_inherited(apic) # Add the child subnet self.add_child_subnet(apic) time.sleep(2) # Verify that the contract is now inherited by the child EPG self.verify_inherited(apic) self.delete_tenant()
DEFAULT_PORT = '5000' DEFAULT_IPADDRESS = '127.0.0.1' auth = HTTPBasicAuth() parser = get_arg_parser() parser.add_argument('--ip', default=DEFAULT_IPADDRESS, help='IP address to listen on.') parser.add_argument('--port', default=DEFAULT_PORT, help='Port number to listen on.') args = parser.parse_args() app = Flask(__name__) tool = execute_tool(args, cli_mode=False) @auth.get_password def get_password(username): if username == 'admin': return 'acitoolkit' return None @auth.error_handler def unauthorized(): return make_response(jsonify({'error': 'Unauthorized access'}), 401) @app.route('/config', methods=['GET']) @auth.login_required
DEFAULT_PORT = '5000' DEFAULT_IPADDRESS = '127.0.0.1' auth = HTTPBasicAuth() parser = get_arg_parser() parser.add_argument('--ip', default=DEFAULT_IPADDRESS, help='IP address to listen on.') parser.add_argument('--port', default=DEFAULT_PORT, help='Port number to listen on.') args = parser.parse_args() app = Flask(__name__) tool = execute_tool(args) @auth.get_password def get_password(username): if username == 'admin': return 'acitoolkit' return None @auth.error_handler def unauthorized(): return make_response(jsonify({'error': 'Unauthorized access'}), 401) @app.route('/config', methods=['GET']) @auth.login_required
def test_dual_inheritance_contract_delete_both_relations(self): config_json = { "apic": { "user_name": APIC_USERNAME, "password": APIC_PASSWORD, "ip_address": APIC_IP, "use_https": False }, "inheritance_policies": [ { "epg": { "tenant": "inheritanceautomatedtest", "epg_container": { "name": "myl3out", "container_type": "l3out" }, "name": "childepg" }, "allowed": True, "enabled": True }, { "epg": { "tenant": "inheritanceautomatedtest", "epg_container": { "name": "myl3out", "container_type": "l3out" }, "name": "parentepg1" }, "allowed": True, "enabled": False }, { "epg": { "tenant": "inheritanceautomatedtest", "epg_container": { "name": "myl3out", "container_type": "l3out" }, "name": "parentepg2" }, "allowed": True, "enabled": False } ] } args = TestArgs() apic = Session(APIC_URL, APIC_USERNAME, APIC_PASSWORD) apic.login() self.setup_tenant_with_2_parent_epgs(apic) tool = execute_tool(args, cli_mode=False) tool.add_config(config_json) time.sleep(4) # Verify that the contract is now inherited by the child EPG self.verify_inherited(apic) print 'REMOVING 1 CONTRACT' # Remove contracts tenant = Tenant('inheritanceautomatedtest') l3out = OutsideL3('myl3out', tenant) contract = self.get_contract(tenant) parent_epg1 = OutsideEPG('parentepg1', l3out) parent_epg1.provide(contract) parent_epg1.dont_provide(contract) parent_epg2 = OutsideEPG('parentepg2', l3out) parent_epg2.provide(contract) parent_epg2.dont_provide(contract) resp = tenant.push_to_apic(apic) self.assertTrue(resp.ok) print 'STARTING VERIFICATION' # Verify that the contract is still inherited by the child EPG time.sleep(4) self.verify_not_inherited(apic) self.delete_tenant()
DEFAULT_PORT = '5000' DEFAULT_IPADDRESS = '127.0.0.1' auth = HTTPBasicAuth() parser = get_arg_parser() parser.add_argument('--ip', default=DEFAULT_IPADDRESS, help='IP address to listen on.') parser.add_argument('--port', default=DEFAULT_PORT, help='Port number to listen on.') args = parser.parse_args() app = Flask(__name__) tool = execute_tool(args) @auth.get_password def get_password(username): if username == 'admin': return 'acitoolkit' return None @auth.error_handler def unauthorized(): return make_response(jsonify({'error': 'Unauthorized access'}), 401) @app.route('/config', methods=['GET'])