summaryrefslogtreecommitdiff
path: root/clusters/openstack-three-node-installer.morph
diff options
context:
space:
mode:
authorRichard Maw <richard.maw@codethink.co.uk>2015-04-16 13:07:18 +0000
committerFrancisco Redondo <francisco.marchena@codethink.co.uk>2015-04-22 15:46:26 +0000
commit622a2d0a2416ca25c658a8391cd3456b8edd6d71 (patch)
treecf64068327197cec43d78ff5f296c5c09fc0cafd /clusters/openstack-three-node-installer.morph
parent71797241802b692f6be53b0aa4e5d61658c6792b (diff)
downloaddefinitions-622a2d0a2416ca25c658a8391cd3456b8edd6d71.tar.gz
OpenStack: Tidy two node cluster and make three node match its style
Change-Id: I2555a2ee2c6b3b7e4243b985343bc8afb2432c77
Diffstat (limited to 'clusters/openstack-three-node-installer.morph')
-rw-r--r--clusters/openstack-three-node-installer.morph93
1 files changed, 71 insertions, 22 deletions
diff --git a/clusters/openstack-three-node-installer.morph b/clusters/openstack-three-node-installer.morph
index 176439dc..87aa53fd 100644
--- a/clusters/openstack-three-node-installer.morph
+++ b/clusters/openstack-three-node-installer.morph
@@ -2,8 +2,11 @@ name: openstack-three-node-installer
kind: cluster
description: |
+ This is a cluster morphology for deploying an installer for an x86_64
+ OpenStack system spread across three nodes.
+
This cluster creates disk images that may be `dd`'d onto install media to
- produce an OpenStack cluster when instanciated.
+ produce an OpenStack cluster when instantiated.
Alternatively it may be used to install directly onto a physical disk by
running:
@@ -20,6 +23,37 @@ description: |
MANAGEMENT_IP_ADDRESS, CONTROLLER_HOST_ADDRESS, RABBITMQ_HOST and HOSTS_* to
match your hardware ane networking configuration.
+ Requirements to be able to run and test the system:
+
+ - DISK_SIZE should be bigger than 5G
+ - The system has to have available at least 4G of RAM, but once
+ you start instantiating VMs you will need more.
+ - The IP of the system can't change, and you need to know it beforehand,
+ that is, the system needs a static IP address.
+
+ This cluster is configurable, but with the following constraints:
+
+ - The hostname in RABBITMQ_HOST has to match CONTROLLER_HOST_ADDRESS,
+ and HOST_CONTROLLER.
+ - HOSTS_CONTROLLER is only needed if the hostname (see previous point)
+ is not a FQDN.
+ - The IP listed in MANAGEMENT_INTERFACE_IP_ADDRESS has to match the one
+ used in HOSTS_CONTROLLER.
+ - CINDER_DEVICE should be a path to a storage device ready to be
+ used/formated for cinder data.
+ - EXTERNAL_INTERFACE is required when the system has more than one network
+ interface.
+
+ You can also have a look at the following suggestions:
+
+ - NOVA_VIRT_TYPE can be either 'kvm' or 'qemu', depending on where the
+ system is being deployed to.
+ - We recommend changing all the PASSWORDs variables, also the
+ KEYSTONE_TEMPORARY_ADMIN_TOKEN and METADATA_PROXY_SHARED_SECRET.
+ - Setting NOVA_BAREMETAL_SCHEDULING with an YAML truth value will configure
+ Nova to schedule baremetal machines through the Ironic driver, instead of
+ sheduling virtual machines.
+
systems:
- morph: systems/installer-system-x86_64.morph
deploy:
@@ -45,26 +79,34 @@ systems:
type: sysroot
location: rootfs
INSTALL_FILES: openstack/manifest
+ INITRAMFS_PATH: boot/initramfs.gz
+
HOSTNAME: threenode-network
+
RABBITMQ_HOST: threenode-controller.os-mgmt
RABBITMQ_PORT: 5672
RABBITMQ_USER: rabbitmq
RABBITMQ_PASSWORD: veryinsecure
+
+ # This token needs to be unique and secret
KEYSTONE_TEMPORARY_ADMIN_TOKEN: 22f3aa1cf538e3f6d5e8
KEYSTONE_ADMIN_PASSWORD: veryinsecure
KEYSTONE_DB_USER: keystoneDB
KEYSTONE_DB_PASSWORD: veryinsecure
- CONTROLLER_HOST_ADDRESS: threenode-controller.os-mgmt
- MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.1
+
GLANCE_SERVICE_USER: glance
GLANCE_SERVICE_PASSWORD: veryinsecure
GLANCE_DB_USER: glanceDB
GLANCE_DB_PASSWORD: veryinsecure
+
+ NOVA_ENABLE_CONTROLLER: False
+ NOVA_ENABLE_COMPUTE: False
NOVA_SERVICE_USER: nova
NOVA_SERVICE_PASSWORD: veryinsecure
NOVA_DB_USER: novaDB
NOVA_DB_PASSWORD: veryinsecure
NOVA_VIRT_TYPE: kvm
+
CINDER_ENABLE_CONTROLLER: False
CINDER_ENABLE_COMPUTE: False
CINDER_ENABLE_STORAGE: False
@@ -72,24 +114,32 @@ systems:
CINDER_SERVICE_PASSWORD: veryinsecure
CINDER_DB_USER: cinderDB
CINDER_DB_PASSWORD: veryinsecure
+ # Storage device to be used by Cinder
CINDER_DEVICE: /dev/sdb
+
+ NEUTRON_ENABLE_AGENT: False
+ NEUTRON_ENABLE_MANAGER: True
+ NEUTRON_ENABLE_CONTROLLER: False
NEUTRON_SERVICE_USER: neutron
NEUTRON_SERVICE_PASSWORD: veryinsecure
NEUTRON_DB_USER: neutronDB
NEUTRON_DB_PASSWORD: veryinsecure
- NEUTRON_ENABLE_AGENT: False
- NEUTRON_ENABLE_MANAGER: True
- NEUTRON_ENABLE_CONTROLLER: False
- NOVA_ENABLE_CONTROLLER: False
- NOVA_ENABLE_COMPUTE: False
METADATA_PROXY_SHARED_SECRET: novaneutronmetasecret
+
+ IRONIC_SERVICE_USER: ironic
+ IRONIC_SERVICE_PASSWORD: veryinsecure
+ IRONIC_DB_USER: ironicDB
+ IRONIC_DB_PASSWORD: veryinsecure
+
+ CONTROLLER_HOST_ADDRESS: threenode-controller.os-mgmt
+ MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.1
+
HOSTS_SELF: 10.24.1.83 threenode-network
HOSTS_NETWORK: 10.0.0.1 threenode-network.os-mgmt
HOSTS_CONTROL: 10.0.0.2 threenode-controller.os-mgmt
HOSTS_COMPUTE: 10.0.0.3 threenode-compute.os-mgmt
EXTERNAL_INTERFACE: enp3s0
NETWORK_CONFIG: enp3s0:dhcp;enp2s0:static,address=10.0.0.1,netmask=255.255.255.0
- INITRAMFS_PATH: boot/initramfs.gz
subsystems:
- morph: systems/initramfs-x86_64.morph
deploy:
@@ -108,21 +158,15 @@ systems:
controller-to-install:
<<: *stack-node
HOSTNAME: threenode-controller
- MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.2
- NOVA_VIRT_TYPE: kvm
- CINDER_ENABLE_CONTROLLER: True
- CINDER_ENABLE_COMPUTE: False
- CINDER_ENABLE_STORAGE: False
- CINDER_SERVICE_USER: cinder
- CINDER_SERVICE_PASSWORD: veryinsecure
- CINDER_DB_USER: cinderDB
- CINDER_DB_PASSWORD: veryinsecure
- CINDER_DEVICE: /dev/sdb
+
+ NOVA_ENABLE_CONTROLLER: True
+
NEUTRON_ENABLE_AGENT: False
NEUTRON_ENABLE_MANAGER: False
NEUTRON_ENABLE_CONTROLLER: True
- NOVA_ENABLE_CONTROLLER: True
METADATA_PROXY_SHARED_SECRET: novaneutronmetasecret
+
+ MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.2
HOSTS_SELF: 10.0.0.2 threenode-controller
EXTERNAL_INTERFACE: enp2s0
NETWORK_CONFIG: enp2s0:dhcp;enp0s26u1u2:static,address=10.0.0.2,netmask=255.255.255.0
@@ -144,8 +188,9 @@ systems:
compute-to-install:
<<: *stack-node
HOSTNAME: threenode-compute
- MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.3
+
NOVA_VIRT_TYPE: kvm
+
CINDER_ENABLE_CONTROLLER: False
CINDER_ENABLE_COMPUTE: True
CINDER_ENABLE_STORAGE: True
@@ -154,11 +199,15 @@ systems:
CINDER_DB_USER: cinderDB
CINDER_DB_PASSWORD: veryinsecure
CINDER_DEVICE: /dev/sdb
+
+ NOVA_ENABLE_COMPUTE: True
+
NEUTRON_ENABLE_AGENT: True
NEUTRON_ENABLE_MANAGER: False
NEUTRON_ENABLE_CONTROLLER: False
- NOVA_ENABLE_COMPUTE: True
METADATA_PROXY_SHARED_SECRET: novaneutronmetasecret
+
+ MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.3
HOSTS_SELF: 10.0.0.3 threenode-compute
EXTERNAL_INTERFACE: eno1
NETWORK_CONFIG: eno1:dhcp;enp0s29u1u3:static,address=10.0.0.3,netmask=255.255.255.0