Feature/AllInOne
Contents[hide] |
All in One
Summary
"All in One" means configuring VDSM on the same host where oVirt-engine is installed, so that VMs can be hosted on the same machine.
Owner
- Name: Alex Lourie
- Email: alourie@redhat.com
Current status
- Currently in code review (http://gerrit.ovirt.org/#change,2221)
Detailed Description
The plugin works by providing parameters, group and sequences and adding them into the Controller object (the main object of the setup flow), which will invoke appropriate logic during the setup operation.
The following steps are performed by the plugin:
- Detect CPU architecture of the machine. After the detection, the plugin compares it with the list of supported architectures, and will raise an exception if the CPU is not supported. (Note: the plugin uses vdsm caps.py module to detect the CPU type).
- Verify that the given folder where VMs should be stored (provided during setup) is legal, is empty and writeable. If the folder doesn't exist, it will be created. Also, SELinux will be configured to allow writing in this folder.
- Plugin will wait to allow JBoss to start correctly. This is done because other steps involve using REST API (with ovirtsdk), which requires JBoss to be up.
- Plugin will create local datacenter and local cluster at this point.
- Plugin will create a local host and add it to host list (Note: an update to backend was introduced to allow creating a host without rebooting it).
- TODO: (waiting for vdsm bug to be fixed): Plugin will create a local storage domain.
Installation flow
- Install ovirt-engine-setup-plugin-allinone rpm.
- Start the regular engine-setup procedure.
- When asked "Configure VDSM on this host?", answer yes.
- After all answers are provided, the setup will install oVirt-engine and configure VDSM, including local cluster, local datacenter and local host.
API
Installation using answer file
The following parameters are added by the plugin to the answer file:
CONFIG_ALLINONE=[yes/no] STORAGE_PATH=<local storage path> SUPERUSER_PASS=<root password>
It is recommended to generate the answer file automatically:
engine-setup --gen-answer-file=<answer file full path>
...and then update its parameters accordingly with the installation requirements. After that, proceed with installation using the answer file:
engine-setup --answer-file=<answer file full path>
/home/armstrong/git/ovirt-engine/packaging/fedora/setup
[armstrong@armstrong setup]$ ll *
-rw-rw-r--. 1 armstrong armstrong 10422 6月 19 01:13 basedefs.py
-rwxrwxr-x. 1 armstrong armstrong 56938 6月 19 01:13 common_utils.py
-rwxrwxr-x. 1 armstrong armstrong 80 6月 19 01:13 engine-check-update
-rwxrwxr-x. 1 armstrong armstrong 19126 6月 19 01:13 engine-cleanup.py
-rw-rw-r--. 1 armstrong armstrong 1343 6月 19 01:13 engine_firewalld.py
-rwxrwxr-x. 1 armstrong armstrong 107642 6月 19 01:13 engine-setup.py
-rwxrwxr-x. 1 armstrong armstrong 55367 6月 19 01:13 engine-upgrade.py
-rw-rw-r--. 1 armstrong armstrong 25017 6月 19 01:13 engine_validators.py
-rwxrwxr-x. 1 armstrong armstrong 30614 6月 19 01:13 miniyum.py
-rw-rw-r--. 1 armstrong armstrong 7727 6月 19 01:13 nfsutils.py
-rw-rw-r--. 1 armstrong armstrong 24116 6月 19 01:13 output_messages.py
-rwxrwxr-x. 1 armstrong armstrong 7472 6月 19 01:13 ovirt_port80.py
-rwxrwxr-x. 1 armstrong armstrong 693 6月 19 01:13 post_upgrade.py
-rw-rw-r--. 1 armstrong armstrong 3882 6月 19 01:13 setup_controller.py
-rw-rw-r--. 1 armstrong armstrong 2677 6月 19 01:13 setup_params.py
-rw-rw-r--. 1 armstrong armstrong 5486 6月 19 01:13 setup_sequences.py
plugins:
总用量 28
-rw-rw-r--. 1 armstrong armstrong 19089 6月 19 01:13 all_in_one_100.py
-rw-rw-r--. 1 armstrong armstrong 6850 6月 19 01:13 example_plugin_000.py
[armstrong@armstrong setup]$