Exemplo n.º 1
0
def create_share_types():
    logger.info("Creating manila share types...")
    types = []

    if args.enable_unity_manila:
        types.append(["unity_share", "tripleo_manila_unity"])

    if args.enable_powermax_manila:
        types.append(["powermax_share", "tripleo_manila_powermax"])

    overcloudrc_name = CredentialHelper.get_overcloudrc_name()

    for type in types:
        type_name = type[0]
        cmd = "source {} && manila type-list | grep ' {} ' | " \
              "awk '{{print $4}}'".format(overcloudrc_name, type_name)
        proc = subprocess.Popen([cmd], stdout=subprocess.PIPE, shell=True)
        return_output = proc.communicate()[0].strip()

        if type_name == return_output:
            logger.warning("Manila type exists, skipping {}".format(type[0]))
            continue
        else:
            logger.info("Creating manila share type {}".format(type[0]))
            cmd = "source {} && " \
                  "manila type-create --is_public True {} true && " \
                  "manila type-key {} set share_backend_name={}" \
                  "".format(overcloudrc_name, type[0], type[0], type[1])
            os.system(cmd)

    os.system("source {} && "
              "manila extra-specs-list".format(overcloudrc_name))
Exemplo n.º 2
0
def create_volume_types():
    logger.info("Creating cinder volume types...")
    types = []
    if not args.disable_rbd:
        types.append(["rbd_backend", "tripleo_ceph"])

    if args.enable_dellsc:
        types.append(["dellsc_backend", "tripleo_dellsc"])

    if args.enable_unity:
        types.append(["unity_backend", "tripleo_dellemc_unity"])

    overcloudrc_name = CredentialHelper.get_overcloudrc_name()

    for type in types:
        type_name = type[0]
        cmd = "source {} && cinder type-list | grep ' {} ' | " \
              "awk '{{print $4}}'".format(overcloudrc_name, type_name)
        proc = subprocess.Popen([cmd], stdout=subprocess.PIPE, shell=True)
        return_output = proc.communicate()[0].strip()

        if type_name == return_output:
            logger.warning("Cinder type exists, skipping {}".format(type[0]))
            continue
        else:
            logger.info("Creating cinder type {}".format(type[0]))
            cmd = "source {} && " \
                  "cinder type-create {} && " \
                  "cinder type-key {} set volume_backend_name={}" \
                  "".format(overcloudrc_name, type[0], type[0], type[1])
            os.system(cmd)

    os.system("source {} && "
              "cinder extra-specs-list".format(overcloudrc_name))
Exemplo n.º 3
0
def create_volume_types():
    logger.info("Creating cinder volume types...")
    types = []
    if not args.disable_rbd:
        types.append(["rbd_backend", "tripleo_ceph"])

    if args.enable_dellsc:
        cinder_file = open(
            home_dir + '/pilot/templates/dell-cinder-backends.yaml', 'r')
        for line in cinder_file:
            line = line.strip()
            try:
                found = re.search(
                    'cinder_user_enabled_backends: \[(.+?)\]',  # noqa: W605
                    line).group(1)
                backends = found.split(",")
                for backend in backends:
                    types.append([backend + "_backend", backend])
            except AttributeError:
                found = ''

    overcloudrc_name = CredentialHelper.get_overcloudrc_name()

    for type in types:
        type_name = type[0]
        cmd = "source {} && cinder type-list | grep ' {} ' | " \
              "awk '{{print $4}}'".format(overcloudrc_name, type_name)
        proc = subprocess.Popen([cmd], stdout=subprocess.PIPE, shell=True)
        return_output = proc.communicate()[0].strip()

        if type_name == return_output:
            logger.warning("Cinder type exists, skipping {}".format(type[0]))
            continue
        else:
            logger.info("Creating cinder type {}".format(type[0]))
            cmd = "source {} && " \
                  "cinder type-create {} && " \
                  "cinder type-key {} set volume_backend_name={}" \
                  "".format(overcloudrc_name, type[0], type[0], type[1])
            os.system(cmd)

    os.system("source {} && "
              "cinder extra-specs-list".format(overcloudrc_name))