专栏名称: 云技术实践
关注云计算,云技术,云运维,云存储,存储,分布式,OpenStack,SDN,Ceph,虚拟化,运维,分享在云计算/虚拟化/运维项目实施中的资讯、经验、技术,坚持干货。
目录
相关文章推荐
51好读  ›  专栏  ›  云技术实践

使用Ansible管理OpenStack

云技术实践  · 公众号  · 架构  · 2018-10-22 19:55

正文

请到「今天看啥」查看全文


这个playbook首先检查是否有任何更新要申请。如果是,playboo则从池中删除节点,应用更新,然后重新启动节点。一旦节点重新联机,它就会被添加回池中。Ansible playbook使用serial关键字确保一次只从池中删除一个节点。


如果数据库在OpenStack云中运行,则有时必须还原备份,要么刷新一些测试数据,要么可能在发生数据损坏事件时。使用Ansible可以轻松完成数据库服务器和Cinder之间的编排任务:


- hosts: db
  gather_facts: true
  user: centos
  tasks:
  - name: stop database
    systemd:
      name: mongod
      state: stopped
    become: true
  - name: unmount db volume
    mount:
      path: /var/lib/mongodb
      state: unmounted
    become: true
  - name: detach volume from server
    os_server_volume: 
      state: absent
      server: db0
      volume: dbvol
    delegate_to: localhost
  - name: restore cinder backup
    command: openstack volume backup restore dbvol_backup dbvol
    delegate_to: localhost
    register: vol_restore
    failed_when:
    - vol_restore.rc > 0
    - "'VolumeBackupsRestore' not in vol_restore.stderr"
  - name: wait for restore to finish
    command: openstack volume show -c status -f value dbvol
    register: restore_progress
    until: restore_progress.stdout is search("available")
    retries: 60
    delay: 5
    delegate_to: localhost
  - name: reattach volume to server
    os_server_volume: 
      state: present
      server: db0
      volume: dbvol
      device: /dev/vdb
    delegate_to: localhost
  - name: mount db volume
    mount:
      path: /var/lib/mongodb
      state: mounted
      src: LABEL=dbvol
      fstype: xfs
    become: true
  - name: start database
    systemd:
      name: mongod
      state: started
    become: true







请到「今天看啥」查看全文