Provisioning software is considered as the act of placing an individual software application or complete software stack onto a target system. Here what we mean by Provisioning WSO2 Carbon is installing/updating/uninstalling features to/from Carbon. The manual way of provisioning Carbon is dropping bundles and configuration files belongs to a feature. This method is not recommended, since it can cause errors. Finding the exact set of components and configuration files is a difficult task. Components have inter dependencies with other components. Some components depends on specific versions of other components. In order to overcome these issues, we recently integrated Equinox P2 with Carbon.
Feature Manager provides a convinient user interface to perform provisioning operations such as installing, uninstalling, updating features.
This tab allows you to install new features or upgrade existing features. Features are available in repositories. If you haven't add any repository, please click the Add Repository link. The task of installing features is performed in four steps.
Figure : Find features
This section allows you to search for available features in repositories. You can select the exact repository or all available repositories. Some repositories contains multiple versions of features. If you are only interested in latest versions, you can use the "Show only the latest versions" option.
If the selected repository contains features which are already installed in the system, they will not be shown under the available features list. And also previous versions of installed features will not be shown.
Figure : Available feature list
Once you click the "Find Features" button, you will be able to see a list of available features that match the criteria you have specified. Now you can select features you wish to install. Click "Install" to proceed to the next step.
Figure : Review of the installation
This step allows you to review the selected features to be installed. This page displays the size of the installation in kbs. In certain instances size of the installation can be 0 kb. Equinox P2 does not delete OSGi bundles, when you uninstall features. Therefore when you try to install previously uninstalled features, there is no need to download OSGi bundles from the repository. They are already available in your local plugins folders. Hence size of the installation can be 0 kb.
Some features depend on other features. For an example, Service Hosting feature depends on Service Management feature. In order to install Service Hosting feature, either Service Mgt feature should be already installed in your system or it should be available in one of the added repositories. Otherwise Equinox P2 complains that installation of Service Hosting feature cannot be performed due to a missing dependency. All these information will be displayed in this page under the "Summary" section.
Figure : License Agreement
Once you accept the license agreements, click "Next >" button to install the feature. This process might take a while to complete. If the installation is successful, you should get the following message. Now restart the server and check whether the features are correctly installed.
Figure : Installation Complete Message
This tab allows you to view all the installed features in the system. And also it allows you to uninstall features from the system.
Figure : Installed features list
Select the features you wish to uninstall and click "Uninstall". Then you will be presented a page which contains a review of features to uninstalled. Some features cannot be uninstalled from the system, because other features depend on them. All these information will be displayed in this page under the "Summary" section.
Carbon supports the concept of back-end, front-end separation where you can manage multiple back-end servers using a single front-end server. You can convert a given product either to a back-end server or to a front-end server. This conversion can be performed using the Feature Manager UI.
If you want to get a back-end server, select "All Server Features" from the drop down list or else select "All Console Feature" for a front-end server.
Figure : back-end/front-end separation page
This page lists the history of provisioning operations performed on the system. Here previous configurations can be identified as previous states of the system. A state/configuration can be simply identified by the set of installed features. When you perform a provisioning operation such as installing/uninstalling of features, system state/configuration change occurs.
Figure : Installation History
You can revert the current configuration to a previous configuration. In this process some feature might get installed and some might get uninstalled. When you click on a previous configuration, you will be able to see these information.
Figure : Previous configuration details
This tab allows you to view or modify feature management settings.
Once you click "Manage Repositories" link, you will get a page which allows you to perform several operations on repositories, such add/remove/modify/enable/disable.
Figure : Manage repository page
Click "Add New Repository" link in the Manage Repositories page. Provide a convenient name and a url of the repository. If you have a downloaded repository to your computer, add the file path of directory.
Figure : Add repository
This page allows you to change the repository name. But if you want to change the repository URL, you need to remove the old repository and add the new one.
Figure : Edit repository
By default all the repositories are enabled. When you perform a provisioning operation, metadata and artifacts are searched from all the enabled repositories. Once you disable a repository, Equinox P2 does not search for metadata and artifacts from it.