Allow all in one deployments
[apex.git] / docs / release / installation / virtual.rst
1 Installation High-Level Overview - Virtual Deployment
2 =====================================================
3
4 Deploying virtually is an alternative deployment method to bare metal, where
5 only a single bare metal Jump Host server is required to execute deployment.
6 In this deployment type, the Jump Host server will host the undercloud VM along
7 with any number of OPNFV overcloud control/compute nodes.  This deployment type
8 is useful when physical resources are constrained, or there is a desire to
9 deploy a temporary sandbox environment.
10
11 The virtual deployment operates almost the same way as the bare metal
12 deployment with a few differences mainly related to power management.
13 ``opnfv-deploy`` still deploys an undercloud VM. In addition to the undercloud
14 VM a collection of VMs (3 control nodes + 2 compute for an HA deployment or 1
15 control node and 0 or more compute nodes for a Non-HA Deployment) will be
16 defined for the target OPNFV deployment.  All overcloud VMs are registered
17 with a Virtual BMC emulator which will service power management (IPMI)
18 commands.  The overcloud VMs are still provisioned with the same disk images
19 and configuration that baremetal would use. Using 0 nodes for a virtual
20 deployment will automatically deploy "all-in-one" nodes which means the compute
21 will run along side the controller in a single overcloud node. Specifying 3
22 control nodes will result in a highly-available service model.
23
24 To Triple-O these nodes look like they have just built and registered the same
25 way as bare metal nodes, the main difference is the use of a libvirt driver for
26 the power management.  Finally, the default network settings file will deploy without
27 modification.  Customizations are welcome but not needed if a generic set of
28 network settings are acceptable.
29
30 Installation Guide - Virtual Deployment
31 =======================================
32
33 This section goes step-by-step on how to correctly install and provision the
34 OPNFV target system to VM nodes.
35
36 Special Requirements for Virtual Deployments
37 --------------------------------------------
38
39 In scenarios where advanced performance options or features are used, such
40 as using huge pages with nova instances, DPDK, or iommu; it is required to
41 enabled nested KVM support.  This allows hardware extensions to be passed to
42 the overcloud VMs, which will allow the overcloud compute nodes to bring up
43 KVM guest nova instances, rather than QEMU.  This also provides a great
44 performance increase even in non-required scenarios and is recommended to be
45 enabled.
46
47 During deployment the Apex installer will detect if nested KVM is enabled,
48 and if not, it will attempt to enable it; while printing a warning message
49 if it cannot.  Check to make sure before deployment that Nested
50 Virtualization is enabled in BIOS, and that the output of ``cat
51 /sys/module/kvm_intel/parameters/nested`` returns "Y".  Also verify using
52 ``lsmod`` that the kvm_intel module is loaded for x86_64 machines, and
53 kvm_amd is loaded for AMD64 machines.
54
55 Install Jump Host
56 -----------------
57
58 Follow the instructions in the `Install Bare Metal Jump Host`_ section.
59
60 Running ``opnfv-deploy``
61 ------------------------
62
63 You are now ready to deploy OPNFV!
64 ``opnfv-deploy`` has virtual deployment capability that includes all of
65 the configuration necessary to deploy OPNFV with no modifications.
66
67 If no modifications are made to the included configurations the target
68 environment will deploy with the following architecture:
69
70     - 1 undercloud VM
71
72     - The option of 3 control and 2 or more compute VMs (HA Deploy / default)
73       or 1 control and 0 or more compute VMs (Non-HA deploy)
74
75     - 1-5 networks: provisioning, private tenant networking, external, storage
76       and internal API. The API, storage and tenant networking networks can be
77       collapsed onto the provisioning network.
78
79 Follow the steps below to execute:
80
81 1.  ``sudo opnfv-deploy -v [ --virtual-computes n ]
82     [ --virtual-cpus n ] [ --virtual-ram n ]
83     -n network_settings.yaml -d deploy_settings.yaml``
84     Note it can also be useful to run the command with the ``--debug``
85     argument which will enable a root login on the overcloud nodes with
86     password: 'opnfvapex'.  It is also useful in some cases to surround the
87     deploy command with ``nohup``.  For example:
88     ``nohup <deploy command> &``, will allow a deployment to continue even if
89     ssh access to the Jump Host is lost during deployment. By specifying
90     ``--virtual-computes 0``, the deployment will proceed as all-in-one.
91
92 2.  It will take approximately 45 minutes to an hour to stand up undercloud,
93     define the target virtual machines, configure the deployment and execute
94     the deployment.  You will notice different outputs in your shell.
95
96 3.  When the deployment is complete the IP for the undercloud and a url for the
97     OpenStack dashboard will be displayed
98
99 Verifying the Setup - VMs
100 -------------------------
101
102 To verify the set you can follow the instructions in the `Verifying the Setup`_
103 section.
104
105 .. _`Install Bare Metal Jump Host`: baremetal.html#install-bare-metal-jump-host
106 .. _`Verifying the Setup`: verification.html#verifying-the-setup