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 integrated Equinox P2 with Carbon.
Equinox P2 is known as a framework for provisioning Eclipse-based applications. But this definition is getting blurred now. Basically P2 can be used as a provisioning platform for any OSGi based application. P2 has been integrated with WSO2 Carbon platform to enable provisioning capabilities. Since the release of WSO2 Carbon(version 2.0.0), it has this P2 based provisioning support. P2 integration takes WSO2 Carbon to another level in terms of user friendliness in building customized SOA products. This enables users to download WSO2 Carbon framework or any other SOA products and extend them by installing various features.
Feature Manager provides a convenient 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 added 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. With "Group features by category" option enabled by default, you can view available features in the repository grouped under feature categories. A feature category is a logical grouping of the features which constitute a particular Carbon-based product. For example, the features required to install WSO2 Application Server is grouped under the 'Application Server' feature category. If you require to install all the features of Application Server at once, you can simply select the 'Application Server' feature category as below. If you are only interested in latest versions, you can use the "Show only the latest versions" option.
Figure : Feature category
If you disable the "Group features by category" option and find features, you can view all available features in the repository in an uncategorized flat structure.
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.
Figure : back-end/front-end separation page
If you want to get only a back-end server, you have to uninstall all the front-end features.To do, go to the installed feature tab and select the Front-End from the drop down menu.This will present you with all the front-end features that are currently installed in the system. Pressing "Uninstall" will uninstall all the front-end features in the current installation. The steps are similar if you want to convert your product in to a front-end server.
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 repository 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 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.