Changes during the Upgrade Process
The wizard includes the following configurations in the upgrade.
What is Included in the Upgrade?
The Upgrade capability upgrades the following:
Support Repository Configuration
Active Security Realms Anonymous Access Settings Atlassian Crowd Settings HTTP Proxy Settings LDAP Settings NuGet API Keys Privileges Repository Health Check Role Mappings for LDAP/Crowd Roles SSL Certificates feature Users User Tokens
Supported Repository Formats
Maven2 (excluding staging repositories) npm NuGet Site - renamed to Raw RubyGems
IQ Server configuration
Repositories keep items in quarantine. Changes to quarantined items are updated through the synchronization upgrade step.
The following component metadata
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.
NuGet API Keys
The upgrade tool adds all keys from Nexus Repository 2 even when the realm is not active.
Content Storage
Nexus Repository 2 stores content directly on the filesystem in folders while Nexus Repository 3 uses a blob store format to work with more formats and storage options.
Nexus Repository 3 iterates over every component stored in Nexus Repository 2. This takes the bulk of the time required for the upgrade process.
See Storage Planning
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.
Component URLs
Nexus Repository 2 uses a different URL pattern to expose repositories and repository groups. Nexus Repository 3 adds the NXRM2 style URL capability to allow your automated tools and CI to use the old patterns.
See Legacy URL Paths
Roles
Roles upgraded from Nexus Repository 2 are assigned a Role ID that starts with nx2-
in Nexus Repository 3. Role descriptions created during the upgrade process have the word legacy
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 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 in the log when this error occurs.
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.
What is Not Included in the Upgrade?
The following items are not included in the upgrade:
Unsupported repository formats: Yum Maven1, P2, OBR Capabilities Custom branding Custom edits to logback.xml configuration files Environment variables Java VM settings Manual edits to files in the installation directory Operating system service scripts Operating system optimization Routing rules Scheduled tasks Staging repositories, settings, or configuration The admin user's password Third-party or custom-developed plugins Virtual repositories
Yum Repositories from Nexus Repository 2
RPMs stored in Yum-enabled Maven2 repositories on Nexus Repository 2 can only be moved to Maven2 repositories in Nexus Repository 3. 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.
P2 Repositories from Nexus Repository 2
We recommend producing the final P2 static site using your build pipeline and publishing the final site to a raw format hosted repository in Nexus Repository 3.
Use the repository import to import P2-hosted repo content into a raw repository.