Ejemplo n.º 1
0
def setup_galera_cluster():
    """Task to cluster the openstack nodes with galera"""
    if len(env.roledefs['openstack']) <= 1:
        print "Single Openstack cluster, skipping galera cluster setup."
        return

    if env.roledefs['openstack'].index(env.host_string) == 0:
        execute('setup_passwordless_ssh', *env.roledefs['openstack'])
    self_host = get_control_host_string(env.host_string)
    self_ip = hstr_to_ip(self_host)
    openstack_host_password = env.passwords[env.host_string]

    if (getattr(env, 'openstack_admin_password', None)):
        openstack_admin_password = env.openstack_admin_password
    else:
        openstack_admin_password = '******'

    openstack_host_list = [get_control_host_string(openstack_host)\
                           for openstack_host in env.roledefs['openstack']]
    galera_ip_list = [hstr_to_ip(galera_host)\
                      for galera_host in openstack_host_list]
    keystone_ip = get_keystone_ip()
    internal_vip = get_openstack_internal_vip()

    with cd(INSTALLER_DIR):
        run("PASSWORD=%s ADMIN_TOKEN=%s python setup-vnc-galera.py\
            --self_ip %s --keystone_ip %s --galera_ip_list %s\
            --internal_vip %s --openstack_index %d" % (openstack_host_password,
                openstack_admin_password, self_ip, keystone_ip,
                ' '.join(galera_ip_list), internal_vip,
                (openstack_host_list.index(self_host) + 1)))
Ejemplo n.º 2
0
def setup_galera_cluster():
    """Task to cluster the openstack nodes with galera"""
    if len(env.roledefs['openstack']) <= 1:
        print "Single Openstack cluster, skipping galera cluster setup."
        return

    if env.roledefs['openstack'].index(env.host_string) == 0:
        execute('setup_passwordless_ssh', *env.roledefs['openstack'])
    self_host = get_control_host_string(env.host_string)
    self_ip = hstr_to_ip(self_host)
    openstack_host_password = env.passwords[env.host_string]

    if (getattr(env, 'openstack_admin_password', None)):
        openstack_admin_password = env.openstack_admin_password
    else:
        openstack_admin_password = '******'

    openstack_host_list = [get_control_host_string(openstack_host)\
                           for openstack_host in env.roledefs['openstack']]
    galera_ip_list = [hstr_to_ip(galera_host)\
                      for galera_host in openstack_host_list]
    keystone_ip = get_keystone_ip()
    internal_vip = get_from_testbed_dict('ha', 'internal_vip', None)

    with cd(INSTALLER_DIR):
        run("PASSWORD=%s ADMIN_TOKEN=%s python setup-vnc-galera.py\
            --self_ip %s --keystone_ip %s --galera_ip_list %s\
            --internal_vip %s --openstack_index %d" %
            (openstack_host_password, openstack_admin_password, self_ip,
             keystone_ip, ' '.join(galera_ip_list), internal_vip,
             (openstack_host_list.index(self_host) + 1)))
Ejemplo n.º 3
0
def setup_rdo(rdo_url='https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-4.noarch.rpm'):
    """Set up RDO in the openstack node"""
    with settings(warn_only=True):
         sudo('sudo yum -y install %s' % rdo_url)
    execute(fix_yum_repos)
    with settings(warn_only=True):
        sudo('sudo yum install -y openstack-packstack')
    sudo('packstack --allinone --mariadb-pw=juniper123 --use-epel=n --nagios-install=n')
    openstack_password = getattr(env, 'openstack_admin_password', 'contrail123')
    sudo('source keystonerc_admin && keystone user-password-update --pass %s admin' % openstack_password)
    sudo("sed -i -e 's/export OS_PASSWORD=.*/export OS_PASSWORD=%s/' keystonerc_admin " % openstack_password)
    with settings(warn_only=True):
        sudo("service openstack-nova-compute status")
    sudo("service openstack-nova-compute stop")
    with settings(warn_only=True):
        sudo("service openstack-nova-compute status")
    with settings(warn_only=True):
        sudo("service neutron-server status")
    sudo("service neutron-server stop")
    with settings(warn_only=True):
        sudo("service neutron-server status")
    with settings(warn_only=True):
        openstackrc_file = sudo("ls /etc/contrail/openstackrc")
        if openstackrc_file.return_code != 0:
            sudo('mkdir -p /etc/contrail/')
            sudo("ln -s ~/keystonerc_admin /etc/contrail/openstackrc")
    cfgm_0_ip = testbed.env['roledefs']['cfgm'][0].split('@')[1]
    keystone_ip = get_keystone_ip()
    sudo("source /etc/contrail/openstackrc; nova service-disable $(hostname) nova-compute")
    sudo("openstack-config --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.neutronv2.api.API")
    sudo("openstack-config --set /etc/nova/nova.conf DEFAULT neutron_url http://%s:9696" % cfgm_0_ip)
    sudo("openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_auth_url http://%s:35357/v2.0" % keystone_ip)
    sudo("openstack-config --set /etc/nova/nova.conf DEFAULT  compute_driver nova.virt.libvirt.LibvirtDriver")
    sudo("openstack-config --set /etc/nova/nova.conf DEFAULT  novncproxy_port 5999")
    sudo("service openstack-nova-api restart")
    sudo("service openstack-nova-conductor restart")
    sudo("service openstack-nova-scheduler restart")
    sudo("service openstack-nova-novncproxy restart")
    sudo("service openstack-nova-consoleauth restart")
    sudo("iptables --flush")
    sudo("sudo service iptables stop; echo pass")
    sudo("sudo service ip6tables stop; echo pass")
    sudo("sudo systemctl stop firewalld; echo pass")
    sudo("sudo systemctl status firewalld; echo pass")
    sudo("sudo chkconfig firewalld off; echo pass")
    sudo("sudo /usr/libexec/iptables/iptables.init stop; echo pass")
    sudo("sudo /usr/libexec/iptables/ip6tables.init stop; echo pass")
    sudo("sudo service iptables save; echo pass")
    sudo("sudo service ip6tables save; echo pass")

    steps = "\n\n\n"
    steps += "="*160
    steps += "\nSteps to bring up contrail with the RDO:\n\
                1. Get the admin_token from /etc/keystone/keystone.conf of the openstack node and populate it as service_token in the testbed.py.\n\
                2. fab install_without_openstack (This step can be executed even before fab setup_rdo)\n\
                3. fab setup_without_openstack\n"
    steps += "="*160
    print steps
Ejemplo n.º 4
0
def setup_galera_cluster():
    """Task to cluster the openstack nodes with galera"""
    if len(env.roledefs['openstack']) <= 1:
        print "Single Openstack cluster, skipping galera cluster setup."
        return

    if env.roledefs['openstack'].index(env.host_string) == 0:
        execute('setup_passwordless_ssh', *env.roledefs['openstack'])
    self_host = get_control_host_string(env.host_string)
    self_ip = hstr_to_ip(self_host)

    openstack_host_list = [get_control_host_string(openstack_host)\
                           for openstack_host in env.roledefs['openstack']]
    galera_ip_list = [hstr_to_ip(galera_host)\
                      for galera_host in openstack_host_list]
    keystone_ip = get_keystone_ip()
    internal_vip = get_openstack_internal_vip()

    with cd(INSTALLER_DIR):
        sudo("setup-vnc-galera\
            --self_ip %s --keystone_ip %s --galera_ip_list %s\
            --internal_vip %s --openstack_index %d" %
             (self_ip, keystone_ip, ' '.join(galera_ip_list), internal_vip,
              (openstack_host_list.index(self_host) + 1)))
Ejemplo n.º 5
0
def setup_galera_cluster():
    """Task to cluster the openstack nodes with galera"""
    if len(env.roledefs['openstack']) <= 1:
        print "Single Openstack cluster, skipping galera cluster setup."
        return

    if env.roledefs['openstack'].index(env.host_string) == 0:
        execute('setup_passwordless_ssh', *env.roledefs['openstack'])
    self_host = get_control_host_string(env.host_string)
    self_ip = hstr_to_ip(self_host)

    openstack_host_list = [get_control_host_string(openstack_host)\
                           for openstack_host in env.roledefs['openstack']]
    galera_ip_list = [hstr_to_ip(galera_host)\
                      for galera_host in openstack_host_list]
    keystone_ip = get_keystone_ip()
    internal_vip = get_openstack_internal_vip()

    with cd(INSTALLER_DIR):
        sudo("setup-vnc-galera\
            --self_ip %s --keystone_ip %s --galera_ip_list %s\
            --internal_vip %s --openstack_index %d" % ( self_ip, keystone_ip,
                ' '.join(galera_ip_list), internal_vip,
                (openstack_host_list.index(self_host) + 1)))
Ejemplo n.º 6
0
def setup_rdo(
    rdo_url='https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo-release-icehouse-4.noarch.rpm'
):
    """Set up RDO in the openstack node"""
    with settings(warn_only=True):
        sudo('sudo yum -y install %s' % rdo_url)
    execute(fix_yum_repos)
    with settings(warn_only=True):
        sudo('sudo yum install -y openstack-packstack')
    sudo(
        'packstack --allinone --mariadb-pw=juniper123 --use-epel=n --nagios-install=n'
    )
    openstack_password = getattr(env, 'openstack_admin_password',
                                 'contrail123')
    sudo(
        'source keystonerc_admin && keystone user-password-update --pass %s admin'
        % openstack_password)
    sudo(
        "sed -i -e 's/export OS_PASSWORD=.*/export OS_PASSWORD=%s/' keystonerc_admin "
        % openstack_password)
    with settings(warn_only=True):
        sudo("service openstack-nova-compute status")
    sudo("service openstack-nova-compute stop")
    with settings(warn_only=True):
        sudo("service openstack-nova-compute status")
    with settings(warn_only=True):
        sudo("service neutron-server status")
    sudo("service neutron-server stop")
    with settings(warn_only=True):
        sudo("service neutron-server status")
    with settings(warn_only=True):
        openstackrc_file = sudo("ls /etc/contrail/openstackrc")
        if openstackrc_file.return_code != 0:
            sudo('mkdir -p /etc/contrail/')
            sudo("ln -s ~/keystonerc_admin /etc/contrail/openstackrc")
    cfgm_0_ip = testbed.env['roledefs']['cfgm'][0].split('@')[1]
    keystone_ip = get_keystone_ip()
    sudo(
        "source /etc/contrail/openstackrc; nova service-disable $(hostname) nova-compute"
    )
    sudo(
        "openstack-config --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.neutronv2.api.API"
    )
    sudo(
        "openstack-config --set /etc/nova/nova.conf DEFAULT neutron_url http://%s:9696"
        % cfgm_0_ip)
    sudo(
        "openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_auth_url http://%s:35357/v2.0"
        % keystone_ip)
    sudo(
        "openstack-config --set /etc/nova/nova.conf DEFAULT  compute_driver nova.virt.libvirt.LibvirtDriver"
    )
    sudo(
        "openstack-config --set /etc/nova/nova.conf DEFAULT  novncproxy_port 5999"
    )
    sudo("service openstack-nova-api restart")
    sudo("service openstack-nova-conductor restart")
    sudo("service openstack-nova-scheduler restart")
    sudo("service openstack-nova-novncproxy restart")
    sudo("service openstack-nova-consoleauth restart")
    sudo("iptables --flush")
    sudo("sudo service iptables stop; echo pass")
    sudo("sudo service ip6tables stop; echo pass")
    sudo("sudo systemctl stop firewalld; echo pass")
    sudo("sudo systemctl status firewalld; echo pass")
    sudo("sudo chkconfig firewalld off; echo pass")
    sudo("sudo /usr/libexec/iptables/iptables.init stop; echo pass")
    sudo("sudo /usr/libexec/iptables/ip6tables.init stop; echo pass")
    sudo("sudo service iptables save; echo pass")
    sudo("sudo service ip6tables save; echo pass")

    steps = "\n\n\n"
    steps += "=" * 160
    steps += "\nSteps to bring up contrail with the RDO:\n\
                1. Get the admin_token from /etc/keystone/keystone.conf of the openstack node and populate it as service_token in the testbed.py.\n\
                2. fab install_without_openstack (This step can be executed even before fab setup_rdo)\n\
                3. fab setup_without_openstack\n"

    steps += "=" * 160
    print steps