summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-05-29 14:45:06 +0000
committerPedro Alvarez <pedro.alvarez@codethink.co.uk>2015-06-01 14:05:02 +0000
commit1eadd2a7de95c26e48425e4262cbfd21f4da34de (patch)
tree2e46c0400a905508055fc64bb5d4ea88d16fe85a
parentd9460bf84da01637f942d6f219ebb2d418fc82a1 (diff)
downloaddefinitions-baserock/pedroalvarez/openstack-kilo-swift.tar.gz
-rw-r--r--pedro-openstack.morph107
-rw-r--r--pedro-swift.morph200
-rw-r--r--systems/openstack-system-x86_64.morph2
3 files changed, 309 insertions, 0 deletions
diff --git a/pedro-openstack.morph b/pedro-openstack.morph
new file mode 100644
index 00000000..1243a033
--- /dev/null
+++ b/pedro-openstack.morph
@@ -0,0 +1,107 @@
+name: openstack-one-node
+kind: cluster
+description: |
+ This is a cluster morphology for deploying a x86_64 OpenStack system
+ all-in-one-node.
+
+ 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 an YAML truth value will configure
+ Nova to schedule baremetal machines through the Ironic driver, instead of
+ sheduling virtual machines.
+
+systems:
+- morph: systems/openstack-system-x86_64.morph
+ deploy:
+ release:
+ type: kvm
+ location: kvm+ssh://franred@10.24.1.78/pedro-openstack/home/franred/pedro-openstack.img
+ DISK_SIZE: 10G
+ RAM_SIZE: 6G
+ INSTALL_FILES: openstack/manifest
+
+ HOSTNAME: controller
+
+ RABBITMQ_HOST: controller
+ RABBITMQ_PORT: 5672
+ RABBITMQ_USER: rabbitmq
+ RABBITMQ_PASSWORD: veryinsecure
+
+ CONTROLLER_HOST_ADDRESS: controller
+ MANAGEMENT_INTERFACE_IP_ADDRESS: 10.24.2.21
+
+ 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_SERVICE_USER: nova
+ NOVA_SERVICE_PASSWORD: veryinsecure
+ NOVA_DB_USER: novaDB
+ NOVA_DB_PASSWORD: veryinsecure
+ NOVA_VIRT_TYPE: qemu
+ NOVA_BAREMETAL_SCHEDULING: no
+
+ 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_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
+ METERING_SECRET: insecureceilometersecret
+
+ HOSTS_CONTROLLER: 10.24.2.21 controller
+
+ # Network interface to be used, only needed if there are more
+ # than one available.
+ # EXTERNAL_INTERFACE: eno1
diff --git a/pedro-swift.morph b/pedro-swift.morph
new file mode 100644
index 00000000..9df32a7f
--- /dev/null
+++ b/pedro-swift.morph
@@ -0,0 +1,200 @@
+name: openstack-one-node
+kind: cluster
+description: |
+ This is a cluster morphology for deploying a x86_64 OpenStack system
+ all-in-one-node.
+
+ 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 an YAML truth value will configure
+ Nova to schedule baremetal machines through the Ironic driver, instead of
+ sheduling virtual machines.
+
+systems:
+- morph: systems/openstack-system-x86_64.morph
+ deploy:
+ release:
+ type: kvm
+ location: kvm+ssh://franred@10.24.1.78/pedro-swift-controller/home/franred/pedro-swift-controller.img
+ DISK_SIZE: 10G
+ RAM_SIZE: 3G
+ INSTALL_FILES: openstack/manifest swift/manifest
+
+ HOSTNAME: controller
+ #########################################################################
+ ## Swift config options
+ #########################################################################
+
+ SWIFT_CONTROLLER: True
+
+ SWIFT_ADMIN_PASSWORD: changeme
+
+ SWIFT_PART_POWER: 10
+ SWIFT_REPLICAS: 3
+ SWIFT_MIN_PART_HOURS: 1
+
+ SWIFT_STORAGE_DEVICES: [{ ip: 10.0.0.2, device: sdb, weight: 100 },
+ { ip: 10.0.0.2, device: sdc, weight: 100 },
+ { ip: 10.0.0.2, device: sdd, weight: 100 },
+
+ { ip: 10.0.0.3, device: sdb, weight: 100 },
+ { ip: 10.0.0.3, device: sdc, weight: 100 },
+ { ip: 10.0.0.3, device: sdd, weight: 100 }]
+
+ # This value can be any random string or number
+ # but each node in your Swift cluster must have the same values
+ SWIFT_REBALANCE_SEED: 3828
+
+ # NOTE: Replace SWIFT_HASH_PATH_PREFIX and SWIFT_HASH_PATH_SUFFIX
+ # with your own unique values,
+ #
+ # `openssl rand -hex 10' can be used to generate unique values
+ #
+ # These values should be kept secret, do not lose them.
+ #
+ SWIFT_HASH_PATH_PREFIX: 041fc210e4e1d333ce1d
+ SWIFT_HASH_PATH_SUFFIX: 4d6f5362a356dda7fb7d
+
+ ###################################################################
+
+ RABBITMQ_HOST: controller
+ RABBITMQ_PORT: 5672
+ RABBITMQ_USER: rabbitmq
+ RABBITMQ_PASSWORD: veryinsecure
+
+ CONTROLLER_HOST_ADDRESS: controller
+ MANAGEMENT_INTERFACE_IP_ADDRESS: 10.24.2.21
+
+ 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_SERVICE_USER: nova
+ NOVA_SERVICE_PASSWORD: veryinsecure
+ NOVA_DB_USER: novaDB
+ NOVA_DB_PASSWORD: veryinsecure
+ NOVA_VIRT_TYPE: qemu
+ NOVA_BAREMETAL_SCHEDULING: no
+
+ 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_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
+ METERING_SECRET: insecureceilometersecret
+
+ HOSTS_CONTROLLER: 10.24.2.21 controller
+
+ # Network interface to be used, only needed if there are more
+ # than one available.
+ EXTERNAL_INTERFACE: ens3
+
+
+ NETWORK_CONFIG: ens3:dhcp;ens6:static,address=10.0.0.1,netmask=255.255.255.0
+
+- morph: systems/swift-system-x86_64.morph
+ deploy-defaults:
+ INSTALL_FILES: swift/manifest
+
+ CONTROLLER_HOST_ADDRESS: 10.0.0.1
+
+ SWIFT_PART_POWER: 10
+ SWIFT_REPLICAS: 3
+ SWIFT_MIN_PART_HOURS: 1
+
+ SWIFT_STORAGE_DEVICES: [{ ip: 10.0.0.2, device: sdb, weight: 100 },
+ { ip: 10.0.0.2, device: sdc, weight: 100 },
+ { ip: 10.0.0.2, device: sdd, weight: 100 },
+
+ { ip: 10.0.0.3, device: sdb, weight: 100 },
+ { ip: 10.0.0.3, device: sdc, weight: 100 },
+ { ip: 10.0.0.3, device: sdd, weight: 100 }]
+
+ # This value can be any random string or number
+ # but each node in your Swift cluster must have the same value
+ SWIFT_REBALANCE_SEED: 3828
+
+ # NOTE: Replace SWIFT_HASH_PATH_PREFIX and SWIFT_HASH_PATH_SUFFIX
+ # with your own unique values,
+ #
+ # `openssl rand -hex 10' can be used to generate unique values
+ #
+ # These values should be kept secret, do not lose them.
+ #
+ SWIFT_HASH_PATH_PREFIX: 041fc210e4e1d333ce1d
+ SWIFT_HASH_PATH_SUFFIX: 4d6f5362a356dda7fb7d
+
+ FSTAB_SDC: /dev/sdb /srv/node/sdb xfs noatime,nodiratime,rw 0 0
+ FSTAB_SDD: /dev/sdc /srv/node/sdc xfs noatime,nodiratime,rw 0 0
+ FSTAB_SDE: /dev/sdd /srv/node/sdd xfs noatime,nodiratime,rw 0 0
+
+
+ deploy:
+ node0:
+ type: kvm
+ location: kvm+ssh://franred@10.24.1.78/pedro-swift-storage-0/home/franred/pedro-swift-storage-0.img
+ DISK_SIZE: 10G
+ RAM_SIZE: 1G
+ HOSTNAME: swift-storage-0
+ MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.2
+ NETWORK_CONFIG: ens3:dhcp;ens6:static,address=10.0.0.2,netmask=255.255.255.0
+ node1:
+ type: kvm
+ location: kvm+ssh://franred@10.24.1.78/pedro-swift-storage-1/home/franred/pedro-swift-storage-1.img
+ DISK_SIZE: 10G
+ RAM_SIZE: 1G
+ HOSTNAME: swift-storage-1
+ MANAGEMENT_INTERFACE_IP_ADDRESS: 10.0.0.3
+ NETWORK_CONFIG: ens3:dhcp;ens6:static,address=10.0.0.3,netmask=255.255.255.0
diff --git a/systems/openstack-system-x86_64.morph b/systems/openstack-system-x86_64.morph
index 8ab38bee..a8edf305 100644
--- a/systems/openstack-system-x86_64.morph
+++ b/systems/openstack-system-x86_64.morph
@@ -83,3 +83,5 @@ configuration-extensions:
- fstab
- openstack-ironic
- install-essential-files
+- swift-storage
+- openstack-swift-controller