setup_livem_nfs_global fails if the cluster has mixed hypervisors

Bug #1455259 reported by Jeba Paulaiyan
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Juniper Openstack
Status tracked in Trunk
R2.20
Fix Committed
High
Jeya ganesh babu J
Trunk
Fix Committed
High
Jeya ganesh babu J

Bug Description

Live migration can happen across compatible hypervisors only. For example a libvirt VM cannot be migrated to Docker. So setup_livem_nfs should setup live migration only on computes running libvirt (and any compatible) hypervisors.

Currently setup_livm_nfs tries to setup live migration on Docker hypervisors and fails.

env.roledefs = {
    'all': [host2, host3, host4, host7,host8, host9, host10, host11, host12],
    'cfgm': [host2, host3, host4],
    'control': [host2, host3, host4],
    'openstack': [host2, host3, host4],
    'compute': [host7, host8, host9, host10, host11, host12],
    'collector': [host2, host3, host4 ],
    'webui': [host2, host3, host4],
    'database': [host2, host3, host4],
    'storage-master': [host2,host3,host4],
    'storage-compute': [host7, host8, host9, host10],
    'toragent': [host12],
    'tsn': [host12],
    'build': [host_build],
}

# Compute Hypervisor
env.hypervisor = {
    host11: 'docker',
    host12: 'docker',
}

storage_node_config = {
        host7 : { 'disks' : ['/dev/sdb:/dev/sdf',
                             '/dev/sdc:/dev/sdf',
                             '/dev/sdd:/dev/sdf',
                             '/dev/sde:/dev/sdf'],'chassis': ['Chassis-set1']
                                                         },
        host8 : { 'disks' : ['/dev/sdb',
                             '/dev/sdc',
                             '/dev/sdd',
                             '/dev/sde'],'chassis': ['Chassis-set1']
                                                         },
        host9 : { 'disks' : ['/dev/sdb:/dev/sde',
                             '/dev/sdc:/dev/sde',
                             '/dev/sdd:/dev/sde'],'chassis': ['Chassis-set2']
                                                         },
        host10 : { 'disks' : ['/dev/sdb:/dev/sdf',
                             '/dev/sdc:/dev/sdf',
                             '/dev/sdd:/dev/sdf',
                             '/dev/sde:/dev/sdf'],'chassis': ['Chassis-set2']
                                                         },
}

2015-05-14 15:06:59:338201: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: 64 bytes from 172.16.75.3: icmp_seq=8 ttl=60 time=0.410 ms
2015-05-14 15:07:00:341242: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: 64 bytes from 172.16.75.3: icmp_seq=9 ttl=60 time=0.324 ms
2015-05-14 15:07:01:344323: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: 64 bytes from 172.16.75.3: icmp_seq=10 ttl=60 time=0.209 ms
2015-05-14 15:07:02:346984: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out:
2015-05-14 15:07:02:347256: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: --- 172.16.75.3 ping statistics ---
2015-05-14 15:07:02:347448: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: 10 packets transmitted, 10 received, 0% packet loss, time 8998ms
2015-05-14 15:07:02:347626: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: rtt min/avg/max/mdev = 0.209/0.365/0.783/0.150 ms
2015-05-14 15:07:02:347816: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out:
2015-05-14 15:07:02:347986: [root@172.16.70.2] out: [172.16.80.2] out:
2015-05-14 15:07:02:348170: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] run: sudo rm -rf /var/lib/nova/instances/global
2015-05-14 15:07:02:348328: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] run: sudo mkdir /var/lib/nova/instances/global
2015-05-14 15:07:02:348512: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] run: sudo mount 172.16.75.3:/livemnfsvol /var/lib/nova/instances/global
2015-05-14 15:07:02:449580: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: mount: wrong fs type, bad option, bad superblock on 172.16.75.3:/livemnfsvol,
2015-05-14 15:07:02:614188: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: missing codepage or helper program, or other error
2015-05-14 15:07:02:614428: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: (for several filesystems (e.g. nfs, cifs) you might
2015-05-14 15:07:02:614625: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: need a /sbin/mount.<type> helper program)
2015-05-14 15:07:02:614799: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: In some cases useful info is found in syslog - try
2015-05-14 15:07:02:614997: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out: dmesg | tail or so
2015-05-14 15:07:02:615186: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out:
2015-05-14 15:07:02:615341: [root@172.16.70.2] out: [172.16.80.2] out: [root@172.16.80.12] out:
2015-05-14 15:07:02:615509: [root@172.16.70.2] out: [172.16.80.2] out:
2015-05-14 15:07:02:615696: [root@172.16.70.2] out: [172.16.80.2] out:
2015-05-14 15:07:02:615853: [root@172.16.70.2] out: [172.16.80.2] out: Fatal error: run() received nonzero return code 32 while executing!
2015-05-14 15:07:02:616041: [root@172.16.70.2] out: [172.16.80.2] out:
2015-05-14 15:07:02:616232: [root@172.16.70.2] out: [172.16.80.2] out: Requested: sudo mount 172.16.75.3:/livemnfsvol /var/lib/nova/instances/global
2015-05-14 15:07:02:616421: [root@172.16.70.2] out: [172.16.80.2] out: Executed: /bin/bash -l -c "sudo mount 172.16.75.3:/livemnfsvol /var/lib/nova/instances/global"
2015-05-14 15:07:02:616612: [root@172.16.70.2] out: [172.16.80.2] out:
2015-05-14 15:07:02:616838: [root@172.16.70.2] out: [172.16.80.2] out: Aborting.
2015-05-14 15:07:02:617029: [root@172.16.70.2] out: [172.16.80.2] out:
2015-05-14 15:07:02:919183: [root@172.16.70.2] out:
2015-05-14 15:07:02:919415: [root@172.16.70.2] out:
2015-05-14 15:07:02:919689: [root@172.16.70.2] out: Fatal error: run() received nonzero return code 1 while executing!
2015-05-14 15:07:02:919979: [root@172.16.70.2] out:
2015-05-14 15:07:02:920225: [root@172.16.70.2] out: Requested: livemnfs-setup --storage-master 172.16.80.2 --storage-setup-mode setup_global --storage-hostnames csol1-node7 csol1-node8 csol1-node9 csol1-node10 csol1-node11 csol1-node12 --storage-hosts 172.16.80.7 172.16.80.8 172.16.80.9 172.16.80.10 172.16.80.11 172.16.80.12 --storage-host-tokens c0ntrail123 c0ntrail123 c0ntrail123 c0ntrail123 c0ntrail123 c0ntrail123 --nfs-livem-subnet 172.16.75.0/24 --nfs-livem-image /store/livemnfs.qcow2 --nfs-livem-host csol1-node10
2015-05-14 15:07:02:920544: [root@172.16.70.2] out: Executed: /bin/bash -l -c "livemnfs-setup --storage-master 172.16.80.2 --storage-setup-mode setup_global --storage-hostnames csol1-node7 csol1-node8 csol1-node9 csol1-node10 csol1-node11 csol1-node12 --storage-hosts 172.16.80.7 172.16.80.8 172.16.80.9 172.16.80.10 172.16.80.11 172.16.80.12 --storage-host-tokens c0ntrail123 c0ntrail123 c0ntrail123 c0ntrail123 c0ntrail123 c0ntrail123 --nfs-livem-subnet 172.16.75.0/24 --nfs-livem-image /store/livemnfs.qcow2 --nfs-livem-host csol1-node10"
2015-05-14 15:07:02:920913: [root@172.16.70.2] out:
2015-05-14 15:07:02:921214: [root@172.16.70.2] out: Aborting.
2015-05-14 15:07:02:921468: [root@172.16.70.2] out:
2015-05-14 15:07:03:038294:

2015-05-14 15:07:03:044502: Fatal error: sudo() received nonzero return code 1 while executing!
2015-05-14 15:07:03:044502:

Tags: storage
Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : R2.20

Review in progress for https://review.opencontrail.org/10735
Submitter: Jeya ganesh babu (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/10735
Committed: http://github.org/Juniper/contrail-fabric-utils/commit/5eb991547e50a4f4c74931c9079bc4420c05acfd
Submitter: Zuul
Branch: R2.20

commit 5eb991547e50a4f4c74931c9079bc4420c05acfd
Author: Jeya ganesh babu J <email address hidden>
Date: Fri May 22 16:56:06 2015 -0700

live migration provision fix

Closes-Bug: #1455259
Added checks to avoid provisioning live migration on nodes
that have hypervisor other than kvm.

Change-Id: Iebf1a3a5057adfba8814b3642a9272a2f66ee4c5

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : [Review update] master

Review in progress for https://review.opencontrail.org/11200
Submitter: Jeya ganesh babu (<email address hidden>)

Revision history for this message
OpenContrail Admin (ci-admin-f) wrote : A change has been merged

Reviewed: https://review.opencontrail.org/11200
Committed: http://github.org/Juniper/contrail-fabric-utils/commit/637303e2f12adcc40f5ccd28451ea5a5e403681a
Submitter: Zuul
Branch: master

commit 637303e2f12adcc40f5ccd28451ea5a5e403681a
Author: Jeya ganesh babu J <email address hidden>
Date: Tue Jun 2 14:27:18 2015 -0700

Storage provision fix merge

Closes-Bug: #1446391
Closes-Bug: #1447707
Closes-Bug: #1456880
Closes-Bug: #1455259
Closes-Bug: #1458281
Closes-Bug: #1459485
Issues:
OSDs flaps because of insufficient heartbeat timeout on
large clusters
Replica configured is overwritten when upgrade or setup_storage
is run again.
If no replica configuration is provided in the testbed
Setup storage fails.
Current code only checks for the release numbers, doesn't check
for build numbers.
Fix:
Configured heartbeat based on the replica size.
Added a configuration variable 'storage_replica_size' in testbed.py
to specify the replica
Fixed the replica parse logic.
Added checks to avoid provisioning live migration on nodes
that have hypervisor other than kvm.
Added check for release number and build number and used
storage-package instead of contrail-install-package for the
versions.
Added a separate command for base openstack nova live-migration.

Change-Id: I06279b0d1b25ac0888fab9e6831533a58976eb68

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.