Saltstack Official Linux Formula
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.rst 22KB

9 years ago
9 years ago
9 years ago
9 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001
  1. =====
  2. Linux
  3. =====
  4. Linux Operating Systems.
  5. * Ubuntu
  6. * CentOS
  7. * RedHat
  8. * Fedora
  9. * Arch
  10. Sample pillars
  11. ==============
  12. Linux system
  13. ------------
  14. Basic Linux box
  15. .. code-block:: yaml
  16. linux:
  17. system:
  18. enabled: true
  19. name: 'node1'
  20. domain: 'domain.com'
  21. cluster: 'system'
  22. environment: prod
  23. timezone: 'Europe/Prague'
  24. utc: true
  25. Linux with system users, some with password set
  26. .. code-block:: yaml
  27. linux:
  28. system:
  29. ...
  30. user:
  31. jdoe:
  32. name: 'jdoe'
  33. enabled: true
  34. sudo: true
  35. shell: /bin/bash
  36. full_name: 'Jonh Doe'
  37. home: '/home/jdoe'
  38. email: 'jonh@doe.com'
  39. jsmith:
  40. name: 'jsmith'
  41. enabled: true
  42. full_name: 'Password'
  43. home: '/home/jsmith'
  44. password: userpassword
  45. Configure sudo for users and groups under ``/etc/sudoers.d/``.
  46. This ways ``linux.system.sudo`` pillar map to actual sudo attributes:
  47. .. code-block:: jinja
  48. # simplified template:
  49. Cmds_Alias {{ alias }}={{ commands }}
  50. {{ user }} {{ hosts }}=({{ runas }}) NOPASSWD: {{ commands }}
  51. %{{ group }} {{ hosts }}=({{ runas }}) NOPASSWD: {{ commands }}
  52. # when rendered:
  53. saltuser1 ALL=(ALL) NOPASSWD: ALL
  54. .. code-block:: yaml
  55. linux:
  56. system:
  57. sudo:
  58. enabled: true
  59. alias:
  60. host:
  61. LOCAL:
  62. - localhost
  63. PRODUCTION:
  64. - db1
  65. - db2
  66. runas:
  67. DBA:
  68. - postgres
  69. - mysql
  70. SALT:
  71. - root
  72. command:
  73. # Note: This is not 100% safe when ALL keyword is used, user still may modify configs and hide his actions.
  74. # Best practice is to specify full list of commands user is allowed to run.
  75. SUPPORT_RESTRICTED:
  76. - /bin/vi /etc/sudoers*
  77. - /bin/vim /etc/sudoers*
  78. - /bin/nano /etc/sudoers*
  79. - /bin/emacs /etc/sudoers*
  80. - /bin/su - root
  81. - /bin/su -
  82. - /bin/su
  83. - /usr/sbin/visudo
  84. SUPPORT_SHELLS:
  85. - /bin/sh
  86. - /bin/ksh
  87. - /bin/bash
  88. - /bin/rbash
  89. - /bin/dash
  90. - /bin/zsh
  91. - /bin/csh
  92. - /bin/fish
  93. - /bin/tcsh
  94. - /usr/bin/login
  95. - /usr/bin/su
  96. - /usr/su
  97. ALL_SALT_SAFE:
  98. - /usr/bin/salt state*
  99. - /usr/bin/salt service*
  100. - /usr/bin/salt pillar*
  101. - /usr/bin/salt grains*
  102. - /usr/bin/salt saltutil*
  103. - /usr/bin/salt-call state*
  104. - /usr/bin/salt-call service*
  105. - /usr/bin/salt-call pillar*
  106. - /usr/bin/salt-call grains*
  107. - /usr/bin/salt-call saltutil*
  108. SALT_TRUSTED:
  109. - /usr/bin/salt*
  110. users:
  111. # saltuser1 with default values: saltuser1 ALL=(ALL) NOPASSWD: ALL
  112. saltuser1: {}
  113. saltuser2:
  114. hosts:
  115. - LOCAL
  116. # User Alias DBA
  117. DBA:
  118. hosts:
  119. - ALL
  120. commands:
  121. - ALL_SALT_SAFE
  122. groups:
  123. db-ops:
  124. hosts:
  125. - ALL
  126. - '!PRODUCTION'
  127. runas:
  128. - DBA
  129. commands:
  130. - /bin/cat *
  131. - /bin/less *
  132. - /bin/ls *
  133. salt-ops:
  134. hosts:
  135. - 'ALL'
  136. runas:
  137. - SALT
  138. commands:
  139. - SUPPORT_SHELLS
  140. salt-ops-2nd:
  141. name: salt-ops
  142. nopasswd: false
  143. runas:
  144. - DBA
  145. commands:
  146. - ALL
  147. - '!SUPPORT_SHELLS'
  148. - '!SUPPORT_RESTRICTED'
  149. Linux with package, latest version
  150. .. code-block:: yaml
  151. linux:
  152. system:
  153. ...
  154. package:
  155. package-name:
  156. version: latest
  157. Linux with package from certail repo, version with no upgrades
  158. .. code-block:: yaml
  159. linux:
  160. system:
  161. ...
  162. package:
  163. package-name:
  164. version: 2132.323
  165. repo: 'custom-repo'
  166. hold: true
  167. Linux with package from certail repo, version with no GPG verification
  168. .. code-block:: yaml
  169. linux:
  170. system:
  171. ...
  172. package:
  173. package-name:
  174. version: 2132.323
  175. repo: 'custom-repo'
  176. verify: false
  177. Linux with autoupdates (automatically install security package updates)
  178. .. code-block:: yaml
  179. linux:
  180. system:
  181. ...
  182. autoupdates:
  183. enabled: true
  184. mail: root@localhost
  185. mail_only_on_error: true
  186. remove_unused_dependencies: false
  187. automatic_reboot: true
  188. automatic_reboot_time: "02:00"
  189. Linux with cron jobs
  190. .. code-block:: yaml
  191. linux:
  192. system:
  193. ...
  194. job:
  195. cmd1:
  196. command: '/cmd/to/run'
  197. enabled: true
  198. user: 'root'
  199. hour: 2
  200. minute: 0
  201. Linux security limits (limit sensu user memory usage to max 1GB):
  202. .. code-block:: yaml
  203. linux:
  204. system:
  205. ...
  206. limit:
  207. sensu:
  208. enabled: true
  209. domain: sensu
  210. limits:
  211. - type: hard
  212. item: as
  213. value: 1000000
  214. Enable autologin on tty1 (may work only for Ubuntu 14.04):
  215. .. code-block:: yaml
  216. linux:
  217. system:
  218. console:
  219. tty1:
  220. autologin: root
  221. # Enable serial console
  222. ttyS0:
  223. autologin: root
  224. rate: 115200
  225. term: xterm
  226. To disable set autologin to `false`.
  227. Set ``policy-rc.d`` on Debian-based systems. Action can be any available
  228. command in ``while true`` loop and ``case`` context.
  229. Following will disallow dpkg to stop/start services for cassandra package automatically:
  230. .. code-block:: yaml
  231. linux:
  232. system:
  233. policyrcd:
  234. - package: cassandra
  235. action: exit 101
  236. - package: '*'
  237. action: switch
  238. Set system locales:
  239. .. code-block:: yaml
  240. linux:
  241. system:
  242. locale:
  243. en_US.UTF-8:
  244. default: true
  245. "cs_CZ.UTF-8 UTF-8":
  246. enabled: true
  247. Kernel
  248. ~~~~~~
  249. Install always up to date LTS kernel and headers from Ubuntu trusty:
  250. .. code-block:: yaml
  251. linux:
  252. system:
  253. kernel:
  254. type: generic
  255. lts: trusty
  256. headers: true
  257. Load kernel modules and add them to `/etc/modules`:
  258. .. code-block:: yaml
  259. linux:
  260. system:
  261. kernel:
  262. modules:
  263. - nf_conntrack
  264. - tp_smapi
  265. - 8021q
  266. Install specific kernel version and ensure all other kernel packages are
  267. not present. Also install extra modules and headers for this kernel:
  268. .. code-block:: yaml
  269. linux:
  270. system:
  271. kernel:
  272. type: generic
  273. extra: true
  274. headers: true
  275. version: 4.2.0-22
  276. Systcl kernel parameters
  277. .. code-block:: yaml
  278. linux:
  279. system:
  280. kernel:
  281. sysctl:
  282. net.ipv4.tcp_keepalive_intvl: 3
  283. net.ipv4.tcp_keepalive_time: 30
  284. net.ipv4.tcp_keepalive_probes: 8
  285. CPU
  286. ~~~
  287. Disable ondemand cpu mode service:
  288. .. code-block:: yaml
  289. linux:
  290. system:
  291. cpu:
  292. governor: performance
  293. Huge Pages
  294. ~~~~~~~~~~~~
  295. Huge Pages give a performance boost to applications that intensively deal
  296. with memory allocation/deallocation by decreasing memory fragmentation.
  297. .. code-block:: yaml
  298. linux:
  299. system:
  300. kernel:
  301. hugepages:
  302. small:
  303. size: 2M
  304. count: 107520
  305. mount_point: /mnt/hugepages_2MB
  306. mount: false/true # default false
  307. large:
  308. default: true # default automatically mounted
  309. size: 1G
  310. count: 210
  311. mount_point: /mnt/hugepages_1GB
  312. Note: not recommended to use both pagesizes in concurrently.
  313. Intel SR-IOV
  314. ~~~~~~~~~~~~
  315. PCI-SIG Single Root I/O Virtualization and Sharing (SR-IOV) specification defines a standardized mechanism to virtualize PCIe devices. The mechanism can virtualize a single PCIe Ethernet controller to appear as multiple PCIe devices.
  316. .. code-block:: yaml
  317. linux:
  318. system:
  319. kernel:
  320. sriov: True
  321. unsafe_interrupts: False # Default is false. for older platforms and AMD we need to add interrupt remapping workaround
  322. rc:
  323. local: |
  324. #!/bin/sh -e
  325. # Enable 7 VF on eth1
  326. echo 7 > /sys/class/net/eth1/device/sriov_numvfs; sleep 2; ifup -a
  327. exit 0
  328. Isolate CPU options
  329. ~~~~~~~~~~~~~~~~~~~
  330. Remove the specified CPUs, as defined by the cpu_number values, from the general kernel
  331. SMP balancing and scheduler algroithms. The only way to move a process onto or off an
  332. "isolated" CPU is via the CPU affinity syscalls. cpu_number begins at 0, so the
  333. maximum value is 1 less than the number of CPUs on the system.
  334. .. code-block:: yaml
  335. linux:
  336. system:
  337. kernel:
  338. isolcpu: 1,2,3,4,5,6,7 # isolate first cpu 0
  339. Repositories
  340. ~~~~~~~~~~~~
  341. RedHat based Linux with additional OpenStack repo
  342. .. code-block:: yaml
  343. linux:
  344. system:
  345. ...
  346. repo:
  347. rdo-icehouse:
  348. enabled: true
  349. source: 'http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/'
  350. pgpcheck: 0
  351. Ensure system repository to use czech Debian mirror (``default: true``)
  352. Also pin it's packages with priority 900.
  353. .. code-block:: yaml
  354. linux:
  355. system:
  356. repo:
  357. debian:
  358. default: true
  359. source: "deb http://ftp.cz.debian.org/debian/ jessie main contrib non-free"
  360. # Import signing key from URL if needed
  361. key_url: "http://dummy.com/public.gpg"
  362. pin:
  363. - pin: 'origin "ftp.cz.debian.org"'
  364. priority: 900
  365. package: '*'
  366. rc.local example
  367. .. code-block:: yaml
  368. linux:
  369. system:
  370. rc:
  371. local: |
  372. #!/bin/sh -e
  373. #
  374. # rc.local
  375. #
  376. # This script is executed at the end of each multiuser runlevel.
  377. # Make sure that the script will "exit 0" on success or any other
  378. # value on error.
  379. #
  380. # In order to enable or disable this script just change the execution
  381. # bits.
  382. #
  383. # By default this script does nothing.
  384. exit 0
  385. Prompt
  386. ~~~~~~
  387. Setting prompt is implemented by creating ``/etc/profile.d/prompt.sh``. Every
  388. user can have different prompt.
  389. .. code-block:: yaml
  390. linux:
  391. system:
  392. prompt:
  393. root: \\n\\[\\033[0;37m\\]\\D{%y/%m/%d %H:%M:%S} $(hostname -f)\\[\\e[0m\\]\\n\\[\\e[1;31m\\][\\u@\\h:\\w]\\[\\e[0m\\]
  394. default: \\n\\D{%y/%m/%d %H:%M:%S} $(hostname -f)\\n[\\u@\\h:\\w]
  395. On Debian systems to set prompt system-wide it's necessary to remove setting
  396. PS1 in ``/etc/bash.bashrc`` and ``~/.bashrc`` (which comes from
  397. ``/etc/skel/.bashrc``). This formula will do this automatically, but will not
  398. touch existing user's ``~/.bashrc`` files except root.
  399. Bash
  400. ~~~~
  401. Fix bash configuration to preserve history across sessions (like ZSH does by
  402. default).
  403. .. code-block:: yaml
  404. linux:
  405. system:
  406. bash:
  407. preserve_history: true
  408. Message of the day
  409. ~~~~~~~~~~~~~~~~~~
  410. ``pam_motd`` from package ``update-motd`` is used for dynamic messages of the
  411. day. Setting custom motd will cleanup existing ones.
  412. .. code-block:: yaml
  413. linux:
  414. system:
  415. motd:
  416. - release: |
  417. #!/bin/sh
  418. [ -r /etc/lsb-release ] && . /etc/lsb-release
  419. if [ -z "$DISTRIB_DESCRIPTION" ] && [ -x /usr/bin/lsb_release ]; then
  420. # Fall back to using the very slow lsb_release utility
  421. DISTRIB_DESCRIPTION=$(lsb_release -s -d)
  422. fi
  423. printf "Welcome to %s (%s %s %s)\n" "$DISTRIB_DESCRIPTION" "$(uname -o)" "$(uname -r)" "$(uname -m)"
  424. - warning: |
  425. #!/bin/sh
  426. printf "This is [company name] network.\n"
  427. printf "Unauthorized access strictly prohibited.\n"
  428. RHEL / CentOS
  429. ^^^^^^^^^^^^^
  430. Unfortunately ``update-motd`` is currently not available for RHEL so there's
  431. no native support for dynamic motd.
  432. You can still set static one, only pillar structure differs:
  433. .. code-block:: yaml
  434. linux:
  435. system:
  436. motd: |
  437. This is [company name] network.
  438. Unauthorized access strictly prohibited.
  439. Haveged
  440. ~~~~~~~
  441. If you are running headless server and are low on entropy, it may be a good
  442. idea to setup Haveged.
  443. .. code-block:: yaml
  444. linux:
  445. system:
  446. haveged:
  447. enabled: true
  448. Linux network
  449. -------------
  450. Linux with network manager
  451. .. code-block:: yaml
  452. linux:
  453. network:
  454. enabled: true
  455. network_manager: true
  456. Linux with default static network interfaces, default gateway interface and DNS servers
  457. .. code-block:: yaml
  458. linux:
  459. network:
  460. enabled: true
  461. interface:
  462. eth0:
  463. enabled: true
  464. type: eth
  465. address: 192.168.0.102
  466. netmask: 255.255.255.0
  467. gateway: 192.168.0.1
  468. name_servers:
  469. - 8.8.8.8
  470. - 8.8.4.4
  471. mtu: 1500
  472. Linux with bonded interfaces and disabled NetworkManager
  473. .. code-block:: yaml
  474. linux:
  475. network:
  476. enabled: true
  477. interface:
  478. eth0:
  479. type: eth
  480. ...
  481. eth1:
  482. type: eth
  483. ...
  484. bond0:
  485. enabled: true
  486. type: bond
  487. address: 192.168.0.102
  488. netmask: 255.255.255.0
  489. mtu: 1500
  490. use_in:
  491. - interface: ${linux:interface:eth0}
  492. - interface: ${linux:interface:eth0}
  493. network_manager:
  494. disable: true
  495. Linux with vlan interface_params
  496. .. code-block:: yaml
  497. linux:
  498. network:
  499. enabled: true
  500. interface:
  501. vlan69:
  502. type: vlan
  503. use_interfaces:
  504. - interface: ${linux:interface:bond0}
  505. Linux with wireless interface parameters
  506. .. code-block:: yaml
  507. linux:
  508. network:
  509. enabled: true
  510. gateway: 10.0.0.1
  511. default_interface: eth0
  512. interface:
  513. wlan0:
  514. type: eth
  515. wireless:
  516. essid: example
  517. key: example_key
  518. security: wpa
  519. priority: 1
  520. Linux networks with routes defined
  521. .. code-block:: yaml
  522. linux:
  523. network:
  524. enabled: true
  525. gateway: 10.0.0.1
  526. default_interface: eth0
  527. interface:
  528. eth0:
  529. type: eth
  530. route:
  531. default:
  532. address: 192.168.0.123
  533. netmask: 255.255.255.0
  534. gateway: 192.168.0.1
  535. Native Linux Bridges
  536. .. code-block:: yaml
  537. linux:
  538. network:
  539. interface:
  540. eth1:
  541. enabled: true
  542. type: eth
  543. proto: manual
  544. up_cmds:
  545. - ip address add 0/0 dev $IFACE
  546. - ip link set $IFACE up
  547. down_cmds:
  548. - ip link set $IFACE down
  549. br-ex:
  550. enabled: true
  551. type: bridge
  552. address: ${linux:network:host:public_local:address}
  553. netmask: 255.255.255.0
  554. use_interfaces:
  555. - eth1
  556. OpenVswitch Bridges
  557. .. code-block:: yaml
  558. linux:
  559. network:
  560. bridge: openvswitch
  561. interface:
  562. eth1:
  563. enabled: true
  564. type: eth
  565. proto: manual
  566. up_cmds:
  567. - ip address add 0/0 dev $IFACE
  568. - ip link set $IFACE up
  569. down_cmds:
  570. - ip link set $IFACE down
  571. br-ex:
  572. enabled: true
  573. type: bridge
  574. address: ${linux:network:host:public_local:address}
  575. netmask: 255.255.255.0
  576. use_interfaces:
  577. - eth1
  578. Linux with proxy
  579. .. code-block:: yaml
  580. linux:
  581. network:
  582. ...
  583. proxy:
  584. host: proxy.domain.com
  585. port: 3128
  586. Linux with hosts
  587. Parameter purge_hosts will enforce whole /etc/hosts file, removing entries
  588. that are not defined in model except defaults for both IPv4 and IPv6 localhost
  589. and hostname + fqdn.
  590. It's good to use this option if you want to ensure /etc/hosts is always in a
  591. clean state however it's not enabled by default for safety.
  592. .. code-block:: yaml
  593. linux:
  594. network:
  595. ...
  596. purge_hosts: true
  597. host:
  598. # No need to define this one if purge_hosts is true
  599. hostname:
  600. address: 127.0.1.1
  601. names:
  602. - ${linux:network:fqdn}
  603. - ${linux:network:hostname}
  604. node1:
  605. address: 192.168.10.200
  606. names:
  607. - node2.domain.com
  608. - service2.domain.com
  609. node2:
  610. address: 192.168.10.201
  611. names:
  612. - node2.domain.com
  613. - service2.domain.com
  614. Setup resolv.conf, nameservers, domain and search domains
  615. .. code-block:: yaml
  616. linux:
  617. network:
  618. resolv:
  619. dns:
  620. - 8.8.4.4
  621. - 8.8.8.8
  622. domain: my.example.com
  623. search:
  624. - my.example.com
  625. - example.com
  626. options:
  627. - ndots:5
  628. - timeout:2
  629. - attempts:2
  630. Linux storage pillars
  631. ---------------------
  632. Linux with mounted Samba
  633. .. code-block:: yaml
  634. linux:
  635. storage:
  636. enabled: true
  637. mount:
  638. samba1:
  639. - enabled: true
  640. - path: /media/myuser/public/
  641. - device: //192.168.0.1/storage
  642. - file_system: cifs
  643. - options: guest,uid=myuser,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm
  644. Linux with file swap
  645. .. code-block:: yaml
  646. linux:
  647. storage:
  648. enabled: true
  649. swap:
  650. file:
  651. enabled: true
  652. engine: file
  653. device: /swapfile
  654. size: 1024
  655. Linux with partition swap
  656. .. code-block:: yaml
  657. linux:
  658. storage:
  659. enabled: true
  660. swap:
  661. partition:
  662. enabled: true
  663. engine: partition
  664. device: /dev/vg0/swap
  665. LVM group `vg1` with one device and `data` volume mounted into `/mnt/data`
  666. .. code-block:: yaml
  667. parameters:
  668. linux:
  669. storage:
  670. mount:
  671. data:
  672. enabled: true
  673. device: /dev/vg1/data
  674. file_system: ext4
  675. path: /mnt/data
  676. lvm:
  677. vg1:
  678. enabled: true
  679. devices:
  680. - /dev/sdb
  681. volume:
  682. data:
  683. size: 40G
  684. mount: ${linux:storage:mount:data}
  685. Multipath with Fujitsu Eternus DXL
  686. .. code-block:: yaml
  687. parameters:
  688. linux:
  689. storage:
  690. multipath:
  691. enabled: true
  692. blacklist_devices:
  693. - /dev/sda
  694. - /dev/sdb
  695. backends:
  696. - fujitsu_eternus_dxl
  697. Multipath with Hitachi VSP 1000
  698. .. code-block:: yaml
  699. parameters:
  700. linux:
  701. storage:
  702. multipath:
  703. enabled: true
  704. blacklist_devices:
  705. - /dev/sda
  706. - /dev/sdb
  707. backends:
  708. - hitachi_vsp1000
  709. Multipath with IBM Storwize
  710. .. code-block:: yaml
  711. parameters:
  712. linux:
  713. storage:
  714. multipath:
  715. enabled: true
  716. blacklist_devices:
  717. - /dev/sda
  718. - /dev/sdb
  719. backends:
  720. - ibm_storwize
  721. Multipath with multiple backends
  722. .. code-block:: yaml
  723. parameters:
  724. linux:
  725. storage:
  726. multipath:
  727. enabled: true
  728. blacklist_devices:
  729. - /dev/sda
  730. - /dev/sdb
  731. - /dev/sdc
  732. - /dev/sdd
  733. backends:
  734. - ibm_storwize
  735. - fujitsu_eternus_dxl
  736. - hitachi_vsp1000
  737. Disabled multipath (the default setup)
  738. .. code-block:: yaml
  739. parameters:
  740. linux:
  741. storage:
  742. multipath:
  743. enabled: false
  744. Linux with local loopback device
  745. .. code-block:: yaml
  746. linux:
  747. storage:
  748. loopback:
  749. disk1:
  750. file: /srv/disk1
  751. size: 50G
  752. External config generation
  753. --------------------------
  754. You are able to use config support metadata between formulas and only generate
  755. config files for external use, eg. docker, etc.
  756. .. code-block:: yaml
  757. parameters:
  758. linux:
  759. system:
  760. config:
  761. pillar:
  762. jenkins:
  763. master:
  764. home: /srv/volumes/jenkins
  765. approved_scripts:
  766. - method java.net.URL openConnection
  767. credentials:
  768. - type: username_password
  769. scope: global
  770. id: test
  771. desc: Testing credentials
  772. username: test
  773. password: test
  774. Usage
  775. =====
  776. Set mtu of network interface eth0 to 1400
  777. .. code-block:: bash
  778. ip link set dev eth0 mtu 1400
  779. Read more
  780. =========
  781. * https://www.archlinux.org/
  782. * http://askubuntu.com/questions/175172/how-do-i-configure-proxies-in-ubuntu-server-or-minimal-cli-ubuntu
  783. Documentation and Bugs
  784. ======================
  785. To learn how to install and update salt-formulas, consult the documentation
  786. available online at:
  787. http://salt-formulas.readthedocs.io/
  788. In the unfortunate event that bugs are discovered, they should be reported to
  789. the appropriate issue tracker. Use Github issue tracker for specific salt
  790. formula:
  791. https://github.com/salt-formulas/salt-formula-linux/issues
  792. For feature requests, bug reports or blueprints affecting entire ecosystem,
  793. use Launchpad salt-formulas project:
  794. https://launchpad.net/salt-formulas
  795. You can also join salt-formulas-users team and subscribe to mailing list:
  796. https://launchpad.net/~salt-formulas-users
  797. Developers wishing to work on the salt-formulas projects should always base
  798. their work on master branch and submit pull request against specific formula.
  799. https://github.com/salt-formulas/salt-formula-linux
  800. Any questions or feedback is always welcome so feel free to join our IRC
  801. channel:
  802. #salt-formulas @ irc.freenode.net