def ztp_module_hooks(request): st.add_prevent("ztp") initialize_variables() pre_config_ztp() path_list = [ ztp_params.home_path + ztp_params.config_path, ztp_params.home_path + ztp_params.provision_script_path ] ztp_obj.create_required_folders(ssh_conn_obj, path_list) basic_obj.move_file_to_local_path(vars.D1, "/etc/sonic/snmp.yml", "/etc/sonic/snmp.yml.bkp") source_path = "{}{}".format(config_params.local_provision_scripts_folder, config_params.snmp_filename) st.upload_file_to_dut(vars.D1, source_path, "/home/admin/snmp.yml") basic_obj.copy_file_to_local_path(vars.D1, "/home/admin/snmp.yml", "/etc/sonic/snmp.yml") yield ztp_cfg = { "admin-mode": True, "restart-ztp-interval": 30, "feat-console-logging": feat_logging_console } ztp_obj.config_ztp_backdoor_options(vars.D1, ztp_cfg) reset_module_config() basic_obj.move_file_to_local_path(vars.D1, "/etc/sonic/snmp.yml.bkp", "/etc/sonic/snmp.yml")
def ztp_module_hooks(request): st.add_prevent("ztp") initialize_config_params() pre_config_ztp() initialize_data_variables() path_list = [ ztp_params.home_path + ztp_params.config_path, ztp_params.home_path + ztp_params.firmware_path, ztp_params.home_path + ztp_params.provision_script_path, ztp_params.home_path + ztp_params.xml_path ] ztp_obj.create_required_folders(ssh_conn_obj, path_list) if inband_ssh_conn_obj: basic_obj.service_operations(inband_ssh_conn_obj, data.dhcp_service_name, "stop", "server") basic_obj.move_file_to_local_path(vars.D1, "/etc/sonic/snmp.yml", "/etc/sonic/snmp.yml.bkp") source_path = "{}{}".format(config_params.local_provision_scripts_folder, config_params.snmp_filename) st.upload_file_to_dut(vars.D1, source_path, "/home/admin/snmp.yml") basic_obj.copy_file_to_local_path(vars.D1, "/home/admin/snmp.yml", "/etc/sonic/snmp.yml") yield reset_module_config() basic_obj.move_file_to_local_path(vars.D1, "/etc/sonic/snmp.yml.bkp", "/etc/sonic/snmp.yml")
def ztp_module_hooks(request): st.add_prevent("ztp") initialize_variables() pre_config_ztp() path_list = [ztp_params.home_path+ztp_params.config_path, ztp_params.home_path+ztp_params.provision_script_path] ztp_obj.create_required_folders(ssh_conn_obj, path_list) basic_obj.move_file_to_local_path(vars.D1, "/etc/sonic/snmp.yml", "/etc/sonic/snmp.yml.bkp") source_path = "{}{}".format(config_params.local_provision_scripts_folder, config_params.snmp_filename) st.upload_file_to_dut(vars.D1, source_path, "/home/admin/snmp.yml") basic_obj.copy_file_to_local_path(vars.D1, "/home/admin/snmp.yml", "/etc/sonic/snmp.yml") if ztp_params.breakout: if breakout(vars.D1, ztp_params.breakout, cli_type="klish", skip_error=True): intf_details = get_interface_details_by_alt_name(vars.D1, ztp_params.inband_port) if isinstance(intf_details, dict): inband_port = intf_details["interface"] else: inband_port = intf_details interface_noshutdown(vars.D1, inband_port) config_ip_addr_interface(vars.D1, inband_port, ztp_params.dhcp6.client_ip_inband, ztp_params.dhcp6.inband_v6_subnet, family="ipv6") # enable_dhcp_on_interface(vars.D1, ztp_params.inband_port) if not ping(vars.D1, ztp_params.dhcp6.inband_static_ip, family="ipv6"): st.log("Pinging to DHCP server failed from DUT, issue either with DUT or server") # config_save(vars.D1) yield ztp_cfg = {"admin-mode": True, "restart-ztp-interval": 30, "feat-console-logging": feat_logging_console} ztp_obj.config_ztp_backdoor_options(vars.D1, ztp_cfg) reset_module_config() basic_obj.move_file_to_local_path(vars.D1, "/etc/sonic/snmp.yml.bkp", "/etc/sonic/snmp.yml")
def ztp_module_hooks(request): st.add_prevent("ztp") initialize_config_params() pre_config_ztp() initialize_data_variables() path_list = [ztp_params.home_path+ztp_params.config_path, ztp_params.home_path+ztp_params.firmware_path, ztp_params.home_path+ztp_params.provision_script_path, ztp_params.home_path+ztp_params.xml_path] ztp_obj.create_required_folders(ssh_conn_obj, path_list) basic_obj.move_file_to_local_path(vars.D1, "/etc/sonic/snmp.yml", "/etc/sonic/snmp.yml.bkp") source_path = "{}{}".format(config_params.local_provision_scripts_folder, config_params.snmp_filename) st.upload_file_to_dut(vars.D1, source_path, "/home/admin/snmp.yml") basic_obj.copy_file_to_local_path(vars.D1, "/home/admin/snmp.yml", "/etc/sonic/snmp.yml") if ztp_params.breakout: if breakout(vars.D1, ztp_params.breakout, cli_type="klish", skip_error=True): intf_details = get_interface_details_by_alt_name(vars.D1, ztp_params.inband_port) if isinstance(intf_details, dict): inband_port = intf_details["interface"] else: inband_port = intf_details interface_noshutdown(vars.D1, inband_port) config_ip_addr_interface(vars.D1, inband_port, ztp_params.dhcp.client_ip_inband, ztp_params.dhcp.inband_v4_subnet) # enable_dhcp_on_interface(vars.D1, ztp_params.inband_port) if not ping(vars.D1, ztp_params.dhcp.inband_static_ip): st.log("Pinging to DHCP server failed from DUT, issue either with DUT or server") # config_save(vars.D1) # write_config_db(vars.D1, interface_data) yield reset_module_config() basic_obj.move_file_to_local_path(vars.D1, "/etc/sonic/snmp.yml.bkp", "/etc/sonic/snmp.yml")
def dhcp_server_config(): ''' 1. Install dhcp package 2. Update dhcp files - dhcpd6.conf dhcpd.conf isc-dhcp-server 3. Add static routes 4.Restart dhcp process ''' hdrMsg("Installing and configuring the dhcp server on dut1") dut = data.dut1 copy_files_to_dut(st.get_mgmt_ip(dut)) # st.config(dut,'sudo mv /tmp/'+data.dhcp_files[0]+' /etc/default/'+server_filename,skip_error_check=True) # st.config(dut,'sudo mv /tmp/'+data.dhcp_files[1]+' /etc/dhcp/',skip_error_check=True) # st.config(dut,'sudo mv /tmp/'+data.dhcp_files[2]+' /etc/dhcp/',skip_error_check=True) basic_api.move_file_to_local_path(dut, '/tmp/' + data.dhcp_files[0], '/etc/default/' + server_filename, sudo=True, skip_error_check=True) basic_api.move_file_to_local_path(dut, '/tmp/' + data.dhcp_files[1], '/etc/dhcp/', sudo=True, skip_error_check=True) basic_api.move_file_to_local_path(dut, '/tmp/' + data.dhcp_files[2], '/etc/dhcp/', sudo=True, skip_error_check=True) for ip in route_list: ip_api.create_static_route(dut, next_hop=dut3_loopback_ip_list[0], static_ip=ip) basic_api.deploy_package(dut, mode='update') basic_api.deploy_package(dut, options='-o Dpkg::Options::=\"--force-confold\"', packane_name='isc-dhcp-server', mode='install', skip_verify_package=True) #st.config(dut, "systemctl restart isc-dhcp-server") st.wait(2) ps_aux = basic_api.get_ps_aux(data.dut1, "dhcpd") if len(ps_aux) > 1: hdrMsg("dhcp server is up and running in dut1") return True #st.config(dut, "systemctl restart isc-dhcp-server") basic_api.service_operations_by_systemctl(dut, operation='restart', service='isc-dhcp-server') ps_aux = basic_api.get_ps_aux(data.dut1, "dhcpd") st.wait(2) if len(ps_aux) < 1: hdrMsg("dhcp server is not up and running in dut1") return False return True