Skip to main content

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.