Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

If you are getting a connection timeout error when attempting to access an app on Nex!™ it is likely that something wrong is going on with all the routing racks. When this issue occurs you are likely to observe the following error in Chrome:

Image RemovedImage Added


2 - Checking Nginx on the routing racks

The following steps assume that you have installed setup the Nex!™ CLIcommand line client and that you have administrative access to the platform.

You can display the list of routing racks and access one of them using the following commands:

Code Block
# Display all routing racks
nex-cli racks --type routing


# Access rack by internal IP
nex-cli racks:ssh 10.1.1.1

...

Code Block
# Check if any nginx process is running
ps -ef | grep nginx


# Perform a full restart of nginx
service nginx restart


# Check if nginx is up
ps -ef | grep nginx

...

Nginx not starting is usually related to default SSL certificates not being setup properly. If the above command yields an error related to SSL, Private Key, Public Key then go to section Section 3.

Anchor
fixingsslcertificate
fixingsslcertificate
3 - Fixing the default SSL certificates

If the default Nginx certificates are not properly setup - e.g. missing public or private key, keys not matching - Nginx will simply refuse to start. This problem typically indicates that the Nex!™ Orchestrator configuration is incorrect.

...

a) Using Ansible

If you are using Maestrano's Ansible framework to deploy the Nex!™ orchestrator then you should review your ssl configuration in the *_secret.yml file. See this example of configuration file to understand what to look for:

...

Once your mno-deploy-* configuration package has been rebuilt (e.g. using Codeship) redeploy the orchestrator itself to update the its configuration. You can do this through your favorite deployment tool (e.g. Rundeck) or by running the following commands on the Nex!™ orchestrator boxes directly:

Code Block
# E.g on AWS
bash <(curl -s http://169.254.169.254/latest/user-data)


# E.g. on Azure
bash /opt/maestrano/redeploy.sh

...

Code Block
# Go to the Rails config folder
cd /apps/nex/current/config


# Edit the application.yml file
vi application.yml

...

Code Block
# Access one of the Nex!™ orchestrator boxes via SSH


# Access the rails console
cd /apps/nex/current
bundle exec rails c <uat|production>


# Reconfigure all routing racks
RoutingRack.where(status:'running).each(&:sync_base_config)

...