From 622a2d0a2416ca25c658a8391cd3456b8edd6d71 Mon Sep 17 00:00:00 2001 From: Richard Maw Date: Thu, 16 Apr 2015 13:07:18 +0000 Subject: OpenStack: Tidy two node cluster and make three node match its style Change-Id: I2555a2ee2c6b3b7e4243b985343bc8afb2432c77 --- clusters/openstack-three-node-installer.morph | 93 ++++++++++++++++++++------- clusters/openstack-two-node-installer.morph | 18 +++--- 2 files changed, 80 insertions(+), 31 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 diff --git a/clusters/openstack-two-node-installer.morph b/clusters/openstack-two-node-installer.morph index 7bec8fd7..00d23ecd 100644 --- a/clusters/openstack-two-node-installer.morph +++ b/clusters/openstack-two-node-installer.morph @@ -6,7 +6,7 @@ description: | 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: @@ -23,15 +23,15 @@ description: | match your hardware and 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) @@ -42,9 +42,9 @@ description: | 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 @@ -116,13 +116,13 @@ systems: # Storage device to be used by Cinder CINDER_DEVICE: /dev/sdb + NEUTRON_ENABLE_AGENT: False + NEUTRON_ENABLE_MANAGER: True + NEUTRON_ENABLE_CONTROLLER: True 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: True METADATA_PROXY_SHARED_SECRET: novaneutronmetasecret IRONIC_SERVICE_USER: ironic -- cgit v1.2.1