示例#1
0
    def sync_with_ironic(self, auth_server, auth_port, auth_protocol,
                         auth_version, admin_user, admin_password,
                         admin_tenant_name, ironic_server_ip,
                         ironic_server_port):

        auth_url = '%s://%s:%s/%s' % (auth_protocol, auth_server, auth_port,
                                      auth_version)

        print auth_url

        httpclient = HTTPClient(username=admin_user,
                                project_name=admin_tenant_name,
                                password=admin_password,
                                auth_url=auth_url)

        httpclient.authenticate()

        ironic_url = 'http://%s:%s/v1/nodes/detail' % (ironic_server_ip,
                                                       ironic_server_port)
        auth_token = httpclient.auth_token
        headers = {'X-Auth-Token': str(auth_token)}

        resp = requests.get(ironic_url, headers=headers)

        resp_dict = resp.json()
        node_dict_list = resp_dict["nodes"]
        self.process_ironic_node_info(node_dict_list)
示例#2
0
    def _run(self, args_str=None, oper=''):
        self._args = None
        if not args_str:
            args_str = ' '.join(sys.argv[1:])
        self._parse_args(args_str)

        if self._quantum == None:
            httpclient = HTTPClient(
                username='******',
                tenant_name='demo',
                password='******',
                # region_name=self._region_name,
                auth_url='http://%s:5000/v2.0' % (self._args.api_server_ip))
            httpclient.authenticate()

            #OS_URL = httpclient.endpoint_url
            OS_URL = 'http://%s:9696/' % (self._args.api_server_ip)
            OS_TOKEN = httpclient.auth_token
            self._quantum = client.Client('2.0',
                                          endpoint_url=OS_URL,
                                          token=OS_TOKEN)

            self._vnc_lib = VncApi(username=self._args.admin_user,
                                   password=self._args.admin_password,
                                   tenant_name=self._args.admin_tenant_name,
                                   api_server_host=self._args.api_server_ip,
                                   api_server_port=self._args.api_server_port,
                                   api_server_url='/',
                                   auth_host=self._args.api_server_ip)

            self._proj_obj = self._vnc_lib.project_read(
                fq_name=['default-domain', 'default-project'])
            self._ipam_obj = self._vnc_lib.network_ipam_read(fq_name=[
                'default-domain', 'default-project', 'default-network-ipam'
            ])

        if self._args.oper == 'add':
            self._create_vn(self._args.vn_name, self._args.public_subnet)
        elif self._args.oper == 'del':
            self._delete_vn(self._args.vn_name)
        elif self._args.oper == 'add-list':
            self._create_vn_list(self._args.vn_list)
示例#3
0
    def _run(self, args_str=None, oper=''):
        self._args = None
        if not args_str:
            args_str = ' '.join(sys.argv[1:])
        self._parse_args(args_str)

        if self._quantum == None:
            httpclient = HTTPClient(username='******',
                                    tenant_name='demo',
                                    password='******',
                                    # region_name=self._region_name,
                                    auth_url='http://%s:5000/v2.0' % (self._args.api_server_ip))
            httpclient.authenticate()

            #OS_URL = httpclient.endpoint_url
            OS_URL = 'http://%s:9696/' % (self._args.api_server_ip)
            OS_TOKEN = httpclient.auth_token
            self._quantum = client.Client(
                '2.0', endpoint_url=OS_URL, token=OS_TOKEN)

            self._vnc_lib = VncApi(username=self._args.admin_user,
                                   password=self._args.admin_password,
                                   tenant_name=self._args.admin_tenant_name,
                                   api_server_host=self._args.api_server_ip,
                                   api_server_port=self._args.api_server_port,
                                   api_server_url='/',
                                   auth_host=self._args.api_server_ip)

            self._proj_obj = self._vnc_lib.project_read(
                fq_name=['default-domain', 'default-project'])
            self._ipam_obj = self._vnc_lib.network_ipam_read(
                fq_name=['default-domain', 'default-project', 'default-network-ipam'])

        if self._args.oper == 'add':
            self._create_vn(self._args.vn_name, self._args.public_subnet)
        elif self._args.oper == 'del':
            self._delete_vn(self._args.vn_name)
        elif self._args.oper == 'add-list':
            self._create_vn_list(self._args.vn_list)