Image Manager

The Image Manager provides a variety of features for managing and controlling the Docker images of the Datatailr environments (packages containing all of the files, libraries, and settings) that you created in the Image Builder.

Note – Images can be created in the Image Builder.

Note – Anyone who belongs to the developer group can access the Image Manager.

Click the Image Manager icon. The following is displayed –

IMPORTANT! On day one of using Datatailr, the Image Manager window is empty. The first step of a Datatailr admin is to define a default image in the Image Builder. This default image is a starting point for developers and must be defined before they can use the Datatailr IDE. Developers can either use the default image as is or customize it to their needs and preferences. You may refer to Step 2 – Defining a Default IDE Image for more information about day one.

Each row in the Image Manager represents a container image that was created in the Image Builder. You may refer to the Image Builder for a description of the columns of information displayed for each image.

Image Manager Right-Click Menu

A variety of right-click menu options are provided in the Image Manager, as described below.

Change

This option enables you to change a variety of attributes of a container image.

Owner

This option enables you to assign a different Datatailr user as the owner, which is relevant when defining permissions, as described in Permissions below.

Permissions

This option enables you to specify the Read and Write permissions of various types of users. Users who do not have Read permission will not see that image in the Image Manager. Users with Write permissions can also modify, build and overwrite that image.

  • Owner – The owner is always awarded both Read and Write permissions.
  • Group – Specifies the Read and Write permissions of the members of the groups that are defined in the Group field of a scheduled job.
  • Other – Specifies the read and write permissions of the users who are not members of the Groups that are defined in the Group field (described above).

Description

This option enables you to change the description of each image for information purposes.

Copy to

This option enables you to promote a container image through the stages of development from Dev to Pre or from Pre to Prod. See Datatailr Environments for more information. The name of the environment through which the image has progressed then appears in the Tags column of the Image Manager.

The copy operation can only be performed under the following conditions –

  • A container image can only advance to the next stage if all its packages are in the same stage from which is being copied. For example, you can’t copy a container image from Pre to Prod, if some of its packages are still in the Dev environment. An appropriate message is displayed upon an attempt.

  • In Settings in the Approvals section, an admin can define that images can only be advanced to the next stage (from the Datatailr Dev to Pre or from Pre to Prod) upon receiving approval from specific users or user groups.

In this case, the relevant user must approve this promotion before it can be copied (advanced) to the next environment stage. You can use the Approval status option to see whether this image is awaiting approval.

For example, the window above shows that in order to promote a package or an image from Pre to Prod approval must be given either by one of the users specified in the "Users" field, or from someone from the admin group. Approvals can be given in the right-click menu of the Image Manager or the Package Manager.

Note – When attempting to copy an image that does not satisfy one of the above conditions to the next environment, you will be prompted to automatically approve it and copy the included packages to that environment, given that you have the permissions required to do so.

Approval config

If image approval has been defined as mandatory in Settings, then Approval config can be used to configure which users and user groups are allowed to advance images to the next stage (from the Datatailr Dev to Pre or from Pre to Prod), as well as their Read and Write permissions.

IMPORTANT! You can only opt-in for approval, not opt-out. This means that after approval has been defined to be required by specific users and user groups, then only those users and user groups can release the requirements for approval. Otherwise, they must approve the image before it can be advanced to the next stage.

Approval status

This option displays the approval status of the current image, such as whether it is awaiting approval or is already Approved. If a container image does not require approval, then it is considered approved by default, as shown below –

Approve

If a container image requires approval to allow it to advance to the next Datatailr environment stage (using the Copy to option), then this option is active. It enables the relevant users to approve the usage of the Copy to option.

Comments

This option enables you to view the comments that were left about a specific version of a package or image.

Select the version about which to display the comments and click OK. The following displays listing the comments that were left about this version.

Double-clicking an entry will display the actual comment. For example, as shown below –

Add comment

This option enables you to leave a comment about a specific container specific version of a package or image.

Select the version ab leave a comment and click OK. The following is displayed –

We recommend using this option to leave a comment after approval has been denied (using the Approve option described above).

These comments can be viewed using the Comments option described above.

Run test(s)

Datatailr supports the Python py.test regression test framework. When each image was created in the Datatailr Image Builder, the corresponding test packages should have been added.

Selecting the Run test option runs all tests in the image, if they exist immediately.

Schedule test(s)

This option enables you to schedule the Python py.test regression test framework in a container image. If the same image exists in more than one Datatailr environment (dev, pre and/or prod), you must select which to run. The following displays in which you can define the attributes of the runtime environment of this test –

Clicking on the Schedule field displays the following in which you can specify when this test is run –

Test results

This option enables you to view the results of the Python py.test regression tests that were run for a container image, as described above.

Remove

This option enables you to remove a container image. Once a container image has been removed, it no longer appears in Image Manager. It is not deleted, just marked as removed and is no longer shown. It remains in the database and therefore can be resurrected.

Make Default IDE

This option sets this image as the default that is opened when you launch the IDE by clicking on the in Datatailr’s main window.

Datatailr prioritizes the image that you selected for yourself using this option over the other two default options described below.

Make Global Default IDE

This option enables an admin to set this image as the default that is opened when any developer launches the IDE by clicking on the Datatailr IDE icon in Datatailr’s main window.

This global default is only applied to users who have not used the Make Default IDE option (described above) and do not belong to a group for which a default was selected, as described below.

Make Default IDE for Group

This option enables an admin to set this image as the default for the developers that belong to a specific group. It is automatically launched in the IDE by clicking on the Datatailr IDE icon in Datatailr’s main window.

Datatailr prioritizes the default image selected for your group over the global default image described above.

Make Default Jupyter Lab

Options "Make default Jupyter Lab", "Make global default Jupyter Lab", "Make default Jupyter Lab for group" work in the same way as the IDE options described above, but with respect to the Jupyter Lab configuration.

Launch IDE

This option attaches a Datatailr’s Integrated Development Environment (IDE) to the specified image, so you can test the runtime environment that the image provides, which can be very useful for debugging. Documentation of how to use this development environment can be found in Microsoft's documentation site at https://code.visualstudio.com/.

You can run multiple instances of an IDE at the same time.

Enable Auto Build

This option activates Datatailr’s Auto Build option which automatically builds each package each time new code is pushed to the git repository (see the Autobuilder section for more info). If a package is used in a container image, then that image is also rebuilt and a notification is added accordingly. Also, if there is a runnable scheduled with that image in the Datatailr Dev environment then it is restarted to pick up the new image.

If you do not enable Auto Build option, then you must manually build this image each time new code updates are pushed to the git repository, as described in the Image Builder section.

Info

This option displays the details of the selected image.

Add to Release Group

In addition to being able to move specific images to the Pre and Prod environments, you can also release multiple images at once by defining them as a Release group. For example, a Release Group can be used to release a few services and apps together because they depend on each other.

Selecting this option adds this image to a Release Group. A Release Group defines multiple images that are automatically released together from the Dev to Pre environment or from the Pre to Prod and/or are all automatically built/rebuilt together, as described below.

Releasing Images Together

Clicking the Release Group button displays the following window in which you can group multiple images together so that they are released together from the Dev to Pre environment or from the Pre to Prod and/or are all built/rebuilt together. For example, when Auto Build automatically rebuilds an image when package code updates are pushed to the git repository.

Finding Package(s) in Images

This button enables you to search for specific package versions in specific images.