Пример #1
0
def install_contrail_ceilometer_plugin_node(*args):
    """Installs contrail ceilometer plugin pkgs in one or list of nodes.
       USAGE:fab install_contrail_ceilometer_plugin_node:[email protected],[email protected]"""
    for host_string in args:
        with settings(host_string=host_string):
            if not is_ceilometer_contrail_plugin_install_supported():
                continue
            pkg_contrail_ceilometer = get_ceilometer_plugin_pkgs()
            act_os_type = detect_ostype()
            openstack_sku = get_openstack_sku()
            if not pkg_contrail_ceilometer:
                raise RuntimeError('Unsupported OpenStack distribution (%s) '
                    'on (%s)' % (openstack_sku, act_os_type))

            if act_os_type == 'ubuntu':
                apt_install(pkg_contrail_ceilometer)
            elif act_os_type in ['redhat']:
                # We need to copy the pkg from the cfgm node
                # and then install it on the openstack node
                cfgm_node = env.roledefs['cfgm'][0]
                if host_string != cfgm_node:
                    local_tempdir = tempfile.mkdtemp()
                    with lcd(local_tempdir):
                        for pkg in pkg_contrail_ceilometer:
                            with settings(host_string = cfgm_node):
                                get('/opt/contrail/contrail_install_repo/%s*.rpm' % (pkg), local_tempdir)
                    output = local("ls %s/*.rpm" % (local_tempdir), capture=True)
                    pkg_list = output.split('\n')
                    for pkg in pkg_list:
                        install_pkg_node(pkg, host_string)
                    local('rm -rf %s' % (local_tempdir))
                else:
                    yum_install(pkg_contrail_ceilometer)
            else:
                yum_install(pkg_contrail_ceilometer)
Пример #2
0
def install_contrail_ceilometer_plugin_node(*args):
    """Installs contrail ceilometer plugin pkgs in one or list of nodes.
       USAGE:fab install_contrail_ceilometer_plugin_node:[email protected],[email protected]"""
    for host_string in args:
        with settings(host_string=host_string):
            if not is_ceilometer_contrail_plugin_install_supported():
                continue
            pkg_contrail_ceilometer = get_ceilometer_plugin_pkgs()
            act_os_type = detect_ostype()
            openstack_sku = get_openstack_sku()
            if not pkg_contrail_ceilometer:
                raise RuntimeError('Unsupported OpenStack distribution (%s) '
                    'on (%s)' % (openstack_sku, act_os_type))

            if act_os_type == 'ubuntu':
                apt_install(pkg_contrail_ceilometer)
            elif act_os_type in ['redhat']:
                # We need to copy the pkg from the cfgm node
                # and then install it on the openstack node
                cfgm_node = env.roledefs['cfgm'][0]
                if host_string != cfgm_node:
                    local_tempdir = tempfile.mkdtemp()
                    with lcd(local_tempdir):
                        for pkg in pkg_contrail_ceilometer:
                            with settings(host_string = cfgm_node):
                                get('/opt/contrail/contrail_install_repo/%s*.rpm' % (pkg), local_tempdir)
                    output = local("ls %s/*.rpm" % (local_tempdir), capture=True)
                    pkg_list = output.split('\n')
                    for pkg in pkg_list:
                        install_pkg_node(pkg, host_string)
                    local('rm -rf %s' % (local_tempdir))
                else:
                    yum_install(pkg_contrail_ceilometer)
            else:
                yum_install(pkg_contrail_ceilometer)
Пример #3
0
def upgrade_openstack_node(from_rel, pkg, *args):
    """Upgrades openstack pkgs in one or list of nodes. USAGE:fab upgrade_openstack_node:[email protected],[email protected]"""
    for host_string in args:
        with settings(host_string=host_string):
            pkg_contrail_ceilometer = None
            if env.roledefs["openstack"] and host_string == env.roledefs["openstack"][0]:
                if is_ceilometer_contrail_plugin_install_supported():
                    pkg_contrail_ceilometer = get_ceilometer_plugin_pkgs()
            execute("install_pkg_node", pkg, host_string)
            execute("create_install_repo_node", host_string)
            pkg_install(["contrail-setup"])
            cmd = frame_vnc_openstack_cmd(host_string, "upgrade-vnc-openstack")
            openstack_pkgs = get_openstack_pkgs()
            if pkg_contrail_ceilometer:
                openstack_pkgs.extend(pkg_contrail_ceilometer)
            cmd += " -P %s" % " ".join(openstack_pkgs)
            cmd += " -F %s" % from_rel
            cmd += " -T %s" % get_release()
            sudo(cmd)
Пример #4
0
def upgrade_openstack_node(from_rel, pkg, *args):
    """Upgrades openstack pkgs in one or list of nodes. USAGE:fab upgrade_openstack_node:[email protected],[email protected]"""
    for host_string in args:
        with settings(host_string=host_string):
            pkg_contrail_ceilometer = None
            if env.roledefs['openstack'] and \
                    host_string == env.roledefs['openstack'][0]:
                if is_ceilometer_contrail_plugin_install_supported():
                    pkg_contrail_ceilometer = get_ceilometer_plugin_pkgs()
            execute('install_pkg_node', pkg, host_string)
            execute('create_install_repo_node', host_string)
            pkg_install(['contrail-setup'])
            cmd = frame_vnc_openstack_cmd(host_string, 'upgrade-vnc-openstack')
            openstack_pkgs = get_openstack_pkgs()
            if pkg_contrail_ceilometer:
                openstack_pkgs.extend(pkg_contrail_ceilometer)
            cmd += ' -P %s' % ' '.join(openstack_pkgs)
            cmd += ' -F %s' % from_rel
            cmd += ' -T %s' % get_release()
            sudo(cmd)