Пример #1
0
    def post_setup(cls, nova_client, oc_server, oc_port = None):
        # Update server to have latest info
        updated_oc_server = cls.update_server(nova_client, oc_server)

        # Set passwords
        updated_oc_server = cls.update_root_password(\
                oc_server, updated_oc_server)
        updated_oc_server = cls.update_oc_password(oc_server, updated_oc_server)
        
        # Print server info
        Utils.print_server_info(updated_oc_server)

        # Run payloads via SSH
        ipv4 = Utils.get_ipv4(updated_oc_server.addresses["public"])
        command = "ssh -q -o StrictHostKeyChecking=no %s " % ipv4 + \
                "'chmod +x /etc/prep.sh ; /etc/prep.sh'"
        Utils.do_subprocess(command)

        # Wait for opencenter services to be ready, if required
        if oc_port: cls.wait_for_oc_service(updated_oc_server)
        
        return updated_oc_server
Пример #2
0
    def build_a_cloud(cls, nova_client):
        logger.info("Build A Cloud Started")

        # Dev Cleanup
        cls.remove_user_networks(nova_client)

        # Check RAM & CloudNetwork Quotas
        cls.check_quotas(nova_client)

        # Create new network
        cidr = "192.168.3.0/24"
        network = cls.create_network(nova_client, "bac", cidr)

        ## Launch opencenter cluster
        num_of_oc_agents = 4
        oc_server, oc_agents = \
                cls.launch_cluster(nova_client, network, num_of_oc_agents)
                
        logger.info("Vanilla Cluster Launched")
        Utils.print_server_info(oc_server)
        for oc_agent in oc_agents:
            Utils.print_server_info(oc_agent)

        logger.info("Provisioning Cluster")
        oc_user = "******"
        oc_password = oc_server.oc_password
        oc_server_ipv4 = Utils.get_ipv4(oc_server.addresses["public"])
        oc_url ="https://%s:8443" % oc_server_ipv4
         
        oc.provision_cluster(nova_client, oc_server, oc_url, oc_user, \
            oc_password, num_of_oc_agents, cidr)

        logger.info("Checking & Deleting any Servers that had a Booting Error")
        cls.delete_errored_servers(nova_client)

        logger.info("Build A Cloud Finished")