Configuration workflow

MD-CLI session modes

There are two modes in the MD-CLI:

The first line of the user prompt indicates the active configuration mode. For example:

At login, an MD-CLI session always starts in operational mode. To configure the router, the user must enter a configuration mode using the explicit or implicit configuration workflow.

The configuration workflow (implicit or explicit) determines if the user is restricted to the configure branch or if the user can navigate freely while in configuration mode. Configuration workflows are detailed in Implicit and explicit configuration workflows.

The configuration mode (private, exclusive, global, or read-only) determines the interaction with other simultaneous configuration sessions. Candidate configuration modes are detailed in Candidate configuration modes.

Transactional configuration method

The MD-CLI transactional configuration method is a two-step process in which configuration changes are made in a candidate configuration. When the configuration is committed, the changes are copied to the running configuration and become active.

The following figure shows the flow of configuration changes from the candidate configuration to the running configuration.

Figure: Flow of configuration changes

Other non-router configuration operations, such as changing the MD-CLI session environment are active immediately.

The MD-CLI configuration method differs from the classic CLI in the following ways:

Implicit and explicit configuration workflows

The MD-CLI supports two configuration workflows:

The following table compares the implicit and explicit configuration workflows.

Table: Implicit and explicit configuration mode features

Implicit configuration workflow Explicit configuration workflow

Use

User focused on configuration tasks in the configure branch

Power user mode with unrestricted navigation capabilities

Flexibility

Run operational commands or configuration commands from the configure branch

Run operational commands or configuration commands anywhere

configure

Enters configuration mode1 and navigates to the configure branch

Navigates to the configure branch (after edit-config command)

edit-config

Enters configuration mode1

exit all or CTRL-Z or /

Leaves configuration mode and navigates to the operational root

Navigates to the operational root

quit-config

Leaves configuration mode

Commands that result in an action or display output

Execute the command

Execute the command

Commands that navigate out of the configure branch

Not allowed

Navigate

info and configuration commands in the configure branch

Allowed

Allowed

info and configuration commands out of the configure branch

Not allowed

Allowed

Using the implicit configuration workflow

In the implicit configuration workflow, navigation while in configuration mode is restricted to the configure branch and its descendants.

The configure {private | exclusive | global | read-only} command places the user session in the specified configuration mode and navigates to the top of the configuration tree (/configure).

Example: First line indicated configuration mode

The first line of the session prompt indicates the configuration mode prepended to the context and separated with a colon.

[/]
A:admin@node-2# configure exclusive
INFO: CLI #2060: Entering exclusive configuration mode
INFO: CLI #2061: Uncommitted changes are discarded on configuration mode exit

[ex:/configure]
A:admin@node-2#

When the MD-CLI session is in operational mode, the configure command only accepts a configuration mode parameter and cannot be followed by a path to navigate nor by a configuration element to edit the router configuration.

Example: MD-CLI session in operational mode

[/]
A:admin@node-2# configure exclusive router
                                    ^^^^^^
MINOR: CLI #2069: Operation not allowed - currently in operational mode

[/]
A:admin@node-2#

The following navigation commands leave configuration mode if they cause navigation outside the configuration branch:

  • back, or back with a number greater than the present working context depth

  • exit, or exit all

  • CTRL-Z

  • /

  • }

Example: Exiting the configuration mode

[ex:/configure router "Base"]
A:admin@node-2# exit all
INFO: CLI #2064: Exiting exclusive configuration mode

[/]
A:admin@node-2#

Example: Commands that do not navigate outside the configure branch

Commands that do not navigate outside the configure branch or that result in an action or display output are allowed.

[ex:/configure]
A:admin@node-2# /show uptime
System Up Time         : 3 days, 00:27:49.35 (hr:min:sec)

[ex:/configure]
A:admin@node-2#
[ex:configure]
A:admin@node-2# /environment more false

[ex:/configure]
A:admin@node-2#

Example: Commands that navigate outside the configure branch

Commands that navigate out of a configure branch are not allowed.

[ex:/configure]
A:admin@node-2# /show router
MINOR: CLI #2069: Operation not allowed - cannot navigate out of configuration region

[ex:/configure]
A:admin@node-2#
[ex:/configure]
A:admin@node-2# /tools dump
MINOR: CLI #2069: Operation not allowed - cannot navigate out of configuration region

[ex:/configure]
A:admin@node-2#

Using the explicit configuration workflow

In the explicit configuration workflow, navigation while in configuration mode is unrestricted. Operational and configuration commands can be executed from any context.

The edit-config {private | exclusive | global | read-only} command places the user session in the specified configuration mode. The present working context is not changed.

Example: Showing configuration mode in the prompt

The first line of the session prompt indicates the configuration mode between round brackets.

[/show router]
A:admin@node-2# edit-config exclusive
INFO: CLI #2060: Entering exclusive configuration mode
INFO: CLI #2061: Uncommitted changes are discarded on configuration mode exit

(ex)[/show router]
A:admin@node-2#

When the MD-CLI session is in configuration mode, the configure command can be followed by a path to navigate or by a configuration element to edit the router configuration.

Example: Command following by a path or configuration element

(ex)[/]
A:admin@node-2# show router

(ex)[/show router]
A:admin@node-2# /configure system time zone standard name utc

*(ex)[/show router]
A:admin@node-2# /configure router

*(ex)[/configure router "Base"]
A:admin@node-2#

Commands that result in an action or display output can be executed in the configure branch. Navigation outside the configure branch is allowed and does not exit the configuration mode.

Example: Navigation outside the configure branch

(ex)[/configure router "Base"]
A:admin@node-2# /show uptime
System Up Time         : 8 days, 23:16:45.01 (hr:min:sec)

(ex)[/configure router "Base"]
A:admin@node-2# /tools

(ex)[/tools]
A:admin@node-2#

Configuration commands, such as info and commit, can be executed outside the configure branch.

Example: Executing commands outside the configure branch

(ex)[/tools]
A:admin@node-2# info
    configure {
        log {
       {
---snip---
       
(ex)[/tools]
A:admin@node-2# commit

(ex)[/tools]
A:admin@node-2#

The quit-config command exits configuration mode and places the session in operational mode. The quit-config command must be executed from the operational root. The present working context does not change.

Example: Using the quit-config command

(ex)[/tools]
A:admin@node-2# exit all

(ex)[/]
A:admin@node-2# quit-config
INFO: CLI #2064: Exiting exclusive configuration mode

Transitioning from an implicit to an explicit configuration workflow

An MD-CLI configuration session can transition from an implicit to an explicit configuration workflow using the edit-config command while in configuration mode.

Transitioning from an explicit to an implicit configuration workflow is not supported.

Example
[/]
A:admin@node-2# configure exclusive
INFO: CLI #2060: Entering exclusive configuration mode
INFO: CLI #2061: Uncommitted changes are discarded on configuration mode exit

[ex:/configure]
A:admin@node-2# /show
MINOR: CLI #2069: Operation not allowed - cannot navigate out of configuration region

[ex:/configure]
A:admin@node-2# edit-config exclusive

(ex)[/configure]
A:admin@node-2# /show

(ex)[/show]
A:admin@node-2#
1 Requires specifying the configuration mode (private | exclusive | global | read-only)