Skip to main content
Pure1 Support Portal

pureapp

Name

pureapp, pureapp-list — The pureapp command displays the attributes and connection statuses of all installed apps.

Synopsis

pureapp list [ --csv | --nvp ] [--filter FILTER] [--limit LIMIT] [--notitle] [--page] [--raw] [--sort SORT] [APP...]

Arguments

APP

App name.

Options

-h | --help

Can be used with any command or subcommand to display a brief syntax description.

Options that control display format:

--csv

Lists information in comma-separated value (CSV) format. The --csv output can be used for scripting purposes and imported into spreadsheet programs.

--notitle

Lists information without column titles.

--nvp

Lists information in name-value pair (NVP) format, in the form ITEMNAME=VALUE. Argument names and information items are displayed flush left. The --nvp output is designed both for convenient viewing of what might otherwise be wide listings, and for parsing individual items for scripting purposes.

--page

Turns on interactive paging.

--raw

Displays the unformatted version of column titles and data. For example, in the purearray monitor output, the unformatted version of column title us/op (read) is usec_per_read_op. The --raw output is used to sort and filter list results.

Options that manage display results:

--filter FILTER

Displays only the rows that meet the filter criteria specified.

--limit LIMIT

Limits the size of the list output to the specified maxmimum number of rows.

--sort SORT

Sorts the list output in ascending or descending order by the column specified.

Description

The Apps platform extends array functionality by integrating add-on, VM-based services into the Purity operating system. Each app within the platform provides one or more services.

In the following example, an app named linux has been installed on the array. The linux app represents an Ubuntu Linux distribution with Docker pre-installed, giving pureuser the ability to run Docker-based containers on the array.

$ pureapp list
Name   Version  Status   Description
linux  1.0.0    healthy  Ubuntu Linux 16.04 pre-installed with Docker

Note that if an app migrates between controllers, it briefly stops and restarts.

Apps require CPU, memory, network, and storage resources. For this reason, no apps are installed by default. The Apps installation process is managed by Pure Storage Support and is typically performed during a Purity installation or upgrade.

To determine if apps are installed on your array, run the pureapp list command. If apps are installed on your array, Purity displays a list of the installed apps.

Once an app has been installed, perform the following tasks:

  1. View the app attributes (pureapp list) to verify that the app is running.

  2. View the volume attributes (purevol list) to verify that the boot and data volumes have been created.

  3. View the host attributes (purehost list) to verify that the app host has been created, and view the host connection details (purehost list --connect) to verify that the boot and data volumes are connected to the app host.

  4. View the app interfaces (purenetwork list) to verify that they have been created.

  5. Configure the app interface(s) by assigning an IP address to the interface (purenetwork setattr --address) and then enabling the interface (purenetwork enable).

    • To give pureuser the ability to log into the app, configure the app management interface.

    • To use a separate interface to transfer data in high volumes and at high speed, configure the app data interface.

  6. Optionally connect FlashArray volumes to the app (purevol connect --host or purehost connect --vol).

Viewing App Attributes

The pureapp list command displays all of the apps that are installed on the array, along with the following attributes for each app:

  • Name: App name. The app name is pre-assigned and cannot be changed.

  • Version: App version that is currently installed on the array.

  • Status: App status. A status of healthy means that the app is running. A status of unhealthy means that the app is not running. If the app is in an unhealthy state, contact Pure Storage Support.

  • Description: Description of the app.

Viewing App Volumes

Each app has a boot volume and a data volume. Run the purevol list command to see a list of volumes, including app volumes. App volume names begin with a distinctive @ symbol.

The naming convention for app volumes is @APP_boot for the boot volume and @APP_data for the data volume, where APP denotes the app name.

The following example displays the boot and data volumes for the linux app.

$ purevol list @linux*
Name         Size  Source  Created                  Serial
...
@linux_boot  15G   -       2016-11-09 15:13:37 MST  AC97A330F2544A3C00011010
@linux_data  16T   -       2016-11-09 15:14:17 MST  AC97A330F2544A3C00011012

The boot volume represents a copy of the boot drive of the app. Do not modify or save data to the boot volume. When an app is upgraded, the boot volume is overwritten, completely destroying its contents including any other data that is saved to it. The data volume is used by the app to store data.

The following example shows that the drives were correctly mounted inside the linux app.

pureuser@linux:~$ df
Filesystem       1K-blocks    Used   Available Use%  Mounted on
udev               8198768       0     8198768   0%  /dev
tmpfs              1643272    8756     1634516   1%  /run
/dev/sda1         15348720 1721392    12824616  12%  /
/dev/sdb       17177782208   33608 17177748600   1%  /data

Disk device /dev/sdb, which corresponds to the app data volume, is mounted on /data, meaning the data will be saved to the data volume (and not the boot volume), and disk device /dev/sda1, which corresponds to the app boot volume, is mounted on /.

Viewing App Hosts

Each app has a dedicated host, known as an app host. The app host is connected to the associated boot and data volumes. The app host is also used to connect FlashArray volumes to the app.

App host names begin with a distinctive @ symbol. The naming convention for app hosts is @APP, where APP denotes the app name.

The following example displays the app host for the linux app.

$ purehost list @linux*
Name    WWN  IQN  Host Group
@linux  -    -    -

The following example displays one app host named @linux and its associated boot and data volumes.

$ purehost list --connect @linux*
Name    LUN  Vol          Host Group
@linux  1    @linux_boot  -
@linux  2    @linux_data  -

Unlike regular FlashArray hosts, app hosts cannot be deleted, renamed, or modified in any way. Furthermore, app hosts cannot be added to host groups or protection groups.

Viewing App Interfaces

For each app that is installed by Pure Storage Support, one app management interface is created per array management interface. An app data interface may also be created for high-speed data transfers.

The naming convention for app interfaces is APP.datay for the app data interface, and APP.mgmty for the app management interface, where APP denotes the app name, and y denotes the interface.

In the following example, for the linux app, two app management interfaces, one named linux.mgmt0 and another named linux.mgmt1, have been created to correspond to each of the array management interfaces. An app data interface (named linux.data0) with a data transfer rate of 10 gigabytes per second has also been created.

Name         Enabled  Address      Mask           ...  Speed       Services
ct0.eth0     True     10.7.102.60  255.255.255.0  ...  1.00 Gb/s   management
ct0.eth1     False    -            -              ...  1.00 Gb/s   management
ct0.eth2     True     10.7.102.62  255.255.255.0  ...  10.00 Gb/s  iscsi
ct1.eth0     True     10.7.102.70  255.255.255.0  ...  1.00 Gb/s   management
ct1.eth1     False    -            -              ...  1.00 Gb/s   management
ct1.eth2     True     10.7.102.72  255.255.255.0  ...  10.00 Gb/s  iscsi
linux.data0  False    -            -              ...  10.00 Gb/s  app
linux.mgmt0  False    -            -              ...  1.00 Gb/s   app
linux.mgmt1  False    -            -              ...  1.00 Gb/s   app
vir0         True     10.7.102.80  255.255.255.0  ...  1.00 Gb/s   management
vir1         False    -            -              ...  1.00 Gb/s   management

Configuring App Interfaces

Configure an app interface to give pureuser the ability to log into the app or transfer data through through a separate interface. Configuring an app interface involves assigning an IP address to the interface and then enabling the interface.

Optionally set the gateway. Note that only one of the app interfaces of a particular app can have a gateway set.

Before you configure an app interface, make sure the corresponding external interface is physically connected.

Configure one or more of the following app interfaces:

  • App Management Interface

    Configure the app management interface to give pureuser the ability to log into the app with the same Purity login credentials. If a public key has been created for the user, it can be used to log into the app. Purity password changes are automatically applied to the app.

    To configure the app management interface, run the purenetwork setattr --address command to assign an IP address to one of the app management interfaces, and then run the purenetwork enable command to enable the interface.

  • App Data Interface

    Configure the app data interface to use a separate interface for high-speed data transfers.

    To configure the app data interface, run the purenetwork setattr --address command to assign an IP address to the app data interface, and then run the purenetwork enable command to enable the interface.

In the following example, app management interface linux.mgmt0 has been enabled and IP address 10.8.102.96 has been assigned to the interface, giving pureuser the ability to log directly into the linux app with the same Purity login credentials.

$ purenetwork list
Name         Enabled  Address      ...  Speed       Services
...
linux.data0  False    -            ...  10.00 Gb/s  app
linux.mgmt0  True     10.8.102.96  ...  1.00 Gb/s   app
linux.mgmt1  False    -            ...  1.00 Gb/s   app
...

Establishing Connections between FlashArray Volumes and Apps

FlashArray volumes are connected to apps via the app host.

To connect a FlashArray volume to an app, connect the volume to the app host that is associated with the app. In the following example, five FlashArray volumes, along with the linux boot and data volumes, are connected to the @linux app via the @linux app host.

$ purehost list --connect @linux*
Name    LUN  Vol          Host Group
@linux  1    @linux_boot  -
@linux  2    @linux_data  -
@linux  3    app_vol001   -
@linux  4    app_vol002   -
@linux  5    app_vol003   -
@linux  6    app_vol004   -
@linux  7    app_vol005   -
        

FlashArray volumes are connected to app hosts in the same way that they are connected to regular FlashArray hosts. Run the purevol connect --host command to connect one or more volumes to an app host. The connection can also be established by running the purehost connect --vol command.

A FlashArray volume can only be connected to one app host at a time. Furthermore, the FlashArray volume cannot be connected to other hosts or host groups while it is connected to an app host.

After a FlashArray volume has been connected to an app host, rescan the SCSI bus to ensure the newly-connected volumes are visible from inside the app. The following example displays the five FlashArray volumes (and their target LUNs) as SCSI devices from inside the linux app, ready to be mounted.

pureuser@linux:~$ cat /proc/scsi/scsi
Attached devices:
Host: scsi2 Channel: 00 Id: 01 Lun: 03
  Vendor: PURE     Model: FlashArray       Rev: 9999
  Type:   Direct-Access                    ANSI  SCSI revision: 06
Host: scsi2 Channel: 00 Id: 01 Lun: 04
  Vendor: PURE     Model: FlashArray       Rev: 9999
  Type:   Direct-Access                    ANSI  SCSI revision: 06
Host: scsi2 Channel: 00 Id: 01 Lun: 05
  Vendor: PURE     Model: FlashArray       Rev: 9999
  Type:   Direct-Access                    ANSI  SCSI revision: 06
Host: scsi2 Channel: 00 Id: 01 Lun: 06
  Vendor: PURE     Model: FlashArray       Rev: 9999
  Type:   Direct-Access                    ANSI  SCSI revision: 06
Host: scsi2 Channel: 00 Id: 01 Lun: 07
  Vendor: PURE     Model: FlashArray       Rev: 9999
  Type:   Direct-Access                    ANSI  SCSI revision: 06
      

To disconnect a FlashArray volume from an app host, run the purevol disconnect --host or purehost disconnect --vol command.

Installing Apps

The Apps installation process is managed by Pure Storage Support and is typically performed during a Purity installation or upgrade. To install apps, contact a member of the Pure Storage account team or email Pure Storage Support.

Examples

Example 1

pureapp list
      

Displays a list of all apps that have been installed on the array, and the attributes of each app, including app name, version number, connection status, and description.

Example 2

purevol list @linux*
purehost list --connect @linux
purenetwork setattr --address 10.8.108.165 linux.mgmt0
purenetwork enable linux.mgmt0
      

Displays the boot and data volumes for the linux app, displays the names of all volumes that are connected to app host linux, assigns IP address 10.8.108.165 to app management interface linux.mgmt0, and enables interface linux.mgmt0, giving pureuser the ability to log into the linux app.

Example 3

purevol connect --host @linux app__vol001
      

Connects FlashArray volume app_vol001 to the linux app via app host @linux. Note that the connection can also be established by running the purehost connect --vol command.

Example 4

purehost disconnect --vol app_vol002 @linux
      

Breaks the connection between FlashArray volume app_vol002 and the linux app. Note that the connection can also be established by running the purevol disconnect --host command.

Author

Pure Storage Inc.