---
# System prepended metadata

title: Oracles v1.6 Upgrade Guide - Step 2

---

# Oracles v1.6 Upgrade Guide - Step 2

*Disclaimer: These instructions are made for Ubuntu 20.04. The commands may not match 100% on other distros, nor is there any guarantee that it will work.*

# Prerequiste

These instructions are for those who already upgrade to 1.6.0. 

# Upgrade

**Upgrade Omnia and Dependencies to version 1.6.1 (from 1.6.0)** 
`nix-env --install --verbose --file https://github.com/makerdao/oracles-v2/tarball/v1.6.1`


**Configure Gofer, Spire, Scuttlebot and Omnia**
```
sudo rm /etc/spire.json
install-omnia feed --ssb-caps ~/caps.json --ssb-external <your external ip here>
```

**Manual Configuration for Spire**

*install-omnia will have copied the spire configuration file to /etc/spire.json*

This file configure the signing key for the libp2p message, which is the same as the signing key for price data. It also configure the list of pairs and feeds that your node will relay to other network participant. Pairs and feeds that are not listed are not relayed to mitigate spamming.

`sudo vim /etc/spire.json`

In `rpc`, set the `address` to `127.0.0.1` to an arbitrary port:
```
  "rpc": {
    "address": "127.0.0.1:31823"
  },
```

In `ethereum`, set the `from`, `keystore` and `password` exactly as in `/etc/omnia.conf`
```
  "ethereum": {
    "from": "<ethereum address for the feed>",
    "keystore": "<keystore location>",
    "password": "<password file>"
  },
```

By default, Spire selects a random port to listen for p2p connections. If there is a firewall, if you're doing port mapping, or you intend to act as a bootstrap node to others, add the property `listenAddrs` to select a static port. Make sure to perform the appropriate change on your infrastructure.
```
  "p2p": {
    "listenAddrs": ["/ip4/0.0.0.0/tcp/8000"],
    "bootstrapAddrs": [
```

**Set Spire as systemd services and schedule to run on system boot**
```
sudo systemctl daemon-reload
sudo systemctl enable spire-agent.service
```

Start the spire service for the first time
```
sudo systemctl start spire-agent
```

**Check spire logs**
`sudo journalctl --follow --unit spire-agent`
Confirm that the agent is running without errors

**Enable spire in omnia**
This will make omnia pushing price updates to spire in addition to ssb.
```
sudo vi /etc/omnia.conf
```
In `transports`, add `transport-spire`
```
  "transports": [
    "transport-ssb","transport-spire"
  ],
```


Restart the services
```
sudo systemctl restart gofer-agent
sudo systemctl restart ssb-server
sudo systemctl restart omnia
```

**[fyi] To stop running Omnia, Gofer and Scuttlebot**
```
sudo systemctl stop ssb-server
sudo systemctl stop omnia
sudo systemctl stop gofer-agent
```

**[fyi] To stop Omnia and Scuttlebot from starting on system boot**
```
sudo systemctl disable --now ssb-server
sudo systemctl disable --now omnia
sudo systemctl disable --now gofer-agent
```

**[fyi] To query gofer and confirm that the agent works**
```
gofer prices MANA/USD --config /etc/gofer.json --format=trace
```
This should return an aggregated price, and the trace for its calculations. Then you can check the agent logs (`sudo journalctl -feu gofer-agent`) and confirm that there are no errors in the agent logs either.

# Final steps
**Check Status of Omnia and Scuttlebot**
```
sudo systemctl status ssb-server
sudo systemctl status omnia
sudo systemctl status gofer-agent
sudo systemctl status spire-agent
```

**Check Scuttlebot logs**
`sudo journalctl --follow --unit ssb-server`

**Check Omnia logs**
`sudo journalctl --follow --unit omnia`

Here, we want to make sure that omnia is publishing messages to Scuttlebot (e.g. `Publishing SOLUSD price message with transport-ssb`) and Spire (e.g. `Publishing SOL/USD price message with transport-spire`) and that it is obtaining the data from `gofer` (e.g. `Querying AAVE/USD prices and calculating median with setzer...`). 

**Check Gofer logs**
`sudo journalctl --follow --unit gofer-agent`
There shouldn't be any errors in the gofer logs.

**Check Spire logs**
`sudo journalctl --follow --unit spire-agent`
There shouldn't be any errors in the spire logs.

**Review your journalctl settings**
The addition of Spire and Gofer increases greatly the volume of logs generated. Make sure `journalctl` isn't using too much space.
```
sudo journalctl --disk-usage
```
You may limit this size by setting `dsf` in `/etc/systemd/journald.conf`
```
SystemMaxUse=2G
```
Then restart with 
```
sudo systemctl restart systemd-journald
```


**Notify**

Let @marcandu on Keybase know that you completed the upgrade, so they can confirm that your feed is properly broadcasting messages on both Spire and Scuttlebot.