<div dir="ltr"><div><div><div><div>Dear Sir.<br><br></div>You are right. It works like a charm<br></div>I realy appreciate your help<br><br></div>Sincerely<br></div>-bino-<br></div><br><div class="gmail_quote"><div dir="ltr">On Mon, Dec 10, 2018 at 3:02 PM Slawomir Kaplonski <<a href="mailto:skaplons@redhat.com">skaplons@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
If You want to attach port/subnet to router, please don’t do this with „create_port()” method only - it’s not enough.<br>
You should use add_interface_to_router() method if You are using Openstack SDK: <a href="https://github.com/openstack/openstacksdk/blob/master/openstack/network/v2/_proxy.py#L2441" rel="noreferrer" target="_blank">https://github.com/openstack/openstacksdk/blob/master/openstack/network/v2/_proxy.py#L2441</a> or add_interface_router() method from neutron client: <a href="https://github.com/openstack/python-neutronclient/blob/d8cb1472c867d2a308e26abea0b0a01f1d6629a1/neutronclient/v2_0/client.py#L918" rel="noreferrer" target="_blank">https://github.com/openstack/python-neutronclient/blob/d8cb1472c867d2a308e26abea0b0a01f1d6629a1/neutronclient/v2_0/client.py#L918</a><br>
<br>
— <br>
Slawek Kaplonski<br>
Senior software engineer<br>
Red Hat<br>
<br>
> Wiadomość napisana przez Bino Oetomo <<a href="mailto:bino@jogjacamp.co.id" target="_blank">bino@jogjacamp.co.id</a>> w dniu 10.12.2018, o godz. 03:04:<br>
> <br>
> Dear All,<br>
> <br>
> As suggested by Slawek Kaplonski, I tried this.<br>
> <br>
> -----------<br>
> <br>
> >>> myrouter<br>
> {'status': 'ACTIVE', 'external_gateway_info': {'network_id': 'd10dd06a-0425-49eb-a8ba-85abf55ac0f5', 'enable_snat': True, 'external_fixed_ips': [{'subnet_id': '4639e018-1cc1-49cc-89d4-4cad49bd4b89', 'ip_address': '10.10.10.2'}]}, 'availability_zone_hints': [], 'availability_zones': ['nova'], 'description': '', 'tags': [], 'tenant_id': 'c0b89f614b5a457cb5acef8fe8c2b320', 'created_at': '2018-12-07T07:24:41Z', 'admin_state_up': True, 'distributed': False, 'updated_at': '2018-12-07T07:58:02Z', 'project_id': 'c0b89f614b5a457cb5acef8fe8c2b320', 'flavor_id': None, 'revision_number': 10, 'routes': [], 'ha': False, 'id': 'a616dcc0-1f72-4424-9494-4d13b42445ee', 'name': 'Bino-rtr-01'}<br>
> <br>
> ```>>> mynetworks=[n for n in netlist['networks'] if n['name'].startswith('Bino')]<br>
> >>> mynetworks<br>
> [{'provider:physical_network': 'viavlan', 'ipv6_address_scope': None, 'revision_number': 7, 'port_security_enabled': True, 'mtu': 1500, 'id': '942675f6-fd5e-4bb2-ba43-487be992ff4e', 'router:external': False, 'availability_zone_hints': [], 'availability_zones': ['nova'], 'ipv4_address_scope': None, 'shared': False, 'project_id': 'c0b89f614b5a457cb5acef8fe8c2b320', 'status': 'ACTIVE', 'subnets': ['5373bc35-a90f-4793-a912-801920e47769'], 'description': '', 'tags': [], 'updated_at': '2018-12-07T07:50:27Z', 'provider:segmentation_id': 2037, 'name': 'Bino-net-01', 'admin_state_up': True, 'tenant_id': 'c0b89f614b5a457cb5acef8fe8c2b320', 'created_at': '2018-12-07T07:28:00Z', 'provider:network_type': 'vlan'}, {'provider:physical_network': 'viavlan', 'ipv6_address_scope': None, 'revision_number': 6, 'port_security_enabled': True, 'mtu': 1500, 'id': 'dfc8ed54-106d-48d0-8b45-cbd3cf0fbb79', 'router:external': False, 'availability_zone_hints': [], 'availability_zones': ['nova'], 'ipv4_address_scope': None, 'shared': False, 'project_id': 'c0b89f614b5a457cb5acef8fe8c2b320', 'status': 'ACTIVE', 'subnets': ['c71a86a3-f9a8-4e60-828e-5d6f87e58ac9'], 'description': '', 'tags': [], 'updated_at': '2018-12-07T07:49:59Z', 'provider:segmentation_id': 2002, 'name': 'Bino-net-02', 'admin_state_up': True, 'tenant_id': 'c0b89f614b5a457cb5acef8fe8c2b320', 'created_at': '2018-12-07T07:29:52Z', 'provider:network_type': 'vlan'}]<br>
> >>> print([n['name'] for n in mynetworks])<br>
> ['Bino-net-01', 'Bino-net-02']<br>
> >>> mynetwork=mynetworks[1]<br>
> >>> mynetwork['name']<br>
> 'Bino-net-02'<br>
> >>> body_value = {<br>
> ...    'port': {<br>
> ...        'admin_state_up': True,<br>
> ...        'device_id': myrouter['id'],<br>
> ...        'name': 'Bino-rtr-01-02',<br>
> ...        'network_id': mynetwork['id'],<br>
> ...    }<br>
> ... }<br>
> >>> response = nt.create_port(body=body_value)<br>
> >>> response<br>
> {'port': {'allowed_address_pairs': [], 'extra_dhcp_opts': [], 'updated_at': '2018-12-10T01:44:10Z', 'device_owner': '', 'revision_number': 1, 'binding:profile': {}, 'port_security_enabled': True, 'fixed_ips': [{'subnet_id': 'c71a86a3-f9a8-4e60-828e-5d6f87e58ac9', 'ip_address': '192.168.202.6'}], 'id': 'a2a337af-3a37-4a9a-a4f1-ffaacdf9f881', 'security_groups': ['4bed540c-266d-4cc2-8225-3e02ccd89ff1'], 'binding:vif_details': {}, 'binding:vif_type': 'unbound', 'mac_address': 'fa:16:3e:05:aa:b5', 'project_id': 'c0b89f614b5a457cb5acef8fe8c2b320', 'status': 'DOWN', 'binding:host_id': '', 'description': '', 'tags': [], 'device_id': 'a616dcc0-1f72-4424-9494-4d13b42445ee', 'name': 'Bino-rtr-01-02', 'admin_state_up': True, 'network_id': 'dfc8ed54-106d-48d0-8b45-cbd3cf0fbb79', 'tenant_id': 'c0b89f614b5a457cb5acef8fe8c2b320', 'created_at': '2018-12-10T01:44:10Z', 'binding:vnic_type': 'normal'}}<br>
> >>> response['port']['status']<br>
> 'DOWN'<br>
> ------<br>
> <br>
> Looks like the port status still 'DOWN'.<br>
> <br>
> Sincerely<br>
> -bino-<br>
> <br>
> <br>
> On Sat, Dec 8, 2018 at 9:42 PM Slawomir Kaplonski <<a href="mailto:skaplons@redhat.com" target="_blank">skaplons@redhat.com</a>> wrote:<br>
> Hi,<br>
> <br>
> You shouldn’t create port with router as device owner. If You want to connect port or subnet to router, there is proper method for that: <a href="https://developer.openstack.org/api-ref/network/v2/?expanded=add-interface-to-router-detail#add-interface-to-router" rel="noreferrer" target="_blank">https://developer.openstack.org/api-ref/network/v2/?expanded=add-interface-to-router-detail#add-interface-to-router</a><br>
> <br>
> — <br>
> Slawek Kaplonski<br>
> Senior software engineer<br>
> Red Hat<br>
> <br>
> > Wiadomość napisana przez Bino Oetomo <<a href="mailto:bino@jogjacamp.co.id" target="_blank">bino@jogjacamp.co.id</a>> w dniu 08.12.2018, o godz. 02:42:<br>
> > <br>
> > Dear All.<br>
> > <br>
> > I have no problem configuring network via Hosrizon-dasboard.<br>
> > <br>
> > I start playing with python for some task.<br>
> > I got succsess in creating network.<br>
> > I create a router, with one interface connected to existing 'ext-network' .. success.<br>
> > <br>
> > But I fail when I try to add a port to that router for connecting to existing internal network.<br>
> > <br>
> > Here is part of my python shell.<br>
> > <br>
> > --------------------<br>
> > body_value = {<br>
> > <br>
> >     <br>
> > 'port': {<br>
> > <br>
> >         <br>
> > 'admin_state_up': True,<br>
> > <br>
> >         <br>
> > 'device_owner': 'network:router_interface',<br>
> > <br>
> >         <br>
> > 'device_id': 'a616dcc0-1f72-4424-9494-4d13b42445ee',<br>
> > <br>
> >         <br>
> > 'name': 'Bino-net-01-02',<br>
> > <br>
> >         <br>
> > 'network_id': 'dfc8ed54-106d-48d0-8b45-cbd3cf0fbb79',<br>
> > <br>
> >         <br>
> > 'binding:host_id': '<a href="http://rocky-controller.mynet.net" rel="noreferrer" target="_blank">rocky-controller.mynet.net</a>',<br>
> > <br>
> >         <br>
> > 'binding:profile': {},<br>
> > <br>
> >         <br>
> > 'binding:vnic_type': 'normal',<br>
> > <br>
> >         <br>
> > 'fixed_ips': [{<br>
> > <br>
> >             <br>
> > 'subnet_id': 'c71a86a3-f9a8-4e60-828e-5d6f87e58ac9',<br>
> > <br>
> >             <br>
> > 'ip_address': '192.168.202.254'<br>
> > <br>
> >             <br>
> > }],<br>
> > <br>
> >     <br>
> > }<br>
> > }<br>
> > <br>
> > <br>
> > response <br>
> > = nt.create_port(body=body_value)<br>
> > <br>
> > response<br>
> > <br>
> >   <br>
> > {'port': {'allowed_address_pairs': [], 'extra_dhcp_opts': [], 'updated_at': '2018-12-07T08:10:24Z', 'device_owner': 'network:router_interface', 'revision_number': 1, 'port_security_enabled': False, 'binding:profile': {}, 'fixed_ips': [{'subnet_id': 'c71a86a3-f9a8-4e60-828e-5d6f87e58ac9', 'ip_address': '192.168.202.254'}], 'id': 'd02eb0f0-663f-423f-af4e-c969ccb9dc25', 'security_groups': [], 'binding:vif_details': {'port_filter': True, 'datapath_type': 'system', 'ovs_hybrid_plug': True}, 'binding:vif_type': 'ovs', 'mac_address': 'fa:16:3e:e2:9d:8f', 'project_id': 'c0b89f614b5a457cb5acef8fe8c2b320', 'status': 'DOWN', 'binding:host_id': '<a href="http://rocky-controller.mynet.net" rel="noreferrer" target="_blank">rocky-controller.mynet.net</a>', 'description': '', 'tags': [], 'device_id': 'a616dcc0-1f72-4424-9494-4d13b42445ee', 'name': 'Bino-net-01-02', 'admin_state_up': True, 'network_id': 'dfc8ed54-106d-48d0-8b45-cbd3cf0fbb79', 'tenant_id': 'c0b89f614b5a457cb5acef8fe8c2b320', 'created_at': '2018-12-07T08:10:24Z', 'binding:vnic_type': 'normal'}}<br>
> > <br>
> > --------------------<br>
> > 'status' always 'DOWN'.<br>
> > <br>
> > Kindly please give me some clue to fix this problem<br>
> > <br>
> > Note : Actualy I post same question on stackexchange : <a href="https://stackoverflow.com/questions/53665795/openstack-python-neutronclient-creating-port-but-down" rel="noreferrer" target="_blank">https://stackoverflow.com/questions/53665795/openstack-python-neutronclient-creating-port-but-down</a><br>
> > <br>
> > Sincerely<br>
> > -bino-<br>
> <br>
<br>
<br>
</blockquote></div>