summaryrefslogtreecommitdiff
path: root/unmaintained/clusters/openstack-two-node-installer.morph
diff options
context:
space:
mode:
authorTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2016-10-31 15:35:03 +0900
committerTristan Van Berkom <tristan.vanberkom@codethink.co.uk>2016-11-11 17:36:41 +0900
commit82d358156d80fabb06702023178445ec90b7ada9 (patch)
treeb6783c139d95c608dc7bf1ce85e5a213a4397cf4 /unmaintained/clusters/openstack-two-node-installer.morph
parentec458e22d52b15458636a1f550e55e92a4fee962 (diff)
downloaddefinitions-82d358156d80fabb06702023178445ec90b7ada9.tar.gz
Moving unmaintained systems, clusters and their strata to unmaintained directory
This includes ceph, chef, cxmanage, java, openstack, nodejs, ocaml, qt4, qt5 (system only, qt5 is used by ivi projects), swift, web, xfce and zookeeper systems. All strata which is referred to exclusively by systems and clusters in the unmaintained directory have also been moved to the unmaintained directory. Change-Id: If60b0fa8bc1d7f9c53137fa7106b396668682a9a
Diffstat (limited to 'unmaintained/clusters/openstack-two-node-installer.morph')
-rw-r--r--unmaintained/clusters/openstack-two-node-installer.morph199
1 files changed, 199 insertions, 0 deletions
diff --git a/unmaintained/clusters/openstack-two-node-installer.morph b/unmaintained/clusters/openstack-two-node-installer.morph
new file mode 100644
index 00000000..e75b5a5e
--- /dev/null
+++ b/unmaintained/clusters/openstack-two-node-installer.morph
@@ -0,0 +1,199 @@
+name: openstack-two-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 instantiated.
+
+ Alternatively it may be used to install directly onto a physical disk by
+ running:
+
+ morph deploy clusters/openstack-two-node-installer.morph \
+ controller-installer controller-installer.location=/dev/vdb
+
+ Substituting contrller-installer for compute-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 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)
+ 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, METADATA_PROXY_SHARED_SECRET and
+ METERING_SECRET.
+ - Setting NOVA_BAREMETAL_SCHEDULING with a 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:
+ controller-installer: &installer
+ type: extensions/rawdisk
+ location: installer-openstack-controller-x86_64.img
+ KERNEL_ARGS: init=/usr/lib/baserock-installer/installer
+ DISK_SIZE: 6G
+ HOSTNAME: installer-x86_64
+ INSTALLER_TARGET_STORAGE_DEVICE: /dev/sda
+ INSTALLER_ROOTFS_TO_INSTALL: /rootfs
+ INSTALLER_POST_INSTALL_COMMAND: sync; poweroff -f
+ INITRAMFS_PATH: boot/initramfs.gz
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ controller-initramfs: &initramfs
+ type: extensions/initramfs
+ location: boot/initramfs.gz
+ - morph: unmaintained/systems/openstack-system-x86_64.morph
+ deploy:
+ controller-to-install: &stack-node
+ type: extensions/sysroot
+ location: rootfs
+ INSTALL_FILES: install-files/openstack/manifest
+ INITRAMFS_PATH: boot/initramfs.gz
+
+ HOSTNAME: twonode-controller
+
+ RABBITMQ_HOST: twonode-controller.os-mgmt
+ RABBITMQ_PORT: 5672
+ RABBITMQ_USER: rabbitmq
+ RABBITMQ_PASSWORD: veryinsecure
+
+ # This token needs to be unique and secret
+ KEYSTONE_ENABLE_SERVICE: true
+ KEYSTONE_TEMPORARY_ADMIN_TOKEN: 22f3aa1cf538e3f6d5e8
+ KEYSTONE_ADMIN_PASSWORD: veryinsecure
+ KEYSTONE_DB_USER: keystoneDB
+ KEYSTONE_DB_PASSWORD: veryinsecure
+
+ GLANCE_ENABLE_SERVICE: true
+ GLANCE_SERVICE_USER: glance
+ GLANCE_SERVICE_PASSWORD: veryinsecure
+ GLANCE_DB_USER: glanceDB
+ GLANCE_DB_PASSWORD: veryinsecure
+
+ NOVA_ENABLE_CONTROLLER: true
+ NOVA_ENABLE_COMPUTE: false
+ NOVA_SERVICE_USER: nova
+ NOVA_SERVICE_PASSWORD: veryinsecure
+ NOVA_DB_USER: novaDB
+ NOVA_DB_PASSWORD: veryinsecure
+ NOVA_VIRT_TYPE: kvm
+ NOVA_BAREMETAL_SCHEDULING: false
+
+ 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
+ # 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
+ METADATA_PROXY_SHARED_SECRET: novaneutronmetasecret
+
+ IRONIC_ENABLE_SERVICE: true
+ IRONIC_SERVICE_USER: ironic
+ IRONIC_SERVICE_PASSWORD: veryinsecure
+ IRONIC_DB_USER: ironicDB
+ IRONIC_DB_PASSWORD: veryinsecure
+
+ CEILOMETER_SERVICE_USER: ceilometer
+ CEILOMETER_SERVICE_PASSWORD: veryinsecure
+ CEILOMETER_DB_USER: ceilometerDB
+ CEILOMETER_DB_PASSWORD: veryinsecure
+ CEILOMETER_ENABLE_CONTROLLER: true
+ CEILOMETER_ENABLE_COMPUTE: false
+ METERING_SECRET: insecureceilometersecret
+
+ CONTROLLER_HOST_ADDRESS: twonode-controller.os-mgmt
+ MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.1
+
+ HOSTS_CONTROL: 10.0.0.1 twonode-controller.os-mgmt
+ HOSTS_COMPUTE: 10.0.0.3 twonode-compute.os-mgmt
+ EXTERNAL_INTERFACE: enp3s0
+ NETWORK_CONFIG: enp3s0:dhcp;enp2s0:static,address=10.0.0.1,netmask=255.255.255.0
+ SYNC_TIME_WITH_CONTROLLER: false
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ controller-to-install-initramfs: *initramfs
+- morph: systems/installer-system-x86_64.morph
+ deploy:
+ compute-installer:
+ <<: *installer
+ location: installer-openstack-compute-x86_64.img
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ compute-initramfs: *initramfs
+ - morph: unmaintained/systems/openstack-system-x86_64.morph
+ deploy:
+ compute-to-install:
+ <<: *stack-node
+ HOSTNAME: twonode-compute
+
+ KEYSTONE_ENABLE_SERVICE: false
+
+ GLANCE_ENABLE_SERVICE: false
+
+ NOVA_ENABLE_COMPUTE: true
+ NOVA_ENABLE_CONTROLLER: false
+
+ CINDER_ENABLE_CONTROLLER: false
+ CINDER_ENABLE_COMPUTE: true
+ CINDER_ENABLE_STORAGE: true
+
+ NEUTRON_ENABLE_AGENT: true
+ NEUTRON_ENABLE_MANAGER: false
+ NEUTRON_ENABLE_CONTROLLER: false
+
+ IRONIC_ENABLE_SERVICE: false
+
+ CEILOMETER_ENABLE_CONTROLLER: false
+ CEILOMETER_ENABLE_COMPUTE: true
+
+ MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.3
+ EXTERNAL_INTERFACE: eno1
+ NETWORK_CONFIG: eno1:dhcp;enp0s29u1u3:static,address=10.0.0.3,netmask=255.255.255.0
+ SYNC_TIME_WITH_CONTROLLER: true
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ compute-to-install-initramfs: *initramfs