首先定义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. 《鸟哥的Linux私房菜-基础学习篇(第三版)》(五)

    第4章 安装CentOS 5.x与多重引导小技巧        1. 本练习机的规划(尤其是分区參数)        分了四个分区: 1)/boot:primary 2)/:primary 3)/ho ...

  2. 2014年辛星解读css第二节

    第一节我们简单介绍了一下CSS的工作流程,我相信读者会有一个大体的认识,那么接下来我们将会深入的研究一下CSS的细节问题,这些问题的涉及将会使我们的工作更加完好. *************凝视*** ...

  3. 【POJ 1011】 Sticks

    [题目链接] http://poj.org/problem?id=1011 [算法] 深搜剪枝 首先我们枚举木棍的长度i,那么就有s/i根木棍,其中s为木棍长度的总和,朴素的做法就是对每种长度进行搜索 ...

  4. B2241 打地鼠 暴力模拟

    大水题!!!30分钟AC(算上思考时间),直接模拟就行,加一个判断约数的剪枝,再多加几个剪枝就可以过(数据巨水) 我也就会做暴力的题了. 题干: Description 打地鼠是这样的一个游戏:地面上 ...

  5. 如何修改vos2009/vos3000的web端口?

    vos 2009. VOS 3000 2120 -2138版本在这里 /usr/apache-tomcat-5.5.15/conf 编辑 server.xml 找到 <!-- Define a ...

  6. Docker For MYSQL 8.0 特别注意修复数据库新的验证方式

    从Docker登录MySQL的终端 docker exec -it wordpress-mysql /bin/bash 登录数据库 mysql -u root -p 使用MYSQL数据库 use my ...

  7. Oracle 12.2.0.1 RAC for rhel 7.X 数据库安装(节点1执行root.sh失败)

    说明: 最开始是用的rehat7.2安装12.2.0.1,后面安装GI节点一执行root.sh脚本失败,排查原因,最开始以为是操作系统的问题,换成rehat7.6,同样的出现问题,经过一番折腾,后面通 ...

  8. Python迭代器(斐波拉切数列实例)

    将一个容器通过iter()函数处理后,就变成了迭代器.迭代器有2个魔法方法__iter__.__next__,一个迭代器必须实现__iter__,这个方法实际上是返回迭代器本身(return self ...

  9. 树莓派-基于raspivid实现拍视频

    经过上一篇<<树莓派-安装摄像头模块>>之后 想要用摄像头模块拍一段视频的话,可以从命令行运行 raspivid 工具.下面这句命令会按照默认配置(长度5秒,分辨率1920x1 ...

  10. 6.10---mybatis的实体---接口---接口映射---主配置文件