summaryrefslogtreecommitdiff
path: root/clusters/openstack-one-node-swift.morph
blob: 574b7d61e0ce6ae756f055cad06855998bd9568a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
name: openstack-one-node-swift
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 and METADATA_PROXY_SHARED_SECRET.

systems:
- morph: systems/openstack-system-x86_64.morph
  deploy:
    release:
      type: rawdisk
      location: baserock-openstack-system-x86_64.img
      DISK_SIZE: 10G
      INSTALL_FILES: openstack/manifest swift/manifest

      HOSTNAME: onenode

      #########################################################################
      ## Swift config options
      #########################################################################

      SWIFT_CONTROLLER: True

      SWIFT_ADMIN_PASSWORD: insecure

      SWIFT_PART_POWER: 10
      SWIFT_REPLICAS: 3
      SWIFT_MIN_PART_HOURS: 1

      SWIFT_STORAGE_DEVICES: [{ ip: <storage node 0 management ip>, device: sdb, weight: 100 },
                              { ip: <storage node 0 management ip>, device: sdc, weight: 100 },
                              { ip: <storage node 0 management ip>, device: sdd, weight: 100 },

                              { ip: <storage node 1 management ip>, device: sdb, weight: 100 },
                              { ip: <storage node 1 management ip>, device: sdc, weight: 100 },
                              { ip: <storage node 1 management ip>, 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: onenode
      RABBITMQ_PORT: 5672
      RABBITMQ_USER: rabbitmq
      RABBITMQ_PASSWORD: veryinsecure

      CONTROLLER_HOST_ADDRESS: onenode
      MANAGEMENT_INTERFACE_IP_ADDRESS: <management ip>


      KEYSTONE_TEMPORARY_ADMIN_TOKEN: 22f3aa1cf538e3f6d5e8
      KEYSTONE_ADMIN_PASSWORD: veryinsecure
      KEYSTONE_DB_USER: keystoneDB
      KEYSTONE_DB_PASSWORD: veryinsecure

      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

      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

      HOSTS_CONTROLLER: <management ip> onenode

      # Network interface to be used, only needed if there are more
      # than one available.
      # EXTERNAL_INTERFACE: eno1