Skip to content

IP Address Change

Joe Kaiser edited this page Jan 25, 2018 · 4 revisions

Changing the frontend ip address and hostname.

Reinstalling a frontend to change the private network is a Stacki best practice. The procedure you are now reading is a Stacki non-best practice and is documented to make you go away.

You've been warned, but you persist in wanting what you want. You should know changing the private network on a frontend can raise the level of uncertainty about the validity of your configuration. If that is acceptable to you, then do the following. If it's not acceptable, reinstall the frontend.

*** NOTE: This is deprecated. The next release of Stacki you won't be able to do this. Because it's dumb.***

Save existing network information

  1. Dump the hostfile

    # stack report hostfile > stacki.hosts.csv
    
  2. Dump /etc/hosts

    # stack report host > hosts.stacki
    
  3. Dump network config

    # stack report networkfile > networks.stacki
    

Change CSV Files

  1. Open network file, and add a new line. Change the file from

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,True
    

    to

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,10.2.0.0,255.255.255.0,10.2.0.1,1500,stacki.com,False,True
    oldprivate,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,False
    

    Note that this moved original private to oldprivate. The private line now contains new network information, including new Address, Mask, and Gateway

  2. Open hosts.csv file, and change the IP addresses of the hosts from original to new subnet addresses.

Apply the change

  1. Import the network.csv file into the database

    # stack load networkfile file=networks.csv
    
  2. Import the hosts.csv file.

# stack load hostfile file=hosts.csv

This might throw out an error message saying:

error - host frontend is not in cluster

This error occurs because of a mismatch between the IP address recorded in the database, and the IP address of the NIC itself. It's OK to ignore this error message for now.

  1. Open the /etc/hosts file.

    You should see old IP addresses for all hosts. This is currently showing incorrect information since, all the hosts still have their old networking information.

    NOTE
    During a switch-over of IP addresses, there will be many instances where the information in the database, will be inconsistent with information in the /etc/hosts file, which in turn will be inconsistent with the status of the nodes. This might cause network connectivity issues.

We want to make changes to the active backend hosts that currently have new IP addresses in the database, but old IP addresses on all of their nics.

Copy over the ORIGINAL /etc/hosts file that was backed up to /etc/hosts.

# cp hosts.orig /etc/hosts

  1. In /etc/hosts, change the IP address of the frontend to the new IP address. Leave all the others IP addresses still pointing to the old IP addresses.

    NOTE
    This is required for the stack command line to function correctly.

    Copy this version of /etc/hosts file to a safe location. this will need to be used again. Call it /tmp/etc.hosts.unstable

  2. Next, change the networking files on the backend nodes.

    # stack sync host network backend restart=no
    

    This will change all networking files on the backend nodes, but will not restart the networking.

    This means that the networking files, such as /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-* files have information in them, that is inconsistent with the running configuration of the hosts.

  3. The previous step will have rewritten the /etc/hosts file. Copy over the /tmp/etc.hosts.unstable file back to /etc/hosts

  4. Reset the networking of all hosts.

    If you have console access to all backend hosts, instead of running the stack run host command, log into each hosts' console, and run

    # systemctl network restart
    

(Though this takes much longer than using a stack run command.)

If you don't have console access to the hosts, or if you have a large number of hosts, you can try to run the following:

# stack run host backend command="systemctl restart network"

This will change the IP address of backend hosts, and the command will lose connectivity, and will not return. After about a minute, hit Ctrl-C to kill the stack run host command.

  1. Reset the networking for the frontend.

    IMPORTANT
    Make sure that you have console access to the frontend. Do not run these commands over SSH. You will lose connectivity.

# stack report host resolv a:frontend | stack report script | bash
# stack report host interface a:frontend | stack report script | bash
# stack report host network a:frontend | stack report script | bash
Fix the attributes you just broke, using the new ip you've assigned the frontend.
# stack set attr attr=Kickstart_PrivateDNSServers attr=172.16.20.1,8.8.8.8
# stack set attr attr=Kickstart_PrivateGateway attr=172.16.20.1
# stack set attr attr=Kickstart_PrivateNTPHost attr=172.16.20.1

Reboot your frontend. No, really, reboot your frontend. Too many services need to be restarted for me to put them here.

  1. Your networks, for backends and the frontend, should be fully configured, and accessible over the new IP space
  2. There should be a status of "up" on all nodes in a stack list host.
  3. Test to see if you have connectivity between frontend and backend hosts
  4. Test to see if you have connectivity to the frontend from an external host.

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
IP Address Change · Teradata/stacki Wiki · GitHub
Skip to content

IP Address Change

Joe Kaiser edited this page Jan 25, 2018 · 4 revisions

Changing the frontend ip address and hostname.

Reinstalling a frontend to change the private network is a Stacki best practice. The procedure you are now reading is a Stacki non-best practice and is documented to make you go away.

You've been warned, but you persist in wanting what you want. You should know changing the private network on a frontend can raise the level of uncertainty about the validity of your configuration. If that is acceptable to you, then do the following. If it's not acceptable, reinstall the frontend.

*** NOTE: This is deprecated. The next release of Stacki you won't be able to do this. Because it's dumb.***

Save existing network information

  1. Dump the hostfile

    # stack report hostfile > stacki.hosts.csv
    
  2. Dump /etc/hosts

    # stack report host > hosts.stacki
    
  3. Dump network config

    # stack report networkfile > networks.stacki
    

Change CSV Files

  1. Open network file, and add a new line. Change the file from

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,True
    

    to

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,10.2.0.0,255.255.255.0,10.2.0.1,1500,stacki.com,False,True
    oldprivate,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,False
    

    Note that this moved original private to oldprivate. The private line now contains new network information, including new Address, Mask, and Gateway

  2. Open hosts.csv file, and change the IP addresses of the hosts from original to new subnet addresses.

Apply the change

  1. Import the network.csv file into the database

    # stack load networkfile file=networks.csv
    
  2. Import the hosts.csv file.

# stack load hostfile file=hosts.csv

This might throw out an error message saying:

error - host frontend is not in cluster

This error occurs because of a mismatch between the IP address recorded in the database, and the IP address of the NIC itself. It's OK to ignore this error message for now.

  1. Open the /etc/hosts file.

    You should see old IP addresses for all hosts. This is currently showing incorrect information since, all the hosts still have their old networking information.

    NOTE
    During a switch-over of IP addresses, there will be many instances where the information in the database, will be inconsistent with information in the /etc/hosts file, which in turn will be inconsistent with the status of the nodes. This might cause network connectivity issues.

We want to make changes to the active backend hosts that currently have new IP addresses in the database, but old IP addresses on all of their nics.

Copy over the ORIGINAL /etc/hosts file that was backed up to /etc/hosts.

# cp hosts.orig /etc/hosts

  1. In /etc/hosts, change the IP address of the frontend to the new IP address. Leave all the others IP addresses still pointing to the old IP addresses.

    NOTE
    This is required for the stack command line to function correctly.

    Copy this version of /etc/hosts file to a safe location. this will need to be used again. Call it /tmp/etc.hosts.unstable

  2. Next, change the networking files on the backend nodes.

    # stack sync host network backend restart=no
    

    This will change all networking files on the backend nodes, but will not restart the networking.

    This means that the networking files, such as /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-* files have information in them, that is inconsistent with the running configuration of the hosts.

  3. The previous step will have rewritten the /etc/hosts file. Copy over the /tmp/etc.hosts.unstable file back to /etc/hosts

  4. Reset the networking of all hosts.

    If you have console access to all backend hosts, instead of running the stack run host command, log into each hosts' console, and run

    # systemctl network restart
    

(Though this takes much longer than using a stack run command.)

If you don't have console access to the hosts, or if you have a large number of hosts, you can try to run the following:

# stack run host backend command="systemctl restart network"

This will change the IP address of backend hosts, and the command will lose connectivity, and will not return. After about a minute, hit Ctrl-C to kill the stack run host command.

  1. Reset the networking for the frontend.

    IMPORTANT
    Make sure that you have console access to the frontend. Do not run these commands over SSH. You will lose connectivity.

# stack report host resolv a:frontend | stack report script | bash
# stack report host interface a:frontend | stack report script | bash
# stack report host network a:frontend | stack report script | bash
Fix the attributes you just broke, using the new ip you've assigned the frontend.
# stack set attr attr=Kickstart_PrivateDNSServers attr=172.16.20.1,8.8.8.8
# stack set attr attr=Kickstart_PrivateGateway attr=172.16.20.1
# stack set attr attr=Kickstart_PrivateNTPHost attr=172.16.20.1

Reboot your frontend. No, really, reboot your frontend. Too many services need to be restarted for me to put them here.

  1. Your networks, for backends and the frontend, should be fully configured, and accessible over the new IP space
  2. There should be a status of "up" on all nodes in a stack list host.
  3. Test to see if you have connectivity between frontend and backend hosts
  4. Test to see if you have connectivity to the frontend from an external host.

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' IP Address Change · Teradata/stacki Wiki · GitHub
Skip to content

IP Address Change

Joe Kaiser edited this page Jan 25, 2018 · 4 revisions

Changing the frontend ip address and hostname.

Reinstalling a frontend to change the private network is a Stacki best practice. The procedure you are now reading is a Stacki non-best practice and is documented to make you go away.

You've been warned, but you persist in wanting what you want. You should know changing the private network on a frontend can raise the level of uncertainty about the validity of your configuration. If that is acceptable to you, then do the following. If it's not acceptable, reinstall the frontend.

*** NOTE: This is deprecated. The next release of Stacki you won't be able to do this. Because it's dumb.***

Save existing network information

  1. Dump the hostfile

    # stack report hostfile > stacki.hosts.csv
    
  2. Dump /etc/hosts

    # stack report host > hosts.stacki
    
  3. Dump network config

    # stack report networkfile > networks.stacki
    

Change CSV Files

  1. Open network file, and add a new line. Change the file from

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,True
    

    to

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,10.2.0.0,255.255.255.0,10.2.0.1,1500,stacki.com,False,True
    oldprivate,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,False
    

    Note that this moved original private to oldprivate. The private line now contains new network information, including new Address, Mask, and Gateway

  2. Open hosts.csv file, and change the IP addresses of the hosts from original to new subnet addresses.

Apply the change

  1. Import the network.csv file into the database

    # stack load networkfile file=networks.csv
    
  2. Import the hosts.csv file.

# stack load hostfile file=hosts.csv

This might throw out an error message saying:

error - host frontend is not in cluster

This error occurs because of a mismatch between the IP address recorded in the database, and the IP address of the NIC itself. It's OK to ignore this error message for now.

  1. Open the /etc/hosts file.

    You should see old IP addresses for all hosts. This is currently showing incorrect information since, all the hosts still have their old networking information.

    NOTE
    During a switch-over of IP addresses, there will be many instances where the information in the database, will be inconsistent with information in the /etc/hosts file, which in turn will be inconsistent with the status of the nodes. This might cause network connectivity issues.

We want to make changes to the active backend hosts that currently have new IP addresses in the database, but old IP addresses on all of their nics.

Copy over the ORIGINAL /etc/hosts file that was backed up to /etc/hosts.

# cp hosts.orig /etc/hosts

  1. In /etc/hosts, change the IP address of the frontend to the new IP address. Leave all the others IP addresses still pointing to the old IP addresses.

    NOTE
    This is required for the stack command line to function correctly.

    Copy this version of /etc/hosts file to a safe location. this will need to be used again. Call it /tmp/etc.hosts.unstable

  2. Next, change the networking files on the backend nodes.

    # stack sync host network backend restart=no
    

    This will change all networking files on the backend nodes, but will not restart the networking.

    This means that the networking files, such as /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-* files have information in them, that is inconsistent with the running configuration of the hosts.

  3. The previous step will have rewritten the /etc/hosts file. Copy over the /tmp/etc.hosts.unstable file back to /etc/hosts

  4. Reset the networking of all hosts.

    If you have console access to all backend hosts, instead of running the stack run host command, log into each hosts' console, and run

    # systemctl network restart
    

(Though this takes much longer than using a stack run command.)

If you don't have console access to the hosts, or if you have a large number of hosts, you can try to run the following:

# stack run host backend command="systemctl restart network"

This will change the IP address of backend hosts, and the command will lose connectivity, and will not return. After about a minute, hit Ctrl-C to kill the stack run host command.

  1. Reset the networking for the frontend.

    IMPORTANT
    Make sure that you have console access to the frontend. Do not run these commands over SSH. You will lose connectivity.

# stack report host resolv a:frontend | stack report script | bash
# stack report host interface a:frontend | stack report script | bash
# stack report host network a:frontend | stack report script | bash
Fix the attributes you just broke, using the new ip you've assigned the frontend.
# stack set attr attr=Kickstart_PrivateDNSServers attr=172.16.20.1,8.8.8.8
# stack set attr attr=Kickstart_PrivateGateway attr=172.16.20.1
# stack set attr attr=Kickstart_PrivateNTPHost attr=172.16.20.1

Reboot your frontend. No, really, reboot your frontend. Too many services need to be restarted for me to put them here.

  1. Your networks, for backends and the frontend, should be fully configured, and accessible over the new IP space
  2. There should be a status of "up" on all nodes in a stack list host.
  3. Test to see if you have connectivity between frontend and backend hosts
  4. Test to see if you have connectivity to the frontend from an external host.

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' IP Address Change · Teradata/stacki Wiki · GitHub
Skip to content

IP Address Change

Joe Kaiser edited this page Jan 25, 2018 · 4 revisions

Changing the frontend ip address and hostname.

Reinstalling a frontend to change the private network is a Stacki best practice. The procedure you are now reading is a Stacki non-best practice and is documented to make you go away.

You've been warned, but you persist in wanting what you want. You should know changing the private network on a frontend can raise the level of uncertainty about the validity of your configuration. If that is acceptable to you, then do the following. If it's not acceptable, reinstall the frontend.

*** NOTE: This is deprecated. The next release of Stacki you won't be able to do this. Because it's dumb.***

Save existing network information

  1. Dump the hostfile

    # stack report hostfile > stacki.hosts.csv
    
  2. Dump /etc/hosts

    # stack report host > hosts.stacki
    
  3. Dump network config

    # stack report networkfile > networks.stacki
    

Change CSV Files

  1. Open network file, and add a new line. Change the file from

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,True
    

    to

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,10.2.0.0,255.255.255.0,10.2.0.1,1500,stacki.com,False,True
    oldprivate,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,False
    

    Note that this moved original private to oldprivate. The private line now contains new network information, including new Address, Mask, and Gateway

  2. Open hosts.csv file, and change the IP addresses of the hosts from original to new subnet addresses.

Apply the change

  1. Import the network.csv file into the database

    # stack load networkfile file=networks.csv
    
  2. Import the hosts.csv file.

# stack load hostfile file=hosts.csv

This might throw out an error message saying:

error - host frontend is not in cluster

This error occurs because of a mismatch between the IP address recorded in the database, and the IP address of the NIC itself. It's OK to ignore this error message for now.

  1. Open the /etc/hosts file.

    You should see old IP addresses for all hosts. This is currently showing incorrect information since, all the hosts still have their old networking information.

    NOTE
    During a switch-over of IP addresses, there will be many instances where the information in the database, will be inconsistent with information in the /etc/hosts file, which in turn will be inconsistent with the status of the nodes. This might cause network connectivity issues.

We want to make changes to the active backend hosts that currently have new IP addresses in the database, but old IP addresses on all of their nics.

Copy over the ORIGINAL /etc/hosts file that was backed up to /etc/hosts.

# cp hosts.orig /etc/hosts

  1. In /etc/hosts, change the IP address of the frontend to the new IP address. Leave all the others IP addresses still pointing to the old IP addresses.

    NOTE
    This is required for the stack command line to function correctly.

    Copy this version of /etc/hosts file to a safe location. this will need to be used again. Call it /tmp/etc.hosts.unstable

  2. Next, change the networking files on the backend nodes.

    # stack sync host network backend restart=no
    

    This will change all networking files on the backend nodes, but will not restart the networking.

    This means that the networking files, such as /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-* files have information in them, that is inconsistent with the running configuration of the hosts.

  3. The previous step will have rewritten the /etc/hosts file. Copy over the /tmp/etc.hosts.unstable file back to /etc/hosts

  4. Reset the networking of all hosts.

    If you have console access to all backend hosts, instead of running the stack run host command, log into each hosts' console, and run

    # systemctl network restart
    

(Though this takes much longer than using a stack run command.)

If you don't have console access to the hosts, or if you have a large number of hosts, you can try to run the following:

# stack run host backend command="systemctl restart network"

This will change the IP address of backend hosts, and the command will lose connectivity, and will not return. After about a minute, hit Ctrl-C to kill the stack run host command.

  1. Reset the networking for the frontend.

    IMPORTANT
    Make sure that you have console access to the frontend. Do not run these commands over SSH. You will lose connectivity.

# stack report host resolv a:frontend | stack report script | bash
# stack report host interface a:frontend | stack report script | bash
# stack report host network a:frontend | stack report script | bash
Fix the attributes you just broke, using the new ip you've assigned the frontend.
# stack set attr attr=Kickstart_PrivateDNSServers attr=172.16.20.1,8.8.8.8
# stack set attr attr=Kickstart_PrivateGateway attr=172.16.20.1
# stack set attr attr=Kickstart_PrivateNTPHost attr=172.16.20.1

Reboot your frontend. No, really, reboot your frontend. Too many services need to be restarted for me to put them here.

  1. Your networks, for backends and the frontend, should be fully configured, and accessible over the new IP space
  2. There should be a status of "up" on all nodes in a stack list host.
  3. Test to see if you have connectivity between frontend and backend hosts
  4. Test to see if you have connectivity to the frontend from an external host.

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' IP Address Change · Teradata/stacki Wiki · GitHub
Skip to content

IP Address Change

Joe Kaiser edited this page Jan 25, 2018 · 4 revisions

Changing the frontend ip address and hostname.

Reinstalling a frontend to change the private network is a Stacki best practice. The procedure you are now reading is a Stacki non-best practice and is documented to make you go away.

You've been warned, but you persist in wanting what you want. You should know changing the private network on a frontend can raise the level of uncertainty about the validity of your configuration. If that is acceptable to you, then do the following. If it's not acceptable, reinstall the frontend.

*** NOTE: This is deprecated. The next release of Stacki you won't be able to do this. Because it's dumb.***

Save existing network information

  1. Dump the hostfile

    # stack report hostfile > stacki.hosts.csv
    
  2. Dump /etc/hosts

    # stack report host > hosts.stacki
    
  3. Dump network config

    # stack report networkfile > networks.stacki
    

Change CSV Files

  1. Open network file, and add a new line. Change the file from

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,True
    

    to

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,10.2.0.0,255.255.255.0,10.2.0.1,1500,stacki.com,False,True
    oldprivate,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,False
    

    Note that this moved original private to oldprivate. The private line now contains new network information, including new Address, Mask, and Gateway

  2. Open hosts.csv file, and change the IP addresses of the hosts from original to new subnet addresses.

Apply the change

  1. Import the network.csv file into the database

    # stack load networkfile file=networks.csv
    
  2. Import the hosts.csv file.

# stack load hostfile file=hosts.csv

This might throw out an error message saying:

error - host frontend is not in cluster

This error occurs because of a mismatch between the IP address recorded in the database, and the IP address of the NIC itself. It's OK to ignore this error message for now.

  1. Open the /etc/hosts file.

    You should see old IP addresses for all hosts. This is currently showing incorrect information since, all the hosts still have their old networking information.

    NOTE
    During a switch-over of IP addresses, there will be many instances where the information in the database, will be inconsistent with information in the /etc/hosts file, which in turn will be inconsistent with the status of the nodes. This might cause network connectivity issues.

We want to make changes to the active backend hosts that currently have new IP addresses in the database, but old IP addresses on all of their nics.

Copy over the ORIGINAL /etc/hosts file that was backed up to /etc/hosts.

# cp hosts.orig /etc/hosts

  1. In /etc/hosts, change the IP address of the frontend to the new IP address. Leave all the others IP addresses still pointing to the old IP addresses.

    NOTE
    This is required for the stack command line to function correctly.

    Copy this version of /etc/hosts file to a safe location. this will need to be used again. Call it /tmp/etc.hosts.unstable

  2. Next, change the networking files on the backend nodes.

    # stack sync host network backend restart=no
    

    This will change all networking files on the backend nodes, but will not restart the networking.

    This means that the networking files, such as /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-* files have information in them, that is inconsistent with the running configuration of the hosts.

  3. The previous step will have rewritten the /etc/hosts file. Copy over the /tmp/etc.hosts.unstable file back to /etc/hosts

  4. Reset the networking of all hosts.

    If you have console access to all backend hosts, instead of running the stack run host command, log into each hosts' console, and run

    # systemctl network restart
    

(Though this takes much longer than using a stack run command.)

If you don't have console access to the hosts, or if you have a large number of hosts, you can try to run the following:

# stack run host backend command="systemctl restart network"

This will change the IP address of backend hosts, and the command will lose connectivity, and will not return. After about a minute, hit Ctrl-C to kill the stack run host command.

  1. Reset the networking for the frontend.

    IMPORTANT
    Make sure that you have console access to the frontend. Do not run these commands over SSH. You will lose connectivity.

# stack report host resolv a:frontend | stack report script | bash
# stack report host interface a:frontend | stack report script | bash
# stack report host network a:frontend | stack report script | bash
Fix the attributes you just broke, using the new ip you've assigned the frontend.
# stack set attr attr=Kickstart_PrivateDNSServers attr=172.16.20.1,8.8.8.8
# stack set attr attr=Kickstart_PrivateGateway attr=172.16.20.1
# stack set attr attr=Kickstart_PrivateNTPHost attr=172.16.20.1

Reboot your frontend. No, really, reboot your frontend. Too many services need to be restarted for me to put them here.

  1. Your networks, for backends and the frontend, should be fully configured, and accessible over the new IP space
  2. There should be a status of "up" on all nodes in a stack list host.
  3. Test to see if you have connectivity between frontend and backend hosts
  4. Test to see if you have connectivity to the frontend from an external host.

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' IP Address Change · Teradata/stacki Wiki · GitHub
Skip to content

IP Address Change

Joe Kaiser edited this page Jan 25, 2018 · 4 revisions

Changing the frontend ip address and hostname.

Reinstalling a frontend to change the private network is a Stacki best practice. The procedure you are now reading is a Stacki non-best practice and is documented to make you go away.

You've been warned, but you persist in wanting what you want. You should know changing the private network on a frontend can raise the level of uncertainty about the validity of your configuration. If that is acceptable to you, then do the following. If it's not acceptable, reinstall the frontend.

*** NOTE: This is deprecated. The next release of Stacki you won't be able to do this. Because it's dumb.***

Save existing network information

  1. Dump the hostfile

    # stack report hostfile > stacki.hosts.csv
    
  2. Dump /etc/hosts

    # stack report host > hosts.stacki
    
  3. Dump network config

    # stack report networkfile > networks.stacki
    

Change CSV Files

  1. Open network file, and add a new line. Change the file from

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,True
    

    to

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,10.2.0.0,255.255.255.0,10.2.0.1,1500,stacki.com,False,True
    oldprivate,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,False
    

    Note that this moved original private to oldprivate. The private line now contains new network information, including new Address, Mask, and Gateway

  2. Open hosts.csv file, and change the IP addresses of the hosts from original to new subnet addresses.

Apply the change

  1. Import the network.csv file into the database

    # stack load networkfile file=networks.csv
    
  2. Import the hosts.csv file.

# stack load hostfile file=hosts.csv

This might throw out an error message saying:

error - host frontend is not in cluster

This error occurs because of a mismatch between the IP address recorded in the database, and the IP address of the NIC itself. It's OK to ignore this error message for now.

  1. Open the /etc/hosts file.

    You should see old IP addresses for all hosts. This is currently showing incorrect information since, all the hosts still have their old networking information.

    NOTE
    During a switch-over of IP addresses, there will be many instances where the information in the database, will be inconsistent with information in the /etc/hosts file, which in turn will be inconsistent with the status of the nodes. This might cause network connectivity issues.

We want to make changes to the active backend hosts that currently have new IP addresses in the database, but old IP addresses on all of their nics.

Copy over the ORIGINAL /etc/hosts file that was backed up to /etc/hosts.

# cp hosts.orig /etc/hosts

  1. In /etc/hosts, change the IP address of the frontend to the new IP address. Leave all the others IP addresses still pointing to the old IP addresses.

    NOTE
    This is required for the stack command line to function correctly.

    Copy this version of /etc/hosts file to a safe location. this will need to be used again. Call it /tmp/etc.hosts.unstable

  2. Next, change the networking files on the backend nodes.

    # stack sync host network backend restart=no
    

    This will change all networking files on the backend nodes, but will not restart the networking.

    This means that the networking files, such as /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-* files have information in them, that is inconsistent with the running configuration of the hosts.

  3. The previous step will have rewritten the /etc/hosts file. Copy over the /tmp/etc.hosts.unstable file back to /etc/hosts

  4. Reset the networking of all hosts.

    If you have console access to all backend hosts, instead of running the stack run host command, log into each hosts' console, and run

    # systemctl network restart
    

(Though this takes much longer than using a stack run command.)

If you don't have console access to the hosts, or if you have a large number of hosts, you can try to run the following:

# stack run host backend command="systemctl restart network"

This will change the IP address of backend hosts, and the command will lose connectivity, and will not return. After about a minute, hit Ctrl-C to kill the stack run host command.

  1. Reset the networking for the frontend.

    IMPORTANT
    Make sure that you have console access to the frontend. Do not run these commands over SSH. You will lose connectivity.

# stack report host resolv a:frontend | stack report script | bash
# stack report host interface a:frontend | stack report script | bash
# stack report host network a:frontend | stack report script | bash
Fix the attributes you just broke, using the new ip you've assigned the frontend.
# stack set attr attr=Kickstart_PrivateDNSServers attr=172.16.20.1,8.8.8.8
# stack set attr attr=Kickstart_PrivateGateway attr=172.16.20.1
# stack set attr attr=Kickstart_PrivateNTPHost attr=172.16.20.1

Reboot your frontend. No, really, reboot your frontend. Too many services need to be restarted for me to put them here.

  1. Your networks, for backends and the frontend, should be fully configured, and accessible over the new IP space
  2. There should be a status of "up" on all nodes in a stack list host.
  3. Test to see if you have connectivity between frontend and backend hosts
  4. Test to see if you have connectivity to the frontend from an external host.

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' IP Address Change · Teradata/stacki Wiki · GitHub
Skip to content

IP Address Change

Joe Kaiser edited this page Jan 25, 2018 · 4 revisions

Changing the frontend ip address and hostname.

Reinstalling a frontend to change the private network is a Stacki best practice. The procedure you are now reading is a Stacki non-best practice and is documented to make you go away.

You've been warned, but you persist in wanting what you want. You should know changing the private network on a frontend can raise the level of uncertainty about the validity of your configuration. If that is acceptable to you, then do the following. If it's not acceptable, reinstall the frontend.

*** NOTE: This is deprecated. The next release of Stacki you won't be able to do this. Because it's dumb.***

Save existing network information

  1. Dump the hostfile

    # stack report hostfile > stacki.hosts.csv
    
  2. Dump /etc/hosts

    # stack report host > hosts.stacki
    
  3. Dump network config

    # stack report networkfile > networks.stacki
    

Change CSV Files

  1. Open network file, and add a new line. Change the file from

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,True
    

    to

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,10.2.0.0,255.255.255.0,10.2.0.1,1500,stacki.com,False,True
    oldprivate,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,False
    

    Note that this moved original private to oldprivate. The private line now contains new network information, including new Address, Mask, and Gateway

  2. Open hosts.csv file, and change the IP addresses of the hosts from original to new subnet addresses.

Apply the change

  1. Import the network.csv file into the database

    # stack load networkfile file=networks.csv
    
  2. Import the hosts.csv file.

# stack load hostfile file=hosts.csv

This might throw out an error message saying:

error - host frontend is not in cluster

This error occurs because of a mismatch between the IP address recorded in the database, and the IP address of the NIC itself. It's OK to ignore this error message for now.

  1. Open the /etc/hosts file.

    You should see old IP addresses for all hosts. This is currently showing incorrect information since, all the hosts still have their old networking information.

    NOTE
    During a switch-over of IP addresses, there will be many instances where the information in the database, will be inconsistent with information in the /etc/hosts file, which in turn will be inconsistent with the status of the nodes. This might cause network connectivity issues.

We want to make changes to the active backend hosts that currently have new IP addresses in the database, but old IP addresses on all of their nics.

Copy over the ORIGINAL /etc/hosts file that was backed up to /etc/hosts.

# cp hosts.orig /etc/hosts

  1. In /etc/hosts, change the IP address of the frontend to the new IP address. Leave all the others IP addresses still pointing to the old IP addresses.

    NOTE
    This is required for the stack command line to function correctly.

    Copy this version of /etc/hosts file to a safe location. this will need to be used again. Call it /tmp/etc.hosts.unstable

  2. Next, change the networking files on the backend nodes.

    # stack sync host network backend restart=no
    

    This will change all networking files on the backend nodes, but will not restart the networking.

    This means that the networking files, such as /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-* files have information in them, that is inconsistent with the running configuration of the hosts.

  3. The previous step will have rewritten the /etc/hosts file. Copy over the /tmp/etc.hosts.unstable file back to /etc/hosts

  4. Reset the networking of all hosts.

    If you have console access to all backend hosts, instead of running the stack run host command, log into each hosts' console, and run

    # systemctl network restart
    

(Though this takes much longer than using a stack run command.)

If you don't have console access to the hosts, or if you have a large number of hosts, you can try to run the following:

# stack run host backend command="systemctl restart network"

This will change the IP address of backend hosts, and the command will lose connectivity, and will not return. After about a minute, hit Ctrl-C to kill the stack run host command.

  1. Reset the networking for the frontend.

    IMPORTANT
    Make sure that you have console access to the frontend. Do not run these commands over SSH. You will lose connectivity.

# stack report host resolv a:frontend | stack report script | bash
# stack report host interface a:frontend | stack report script | bash
# stack report host network a:frontend | stack report script | bash
Fix the attributes you just broke, using the new ip you've assigned the frontend.
# stack set attr attr=Kickstart_PrivateDNSServers attr=172.16.20.1,8.8.8.8
# stack set attr attr=Kickstart_PrivateGateway attr=172.16.20.1
# stack set attr attr=Kickstart_PrivateNTPHost attr=172.16.20.1

Reboot your frontend. No, really, reboot your frontend. Too many services need to be restarted for me to put them here.

  1. Your networks, for backends and the frontend, should be fully configured, and accessible over the new IP space
  2. There should be a status of "up" on all nodes in a stack list host.
  3. Test to see if you have connectivity between frontend and backend hosts
  4. Test to see if you have connectivity to the frontend from an external host.

Clone this wiki locally

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); IP Address Change · Teradata/stacki Wiki · GitHub
Skip to content

IP Address Change

Joe Kaiser edited this page Jan 25, 2018 · 4 revisions

Changing the frontend ip address and hostname.

Reinstalling a frontend to change the private network is a Stacki best practice. The procedure you are now reading is a Stacki non-best practice and is documented to make you go away.

You've been warned, but you persist in wanting what you want. You should know changing the private network on a frontend can raise the level of uncertainty about the validity of your configuration. If that is acceptable to you, then do the following. If it's not acceptable, reinstall the frontend.

*** NOTE: This is deprecated. The next release of Stacki you won't be able to do this. Because it's dumb.***

Save existing network information

  1. Dump the hostfile

    # stack report hostfile > stacki.hosts.csv
    
  2. Dump /etc/hosts

    # stack report host > hosts.stacki
    
  3. Dump network config

    # stack report networkfile > networks.stacki
    

Change CSV Files

  1. Open network file, and add a new line. Change the file from

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,True
    

    to

    NETWORK,ADDRESS,MASK,GATEWAY,MTU,ZONE,DNS,PXE
    private,10.2.0.0,255.255.255.0,10.2.0.1,1500,stacki.com,False,True
    oldprivate,192.168.16.0,255.255.240.0,192.168.16.1,1500,stacki.com,False,False
    

    Note that this moved original private to oldprivate. The private line now contains new network information, including new Address, Mask, and Gateway

  2. Open hosts.csv file, and change the IP addresses of the hosts from original to new subnet addresses.

Apply the change

  1. Import the network.csv file into the database

    # stack load networkfile file=networks.csv
    
  2. Import the hosts.csv file.

# stack load hostfile file=hosts.csv

This might throw out an error message saying:

error - host frontend is not in cluster

This error occurs because of a mismatch between the IP address recorded in the database, and the IP address of the NIC itself. It's OK to ignore this error message for now.

  1. Open the /etc/hosts file.

    You should see old IP addresses for all hosts. This is currently showing incorrect information since, all the hosts still have their old networking information.

    NOTE
    During a switch-over of IP addresses, there will be many instances where the information in the database, will be inconsistent with information in the /etc/hosts file, which in turn will be inconsistent with the status of the nodes. This might cause network connectivity issues.

We want to make changes to the active backend hosts that currently have new IP addresses in the database, but old IP addresses on all of their nics.

Copy over the ORIGINAL /etc/hosts file that was backed up to /etc/hosts.

# cp hosts.orig /etc/hosts

  1. In /etc/hosts, change the IP address of the frontend to the new IP address. Leave all the others IP addresses still pointing to the old IP addresses.

    NOTE
    This is required for the stack command line to function correctly.

    Copy this version of /etc/hosts file to a safe location. this will need to be used again. Call it /tmp/etc.hosts.unstable

  2. Next, change the networking files on the backend nodes.

    # stack sync host network backend restart=no
    

    This will change all networking files on the backend nodes, but will not restart the networking.

    This means that the networking files, such as /etc/sysconfig/network, /etc/sysconfig/network-scripts/ifcfg-* files have information in them, that is inconsistent with the running configuration of the hosts.

  3. The previous step will have rewritten the /etc/hosts file. Copy over the /tmp/etc.hosts.unstable file back to /etc/hosts

  4. Reset the networking of all hosts.

    If you have console access to all backend hosts, instead of running the stack run host command, log into each hosts' console, and run

    # systemctl network restart
    

(Though this takes much longer than using a stack run command.)

If you don't have console access to the hosts, or if you have a large number of hosts, you can try to run the following:

# stack run host backend command="systemctl restart network"

This will change the IP address of backend hosts, and the command will lose connectivity, and will not return. After about a minute, hit Ctrl-C to kill the stack run host command.

  1. Reset the networking for the frontend.

    IMPORTANT
    Make sure that you have console access to the frontend. Do not run these commands over SSH. You will lose connectivity.

# stack report host resolv a:frontend | stack report script | bash
# stack report host interface a:frontend | stack report script | bash
# stack report host network a:frontend | stack report script | bash
Fix the attributes you just broke, using the new ip you've assigned the frontend.
# stack set attr attr=Kickstart_PrivateDNSServers attr=172.16.20.1,8.8.8.8
# stack set attr attr=Kickstart_PrivateGateway attr=172.16.20.1
# stack set attr attr=Kickstart_PrivateNTPHost attr=172.16.20.1

Reboot your frontend. No, really, reboot your frontend. Too many services need to be restarted for me to put them here.

  1. Your networks, for backends and the frontend, should be fully configured, and accessible over the new IP space
  2. There should be a status of "up" on all nodes in a stack list host.
  3. Test to see if you have connectivity between frontend and backend hosts
  4. Test to see if you have connectivity to the frontend from an external host.

Clone this wiki locally