Data Included, Excluded, and Changed During Nexus Repository 2 to 3 Upgrade Process
The Upgrade Wizard will help guide you through the upgrade process as outlined in Step-by-Step Nexus Repository 2 to 3 Upgrade Wizard Instructions. However, the wizard is only able to include certain configurations in the upgrade.
What is Included in the Upgrade?
The Upgrade capability upgrades the following automatically:
Configuration
Active Security Realms
Anonymous Access Settings
Atlassian Crowd Settings
HTTP Proxy Settings
LDAP Settings
NuGet API Keys
Privileges
Repository Health Check and its corresponding SSL trust store configuration
For OSS, only Health Check: Configuration capability settings are included
For Pro, existing SSL: Health Check settings are also included
Role Mappings for LDAP/Crowd
Roles
SSL Certificates that have been trusted in SSL Certificates feature
Users
User Tokens
IQ Server configuration
IQ Server URL
Username
Password
Request Timeout
Analysis properties
Trust store usage
Enabled Nexus IQ Server connection
Repositories configured with the Firewall Audit and Quarantine capability will keep the capabilities as well as the audited and quarantined items
Warning
While Nexus Repository 2 can keep running while upgrade occurs, changes to the content will only be upgraded through theSynchronization upgrade step. Changes to audited and quarantined items from the IQ Server are included in this caveat.
Repositories in supported formats:
Maven2 (excluding staging repositories)
npm
NuGet
Site (called Raw in Nexus Repository 3)
RubyGems
NuGet API key - The upgrade tool adds all keys from Nexus Repository 2 to Nexus Repository 3 even if the NuGet API Key Realm is not active in Nexus Repository 2
The following existing Nexus Repository artifact information is maintained during upgrade:
uploaded_by
uploaded_by_ip
uploaded_date
lastModified
Changes to Data During Upgrade Process
Nexus Repository 3 uses a different architecture from Nexus Repository 2; therefore, some core changes to data occur as part of the upgrade process.
Content Storage
In Nexus Repository 2, all content is stored in a filesystem on disk.
Nexus Repository 3, however, uses a blob store format for storing content. This allows Nexus Repository 3 to work with more formats since they no longer have to map directly to a file system. See Storage Planning for more details about how to work with blob stores.
Nexus Repository 3 must iterate over every component stored in Nexus Repository 2. This takes the bulk of the time required for the upgrade process.
Settings and Metadata
In Nexus Repository 2, settings and some component metadata are stored across many files.
Nexus Repository 3 loads equivalent data into the database.
URLs
Nexus Repository 2 uses a different URL pattern to expose repositories and repository groups than Nexus Repository 3. During upgrade, Nexus Repository 3 adds a NXRM2 style URLs capability to allow your automated tools and CI to use the old patterns. Configuring Legacy URL Paths covers this in more detail.
Roles
Roles upgraded from Nexus Repository 2 are assigned a Role ID that starts withnx2-
in Nexus Repository 3. Role descriptions created during the upgrade process have the wordlegacy
in their description.
Repository Targets
Repository targets from Nexus Repository 2 are converted to Content Selectors in Nexus Repository 3. Repository targets were based on regular expressions; these are automatically converted to Content Selector Expression Language (CSEL), a performant subset of JEXL.
Repository IDs
Nexus Repository 3 uses the Repository ID defined in Nexus Repository 2 as the Name for the upgraded repository; they define the access URL in both cases. The user-facing Repository Name from Nexus Repository 2 is dropped during the upgrade since there is no equivalent feature in Nexus Repository 3.
IDs of repositories and repository groups in Nexus Repository 2 that differ only by case will not be accepted during an upgrade to Nexus Repository 3 (example version 2 IDs: myrepoid
vs Myrepoid
). To resolve the ID conflict review and change any IDs in version 2 to distinguishable names.
HTTP(S) Proxy Configuration
Your HTTP or HTTPS proxy settings for Nexus Repository 2 may not be valid for your Nexus Repository 3 environment. You must configure your HTTP or HTTPS proxy settings in Nexus Repository 3 in order to upgrade them.
If HTTP or HTTPS proxy settings are enabled in your source Nexus Repository 2, the upgrade to your target Nexus Repository 3 might fail because the target can not communicate with the source repository manager. This could happen if Nexus Repository 3 could not find a Nexus Repository 2 proxy server in place.
If you enabled Nexus Repository 2 HTTP or HTTPS settings during an upgrade, Nexus Repository 3 would use its original HTTP or HTTPS settings and ignore the settings in place for Nexus Repository 2.
Nexus Repository 3 generates a warning is in the log if this error occurrs. It will also log "Skipping HTTP(S) proxy settings, connection to Nexus 2 failed using new settings. Please manually configure the HTTP proxy settings after the upgrade is done." if something else fails.
What is Not Included in the Upgrade?
The following items are not included in the upgrade:
Unsupported repository formats
Yum
RPMs stored in Yum-enabled Maven2 repositories on Nexus Repository 2 can only be moved to Maven2 repositories in Nexus Repository 3. Any Yum-related capabilities must be disabled on the Maven2 repository first. There is no automatic option to move RPMs in Nexus Repository 2 Maven2 repositories into Yum format repositories in Nexus Repository 3.
Maven1
p2
OBR
Capabilities
Custom branding
Custom log levels or edits to
logback.xml
configuration files (e.g., custom log file rotation, file naming, log patterns)Environment variables affecting values used to control the repository manager
Java VM settings, including custom system properties or variables
Jetty server XML configuration files
Manual edits to other files under the
nexus
installation directory, such as edits tonexus/WEB-INF/classes/ehcache.xml
Operating system
nexus
service scriptsOperating system optimization, such as increasing allowable open file handles
Routing rules
Scheduled tasks
Staging repositories, settings, or configuration
The admin user password from Nexus Repository 2
Third-party or custom-developed plugins
Virtual repositories