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)
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)
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)