From 32b3b5dd6290ae5c33edee2860a3edd9f3044d43 Mon Sep 17 00:00:00 2001 From: Tim Rozet Date: Fri, 14 Dec 2018 12:59:09 -0500 Subject: Fix NFS issues with Nova There are problems with Nova launching instantces due to permissions with nova being able to read/write certain directories on the NFS. The permissions are right on the NFS and the folders the NFS mounts to, but there still seems to be issues. The cause may be using a directory under /root as the NFS mount. This patch moves the NFS mounts to be individual folders under /. The patch also restart nova_compute docker container as NFS problems still persist unless this is done. JIRA: APEX-654 Change-Id: I25eee98c1a6516dfa44c686c2e614f6dc7000d98 Signed-off-by: Tim Rozet --- apex/deploy.py | 4 +++- apex/overcloud/deploy.py | 18 +++++++++--------- build/csit-environment.yaml | 4 ++-- build/csit-queens-environment.yaml | 4 ++-- build/csit-rocky-environment.yaml | 4 ++-- lib/ansible/playbooks/post_deploy_overcloud.yml | 8 +++----- 6 files changed, 21 insertions(+), 21 deletions(-) diff --git a/apex/deploy.py b/apex/deploy.py index bb011f92..f5d64820 100644 --- a/apex/deploy.py +++ b/apex/deploy.py @@ -338,13 +338,14 @@ def main(): utils.run_ansible(ansible_args, os.path.join(args.lib_dir, constants.ANSIBLE_PATH, 'deploy_dependencies.yml')) + all_in_one = not bool(args.virt_compute_nodes) if args.snapshot: # Start snapshot Deployment logging.info('Executing Snapshot Deployment...') SnapshotDeployment(deploy_settings=deploy_settings, snap_cache_dir=args.snap_cache, fetch=not args.no_fetch, - all_in_one=not bool(args.virt_compute_nodes)) + all_in_one=all_in_one) else: # Start Standard TripleO Deployment deployment = ApexDeployment(deploy_settings, args.patches_file, @@ -731,6 +732,7 @@ def main(): deploy_vars['l2gw'] = ds_opts.get('l2gw') deploy_vars['sriov'] = ds_opts.get('sriov') deploy_vars['tacker'] = ds_opts.get('tacker') + deploy_vars['all_in_one'] = all_in_one # TODO(trozet): pull all logs and store in tmp dir in overcloud # playbook post_overcloud = os.path.join(args.lib_dir, constants.ANSIBLE_PATH, diff --git a/apex/overcloud/deploy.py b/apex/overcloud/deploy.py index f40c8bd4..a4a96912 100644 --- a/apex/overcloud/deploy.py +++ b/apex/overcloud/deploy.py @@ -442,17 +442,17 @@ def prep_image(ds, ns, img, tmp_dir, root_pw=None, docker_tag=None, {con.VIRT_RUN_CMD: "ln -s /usr/lib/systemd/system/nfs-server.service " "/etc/systemd/system/multi-user.target.wants/" "nfs-server.service"}, - {con.VIRT_RUN_CMD: "mkdir -p /root/nfs/glance"}, - {con.VIRT_RUN_CMD: "mkdir -p /root/nfs/cinder"}, - {con.VIRT_RUN_CMD: "mkdir -p /root/nfs/nova"}, - {con.VIRT_RUN_CMD: "chmod 777 /root/nfs/glance"}, - {con.VIRT_RUN_CMD: "chmod 777 /root/nfs/cinder"}, - {con.VIRT_RUN_CMD: "chmod 777 /root/nfs/nova"}, - {con.VIRT_RUN_CMD: "echo '/root/nfs/glance *(rw,sync," + {con.VIRT_RUN_CMD: "mkdir -p /glance"}, + {con.VIRT_RUN_CMD: "mkdir -p /cinder"}, + {con.VIRT_RUN_CMD: "mkdir -p /nova"}, + {con.VIRT_RUN_CMD: "chmod 777 /glance"}, + {con.VIRT_RUN_CMD: "chmod 777 /cinder"}, + {con.VIRT_RUN_CMD: "chmod 777 /nova"}, + {con.VIRT_RUN_CMD: "echo '/glance *(rw,sync," "no_root_squash,no_acl)' > /etc/exports"}, - {con.VIRT_RUN_CMD: "echo '/root/nfs/cinder *(rw,sync," + {con.VIRT_RUN_CMD: "echo '/cinder *(rw,sync," "no_root_squash,no_acl)' >> /etc/exports"}, - {con.VIRT_RUN_CMD: "echo '/root/nfs/nova *(rw,sync," + {con.VIRT_RUN_CMD: "echo '/nova *(rw,sync," "no_root_squash,no_acl)' >> /etc/exports"}, {con.VIRT_RUN_CMD: "exportfs -avr"}, ]) diff --git a/build/csit-environment.yaml b/build/csit-environment.yaml index 9572504a..58676dc6 100644 --- a/build/csit-environment.yaml +++ b/build/csit-environment.yaml @@ -19,11 +19,11 @@ parameter_defaults: '139 allow NFS': dport: 2049 GlanceNfsEnabled: true - GlanceNfsShare: overcloud-controller-0.opnfvlf.org:/root/nfs/glance + GlanceNfsShare: overcloud-controller-0.opnfvlf.org:/glance GlanceNfsOptions: 'rw,sync,nosharecache,context=system_u:object_r:glance_var_lib_t:s0' NovaNfsEnabled: true - NovaNfsShare: overcloud-controller-0.opnfvlf.org:/root/nfs/nova + NovaNfsShare: overcloud-controller-0.opnfvlf.org:/nova NovaNfsOptions: 'rw,sync,nosharecache,context=system_u:object_r:nfs_t:s0' DockerPuppetProcessCount: 10 NeutronNetworkVLANRanges: 'datacentre:500:525' diff --git a/build/csit-queens-environment.yaml b/build/csit-queens-environment.yaml index 2cf3f02b..2252bb02 100644 --- a/build/csit-queens-environment.yaml +++ b/build/csit-queens-environment.yaml @@ -19,11 +19,11 @@ parameter_defaults: '139 allow NFS': dport: 2049 GlanceNfsEnabled: true - GlanceNfsShare: overcloud-controller-0.opnfvlf.org:/root/nfs/glance + GlanceNfsShare: overcloud-controller-0.opnfvlf.org:/glance GlanceNfsOptions: 'rw,sync,nosharecache,context=system_u:object_r:glance_var_lib_t:s0' NovaNfsEnabled: true - NovaNfsShare: overcloud-controller-0.opnfvlf.org:/root/nfs/nova + NovaNfsShare: overcloud-controller-0.opnfvlf.org:/nova NovaNfsOptions: 'rw,sync,nosharecache,context=system_u:object_r:nfs_t:s0' DockerPuppetProcessCount: 10 NeutronNetworkVLANRanges: 'datacentre:500:525' diff --git a/build/csit-rocky-environment.yaml b/build/csit-rocky-environment.yaml index 9572504a..58676dc6 100644 --- a/build/csit-rocky-environment.yaml +++ b/build/csit-rocky-environment.yaml @@ -19,11 +19,11 @@ parameter_defaults: '139 allow NFS': dport: 2049 GlanceNfsEnabled: true - GlanceNfsShare: overcloud-controller-0.opnfvlf.org:/root/nfs/glance + GlanceNfsShare: overcloud-controller-0.opnfvlf.org:/glance GlanceNfsOptions: 'rw,sync,nosharecache,context=system_u:object_r:glance_var_lib_t:s0' NovaNfsEnabled: true - NovaNfsShare: overcloud-controller-0.opnfvlf.org:/root/nfs/nova + NovaNfsShare: overcloud-controller-0.opnfvlf.org:/nova NovaNfsOptions: 'rw,sync,nosharecache,context=system_u:object_r:nfs_t:s0' DockerPuppetProcessCount: 10 NeutronNetworkVLANRanges: 'datacentre:500:525' diff --git a/lib/ansible/playbooks/post_deploy_overcloud.yml b/lib/ansible/playbooks/post_deploy_overcloud.yml index 882b0126..f3dbfbd2 100644 --- a/lib/ansible/playbooks/post_deploy_overcloud.yml +++ b/lib/ansible/playbooks/post_deploy_overcloud.yml @@ -54,12 +54,10 @@ - openstack-nova-api - openstack-nova-scheduler - openstack-nova-conductor - - name: Restart Compute Nova Compute (Pike Workaround) - shell: "systemctl restart openstack-nova-compute" + - name: Restart Compute Nova Compute (workaround for NFS) + shell: "docker restart nova_compute" become: yes - when: - - "'compute' in ansible_hostname" - - os_version == 'pike' + when: "'compute' in ansible_hostname or all_in_one" - name: Update ODL container restart policy to always shell: "docker update --restart=always opendaylight_api" become: yes -- cgit 1.2.3-korg