Showing results for 
Search instead for 
Did you mean: 

Python script to migrate access points from Aireos to 9800


Hello experts , could you please guide me how can i use Python scripting to migrate access points from aireos to 9800 controllers. there are multiple sites and it would save a lot of efforts to migrate the access points.

is there a code available which can be modified to use different parameters ?


5 Replies 5

VIP Community Legend VIP Community Legend
VIP Community Legend

You need to convert first Airos to Cat 9800 config.

Personally, I would not suggest to big bang Migration.

i would suggest running both in the environment - select a certain area to Migrate to the new controller and test it.

make sure you check the compatibility and matrix of the AP and Code.

You can move the AP from the old controller to the new controller :



If you have Prime or DNAC you can also do that task



***** Rate All Helpful Responses *****

How to Ask The Cisco Community for Help

hi Balaji ...what you have mentioned in your post, i have already done all of this multiple times.  i have my own home lab which has 5520 and 9800 with a 3702 access point.  i already have prepared an excel script which i can use no problem.  what i am looking for is the script using python to do the migration ...i have multiple sites which has access points joined to a 7510 central controller , since we have deployed a new 9800 central controller the objective is to migrate the access points to that.

i will of course test the python script in my home lab first and then move on to a pilot site .

here is my approach : you are in right direction as you mentioned.


First thing check matrix, how many AP concurrent image download based on the controller - i have seen issue when i was doing 85XX WLC support only 1000 as i remember.

config paging disable
show ap summary

Store this information in CSV format

below article help you create one (once you success dont forget to share your script with community)

Intiate the process to in Python using CSV - AP name and use below command till end of list.
config ap primary-base <WLC_NAME> <AP_NAME> <WLC_IP>

Note : as mentioned before test with 5 or 10 AP and gradually increase the numbers and monitor the outcome.




***** Rate All Helpful Responses *****

How to Ask The Cisco Community for Help

VIP Collaborator VIP Collaborator
VIP Collaborator

If you have already configured the destination C9800 WLC and only what to migrate the APs from legacy AireOS, I would recommend you to think about which configuration paradigm you would be using from these:

  1. Cisco-way used in the configuration conversion tool where it creates different policy profiles (and from them different policy tags) for every single site.
  2. Alternative option to create uniques policy profiles for every SSID with different forwarding policy modes (Corporate central fwd, Corporate local fwd, BYOD central fwd, BYOD local fwd, ...) and assign every AP under the same site to the corresponding policy tag.

The Cisco way adds extra administrative efford that the alternative doesn't.

From there, it is really easy to proceed with AP migration:

  1. Create Flex profile and assign it to Site Tag (if all sites have standardised VLAN topology this is pretty simple as it's only about copy/paste previous Flex and Site configs; this is something I did before moving to C9800)
  2. Apply common Policy Tag, common RF Tag, and your new Site Tag to every AP.

As @balaji.bandi said I would recommend you to move APs per site or few sites at a time for testing, as you need to be sure everything would be working properly, as you may encounter issues depending on the code version you are about to deploy (I would recommend you moving to 17.6.4 for WiFi5 deployments or 17.9.2 for WiFi6 deployments at this moment).

As far as I know there is no python script shared to do that. I have created an Excel template to deal with AP setting on C9800 using the alternative way, but it has lots of functions and the logic behind is really difficult to understand so I won't share that with you, but I'm in the process of creating such pythong script based on the alternative way.

Leo Laohoo
VIP Community Legend VIP Community Legend
VIP Community Legend

I just migrated 2000 x APs to 9800 and I did not use any "script".  

The outage (aka "no WiFi") took 4 minutes and 45 seconds. 

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Recognize Your Peers