首先定义pillar

[root@web1 pillar]# cat hostname.sls
ip_hostname:
10.1.1.1: web1
10.1.1.2: web2
10.1.1.3: mysql1
10.1.1.4: redis1
10.1.1.5: tomcat1
10.1.1.6: dubbo1
10.1.1.7: zabbix1

在top.sls中调用

[root@web1 pillar]# cat top.sls
base:
'*':
- hostname

编写状态模块,根据ip通过pillar判断对应的主机名。

[root@web1 base]# cat set-hostname.sls
{% set ip = salt['network.interface_ip']('eth1') %}
alter_hostname:
cmd.run:
- name: hostnamectl set-hostname {{ pillar['ip_hostname'][ip] }}

测试执行

[root@web1 base]# salt-ssh  '*' state.sls set-hostname  test=True
tomcat1:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname tomcat1
Result: None
Comment: Command "hostnamectl set-hostname tomcat1" would have been executed
Started: ::50.085925
Duration: 0.949 ms
Changes: Summary for tomcat1
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.949 ms
web1:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname web1
Result: None
Comment: Command "hostnamectl set-hostname web1" would have been executed
Started: ::53.455021
Duration: 0.814 ms
Changes: Summary for web1
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.814 ms
dubbo1:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname dubbo1
Result: None
Comment: Command "hostnamectl set-hostname dubbo1" would have been executed
Started: ::51.212502
Duration: 0.817 ms
Changes: Summary for dubbo1
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.817 ms
mysql1:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname mysql1
Result: None
Comment: Command "hostnamectl set-hostname mysql1" would have been executed
Started: ::50.058353
Duration: 7.89 ms
Changes: Summary for mysql1
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 7.890 ms
web2:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname web2
Result: None
Comment: Command "hostnamectl set-hostname web2" would have been executed
Started: ::51.869016
Duration: 0.85 ms
Changes: Summary for web2
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.850 ms
zabbix:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname zabbix1
Result: None
Comment: Command "hostnamectl set-hostname zabbix1" would have been executed
Started: ::53.615229
Duration: 0.856 ms
Changes: Summary for zabbix
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.856 ms
redis1:
----------
ID: alter_hostname
Function: cmd.run
Name: hostnamectl set-hostname redis1
Result: None
Comment: Command "hostnamectl set-hostname redis1" would have been executed
Started: ::53.801096
Duration: 0.857 ms
Changes: Summary for redis1
------------
Succeeded: (unchanged=)
Failed:
------------
Total states run:
Total run time: 0.857 ms

salt 根据ip修改主机名的更多相关文章

  1. Linux 修改主机名 和 ip 映射关系

    1. 修改主机名 vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop 2. 修改主机名和IP的映射关系 vim /etc/hosts 1 ...

  2. CentOS6修改主机名(hostname)及 修改/etc/hosts 文件,增加ip和hostname的映射关系(转)

    CentOS修改主机名(hostname)  需要修改两处:一处是/etc/sysconfig/network,另一处是/etc/hosts,只修改任一处会导致系统启动异常.首先切换到root用户. ...

  3. linux的设置ip连接crt,修改主机名,映射,建文件

    1.修改IP(或者vim vi /etc/sysconfig/network-scripts/ifcfg-eth0) 2.连接 crt 3.修改主机名 用vim 编辑 /etc/sysconfig/n ...

  4. RHEL修改主机名和IP

    1,     修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=NEWHOSTNAME       #修改该值作为主机名,如:NEWPC ...

  5. Linux CentOS7.0 (02)修改主机名和ip地址

    一.主机名修改 1.查看命令 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(pretty). "静态"主机名也称为内核主机名 ...

  6. linux修改主机名,关闭图形化界面,绑定ip地址,修改ip地址

    1关闭图形化界面 vi /etc/inittab 改成id:3:initdefault: 注意:不要选0或6 2.修改主机名 vi /etc/sysconfig/network 修改即可 3,修改ip ...

  7. linux centos7.5修改主机名和ip永久生效

    以centos7.5为例 1.修改主机名 [root@localhost ~]# hostname localhost.localdomain[root@localhost ~]# hostname ...

  8. centos7修改主机名和ip映射

    1.修改主机名:命令:/etc/hostname文件输入:HOSTNAME=node3想永久修改,应该修改配置文件 /etc/sysconfig/network. 输入:NETWORKING=yes ...

  9. 修改Linux的基本配置(修改主机名修改ip地址安装JDK/Tomcat/MySQL等等)

    (一)基本操作修改 修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=server1.itcast.cn 修改ip地址 vi /etc/s ...

随机推荐

  1. CSDN挑战编程——《绝对值最小》

    绝对值最小 题目详情: 给你一个数组A[n],请你计算出ans=min(|A[i]+A[j]|)(0<=i,j<n). 比如:A={1, 4, -3}, 则: |A[0] + A[0]| ...

  2. SQL Server高速导入数据分享

    SQL Server高速导入数据,能够尝试的方法例如以下:CTE.OpenRowSet/OpenDataSource.BULK INSERT.bcp.Shell. 以下依次介绍这几种办法. 1.CTE ...

  3. Criteria——Hibernate的面向对象查询

    提到Hibernate的查询.我们往往会想到HQL,他使我们的SQL语句面向对象话. 事实上细看,差点儿相同就是把SQL语句中的表和字段用所相应的实体和属性给取代了.事实上.Hibernate中还有还 ...

  4. 新手玩个人server(阿里云)

    阿里云如火如荼的0元活动,事实上一開始我仅仅是去直播吧看阿森纳vs贝西克塔斯.姑且算是一种乱入,url这样的奇妙的东西应该是万维网的最真实的写照.当然那是上周第一会回合的事了.可是故事却如此的类似.并 ...

  5. POJ2599 A funny game (图博弈)

    题目链接:传送门 题意: 给定一个图,两个人从起点出发,轮流开飞机.当离开这个点后这个点 就不能使用了.假设轮到谁了谁不能飞了就输了. 必败状态非常好找,当一个人在位置s的时候与这个点相连的没有点能用 ...

  6. android 添加一个按键键值【转】

    本文转载自:http://blog.csdn.net/u012719256/article/details/52526046 1.frameworks/base/data/keyboards/Gene ...

  7. python多线程,限制线程数

    #encoding:utf8 import threading import time data = 0 def func(sleeptime): global data print threadin ...

  8. BN 详解和使用Tensorflow实现(参数理解)

    Tensorflow   BN具体实现(多种方式): 理论知识(参照大佬):https://blog.csdn.net/hjimce/article/details/50866313 补充知识: ① ...

  9. Foeach 时修改集合的值报错

    就是"集合已修改:可能无法执行枚举操作 foreach" 啥的, 不让我改 百度到Foreach是只读的,只供取值用,无法进行新增,修改,删除(仅引用,实际待验证) 解决办法:将F ...

  10. 域名转让(bcd.cn,tjcpda.com,jscpda.com,fjcpda.com)

    因本人工作有所调整,现对所拥有的域名全部转让,有需要者请与我联系,谢谢. bcd.cn tjcpda.com jscpda.com fjcpda.com 联系方式: QQ:1181608198 Ema ...