cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
243
Views
0
Helpful
2
Replies

NSO - "ncs-setup" Binary NOT Found

tellodman
Level 1
Level 1

Hello Folks,

I was just getting into Learning NSO, I was trying to install containerized version of Cisco NSO
"nso-6.4.8.container-image-build.linux.x86_64.signed.bin"

While trying to create a runtime environment for NSO, I noticed that the ns-setup binary is missing. Does anyone else encounter the same issue, or can someone clarify how the runtime environment should be created in NSO 6.4?

[root@548713892d4c run]# ls /opt/ncs/ncs-6.5/bin/ | grep ncs 
ncs 
ncs-backup 
ncs-collect-tech-report 
ncs-maapi 
ncs-make-package 
ncs-netsim 
ncs-project 
ncs-start-java-vm 
ncs-start-python-vm 
ncs-uninstall ncs_cli 
ncs_cmd 
ncs_conf_tool 
ncs_crypto_keys 
ncs_load 
ncs_pkg_delta 
ncsc

 @joepak 

1 Accepted Solution

Accepted Solutions

tellodman
Level 1
Level 1

 

After some investigation, I realized the issue comes from the installation command I was using:

 
 
RUN sh /tmp/nso --system-install --non-interactive --run-dir /nso/run --log-dir /log

From nso-docker/docker-images/Dockerfile     NSO Docker GitHub repository

The --system-install flag does not let you create NSO instances you should use the local installation of NSO.

So, if you want to use a local installation instead, you can create your own Dockerfile. Here’s an example that worked for me:

 
 
FROM ubuntu:latest

# Install dependencies
RUN apt-get update \
  && apt-get install -qy default-jdk ant make libxml2-utils openssh-server

# Copy NSO installer to container
ARG NSO_INSTALL_FILE
COPY $NSO_INSTALL_FILE /tmp/nso

# Run local install
RUN chmod +x /tmp/nso && /tmp/nso --local-install --non-interactive /nso-install

# Expose SSH, HTTP, HTTPS and NETCONF ports
EXPOSE 22 80 443 830 4334

# Source NSO environment on login
RUN echo 'source /nso-install/ncsrc' >> /root/.bashrc

This setup allows you to create your own NSO instance inside Docker and avoid the missing ncs-setup issue.

Also Thanks thanks to jabelk/example-docker 

It was much easier to find the issue i was having after looking into his README.

Also this is a great source by cisco to Master NSO Installation and Deployment - Cisco Video Portal

Hope this helps other learners facing the same problem!

View solution in original post

2 Replies 2

tellodman
Level 1
Level 1

 

After some investigation, I realized the issue comes from the installation command I was using:

 
 
RUN sh /tmp/nso --system-install --non-interactive --run-dir /nso/run --log-dir /log

From nso-docker/docker-images/Dockerfile     NSO Docker GitHub repository

The --system-install flag does not let you create NSO instances you should use the local installation of NSO.

So, if you want to use a local installation instead, you can create your own Dockerfile. Here’s an example that worked for me:

 
 
FROM ubuntu:latest

# Install dependencies
RUN apt-get update \
  && apt-get install -qy default-jdk ant make libxml2-utils openssh-server

# Copy NSO installer to container
ARG NSO_INSTALL_FILE
COPY $NSO_INSTALL_FILE /tmp/nso

# Run local install
RUN chmod +x /tmp/nso && /tmp/nso --local-install --non-interactive /nso-install

# Expose SSH, HTTP, HTTPS and NETCONF ports
EXPOSE 22 80 443 830 4334

# Source NSO environment on login
RUN echo 'source /nso-install/ncsrc' >> /root/.bashrc

This setup allows you to create your own NSO instance inside Docker and avoid the missing ncs-setup issue.

Also Thanks thanks to jabelk/example-docker 

It was much easier to find the issue i was having after looking into his README.

Also this is a great source by cisco to Master NSO Installation and Deployment - Cisco Video Portal

Hope this helps other learners facing the same problem!

tellodman
Level 1
Level 1

After some investigation, I realized the issue comes from the installation command I was using:

 

 
RUN sh /tmp/nso --system-install --non-interactive --run-dir /nso/run --log-dir /log

This is referenced in the NSO Docker GitHub repository. in "nso-docker/docker-images/Dockerfile"

The --system-install flag does not create NSO instances , you should use the NSO's Local installation to be able to create instances

So, if you want to use a local installation instead, you can create your own Dockerfile. Here’s an example that worked for me:

 

 
FROM ubuntu:latest

# Install dependencies
RUN apt-get update \
  && apt-get install -qy default-jdk ant make libxml2-utils openssh-server

# Copy NSO installer to container
ARG NSO_INSTALL_FILE
COPY $NSO_INSTALL_FILE /tmp/nso

# Run local install
RUN chmod +x /tmp/nso && /tmp/nso --local-install --non-interactive /nso-install

# Expose SSH, HTTP, HTTPS and NETCONF ports
EXPOSE 22 80 443 830 4334

# Source NSO environment on login
RUN echo 'source /nso-install/ncsrc' >> /root/.bashrc

This setup allows you to create your own NSO instance inside Docker and avoid the missing ncs-setup issue.

Thanks alot for jabelk/example-docker for making everything clearer.

Also you can refer to cisco's Video portal to Master NSO Installation and Deployment - Cisco Video Portal

Hope this helps other learners facing the same problem!