diff options
author | Tim Rozet <trozet@redhat.com> | 2018-12-05 09:35:52 -0500 |
---|---|---|
committer | Tim Rozet <trozet@redhat.com> | 2018-12-08 03:04:17 +0000 |
commit | 8154d4c215974c9c51b901cc655faace6eca2f98 (patch) | |
tree | 3d0cbdfe58b73eee7cddc76ca275972e77d85f28 | |
parent | f357aac22a1df2f10cca635c522e2397b2840f62 (diff) |
Enable CSIT deployments to use NFS backend
In order to support HA as well as live migration a shared storage
backend needs to be used. This patch preps the overcloud image to start
with an NFS server sharing out of /root/nfs. If csit environment file is
used then NFS parameters will be passed to the deployment, configuring
Nova and Glance to use NFS hosted by controller0.
JIRA: APEX-654
Change-Id: I049d84bfd454013fc7ba5048939ee17100197624
Signed-off-by: Tim Rozet <trozet@redhat.com>
-rw-r--r-- | apex/overcloud/deploy.py | 19 | ||||
-rw-r--r-- | build/csit-environment.yaml | 10 | ||||
-rw-r--r-- | build/csit-queens-environment.yaml | 10 |
3 files changed, 39 insertions, 0 deletions
diff --git a/apex/overcloud/deploy.py b/apex/overcloud/deploy.py index 6e1d5bb4..e8547d89 100644 --- a/apex/overcloud/deploy.py +++ b/apex/overcloud/deploy.py @@ -207,6 +207,8 @@ def create_deploy_cmd(ds, ns, inv, tmp_dir, else: deploy_options.append(os.path.join(con.THT_ENV_DIR, v)) + # TODO(trozet) Fix this check to look for if ceph is in controller services + # and not use name of the file if ds_opts['ceph'] and 'csit' not in env_file: prep_storage_env(ds, ns, virtual, tmp_dir) deploy_options.append(os.path.join(con.THT_ENV_DIR, @@ -432,6 +434,23 @@ def prep_image(ds, ns, img, tmp_dir, root_pw=None, docker_tag=None, virt_cmds.append( {con.VIRT_RUN_CMD: "crudini --del {} Unit " "ConditionPathExists".format(dhcp_unit)}) + # Prep for NFS + virt_cmds.extend([ + {con.VIRT_INSTALL: "nfs-utils"}, + {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: "echo '/root/nfs/glance *(rw,sync," + "no_root_squash,no_acl)' > /etc/exports"}, + {con.VIRT_RUN_CMD: "echo '/root/nfs/cinder *(rw,sync," + "no_root_squash,no_acl)' >> /etc/exports"}, + {con.VIRT_RUN_CMD: "echo '/root/nfs/nova *(rw,sync," + "no_root_squash,no_acl)' >> /etc/exports"}, + {con.VIRT_RUN_CMD: "exportfs -avr"}, + ]) virt_utils.virt_customize(virt_cmds, tmp_oc_image) logging.info("Overcloud image customization complete") return patched_containers diff --git a/build/csit-environment.yaml b/build/csit-environment.yaml index 048833d1..74e0c1fc 100644 --- a/build/csit-environment.yaml +++ b/build/csit-environment.yaml @@ -14,6 +14,16 @@ parameter_defaults: ExtraConfig: tripleo::ringbuilder::build_ring: false nova::api::default_floating_pool: 'external' + ControllerExtraConfig: + tripleo::firewall:firewall_rules: + '139 allow NFS': + dport: 2049 + GlanceNfsEnabled: true + GlanceNfsShare: overcloud-controller-0.opnfvlf.org:/root/nfs/glance + GlanceNfsOptions: 'rw,sync,context=system_u:object_r:glance_var_lib_t:s0' + NovaNfsEnabled: true + NovaNfsShare: overcloud-controller-0.opnfvlf.org:/root/nfs/nova + NovaNfsOptions: 'rw,sync,context=system_u:object_r:nfs_t:s0' DockerPuppetProcessCount: 10 NeutronNetworkVLANRanges: 'datacentre:500:525' SshServerOptions: diff --git a/build/csit-queens-environment.yaml b/build/csit-queens-environment.yaml index b13dd4df..2ecb1fc5 100644 --- a/build/csit-queens-environment.yaml +++ b/build/csit-queens-environment.yaml @@ -14,6 +14,16 @@ parameter_defaults: ExtraConfig: tripleo::ringbuilder::build_ring: false nova::api::default_floating_pool: 'external' + ControllerExtraConfig: + tripleo::firewall:firewall_rules: + '139 allow NFS': + dport: 2049 + GlanceNfsEnabled: true + GlanceNfsShare: overcloud-controller-0.opnfvlf.org:/root/nfs/glance + GlanceNfsOptions: 'rw,sync,context=system_u:object_r:glance_var_lib_t:s0' + NovaNfsEnabled: true + NovaNfsShare: overcloud-controller-0.opnfvlf.org:/root/nfs/nova + NovaNfsOptions: 'rw,sync,context=system_u:object_r:nfs_t:s0' DockerPuppetProcessCount: 10 NeutronNetworkVLANRanges: 'datacentre:500:525' SshServerOptions: |