# ONES Orchestration Agent Installation



On the ONES Application server, go to ONES-2.0/ones\_fm\_agent

<mark style="color:blue;">`root@ones-application:~$ cd /ONES-2.0/ones_fm_agent`</mark>

### Installation (Agent Install on multiple switches at the same time)&#x20;

* Enter device details (Management IP, Username, Password ) in device\_info.csv

<mark style="color:blue;">`root@ones-application/ONES-2.0/ones_fm_agent:~$ vi device_info.csv`</mark>

```
ip,user,passwd
10.4.4.61,admin,YourPaSsWoRd
10.4.4.62,admin,YourPaSsWoRd
...
...
...
```

* Save the file&#x20;
*   Execute the installation script



### Fresh Installation

<mark style="color:blue;">`root@ones-application/ONES-2.0/ones_fm_agent:~$ ./deploy_fmcli.sh 'install'`</mark>

<pre class="language-log"><code class="lang-log">root@ones-application/ONES-2.0/ones_fm_agent:~$ ./deploy_fmcli.sh 'install'
<strong>Installer will proceed with FMCLI-install ...
</strong>
2fa37f2ee66e: Loading layer [==================================================>]  121.3MB/121.3MB
5cc3a4df1251: Loading layer [==================================================>]   49.6MB/49.6MB
2ef3351afa6d: Loading layer [==================================================>]  181.5MB/181.5MB
0c2d6fc19d6a: Loading layer [==================================================>]  596.9MB/596.9MB
d3de4ba9f72c: Loading layer [==================================================>]  19.25MB/19.25MB
6546924ee8e7: Loading layer [==================================================>]  41.04MB/41.04MB
16227882e38c: Loading layer [==================================================>]   5.12kB/5.12kB
29d8b0c23f30: Loading layer [==================================================>]   10.5MB/10.5MB
0eb731fd9ff0: Loading layer [==================================================>]  69.94MB/69.94MB
015b774a058f: Loading layer [==================================================>]   2.56kB/2.56kB
35743f2c1258: Loading layer [==================================================>]  37.47MB/37.47MB
e02e88375b40: Loading layer [==================================================>]  4.428MB/4.428MB
Loaded image: avizdock/agent_installer:latest
Docker image 'avizdock/agent_installer:latest' is loaded.
4c7a6666fea40554651f85c6b6857a79a99433872ba168c8865fbcf3246f0adc

Docker container 'agent_installer' is running.
CONTAINER ID   IMAGE                             COMMAND     CREATED         STATUS                  PORTS     NAMES
4c7a6666fea4   avizdock/agent_installer:latest   "python3"   4 seconds ago   Up Less than a second             agent_installer
Server IP: 172.17.0.2
fm_port: None
[{'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None}]
Operation = install
##### params = {'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None} #####
###############Connecting to switch###############
...

#################### Installing FMCLI on the device 10.20.7.12 ######################
####### Debug LOGS on the device 10.20.7.12 #######
...

FM-Agent installed successfully on the device 10.20.7.12........
</code></pre>

### Installation with a config cleanup

{% hint style="info" %}
using this process, Script will clear the base config like port--channel related config, IP related config, VXlan related config and more related configuration.
{% endhint %}

<mark style="color:blue;">`root@ones-application/ONES-2.0/ones_fm_agent:~$ ./deploy_fmcli.sh 'installresetconfig'`</mark>

```log
root@ones-application/ONES2.0/ones_fm_agent# ./deploy_fmcli.sh 'installresetconfig'
Installer will proceed with FMCLI-installresetconfig ...

2fa37f2ee66e: Loading layer [==================================================>]  121.3MB/121.3MB
5cc3a4df1251: Loading layer [==================================================>]   49.6MB/49.6MB
2ef3351afa6d: Loading layer [==================================================>]  181.5MB/181.5MB
0c2d6fc19d6a: Loading layer [==================================================>]  596.9MB/596.9MB
d3de4ba9f72c: Loading layer [==================================================>]  19.25MB/19.25MB
6546924ee8e7: Loading layer [==================================================>]  41.04MB/41.04MB
16227882e38c: Loading layer [==================================================>]   5.12kB/5.12kB
29d8b0c23f30: Loading layer [==================================================>]   10.5MB/10.5MB
0eb731fd9ff0: Loading layer [==================================================>]  69.94MB/69.94MB
015b774a058f: Loading layer [==================================================>]   2.56kB/2.56kB
35743f2c1258: Loading layer [==================================================>]  37.47MB/37.47MB
e02e88375b40: Loading layer [==================================================>]  4.428MB/4.428MB
Loaded image: avizdock/agent_installer:latest
Docker image 'avizdock/agent_installer:latest' is loaded.
86086002858bad33fa21019f48eb58c7e37d9104d5b161ad7706d61c0bfa89f2

Docker container 'agent_installer' is running.
CONTAINER ID   IMAGE                             COMMAND     CREATED         STATUS                  PORTS     NAMES
86086002858b   avizdock/agent_installer:latest   "python3"   3 seconds ago   Up Less than a second             agent_installer

ones-fm container is not running

Server IP: 172.17.0.2
fm_port: None
[{'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None}]
Operation = installresetconfig
##### params = {'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None} #####
###############Connecting to switch###############
<paramiko.client.SSHClient object at 0x7feb0b5b0310>
Connection to switch 10.20.7.12 successfull.....................
/home/ones_fm_agent
Creating work directory  on the device 10.20.7.12........
Work Directory ones-fm_1702897991_0583997 created successfully on the device 10.20.7.12 .............
Copying FMCLI_Installer.py to directory ones-fm_1702897991_0583997 on the device 10.20.7.12 .............
Copying FMCLI_Installer.py to directory ones-fm_1702897991_0583997 successful on the device 10.20.7.12 .............
Copying fmcli-app.tgz to directory ones-fm_1702897991_0583997 on the device 10.20.7.12 .............
Copying fmcli-app.tgz to directory ones-fm_1702897991_0583997 successful on the device 10.20.7.12 .............

#################### Installing FMCLI on the device 10.20.7.12 ######################
####### Debug LOGS on the device 10.20.7.12 #######

...
...
...


FM-Agent installed successfully on the device 10.20.7.12........
####### Deleting ones-fm_1702897991_0583997 dir on the device 10.20.7.12 #######
##### params = {'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None} #####
###############Connecting to switch - 10.20.7.12 ###############
<paramiko.client.SSHClient object at 0x7feb0b5b0640>
Connection to switch 10.20.7.12 successfull.....................
/home/ones_fm_agent
Creating work directory  on the device 10.20.7.12........
Work Directory ones-fm_1702898114_0637665 created successfully on the device 10.20.7.12 .............
Copying config-reset.py to directory ones-fm_1702898114_0637665 on the device 10.20.7.12 .............
Copying config-reset.py to directory ones-fm_1702898114_0637665 successful on the device 10.20.7.12 .............

#################### Cleaning config on the device 10.20.7.12 ######################
...
...
...

OCI runtime exec failed: exec failed: unable to start container process: exec: "/usr/lib/frr/frr-reload.py": stat /usr/lib/frr/frr-reload.py: no such file or directory: unknown
Running command: /usr/local/bin/sonic-cfggen -d --print-data > /etc/sonic/config_db.json
###################################
###################################
###### Config Reset Successful !!! #######


```

### Upgrade Installation

<mark style="color:blue;">`root@ones-application/ONES-2.0/ones_fm_agent:~$ ./deploy_fmcli.sh 'upgrade'`</mark>

```log
root@ones-application/ONES-2.0/ones_fm_agent:~$ ./deploy_fmcli.sh 'upgrade'
Installer will proceed with FMCLI-upgrade ...

2fa37f2ee66e: Loading layer [==================================================>]  121.3MB/121.3MB
5cc3a4df1251: Loading layer [==================================================>]   49.6MB/49.6MB
2ef3351afa6d: Loading layer [==================================================>]  181.5MB/181.5MB
0c2d6fc19d6a: Loading layer [==================================================>]  596.9MB/596.9MB
d3de4ba9f72c: Loading layer [==================================================>]  19.25MB/19.25MB
6546924ee8e7: Loading layer [==================================================>]  41.04MB/41.04MB
16227882e38c: Loading layer [==================================================>]   5.12kB/5.12kB
29d8b0c23f30: Loading layer [==================================================>]   10.5MB/10.5MB
0eb731fd9ff0: Loading layer [==================================================>]  69.94MB/69.94MB
015b774a058f: Loading layer [==================================================>]   2.56kB/2.56kB
35743f2c1258: Loading layer [==================================================>]  37.47MB/37.47MB
e02e88375b40: Loading layer [==================================================>]  4.428MB/4.428MB
Loaded image: avizdock/agent_installer:latest
Docker image 'avizdock/agent_installer:latest' is loaded.
73bf7f665d0df3633a83b58fae02e987cad8f1246ec6119aa58088e00c1e44a6

Docker container 'agent_installer' is running.
CONTAINER ID   IMAGE                             COMMAND     CREATED         STATUS                  PORTS     NAMES
73bf7f665d0d   avizdock/agent_installer:latest   "python3"   3 seconds ago   Up Less than a second             agent_installer

ones-fm container is not running

Server IP: 172.17.0.2
fm_port: None
[{'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None}]
Operation = upgrade
##### params = {'ip': '10.20.7.12', 'passwd': 'YourPaSsWoRd', 'user': 'admin', 'server_ip': '172.17.0.2', 'fm_port': None} #####
###############Connecting to switch###############
...
...
...

#################### Upgrading FMCLI on the device 10.20.7.12 ######################
####### Debug LOGS on the device 10.20.7.12 #######
fmcli-app/
fmcli-app/fmcli
fmcli-app/fmclimain.service
fmcli-app/fmcli.cli
...
...
...

Created symlink /etc/systemd/system/multi-user.target.wants/fmclimain.service → /etc/systemd/system/fmclimain.service.
/tmp/fmcliStartup.init

FM-Agent Upgraded successfully on the device 10.20.7.12........
```

* Verify the Installation success by running the fmcli command on individual devices

<mark style="color:blue;">`root@Switch:~$ sudo fmcli`</mark>

```
root@Switch:~$ sudo fmcli 
fmcli# 
```
