Monday, 2023-09-11

jrossergood morning07:48
hamidlotfi_morning07:49
ayushhi team09:33
ayushi am facing one issue, which i am trying to diagnose09:33
opendevreviewMerged openstack/openstack-ansible-os_adjutant master: Install pkg-config package  https://review.opendev.org/c/openstack/openstack-ansible-os_adjutant/+/88898509:47
opendevreviewMerged openstack/openstack-ansible-os_adjutant master: Use proper galera port in configuration  https://review.opendev.org/c/openstack/openstack-ansible-os_adjutant/+/89009209:48
opendevreviewMerged openstack/openstack-ansible-os_adjutant master: Fix linters and metadata  https://review.opendev.org/c/openstack/openstack-ansible-os_adjutant/+/88846909:48
opendevreviewMerged openstack/openstack-ansible-os_adjutant master: Stop reffering _member_ role  https://review.opendev.org/c/openstack/openstack-ansible-os_adjutant/+/89146209:50
opendevreviewMerged openstack/openstack-ansible-os_adjutant master: Replace deprecated UPPER_CONSTRAINTS_FILE variable  https://review.opendev.org/c/openstack/openstack-ansible-os_adjutant/+/84772109:50
opendevreviewDavid Hitze proposed openstack/openstack-ansible-galera_server master: Added vars to override systemd for mariabackup  https://review.opendev.org/c/openstack/openstack-ansible-galera_server/+/89453011:25
farbod_hi guys12:35
farbod_i am configuring my cluster to be able to access to public IPs on the main interface. i made a bridge to my main NIC and assigned the public IP to it  and used this bridge as the network_interface in the br-ex network, but i lost my connection to the server from its own public IP address. i have access to only one NIC and there is some public IP addresses on the main NIC of each server. is there a way to use this as a 12:38
farbod_bridge and still be able to access to the server from its main IP?12:38
farbod_here is my infra node /etc/network/interfaces file : https://paste.opendev.org/show/bc40BANAEEPFQCFeP9qj/ and here is the compute node network configuration: https://paste.opendev.org/show/bxcA6Bw1YhZCCKuwdOTe/ and here is the user config .yml file: https://paste.opendev.org/show/bqHLLAd1FkU3ainKdloO/ and here is the user variable .yml file: https://paste.opendev.org/show/bJsuF9eGLZiq6w721xmp/12:41
jrosserfarbod_: do you have a range of public IP allocated, or do you just have one for each server?13:04
farbod_one public IP associated to each server for public access and some additional IPs, can be a subnet to bridge. i was able to set this additional IPs with a bridge to Proxmox LXC containers. Right now i have two servers, each one have a public IP for Public access and one of the has another public IP which is accessible by bridging.13:21
jrosseri'm not really following - you have a layer 2 CIDR of some size allocated to the interface by the provider?13:23
jrosserthat might / might not be shared across your two servers?13:24
farbod_yes the additional IPs or subnets are allocated by the provider and they are not shared. only accessible by the desired server. 13:25
jrosserand one of those servers has 65.21.28.0/26, like 64 addresses?13:27
jrosserthats what corresponds to what i assume your network address is and the netmask from your paste 255.255.255.19213:28
farbod_it has access to only one IP on that subnet:  13:29
farbod_IP:  65.21.28.313:29
farbod_Gateway: 65.21.28.113:29
farbod_Netmask: 255.255.255.19213:29
farbod_Broadcast: 65.21.28.6313:29
jrosserso that subnet is shared with other users? sorry this is pretty confusing13:32
farbod_yes13:32
opendevreviewDavid Hitze proposed openstack/openstack-ansible-galera_server master: Added vars to override systemd for mariabackup  https://review.opendev.org/c/openstack/openstack-ansible-galera_server/+/89453013:33
jrosserfarbod_: what do you want to do with these external IP?13:33
jrosserjust lets really get back to basics13:33
farbod_assign them to VMs13:34
jrosserso you really need a range of IP assigned to you i think13:34
opendevreviewDavid Hitze proposed openstack/openstack-ansible-galera_server master: Added vars to override systemd for mariabackup  https://review.opendev.org/c/openstack/openstack-ansible-galera_server/+/89453013:34
farbod_maybe want to have one VM for test :)13:34
jrosserfrom what you have said you have one IP in some subnet that also has other users in it13:34
farbod_yes13:35
jrosserusually, you tell neutron "this is my external network, you can allocate router IP from this range and floating IP from this other range" <- hand waving explanation but mostly right13:35
jrosserand then neutron itself allocates an IP from the range you give it to the router13:36
jrosserbut you keep talking about wanting to assign the IP to a VM :/13:36
jrosserwhich would be one of 1) allowing the VM to attach directly to the external network or 2) using a floating IP and a neutron router13:37
jrosserif you want to use the external IP that you get from your server provider i think that you are making like pretty difficult for a first go with openstack13:38
jrosserwe have a special configuration here https://docs.openstack.org/openstack-ansible/2023.1/user/aio/quickstart.html13:38
jrosserthis is specifically designed to be deployed on a single server behind a single IP for test/evaulation purposes13:39
farbod_my last attempt to made this IP assignable to a VM is in my configuration which i tried to connect br-ex to br-flat which its port is main NIC. and also i assigned the servers public IP to the bridge to be accessible. but i lost my connection to the server  while setup.  I don't understand the disconnection reason.13:39
jrosserwith the catch being that it can't do "proper" external networking, because there is only assumed to be one external IP13:39
jrosserfarbod_: but which IP?13:39
jrosseryou need a fixed IP on an interface somewhere to SSH/deploy with, and also that haproxy makes it's endpoint13:40
jrosserthis is not at all the same as the external network used by neutron13:40
farbod_i understand13:40
farbod_can we combine these two because of limitation on number of NICs? :)13:41
jrosserperhaps but i never did anthing like this13:42
farbod_what about a virtual ethernet on the main NIC?13:42
jrosserwhat you are doing is very very similar to the all-in-one that i just linked to13:43
jrosserthere are other people here who have built deployments like this in hosting providers, like admin1 13:44
jrosserand you'd have to get advice from them if it is possible to make a production type environment with real external IP for the workload]13:45
jrosseror if it's best to stick to some more artifical testing13:45
farbod_One working approach is that i am able to make a vlan and have subnets on that VLAN. which i tried that out and worked. My VLAN with public subnet is .4040 on main NIC and there are public IPs on it that i can make a network in dashboard and assign that IPs to VMs. But there is a trade of. The IPs on a VLAN have additional cost per traffic. but the IPs associated to the main NIC of the server don't have additional cost. 13:48
farbod_on another hand i can order much more bigger subnets on main NIC than the .4040 VLAN that i mentioned.13:48
jrosserit sounds like you do not have sufficient separation between the bridge/interface that you give to neutron / OVS13:49
jrosserand the one that you put an IP on to deploy/manage the server13:49
farbod_Another solution that my provider provides is that i can use routed IPs through my main IP on the server. These IPs gateway is the main IP on the server. any solution for this?13:50
jrosserthe thing is that openstack-ansible is really pretty agnostic to all this13:51
jrosserso long as the host kernel has the appropriate L2/L3 config and you're trying to do something actually supported by neutron, it should work13:52
jrosserthe example networking configs given in the openstack-ansible documentation are really just starting points and you can do whatever you like13:52
farbod_i read all of them many times for better understanding but i am stuck now :)13:53
jrosserif you look at some of the other deployment tools (maybe commercially supported ones) you might find they have very immovable requirements for hosts / interfaces etc13:53
jrosserand if you don't have that then it just doesnt work13:53
jrosserthat is not where you are with openstack-ansible, either follow the reference architecture which we document and test in CI13:54
jrosseror with enough knowedge of neutron you can configure pretty much anything beyond that as needed13:54
farbod_ I understand13:54
farbod_i need to learn more13:55
jrosserdid you build an all-in-one first?13:55
jrosserfollowing the quickstart guide?13:55
farbod_couple of months ago, yes. but didn't try public access like one i want now.13:56
jrosserthen perhaps review the AIO config13:56
jrossersee how eth12 is connected to the br-vlan bridge13:56
jrosserand becomes a flat network type for neutron13:57
jrossereth12 is the interface that neutron uses for it's exernal network in that case13:57
farbod_eth12 is a physical interface?13:57
jrosserno, it's just an arbitrary IP interface with that name13:57
farbod_you mean this:13:58
farbod_auto br-vlan13:58
farbod_iface br-vlan inet static13:58
farbod_    bridge_stp off13:58
farbod_    bridge_waitport 013:58
farbod_    bridge_fd 013:58
farbod_    address 172.29.248.10013:58
farbod_    netmask 255.255.252.013:58
farbod_    offload-sg off13:58
farbod_    # Create veth pair, don't bomb if already exists13:58
farbod_    pre-up ip link add br-vlan-veth type veth peer name eth12 || true13:58
farbod_    # Set both ends UP13:58
farbod_    pre-up ip link set br-vlan-veth up13:58
farbod_    pre-up ip link set eth12 up13:58
farbod_    # Delete veth pair on DOWN13:58
farbod_    post-down ip link del br-vlan-veth || true13:58
farbod_    bridge_ports br-vlan-veth13:58
jrosserpaste.opendev.org :(13:58
mgariepy!pastebin !13:58
opendevmeetmgariepy: Error: "pastebin" is not a valid command.13:58
farbod_sorry 13:58
jrosserif you follow the pattern in the AIO you have an interface name that you understand is the one you give to neutron13:59
jrosserit's up to you to make sure it is connected to something useful13:59
jrosserin the AIO case a veth is used to connect it to br-vlan13:59
farbod_sorry but what is ?14:00
farbod_ br-vlan-veth14:00
jrosserlike an ethernet cable connected between br-vlan and eth1214:00
farbod_it will use br-vlan as the network_interface?14:01
jrosserit?14:01
farbod_i mean i have to pass br-vlan or  br-vlan-veth or eth12 to network_interface?14:02
jrosserlook at the AIO config :)14:02
jrosserit is there as a reference for getting started14:02
farbod_host_bind_override uses eth1214:02
farbod_and another question14:02
jrosserjust to be clear this whole eth12 business is a hack for making things work on a server with not enough interfaces14:03
farbod_i really didn't understand the difference between host_bind_override and network_interface. but the second one worked for OVS setup14:03
jamesdentonhost_bind_override is irrelevant for OVS-based setups14:04
farbod_OK14:05
jamesdentonnetwork_interface is the way to go for OVS-based setups when you want the playbooks to manage the physical interface connected to br-ex or whatever the provider bridge is14:05
jrosserit is described here https://github.com/openstack/openstack-ansible/blob/master/doc/source/reference/architecture/metal-networking.rst#L10914:06
jamesdentonif left out, you have to perform the 'ovs-vsctl add-port' command yourself14:06
jrosserso what happens in the AIO is we make a pseudo-physical interface eth12 becasue there is not a real one to use14:07
farbod_As i understand eth12 will be a connection between br-vlan and neutron for public access?14:08
jrosserthen arrange for it to be hooked up to OVS here https://github.com/openstack/openstack-ansible/blob/master/etc/openstack_deploy/openstack_user_config.yml.aio.j2#L14514:08
farbod_br-ex <-> eth12 <-> br-vlan?14:08
farbod_which br-vlan is my way to public?14:09
jrosserwell again in the AIO we connect it to br-vlan really out of convenience, you connect it to where is needed on your actual server14:09
jrosserin the AIO we define the flat network as being untagged traffic on br-vlan14:09
jrosseryou might want to make that be untagged traffic on your actual physical interface14:09
farbod_👍14:10
jrosserand it sounds like you need a bridge there of some kind anyways14:10
jrosserbecasue you want somewhere to put an IP14:10
jrosserfor management / horizon / whatever14:10
farbod_a basic question :) can a bridge have access to public without a port to a physical NIC?14:11
jrosseri am going to say that depends if you put an ip on it or not, (ip forwarding etc) but jamesdenton will correct me here if i'm wrong14:12
farbod_Let me test the AIO veth solution.14:12
jrosserif you want L2 inbound to work to something connected to a bridge then i think you do need a port to the physical nic14:13
jrosseras L2 things like arp have to work14:14
jamesdentoni think the answer is "probably" but the gymnastics involved is not what i would recommend to someone new to this14:16
jamesdentonthere are linux networking and openstack networtking fundamentals that cannot be ignored14:16
jrosserunfortunately getting from zero to openstack involves a ton of both of those14:20
farbod_I understand14:21
farbod_take a look at this: https://paste.opendev.org/show/bi6KDV7AvI7yMtrjIx8R/14:26
jamesdentonand the plan is to use eth12 for the ovs bridge? or?14:29
farbod_yes14:30
farbod_pass it ti networ_interface14:30
jrosserjamesdenton: ^ this is a reasonable approach for giving a specific interface to neutron when there actually is only one physical one?14:31
farbod_With above configuration server is not accessible from the Public IP14:32
jrossershould enp8s0 be connected to the br-vlan bridge?14:34
farbod_i think so14:36
jrosserfrom #ansible `sdoran> "Legacy roles" are roles outside of collections. They still work fine, but new role features won't be added to standalone roles.`14:55
farbod_?14:55
jrosserthats just interesting for the ansible people here14:56
jrosserfarbod_: did you get your server accessible?14:56
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-lxc_hosts master: Add libpython mapping for debian bookworm  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/89455416:14
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-lxc_hosts master: Ensure systemd-resolved is present in debian container images  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/89455516:14
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-lxc_hosts master: Sync additional apt config from the host to the container base image  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/89455616:14
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-lxc_hosts master: Add ca-certificates into debian base image during debootstrap.  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/89455716:14
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-lxc_hosts master: Switch to native systemd-resolved from resolv.conf  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/89455816:14
farbod_jrosser: yes i did16:19
opendevreviewJonathan Rosser proposed openstack/openstack-ansible master: Allow deployment on debian bookworm hosts  https://review.opendev.org/c/openstack/openstack-ansible/+/89456016:25
opendevreviewJonathan Rosser proposed openstack/openstack-ansible master: Add CI jobs for debian bookworm  https://review.opendev.org/c/openstack/openstack-ansible/+/89456116:25
farbod_https://paste.opendev.org/show/bJ9wvn4SbxwNp88QFABJ/ In this configuration for AIO why should we assign another ip to br-vlan in second part? i don't understand it.16:56
farbod_I thought this configuration should work: https://paste.opendev.org/show/b1NDwUlMzA1kFZ4IXsrC/ but server is not accessible on its public IP.16:58
jamesdentonto define the gateway address for the flat neutron network/subnet that you'd setup16:58
farbod_Could you please check my configuration? 17:00
jamesdentonwhat does a working configuration look like? straight from your provider without any modifications?17:00
farbod_No, I manipulate it.17:01
jamesdentonright, but what did the working configuration look like?17:02
farbod_Assigning IP directly to main NIC with no bridges. On enp8s17:02
jamesdentonenp8s0 with no vlan tag?17:03
farbod_yes17:03
jamesdentonhwaddress 58:11:22:c4:54:2c is the MAC of enp8s0?17:04
farbod_yes17:04
jamesdentondoes 'ip link show' reflect that?17:05
farbod_My provider doesn't let me set a seprate mac address for this IP17:05
farbod_yes ip link show reflects that.17:05
jamesdentonand br-vlan is UP?17:06
jamesdentonyou could try restarting the instance with this config in place, if you have console access17:06
farbod_no17:06
farbod_i restarted it17:06
jamesdentonip link set br-vlan up17:06
farbod_I don't  have console access. I have rescue mode access. 17:08
supamattjamesdenton: you guys ever seen this issue? https://bugs.launchpad.net/bugs/203319317:09
supamattmaybe not, bc I suspect you have moved over to Q35 machine type VMs17:09
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-lxc_hosts master: Ensure systemd-resolved is present in debian container images  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/89455518:30
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-lxc_hosts master: Sync additional apt config from the host to the container base image  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/89455618:30
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-lxc_hosts master: Add ca-certificates into debian base image during debootstrap.  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/89455718:30
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-lxc_hosts master: Switch to native systemd-resolved from resolv.conf  https://review.opendev.org/c/openstack/openstack-ansible-lxc_hosts/+/89455818:30
jamesdentonsupamatt can't say i have18:35
farbod_Can i set specific mac address for an instance?19:38
jamesdentonopenstack port list --device-id <instance uuid>19:44
farbod_although i added my pub key to instance it refuses it. why?19:58
jrosserare you connecting as the right user?20:01
farbod_yes20:01
farbod_debian20:01
farbod_on debian image20:01
jrosseryou can look in the instance log to check that cloud-init was able to find it's datasource20:02
farbod_i didn't specify a cloud init20:07
farbod_how to create a user and set password for it in cloud init?20:09
jrosserit is automatic through the openstack metadata service20:09
jrosserwhat do you see in the instance log20:09
farbod_https://paste.opendev.org/show/bphMmT4qa7OiT4PAEvX1/20:10
jrosserhere is the trouble20:12
jrosser[   30.546171] cloud-init[452]: 2023-09-11 20:06:58,342 - url_helper.py[ERROR]: Timed out, no response from urls: ['http://169.254.169.254/openstack']20:13
jrosser[   30.549671] cloud-init[452]: 2023-09-11 20:06:58,342 - util.py[WARNING]: No active metadata service found20:13
jrosserare you connecting the instance directly to the external network?20:13
farbod_yes20:13
jrosserok then i dont think you will have the metadata service available there (though my OVN understanding is sketchy)20:14
jrosseri would try using config-drive instead to pass the metadata to the instance20:14
jamesdentonehhhh there IS a metadata service, and it ought to work even for that scenario20:14
jamesdentonbut config-drive is prob the easiest at this point20:14
jrosserright - in my stuff i don;t think it would work without a neutron router20:15
jrosser(linuxbridge)20:15
jrosserbut i expect OVN handles it differently20:15
jamesdentonthere's a way to get it to push a route via dhcp namespace20:15
jamesdentoncan't recall the option offhand20:16
jamesdentonoh yeah, irrelevant with OVN lol20:16
farbod_i just added it to a private network and it worked !20:17
farbod_And also with the help of you guys i am now able to assign public IPs with all its limitations!20:18
farbod_Thanks a lot jamesdenton & jrosser.20:18
jamesdentongood luck!20:19
jrosserawesome, glad its working20:19
farbod_yes 20:19
jrosseris this a test for an actual deployment, or what you'll end up with?20:19
farbod_jamesdenton: in the last configuration i provided to you it was a syntax error lol20:19
farbod_i am just learning20:20
farbod_the veth pair worked pefectlly20:20
jamesdentongood deal20:20
farbod_every thing but dns doesn't work. even when i changed it in resolve.conf 20:28
farbod_Configured it in Subnet :)20:34
farbod_But guys, are my questions annoying? :) I think i talked a lot these days and made you uncomfortable.20:49
jamesdentonnot at all20:53
jamesdentoni imagine most of us are busy with our own things, too. Happy to help where we can20:53
farbod_jamesdenton: I am spending time with your books these days, They are amazing, Thanks a lot20:54
jamesdentoncool! glad you found them20:55
* farbod_ 🙏20:55

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!