Skip to content

Commit

Permalink
Added Storage HA support
Browse files Browse the repository at this point in the history
Closes-Bug: #1366216
Feature: Storage HA support added over existing contrail HA nodes.
Change:
1. cinder backend rbd settngs done for openstack storage nodes.
2. cinder template config set to cinder HA vip.
3. global public_network set to newly added storage node address.
4. new cursh map is loaded using crushtool.
5. cinder rabbit host settings done for openstack storage nodes.
6. skipped compute-restart on openstack storage nodes.
7. added rabbit_port for cinder ha.

Test: verified storage HA by adding 2 openstack storage nodes on
      storage-master role. HA Cinder volume properly attached to
      VMs.

Change done based on Review comments:
1. removed tabs in storage-ceph-storage.py
2. grep -w added to match exact wip address
3. "storage os" comment changed to "storage openstack"
4. "cfg-hostlist" changed to "config-hosts" as per convention
5. added comments for new parameters
6. changed virsh secret list parsing logic
Change-Id: Idb0de4a72f753997188a71acadc4142dc5ce8032
  • Loading branch information
spuru committed Oct 29, 2014
1 parent 02addb5 commit 6f30d37
Show file tree
Hide file tree
Showing 4 changed files with 181 additions and 12 deletions.
9 changes: 9 additions & 0 deletions contrail_setup_utils/compute-live-migration-setup.py
Expand Up @@ -33,6 +33,13 @@ def __init__(self, args_str = None):
LIBVIRTD_TMP_BIN_CONF='/tmp/libvirtd.tmp'

for hostname, entries, entry_token in zip(self._args.storage_hostnames, self._args.storage_hosts, self._args.storage_host_tokens):
isos= 0
for os_entries in self._args.storage_os_hosts:
if os_entries == entries:
isos = 1
break
if isos == 1:
continue
if entries != self._args.storage_master:
with settings(host_string = 'root@%s' %(entries), password = entry_token):
if self._args.add_storage_node:
Expand Down Expand Up @@ -99,6 +106,8 @@ def _parse_args(self, args_str):
parser.add_argument("--storage-host-tokens", help = "Passwords of storage nodes", nargs='+', type=str)
parser.add_argument("--add-storage-node", help = "Add a new storage node")
parser.add_argument("--storage-setup-mode", help = "Storage configuration mode")
parser.add_argument("--storage-os-hosts", help = "storage openstack host list", nargs='+', type=str)
parser.add_argument("--storage-os-host-tokens", help = "storage openstack host pass list", nargs='+', type=str)

self._args = parser.parse_args(remaining_argv)

Expand Down
18 changes: 18 additions & 0 deletions contrail_setup_utils/setup.py
Expand Up @@ -322,6 +322,10 @@ def _parse_args(self, args_str):
parser.add_argument("--collector-hosts", help = "IP Addresses of collector nodes", nargs='+', type=str)
parser.add_argument("--collector-host-tokens", help = "Passwords of collector nodes", nargs='+', type=str)
parser.add_argument("--cfg-host", help = "IP Address of config node")
parser.add_argument("--cinder-vip", help = "Cinder vip")
parser.add_argument("--config-hosts", help = "config host list", nargs='+', type=str)
parser.add_argument("--storage-os-hosts", help = "storage openstack host list", nargs='+', type=str)
parser.add_argument("--storage-os-host-tokens", help = "storage openstack host pass list", nargs='+', type=str)
parser.add_argument("--live-migration", help = "Live migration enabled")
parser.add_argument("--nfs-live-migration", help = "NFS for Live migration enabled")
parser.add_argument("--nfs-livem-subnet", help = "Subnet for NFS for Live migration VM", nargs="+", type=str)
Expand Down Expand Up @@ -1857,6 +1861,17 @@ def run_services(self):
storage_setup_args = storage_setup_args + " --collector-host-tokens %s" %(' '.join(self._args.collector_host_tokens))
if self._args.cfg_host:
storage_setup_args = storage_setup_args + " --cfg-host %s" %(self._args.cfg_host)

if self._args.cinder_vip:
storage_setup_args = storage_setup_args + " --cinder-vip %s" %(self._args.cinder_vip)

if self._args.config_hosts:
storage_setup_args = storage_setup_args + " --config-hosts %s" %(' '.join(self._args.config_hosts))

if self._args.storage_os_hosts:
storage_setup_args = storage_setup_args + " --storage-os-hosts %s" %(' '.join(self._args.storage_os_hosts))
storage_setup_args = storage_setup_args + " --storage-os-host-tokens %s" %(' '.join(self._args.storage_os_host_tokens))

with settings(host_string=self._args.storage_master):
run("python /opt/contrail/contrail_installer/contrail_setup_utils/storage-ceph-setup.py %s" %(storage_setup_args))

Expand All @@ -1868,6 +1883,9 @@ def run_services(self):
storage_setup_args = storage_setup_args + " --storage-hostnames %s" %(' '.join(self._args.storage_hostnames))
storage_setup_args = storage_setup_args + " --storage-hosts %s" %(' '.join(self._args.storage_hosts))
storage_setup_args = storage_setup_args + " --storage-host-tokens %s" %(' '.join(self._args.storage_host_tokens))
if self._args.storage_os_hosts:
storage_setup_args = storage_setup_args + " --storage-os-hosts %s" %(' '.join(self._args.storage_os_hosts))
storage_setup_args = storage_setup_args + " --storage-os-host-tokens %s" %(' '.join(self._args.storage_os_host_tokens))
if self._args.add_storage_node:
storage_setup_args = storage_setup_args + " --add-storage-node %s" % (self._args.add_storage_node)
with settings(host_string=self._args.storage_master):
Expand Down

0 comments on commit 6f30d37

Please sign in to comment.