Description

Customer is running into the following issues when adding QFX switches to the system.

Below is the logs from devices: ========================
2024-06-15 01:31:29,020 INFO:10.246.200.109 install
2024-06-15 01:31:29,020 INFO:Ensure stable connection for 60s
2024-06-15 01:31:29,020 INFO:TASK: Check Connectivity
2024-06-15 01:31:29,274 INFO:Successful connection check..
2024-06-15 01:31:59,301 INFO:Successful connection check..
2024-06-15 01:32:29,300 INFO:Successful connection check..
2024-06-15 01:32:29,300 INFO:TASK: Get platform type
2024-06-15 01:33:33,103 INFO:TASK: Get platform type
2024-06-15 01:33:37,744 INFO:10.246.200.109::junos
2024-06-15 01:33:37,744 INFO:System Agent id:
2024-06-15 01:33:37,744 INFO:TASK: Get device facts
2024-06-15 01:33:37,745 INFO:Command (timeout-120): show chassis hardware | display json
2024-06-15 01:33:37,745 INFO:command (timeout-120): uptime
2024-06-15 01:33:38,156 ERROR:Failure reason: , return-code: 255
2024-06-15 01:33:38,156 ERROR:FAILED
2024-06-15 01:33:38,157 ERROR:Failed command: show chassis hardware | display json | no-more
2024-06-15 01:33:38,157 ERROR:Remote ssh command failed Traceback (most recent call last): File "/aos/system_agent/runner/aos_device_installer/run.py", line 106, in action.run_action() File "/aos/system_agent/runner/actions/base_action.py", line 314, in run_action self.run() File "/aos/system_agent/runner/actions/juniper.py", line 1945, in run self._install() File "/aos/system_agent/runner/actions/base_action.py", line 386, in _install self.device_facts = self.get_device_facts() File "/aos/system_agent/runner/actions/utils/base_di.py", line 198, in wrapped return f(self, *args, **kwargs) File "/aos/system_agent/runner/actions/juniper.py", line 351, in get_device_facts output = self.show_cmd('show chassis hardware | display json') File "/aos/system_agent/runner/actions/juniper.py", line 245, in show_cmd output = self.run_remote_command(cmd=cmd, cli_command=cli_command, File "/aos/system_agent/runner/actions/juniper.py", line 198, in run_remote_command output = ssh.run() File "/aos/system_agent/runner/actions/utils/remote.py", line 143, in run raise RemoteSshCommandException(self) aos.system_agent.runner.actions.utils.remote.RemoteSshCommandException: Remote ssh command failed
2024-06-15 01:33:38,158 ERROR:STDOUT:
2024-06-15 01:33:38,158 ERROR:STDERR:

Symptoms

ERROR:Failure reason: , return-code: 255

Solution

ERROR:Failure reason: , return-code: 255 can be caused by multiple reasons, such as
- firewall dropping some packets between Apstra and the devices
- authentication issue (e.g. tacacs is configured in pristine..)
- and more

If you are onboarding Junos device for the first time, please go through our documentation, especially this page - Juniper Junos Offbox Agent Minimum Configuration.
https://www.juniper.net/documentation/us/en/software/apstra6.1/apstra-user-guide/topics/task/agent-offbox-create.html

You need to start onboarding Junos devices only with minimum configuration, then Apstra will render the necessary configuration on top of your minimum 'pristine' config once the agent is installed. 
 
e.g. Minimum config should be like this:
 
system {
  login {
    user aosadmin {
      uid 2000;
      class super-user;
      authentication {
        encrypted-password "xxxxx";
      }
    }
  }
  services {
    ssh;
    netconf {
      ssh;
    }
  }
  management-instance;
}
interfaces {
  em0 {
    unit 0 {
      family inet {
        address <address>/<cidr>;
      }
    }
  }
}
routing-instances {
  mgmt_junos {
    routing-options {
      static {
        route 0.0.0.0/0 next-hop <management-default-gateway>;
      }
    }
  }
}

 
Please delete all your configuration (or do zeroize) then try again. 

 

Modification History

2024-06-20 : Article Created
solution clarified. 
2026-03-05: DOCS link updated 4.2 -> 6.1