# Pinning Versions ## Old Version If you want to test rolling updates and upgrades to a new minor version, check out the *e90* sample: This sample installs version 9.0.1400 for testing. Because cluster node discovery changed with a newer jGroups version in nscale, the chart detects the older version and enables the legacy discovery mechanism so the Pod can find its peers on versions prior to 9.1.1200. ``` helm install \ --values samples/empty.yaml \ --values samples/demo.yaml \ --values versions/9.0.1400.yaml \ sample-e90 nplus/nplus-instance ``` ## New Version Sample Some nscale versions are license compatible, meaning a 9.1 license file can also run nscale 9.0 software. But that is not always the case. So you may need to set individual licenses per instance: ``` kubectl create secret generic nscale-license-e10 \ --from-file=license.xml=license10.xml ``` Check that the license has been created: ``` # kubectl get secret | grep license nscale-license Opaque 1 7d22h nscale-license-e10 Opaque 1 17s ``` Now install the instance: ``` helm upgrade -i \ --values samples/empty.yaml \ --values samples/demo.yaml \ --values versions/10.0.yaml \ --set global.license=nscale-license-e10 \ sample-e10 nplus/nplus-instance ``` ## Probes Older versions might not work with the newer/current probes and may not start even though they are actually running. You can override the probes to match older versions, for example: ``` nappl: probes: livenessProbe: httpGet: path: /index.html port: 8080 initialDelaySeconds: 60 timeoutSeconds: 3 failureThreshold: 5 readinessProbe: httpGet: path: /index.html port: 8080 initialDelaySeconds: 60 timeoutSeconds: 3 failureThreshold: 5 ```