Skip to content
Snippets Groups Projects
Select Git revision
  • 0453b94c5b05bf7726fc6ac2aef2d44a904fc61e
  • master default protected
2 results

string_tools.cpp

Blame
  • demo4-scale-out-add-worker.py 3.45 KiB
    # import getpass
    # import os
    # import libcloud.security
    
    import time
    from libcloud.compute.providers import get_driver
    from libcloud.compute.types import Provider
    
    # reqs:
    #   services: nova, glance, neutron
    #   resources: 2 instances (m1.small), 2 floating ips (1 keypair, 2 security groups)
    
    # Please use 1-25 for X in username, project etc., as coordinated in the lab sessions
    
    # web service endpoint of the private cloud infrastructure
    auth_url = 'https://private-cloud2.informatik.hs-fulda.de:5000'
    # your username in OpenStack
    auth_username = 'CloudCompX'
    # your project in OpenStack
    project_name = 'CloudCompGrpX'
    
    # default region
    region_name = 'RegionOne'
    # domain to use, "default" for local accounts, "hsfulda" for LDAP of DVZ, e.g., using fdaiXXXX as auth_username
    domain_name = "default"
    
    ubuntu_image_name = "Ubuntu 14.04 - Trusty Tahr - 64-bit - Cloud Based Image"
    #ubuntu_image_name = "Ubuntu 18.04 - Bionic Beaver - 64-bit - Cloud Based Image"
    
    flavor_name = 'm1.small'
    
    network_name = "CloudCompGrpX-net"
    
    keypair_name = 'srieger-pub'
    pub_key_file = '~/.ssh/id_rsa.pub'
    
    api_1_ip  = "192.168.0.x"
    services_ip = "192.168.0.y"
    
    
    def main():
        ###########################################################################
        #
        # get credentials
        #
        ###########################################################################
    
        # if "OS_PASSWORD" in os.environ:
        #     auth_password = os.environ["OS_PASSWORD"]
        # else:
        #     auth_password = getpass.getpass("Enter your OpenStack password:")
        auth_password = "demo"
    
        ###########################################################################
        #
        # create connection
        #
        ###########################################################################
    
        # libcloud.security.VERIFY_SSL_CERT = False
    
        provider = get_driver(Provider.OPENSTACK)
        conn = provider(auth_username,
                        auth_password,
                        ex_force_auth_url=auth_url,
                        ex_force_auth_version='3.x_password',
                        ex_tenant_name=project_name,
                        ex_force_service_region=region_name,
                        ex_domain_name=domain_name)
    
        ###########################################################################
        #
        # create worker instances
        #
        ###########################################################################
    
        userdata_worker = '''#!/usr/bin/env bash
        curl -L -s https://git.openstack.org/cgit/openstack/faafo/plain/contrib/install.sh | bash -s -- \
            -i faafo -r worker -e 'http://%(api_1_ip)s' -m 'amqp://guest:guest@%(services_ip)s:5672/'
        ''' % {'api_1_ip': api_1_ip, 'services_ip': services_ip}
    
        # userdata-api-2 = '''#!/usr/bin/env bash
        # curl -L -s https://git.openstack.org/cgit/openstack/faafo/plain/contrib/install.sh | bash -s -- \
        #     -i faafo -r worker -e 'http://%(api_2_ip)s' -m 'amqp://guest:guest@%(services_ip)s:5672/'
        # ''' % {'api_2_ip': api_2_ip, 'services_ip': services_ip}
    
        print('Starting new app-worker-3 instance and wait until it is running...')
        instance_worker_3 = conn.create_node(name='app-worker-3',
                                             image=image, size=flavor,
                                             networks=[network],
                                             ex_keyname=keypair_name,
                                             ex_userdata=userdata_worker,
                                             ex_security_groups=[worker_security_group])
    
    if __name__ == '__main__':
        main()