Update deployed-server docs for using deployed network resources
Change-Id: I4674cbfaae157b3795477e89096a21b471a3a61c Signed-off-by: James Slagle <jslagle@redhat.com>
This commit is contained in:
@@ -6,12 +6,14 @@ Using Already Deployed Servers
|
|||||||
TripleO can be used with servers that have already been deployed and
|
TripleO can be used with servers that have already been deployed and
|
||||||
provisioned with a running operating system.
|
provisioned with a running operating system.
|
||||||
|
|
||||||
In this deployment scenario, Nova and Ironic from the Undercloud are not used
|
In this deployment scenario, Ironic from the Undercloud is not used
|
||||||
to do any server deployment, installation, or power management. An external to
|
to do any server deployment, installation, or power management. An external to
|
||||||
TripleO and already existing provisioning tool is expected to have already
|
TripleO and already existing provisioning tool is expected to have already
|
||||||
installed an operating system on the servers that are intended to be used as
|
installed an operating system on the servers that are intended to be used as
|
||||||
nodes in the Overcloud.
|
nodes in the Overcloud.
|
||||||
|
|
||||||
|
Additionally, Neutron can be optionally used or not.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
It's an all or nothing approach when using already deployed servers. Mixing
|
It's an all or nothing approach when using already deployed servers. Mixing
|
||||||
using deployed servers with servers provisioned with Nova and Ironic is not
|
using deployed servers with servers provisioned with Nova and Ironic is not
|
||||||
@@ -98,57 +100,61 @@ enable the standard repositories for TripleO.
|
|||||||
Deploying the Overcloud
|
Deploying the Overcloud
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
Provision networks and ports if using Neutron
|
||||||
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
If using Neutron for resource managment, Network resources for the deployment
|
||||||
|
still must be provisioned with the ``openstack overcloud network provision``
|
||||||
|
command as documented in :ref:`custom_networks`.
|
||||||
|
|
||||||
|
Port resources for the deployment still must be provisioned with the
|
||||||
|
``openstack overcloud node provision`` command as documented in
|
||||||
|
:ref:`baremetal_provision`.
|
||||||
|
|
||||||
|
Set the ``managed`` key to false in either the ``defaults`` dictionary for each
|
||||||
|
role, or on each instances dictionary in the baremetal provision configuration
|
||||||
|
file.
|
||||||
|
|
||||||
|
The generated file must then be passed to the ``openstack overcloud deploy``
|
||||||
|
command.
|
||||||
|
|
||||||
Deployment Command
|
Deployment Command
|
||||||
^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
The functionality of using already deployed servers is enabled by passing
|
With generated baremetal and network environments
|
||||||
additional Heat environment files to the ``openstack overcloud deploy``
|
_________________________________________________
|
||||||
command.::
|
Include the generated environment files with the deployment command::
|
||||||
|
|
||||||
openstack overcloud deploy \
|
openstack overcloud deploy \
|
||||||
<other cli arguments> \
|
--deployed-server \
|
||||||
-e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml
|
-e ~/overcloud-networks-deployed.yaml \
|
||||||
|
-e ~/overcloud-baremetal-deployed.yaml \
|
||||||
|
<other arguments>
|
||||||
|
|
||||||
.. admonition:: Until Victoria
|
Without generated environments (no Neutron)
|
||||||
:class: stable
|
___________________________________________
|
||||||
|
The following command would be used when the ``openstack overcloud network
|
||||||
|
provision`` and ``openstack overcloud node provision`` commands were not used.
|
||||||
|
Additional environment files need to be passed to the deployment command::
|
||||||
|
|
||||||
Note that, until Victoria, you have to pass ``--disable-validations`` in
|
openstack overcloud deploy \
|
||||||
order to disable the basics Nova, Ironic and Glance validations executed
|
--deployed-server \
|
||||||
by python-tripleoclient. These validations are not necessary since those
|
-e /usr/share/openstack-tripleo-heat-templates/environments/deployed-server-environment.yaml \
|
||||||
services will not be used to deploy the Overcloud.
|
-e /usr/share/openstack-tripleo-heat-templates/environments/deployed-networks.yaml \
|
||||||
|
-e /usr/share/openstack-tripleo-heat-templates/environments/deployed-ports.yaml \
|
||||||
|
-e ~/hostnamemap.yaml \
|
||||||
|
-e ~/deployed-server-network-environment.yaml \
|
||||||
|
<other arguments>
|
||||||
|
|
||||||
The ``deployed-server.yaml`` environment takes advantage of the template
|
The environment file ``deployed-server-environment.yaml`` contains the necessary
|
||||||
composition nature of Heat and tripleo-heat-templates to substitute
|
``resource_registry`` mappings to disable Nova management of overcloud servers
|
||||||
``OS::Heat::DeployedServer`` resources in place of ``OS::Nova::Server``.
|
so that deployed servers are used instead.
|
||||||
|
|
||||||
.. note::
|
``deployed-networks.yaml`` and ``deployed-ports.yaml`` enable the necessary
|
||||||
|
mappings to disable the Neutron management of network resources.
|
||||||
|
|
||||||
Previously a custom roles file was needed when using deployed-server. The
|
``hostnamemap.yaml`` is optional and should define the ``HostnameMap``
|
||||||
custom roles file was located in the templates directory at
|
parameter if the actual server hostnames do not match the default role hostname
|
||||||
deployed-server/deployed-server-roles-data.yaml. The custom roles file
|
format. For example::
|
||||||
addressed setting ``disable_constraints: true`` on each of the roles. This
|
|
||||||
is no longer required starting in the train release.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
|
|
||||||
Previously, environment files were used to enable bootstrap tasks on the
|
|
||||||
deployed servers. These files were
|
|
||||||
environments/deployed-server-bootstrap-environment-centos.yaml and
|
|
||||||
environments/deployed-server-bootstrap-environment-rhel.yaml. Starting in
|
|
||||||
the train release, these environment files are no longer required and they
|
|
||||||
have been removed from tripleo-heat-templates.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
Starting in the train release, support for setting DeploymentSwiftDataMap
|
|
||||||
parameter and configuring deployed servers using heat has been removed.
|
|
||||||
|
|
||||||
deployed-server with config-download
|
|
||||||
____________________________________
|
|
||||||
When using :doc:`config-download <../deployment/ansible_config_download>` with
|
|
||||||
``deployed-server`` (pre-provisioned nodes), a ``HostnameMap`` parameter must
|
|
||||||
be provided. Create an environment file to define the parameter, and assign the
|
|
||||||
node hostnames in the parameter value. The following example shows a sample
|
|
||||||
value::
|
|
||||||
|
|
||||||
parameter_defaults:
|
parameter_defaults:
|
||||||
HostnameMap:
|
HostnameMap:
|
||||||
@@ -159,230 +165,19 @@ value::
|
|||||||
overcloud-novacompute-1: compute-01-rack01
|
overcloud-novacompute-1: compute-01-rack01
|
||||||
overcloud-novacompute-2: compute-02-rack01
|
overcloud-novacompute-2: compute-02-rack01
|
||||||
|
|
||||||
Write the contents to an environment file such as ``hostnamemap.yaml``, and
|
``deployed-server-network-environment.yaml`` should define at a minimum the
|
||||||
pass it the environment as part of the deployment command. It's imperative that
|
following parameters::
|
||||||
the ``HostnameMap`` keys correspond to the ``HostnameFormatDefault`` for the
|
|
||||||
appropriate role. For example, using ``overcloud-controller-0`` matches
|
|
||||||
``HostnameFormatDefault: '%stackname%-controller-%index%'`` in the
|
|
||||||
``Controller`` role. Similarly, ``overcloud-novacompute-0`` matches
|
|
||||||
``HostnameFormatDefault: '%stackname%-novacompute-%index%'`` for the
|
|
||||||
``Compute`` role. If you decide to change the ``HostnameFormatDefault`` to a
|
|
||||||
different value, you'll need to account for this in your ``hostnamemap.yaml``
|
|
||||||
file. Mismatched values between the ``HostnameMap`` keys and
|
|
||||||
``HostnameFormatDefault`` causes failures during overcloud installation because
|
|
||||||
TripleO can't find the appropriate hosts, as it's using the wrong names.
|
|
||||||
|
|
||||||
|
NodePortMap
|
||||||
|
DeployedNetworkEnvironment
|
||||||
|
ControlPlaneVipData
|
||||||
|
VipPortMap
|
||||||
|
OVNDBsVirtualFixedIPs
|
||||||
|
RedisVirtualFixedIPs
|
||||||
|
EC2MetadataIp
|
||||||
|
ControlPlaneDefaultRoute
|
||||||
|
|
||||||
|
The following is a sample environment file that shows setting these values::
|
||||||
Network Configuration
|
|
||||||
_____________________
|
|
||||||
|
|
||||||
The default network interface configuration mappings for the deployed-server
|
|
||||||
roles are::
|
|
||||||
|
|
||||||
OS::TripleO::ControllerDeployedServer::Net::SoftwareConfig: net-config-static-bridge.yaml
|
|
||||||
OS::TripleO::ComputeDeployedServer::Net::SoftwareConfig: net-config-static.yaml
|
|
||||||
OS::TripleO::BlockStorageDeployedServer::Net::SoftwareConfig: net-config-static.yaml
|
|
||||||
OS::TripleO::ObjectStorageDeployedServer::Net::SoftwareConfig: net-config-static.yaml
|
|
||||||
OS::TripleO::CephStorageDeployedServer::Net::SoftwareConfig: net-config-static.yaml
|
|
||||||
|
|
||||||
The default NIC configs use static IP assignment instead of the default of
|
|
||||||
DHCP. This is due to there being no requirement of L2 connectivity between the
|
|
||||||
undercloud and overcloud. However, the NIC config templates can be overridden
|
|
||||||
to use whatever configuration is desired (including DHCP).
|
|
||||||
|
|
||||||
As is the case when not using deployed-servers, the following parameters need
|
|
||||||
to also be specified::
|
|
||||||
|
|
||||||
parameter_defaults:
|
|
||||||
NeutronPublicInterface: eth1
|
|
||||||
ControlPlaneDefaultRoute: 192.168.24.1
|
|
||||||
EC2MetadataIp: 192.168.24.1
|
|
||||||
|
|
||||||
``ControlPlaneDefaultRoute`` and ``EC2MetadataIp`` are not necessarily
|
|
||||||
meaningful parameters depending on the network architecture in use with
|
|
||||||
deployed servers. However, they still must be specified as they are required
|
|
||||||
parameters for the template interface.
|
|
||||||
|
|
||||||
.. admonition:: Victoria and prior releases
|
|
||||||
|
|
||||||
The ``DeployedServerPortMap`` parameter can be used to assign fixed IP's
|
|
||||||
from either the ctlplane network or the IP address range for the
|
|
||||||
overcloud.
|
|
||||||
|
|
||||||
If the deployed servers were preconfigured with IP addresses from the ctlplane
|
|
||||||
network for the initial undercloud connectivity, then the same IP addresses can
|
|
||||||
be reused during the overcloud deployment. Add the following to a new
|
|
||||||
environment file and specify the environment file as part of the deployment
|
|
||||||
command::
|
|
||||||
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::DeployedServer::ControlPlanePort: ../deployed-server/deployed-neutron-port.yaml
|
|
||||||
parameter_defaults:
|
|
||||||
DeployedServerPortMap:
|
|
||||||
controller0-ctlplane:
|
|
||||||
fixed_ips:
|
|
||||||
- ip_address: 192.168.24.9
|
|
||||||
subnets:
|
|
||||||
- cidr: 192.168.24.0/24
|
|
||||||
network:
|
|
||||||
tags:
|
|
||||||
- 192.168.24.0/24
|
|
||||||
compute0-ctlplane:
|
|
||||||
fixed_ips:
|
|
||||||
- ip_address: 192.168.24.8
|
|
||||||
subnets:
|
|
||||||
- cidr: 192.168.24..0/24
|
|
||||||
network:
|
|
||||||
tags:
|
|
||||||
- 192.168.24.0/24
|
|
||||||
|
|
||||||
The value of the DeployedServerPortMap variable is a map. The keys correspond
|
|
||||||
to the ``<short hostname>-ctlplane`` of the deployed servers. Specify the ip
|
|
||||||
addresses and subnet CIDR to be assigned under ``fixed_ips``.
|
|
||||||
|
|
||||||
In the case where the ctlplane is not routable from the deployed
|
|
||||||
servers, the virtual IPs on the ControlPlane, as well as the virtual IPs
|
|
||||||
for services (Redis and OVNDBs) must be statically assigned.
|
|
||||||
|
|
||||||
Use ``DeployedServerPortMap`` to assign an IP address from any CIDR::
|
|
||||||
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::DeployedServer::ControlPlanePort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
|
||||||
OS::TripleO::Network::Ports::ControlPlaneVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
|
||||||
|
|
||||||
# Set VIP's for redis and OVN to noop to default to the ctlplane VIP
|
|
||||||
# The ctlplane VIP is set with control_virtual_ip in
|
|
||||||
# DeployedServerPortMap below.
|
|
||||||
#
|
|
||||||
# Alternatively, these can be mapped to deployed-neutron-port.yaml as
|
|
||||||
# well and redis_virtual_ip and ovn_dbs_virtual_ip added to the
|
|
||||||
# DeployedServerPortMap value to set fixed IP's.
|
|
||||||
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
|
||||||
OS::TripleO::Network::Ports::OVNDBsVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
|
||||||
|
|
||||||
parameter_defaults:
|
|
||||||
NeutronPublicInterface: eth1
|
|
||||||
EC2MetadataIp: 192.168.100.1
|
|
||||||
ControlPlaneDefaultRoute: 192.168.100.1
|
|
||||||
|
|
||||||
DeployedServerPortMap:
|
|
||||||
control_virtual_ip:
|
|
||||||
fixed_ips:
|
|
||||||
- ip_address: 192.168.100.1
|
|
||||||
subnets:
|
|
||||||
- cidr: 192.168.100.0/24
|
|
||||||
network:
|
|
||||||
tags:
|
|
||||||
- 192.168.100.0/24
|
|
||||||
controller0-ctlplane:
|
|
||||||
fixed_ips:
|
|
||||||
- ip_address: 192.168.100.2
|
|
||||||
subnets:
|
|
||||||
- cidr: 192.168.100.0/24
|
|
||||||
network:
|
|
||||||
tags:
|
|
||||||
- 192.168.100.0/24
|
|
||||||
compute0-ctlplane:
|
|
||||||
fixed_ips:
|
|
||||||
- ip_address: 192.168.100.3
|
|
||||||
subnets:
|
|
||||||
- cidr: 192.168.100.0/24
|
|
||||||
network:
|
|
||||||
tags:
|
|
||||||
- 192.168.100.0/24
|
|
||||||
|
|
||||||
In the above example, notice how ``RedisVipPort`` and ``OVNDBsVipPort`` are
|
|
||||||
mapped to ``network/ports/noop.yaml``. This mapping is due to the fact that
|
|
||||||
these VIP IP addresses comes from the ctlplane by default, and they will use
|
|
||||||
the same VIP address that is used for ``ControlPlanePort``. Alternatively
|
|
||||||
these VIP's can be mapped to their own fixed IP's, in which case a VIP will
|
|
||||||
be created for each. In this case, the following mappings and values would be
|
|
||||||
added to the above example::
|
|
||||||
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
|
||||||
OS::TripleO::Network::Ports::OVNDBsVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
|
||||||
|
|
||||||
parameter_defaults:
|
|
||||||
|
|
||||||
DeployedServerPortMap:
|
|
||||||
redis_virtual_ip:
|
|
||||||
fixed_ips:
|
|
||||||
- ip_address: 192.168.100.10
|
|
||||||
subnets:
|
|
||||||
- cidr: 192.168.100.0/24
|
|
||||||
network:
|
|
||||||
tags:
|
|
||||||
- 192.168.100.0/24
|
|
||||||
ovn_dbs_virtual_ip:
|
|
||||||
fixed_ips:
|
|
||||||
- ip_address: 192.168.100.11
|
|
||||||
subnets:
|
|
||||||
- cidr: 192.168.100.0/24
|
|
||||||
network:
|
|
||||||
tags:
|
|
||||||
- 192.168.100.0/24
|
|
||||||
|
|
||||||
|
|
||||||
Use ``DeployedServerPortMap`` to assign an ControlPlane Virtual IP address from
|
|
||||||
any CIDR, and the ``RedisVirtualFixedIPs`` and ``OVNDBsVirtualFixedIPs``
|
|
||||||
parameters to assing the ``RedisVip`` and ``OVNDBsVip``::
|
|
||||||
|
|
||||||
resource_registry:
|
|
||||||
OS::TripleO::DeployedServer::ControlPlanePort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
|
||||||
OS::TripleO::Network::Ports::ControlPlaneVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
|
||||||
|
|
||||||
parameter_defaults:
|
|
||||||
NeutronPublicInterface: eth1
|
|
||||||
EC2MetadataIp: 192.168.100.1
|
|
||||||
ControlPlaneDefaultRoute: 192.168.100.1
|
|
||||||
|
|
||||||
# Set VIP's for redis and OVN
|
|
||||||
RedisVirtualFixedIPs:
|
|
||||||
- ip_address: 192.168.100.10
|
|
||||||
use_neutron: false
|
|
||||||
OVNDBsVirtualFixedIPs:
|
|
||||||
- ip_address: 192.168.100.11
|
|
||||||
use_neutron: false
|
|
||||||
|
|
||||||
DeployedServerPortMap:
|
|
||||||
control_virtual_ip:
|
|
||||||
fixed_ips:
|
|
||||||
- ip_address: 192.168.100.1
|
|
||||||
subnets:
|
|
||||||
- cidr: 192.168.100.0/24
|
|
||||||
network:
|
|
||||||
tags:
|
|
||||||
- 192.168.100.0/24
|
|
||||||
controller0-ctlplane:
|
|
||||||
fixed_ips:
|
|
||||||
- ip_address: 192.168.100.2
|
|
||||||
subnets:
|
|
||||||
- cidr: 192.168.100.0/24
|
|
||||||
network:
|
|
||||||
tags:
|
|
||||||
- 192.168.100.0/24
|
|
||||||
compute0-ctlplane:
|
|
||||||
fixed_ips:
|
|
||||||
- ip_address: 192.168.100.3
|
|
||||||
subnets:
|
|
||||||
- cidr: 192.168.100.0/24
|
|
||||||
network:
|
|
||||||
tags:
|
|
||||||
- 192.168.100.0/24
|
|
||||||
|
|
||||||
Beginning in Wallaby, the
|
|
||||||
``environments/deployed-server-deployed-neutron-ports.yaml`` environment, the
|
|
||||||
deployed-neutron-port.yaml template the DeployedServerPortMap parameter, are
|
|
||||||
deprecated in favor of using ``NodePortMap``, ``ControlPlaneVipData``, and
|
|
||||||
``VipPortMap`` with the generated ``environments/deployed-ports.yaml``
|
|
||||||
environment from ``environments/deployed-ports.j2.yaml``.
|
|
||||||
|
|
||||||
Using the previous example with ``DeployedServerPortMap``, that would be
|
|
||||||
migrated to use ``NodePortMap``, ``ControlPlaneVipData``, and ``VipPortMap`` as
|
|
||||||
follows. The example is expanded to also show parameter values as they would be
|
|
||||||
used when using network isolation::
|
|
||||||
|
|
||||||
parameter_defaults:
|
parameter_defaults:
|
||||||
|
|
||||||
@@ -481,15 +276,331 @@ used when using network isolation::
|
|||||||
- ip_address: 192.168.100.11
|
- ip_address: 192.168.100.11
|
||||||
use_neutron: false
|
use_neutron: false
|
||||||
|
|
||||||
|
DeployedNetworkEnvironment:
|
||||||
|
net_attributes_map:
|
||||||
|
external:
|
||||||
|
network:
|
||||||
|
dns_domain: external.tripleodomain.
|
||||||
|
mtu: 1400
|
||||||
|
name: external
|
||||||
|
tags:
|
||||||
|
- tripleo_network_name=External
|
||||||
|
- tripleo_net_idx=0
|
||||||
|
- tripleo_vip=true
|
||||||
|
subnets:
|
||||||
|
external_subnet:
|
||||||
|
cidr: 10.0.0.0/24
|
||||||
|
dns_nameservers: []
|
||||||
|
gateway_ip: null
|
||||||
|
host_routes: []
|
||||||
|
ip_version: 4
|
||||||
|
name: external_subnet
|
||||||
|
tags:
|
||||||
|
- tripleo_vlan_id=10
|
||||||
|
internal_api:
|
||||||
|
network:
|
||||||
|
dns_domain: internalapi.tripleodomain.
|
||||||
|
mtu: 1400
|
||||||
|
name: internal_api
|
||||||
|
tags:
|
||||||
|
- tripleo_net_idx=1
|
||||||
|
- tripleo_vip=true
|
||||||
|
- tripleo_network_name=InternalApi
|
||||||
|
subnets:
|
||||||
|
internal_api_subnet:
|
||||||
|
cidr: 172.16.2.0/24
|
||||||
|
dns_nameservers: []
|
||||||
|
gateway_ip: null
|
||||||
|
host_routes: []
|
||||||
|
ip_version: 4
|
||||||
|
name: internal_api_subnet
|
||||||
|
tags:
|
||||||
|
- tripleo_vlan_id=20
|
||||||
|
management:
|
||||||
|
network:
|
||||||
|
dns_domain: management.tripleodomain.
|
||||||
|
mtu: 1400
|
||||||
|
name: management
|
||||||
|
tags:
|
||||||
|
- tripleo_net_idx=5
|
||||||
|
- tripleo_network_name=Management
|
||||||
|
subnets:
|
||||||
|
management_subnet:
|
||||||
|
cidr: 192.168.1.0/24
|
||||||
|
dns_nameservers: []
|
||||||
|
gateway_ip: 192.168.1.1
|
||||||
|
host_routes: []
|
||||||
|
ip_version: 4
|
||||||
|
name: management_subnet
|
||||||
|
tags:
|
||||||
|
- tripleo_vlan_id=60
|
||||||
|
storage:
|
||||||
|
network:
|
||||||
|
dns_domain: storage.tripleodomain.
|
||||||
|
mtu: 1400
|
||||||
|
name: storage
|
||||||
|
tags:
|
||||||
|
- tripleo_net_idx=3
|
||||||
|
- tripleo_vip=true
|
||||||
|
- tripleo_network_name=Storage
|
||||||
|
subnets:
|
||||||
|
storage_subnet:
|
||||||
|
cidr: 172.16.1.0/24
|
||||||
|
dns_nameservers: []
|
||||||
|
gateway_ip: null
|
||||||
|
host_routes: []
|
||||||
|
ip_version: 4
|
||||||
|
name: storage_subnet
|
||||||
|
tags:
|
||||||
|
- tripleo_vlan_id=30
|
||||||
|
storage_mgmt:
|
||||||
|
network:
|
||||||
|
dns_domain: storagemgmt.tripleodomain.
|
||||||
|
mtu: 1400
|
||||||
|
name: storage_mgmt
|
||||||
|
tags:
|
||||||
|
- tripleo_net_idx=4
|
||||||
|
- tripleo_vip=true
|
||||||
|
- tripleo_network_name=StorageMgmt
|
||||||
|
subnets:
|
||||||
|
storage_mgmt_subnet:
|
||||||
|
cidr: 172.16.3.0/24
|
||||||
|
dns_nameservers: []
|
||||||
|
gateway_ip: null
|
||||||
|
host_routes: []
|
||||||
|
ip_version: 4
|
||||||
|
name: storage_mgmt_subnet
|
||||||
|
tags:
|
||||||
|
- tripleo_vlan_id=40
|
||||||
|
tenant:
|
||||||
|
network:
|
||||||
|
dns_domain: tenant.tripleodomain.
|
||||||
|
mtu: 1400
|
||||||
|
name: tenant
|
||||||
|
tags:
|
||||||
|
- tripleo_net_idx=2
|
||||||
|
- tripleo_network_name=Tenant
|
||||||
|
subnets:
|
||||||
|
tenant_subnet:
|
||||||
|
cidr: 172.16.0.0/24
|
||||||
|
dns_nameservers: []
|
||||||
|
gateway_ip: null
|
||||||
|
host_routes: []
|
||||||
|
ip_version: 4
|
||||||
|
name: tenant_subnet
|
||||||
|
tags:
|
||||||
|
- tripleo_vlan_id=50
|
||||||
|
net_cidr_map:
|
||||||
|
external:
|
||||||
|
- 10.0.0.0/24
|
||||||
|
internal_api:
|
||||||
|
- 172.16.2.0/24
|
||||||
|
management:
|
||||||
|
- 192.168.1.0/24
|
||||||
|
storage:
|
||||||
|
- 172.16.1.0/24
|
||||||
|
storage_mgmt:
|
||||||
|
- 172.16.3.0/24
|
||||||
|
tenant:
|
||||||
|
- 172.16.0.0/24
|
||||||
|
net_ip_version_map:
|
||||||
|
external: 4
|
||||||
|
internal_api: 4
|
||||||
|
management: 4
|
||||||
|
storage: 4
|
||||||
|
storage_mgmt: 4
|
||||||
|
tenant: 4
|
||||||
|
|
||||||
The environment file ``environments/deployed-ports.yaml`` must then be included
|
.. note::
|
||||||
with the deployment command.
|
|
||||||
|
|
||||||
The ``EC2MetadataIp`` and ``ControlPlaneDefaultRoute`` parameters are set to
|
Beginning in Wallaby, the above parameter values from
|
||||||
the value of the control virtual IP address. These parameters are required to
|
``deployed-server-network-environment.yaml`` and the
|
||||||
be set by the sample NIC configs, and must be set to a pingable IP address in
|
``deployed-networks.yaml`` and ``deployed-ports.yaml`` environments replace the use of the
|
||||||
order to pass the validations performed during deployment. Alternatively, the
|
``DeployedServerPortMap`` parameter, the
|
||||||
NIC configs could be further customized to not require these parameters.
|
``environments/deployed-server-deployed-neutron-ports.yaml`` environment, and
|
||||||
|
the ``deployed-neutron-port.yaml`` template.
|
||||||
|
|
||||||
|
The previous parameters and environments can still be used with the
|
||||||
|
exception that no resources can be mapped to any Neutron native Heat
|
||||||
|
resources (resources starting with ``OS::Neutron::*``) when using
|
||||||
|
:doc:`ephemeral Heat <../deployment/ephemeral_heat>` as there is no Heat
|
||||||
|
and Neutron API communication.
|
||||||
|
|
||||||
|
Note that the following resources may be mapped to ``OS::Neutron::*``
|
||||||
|
resources in environment files used prior to Wallaby, and these mappings
|
||||||
|
should be removed from Wallaby onward::
|
||||||
|
|
||||||
|
OS::TripleO::Network::Ports::ControlPlaneVipPort
|
||||||
|
OS::TripleO::Network::Ports::RedisVipPort
|
||||||
|
OS::TripleO::Network::Ports::OVNDBsVipPort
|
||||||
|
|
||||||
|
.. admonition:: Victoria and prior releases
|
||||||
|
|
||||||
|
The ``DeployedServerPortMap`` parameter can be used to assign fixed IP's
|
||||||
|
from either the ctlplane network or the IP address range for the
|
||||||
|
overcloud.
|
||||||
|
|
||||||
|
If the deployed servers were preconfigured with IP addresses from the ctlplane
|
||||||
|
network for the initial undercloud connectivity, then the same IP addresses can
|
||||||
|
be reused during the overcloud deployment. Add the following to a new
|
||||||
|
environment file and specify the environment file as part of the deployment
|
||||||
|
command::
|
||||||
|
|
||||||
|
resource_registry:
|
||||||
|
OS::TripleO::DeployedServer::ControlPlanePort: ../deployed-server/deployed-neutron-port.yaml
|
||||||
|
parameter_defaults:
|
||||||
|
DeployedServerPortMap:
|
||||||
|
controller0-ctlplane:
|
||||||
|
fixed_ips:
|
||||||
|
- ip_address: 192.168.24.9
|
||||||
|
subnets:
|
||||||
|
- cidr: 192.168.24.0/24
|
||||||
|
network:
|
||||||
|
tags:
|
||||||
|
- 192.168.24.0/24
|
||||||
|
compute0-ctlplane:
|
||||||
|
fixed_ips:
|
||||||
|
- ip_address: 192.168.24.8
|
||||||
|
subnets:
|
||||||
|
- cidr: 192.168.24..0/24
|
||||||
|
network:
|
||||||
|
tags:
|
||||||
|
- 192.168.24.0/24
|
||||||
|
|
||||||
|
The value of the DeployedServerPortMap variable is a map. The keys correspond
|
||||||
|
to the ``<short hostname>-ctlplane`` of the deployed servers. Specify the ip
|
||||||
|
addresses and subnet CIDR to be assigned under ``fixed_ips``.
|
||||||
|
|
||||||
|
In the case where the ctlplane is not routable from the deployed
|
||||||
|
servers, the virtual IPs on the ControlPlane, as well as the virtual IPs
|
||||||
|
for services (Redis and OVNDBs) must be statically assigned.
|
||||||
|
|
||||||
|
Use ``DeployedServerPortMap`` to assign an IP address from any CIDR::
|
||||||
|
|
||||||
|
resource_registry:
|
||||||
|
OS::TripleO::DeployedServer::ControlPlanePort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
||||||
|
OS::TripleO::Network::Ports::ControlPlaneVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
||||||
|
|
||||||
|
# Set VIP's for redis and OVN to noop to default to the ctlplane VIP
|
||||||
|
# The ctlplane VIP is set with control_virtual_ip in
|
||||||
|
# DeployedServerPortMap below.
|
||||||
|
#
|
||||||
|
# Alternatively, these can be mapped to deployed-neutron-port.yaml as
|
||||||
|
# well and redis_virtual_ip and ovn_dbs_virtual_ip added to the
|
||||||
|
# DeployedServerPortMap value to set fixed IP's.
|
||||||
|
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||||
|
OS::TripleO::Network::Ports::OVNDBsVipPort: /usr/share/openstack-tripleo-heat-templates/network/ports/noop.yaml
|
||||||
|
|
||||||
|
parameter_defaults:
|
||||||
|
NeutronPublicInterface: eth1
|
||||||
|
EC2MetadataIp: 192.168.100.1
|
||||||
|
ControlPlaneDefaultRoute: 192.168.100.1
|
||||||
|
|
||||||
|
DeployedServerPortMap:
|
||||||
|
control_virtual_ip:
|
||||||
|
fixed_ips:
|
||||||
|
- ip_address: 192.168.100.1
|
||||||
|
subnets:
|
||||||
|
- cidr: 192.168.100.0/24
|
||||||
|
network:
|
||||||
|
tags:
|
||||||
|
- 192.168.100.0/24
|
||||||
|
controller0-ctlplane:
|
||||||
|
fixed_ips:
|
||||||
|
- ip_address: 192.168.100.2
|
||||||
|
subnets:
|
||||||
|
- cidr: 192.168.100.0/24
|
||||||
|
network:
|
||||||
|
tags:
|
||||||
|
- 192.168.100.0/24
|
||||||
|
compute0-ctlplane:
|
||||||
|
fixed_ips:
|
||||||
|
- ip_address: 192.168.100.3
|
||||||
|
subnets:
|
||||||
|
- cidr: 192.168.100.0/24
|
||||||
|
network:
|
||||||
|
tags:
|
||||||
|
- 192.168.100.0/24
|
||||||
|
|
||||||
|
In the above example, notice how ``RedisVipPort`` and ``OVNDBsVipPort`` are
|
||||||
|
mapped to ``network/ports/noop.yaml``. This mapping is due to the fact that
|
||||||
|
these VIP IP addresses comes from the ctlplane by default, and they will use
|
||||||
|
the same VIP address that is used for ``ControlPlanePort``. Alternatively
|
||||||
|
these VIP's can be mapped to their own fixed IP's, in which case a VIP will
|
||||||
|
be created for each. In this case, the following mappings and values would be
|
||||||
|
added to the above example::
|
||||||
|
|
||||||
|
resource_registry:
|
||||||
|
OS::TripleO::Network::Ports::RedisVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
||||||
|
OS::TripleO::Network::Ports::OVNDBsVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
||||||
|
|
||||||
|
parameter_defaults:
|
||||||
|
|
||||||
|
DeployedServerPortMap:
|
||||||
|
redis_virtual_ip:
|
||||||
|
fixed_ips:
|
||||||
|
- ip_address: 192.168.100.10
|
||||||
|
subnets:
|
||||||
|
- cidr: 192.168.100.0/24
|
||||||
|
network:
|
||||||
|
tags:
|
||||||
|
- 192.168.100.0/24
|
||||||
|
ovn_dbs_virtual_ip:
|
||||||
|
fixed_ips:
|
||||||
|
- ip_address: 192.168.100.11
|
||||||
|
subnets:
|
||||||
|
- cidr: 192.168.100.0/24
|
||||||
|
network:
|
||||||
|
tags:
|
||||||
|
- 192.168.100.0/24
|
||||||
|
|
||||||
|
|
||||||
|
Use ``DeployedServerPortMap`` to assign an ControlPlane Virtual IP address from
|
||||||
|
any CIDR, and the ``RedisVirtualFixedIPs`` and ``OVNDBsVirtualFixedIPs``
|
||||||
|
parameters to assing the ``RedisVip`` and ``OVNDBsVip``::
|
||||||
|
|
||||||
|
resource_registry:
|
||||||
|
OS::TripleO::DeployedServer::ControlPlanePort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
||||||
|
OS::TripleO::Network::Ports::ControlPlaneVipPort: /usr/share/openstack-tripleo-heat-templates/deployed-server/deployed-neutron-port.yaml
|
||||||
|
|
||||||
|
parameter_defaults:
|
||||||
|
NeutronPublicInterface: eth1
|
||||||
|
EC2MetadataIp: 192.168.100.1
|
||||||
|
ControlPlaneDefaultRoute: 192.168.100.1
|
||||||
|
|
||||||
|
# Set VIP's for redis and OVN
|
||||||
|
RedisVirtualFixedIPs:
|
||||||
|
- ip_address: 192.168.100.10
|
||||||
|
use_neutron: false
|
||||||
|
OVNDBsVirtualFixedIPs:
|
||||||
|
- ip_address: 192.168.100.11
|
||||||
|
use_neutron: false
|
||||||
|
|
||||||
|
DeployedServerPortMap:
|
||||||
|
control_virtual_ip:
|
||||||
|
fixed_ips:
|
||||||
|
- ip_address: 192.168.100.1
|
||||||
|
subnets:
|
||||||
|
- cidr: 192.168.100.0/24
|
||||||
|
network:
|
||||||
|
tags:
|
||||||
|
- 192.168.100.0/24
|
||||||
|
controller0-ctlplane:
|
||||||
|
fixed_ips:
|
||||||
|
- ip_address: 192.168.100.2
|
||||||
|
subnets:
|
||||||
|
- cidr: 192.168.100.0/24
|
||||||
|
network:
|
||||||
|
tags:
|
||||||
|
- 192.168.100.0/24
|
||||||
|
compute0-ctlplane:
|
||||||
|
fixed_ips:
|
||||||
|
- ip_address: 192.168.100.3
|
||||||
|
subnets:
|
||||||
|
- cidr: 192.168.100.0/24
|
||||||
|
network:
|
||||||
|
tags:
|
||||||
|
- 192.168.100.0/24
|
||||||
|
|
||||||
Scaling the Overcloud
|
Scaling the Overcloud
|
||||||
---------------------
|
---------------------
|
||||||
@@ -506,50 +617,53 @@ user are as follows:
|
|||||||
Scaling Down
|
Scaling Down
|
||||||
^^^^^^^^^^^^
|
^^^^^^^^^^^^
|
||||||
|
|
||||||
.. admonition:: Train
|
|
||||||
:class: train
|
|
||||||
|
|
||||||
Starting in Train and onward, `openstack overcloud node delete` can take
|
Starting in Train and onward, `openstack overcloud node delete` can take
|
||||||
a list of server hostnames instead of instance ids. However they can't be
|
a list of server hostnames instead of instance ids. However they can't be
|
||||||
mixed while running the command. Example: if you use hostnames, it would
|
mixed while running the command. Example: if you use hostnames, it would
|
||||||
have to be for all the nodes to delete.
|
have to be for all the nodes to delete.
|
||||||
|
|
||||||
The following instructions are only useful when the cloud is deployed on Stein
|
.. admonition:: Victoria and prior releases
|
||||||
or backward.
|
:class: victoria
|
||||||
When scaling down the Overcloud, follow the scale down instructions as normal
|
|
||||||
as shown in :doc:`../post_deployment/delete_nodes`, however use the following
|
|
||||||
command to get the uuid values to pass to `openstack overcloud node delete`
|
|
||||||
instead of using `nova list`::
|
|
||||||
|
|
||||||
openstack stack resource list overcloud -n5 --filter type=OS::TripleO::<RoleName>Server
|
The following instructions should be used when the cloud is deployed on
|
||||||
|
Victoria or a prior release.
|
||||||
|
|
||||||
Replace `<RoleName>` in the above command with the actual name of the role that
|
When scaling down the Overcloud, follow the scale down instructions as normal
|
||||||
you are scaling down. The `stack_name` column in the command output can be used
|
as shown in :doc:`../post_deployment/delete_nodes`, however use the following
|
||||||
to identify the uuid associated with each node. The `stack_name` will include
|
command to get the uuid values to pass to `openstack overcloud node delete`
|
||||||
the integer value of the index of the node in the Heat resource group. For
|
instead of using `nova list`::
|
||||||
example, in the following sample output::
|
|
||||||
|
|
||||||
$ openstack stack resource list overcloud -n5 --filter type=OS::TripleO::ComputeDeployedServerServer
|
openstack stack resource list overcloud -n5 --filter type=OS::TripleO::<RoleName>Server
|
||||||
+-----------------------+--------------------------------------+------------------------------------------+-----------------+----------------------+-------------------------------------------------------------+
|
|
||||||
| resource_name | physical_resource_id | resource_type | resource_status | updated_time | stack_name |
|
|
||||||
+-----------------------+--------------------------------------+------------------------------------------+-----------------+----------------------+-------------------------------------------------------------+
|
|
||||||
| ComputeDeployedServer | 66b1487c-51ee-4fd0-8d8d-26e9383207f5 | OS::TripleO::ComputeDeployedServerServer | CREATE_COMPLETE | 2017-10-31T23:45:18Z | overcloud-ComputeDeployedServer-myztzg7pn54d-0-pixawichjjl3 |
|
|
||||||
| ComputeDeployedServer | 01cf59d7-c543-4f50-95df-6562fd2ed7fb | OS::TripleO::ComputeDeployedServerServer | CREATE_COMPLETE | 2017-10-31T23:45:18Z | overcloud-ComputeDeployedServer-myztzg7pn54d-1-ooCahg1vaequ |
|
|
||||||
| ComputeDeployedServer | 278af32c-c3a4-427e-96d2-3cda7e706c50 | OS::TripleO::ComputeDeployedServerServer | CREATE_COMPLETE | 2017-10-31T23:45:18Z | overcloud-ComputeDeployedServer-myztzg7pn54d-2-xooM5jai2ees |
|
|
||||||
+-----------------------+--------------------------------------+------------------------------------------+-----------------+----------------------+-------------------------------------------------------------+
|
|
||||||
|
|
||||||
The index 0, 1, or 2 can be seen in the `stack_name` column. These indices
|
Replace `<RoleName>` in the above command with the actual name of the role that
|
||||||
correspond to the order of the nodes in the Heat resource group. Pass the
|
you are scaling down. The `stack_name` column in the command output can be used
|
||||||
corresponding uuid value from the `physical_resource_id` column to `openstack
|
to identify the uuid associated with each node. The `stack_name` will include
|
||||||
overcloud node delete` command.
|
the integer value of the index of the node in the Heat resource group. For
|
||||||
|
example, in the following sample output::
|
||||||
|
|
||||||
|
$ openstack stack resource list overcloud -n5 --filter type=OS::TripleO::ComputeDeployedServerServer
|
||||||
|
+-----------------------+--------------------------------------+------------------------------------------+-----------------+----------------------+-------------------------------------------------------------+
|
||||||
|
| resource_name | physical_resource_id | resource_type | resource_status | updated_time | stack_name |
|
||||||
|
+-----------------------+--------------------------------------+------------------------------------------+-----------------+----------------------+-------------------------------------------------------------+
|
||||||
|
| ComputeDeployedServer | 66b1487c-51ee-4fd0-8d8d-26e9383207f5 | OS::TripleO::ComputeDeployedServerServer | CREATE_COMPLETE | 2017-10-31T23:45:18Z | overcloud-ComputeDeployedServer-myztzg7pn54d-0-pixawichjjl3 |
|
||||||
|
| ComputeDeployedServer | 01cf59d7-c543-4f50-95df-6562fd2ed7fb | OS::TripleO::ComputeDeployedServerServer | CREATE_COMPLETE | 2017-10-31T23:45:18Z | overcloud-ComputeDeployedServer-myztzg7pn54d-1-ooCahg1vaequ |
|
||||||
|
| ComputeDeployedServer | 278af32c-c3a4-427e-96d2-3cda7e706c50 | OS::TripleO::ComputeDeployedServerServer | CREATE_COMPLETE | 2017-10-31T23:45:18Z | overcloud-ComputeDeployedServer-myztzg7pn54d-2-xooM5jai2ees |
|
||||||
|
+-----------------------+--------------------------------------+------------------------------------------+-----------------+----------------------+-------------------------------------------------------------+
|
||||||
|
|
||||||
|
The index 0, 1, or 2 can be seen in the `stack_name` column. These indices
|
||||||
|
correspond to the order of the nodes in the Heat resource group. Pass the
|
||||||
|
corresponding uuid value from the `physical_resource_id` column to `openstack
|
||||||
|
overcloud node delete` command.
|
||||||
|
|
||||||
The physical deployed servers that have been removed from the deployment need
|
The physical deployed servers that have been removed from the deployment need
|
||||||
to be powered off. In a deployment not using deployed servers, this would
|
to be powered off. In a deployment not using deployed servers, this would
|
||||||
typically be done with Ironic. When using deployed servers, it must be done
|
typically be done with Ironic. When using deployed servers, it must be done
|
||||||
manually, or by whatever existing power management solution is already in
|
manually, or by whatever existing power management solution is already in
|
||||||
place. If the nodes are not powered down, they will continue to be operational
|
place. If the nodes are not powered down, they will continue to be operational
|
||||||
and could be part of the deployment, since there are no steps to unconfigure,
|
and could remain functional as part of the deployment, since there are no steps
|
||||||
uninstall software, or stop services on nodes when scaling down.
|
to unconfigure, uninstall software, or stop services on nodes when scaling
|
||||||
|
down.
|
||||||
|
|
||||||
Once the nodes are powered down and all needed data has been saved from the
|
Once the nodes are powered down and all needed data has been saved from the
|
||||||
nodes, it is recommended that they be reprovisioned back to a base operating
|
nodes, it is recommended that they be reprovisioned back to a base operating
|
||||||
|
Reference in New Issue
Block a user