Suggestions on changing hosts' network

Hello, I have a 4.1 cluster based on FC storage domain. There are 2 hosts that are oVirt node-ng The engine is external to the oVirt environment Currently the network situation for ovirtmgmt is this one: engine on network1 (eg 192.168.1.x/24) host1 and host2 on network2 (eg 192.168.2.x/24) network1 and network2 routed through a gw I have to physically move host1 and host2 so that I should change their ip with one on network1. When I added the hosts in oVirt I used as Hostname/IP field their dns hostname What is the simplest approach? I can also give total downtime without particular problems as this is a test environment. I think I can put all infra into maintenance, change dns configuration but then I have also to change hosts network configuration itself... Possibly the best thing to do is remove/add the hosts? I have some doubts about the workflow to follow for removal/add and if for an oVirt-ng node I can change its ip configuration in an easy way.. perhaps from cockpit and then reboot and connect via cockpit to the new ip Thanks in advance for any suggestion Gianluca

Hello Gianluca, Add/remove would probably be the simplest way to go. The procedure would be: - take host to maintenance - remove host - use vdsm-cient to change the ip of ovirtmgmt - add the host again Just changing the dns configuration sounds quite interesting. I suppose the host certificates should be ok if the host was added by hostname. On Tue, Jan 2, 2018 at 9:02 AM, Gianluca Cecchi <gianluca.cecchi@gmail.com> wrote:
Hello, I have a 4.1 cluster based on FC storage domain. There are 2 hosts that are oVirt node-ng The engine is external to the oVirt environment Currently the network situation for ovirtmgmt is this one:
engine on network1 (eg 192.168.1.x/24) host1 and host2 on network2 (eg 192.168.2.x/24)
network1 and network2 routed through a gw
I have to physically move host1 and host2 so that I should change their ip with one on network1. When I added the hosts in oVirt I used as Hostname/IP field their dns hostname
What is the simplest approach? I can also give total downtime without particular problems as this is a test environment. I think I can put all infra into maintenance, change dns configuration but then I have also to change hosts network configuration itself... Possibly the best thing to do is remove/add the hosts? I have some doubts about the workflow to follow for removal/add and if for an oVirt-ng node I can change its ip configuration in an easy way.. perhaps from cockpit and then reboot and connect via cockpit to the new ip
Thanks in advance for any suggestion
Gianluca
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

On Wed, Jan 3, 2018 at 11:56 AM, Marcin Mirecki <mmirecki@redhat.com> wrote:
Hello Gianluca,
Add/remove would probably be the simplest way to go. The procedure would be: - take host to maintenance - remove host - use vdsm-cient to change the ip of ovirtmgmt - add the host again
Just changing the dns configuration sounds quite interesting. I suppose the host certificates should be ok if the host was added by hostname.
I've already done something similar in September; see here the full thread: http://lists.ovirt.org/pipermail/users/2017-September/084411.html In that case it was more complicated in the sense that vlan change was involved for ovirtmgmt and I passed through a new cluster. Now it is more simple, but while on September case the hosts were plain CentOS hosts, now they are ovirt-node-ng, so my manual ifcfg files manipulation doesn't fit. If vdsm-client command is ok I presume it will be something of type: # vdsm-client Host setupNetworks vdsm-client: Command Host.setupNetworks with args {} failed: (code=-32603, message=Attempt to call function: <bound method Global.setupNetworks of <API.Global object at 0x2279f10>> with arguments: () error: setupNetworks() takes exactly 4 arguments (1 given)) # with some sort of json configuration, but it is not clear to me what to give Can I do the change of ip from the host web cockpit mgmt interface? I set/change the ip and then eventually reboot the server to see if it works? Gianluca

On Wed, Jan 3, 2018 at 12:25 PM, Gianluca Cecchi <gianluca.cecchi@gmail.com> wrote:
On Wed, Jan 3, 2018 at 11:56 AM, Marcin Mirecki <mmirecki@redhat.com> wrote:
Hello Gianluca,
Add/remove would probably be the simplest way to go. The procedure would be: - take host to maintenance - remove host - use vdsm-cient to change the ip of ovirtmgmt - add the host again
Just changing the dns configuration sounds quite interesting. I suppose the host certificates should be ok if the host was added by hostname.
I've already done something similar in September; see here the full thread: http://lists.ovirt.org/pipermail/users/2017-September/084411.html
In that case it was more complicated in the sense that vlan change was involved for ovirtmgmt and I passed through a new cluster. Now it is more simple, but while on September case the hosts were plain CentOS hosts, now they are ovirt-node-ng, so my manual ifcfg files manipulation doesn't fit.
If vdsm-client command is ok I presume it will be something of type:
# vdsm-client Host setupNetworks vdsm-client: Command Host.setupNetworks with args {} failed: (code=-32603, message=Attempt to call function: <bound method Global.setupNetworks of <API.Global object at 0x2279f10>> with arguments: () error: setupNetworks() takes exactly 4 arguments (1 given)) #
with some sort of json configuration, but it is not clear to me what to give
Can I do the change of ip from the host web cockpit mgmt interface? I set/change the ip and then eventually reboot the server to see if it works?
Gianluca
hello, any update on how to give JSON representation (or other way) to use vdsm-client and change ip/gateway of ovirt-ng node? Thanks Gianluca

On Mon, Jan 8, 2018 at 1:19 AM, Gianluca Cecchi <gianluca.cecchi@gmail.com> wrote:
On Wed, Jan 3, 2018 at 12:25 PM, Gianluca Cecchi < gianluca.cecchi@gmail.com> wrote:
On Wed, Jan 3, 2018 at 11:56 AM, Marcin Mirecki <mmirecki@redhat.com> wrote:
Hello Gianluca,
Add/remove would probably be the simplest way to go. The procedure would be: - take host to maintenance - remove host - use vdsm-cient to change the ip of ovirtmgmt - add the host again
Just changing the dns configuration sounds quite interesting. I suppose the host certificates should be ok if the host was added by hostname.
I've already done something similar in September; see here the full thread: http://lists.ovirt.org/pipermail/users/2017-September/084411.html
In that case it was more complicated in the sense that vlan change was involved for ovirtmgmt and I passed through a new cluster. Now it is more simple, but while on September case the hosts were plain CentOS hosts, now they are ovirt-node-ng, so my manual ifcfg files manipulation doesn't fit.
If vdsm-client command is ok I presume it will be something of type:
# vdsm-client Host setupNetworks vdsm-client: Command Host.setupNetworks with args {} failed: (code=-32603, message=Attempt to call function: <bound method Global.setupNetworks of <API.Global object at 0x2279f10>> with arguments: () error: setupNetworks() takes exactly 4 arguments (1 given)) #
with some sort of json configuration, but it is not clear to me what to give
Can I do the change of ip from the host web cockpit mgmt interface? I set/change the ip and then eventually reboot the server to see if it works?
Gianluca
hello, any update on how to give JSON representation (or other way) to use vdsm-client and change ip/gateway of ovirt-ng node? Thanks
How to use vdsm-client in general: Just check its man page. You will need to fill up the existing management network details in the json format, replacing just the IP address. The main concern here is, that if you missed something, it may be removed. You should follow https://access.redhat.com/solutions/168983 for full details. I would suggest using a different approach, although I have not tested it myself: Edit the persisted relevant configuration files: /var/lib/vdsm/persistence/netconf (Change the IP there, without touching the other stuff) Then, reboot the host.. It should identify that the existing config is not in sync with the persisted one and a reconfig will be issued automatically. The risk here is that the config will not successfully get applied, so make sure you save the previous version. Thanks, Edy.
Gianluca
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

On Mon, Jan 8, 2018 at 1:57 PM, Edward Haas <ehaas@redhat.com> wrote:
On Mon, Jan 8, 2018 at 1:19 AM, Gianluca Cecchi <gianluca.cecchi@gmail.com
wrote:
On Wed, Jan 3, 2018 at 12:25 PM, Gianluca Cecchi < gianluca.cecchi@gmail.com> wrote:
On Wed, Jan 3, 2018 at 11:56 AM, Marcin Mirecki <mmirecki@redhat.com> wrote:
Hello Gianluca,
Add/remove would probably be the simplest way to go. The procedure would be: - take host to maintenance - remove host - use vdsm-cient to change the ip of ovirtmgmt - add the host again
Just changing the dns configuration sounds quite interesting. I suppose the host certificates should be ok if the host was added by hostname.
I've already done something similar in September; see here the full thread: http://lists.ovirt.org/pipermail/users/2017-September/084411.html
In that case it was more complicated in the sense that vlan change was involved for ovirtmgmt and I passed through a new cluster. Now it is more simple, but while on September case the hosts were plain CentOS hosts, now they are ovirt-node-ng, so my manual ifcfg files manipulation doesn't fit.
If vdsm-client command is ok I presume it will be something of type:
# vdsm-client Host setupNetworks vdsm-client: Command Host.setupNetworks with args {} failed: (code=-32603, message=Attempt to call function: <bound method Global.setupNetworks of <API.Global object at 0x2279f10>> with arguments: () error: setupNetworks() takes exactly 4 arguments (1 given)) #
with some sort of json configuration, but it is not clear to me what to give
Can I do the change of ip from the host web cockpit mgmt interface? I set/change the ip and then eventually reboot the server to see if it works?
Gianluca
hello, any update on how to give JSON representation (or other way) to use vdsm-client and change ip/gateway of ovirt-ng node? Thanks
How to use vdsm-client in general: Just check its man page. You will need to fill up the existing management network details in the json format, replacing just the IP address. The main concern here is, that if you missed something, it may be removed. You should follow https://access.redhat.com/solutions/168983 for full details.
I would suggest using a different approach, although I have not tested it myself: Edit the persisted relevant configuration files: /var/lib/vdsm/persistence/ netconf (Change the IP there, without touching the other stuff) Then, reboot the host.. It should identify that the existing config is not in sync with the persisted one and a reconfig will be issued automatically. The risk here is that the config will not successfully get applied, so make sure you save the previous version.
Thanks, Edy.
Just to avoid misunderstanding here, all these hacks are not officially supported. It is not recommended to attempt them on a production unit.
Gianluca
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users

On Mon, Jan 8, 2018 at 12:57 PM, Edward Haas <ehaas@redhat.com> wrote:
hello, any update on how to give JSON representation (or other way) to use vdsm-client and change ip/gateway of ovirt-ng node? Thanks
How to use vdsm-client in general: Just check its man page. You will need to fill up the existing management network details in the json format, replacing just the IP address. The main concern here is, that if you missed something, it may be removed. You should follow https://access.redhat.com/solutions/168983 for full details.
I would suggest using a different approach, although I have not tested it myself: Edit the persisted relevant configuration files: /var/lib/vdsm/persistence/ netconf (Change the IP there, without touching the other stuff) Then, reboot the host.. It should identify that the existing config is not in sync with the persisted one and a reconfig will be issued automatically. The risk here is that the config will not successfully get applied, so make sure you save the previous version.
Thanks, Edy.
Actually I see some misalignment between what I see in man page, what I get with "-h" option and real command usage. Eg in oVirt 4.1.7 (vdsm-client-4.19.37-1.el7.centos.noarch): man vdsm-client " Invoking commands with complex parameters For invoking commands with complex or many arguments, you can read a JSON dictionary from a file: vdsm-client Lease info -f lease.json where lease.json file content is: { "lease": { "sd_id": "75ab40e3-06b1-4a54-a825-2df7a40b93b2", "lease_id": "b3f6fa00-b315-4ad4-8108-f73da817b5c5" } } " But actually if I create a json file and execute [root@ovirtng4101 ~]# vdsm-client Host setupNetworks -f network.json I get: usage: vdsm-client [-h] [-a HOST] [-p PORT] [--unsecure] [--insecure] [--timeout TIMEOUT] [-f FILE] namespace method [arg=value] ... vdsm-client: error: unrecognized arguments: -f I have to try it in 4.1.8 if solved The workaround to change in place the file (in my case ipaddr and gateway fileds): /var/lib/vdsm/persistence/netconf.1515365150707441369/nets/ovirtmgmt and then shutdown/power on seems to work ok instead. I can reinstall the host and the change remains persistent across reboots Thanks for the pointer for RHEV doc, because I didn't find it at first glance and I have to do the same for a RHEV eval too; but it seems the problem is present also there with RHV-H installed in December (nodectl info reports that current layer is rhvh-4.1-0.20171101.0+1; probably the problem has been already solved, I have to check). I can give more details on this off-list if you like as this doesn't directly relate with oVirt. Thanks in the mean time for the persistence file method that I think/hope will work for RHV-H too if I don't update the image Gianluca PS: ok also for the "not officially supported." advise. This is only a test where two hosts are to be moved from datacenter 1 to datacenter 2...

On Mon, Jan 8, 2018 at 6:08 PM, Gianluca Cecchi <gianluca.cecchi@gmail.com> wrote:
On Mon, Jan 8, 2018 at 12:57 PM, Edward Haas <ehaas@redhat.com> wrote:
hello, any update on how to give JSON representation (or other way) to use vdsm-client and change ip/gateway of ovirt-ng node? Thanks
How to use vdsm-client in general: Just check its man page. You will need to fill up the existing management network details in the json format, replacing just the IP address. The main concern here is, that if you missed something, it may be removed. You should follow https://access.redhat.com/solutions/168983 for full details.
I would suggest using a different approach, although I have not tested it myself: Edit the persisted relevant configuration files: /var/lib/vdsm/persistence/netconf (Change the IP there, without touching the other stuff) Then, reboot the host.. It should identify that the existing config is not in sync with the persisted one and a reconfig will be issued automatically. The risk here is that the config will not successfully get applied, so make sure you save the previous version.
Thanks, Edy.
Actually I see some misalignment between what I see in man page, what I get with "-h" option and real command usage. Eg in oVirt 4.1.7 (vdsm-client-4.19.37-1.el7.centos.noarch):
man vdsm-client
" Invoking commands with complex parameters For invoking commands with complex or many arguments, you can read a JSON dictionary from a file:
vdsm-client Lease info -f lease.json
where lease.json file content is:
{ "lease": { "sd_id": "75ab40e3-06b1-4a54-a825-2df7a40b93b2", "lease_id": "b3f6fa00-b315-4ad4-8108-f73da817b5c5" } } "
But actually if I create a json file and execute
[root@ovirtng4101 ~]# vdsm-client Host setupNetworks -f network.json
I get:
usage: vdsm-client [-h] [-a HOST] [-p PORT] [--unsecure] [--insecure] [--timeout TIMEOUT] [-f FILE] namespace method [arg=value] ... vdsm-client: error: unrecognized arguments: -f
Please try running: # vdsm-client -f network.json Host setupNetworks There is an error in the man page, I will fix it.
I have to try it in 4.1.8 if solved
The workaround to change in place the file (in my case ipaddr and gateway fileds): /var/lib/vdsm/persistence/netconf.1515365150707441369/ nets/ovirtmgmt and then shutdown/power on seems to work ok instead. I can reinstall the host and the change remains persistent across reboots
Thanks for the pointer for RHEV doc, because I didn't find it at first glance and I have to do the same for a RHEV eval too; but it seems the problem is present also there with RHV-H installed in December (nodectl info reports that current layer is rhvh-4.1-0.20171101.0+1; probably the problem has been already solved, I have to check). I can give more details on this off-list if you like as this doesn't directly relate with oVirt.
Thanks in the mean time for the persistence file method that I think/hope will work for RHV-H too if I don't update the image
Gianluca
PS: ok also for the "not officially supported." advise. This is only a test where two hosts are to be moved from datacenter 1 to datacenter 2...
_______________________________________________ Users mailing list Users@ovirt.org http://lists.ovirt.org/mailman/listinfo/users
-- IRIT GOIHMAN SOFTWARE ENGINEER EMEA VIRTUALIZATION R&D Red Hat EMEA <https://www.redhat.com/> <https://red.ht/sig> TRIED. TESTED. TRUSTED. <https://redhat.com/trusted> @redhatnews <https://twitter.com/redhatnews> Red Hat <https://www.linkedin.com/company/red-hat> Red Hat <https://www.facebook.com/RedHatInc>
participants (4)
-
Edward Haas
-
Gianluca Cecchi
-
Irit Goihman
-
Marcin Mirecki