From f398e6501b400f6c32fb4d1ba920ac41d09a9795 Mon Sep 17 00:00:00 2001 From: Adam Coldrick Date: Tue, 28 Apr 2015 13:10:58 +0000 Subject: Morph build deffc157ea9749848e5770b25da08214 System branch: master --- clusters/openstack-three-node-installer.morph | 286 ++++++++++++++++++++++++++ 1 file changed, 286 insertions(+) create mode 100644 clusters/openstack-three-node-installer.morph (limited to 'clusters/openstack-three-node-installer.morph') diff --git a/clusters/openstack-three-node-installer.morph b/clusters/openstack-three-node-installer.morph new file mode 100644 index 00000000..4c476ea2 --- /dev/null +++ b/clusters/openstack-three-node-installer.morph @@ -0,0 +1,286 @@ +name: openstack-three-node-installer +kind: cluster +description: |2 + + 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 instantiated. + + Alternatively it may be used to install directly onto a physical disk by + running: + + morph deploy clusters/openstack-installer.morph \ + network-installer network-installer.location=/dev/vdb + + Substituting network-installer for either compute-installer or + controller-installer will produce different configurations, and it is possible + to substitue /dev/vdb for a different path to a disk image to install to a + different disk image. + + Substitute the values of HOSTNAME, NETWORK_CONFIG, EXTERNAL_INTERFACE, + 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: + network-installer: + type: rawdisk + location: installer-openstack-network-x86_64.img + DISK_SIZE: 6G + HOSTNAME: installer-x86_64 + INITRAMFS_PATH: boot/initramfs.gz + INSTALLER_POST_INSTALL_COMMAND: sync; poweroff -f + INSTALLER_ROOTFS_TO_INSTALL: /rootfs + INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda + KERNEL_ARGS: init=/usr/lib/baserock-installer/installer + subsystems: + - morph: systems/initramfs-x86_64.morph + deploy: + network-initramfs: &id001 + type: initramfs + location: boot/initramfs.gz + - morph: systems/openstack-system-x86_64.morph + deploy: + network-to-install: + type: sysroot + location: rootfs + CINDER_DB_PASSWORD: veryinsecure + CINDER_DB_USER: cinderDB + CINDER_DEVICE: /dev/sdb + CINDER_ENABLE_COMPUTE: false + CINDER_ENABLE_CONTROLLER: false + CINDER_ENABLE_STORAGE: false + CINDER_SERVICE_PASSWORD: veryinsecure + CINDER_SERVICE_USER: cinder + CONTROLLER_HOST_ADDRESS: threenode-controller.os-mgmt + EXTERNAL_INTERFACE: enp3s0 + GLANCE_DB_PASSWORD: veryinsecure + GLANCE_DB_USER: glanceDB + GLANCE_SERVICE_PASSWORD: veryinsecure + GLANCE_SERVICE_USER: glance + HOSTNAME: threenode-network + HOSTS_COMPUTE: 10.0.0.3 threenode-compute.os-mgmt + HOSTS_CONTROL: 10.0.0.2 threenode-controller.os-mgmt + HOSTS_NETWORK: 10.0.0.1 threenode-network.os-mgmt + HOSTS_SELF: 10.0.0.1 threenode-network + INITRAMFS_PATH: boot/initramfs.gz + INSTALL_FILES: openstack/manifest + IRONIC_DB_PASSWORD: veryinsecure + IRONIC_DB_USER: ironicDB + IRONIC_ENABLE_SERVICE: false + IRONIC_SERVICE_PASSWORD: veryinsecure + IRONIC_SERVICE_USER: ironic + KEYSTONE_ADMIN_PASSWORD: veryinsecure + KEYSTONE_DB_PASSWORD: veryinsecure + KEYSTONE_DB_USER: keystoneDB + KEYSTONE_TEMPORARY_ADMIN_TOKEN: 22f3aa1cf538e3f6d5e8 + MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.1 + METADATA_PROXY_SHARED_SECRET: novaneutronmetasecret + NETWORK_CONFIG: enp3s0:dhcp;enp2s0:static,address=10.0.0.1,netmask=255.255.255.0 + NEUTRON_DB_PASSWORD: veryinsecure + NEUTRON_DB_USER: neutronDB + NEUTRON_ENABLE_AGENT: false + NEUTRON_ENABLE_CONTROLLER: false + NEUTRON_ENABLE_MANAGER: true + NEUTRON_SERVICE_PASSWORD: veryinsecure + NEUTRON_SERVICE_USER: neutron + NOVA_DB_PASSWORD: veryinsecure + NOVA_DB_USER: novaDB + NOVA_ENABLE_COMPUTE: false + NOVA_ENABLE_CONTROLLER: false + NOVA_SERVICE_PASSWORD: veryinsecure + NOVA_SERVICE_USER: nova + NOVA_VIRT_TYPE: kvm + RABBITMQ_HOST: threenode-controller.os-mgmt + RABBITMQ_PASSWORD: veryinsecure + RABBITMQ_PORT: 5672 + RABBITMQ_USER: rabbitmq + subsystems: + - morph: systems/initramfs-x86_64.morph + deploy: + network-to-install-initramfs: *id001 +- morph: systems/installer-system-x86_64.morph + deploy: + controller-installer: + type: rawdisk + location: installer-openstack-controller-x86_64.img + DISK_SIZE: 6G + HOSTNAME: installer-x86_64 + INITRAMFS_PATH: boot/initramfs.gz + INSTALLER_POST_INSTALL_COMMAND: sync; poweroff -f + INSTALLER_ROOTFS_TO_INSTALL: /rootfs + INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda + KERNEL_ARGS: init=/usr/lib/baserock-installer/installer + subsystems: + - morph: systems/initramfs-x86_64.morph + deploy: + controller-initramfs: *id001 + - morph: systems/openstack-system-x86_64.morph + deploy: + controller-to-install: + type: sysroot + location: rootfs + CINDER_DB_PASSWORD: veryinsecure + CINDER_DB_USER: cinderDB + CINDER_DEVICE: /dev/sdb + CINDER_ENABLE_COMPUTE: false + CINDER_ENABLE_CONTROLLER: false + CINDER_ENABLE_STORAGE: false + CINDER_SERVICE_PASSWORD: veryinsecure + CINDER_SERVICE_USER: cinder + CONTROLLER_HOST_ADDRESS: threenode-controller.os-mgmt + EXTERNAL_INTERFACE: enp2s0 + GLANCE_DB_PASSWORD: veryinsecure + GLANCE_DB_USER: glanceDB + GLANCE_SERVICE_PASSWORD: veryinsecure + GLANCE_SERVICE_USER: glance + HOSTNAME: threenode-controller + HOSTS_COMPUTE: 10.0.0.3 threenode-compute.os-mgmt + HOSTS_CONTROL: 10.0.0.2 threenode-controller.os-mgmt + HOSTS_NETWORK: 10.0.0.1 threenode-network.os-mgmt + HOSTS_SELF: 10.0.0.2 threenode-controller + INITRAMFS_PATH: boot/initramfs.gz + INSTALL_FILES: openstack/manifest + IRONIC_DB_PASSWORD: veryinsecure + IRONIC_DB_USER: ironicDB + IRONIC_ENABLE_SERVICE: true + IRONIC_SERVICE_PASSWORD: veryinsecure + IRONIC_SERVICE_USER: ironic + KEYSTONE_ADMIN_PASSWORD: veryinsecure + KEYSTONE_DB_PASSWORD: veryinsecure + KEYSTONE_DB_USER: keystoneDB + KEYSTONE_TEMPORARY_ADMIN_TOKEN: 22f3aa1cf538e3f6d5e8 + MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.2 + METADATA_PROXY_SHARED_SECRET: novaneutronmetasecret + NETWORK_CONFIG: enp2s0:dhcp;enp0s26u1u2:static,address=10.0.0.2,netmask=255.255.255.0 + NEUTRON_DB_PASSWORD: veryinsecure + NEUTRON_DB_USER: neutronDB + NEUTRON_ENABLE_AGENT: false + NEUTRON_ENABLE_CONTROLLER: true + NEUTRON_ENABLE_MANAGER: false + NEUTRON_SERVICE_PASSWORD: veryinsecure + NEUTRON_SERVICE_USER: neutron + NOVA_DB_PASSWORD: veryinsecure + NOVA_DB_USER: novaDB + NOVA_ENABLE_COMPUTE: false + NOVA_ENABLE_CONTROLLER: true + NOVA_SERVICE_PASSWORD: veryinsecure + NOVA_SERVICE_USER: nova + NOVA_VIRT_TYPE: kvm + RABBITMQ_HOST: threenode-controller.os-mgmt + RABBITMQ_PASSWORD: veryinsecure + RABBITMQ_PORT: 5672 + RABBITMQ_USER: rabbitmq + subsystems: + - morph: systems/initramfs-x86_64.morph + deploy: + controller-to-install-initramfs: *id001 +- morph: systems/installer-system-x86_64.morph + deploy: + compute-installer: + type: rawdisk + location: installer-openstack-compute-x86_64.img + DISK_SIZE: 6G + HOSTNAME: installer-x86_64 + INITRAMFS_PATH: boot/initramfs.gz + INSTALLER_POST_INSTALL_COMMAND: sync; poweroff -f + INSTALLER_ROOTFS_TO_INSTALL: /rootfs + INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda + KERNEL_ARGS: init=/usr/lib/baserock-installer/installer + subsystems: + - morph: systems/initramfs-x86_64.morph + deploy: + compute-initramfs: *id001 + - morph: systems/openstack-system-x86_64.morph + deploy: + compute-to-install: + type: sysroot + location: rootfs + CINDER_DB_PASSWORD: veryinsecure + CINDER_DB_USER: cinderDB + CINDER_DEVICE: /dev/sdb + CINDER_ENABLE_COMPUTE: true + CINDER_ENABLE_CONTROLLER: false + CINDER_ENABLE_STORAGE: true + CINDER_SERVICE_PASSWORD: veryinsecure + CINDER_SERVICE_USER: cinder + CONTROLLER_HOST_ADDRESS: threenode-controller.os-mgmt + EXTERNAL_INTERFACE: eno1 + GLANCE_DB_PASSWORD: veryinsecure + GLANCE_DB_USER: glanceDB + GLANCE_SERVICE_PASSWORD: veryinsecure + GLANCE_SERVICE_USER: glance + HOSTNAME: threenode-compute + HOSTS_COMPUTE: 10.0.0.3 threenode-compute.os-mgmt + HOSTS_CONTROL: 10.0.0.2 threenode-controller.os-mgmt + HOSTS_NETWORK: 10.0.0.1 threenode-network.os-mgmt + HOSTS_SELF: 10.0.0.3 threenode-compute + INITRAMFS_PATH: boot/initramfs.gz + INSTALL_FILES: openstack/manifest + IRONIC_DB_PASSWORD: veryinsecure + IRONIC_DB_USER: ironicDB + IRONIC_ENABLE_SERVICE: false + IRONIC_SERVICE_PASSWORD: veryinsecure + IRONIC_SERVICE_USER: ironic + KEYSTONE_ADMIN_PASSWORD: veryinsecure + KEYSTONE_DB_PASSWORD: veryinsecure + KEYSTONE_DB_USER: keystoneDB + KEYSTONE_TEMPORARY_ADMIN_TOKEN: 22f3aa1cf538e3f6d5e8 + MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.3 + METADATA_PROXY_SHARED_SECRET: novaneutronmetasecret + NETWORK_CONFIG: eno1:dhcp;enp0s29u1u3:static,address=10.0.0.3,netmask=255.255.255.0 + NEUTRON_DB_PASSWORD: veryinsecure + NEUTRON_DB_USER: neutronDB + NEUTRON_ENABLE_AGENT: true + NEUTRON_ENABLE_CONTROLLER: false + NEUTRON_ENABLE_MANAGER: false + NEUTRON_SERVICE_PASSWORD: veryinsecure + NEUTRON_SERVICE_USER: neutron + NOVA_DB_PASSWORD: veryinsecure + NOVA_DB_USER: novaDB + NOVA_ENABLE_COMPUTE: true + NOVA_ENABLE_CONTROLLER: false + NOVA_SERVICE_PASSWORD: veryinsecure + NOVA_SERVICE_USER: nova + NOVA_VIRT_TYPE: kvm + RABBITMQ_HOST: threenode-controller.os-mgmt + RABBITMQ_PASSWORD: veryinsecure + RABBITMQ_PORT: 5672 + RABBITMQ_USER: rabbitmq + subsystems: + - morph: systems/initramfs-x86_64.morph + deploy: + compute-to-install-initramfs: *id001 -- cgit v1.2.1