Compare commits

..

1636 Commits

Author SHA1 Message Date
arif b8e22ef5b2 fix ipv6 0.0.0.0 to ::, the equivalent ip 2014-04-04 01:19:09 +01:00
arif 795295e1a3 add ifname to arguments for checkConfig_Sles 2014-04-02 09:59:22 +01:00
arif d730e82055 update routeop with device based routing 2014-04-02 09:43:15 +01:00
arif 71ad311a68 update route.pm, and start work on routeop 2014-04-01 22:20:37 +01:00
arif e34da389fb defect 4033: fix device based routing in makeroutes 2014-04-01 16:16:14 +01:00
lissav 45b11936cd fix spelling 2014-03-27 13:33:30 -04:00
mellor 165abd4f88 defect 3998 - change file vars to globals 2014-03-26 17:08:17 -04:00
lissav 8e110d51f1 defect 3953 2014-03-26 13:07:48 -04:00
ligc 045c42fce6 doxcat: the ntp -c rv 0 offset may return negative number 2014-03-26 16:00:12 -05:00
ligc 1407ef0288 gensis-scripts: doxcat - ntpq -c rv state does not work any more, use the ntpq -c rv offset instead 2014-03-26 14:26:35 -05:00
mellor 3aeb21025d defect 3964 - clarify mknb man page for hierarchy with sharedtftp=0 2014-03-25 15:57:21 -04:00
lissav 4c48026801 defect 3941 2014-03-25 08:09:50 -04:00
ligc e1fb6aae06 add the centos6.5 discid info, fix a problem in post.xcat 2014-03-25 17:14:50 -05:00
immarvin 49824ba195 add grub2-xcat as a dependency to enable provisioning rhel7 on an ubuntu MN 2014-03-25 01:59:18 -07:00
ligc b067d90a60 fix xCAT-genesis-builder/buildrpm for latest mcp version 2014-03-25 14:56:10 -05:00
lissav c747908e0f remove autosetup of useflowcontorl see 4031 2014-03-24 09:26:12 -04:00
huweihua c6ee255d70 fix defect 3875 2014-03-24 04:56:24 -04:00
lissav e52453be0f update man 2014-03-21 14:51:14 -04:00
lissav 5afd870cef tabprune -a supports all tables 2014-03-21 14:45:30 -04:00
Jarrod Johnson fe38638b4b Support 'specific' copycds mode.
ESXi releases updates without bumping version numbers.  For such cases,
the default behavior is for the new version to supersede the old.  This
makes sense for the vast majority of cases.  There are, however, corner
cases where being explicit about the release is indicated.
2014-03-21 10:56:20 -04:00
lissav d33000aef6 fix -L option 2014-03-21 09:56:47 -04:00
lissav 93ff514a2a add pointer to Easy Regx documentation 2014-03-21 08:02:10 -04:00
immarvin c6cb1c9977 append some code logic and documentation for rhels7 support on grub2 2014-03-21 04:40:25 -07:00
huweihua 1af1135646 add testcase for prsync 2014-03-21 02:12:45 -04:00
huweihua 8165f1acd0 add testcase for pscp 2014-03-21 02:12:33 -04:00
huweihua 25ca816477 add testcase for sysclone 2014-03-21 02:12:23 -04:00
huweihua ffa9f73d13 add testcase for xdcp 2014-03-21 02:12:10 -04:00
huweihua fe5b75eabf add testcase for xdsh 2014-03-21 02:11:52 -04:00
huweihua b685bfc8a7 add testcase for makeroutes 2014-03-21 02:01:03 -04:00
huweihua 781595f000 add testcase for ppping 2014-03-21 02:00:43 -04:00
huweihua 3d15b983a3 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2014-03-21 01:41:23 -04:00
huweihua 6a8371b7d4 add testcase for makedns 2014-03-21 01:41:03 -04:00
arif 2013e18c73 fix bug #4027, replace chop with chomp 2014-03-20 23:11:28 +00:00
lissav 72c76ab32b fix defect 3981 2014-03-20 14:13:27 -04:00
linggao 45af650bb9 more code for supporting other hardware in OpenStack baremetal driver. 2014-03-21 07:00:25 -04:00
Jia Zhao 7a980c9cea fix autodiscovery problem as not run makehosts command 2014-03-20 18:43:14 +08:00
immarvin 36690a8671 fix defect #4030 [DEV]'makedhcp -n' failed to add subnet info to dhcpd.conf on rhels7.0 x86_64 mn 2014-03-19 08:14:00 -07:00
immarvin 8984f6243b add rhels7 stateless and statelite support for x86_64 2014-03-19 07:59:02 -07:00
lissav dd64ec3740 fix defect 4028 2014-03-19 07:22:22 -04:00
mellor ddf56b2788 clarify that genimage -i is optional 2014-03-18 14:51:33 -04:00
ligc 554aea03cd xCAT-SoftLayer package is noarch only on Linux, not on AIX 2014-03-18 16:19:06 -05:00
ligc 6c355dbeb6 xCAT-SoftLayer.spec: cp -a does not work on AIX, change to use -p -R instead 2014-03-18 14:18:34 -05:00
ligc 1bb9999176 makerpm: add copying xcat.conf.apach24 into /SOURCES 2014-03-18 13:55:36 -05:00
ligc bdcc8ab613 update with xCAT-OpenStack-baremetal packaging: 1) update xpod2man to not create summary page 2) remove xcat.1.pod from xCAT-OpenStack-baremetal 2014-03-17 23:33:20 -04:00
linggao a6c7b582ef fix defect #4023 syntax error 2014-03-18 09:18:43 -04:00
Bruce Potter 67eecc44d4 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8
add xCAT-SoftLayer files to 2.8 branch
2014-03-17 06:53:15 -04:00
Bruce Potter f085548559 adding xCAT-SoftLayer files to 2.8 branch 2014-03-17 06:52:35 -04:00
lissav 4779749c1e defect 4022 and add podchecker, good debug tool 2014-03-17 06:44:28 -04:00
ligc 67b998eaf9 fix for bug 3935: support nic name with space, like Local Area Network on windows 2014-03-14 17:51:29 -05:00
ligc a9e5fa3bad fix for bug 3937: return 1 when lsdef <object> can not find the object 2014-03-14 17:01:05 -05:00
ligc 2ad92ce054 fix for bug 3976: check -i flag 2014-03-14 16:16:27 -05:00
lissav 46132889d8 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2014-03-13 10:37:58 -04:00
immarvin e41210c8d8 add xCAT-OpenStack-baremetal to build-ubunturepo package list, change debian/source/format to 1.0 2014-03-13 07:44:15 -07:00
lissav 4b87e5d765 additional checks 2014-03-13 10:37:14 -04:00
immarvin 5c6a57dee7 add ubuntu/debian package files for dpkg-buildpackage 2014-03-13 07:15:19 -07:00
lissav a663b2d88a change sync of keys so they are cleaned up when zones are removed 2014-03-13 09:49:23 -04:00
lissav 18d519bdcf chzone manpage 2014-03-13 08:44:07 -04:00
lissav 7be4bec3e6 add and improve zone manpages 2014-03-13 07:52:31 -04:00
lissav fe7b4c79bf add and improve zone manpages 2014-03-13 07:50:59 -04:00
lissav 68e5147e80 add man page for mkzone 2014-03-12 12:29:43 -04:00
lissav aaa740b4a9 fix parsing 2014-03-12 11:33:04 -04:00
lissav 906f61e9e5 rm id_rsa so we can switch between sshbetweennode yes and no 2014-03-12 10:46:11 -04:00
linggao 8ec9319c63 xCAT baremetal driver for OpenStack supprt nodes with all hw types that are supported by xCAT 2014-03-13 03:14:03 -04:00
linggao c4c741bf41 fix the description for table hwinv. 2014-03-13 03:05:55 -04:00
lissav 73868bdc66 chzone code 2014-03-11 14:19:11 -04:00
zhaoertao ea3eebe585 fix bug 4014: updatenodegroups routine always add all group to the node 2014-03-10 19:04:31 -07:00
lissav b1948ed1e9 a lot of chzone, needs more work 2014-03-10 14:43:00 -04:00
immarvin ef05a92cb2 rhels7 statelite/stateless support 2014-03-08 06:46:54 -08:00
immarvin 68b53380a3 fix defect #4015 2014-03-07 07:32:03 -08:00
lissav 894a1c680d rmzone 2014-03-07 09:55:07 -05:00
lissav 6c15e1409f Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2014-03-07 09:53:36 -05:00
lissav 734eccddeb rmzone support 2014-03-07 09:53:00 -05:00
immarvin 4be6530914 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2014-03-07 06:42:25 -08:00
immarvin af52462972 fix defect #3999 2014-03-07 06:01:30 -08:00
immarvin c2d2452719 fix defect #3999 and #4013 2014-03-07 05:54:56 -08:00
ligc 69a80e72ee fix for bug 4010: remove xcatws.cgi from PCM build 2014-03-06 15:47:15 -06:00
zhaoertao 36b8c67f80 fix bug 4007: DFM support Powerlinux, mkvm return error 2014-03-05 00:50:53 -08:00
lissav 62e366907e better hierarchical processing for zones 2014-03-04 10:22:21 -05:00
lissav 546307bc40 docuement DSH_REMOTE_PASSWORD env variable 2014-03-04 08:31:20 -05:00
lissav 4faf715d40 add OpenStack-baremetal rpm 2014-03-03 15:11:48 -05:00
lissav 6d500da7d7 fix spelling 2014-03-03 15:06:38 -05:00
lissav 89a526de4f add OpenStack-baremetal rpm 2014-03-03 15:01:37 -05:00
lissav 7b9c893055 support getting zone ssh keys 2014-03-03 13:29:02 -05:00
lissav d3cd61745d support zone root ssh keys 2014-03-03 13:18:19 -05:00
lissav 91ff649bea more zone functions 2014-03-03 13:15:06 -05:00
daniceexi 0be18a3c4a Code drop to support new netboot method - grub2 2014-02-28 07:52:13 -05:00
ligc a4f87fbb69 fix for bug 4002, configib replaces /etc/sysctl.conf 2014-02-28 14:10:24 -06:00
lissav 7da6bca6d4 updatenode customized mypostscript.tmpl with ZONENAME lines 2014-02-27 10:55:31 -05:00
lissav eb6d69a76b updatenode customized mypostscript.tmpl with ZONENAME lines 2014-02-27 10:12:53 -05:00
zhaoertao 3b02602dd2 fix bug 3873: DFM illegal action could work 2014-02-27 01:24:41 -08:00
linggao 4889456e12 Merge branch '2.8' of ssh://linggao@git.code.sf.net/p/xcat/xcat-core into 2.8 2014-02-27 11:01:43 -05:00
linggao 3389774e1b more for xCAT baremetal driver for OpenStack 2014-02-27 11:01:15 -05:00
lissav e77ef4eed3 initialize if no zones 2014-02-26 11:33:39 -05:00
lissav a35f118cd9 adding zonename 2014-02-26 10:37:05 -05:00
lissav 4483b709da adding routines for support 2014-02-26 10:35:26 -05:00
lissav f2f814016d adding routines for support 2014-02-26 10:34:25 -05:00
lissav de2bafc46d Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2014-02-26 08:13:59 -05:00
daniceexi d8dedfb3b1 defect 3961: make domain name keep without . at beginning 2014-02-26 13:26:01 -05:00
lissav 55a90fc1b9 fix ENABLESSHBETWEENNODES setting in mypostscript file when zones 2014-02-26 08:12:11 -05:00
linggao e6dc6f8a22 removed the debugger 2014-02-26 04:32:07 -05:00
lissav 84232a4b45 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2014-02-25 11:41:45 -05:00
lissav 04015bd64d defect 3994 2014-02-25 11:41:15 -05:00
lissav 2ec690f18f zone hierarchical support for xdsh -K 2014-02-25 09:59:43 -05:00
zhaoertao 7528e8f0f1 update manpage for mkvm and chvm about partitioning item 2014-02-24 23:55:09 -08:00
ligc 7b43034fab fix a typo in updatenode manpage 2014-02-25 13:44:19 -06:00
lissav 1a5d650be8 xdsh -K support (still need to do hierarchy) 2014-02-24 11:48:44 -05:00
lissav 18a8fd1476 xdsh -K support (still need to do hierarchy) 2014-02-24 11:42:19 -05:00
lissav c99c4d809b xdsh -K support (still need to do hierarchy) 2014-02-24 11:38:58 -05:00
ligc db8efd37b9 fix for bug 3991: if the node can not be resolved or ip address is not valid, print warning message and ignore the node 2014-02-21 12:41:37 -06:00
lissav 9749c8984c zone coce 2014-02-20 12:34:20 -05:00
lissav 329c65eec5 more code 2014-02-20 11:34:53 -05:00
lissav dabc94af12 more code 2014-02-20 11:33:24 -05:00
lissav dad84f2d1a fix for defect 3985 2014-02-20 07:09:50 -05:00
linggao accf4fe1e3 Merge branch '2.8' of ssh://linggao@git.code.sf.net/p/xcat/xcat-core into 2.8 2014-02-20 09:22:53 -05:00
linggao b6cb78e67d xCAT baremetal driver for OpenStack 2014-02-20 09:21:27 -05:00
lissav 9e826d1189 more zone code 2014-02-19 12:50:36 -05:00
lissav 82caea177c designchanges 2014-02-19 08:49:43 -05:00
lissav 00318b28d4 designchanges 2014-02-19 08:48:14 -05:00
lissav d80d7a974f add zone table sshbetweennodes attribute 2014-02-19 07:14:15 -05:00
lissav 59d675af7b add zone table sshbetweennodes attribute 2014-02-19 07:06:28 -05:00
lissav 8a015d24fd add missing -g flag 2014-02-19 05:22:52 -05:00
lissav 1107b62310 add missing -g flag 2014-02-19 05:21:02 -05:00
lissav 5500f73824 improvements 2014-02-18 11:08:22 -05:00
lissav 640ded52ec more improvements for zones 2014-02-18 10:14:49 -05:00
lissav d5e7c46622 more zone support 2014-02-18 09:06:11 -05:00
lissav ace58552c1 more zone support 2014-02-18 08:49:47 -05:00
lissav 62c1f4a6f6 fix man page 2014-02-18 06:20:28 -05:00
arif 6e1720038e change comment on path of where the gpfs_updates directory is placed 2014-02-17 12:23:32 +00:00
lissav 95486591e4 link in zone commands 2014-02-13 14:27:41 -05:00
Jarrod Johnson b1fddf8eca Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2014-02-13 09:53:54 -05:00
Jarrod Johnson d03dcbe5f3 Explicitly set SSL_VERIFY_MODE during start ssl in Client 2014-02-13 09:51:02 -05:00
lissav 2ee32a79c8 Multiple zone support 2014-02-13 07:54:10 -05:00
lissav 7fe699f561 Multiple zone support 2014-02-13 07:50:30 -05:00
lissav 445483f25a put in wrong directory 2014-02-13 07:48:02 -05:00
lissav aa32357398 Multiple zone support 2014-02-13 07:43:36 -05:00
zhaoertao 601dc2569c update manpage of mkdef/chdef for osimage 2014-02-13 00:59:42 -08:00
jjhua e0eea42b96 only use short node name in loadclouddata 2014-02-13 12:28:34 -05:00
immarvin 663e7d0132 take *.rhel*.pkglist as pkglist file if *.rhels*.pkglist do not exist 2014-02-12 00:52:35 -08:00
immarvin 3dce4de63a specify text installation mode, otherwise, anaconda will drop into choice dialog when fails to start X in graphic mode 2014-02-12 00:49:36 -08:00
zhaoertao a4a0ed5da3 fix bug 3983: copycds show error info 2014-02-11 22:06:48 -08:00
jjhua 2876b0f371 The template for keystone and swift(all in one) 2014-02-12 12:34:27 -05:00
yinle 3fd9ee8ad9 fix bug #3984 Ubuntu 13.10 diskless installation fails 2014-02-11 10:54:53 -08:00
jjhua 2d7b3f6c51 support for keystone+swift 2014-02-11 15:44:44 -05:00
Jarrod Johnson 73b9ef07ad Have openssl req use better message digest 2014-02-11 10:08:06 -05:00
daniceexi 784f89b916 roll back the last change in configmic file; And fix the issue that hostname cannot show the short hostname 2014-02-11 04:48:40 -05:00
Jarrod Johnson 8804d7180b RHEL7 support for diskful compute profile complete 2014-02-10 14:01:05 -05:00
Jarrod Johnson 89f3dccdbe Have RHEL7 proceed to get through install completion
Still need to get through the postscript phase
2014-02-10 14:00:52 -05:00
Jarrod Johnson 263ee3af3a Add signature detection for RHEL7 media to anaconda 2014-02-10 10:50:32 -05:00
daniceexi 5452efea2e fix the issue that hostname command cannot get short hort name 2014-02-10 08:24:41 -05:00
Jarrod Johnson 504dc16571 Fix xCAT init script status reporting
xCAT in some cases was reporting improper status for certain scenarios.
Risk being inaccure if no pid file exists so that it is accurate when it
does exist.
2014-02-07 17:39:32 -05:00
lissav 1d64d9ce82 new zone table and zonename attribute 2014-02-05 08:28:53 -05:00
Jarrod Johnson b808b12dcf Correct } mistake in previous commit to IPMI.pm 2014-02-04 10:26:57 -05:00
arif 7f42f33094 fix unordered cherry-pick 2014-01-30 20:42:02 +00:00
arif e889f59523 add nichostnameprefixes to @nodeattrs 2014-01-30 20:40:17 +00:00
arif afb15362f3 first commit for prefix hostname feature 2014-01-30 20:40:07 +00:00
arif b832cb5023 fix bug 3971, trim othernames variable 2014-01-30 19:54:07 +00:00
Jarrod Johnson 5e62fbced8 _clear_cache was removed long ago. _build_cache does all the needed work itself, so skip _build_cache. 2014-01-30 13:00:42 -05:00
ligc 5ac1ebaa63 fix for a typo in confignics, caused ib configuration problems 2014-01-29 10:03:17 -06:00
lissav 0ba8649e56 Add IBM_HPC_Stack_in_an_xCAT_Cluster 2014-01-28 15:35:47 -05:00
yinle 9cae05441d minor fix 2014-01-28 13:47:49 -08:00
yinle 5e686b1a45 Add range check and message to nmap 2014-01-28 13:38:39 -08:00
baiyuan b7ec6919e9 fix Undefined subroutine &JSON::decode_json called at /opt/xcat/ws/xcatws.cgi line 168 2014-01-27 23:31:39 -05:00
zhaoertao 6556f026d7 modify usage for 'chvm' and 'mkvm', remove debug msg 2014-01-26 22:53:39 -08:00
zhaoertao d662c5e8b5 The scripts used for configuring and provisioning VIOS partition 2014-01-26 22:02:50 -08:00
zhaoertao 23423a5cb1 create VIOS and logical partitions 2014-01-26 21:57:57 -08:00
qyin 4a2de6ddc2 windows solution 222013 xcat part 2014-01-27 13:12:27 +08:00
ligc 0a810645f2 fix for bug 3979: print a message with rnetboot/bootseq when gateway is empty 2014-01-27 09:58:48 -06:00
lissav 1e2fdb0529 improve man for sshbetweennodes 2014-01-23 12:59:11 -05:00
zhaoertao e62b5b43a8 3974 rinv failed for Fujitsu Blade Server 2014-01-22 23:19:19 -08:00
baiyuan caceaab306 upload testcase for ubuntu 2014-01-22 23:48:03 -05:00
Jarrod Johnson d08d6fb244 Add enic to nics in genesis 2014-01-22 16:57:43 -05:00
baiyuan 0a7963cc65 fix 3879,complete kit size is too big,just keep build_input in complete kit with buildkit.conf,other_files,plugins and scripts, remove other useless dir 2014-01-21 03:48:06 -05:00
yinle 07f95665be Add a new file xcat.conf.apach24 2014-01-20 13:51:04 -08:00
yinle 9b171c32af fix bug #3973 Ubuntu 13.10 diskful installation fails 2014-01-20 13:49:15 -08:00
yinle bc607bf74c fix bug #3973 Ubuntu 13.10 diskful installation fails 2014-01-20 13:21:03 -08:00
yinle c98217e5a1 fix bug #3973 Ubuntu 13.10 diskful installation fails 2014-01-20 13:16:57 -08:00
daniceexi 20865b8812 Change the man page of nodeset to make it supports the shutdown and shell operations 2014-01-20 11:09:09 -05:00
baiyuan 91a5abd7f3 fix 3879,remove build_input dir from complete kit xxx.tar.gz 2014-01-20 04:10:03 -05:00
baiyuan 7c8f671f9f kitconponent should be kitcomponent 2014-01-19 22:19:07 -05:00
baiyuan 95d332aa23 update imgexport/imgimport manpage to surpport kits 2014-01-19 21:54:04 -05:00
baiyuan ece1fd7d03 fixed 3357,add symlink,copy postscripts and plugin files for kit 2014-01-16 20:54:14 -05:00
yinle 0f93e7a135 Add a new file xcat.conf.apach24 2014-01-16 12:45:19 -08:00
yinle d97a9e4316 minor fix 2014-01-16 04:41:33 -08:00
yinle aa2c4978c5 update building of ubuntu repo to include the supported ubuntu disctros 2014-01-16 04:38:31 -08:00
yinle 65bd3afbb3 Merge branch '2.8' of ssh://git.code.sf.net/p//xcat/xcat-core into 2.8 2014-01-16 04:21:24 -08:00
yinle 3b418f8981 update building of ubuntu repo to include the supported ubuntu disctros 2014-01-16 03:56:55 -08:00
daniceexi d0e3c2354f defect 3968: fixed the issue that for statelite on aix, the .statelite dir was not copied to shared_root spot from default spot 2014-01-16 04:48:20 -05:00
lissav bcb98fcec9 fix mysqlsetup -u 2014-01-15 06:14:52 -05:00
immarvin 27f6761231 fix defect #3960 Genimage broken for CentOS 5.4 nodes 2014-01-14 01:00:33 -08:00
Jarrod Johnson 6777f86870 Make IPMI 2.0 crypto dependencies mandatory
Faced with an increasing population of IPMI 2 only devices, make the AES/CBC
requirements mandatory as it is a common source of systems failing to work
now.
2014-01-13 10:50:00 -05:00
daniceexi caaa130479 To make bmcsetup cmd to update node status to be [bmcready] in genesis; And make chain mechanism to support [shutdown] key word which is used to poweroff the node 2014-01-13 07:54:05 -05:00
daniceexi a3ade8608b fix the issue that proxydhcp configuration file cannot be updated 2014-01-10 09:15:50 -05:00
sjing 487c57d358 Fix for bug 3955. 2014-01-10 03:01:56 -05:00
sjing 9c35744fd7 Fix for bug 3815
Last fix results in "makedhcp -n" not working, so re-fix it.
2014-01-09 22:14:55 -05:00
lissav 4263c661c5 update description 2014-01-09 08:46:26 -05:00
Jarrod Johnson 3db9440ca9 Fix detection of debian for some ubuntu installations 2014-01-08 15:16:18 -05:00
lissav 1caaf17eb2 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2014-01-08 11:11:44 -05:00
lissav a7bb1d0a9a simplify messages for odbcsetup call 2014-01-08 11:11:17 -05:00
ligc 7f7907ae3e fix for bug 3951: remove the code to check xcat versions during xcatd restart/reload 2014-01-08 23:49:01 +08:00
lissav a37d0e3ec4 fix for defect 3839 2014-01-08 10:32:37 -05:00
ligc f35332a0d1 fix for bug 3947: add check for AIX and nmap existence 2014-01-08 23:29:30 +08:00
wanghuaz c1359797e8 handle kit staff in imgexport/imgimport 2014-01-08 20:14:47 +08:00
daniceexi 05a1624439 defect 3135: changed the mount process for the statelite directory (for persistent entries) that make a directory after the node name and remount to the nodename directory instead of nfs root dir for persistent 2014-01-08 04:59:33 -05:00
lissav 9470ac6d1a Add catagories to the site table 2014-01-07 15:40:58 -05:00
baiyuan 509b979ee8 fix:remoed should be removed 2014-01-07 03:06:30 -05:00
daniceexi a03b712e2f make confignics postscript to accept the site.setinstallnic to configure installnic to be static 2014-01-07 02:26:53 -05:00
lissav a46a8919a3 defect 3948 2014-01-06 14:56:58 -05:00
wanghuaz 8ca9e350e4 fixing the migration problem that rmkitcomp should remove the kitdeployment parameter file and its contents. 2014-01-06 15:22:11 +08:00
immarvin 3e31714aa3 fedora19/fedora20 diskful support 2014-01-02 23:50:47 -08:00
baiyuan 24b255fec5 update cases0 for buildkit 2014-01-02 02:50:08 -05:00
ligc 37be3cd9d7 do not use nodels --version in /etc/init.d/xcatd 2014-01-02 14:38:09 +08:00
sjing f11aa5cc6d Fix for bug 3952
Made makedhcp be able to handle the case where site.nameservers or
networks.nameservers is a comma delimited list with <xcatmaster>
keyword in it.
2014-01-02 01:17:44 -05:00
daniceexi 49cd33382c defect 3909: make xcatd loads xCAT::Enabletrace by require instead of use to save resource 2014-01-02 02:02:24 -05:00
daniceexi 6d76a44409 fix man page of mknb to indicate that mknb only supports x86_64 2014-01-02 01:12:19 -05:00
jjhua 0fe0d25c5f change the name os-object-storage-setup in os-object-storage-setup.rb 2014-01-01 22:09:20 -05:00
daniceexi 2facd1f0c4 Change the Windows deployment templates to support disk configuration, nics configuration and run postscripts 2013-12-31 09:01:28 -05:00
daniceexi 1039ba5490 Enhance genimage.cmd to accept second and third params for multiple winpe support 2013-12-31 08:02:54 -05:00
wanghuaz b4a450352c add an enhancement to skip not well-formed deployment parameters. 2013-12-31 17:02:22 +08:00
wanghuaz 341e847646 minor change in last check of passing parameters to postinstall and postbootscritps 2013-12-31 15:37:53 +08:00
daniceexi 740114c491 Add some comments and help message for genimage.bat 2013-12-30 23:02:52 -05:00
daniceexi 0d1e50c764 fixed the issue that missed the winpe-scripting.cab in last checkin 2013-12-30 07:01:40 -05:00
wanghuaz 9403878ade fixing bug 3815: don't use global variables which doest work well in hierarchy system. 2013-12-30 10:56:57 +08:00
wanghuaz 2e1d048dee passing kitcomponent deploy parameters to genimage package installation, postinstall script and postbootscripts. 2013-12-30 10:05:19 +08:00
wanghuaz c327c4a24b fixng bug 3945: give an example of how to write ospkgdeps and kitpkgdeps in different arch. 2013-12-27 17:05:28 +08:00
baiyuan c3132f5da9 kit release should be mandatory according to mini-design 2013-12-27 02:42:46 -05:00
wanghuaz b93a7b7ab1 fixing bug 3943: give accureate pattern to match output from console 2013-12-27 15:30:00 +08:00
baiyuan 2ad4b13f78 fix Use of uninitialized value within @a2 in pattern match (m//) at BuildKitUtils.pm line 273 2013-12-27 01:53:35 -05:00
sjing fc7d8ecee5 Support dns master/slave configuration 2013-12-26 22:57:24 -05:00
jjhua f2817eff86 update the cookbook and role for swift 2013-12-26 15:05:36 -05:00
wanghuaz c944543a1f fixing bug 3848, moving preuninstall script from prerequisite rpm to meta rpm to make sure it can be issued before componnet been uninstalled. 2013-12-26 15:23:56 +08:00
jjhua c4522d9f5c update node dependency cookbook statsd for swift 2013-12-26 14:14:17 -05:00
jjhua e0de4e6a26 support for swift 2013-12-26 13:06:40 -05:00
jjhua 60afd44afc if there are two roles for one chef-client, the script couldn't assign the
roles to the node. fixed it.
2013-12-26 12:39:02 -05:00
jjhua f3aae68777 support for swift 2013-12-24 15:16:11 -05:00
nott 1afea00f08 template cleanup 2013-12-23 15:23:33 -05:00
jjhua b55034f64c support for cinder 2013-12-23 15:37:45 -05:00
yinle 52098b8ad4 Add warning message on fsp wrong slp reply 2013-12-22 05:03:57 -08:00
immarvin 4920ba650d grep in busybox do not support long optipn string, use short instead 2013-12-19 19:13:10 -08:00
linggao a3b589af67 Changed the table name from capacity to hwinv. 2013-12-19 22:51:39 -05:00
immarvin 891f41b6ba add rhels5.10 discinfo 2013-12-19 04:55:45 -08:00
immarvin b767c8ae95 fix syntax error if is blank 2013-12-19 04:26:24 -08:00
immarvin 5b2c27eb75 grep in busybox do not support long optipn string, use short instead 2013-12-19 01:42:59 -08:00
daniceexi 29fa3ff010 add the second argument for genimage.bat to make it can generate winpe and BCD to a specific dir 2013-12-19 07:25:25 -05:00
immarvin ce58c3bc1c fix the problem that rhels5.10 initrd cannot resolve the mn hostname 2013-12-18 23:19:35 -08:00
yinle 9584f0f683 Remove useless file build-debianrepo 2013-12-19 04:18:25 -08:00
daniceexi a24cabf71c Rewirte the proxydhcp.c with proxydhcp-xcat in perl; Added site.installnic to control the nics setting for windows; Added servicenode.proxydhcp and noderes.proxydhcp to control the starting of proxydhcp-xcat daemon and makedhcp againsts node for windows deployment 2013-12-19 04:53:49 -05:00
yinle eaf168ed48 Modify the bug that causing mklocalrepo.sh wrong 2013-12-19 00:57:32 -08:00
linggao b68c12d07a fixed a syntax error 2013-12-19 08:34:10 -05:00
linggao 69bb732270 Added a capacity table to store the cpu, memory and disk sizes for nodes 2013-12-19 07:52:29 -05:00
Bruce Potter 70a8a07daa Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-12-18 15:44:03 -05:00
Bruce Potter 61f2851006 fixed Error: at the beginning of monshow usage (feature request 73) 2013-12-18 15:43:15 -05:00
lissav eebb88bbb1 defect 3916 2013-12-18 09:13:28 -05:00
sjing 8efb1c8f48 Support dns master/slave configuration 2013-12-18 01:35:15 -05:00
lissav 7b5055c77c defect 3916 2013-12-17 13:20:28 -05:00
daniceexi 0fe981ce6d make including winpostscript dir only for linux 2013-12-17 13:54:29 -05:00
jjhua f3bc8f145a correct the errors in the allinone template(using single flat network) 2013-12-17 20:53:30 -05:00
jjhua 413ec01107 add the role os-block-storage-volume for cinder 2013-12-17 20:50:58 -05:00
jjhua 83f82660ca enhanced the role for cinder 2013-12-17 15:12:10 -05:00
jjhua df0ec5b14b It will output some errors when using new chef/chef-server. The errors will not affect the
whole procedure. Update the cookbooks to revmoe the error mesages.
2013-12-17 14:50:17 -05:00
jjhua b9c3d71d6f if we set up the chef-server during os provision, there are some error messages
in the /var/log/messages on the management node.  Fixed them.
2013-12-17 14:10:53 -05:00
daniceexi 50686d34c7 Make xCAT rpm to install all files in /install/winpostscripts/* for Windows support 2013-12-17 02:23:38 -05:00
daniceexi 5021289a86 Enhanced postscript support in templates 2013-12-16 03:53:47 -05:00
daniceexi 32f8a37a22 code drop for windows postscript/postbootscript support. The postscript/postbootscript should be set in node/osimage.postscript/postbootscript and copy to /install/winpostscripts before running nodeset 2013-12-16 02:22:02 -05:00
yinle b958093474 Add lsslp unicast support 2013-12-13 01:26:52 -08:00
yinle 0922dc234c Add lsslp unicast support 2013-12-13 00:59:33 -08:00
yinle acce8ea798 Add lsslp unicast support 2013-12-13 00:50:14 -08:00
lissav d6b62f0eac fix defect 3942 2013-12-12 11:15:15 -05:00
immarvin 214852bcd7 liteimg use rc.statelite instead of rc.statelite.ppc.redhat for rhels6.5.ppc64 statelite 2013-12-12 02:13:02 -08:00
wanghuaz d5a02a43a8 prevent the running of postbootscripts 2013-12-12 17:48:17 +08:00
wanghuaz 8238177b7f prevent the running of postbootscripts 2013-12-12 17:43:57 +08:00
wanghuaz 0284522bf1 prevent the running of postbootscripts 2013-12-12 17:37:48 +08:00
daniceexi 0ac6f5d4e8 skip the bmc interface for nics configuration 2013-12-10 07:17:51 -05:00
baiyuan 75a1115638 add test cases for addkit 2013-12-10 02:19:18 -05:00
daniceexi 01d1bee405 Mutiple winpes support. nodeset (Windows.pm) will generate configuration file (path of winpe) in /var/lib/xcat/proxydhcp.cfg and send signal to proxydhcp daemon, proxydhcp daemon loads configuration file and offers 4011 service to windows compute nodes. 2013-12-10 05:34:09 -05:00
wanghuaz 96a81f9911 fixing bug 3340: add test option for rmkit to list kitcomponents in use 2013-12-09 21:37:28 -08:00
wanghuaz 044febc97d fixing bug 3340: add test option for rmkit to list kitcomponents in use 2013-12-09 21:27:28 -08:00
zhaoertao 389396a5f5 modify the vmstorage value format of local path 2013-12-09 18:58:53 -08:00
Bruce Potter fd9456c60c add valid values of kvm, esx, rhevm to nodehm.mgt and power attributes 2013-12-09 19:02:14 -05:00
Bruce Potter e0dc206356 update description of litefile and litetree image attribute to include reference to image groups 2013-12-09 14:39:45 -05:00
immarvin a60bb9d50c rhels6.5 support 2013-12-05 21:54:18 -08:00
ligc 7877dae894 fix for bug 3902: add bridge nics into dhcpd.conf, em\d+ for Fedora 2013-12-05 12:50:12 +08:00
ligc 6040b777d7 fix for bug 3922, use getNodesAttribs instead of getNodeAttribs 2013-12-05 09:47:39 +08:00
sjing 2ecf98530b Fix for bug 3912
update net-snmp rpm version
2013-12-04 04:01:39 -05:00
lissav cdab9ccc32 fix lots of info in man page 2013-12-03 07:20:38 -05:00
sjing 58505be501 Fixed bug 3927
AIX bundle file can not recognize '#' in the middle of line.
2013-12-02 22:58:25 -05:00
daniceexi 5bc7502d61 code drop for feature to support multiple disks/paritions and multiple nics configuration for Windows deployment. 2013-12-03 02:26:31 -05:00
lissav 7d6d4cc690 Defect 3926, rerun of mysqlsetup -i leaves xcatd stopped 2013-12-02 06:42:27 -05:00
jjhua 672f7548a3 two environment template files if develop_mode=false 2013-12-02 16:36:19 -05:00
baiyuan e037cd0b69 update linux.conf.template for autotest 2013-12-01 22:13:38 -05:00
jjhua 0da6df2117 at present, we will use "develop_mode=true", so I change the value
of develop_mode in the example to "true".
2013-11-29 16:16:57 -05:00
jjhua 1d39d95386 add two examples of the environment files 2013-11-29 14:55:27 -05:00
jjhua 25ef66f1d2 databags and related items in the openstack chef cookbooks.
These are some examples, they can work with the current cookbooks.
If there are some changes in the cookbooks, please update the
databags and related items
2013-11-29 14:44:34 -05:00
jjhua f3925b9cf0 To support databag in openstack chef cookbook.
--nodevmode is only used when running all the procedure, and will
generate the secret, create the databag, and load the databag item
2013-11-29 14:32:42 -05:00
baiyuan bcb80dc6c3 support multiple os version 2013-11-29 00:35:14 -05:00
baiyuan 5b5703e18b add test cases for buildkit 2013-11-28 21:53:31 -05:00
jjhua 59ca686eec To support developer_mode=false, we need to use databag. There was
a bug in rabbimq-server(could not change the guest's password). Fixed
it.
2013-11-28 13:50:07 -05:00
jjhua 54f2ee5abe add the role[os-network-dhcp-agent] into os-compute-single-controller.rb .
It could be used to allocate IP for the nova VMs when using role[allinone-compute]
2013-11-28 13:45:08 -05:00
Bruce Potter 3f6448b316 removed the nbroot rpms from the yum group file 2013-11-27 04:36:46 -05:00
Jarrod Johnson d814b94bde Have ipmi do wire format, to match ipmitool and microsoft behavior in spite of the spec (which no one follows, not even prior xCAT code) 2013-11-26 10:26:51 -05:00
baiyuan f83c398450 enhance os value in testcase,adding os:rhels,os:sles support in cases0 2013-11-24 20:53:58 -05:00
xq2005 47a010573d for bug 3919: version compare problem 2013-11-22 01:35:37 -08:00
xq2005 3b1f5fbbf2 update the ubuntu dep tarball 2013-11-21 20:26:30 -08:00
Bruce Potter 749909960a Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-11-21 07:22:25 -05:00
zhaoertao 1166185575 remove 'sequential' parameter for runxcmd calling in configfpc.pm 2013-11-21 01:04:30 -08:00
zhaoertao b5409af7ee fix bug 3889 xcatd not running preprocess for multiple plugins when mgt=ipmi 2013-11-21 00:51:00 -08:00
daniceexi 2ade33338a defect 3917: add support for running of postinstall script in mic genimage. The rootimage root is changed to overlay/rootimg from overlay/package 2013-11-21 05:17:23 -05:00
wanghuaz 6f25f60016 fixing the problem that configing bond0 flushed the default gateway. 2013-11-21 10:09:07 +08:00
Bruce Potter 9b4d72de32 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-11-19 07:19:31 -05:00
daniceexi 5161d143bc Change the man pages of nodeset,genimage and geninitrd commands for adding --ignorekernelchk option 2013-11-19 07:07:34 -05:00
ligc c3f73bc9b8 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-11-19 15:55:45 +08:00
daniceexi 2b61564684 Code drop for new requirement: Add a new flag --ignorekernelchk for nodeset, geninitrd and genimage commands to skip the kernel version checking when injecting drivers from osimage.driverupdatesrc 2013-11-19 06:27:11 -05:00
ligc 089ea2da87 fix for bug 3913: do not use autocommit=0 for table read 2013-11-19 15:49:26 +08:00
Jarrod Johnson 004d179474 Fix SLES driver update media injection that is not rpm based 2013-11-18 16:31:15 -05:00
lissav 9578417eae defect 3870 2013-11-18 13:42:28 -05:00
Bruce Potter fee08fb028 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-11-18 07:52:56 -05:00
lissav 0804cf1ae6 Defect 3906 2013-11-18 06:50:18 -05:00
jjhua e432c238f9 fixed bug 3904, if the environements dir doesn't exsit, create it. 2013-11-18 16:26:03 -05:00
jjhua c8053583bd fixed bug 3898 2013-11-18 15:37:15 -05:00
immarvin 43bc2d1e8e fix #3877 [FVT]genimage return confusing error message when xCAT-IBMhpc is not installed 2013-11-17 19:07:05 -08:00
immarvin e2708df2b4 fix defect #3693 [DEV] rhels6.4-ppc64 statelite failed with (FATAL error: could not get the entries from litefile table...) when noderes.xcatmaster=<hostname of MN> 2013-11-17 18:48:00 -08:00
Bruce Potter d91767af84 change version of 2.8 branch to 2.8.4 2013-11-15 16:46:40 -05:00
Jarrod Johnson ccb66ff793 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-11-14 15:53:46 -05:00
Jarrod Johnson cfb4a4cbaa Fix problem where bnx2x dependency tree needs special handling in sles 2013-11-14 15:53:12 -05:00
sjing 92692d6939 only try to stop named if restartneeded=1
because on linux, if the named is already stopped, when we tried
to stop named, the return code is 0 with a warning message;
while on AIX, if the named is already stopped, when we tried to
stop named, the return code is 1, it's different with Linux.
2013-11-13 01:58:44 -05:00
jjhua d9e220238d Merge branch '2.8' of ssh://jjhua@git.code.sf.net/p/xcat/xcat-core into 2.8 2013-11-13 11:20:16 -05:00
xq2005 805adea8be cacl broadcast address in configeth 2013-11-12 18:44:14 -08:00
John Simpson e6a4b0d8fb udpate to rflash man page for NeXtScale FPC 2013-11-12 16:47:46 -05:00
jjhua 11e7b02653 create the /install/chef-cookbooks directory in spec file 2013-11-12 15:51:50 -05:00
jjhua 55af05f8a3 update the spec file for chef-cookbooks 2013-11-12 15:43:00 -05:00
jjhua 93a98c256c fixed a minor issue in the cloud template file 2013-11-12 15:37:07 -05:00
jjhua 3b18b981c5 fixed bug3890. When there are two interfaces(pubinterface and mgtinterface) on the controller node,
There are something wrong with the cookbooks. fixed it
2013-11-12 15:31:50 -05:00
jjhua 1bf4253477 the two template files are in ./xCAT-OpenStack/templates/cloud_environment/.
So remove them from the chef-cookbooks directory.
2013-11-12 10:31:48 -05:00
jjhua 467d0873de add the openstack-chef-cookbook for grizzly 2013-11-12 10:24:04 -05:00
Jarrod Johnson 77cea20b24 Fix problem where fsm pulled in mic support 2013-11-12 10:02:42 -05:00
Jarrod Johnson e868887a29 Remove ipmi.pm.legacy removal from fsm/zvm builds 2013-11-12 09:37:45 -05:00
sjing be04c5c896 update perl-Net_SSLeay.pm to 1.55-3 for AIX7.1.3 and above 2013-11-12 09:27:36 -05:00
sjing 369a9e9b1e update perl-Net_SSLeay.pm to 1.55-3 for AIX7.1.3 and above 2013-11-12 09:10:03 -05:00
xq2005 dd9b1b51ba build xcat-openstack on ubuntu 2013-11-12 01:41:23 -08:00
John Simpson 28f0ef85cd updated the rflash man page with the NeXtScale FPC information 2013-11-11 19:17:54 -05:00
John Simpson 367c5a1ec6 update to fix configtfpc problems with running in xcatd 2013-11-11 17:48:14 -05:00
Jarrod Johnson 15061d46a9 Add ability for appliances to forbid 32 bit architectures for RHEL 2013-11-11 15:32:01 -05:00
Jarrod Johnson 102a6bbbf1 Recognize and translate invalid url message 2013-11-11 09:25:58 -05:00
xq2005 eeaf1cdd72 build xcat-openstack on ubuntu 2013-11-11 03:00:38 -08:00
jjhua 10c87ba9b6 include the mypostscript_cloud.tmpl template 2013-11-11 16:22:21 -05:00
jjhua 882d46d0b1 checkin the configgw script 2013-11-11 16:07:59 -05:00
jjhua d247f968fa Merge branch '2.8' of ssh://jjhua@git.code.sf.net/p/xcat/xcat-core into 2.8 2013-11-11 16:04:21 -05:00
jjhua 29dbe8ed09 fixed bug 3888.
initialize the variable uselocalhost;
add new script configgw to configure the public gw
2013-11-11 15:59:45 -05:00
jjhua c2275ad894 remove the -vx flag 2013-11-11 14:54:42 -05:00
jjhua 4e54d58318 clean the chef-server data and stop the chef-server before uninstall the chef-server 2013-11-11 13:42:38 -05:00
xq2005 4afaf438ea build xcat-openstack on ubuntu 2013-11-11 01:47:01 -08:00
xq2005 d654045adc bug 3885: confignics need network name and nic type 2013-11-09 23:56:53 -08:00
Jarrod Johnson b085606352 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-11-08 15:58:20 -05:00
Jarrod Johnson d5893b8ee0 Fix bug with genimage and sles 2013-11-08 15:58:03 -05:00
John Simpson 2f98fffc04 update to rvitals man page to remove summary option 2013-11-08 10:52:11 -05:00
John Simpson 81c3bfd1ff update to rvitals man page to remove lcds from the options for BMC 2013-11-08 10:30:52 -05:00
John Simpson eacb1f7561 update to rinv man page to add descriptions for mprom, deveid, and guid 2013-11-08 10:24:02 -05:00
John Simpson 8d062e9649 update to process firm the same as firmware 2013-11-08 09:58:12 -05:00
John Simpson 61b359fb11 updated messages in ipmi.pm to correct double colon problem with IBM::EnergyManager in the string 2013-11-08 09:27:11 -05:00
Bruce Potter 51f297a6fa remove ipmi.pm.legacy 2013-11-08 08:32:58 -05:00
daniceexi 5068f7999d changed the description for column name powermgt in mic table 2013-11-07 23:02:31 -05:00
Jarrod Johnson 5fce308c49 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-11-07 13:44:26 -05:00
Jarrod Johnson 71cd1093ea Fix problem where SLES11 SP3 SDK disk 3 would overwrite disk 1 2013-11-07 13:44:04 -05:00
Bruce Potter b4fa9ff479 automatically save previous bld 2013-11-07 12:13:50 -05:00
Jarrod Johnson edc62bb346 Add option to xcoll for individual output (-i) 2013-11-07 10:31:38 -05:00
Jarrod Johnson 0b6473f202 Fix problem where reventlog would fail against a management module 2013-11-07 09:59:59 -05:00
xq2005 1f68b5b240 build xcat-openstack on ubuntu 2013-11-07 00:53:21 -08:00
xq2005 f1ee97941e build xcat-openstack on ubuntu 2013-11-07 00:50:29 -08:00
xq2005 57ec0d82b6 build xcat-openstack on ubuntu 2013-11-07 00:12:55 -08:00
Bruce Potter 770f50f9ba fix chgrp problem in build scripts on aix 2013-11-06 10:25:30 -05:00
wanghuaz 2af02291a6 Fixing bug 3876, reutrn with usage if no kitcomponent specified to addkitcomp/rmkitcomp 2013-11-06 18:22:11 +08:00
wanghuaz c9c4bca217 still fixing bug 3815, dhcp.pm process_request with different makedhcp options -n and -a are triggerd by AAsn.pm twice during xcatd restarting on SN. the first -n option is enabled and not get cleanup because it is a global variable. and then second call with -a option conficts with -n option in last makedhcp context. we have to clean up -n before call the second makedhcp. 2013-11-06 17:28:26 +08:00
daniceexi 4ccaef4f22 Xeon Phi support. Support nfs mount to any server which set in statelite table. Support power management setting. 2013-11-06 07:08:10 -05:00
wanghuaz bc7ddd1f35 fixing bug 3815: check options again in process_request to make sure makedhcp options can be processes on service node. 2013-11-06 15:51:49 +08:00
xq2005 6b1b4f2253 bug 3824: systeimager install failed on sles10 golden client 2013-11-04 23:39:47 -08:00
xq2005 f6ea3147a7 bug 3824: systeimager install failed on sles10 golden client 2013-11-04 23:34:59 -08:00
xq2005 107c598a46 bug3872: stay on 'booting' when installing sles10 2013-11-04 22:51:25 -08:00
baiyuan 7de10e0ff5 add test cases for cn installation with sn in x86_64 redhat vm with kvm 2013-11-04 03:49:50 -05:00
baiyuan 3514d539fa add testcase for sn installation in x86_64 redhat vm with kvm 2013-11-04 03:33:48 -05:00
baiyuan 74739ca5b1 add testcase for cn diskfull installation with sn in x86_64 sles vm with kvm 2013-11-04 03:17:53 -05:00
baiyuan b92312d0d2 add testcase for cn installatiion with sn in x86_64 sles vm with kvm 2013-11-04 03:11:46 -05:00
baiyuan 923daaa8ba add testcase for cn installation with sn in x86_64 sles vm with kvm 2013-11-04 03:02:31 -05:00
baiyuan 7e96eb2478 add testcase for sn installation in x86_64 sles vm with kvm 2013-11-04 02:39:25 -05:00
immarvin 475bbf71ac correct a syntax 2013-11-03 22:01:35 -08:00
daniceexi 80ac6ee67d complete comments 2013-11-03 09:39:27 -05:00
daniceexi fcc0f6fa12 code drop for xeon phi (mic) support phase 2. 1. Support mpss 3.1; 2. Support to install software in .filelist, rpm and simple format; 3. Support the hcp software to be installed in .filelist format by genimage command; 4. Support the nfs mount setting for mic node (base on litefile table); 5. Support Internal bridge setting for mic host 2013-11-03 09:36:55 -05:00
Bruce Potter f383337d78 add blding man pages to openstack spec 2013-11-01 19:00:04 -04:00
Bruce Potter 019c780fcd add db2man for blding xCAT-OpenStack man pages 2013-11-01 18:52:05 -04:00
Bruce Potter fdbf81c1cf build openstack db man pages 2013-11-01 18:43:22 -04:00
immarvin 9cb3991fec fix defect #2980 install kernel-source fail in genimage in rh6/centos 2013-11-01 04:09:15 -07:00
xq2005 f85ad98f06 use ip address to find the network name 2013-11-01 03:34:35 -07:00
Bruce Potter 039fac937d add check for git pull success to build script 2013-10-31 13:11:44 -04:00
John Simpson c627c320bf updated message and fixed verbose error msg for runxcmd 2013-10-31 10:24:06 -04:00
jjhua 1e7149a25a copy the template files to the destination 2013-10-31 16:55:56 -04:00
jjhua 710b096765 add the cloud environment template files 2013-10-31 16:45:06 -04:00
immarvin 72a4379087 fix defect #3813 imgexport 2.7 will not imgimport 2.8 2013-10-31 01:30:57 -07:00
yinle 1a48279d68 Fix bug #3712 p6 IH full-disk install fails with no /tftpboot/yaboot 2013-10-31 07:07:37 -07:00
jjhua bbe98da471 fixed some issues about errors and messages found by Linda 2013-10-31 16:06:38 -04:00
ligc bef22ea3d2 backport dhcp.pm code from 2.9 to 2.8.3 2013-10-31 15:22:02 +08:00
wanghuaz d910e66cee fixing bug 2866, create some tmp files to avoid rpmbuild warnings 2013-10-31 13:21:04 +08:00
Jarrod Johnson 735127be0b Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-10-30 16:31:54 -04:00
John Simpson 3ca11580ae added static arp setting and cleaned up some messages 2013-10-30 16:03:41 -04:00
immarvin 24948a701d fix defect #3393 xcat 2.8 mgt server(rhels6.4-ppc64) hang on Generating /etc/rndc.key during reboot 2013-10-30 07:14:38 -07:00
xq2005 564abe331c bug 3831: install ubuntu hang 2013-10-30 03:08:48 -07:00
wanghuaz 250258dbb7 fixed bug 3867, 2013-10-30 00:42:53 -07:00
nott e52d129d30 buildkit fixes 3845, 3855, 3857 2013-10-29 14:42:24 -04:00
jwsimpson e3c48f5dbd adding check for -n to 2.8.3 2013-10-29 11:39:53 -04:00
lissav a4ec5d2e92 3865,3864 2013-10-29 11:07:02 -04:00
ligc 1dfb366a1b temp fix for bug 3792: multiple nics in the same subnet, use the first nic that in the subnet for dhcp 2013-10-29 10:46:17 +08:00
John Simpson 4366fd508a update to configfpc to add support for verbose and -i <int_adapter> option and a ping verification 2013-10-28 16:14:27 -04:00
Jarrod Johnson 2aee379b84 Add formatdisk to esx plugin, to be called by mkstorage 2013-10-28 16:07:06 -04:00
John Simpson 7e1b001ea4 configfpc updated to exit when a MAC address cannot be resolved to an FPC node definition 2013-10-28 16:00:56 -04:00
John Simpson fc64737727 configfpc updated to exit when a MAC address cannot be resolved to an FPC node definition 2013-10-28 15:48:43 -04:00
Jarrod Johnson bf79f4ea50 Fix stateless esxi warning about ssh 2013-10-28 10:45:00 -04:00
Jarrod Johnson 06cd041d4c Suppress warnings about ssh/tech support shell 2013-10-28 10:43:49 -04:00
yinle 862c94cbd1 Add AIX check in confignics 2013-10-28 04:46:25 -07:00
jjhua b1c7fda43c move setup_openstack_repo from xCAT/postscripts/ to xCAT-OpenStack/postscripts, and it will be packed into xCAT-OpenStack package 2013-10-28 10:58:45 -04:00
jjhua 2cb204a14a remove the print Dumper() 2013-10-27 16:17:55 -04:00
wanghuaz c1147d3e08 fixing bug 3821 give better description for chkkitcomp 2013-10-26 00:22:08 +08:00
John Simpson 300113c21a update to add the configfpc man page 2013-10-25 12:17:17 -04:00
lissav 0b18242922 defect 3859 2013-10-25 08:27:59 -04:00
immarvin 8c4b0edc52 fix defect #3694 [PCM] Showing booting status always for NGP X node status after power reset: update site.status during normal diskful reboot 2013-10-25 00:23:55 -07:00
jjhua 0a80486708 add a new postscript configbr-ex to configure the external bridge for Cloud 2013-10-25 14:48:59 -04:00
jjhua 63573b4138 Merge branch '2.8' of ssh://jjhua@git.code.sf.net/p/xcat/xcat-core into 2.8 2013-10-25 14:47:00 -04:00
jjhua b21ee18901 add a new postscript configbr-ex to configure the external bridge for Cloud 2013-10-25 14:45:37 -04:00
zhaoertao ecf7b06d5a fix bug 3856: rmvm could remove cec 2013-10-24 23:30:54 -07:00
zhaoertao 0059b61600 fix bug 3850: "chtab key=fsp,username=HMC ..." doesn't work for Powerlinux 2013-10-24 22:57:58 -07:00
yinle 6dd853fc65 Add check in configeth to give message to AIX user. 2013-10-25 05:05:38 -07:00
yinle 59ba6304fd Add lsslp support for IMM2. 2013-10-25 02:34:36 -07:00
lissav 6f1d4d616f defect 3851, further enhancements 2013-10-24 08:07:31 -04:00
Chuck Brazie 736bcf95bb Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-10-24 07:29:13 -04:00
lissav 713c85179f defect 3851, further enhancements 2013-10-24 07:15:58 -04:00
lissav 95fff778c2 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-10-24 06:46:06 -04:00
daniceexi bb5c8469c7 defect 3789: fixed the issue that xcatdebug command kill the xcatd ssl listening process. The fix is that just remove the handling debug message from plugin modules since xcatd loads plugin modules for each command run, don't need xcatdebug for plugin any more. 2013-10-24 10:42:39 -04:00
lissav 14331df196 defect 3851, further enhancements 2013-10-24 06:45:23 -04:00
zhaoertao ffe7ccbf3b fix bug 3820: rinv for feihu FPC is producing errors 2013-10-24 02:09:20 -07:00
daniceexi 9b89fdcc07 defect 3588: For rpower reset on kvm, in the case persistkvmguests is enabled, check the domain is inactive before resetting the domain 2013-10-24 08:59:03 -04:00
daniceexi 0c5aa5d8bf defect 3369: to add the flag -g for genimage command like for sles that make rh could handle the case that the kernel version is different with the name of kernel rpm when using -k to specify a new kernel version. 2013-10-24 08:05:29 -04:00
sjing 2ff2cfe4e2 Handle the case where networks.nameservers is a comma delimited list 2013-10-24 04:13:55 -04:00
zhaoertao 07ee30b7bb fix bug 3651: rspconfig with cmm does not execute or provide error when entry found in ipmi table 2013-10-23 23:44:04 -07:00
wanghuaz 14d49836f8 fixing bug 3848: add prerequisite component as dependency of kit component meta rpm 2013-10-24 14:45:38 +08:00
John Simpson 25ab6e5f52 update to configfpc to add support for verbose and -i <int_adapter> option and a ping verification 2013-10-23 17:01:35 -04:00
Chuck Brazie 180ed68679 zVM specific files 2013-10-23 15:40:25 -04:00
daniceexi 969244bbe9 change the position to run localdisk script that put it before killing udev. For stateless only. 2013-10-23 15:07:02 -04:00
jjhua 66ea7851a6 add the ./sbin/makeclouddata command in xCAT-OpenStack package 2013-10-23 22:29:58 -04:00
jjhua 3e71121c3f Merge branch '2.8' of ssh://jjhua@git.code.sf.net/p/xcat/xcat-core into 2.8 2013-10-23 22:10:53 -04:00
jjhua 7057cd4439 change loadchefdata to loadclouddata; move the code related to read from cloud/clouds table from Postage.pm to Cloud.pm in xCAT-OpenStack 2013-10-23 22:08:52 -04:00
daniceexi 78c6150219 add more kernel modules of scsi for localdisk support 2013-10-23 14:00:09 -04:00
lissav 68649e7ee1 defect 3851- handle multiple MN in DB 2013-10-23 13:23:37 -04:00
Jarrod Johnson 93dd1e0e68 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-10-23 11:03:17 -04:00
Jarrod Johnson 46cab0033d Have fsm server build drop seqdiscovery incurred requirements 2013-10-23 11:02:31 -04:00
immarvin a8cbfbff02 correct xcat-yaboot in error message to yaboot-xcat 2013-10-22 05:10:07 -07:00
immarvin 8519f75881 fix defect #3626 yaboot.pm needs to use pkgdir 2013-10-22 04:54:50 -07:00
immarvin 4d4b18ce31 fix defect #3626 yaboot.pm needs to use pkgdir 2013-10-22 00:51:50 -07:00
jjhua 99dba1777a Add the chef-client to invoke the config_chef_client script 2013-10-22 14:33:58 -04:00
jjhua f87877d2fb fixed a minor problem 2013-10-22 13:24:04 -04:00
jjhua bfbb333379 changes for the command makeclouddata 2013-10-22 10:47:28 -04:00
jjhua 3e51471614 Postscripts for OpenStack-Chef-cookbook/xCAT integration 2013-10-22 09:52:58 -04:00
jjhua d659213d9b code for OpenStack-Chef-cookbook/xCAT intergration 2013-10-22 09:42:15 -04:00
lissav 47a29edaf8 defect 3819 2013-10-21 11:27:35 -04:00
Jarrod Johnson daceb8d876 For newer versions of esxi for which we have selected a less vague name, ensure we remake it every time. 2013-10-21 10:44:15 -04:00
zhaoertao 53ba1913c4 fix bug 3774 :getmacs <noderange> -D -V failed 2013-10-21 02:51:36 -07:00
xq2005 ec3d146259 delete 127.0.1.1 from /etc/hosts on ubuntu compute node 2013-10-21 01:10:39 -07:00
John Simpson 0b0c923519 Adding a new plugin confgifpc to support discovery and configuring of NeXtScale FPCs 2013-10-18 16:13:52 -04:00
nott 84c818fbc6 check return from find_latest_pkg 2013-10-18 07:53:38 -04:00
nott 3003110003 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-10-18 07:52:51 -04:00
nott 0b7a707179 check return from find_latest_pkg 2013-10-18 07:51:50 -04:00
lissav 47a5a4c536 defect 3844 2013-10-18 07:42:10 -04:00
lissav 0ea77b281a defect 3841 2013-10-18 07:22:38 -04:00
immarvin 72de3aedfb fix defect #3843 copycds complains Use of uninitialized value in numeric eq (==) at /opt/xcat/lib/perl/xCAT_plugin/esx.pm line 148. 2013-10-18 02:38:17 -07:00
immarvin 92b9ca4b9e fix defect #3843 copycds complains Use of uninitialized value in numeric eq (==) at /opt/xcat/lib/perl/xCAT_plugin/esx.pm line 148. 2013-10-18 02:24:36 -07:00
immarvin 4fc4988238 fix defect #3370 Create osimage definition for the Management Node 2013-10-18 01:55:17 -07:00
ligc 3e8f68fe7f fix for bug 3841: syntax error in remoteshell postscript 2013-10-18 15:57:34 +08:00
ligc b4dce6b70f Update Clouds table for xCAT-OpenStack 2013-10-18 15:54:20 +08:00
nott 59e57a1e84 add -F option to lskit man 2013-10-17 15:19:26 -04:00
nott c6a0e6d4e5 add -F option to lskit 2013-10-17 15:00:19 -04:00
lissav 46c9d5d788 additional flowcontrol error handling defect 3819 2013-10-17 11:43:56 -04:00
lissav cad8c86a6b enhance error reporting 2013-10-17 11:03:19 -04:00
xq2005 f89163a501 add env parameters in runxcatpost 2013-10-17 02:20:12 -07:00
zhaoertao 4a48117c42 fix bug 3835: 'rspconfig blade network=*' result need to be enhanced 2013-10-16 23:49:51 -07:00
xq2005 201427c9de bug 3801: the booted status after syslone reboot 2013-10-16 20:13:44 -07:00
nott d155c8c68a add build_input subdir to complete kit 2013-10-16 15:02:11 -04:00
xq2005 0868963ef6 bug 3801: the booted status after syslone reboot 2013-10-16 08:44:06 -07:00
zhaoertao 56636cf4e8 fix bug 3834: 'lsslp -s CMM -w' write different id for cmm01 with 'rscan cmm01 -u' 2013-10-16 02:31:38 -07:00
zhaoertao e1ba890613 modify the operating for CMM doesn't rely on 'id' attribute 2013-10-16 02:20:54 -07:00
zhaoertao 62f367a8ab modifying 'rscan -u|-w' for working through DFM 2013-10-15 19:38:18 -07:00
Bruce Potter 856b80e2a1 remove xcat.1.pod, it is generated by xpod2man 2013-10-15 21:09:17 -04:00
Bruce Potter 9c14ddc07d require perl-IO-Stty on x86_64 too, in case managing ppc64 nodes 2013-10-15 20:46:16 -04:00
lissav b089d456d7 defect 3819, changes for xcatdsklspost and setuppostbootscripts 2013-10-15 10:19:42 -04:00
lissav 12c91fbc60 defect 3819 enhance -s behavior 2013-10-15 09:03:23 -04:00
lissav e39dbcd055 defect 3819 2013-10-15 08:13:35 -04:00
wanghuaz d65ae4c854 fixing bug 3510 remove useless repos after genimage 2013-10-15 17:53:34 +08:00
ligc a5c16ad171 sequential discovery phase 2: add -n, osimage and -s flags 2013-10-15 15:59:47 +08:00
wanghuaz bd27ca23be fixing bug 3821, use better description for chkkitcomp command 2013-10-15 15:40:10 +08:00
ligc 2486f856c3 fix for bug 3833: if ip forwarding is not enabled, do not use the MN as gateway 2013-10-15 09:50:13 +08:00
nott 3414416d01 change pkgdir description 2013-10-14 10:19:29 -04:00
xq2005 c8fbcc8541 for bug 3817 modification 2013-10-14 04:30:43 -07:00
xq2005 6bb48f05a9 bug 3817: sysclone support rhels 5.9 2013-10-14 03:49:38 -07:00
Sheng Feng Xing f8f872641b Do not import lpar node if FSP network associated with it 2013-10-14 15:02:17 +08:00
jjhua 6c9234df79 fixed bug 3683. In rhels 6.x, the mksquashfs doesn't have the -le and -be options. 2013-10-14 12:30:07 -04:00
nott 82157e991e change kit framework to 2 2013-10-13 10:35:51 -04:00
nott 020a114452 change kit framework to 2 2013-10-13 10:33:57 -04:00
nott c902672c60 add -v and aix note 2013-10-12 12:50:55 -04:00
nott cf42c4e10b add -v and aix note 2013-10-12 12:47:49 -04:00
Bruce Potter bd094db1b4 filter out signing msg in build script 2013-10-11 17:43:08 -04:00
Bruce Potter c85e2b60a4 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-10-11 17:30:57 -04:00
Bruce Potter 9972e77adb set group for files/dirs to root instead of xcat, because the xcat group does not exist on users mn 2013-10-11 17:29:12 -04:00
nott a1179f3018 add framework to -v and check for aix 2013-10-11 16:37:24 -04:00
Jarrod Johnson 0257de0ef2 Rework previous changeset somewhat and add gateway support 2013-10-11 14:58:22 -04:00
Jarrod Johnson e60f695efb Attempt to set ip and netmask remotely 2013-10-11 14:58:17 -04:00
Bruce Potter dc2afed5c1 updated description of useflowcontrol attr 2013-10-11 13:32:53 -04:00
lissav c026a3d7fe defect 3819 2013-10-11 07:16:43 -04:00
lissav 316b58bd88 defect 3819 2013-10-11 06:42:47 -04:00
immarvin 09c4277002 fix defect #3830 [DEV] rinstall complains inappropriate message 2013-10-11 01:11:39 -07:00
lissav 83eb5d2628 defect 3819 2013-10-10 14:52:38 -04:00
lissav b96e107a7c defect 3819 2013-10-10 13:42:47 -04:00
lissav 410217ac31 defect 3819 2013-10-10 11:22:18 -04:00
lissav 56f75cc342 defect 3823 2013-10-10 09:07:45 -04:00
xq2005 47200ff1c8 build ubutnu packages for prega 2013-10-10 02:57:06 -07:00
Jia Zhao 3c5b618ff0 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-10-10 15:27:41 +08:00
Jia Zhao 6a3bdba935 fix nodeimport message problem 2013-10-10 15:26:29 +08:00
Bruce Potter cb77ac92d7 fix setversionvars command not found problem during promote 2013-10-09 19:55:40 -04:00
lissav 09dc9a129e defect 3819 2013-10-09 15:23:47 -04:00
lissav cd79e33f7c defect 3819 2013-10-09 13:43:45 -04:00
lissav ded2be133e defect 3760 2013-10-09 12:17:42 -04:00
lissav 066696686f defect 3816 2013-10-08 15:31:17 -04:00
jjhua 90c24d0ff7 fixed bug 3796. At the end of genimage, remove the repositories of zypper. 2013-10-08 16:38:48 -04:00
xq2005 80deb78f25 bug 3808: error info when running confignics 2013-10-08 01:42:55 -07:00
xq2005 7ec38c7be8 bug 3809: get the dhcp info from lease file 2013-10-07 22:59:22 -07:00
Jarrod Johnson 8d68a17dec Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-10-03 15:40:18 -04:00
jbjohnso 8521b46ab2 Add information about IBM backup firmware to rinv
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@17017 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-10-03 15:40:08 -04:00
nott 3790ae7b65 add find_latest_pkg 2013-10-02 14:24:24 -04:00
nott 37d616d5fb pkgdir support 2013-10-02 14:22:02 -04:00
nott b117fb3dbc pkgdir support 2013-10-02 11:50:35 -04:00
nott 57b6ff1af7 add find_latest_pkg 2013-10-02 11:32:00 -04:00
nott fb71204859 support multi pakage dirs 2013-10-02 11:29:07 -04:00
lissav 5392fb7e34 defect 3797 2013-10-02 09:12:29 -04:00
lissav 83308c89e4 defect 3811 2013-10-01 08:22:07 -04:00
John Simpson 6dec17db73 Add support for missing NeXtScale sensors 2013-09-30 17:09:29 -04:00
lissav 1fa9bdb32f temp fix for defect 3797, at least get it working on SLES 2013-09-27 09:56:45 -04:00
xq2005 4dd43607b8 ubuntu 13.04 stateful support 2013-09-27 02:57:55 -07:00
xq2005 daab6a0cde ubuntu 13.04 stateful support 2013-09-27 02:51:23 -07:00
daniceexi efd7d6eadb defect 3803: appending the default drvier list even new driver is specified in netdrivers attr; change the output message of genimage 2013-09-27 01:57:59 -04:00
xq2005 9a9705a1bf bug:3804 2013-09-26 19:31:06 -07:00
daniceexi 9dcd216ac1 check in the code to support the driver injection for stateless: 1. genimage will copy the generated initrd to /tftpboot;2. support nodeset --noupdateinitrd 2013-09-26 03:07:46 -04:00
lissav 6e14118bcd sync back up 2.8.3 and 2.9 2013-09-25 08:13:00 -04:00
lissav 3d31d5f112 defect 3800 2013-09-25 08:07:16 -04:00
lissav 8b6feb6b30 add /install/custom directory 2013-09-25 07:23:16 -04:00
daniceexi f1976a7b99 defect 3783: add the missing driver for sles11.3; fix the bug of adding new drivers with incorrect order 2013-09-25 02:05:39 -04:00
daniceexi 089855bcd2 defect 3779: change the output of driver injection to make it sensible 2013-09-25 01:52:45 -04:00
Jarrod Johnson 239add6be2 Revert "Phase 1 of SVC plugin implementation"
This reverts commit 203d7025ad.
2013-09-24 21:04:02 -04:00
Jarrod Johnson 203d7025ad Phase 1 of SVC plugin implementation
This commit is able to create storage in an existing mdisk grp.

It hardcodes the iogrp to 0 for now.  The next step is to make hosts and vhostmap.
mkhost -name <name> -hbawwpn <wwpn> -force

And then map them together:
mkvdiskhostmap -host <host> -force <vdisk>

If boot, store the wwn into storage.osvolume for future use.

Commands to do:
attachstorage
detachstorage
showstorage
rmstorage

suspect frontending:
lsmdiskgrp to show state of avail space
will be appropriate
2013-09-24 20:58:48 -04:00
lissav 1141e9cd7d defect 3799 2013-09-24 10:24:49 -04:00
xq2005 f4296702e2 bug 3798: confignics -s failed on sles11 sp3 2013-09-24 02:16:39 -07:00
lissav 3583d5b59d defect 3618 2013-09-23 12:01:35 -04:00
xq2005 4934dba5ea confignics modification for syntactics 2013-09-23 02:56:23 -07:00
Sheng Feng Xing e651a540d7 Commit new nodeimport man page into 2.8 branch for Power rack-mount node support 2013-09-23 15:29:30 +08:00
xq2005 8bcf0a8717 bug 3795: node can not boot after cloning sles11.3 with legacy mode 2013-09-23 01:08:58 -07:00
Sheng Feng Xing e342bd876c Merge PowerLinux 7R2 support patches into 2.8 branch 2013-09-23 14:31:43 +08:00
wanghuaz 2b453aea6f Fixing bug 3406, using md5 hash algorithm for centos 5.x during createrepo 2013-09-23 11:02:12 +08:00
wanghuaz 2433281aa5 Fixing bug 3406, using md5 hash algorithm for centos 5.x during createrepo 2013-09-23 10:36:59 +08:00
xq2005 99f1ac8b79 bug 3794 2013-09-22 00:58:55 -07:00
Sheng Feng Xing c9508a7966 Fix #3793: CFMUtils.pm can not sync-up symbolic link directory under cfmdir 2013-09-22 14:29:44 +08:00
Jarrod Johnson 75bb52802e Add support for esxi5.5 2013-09-19 15:57:23 -04:00
lissav 80d3424855 defect 3150, check for errors from DB. We can do itgit diff tabutils.pm 2013-09-19 13:04:40 -04:00
lissav caed010c3d defect 3580 2013-09-19 10:46:36 -04:00
lissav 84b503a443 defect 3785 2013-09-19 07:36:16 -04:00
lissav 39c66d052f document xcatmaxbatchconnections update 2013-09-18 14:25:51 -04:00
lissav 5f0da1b2de document xcatmaxbatchconnections, try 2013-09-18 14:08:34 -04:00
lissav 76edfcf670 defect 3785 2013-09-18 13:41:16 -04:00
lissav 5d02531baa fix extra output on -k interface 2013-09-18 08:20:28 -04:00
lissav a0370be23f update database immediately for defect 3785 2013-09-18 06:53:42 -04:00
ligc f79ec9bdbd fix for bug 3748: lsdef --osimage need to list all osimage attributes 2013-09-18 13:46:34 +08:00
ligc 44f26b478d fix bug 3745: makehosts -d to delete otherinterfaces hosts 2013-09-18 07:56:13 +08:00
Jarrod Johnson 777c00e8d4 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-09-17 17:27:02 -04:00
Jarrod Johnson 7754845c7c Fix pasu with multi-node eX5 systems 2013-09-17 17:26:36 -04:00
lissav 9a64ca9b84 fix defect 3786 2013-09-17 12:19:52 -04:00
lissav 1e3fa1a1e9 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-09-17 12:14:37 -04:00
lissav 5e728c73a1 fix for defect 3785(PCM) requirement 2013-09-17 10:36:12 -04:00
zhaoertao 74d5d437d5 enhancement of supporting partition on IBM power 7R1/7R2 machines. 2013-09-17 07:18:22 -07:00
xq2005 af6b21edb0 bug 3763:write install nics's configuration file 2013-09-17 00:48:22 -07:00
litingt 4bbda3998f confignics test case part one 2013-09-16 23:31:20 -04:00
Sheng Feng Xing de3184b24a Fix #3784: CFMUtils.pm reports error messages in Verbose model if osimage.cfmdir is not set 2013-09-17 10:23:38 +08:00
lissav 219badd6f2 defect 3781 2013-09-16 09:27:45 -04:00
xq2005 77ea7d4e41 bug 3776: post install script hung when deploy rhels5.9 2013-09-16 01:50:23 -07:00
zhaoertao 431470e035 Enhancement of fixing for bug 3780: Incorrect password selected for blade 2013-09-15 23:15:34 -07:00
immarvin 1ca9533e61 add fedora19 diskful install support 2013-09-14 07:36:58 -07:00
lissav 7db86eedff add support for -a (addrows) flag 2013-09-13 14:13:44 -04:00
lissav d8e840bafd add support for -a (addrows) flag 2013-09-13 13:58:52 -04:00
lissav e861a7c0a9 add support for -a (addrows) flag 2013-09-13 13:57:32 -04:00
lissav 42af194434 defect 3750 2013-09-13 08:00:12 -04:00
xq2005 643952493a setupntp do not return directly 2013-09-13 02:06:56 -07:00
zhaoertao 5653f343a3 fix bug 3780: Incorrect password selected for blade 2013-09-13 00:44:47 -07:00
lissav 1b5cf5e044 defect 3750 2013-09-12 09:24:20 -04:00
lissav ffc621cf29 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-09-12 08:15:13 -04:00
lissav 4082f1da22 add -t info 2013-09-12 07:56:39 -04:00
xq2005 7c29fd4757 confignics modify -s option 2013-09-11 23:51:05 -07:00
Jarrod Johnson e1635a9b48 Implement rflash support for NeXtScale Enclosure manager 2013-09-11 14:33:46 -04:00
lissav f58a3f2f9a defect 3766 2013-09-11 08:54:22 -04:00
lissav 817f8ce411 defect 3778 2013-09-11 07:13:59 -04:00
zhaoertao f1dc5da446 Modifications of setting memory for partitions on Power Machines 2013-09-11 02:43:02 -07:00
xq2005 4f91b33757 bug3767:Target node doesn't return 'booted' status in sysclone 2013-09-11 03:16:51 -07:00
xq2005 031bc1e3bd bug 3755, No way to setup CN hardware clock 2013-09-11 03:10:15 -07:00
sjing 8b8b932213 Enhance usability of makedns with more checks and better messages. 2013-09-11 05:31:27 -04:00
daniceexi 9704a7b176 defect 3759: fix the man page for power 6 that attributes syssbpower,sysIPLtime were not in the command line list 2013-09-11 08:48:24 -04:00
lissav 716bb97084 fix defect 3777 2013-09-10 14:21:54 -04:00
lissav 815e2d6583 add centos6 2013-09-10 09:12:55 -04:00
xq2005 dbcab937da fix the postinst script for xcat-server on ubuntu 2013-09-10 02:25:58 -07:00
wanghuaz 3e0d22db7c fixing bug 3764, add osminor version for sles. 2013-09-10 14:51:45 +08:00
wanghuaz 01c3a1070d enable snmpv3 monitrong on 2.8 2013-09-10 13:52:07 +08:00
zhaoertao 5205218f1a Add a column 'physlots' for 'vm' table, it is used for partitioning. 2013-09-08 23:29:06 -07:00
xq2005 84e9d74314 bug 3765 2013-09-08 23:57:05 -07:00
Jarrod Johnson 464c4b0d3c Provide rpower reseat for NeXTScale 2013-09-06 11:17:32 -04:00
nott a96f96e2d4 #3655 - oops - remove dup subroutine 2013-09-05 13:11:06 -04:00
nott 0fe302f9e8 #3655 - add two new subroutines for comparing rpm versions 2013-09-05 12:53:35 -04:00
nott 7ad12aba70 #3674 - add error return code 2013-09-05 12:32:38 -04:00
nott d9e9515cf5 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-09-05 11:06:02 -04:00
nott 91d27eb358 #3752 - change tmp work dir location 2013-09-05 10:56:49 -04:00
zhaoertao 890555235e Modify manpage for mkvm, lsvm, rmvm. And checking if parition is disabled. 2013-09-05 01:07:45 -07:00
zhaoertao f0c6bcdbad Supporting full-partition and physical-partition with DFM 2013-09-04 23:27:28 -07:00
xq2005 115aef46f3 bug 3768,3769,3770 2013-09-04 20:56:50 -07:00
ligc 53209a79d1 add the storage.rhels6.pkglist 2013-09-05 09:56:42 +08:00
sjing e1603a0242 add an error message if mn's hostname can not be resolved. 2013-09-04 05:48:40 -04:00
xq2005 552063ef57 for bug 3762 2013-09-04 02:46:23 -07:00
Bruce Potter 6483bbc18e specify --checksum for createrepo so the repo will work on rhel5 2013-08-31 11:07:01 -04:00
ligc 70c9b7c583 add rhelhpc6.4 support 2013-08-30 09:09:43 +08:00
lissav 3c86356e3b add timeout support to updatenode to pass into xdsh 2013-08-29 13:52:46 -04:00
lissav 5a09a9b34a add timeout support to updatenode to pass into xdsh 2013-08-29 13:45:24 -04:00
lissav 28fba7f066 implement timeout in xdsh -K 2013-08-29 09:11:14 -04:00
lissav ac79179400 more code to enable user input timeout on xdsh -K 2013-08-29 07:59:02 -04:00
xq2005 e91888a79b add syscloneimgupdate scripts to update the target nodes files 2013-08-29 03:01:10 -07:00
lissav 1a5b1e9086 add support to supply expect timeout 2013-08-28 13:06:56 -04:00
lissav 0fa516df77 add check for servicenodes and computenodes in noderange for nodeset. Also remove very old commented out code defect 3750 2013-08-27 13:12:19 -04:00
lissav 25b028a5fd add check for servicenodes and computenodes in noderange for nodeset. Also remove very old commented out code defect 3750 2013-08-27 12:51:50 -04:00
Bruce Potter f4ddcdb9de fix bld script change 2013-08-27 12:49:33 -04:00
Bruce Potter 2374e40b4e Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-08-27 12:36:41 -04:00
lissav cae2da8eba add check for servicenodes and computenodes in noderange for nodeset. Also remove very old commented out code defect 3750 2013-08-27 12:24:02 -04:00
Bruce Potter e313b49839 change git cmd used to get current branch 2013-08-27 11:25:29 -04:00
lissav 80e8c21af7 fixes for defect 3750 2013-08-27 09:46:55 -04:00
xq2005 9c0032b3c1 sysclone support sles11 on uefi mode 2013-08-26 20:55:11 -07:00
lissav 624fce5e4d changes for defect 3758 git patch 2013-08-26 11:10:35 -04:00
xq2005 814974aaa8 sles.pm mksysclone for sles 2013-08-26 00:17:08 -07:00
lissav 1810107998 add additonal ethernet setup 2013-08-24 06:31:21 -04:00
daniceexi 045011b168 kill the child processes when create socket failed 2013-08-23 06:43:09 -04:00
xq2005 67a663131e add mksysclone in sles.pm 2013-08-22 23:30:45 -07:00
xq2005 6853cbc89f postscripts modification for sysclone on sles 2013-08-22 23:00:08 -07:00
Jarrod Johnson cb9794ccdb Correct more issues with noderange 2013-08-22 14:35:41 -04:00
lissav 9b3f5a15d0 fix schema definition 2013-08-22 12:04:11 -04:00
daniceexi 2b0caf0346 make geninitrd could run against statelite image to generate initrd 2013-08-22 07:06:22 -04:00
daniceexi 62ee471f89 Remove the validity checking base machine type so that any power machines can be run with renergy command 2013-08-22 06:34:15 -04:00
xq2005 19a77111f6 remove klogd from genesis base 2013-08-21 19:51:35 -07:00
lissav e6f7e461e4 defect 3754 2013-08-21 12:54:41 -04:00
xq2005 56cab3f2c8 build packages on ubuntu 2013-08-21 09:49:09 -07:00
xq2005 adf53e32cd add reiserfs into genesis to support sysclone for sels 2013-08-21 09:10:16 -07:00
xq2005 77bcb15656 add kvm pkglist and template for ubuntu 2013-08-21 07:36:46 -07:00
xq2005 ef7fe69e19 modification for builing xcat on ubuntu 2013-08-21 03:11:04 -07:00
Jarrod Johnson 67a7fab655 Fix problem where values after parenthitcal group were not evaluated correctly 2013-08-20 15:36:07 -04:00
wanghuaz b81e4cee2d sync the bug fix for 3746 and 3721 from master to 2.8 branch. 2013-08-20 23:32:12 +08:00
lissav c93aeba53c fix defect 3750 2013-08-20 10:22:32 -04:00
xq2005 c057f231a0 postscripts modifiction about sysclone supporting for sles on 2.8 2013-08-20 02:12:07 -07:00
xq2005 5eaaf7369c add debianpreconf into xcatlib.sh on 2.8 2013-08-19 23:52:29 -07:00
lissav 0bdae5e4c4 fix pid files did not get removed and the kill term showing up 2013-08-19 13:29:11 -04:00
Bruce Potter 37118daaf9 add --nonodecheck to the psh usage and man page 2013-08-17 11:50:50 -04:00
lissav a9acb42b1e add flow control 2013-08-16 07:05:32 -04:00
lissav b3cf456fae flow control 2013-08-16 06:58:10 -04:00
immarvin 7dd70c12d2 update the nodelist.status to installing/netbooting via feedback from node during provision 2013-08-16 00:06:25 -07:00
zhaoertao f2b4b14a53 The item of updating pre-defined groups for nodes 2013-08-15 23:27:38 -07:00
daniceexi 11b99248a9 Enchancement for drvier injection to initrd: 1. add the updateonly keyword for netdrivers att that only update the existed drivers from new distro update instead of copying all the drivers, this is helpful to reduce the size of new built initrd; 2. the drivers for old kernel will be removed if there's new kernel will be used. 2013-08-16 01:26:06 -04:00
Jarrod Johnson 8600f159b0 Default in user/password in the same way that ipmi works in plugin 2013-08-15 11:35:51 -04:00
lissav c03f4d202f fix syntax 2013-08-15 07:34:01 -04:00
lissav 88914d3493 new man page for xcatconfig -t 2013-08-14 09:55:29 -04:00
lissav a2a9dc9efd setup interface for setting tunables 2013-08-14 09:48:02 -04:00
Jarrod Johnson 4cdeeb0b22 Correct spelling mistake in xCAT-genesis that got in the way of interface bring up 2013-08-14 08:58:41 -04:00
Bruce Potter 5ca816b0c4 fix bld script to put rpms in release specific place 2013-08-13 18:29:42 -04:00
Jarrod Johnson 529597d3c1 Try to bring up extra interfaces for discovery 2013-08-13 13:29:00 -04:00
Jarrod Johnson 08f4ed81e5 Add support for rinv and faster DDR3 dimms 2013-08-13 10:13:06 -04:00
Jarrod Johnson d6ce28f954 Fix ipmi FRU parser to give up once malformed data is encountered 2013-08-12 16:04:41 -04:00
Jarrod Johnson 16be3f4902 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-08-12 15:08:57 -04:00
Jarrod Johnson 1808cbf129 Correct IPMI breakage from previous commit that removed ipmi2support scope 2013-08-12 15:08:26 -04:00
lissav 6969c52f82 defect 3731 2013-08-12 13:53:38 -04:00
lissav 09bf36a323 Defect 3731 2013-08-12 12:56:50 -04:00
daniceexi 1b5ff23093 Add usage message and manpage for geninitrd command; Add --noupdateinitrd flag for nodeset manpage; Make geninitrd to check the provmethod if no image name is specified 2013-08-12 11:24:04 -04:00
xq2005 73ab8e8a7f add comments in anaconda.pm 2013-08-12 02:59:17 -07:00
Jarrod Johnson 0995a924dc Do sparse allocation for non-lvm raw format images 2013-08-09 10:31:26 -04:00
xq2005 311d3aafac fix symbo error 2013-08-09 01:21:00 -07:00
immarvin d948f8c69e fix defect 3734 makehosts throw exceptions when node ip is not illegal 2013-08-08 21:27:01 -07:00
immarvin 368d0d1e83 fix defect 3734 makehosts throw exceptions when node ip is not illegal 2013-08-08 21:03:39 -07:00
Jarrod Johnson 18db706c89 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-08-08 16:26:53 -04:00
Jarrod Johnson 020889ad3c Implement vm.storagecache and vm.storageformat
It has been requested to make these tunables available since different storage schemes
can benefit greatly from them
2013-08-08 16:26:00 -04:00
daniceexi 76a47d856c defect 3703: make the configmic and flashmic could get the correct hostname on the host node 2013-08-08 13:00:37 -04:00
daniceexi 4225daa29f defect 3703: to support command [nodeset <node> osimage] when the provmethod has been set 2013-08-08 12:58:00 -04:00
ligc 3c874d9555 update test case lsdef_nics 2013-08-08 17:18:00 +08:00
ligc 839c6d85a3 add testcase lsdef_nics 2013-08-08 16:20:07 +08:00
ligc fbd772e8cd add testcase lsdef_t_h_i 2013-08-08 16:02:18 +08:00
ligc 92ec068fe4 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-08-08 16:01:32 +08:00
jjhua 68b4a0b5c7 fixed bug 3732, centos 5.x needs the url rpository 2013-08-08 14:41:41 -04:00
Jarrod Johnson 650928ad15 Fix for noderange parentheses handling 2013-08-07 16:59:49 -04:00
daniceexi 4e79b8d8d7 Merge branch '2.8' of ssh://daniceexi@git.code.sf.net/p/xcat/xcat-core into 2.8 2013-08-07 08:39:45 -04:00
daniceexi 67a48e2ee6 defect 3726: for the initrd of sles, the /modules in initrd should symbol link to the new kernel dir if there's new kernel dir 2013-08-07 08:36:41 -04:00
immarvin 5459cf6a60 fix defect 3719 [DEV] rcons fails when nodehm.mgt=kvm 2013-08-07 00:38:15 -07:00
yinqing 600ab740ae #220993 Can not import node by auto discovery switch and switch port. 2013-08-07 13:29:25 +08:00
yinqing 5f8d394346 #221180 There is no mechanism to prevent error message printed in kitimagepostdelete when disassociated kit with the image profile 2013-08-07 11:30:21 +08:00
linggao 6fb47b1d50 fixed defect 3729 imgexport does not honor rootimgdir 2013-08-06 20:21:03 -04:00
lissav 780fbaaad8 use MAXMIN routine 2013-08-06 12:15:26 -04:00
Jarrod Johnson 63edd565d1 Correct language in sensor decode 2013-08-06 10:57:26 -04:00
lissav 2bca640ffa fix bug 2013-08-06 09:44:52 -04:00
root cbb73b46a7 Merge branch '2.8' of ssh://jjhua@git.code.sf.net/p/xcat/xcat-core into 2.8 2013-08-06 16:19:40 -04:00
root e88a680e6b fixed bug 3706. When genimage, it generated the CentOS-Base.repo in the /etc/yum.repos.d, but the internet repositories were not enabled=0. disable it 2013-08-06 16:02:31 -04:00
immarvin 8921bc2734 fix defect 3245 2.8:return value of nodeset does not equal to 0 on ppc64 2013-08-06 00:53:30 -07:00
lissav df1c520161 add MAX/MIN function 2013-08-05 14:10:20 -04:00
lissav 861794f576 fix defect 3464 2013-08-05 10:36:29 -04:00
lissav d0411a285f fix defect 2959 2013-08-05 10:05:05 -04:00
lissav cf502073f4 fix defect 3479 2013-08-05 09:52:45 -04:00
lissav 0f0046ca9d add support for updatenode -g flag to generate mypostcripts files 2013-08-05 09:36:08 -04:00
Jia Zhao b7701969ed fix noderegenips scalability problem 2013-08-05 19:19:00 +08:00
xq2005 918bd4270a comment the useless apt repo in full installation on ubuntu 2013-08-05 02:22:35 -07:00
xq2005 3f56f0775e xhrm_satisfy getting vlan information from nics table 2013-08-05 01:50:29 -07:00
xq2005 56b6f4c1b2 xHRM support ubuntu/debian 2013-08-05 01:46:05 -07:00
xq2005 ecd518e31e import sha.pm on ubuntu instands of sha1.pm 2013-08-05 01:35:40 -07:00
xq2005 a7e3e9ec2a load sha.pm on ubuntu instand of sha1.pm 2013-08-05 01:26:15 -07:00
Lei Ai 008e72d316 initialize global variables to avoid Cannot re-provision the node which has been removed 2013-08-05 15:10:16 +08:00
xcat ubuntu build machine 1de09a51c9 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-08-05 03:08:56 +00:00
xcat ubuntu build machine 106dc7874a changes to build-ubunturepo for git repo 2013-08-05 03:08:50 +00:00
xq2005 bf183224c7 transfer the confignics and configeth to shell 2013-08-02 03:14:45 -07:00
ligc 4a2b39754f Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-08-02 13:46:52 +08:00
immarvin df9fa2b101 fix defect 3722: replace die with MsgUtils->message and exit 2013-08-01 19:26:14 -07:00
ligc 3847fe71c0 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-08-02 09:47:13 +08:00
linggao 4a91bb39cc document tabdump -n 2013-08-01 12:17:05 -04:00
linggao a81d66c124 add tabdump -n for auditlog and eventlog 2013-08-01 12:07:30 -04:00
immarvin dab5a33b3f fix defect 3724 makehosts should report error/warning messages when entrys in hosts table are not correct 2013-08-01 01:23:45 -07:00
daniceexi 016a947428 Change the insert_dd function for handling the initrd hacking. 2013-07-31 07:05:18 -04:00
ligc 79748cf356 fix README 2013-07-31 11:41:21 +08:00
ligc 85bf65876e Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-07-31 10:17:38 +08:00
ligc 8c2e36a02c this is a test 2013-07-31 10:16:58 +08:00
Jarrod Johnson f2fcf48b5d Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-07-30 09:16:26 -04:00
lissav f52348bc1a Update version to the next release 2013-07-30 13:16:25 +00:00
lissav 64d03a8212 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-07-29 14:12:56 -04:00
lissav 811a3eda65 Fix for defect 3717 2013-07-29 14:07:02 -04:00
Jarrod Johnson 9e71285c78 Merge branch '2.8' of ssh://git.code.sf.net/p/xcat/xcat-core into 2.8 2013-07-29 14:01:19 -04:00
lissav d3bf022de7 Update version to the next release 2013-07-29 18:01:13 +00:00
lissav 4bd8a0e020 Update version to the next release 2013-07-29 13:56:39 -04:00
bp-sawyers 3ddce5fb90 Update bld script for different git branches
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17035 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-29 15:36:37 +00:00
jbjohnso 52c1236f4e Fix problem where setting a string that happened to contain the letters 'NULL' somewhere would fail
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17033 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-26 19:17:10 +00:00
bp-sawyers d258f3a3c0 update build script to build from git
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17032 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-26 18:29:23 +00:00
simba372 143f106f7d 211979: [low rank][PCM4.1][unmanaged node]Failed to create unmanaged node with the length of device name which is less than three letters
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17027 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-26 09:37:43 +00:00
jbjohnso 29b94ff6a2 Revert "Add information about IBM backup firmware to rinv"
This reverts commit e518020aa4.

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17023 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-25 15:01:16 +00:00
sjing 0682ed07d3 Remove klogd binary since it's not included in mcp 7.3
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17020 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-25 01:39:08 +00:00
jbjohnso e518020aa4 Add information about IBM backup firmware to rinv
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17018 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-24 18:40:09 +00:00
bp-sawyers b67fcaed89 update xCAT-genesis-builder for mcp build - does NOT require rebuild of xcat 2.8.2
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17014 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-23 19:38:46 +00:00
lissav 0a55da08fe fix defect 3707
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17009 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-22 17:09:22 +00:00
chudegao 7b7085742f fix#220182,The node is not rebooted automatically while use new image profile during re-installation process
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17007 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-22 06:53:49 +00:00
asirxing 487daef0d6 Skip to add root relative information into CFM merge files
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17005 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-22 05:51:46 +00:00
jbjohnso f9533a6843 Fix problem where name resolution was used instead of certificate subject to identify 'trusted' peer
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@17003 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-19 13:25:51 +00:00
wanghuaz bc96478730 Fixing bug 3697: addkitcomp -a option works with pessl automatically makes a wrong perte/compiler order in postbootscript for diskfull installation. compiler's postinstall script should always run before perte's postbootscripts.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16986 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-17 08:35:06 +00:00
wanghuaz c0aeae7dd1 fixing bug 3653 on sles and ubuntu.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16984 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-17 02:55:13 +00:00
nott 7d90895a38 add check for sles10 and rh5
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16982 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-16 16:26:41 +00:00
bp-sawyers dd74f95007 Improve performance of makeconservercf - bug 3691
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16973 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-13 20:03:19 +00:00
phamt 465409982d Enlarged division width of bar chart so it could accommodate more data.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16971 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-13 14:10:26 +00:00
phamt 04d832ce3d Enhanced z/VM resources page with bar chart to show disk pool space.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16970 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-13 13:25:22 +00:00
daniceexi 9f8a9efc4b remove the checking of netdrviers so that geninitrd could handle the kernel,initrd copying to /tftpboot for general osimage
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16967 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-12 05:33:09 +00:00
daniceexi 6b26f84cf9 roll back the change in 16956,16959. I did not see the problem of last change. Just roll back and see what's going on of building process
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16966 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-12 03:00:47 +00:00
daniceexi a70323051f add the link for new command geninitrd
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16964 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-12 02:41:13 +00:00
zhaoertao 6996dc4f8a fix bug 3689: Modifying manpage for rspconfig and rscan
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16963 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-12 02:40:19 +00:00
daniceexi 77e5889721 Add the new plugin to handle the geninitrd command that regenerate (hack) initrd for stateful osimage
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16962 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-12 02:38:17 +00:00
daniceexi e9d378a484 Changed the insert_dd that the kernel will be updated from the new update distro.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16961 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-12 02:36:52 +00:00
lissav d17e10419d mkdir the mic directory to fix build
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16959 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 15:48:25 +00:00
jbjohnso 392472e328 Change bmcsetup to disable cipher suites 0 and 1 in the face of peculiar cipher suite support or enumeration
Also change to enable cipher suites 2 and 3 to facilitate sites without Rijndael

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16958 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 14:59:39 +00:00
lissav 32e5e85a08 fix defect 3687
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16956 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 14:52:37 +00:00
nott 3065b2d394 add call to updtvpkg in instoss
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16954 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 14:00:48 +00:00
wanghuaz 594d5ce981 Fixing a problem while adding multiple kits, several data structures are not initialized in last feature checkin. Updated the data structures and did strong UTs today. Open bugs tonight.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16952 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 10:02:25 +00:00
daniceexi f95c0026eb fixed a typo
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16951 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 08:31:44 +00:00
ligc f5d013dc48 fix for bug 3671: use autocommit => 1 instead of autocommit => 0 when opening a table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16949 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 08:19:00 +00:00
zhaoertao eb102a0d36 modify man page for "rspconfig <node> USERID=\*"
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16946 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 07:13:13 +00:00
daniceexi 570cd821e3 fixed the code to display error messages
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16944 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 07:01:51 +00:00
daniceexi b4a5ddf4dc two changes: 1. run mount -a anyway to make sure the osimage has been mounted from MN; 2. set the STDIN/STDOUT/STDERR to /dev/null so that mpss start can daemonized cleanly
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16943 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 06:45:27 +00:00
daniceexi c28fe1ef3b defect 3685: fixed the source path for link /opt/xcat/share/xcat/cons/mic
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16940 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 06:20:31 +00:00
wanghuaz a20d2ed496 Fixing a problem on sles that we need to use tar --wildcards option while extracting a file from kit tarball.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16939 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 05:24:13 +00:00
xq2005 965059d45c bug 3684, configeth on ubuntu/debian need File::Path
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16937 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 05:04:19 +00:00
xq2005 3f38f26761 bug 3684, configeth on ubuntu/debian need File::Path
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16936 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 03:22:07 +00:00
xq2005 223002d905 bug 3684, configeth on ubuntu/debian need File::Copy
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16935 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-11 03:12:04 +00:00
jjhua 35457cb9ac fixed bug 3682. In some case, the attribute BOOT_IMAGE added into the /proc/cmdline, using another method to get the nex-server value to fix this issue.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16930 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-10 09:07:38 +00:00
wanghuaz 39501e0b6c Fixing bug 3643: remove createrepo from buildkit spec and add error check while using it.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16929 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-10 09:07:25 +00:00
xq2005 cb8a813820 bug 3679, delete all ib nics' configuration files before configure them
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16927 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-10 09:06:42 +00:00
wanghuaz 624a45bfa3 Fixing bug 3669: passing envlist to yum upgrade command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16924 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-10 08:27:51 +00:00
xq2005 793cb090c4 bug 3678, does not display the error message
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16923 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-10 08:23:04 +00:00
phamt f099ffd1a5 Enable noderes.primarynic to be specified and used during nodeset.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16922 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-09 21:07:17 +00:00
lissav 49aad9e6bd fix 3668 Ubuntu also
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16920 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-09 16:41:25 +00:00
lissav 465c5471a0 fix defect 3668
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16918 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-09 16:30:51 +00:00
phamt 9524019f0b Fixed the target disk address to be the same as the source disk address in cloning.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16916 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-09 12:30:20 +00:00
phamt b12951579b Fixed the target disk address to be the same as the source disk address in cloning.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16915 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-09 12:26:42 +00:00
lissav 1d2391454e fix spelling
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16906 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-08 18:41:02 +00:00
phamt f15ce9f06e Disable IPL column if advanced tab is selected on xCAT-UI z/VM provision page.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16905 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-08 13:14:38 +00:00
xq2005 e5e7e4687d get the current configured static ip address in configeth
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16904 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-08 09:16:31 +00:00
xq2005 75bfe9b646 build the ubuntu packages
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16902 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-08 07:14:10 +00:00
xq2005 1144077591 build the ubuntu packages
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16901 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-08 07:10:42 +00:00
immarvin 8ea54a435f update node provision status based on the feedback of nodes instead of rpower/rnetboot for ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16899 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-06 13:41:38 +00:00
xq2005 42b3c0c596 get the timzone automatic on ubuntu/debian
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16896 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-05 07:11:28 +00:00
daniceexi 7ed707c67b defect 3673: fix a typo which affects the nodeset next
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16894 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-05 07:10:30 +00:00
xq2005 1bb5051da7 roolback to the last version
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16892 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-05 06:59:22 +00:00
xq2005 95226fa3a8 xCAT::TableUtils->enablessh in postage.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16890 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-05 06:16:41 +00:00
jjhua 23d64d7acc chef client/workstation installation based on the cfgmgt table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16888 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-05 03:28:53 +00:00
jjhua 55fc5d4064 modifiy the install chef server/client/workstation scripts and the mypostscript.tmpl to support the cfgmgt table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16886 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-05 02:17:44 +00:00
xq2005 b20ccd2905 add the double quote for --otherpkgdir option in genimage.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16883 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-05 01:58:14 +00:00
phamt b802a02442 Added option to select IPL device. Added more error handling.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16881 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-04 13:49:23 +00:00
wanghuaz 987d47a43d Fixed a potential problem with kitcomponent.prerequisite that in some cases prerequisite is not removed from KIT_RMPKGS.otherpkg.pkglist during addkitcomp.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16880 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-04 05:56:49 +00:00
daniceexi 19241bce05 Make nodeset can pass parameter --noupdateinitrd to mkinstall command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16877 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-04 05:17:03 +00:00
daniceexi e7f9eadd1e Make nodeset can pass parameter --noupdateinitrd to mkinstall command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16875 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-04 05:09:44 +00:00
daniceexi acc28bb0ed Enhance of initrd hack: Additional drivers loading from osdistroupdate and support the --noupdateinitrd for nodeset command to avoid the initrd hack
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16873 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-04 05:03:10 +00:00
mellor 1dd5758ff7 defect 3670 - add xcatd reload to post section for xCAT-OpenStack rpm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16872 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-03 15:31:59 +00:00
phamt 05778c7853 Simplified z/VM provision page by abstracting the creation of the user directory entry.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16870 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-03 14:27:36 +00:00
creativezj ca700dca54 fix nodeimport same ip error
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16869 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-03 14:05:03 +00:00
xq2005 fa4a8e6e28 use 'mac' by default if installnic and primarynic are not defined
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16867 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-03 07:59:12 +00:00
jjhua 90c22ee298 in some of the mlnxofedinstall script from Mellanox OFED iso, there is not --nodeps to uninstall the libibverbs package. But the new pe kits are depended on the libibberbs. So I add the rpm -e --nodeps --allmatches libibverbs in mlnxofed_ib_install to uninstall the libibverbs before invoking the mlnxofedinstall script
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16866 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-03 06:11:41 +00:00
daniceexi 10986247e3 To make the mount of /install check to be accurate.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16864 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-03 03:14:56 +00:00
phamt 559c75e567 Added option under rinv to collect z/VM user profile names.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16862 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-02 20:43:58 +00:00
phamt dc432e7139 Added option under rinv to collect z/VM user profile names.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16861 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-02 20:34:09 +00:00
immarvin 2e3dd4761e correct the return value of filter_nostatusupdate
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16860 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-02 08:06:36 +00:00
leiaibj 2b2d482aac Merge commit 16858 from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16859 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-02 02:36:49 +00:00
wanghuaz 1ef39d6ef8 Fixing bug 3409, added the handle for postscripts, missing in last checkin.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16856 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-01 10:17:28 +00:00
daniceexi 3260c52a35 defect 3660: display the correct message when run nodediscoverdef command defines a request a node which has not correct IP.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16854 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-01 09:10:18 +00:00
xq2005 ec54b30aa4 add changelog for building xcat-openstack on ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16852 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-01 07:59:21 +00:00
xq2005 804fd22cf2 change the source format into 1.0 on ubuntu/debian
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16851 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-01 07:53:40 +00:00
wanghuaz b58ab630a6 Fixing bug 3659: adjust the file order to work in some specific scenario
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16850 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-01 07:49:44 +00:00
xq2005 b27065d834 build xcat-openstack on ubuntu/debian
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16847 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-01 07:33:10 +00:00
wanghuaz e917ce1579 fixing several kit related bugs: 3657,3629,3409. the major change is now addkitcomp -a will add its dependency recursively, and in each level, it will check if the dependency fits to the osimage.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16841 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-07-01 02:24:15 +00:00
daniceexi 3ddb75d072 add symbol link from share/xcat/cons/kvm to share/xcat/cons/mic
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16839 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 04:38:55 +00:00
daniceexi 3724aed861 Code drop for Xeon Phi (mic) support. manage the image for mic.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16834 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 04:26:38 +00:00
daniceexi 4d3ee33232 Code drop for Xeon Phi (mic) support. The plugin to handle the rpower, rinv, nodeset, rcons commands for mic
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16833 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 04:25:58 +00:00
daniceexi 3910ec03e1 Code drop for Xeon Phi (mic) support. manage the image for mic.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16832 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 04:24:14 +00:00
daniceexi b08b9a3c77 Code drop for Xeon Phi (mic) support. Ron on host to flash the mic
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16831 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 04:23:20 +00:00
daniceexi f787c85ddc Code drop for Xeon Phi (mic) support. Run on host node to configure the mic (network,hostname,onboot,vlog)
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16830 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 04:22:22 +00:00
daniceexi 201f9895ed the permission has problem
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16829 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 04:19:27 +00:00
daniceexi 33693f8486 Code drop for Xeon Phi (mic) support. Run on host node to configure the mic (network,hostname,onboot,vlog)
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16828 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 04:18:19 +00:00
daniceexi 0f9d930de3 Code drop for Xeon Phi (mic) support. Add the usage message for mic
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16823 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 03:50:22 +00:00
daniceexi e20198b86b Code drop for Xeon Phi (mic) support. Add the mic table.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16822 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 03:49:31 +00:00
daniceexi 2959fea562 Code drop for Xeon Phi (mic) support. Add the rscan to scan mic from x86 host node
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16821 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 03:48:32 +00:00
daniceexi 7e90f3e8ea Code drop for Xeon Phi (mic) support. add the handling of tar format src to call the copytar command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16820 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-30 03:47:58 +00:00
phamt 9af0a72bfc Changed tabs to spaces. Fixed error in xcatconf4z script.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16819 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-28 18:14:52 +00:00
wanghuaz f570a29c5c Fixing bug 3653: with more than 9 new_install_list sessions in otherpkgs.pkglist, perl 'sort' take the integers as string, and so does not sort the order correctly
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16818 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-28 06:30:24 +00:00
jbjohnso 26e8951512 Restore xcatws understanding of existing code
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16816 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 19:09:17 +00:00
phamt 7ad5f1a53a Removed unnecessary use statement.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16814 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 18:59:34 +00:00
lissav a5e8f44514 Add they are not hierarchical
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16812 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 16:51:24 +00:00
lissav cb290f429d Add they are not hierarchical
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16811 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 16:39:30 +00:00
phamt 9f9c6d2c79 Fixed bug in xCAT-UI where empty inputs are not set as empty values in the policy table.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16810 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 15:25:13 +00:00
xq2005 aa9d9140d0 upload the promote tar ball to xcat/<version>.x_Ubuntu/
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16808 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 14:42:25 +00:00
lissav f4dca63e79 fix defect 3461
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16806 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 14:02:14 +00:00
xq2005 1c027a87d7 delete useless ip alias in configeth
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16805 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 13:51:51 +00:00
xq2005 0916af5577 delete useless ip alias in configeth
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16804 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 09:18:04 +00:00
ligc d4816f7159 fix for bug 3648: set xCAT::Client::EXITCODE=1 with error communication with the xCAT server seems to have been ended prematurely
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16802 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 08:22:32 +00:00
immarvin 4e54ba0682 add discinfo of centos5.9
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16800 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 08:12:00 +00:00
jjhua 396d8b304f defect 3598 , the compute.tmpl was only checked into trunk, and not in 2.8. Checked it into xCAT 2.8
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16799 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 07:22:26 +00:00
bp-sawyers c2afea1cb8 fix building of xCAT-OpenStack
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16798 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 07:03:45 +00:00
immarvin d7d330966d sync code with rh,add localdisk support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16796 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 06:15:56 +00:00
xq2005 b9377d7251 configeth support on ubuntu/debian
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16795 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 06:09:09 +00:00
immarvin d3846f47f8 add new dracut scripts to support status feedback
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16794 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 06:09:05 +00:00
immarvin 9c2a7d275b add new dracut scripts to support status feedback
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16793 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 05:51:04 +00:00
immarvin ec5be914c9 update node provision status based on the feedback of nodes instead of rpower/rnetboot
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16792 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 05:10:49 +00:00
immarvin 16e0d2179a update node provision status based on the feedback of nodes instead of rpower/rnetboot
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16791 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 04:59:44 +00:00
immarvin 869ae04a45 git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16790 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd 2013-06-27 04:55:39 +00:00
immarvin 80f923b96c update node provision status based on the feedback of nodes instead of rpower/rnetboot
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16789 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 04:24:17 +00:00
immarvin ef8b638460 add a subroutine filter_nostatusupdate to support updating provision status thru feedback instead of rpower/rnetboot
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16788 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 04:11:30 +00:00
zhaoertao de974743c9 delete internal information for rspconfig <celogin1>
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16786 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 03:23:36 +00:00
jjhua 5f97813937 accept Bruce's suggestion, not re-copy the hash every time. And it's really more efficient to have an inner foreach that just adds the keys to the hash
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16784 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-27 01:26:23 +00:00
mellor 3a5af60c3f build tool changes for new xCAT-OpenStack rpm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16777 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 18:50:51 +00:00
mellor c1bad5bcf6 files for new xCAT-OpenStack rpm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16776 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 18:48:02 +00:00
lissav 611a5ff463 fix defect 3641
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16774 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 18:08:14 +00:00
jbjohnso dbd453d0a6 Have rvitals avoid requesting the same sensor multiple times
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16773 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 17:26:16 +00:00
mellor 0ae570f73d add new cfgmgt table to xCAT database
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16771 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 15:36:33 +00:00
nott d80d963951 enhance msgs for cpcosi error
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16769 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 13:53:58 +00:00
chudegao af005c6a31 fix #218490:There is no any case-sensitive checking of mac address when import the node by hostinfo file.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16765 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 09:41:04 +00:00
xq2005 707e24b981 change the Maintainer to xCAT when building genesis base on ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16762 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 07:37:10 +00:00
xq2005 58249c8b14 change the Maintainer to xCAT when building packages on ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16759 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 07:30:41 +00:00
jjhua b5765f2fcf defect 3605. correct the nodesetstate value.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16758 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 06:59:36 +00:00
xq2005 10caf24da8 for bug 3438 on ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16755 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 06:54:52 +00:00
xq2005 5435fec0e5 upload the GA build on ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16754 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-26 06:10:43 +00:00
lissav eaf843d6c4 fix defect 3642
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16751 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-25 15:29:10 +00:00
lissav 0716b8596d fix defect 3642
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16749 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-25 14:54:38 +00:00
xq2005 b0805684cc bug 3563, fix the post install script error when install xcat-genesis-base-amd64
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16747 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-25 14:02:32 +00:00
phamt b14a373512 Make IP and hostname optional when configuring the group for the self service page.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16746 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-25 14:00:37 +00:00
xq2005 f0872d459e bug 3474 for removing the rpm error message on ubuntu/debian
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16745 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-25 13:53:28 +00:00
jbjohnso ab3a23346b Fix problem where dbworkersocket rename could indicate a missing path
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16742 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-25 13:28:26 +00:00
jjhua cf06cc036d defect 3605. 1, change ENABLESSHBETWEENNODES=$ENABLESSHBETWEENNODES in the template, and add new subroutine TableUtil::enableSSH() 2, change NODESETSTATE=$NSETSTATE in the mypostscript.tmpl, and invoke the xCAT::SvrUtils->getNodesetStates()
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16741 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-25 10:33:05 +00:00
jjhua 0b410a596b defect 3605. 1, change ENABLESSHBETWEENNODES=$ENABLESSHBETWEENNODES in the template, and add new subroutine TableUtil::enableSSH() 2, change NODESETSTATE=$NSETSTATE in the mypostscript.tmpl, and invoke the xCAT::SvrUtils->getNodesetStates()
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16740 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-25 10:31:23 +00:00
immarvin 9799ef78e6 update the nodelist.status to installing/netbooting via feedback from node during provision
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16738 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-25 07:16:57 +00:00
phamt 73fb28f6d0 Added a hypervisor field in the storage table to handle z/VM native SCSI disks. In z/VM native SCSI disks must be configured for one or more hypervisors before they can be used.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16735 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-24 14:24:46 +00:00
lissav a758cdf573 fix defect 3642
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16733 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-24 12:56:11 +00:00
xq2005 9d65034701 find SHA.pm in /usr/lib/perl on ubuntu/debian
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16730 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-24 07:36:44 +00:00
creativezj 11df32128f fix nodeimport generate ip error
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16728 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-24 07:16:19 +00:00
lissav 22468165b6 add req->{status} to runxcmd for defect 3641
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16725 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-23 10:50:24 +00:00
lissav 5c045ed61c add example of plugin to plugin call
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16724 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-22 11:59:35 +00:00
lissav e2684acebe fix defect 3639
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16719 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-21 17:00:46 +00:00
lissav c48f202bdd fix defect 3639
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16717 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-21 10:28:17 +00:00
wanghuaz 89ba8006f4 fixing bug 3608: give error msg while kitrepo is not valid for 'buildkit cleanrepo <kitrepo>' command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16715 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-21 01:19:09 +00:00
lissav e57868c1c6 fix defect 3637
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16713 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-20 13:00:24 +00:00
wanghuaz 38cea20397 Fixing bug 3636 for error msg outputing
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16709 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-20 03:47:57 +00:00
duowang 2f669c1ac6 enhanced profilenodes.pm to acquire chain attribute from hardwareprofile and append it to the node
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16707 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-20 03:22:46 +00:00
zhaoertao d5e329e4c7 supportting x222 in "rscan cmm"
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16705 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-20 03:19:41 +00:00
linggao 34bb809cc4 enhance postscrit perfomance when getting monitoring variables. defect 3605
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16703 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 20:13:12 +00:00
phamt c2cd84dbca Changed xcatconf4z logging.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16702 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 20:04:58 +00:00
phamt 0edc77694f Undo some disabled buttons made with last checkin.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16700 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 19:24:53 +00:00
bp-sawyers 8ac0f31915 require xCAT-buildkit so it is installed by default
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16699 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 19:00:11 +00:00
phamt 4ce4e7c0fd In imgcapture, added option for specifying device to capture (only s390x). In rmimage, added support to remove provmethod = raw (native SCSI/FCP) images. In imgimport and imgexport, added remote host option to download from a node not managed by xCAT, fixed indentation issues, and added support for provmethod = raw (native SCSI/FCP device image)
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16693 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 16:01:18 +00:00
phamt 69f6fa5693 Added support for capture and deploy of system images for z/VM. This includes capturing ECKD/FBA and native SCSI/FCP devices. Each device is captured and stored as an image (.img) file. Note that mkvm has to be used to create the VM definition and chvm has to be used to add the disks. nodeset is used to put the .img contents onto existing disks.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16692 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 15:58:26 +00:00
phamt edbad6e498 Updated REST-API to support more xCAT commands and more z/VM options.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16691 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 15:26:59 +00:00
phamt f5a31b7f4f Fixed bugs in xCAT-UI: fixed spacing issues, set default commands for guest users, set default arch and hypervisor for add z/VM node, and fixed dialog for adding SCSI/FCP device directly using WWPN & LUN.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16690 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 15:25:12 +00:00
lissav c68a422c44 defect 3617
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16688 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 11:53:35 +00:00
immarvin 3d06ddda0d correct some typo
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16687 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 08:26:21 +00:00
immarvin f890d03ef3 add nonodestatus to kcmdline for both nfs-based statelite, ramdisk based statelite and stateless
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16686 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 08:24:34 +00:00
immarvin 9ecfc50b91 busybox awk does not support network socket writing, use nc instead
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16685 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 07:55:54 +00:00
immarvin 78af39e06f close file handle after writing
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16684 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 07:32:34 +00:00
immarvin 645c602ce2 update the nodelist.status to installing/netbooting via feedback from node during provision
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16683 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 07:28:32 +00:00
immarvin a6aab0c6d0 update the nodelist.status to installing/netbooting via feedback from node during provision
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16682 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 06:55:03 +00:00
sjing 592a0d508c add "sysclone" as a valid osimage.provmethod.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16680 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 03:37:20 +00:00
wanghuaz 7d5bcba0d5 fixing bug 3179: adding a sleep and reorder the steps
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16678 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 03:34:17 +00:00
creativezj 594facc9a0 fix nodeimport generate brocadcast ip or gateway ip
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16676 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 02:39:52 +00:00
ligc e2d8a38928 fix for bug 3630: typo with opt_nc and opt_c
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16674 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-19 01:38:20 +00:00
jbjohnso b6969b9817 Correct deref in previous commit
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16669 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-18 17:07:40 +00:00
jbjohnso cd406905a8 Change flexdiscover to separate imm and cmm search
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16668 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-18 17:07:34 +00:00
jbjohnso be3e25ce00 Add support for flexdiscover to work with x222 servers
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16667 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-18 17:07:27 +00:00
jbjohnso e4d371d2e8 Fix problem with getipmicons
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16666 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-18 17:07:21 +00:00
jjhua 0244b031cf fixed bug 3605
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16662 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-18 09:07:02 +00:00
creativezj 8fac597977 fix modify multiple nodes profile error
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16660 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-18 08:28:02 +00:00
sjing 6738d6caba bug2830 - use xCAT::TableUtils->get_site_attribute("installdir") instead of gettab.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16657 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-18 08:06:28 +00:00
jjhua 30c92ba536 fixed bug 3605, improve the code according to Bruce's suggestion, except xCAT_monitoring::monitorctrl->getNodeConfData()
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16656 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-18 07:42:29 +00:00
creativezj cff0e482eb fix regenerate ip error
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16653 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-18 05:02:53 +00:00
lissav 47fc94d842 modify limitation on policy table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16648 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-17 18:13:26 +00:00
lissav 60ca873f6c fix defect 3625
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16645 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-17 17:33:48 +00:00
lissav c5bba25f7e fix defect 3625
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16643 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-17 15:57:39 +00:00
immarvin a55349b5af update the nodelist.status to installing/netbooting via feedback from node during provision
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16642 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-17 15:13:41 +00:00
lissav d1b41732b5 document non supported fields in policy table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16640 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-17 12:35:56 +00:00
daniceexi db6e509b4a defect 3619: backup the req before dispatch to a xCAT module and recover it after the dispatch
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16639 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-15 10:47:27 +00:00
billwajda 252e7dd3de Support for bug 3623: support for removing nics on linux (Tested on redhat 6.3. confignics modified to take -r flag and configeth is modified to take -c nics to configure and -u nics to unconfigure. configeth has not been updated for AIX yet and configib has not been updated yet.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16637 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-14 18:54:50 +00:00
jjhua b2838fdca8 fixed bug 3569, add #INSTALL_SOURCES# to the storage template file
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16632 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-14 08:18:28 +00:00
xq2005 0ef6f64ab2 makeroutes support on stateless debian/ubuntu nodes
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16629 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-14 07:23:59 +00:00
xq2005 4e7720631b makeroutes support on stateless debian/ubuntu nodes
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16628 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-14 07:03:49 +00:00
nott c4a211ddd3 cleanup comment
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16624 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-13 15:17:51 +00:00
nott 6e3206d31d clarify cleantar option
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16622 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-13 15:12:42 +00:00
nott 1dfe0cb135 make cleantar remove ALL tar files
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16620 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-13 14:35:36 +00:00
lissav f53574d1c6 checkin for defect 3613
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16616 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-12 12:59:11 +00:00
bp-sawyers 5d4aace149 remove man pages for tools mkrrbc and mkrrnodes that were removed previously
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16615 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-12 12:30:02 +00:00
daniceexi 961c3951e6 For auto created bmc, add it to hosts.otherinterfaces instead of creating a new entry in the hosts table for bmc individually. That means auto created bmc will not be a individual node.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16613 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-12 02:57:33 +00:00
nott dcde28a213 allow kit location and kit name to be different
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16610 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-11 14:50:38 +00:00
nott bc386fd56a more - better description of kit location
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16609 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-11 14:46:21 +00:00
nott 636d866a40 better description of kit location
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16607 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-11 13:00:10 +00:00
lissav 36c4a83005 defect 3613
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16602 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-10 19:58:47 +00:00
lissav 2649d44ed4 defect 3613
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16601 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-10 19:56:32 +00:00
lissav e057ae26fd defect 3613
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16600 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-10 19:55:27 +00:00
jbjohnso 8754a7ee0c Avoid reapers trouncing $! for other system calls
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16598 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-10 14:43:50 +00:00
daniceexi 193bea48f6 added the checking of path for runimage, if cannot download, display an error message for nodeset command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16595 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-09 09:17:39 +00:00
daniceexi 685e039254 defect 3612: add one line to handle variable like in the runimage; And added the checking code logic to display error message if wget failed
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16593 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-09 09:14:24 +00:00
daniceexi 6a72e5feb6 fix the issue that nodediscoverdef -u -n command cannot move the discovered node to next destiny. And also formatted the indention that replace the tab with four space
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16591 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-08 23:39:56 +00:00
daniceexi f6c559ca0a Change the code logic that get bmc name from ipmi.bmc instead of using default <node>-bmc. If user uses hostiprange or bmciprange and did not define ipmi.bmc, the default bmc name will be <node>-bmc.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16589 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-08 23:32:38 +00:00
wanghuaz 03584e81fb update addkit command according to revision 16568 for kit framework
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16586 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-08 09:28:28 +00:00
ligc d7bc639fc6 include hamn scripts cronEdit, activate-mn and deactivate-mn
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16584 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-08 08:31:31 +00:00
ligc 5b846b46a4 Two scripts active-mn and deactive-mn for HAMN configuration, based on scripts from John Williams
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16583 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-08 08:24:47 +00:00
ligc 07023c0634 add a new tool cronEdit, to edit crontab entries in scripts. Based on the script from John Williams
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16582 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-08 08:23:18 +00:00
sjing 756c176f53 bug 3478 - exclude the net with external namesserver configured from dns zones.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16581 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-08 07:18:19 +00:00
wanghuaz dabe1aafca Fixing bug 3610: not add prerequisite to full kit if there is no 'prerequisite' in kit.conf of partial kit
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16578 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-08 04:58:26 +00:00
nott 422c7cfef4 clarify alt client cleanup
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16576 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-07 17:37:03 +00:00
bp-sawyers 37a2bfde40 Add hfi option to rbootseq man page
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16574 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-07 14:01:35 +00:00
nott 1ea7732f00 add #'s
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16571 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-07 13:22:54 +00:00
nott 25bfbdee5e remove xCAT dependencies
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16569 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-07 13:15:59 +00:00
nott 9585feebb8 add kitloc, create_frameworks, and misc updates
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16567 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-07 13:08:28 +00:00
zhaoertao 5921d3cd95 adding predefined groups based on hardware types
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16564 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-06 03:22:53 +00:00
immarvin e8d1d7cf00 if nodetype.provmethod is not set, use install as default value; call rsetboot net to set boot over network for ipmi nodes before rpower
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16562 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-06 03:14:34 +00:00
wanghuaz 0479d3682c not export buildkit -n option by default.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16560 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-06 00:47:28 +00:00
bp-sawyers b1c996ad2e fix xCATsn install problem running mknb
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16559 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-05 23:05:05 +00:00
bp-sawyers 5985c790d0 stop building i386 version of xcat pkgs
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16557 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-05 21:01:34 +00:00
nott f5bb7a2bc6 kitloc and misc updates
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16553 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-05 16:59:28 +00:00
lissav 0cb3d901d8 fix defect 3603
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16551 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-05 16:25:31 +00:00
jbjohnso f930deea97 Have syswrite retry on EAGAIN or ECHILD
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16550 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-05 14:04:34 +00:00
jbjohnso 8d855e9e20 Have xcatd recognize EAGAIN and ECHILD as equivalent in syswrite due to flawed platform behavior
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16549 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-05 14:04:28 +00:00
duowang 0df81a3dfa modified method gen_new_hostinfo_string() in profilenodes.pm to sort the nodes' name
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16545 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-05 10:34:30 +00:00
wanghuaz b662046e19 code checkin for ordering rpm installation
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16544 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-05 07:29:31 +00:00
jbjohnso aedb671f1b Have kvm update vm.memory if chvm is called
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16538 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-04 18:45:52 +00:00
jbjohnso aba2b94d5c Recognize some common variants on chvm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16537 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-04 18:45:45 +00:00
jwsimpson 1cd456419a Updated to add comments only
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16534 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-04 17:52:59 +00:00
sjing 726c05134c support adding/removing nichostnames as well as the given noderange
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16531 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-04 08:20:52 +00:00
jjhua 8945c5ca33 remove the #INSTALL_SOURCES# from some .tmpl
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16528 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-04 07:49:02 +00:00
jjhua 24a2928e03 service node pool supports for sles
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16527 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-04 07:43:19 +00:00
jjhua d991d97332 service node pool supports for sles11
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16526 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-04 07:40:23 +00:00
creativezj 2b35adf1f8 fix multiple nics problem
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16525 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-04 06:05:39 +00:00
lissav d4d56cbc91 fix code assumes only XCATSERVER entry in xcatinfo, we have now added NODE
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16522 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-03 15:36:10 +00:00
immarvin 8210f4d82a add code comments
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16519 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-06-01 12:13:14 +00:00
nott b8e32de9c8 add workdir
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16518 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 19:51:52 +00:00
nott 607a2cc927 add support for workdir and new spec attrs
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16515 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 19:23:10 +00:00
nott 581739c5e5 add holders for new attrs
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16513 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 19:07:07 +00:00
nott 608ecae96e add new attr descriptions
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16511 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 19:02:54 +00:00
jbjohnso 52a0a5a4f4 Serial console and vdagent support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16510 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 18:50:03 +00:00
lissav f170fe9c0f remove LInux restricction on precreatemypostscript
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16509 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 18:48:51 +00:00
lissav 223d288cff redesign to match more closely the processing in xcatdsklspost
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16504 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 18:33:47 +00:00
lissav f9841836f9 add new lines for array return
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16503 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 18:30:00 +00:00
immarvin 4e9d9d0b7a fix defect #3463 rinstall does not support provmethod=osimagename
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16501 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 10:33:15 +00:00
jjhua 268d20215e improve the code for last checkin
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16498 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 08:48:53 +00:00
jjhua 3a71acedeb for rhels6, move the repos generattion to pre-script in kickstart
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16494 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 08:29:20 +00:00
jjhua 09f4a16b24 use the variable INSTALL_SOURCES_IN_PRE
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16493 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 08:26:35 +00:00
jjhua 61effb412e use the variable INSTALL_SOURCES_IN_PRE
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16492 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 08:22:40 +00:00
jjhua 4b75dd3c03 for rhels6, move the repos generattion to pre-script in kickstart
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16491 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 08:05:44 +00:00
jjhua 456bd50c46 for rhels6, move the repos generattion to pre-script in kickstart
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16490 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 08:03:24 +00:00
jjhua f1cd22e0f8 for rhels6, move the repos generattion to pre-script in kickstart
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16489 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 08:01:41 +00:00
jjhua 4b57fe95f4 service node pool does not support system X rhels5.x
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16488 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 07:59:43 +00:00
jjhua 310287347a service node pool support for system x rhels6.x
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16487 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 07:55:56 +00:00
jjhua 5b497df6e3 move the repos generation to pre-scripts in kickstart for rhels6 ppc64
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16486 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 07:54:18 +00:00
jjhua 8e64beb962 service node pool support for system X rhels6.x
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16485 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 07:51:08 +00:00
jjhua 4cdc6dab13 service node pool support for system X rhesl6.x
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16484 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 07:44:08 +00:00
jjhua 61569206a1 service node pool supports for system X rhels6.x
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16483 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 07:19:06 +00:00
wanghuaz 040ae224e5 fixed the problem that xcat failed to replace some system environments if there are mulitple levels of #INCLUDE. we should firstly expand the #INCLUDE and then to replace the system environements
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16482 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-31 06:53:35 +00:00
jbjohnso 9980daedc4 Add some chassis status support to rvitals
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16480 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-30 14:47:29 +00:00
lissav 81ec3ad929 get rid of duplicate messages on updatenode -k
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16477 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-30 11:47:00 +00:00
xq2005 962772547d sudoer support on ubuntu/debian
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16475 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-30 09:03:02 +00:00
daniceexi 3341f2399b force to boot from pxe before the reboot in the genesis
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16473 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-30 08:45:42 +00:00
sjing a5ec8dcc36 use reboot in genesis instead of shutdown. Add a check for rsync service to make sure it's running.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16470 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-30 06:11:56 +00:00
amy0701 66f9824509 change rhsn to 23619SN in testcase linux_cn_with_sn_statelite_installation_x86_64_redhat
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16467 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-30 03:21:09 +00:00
amy0701 348ccaf564 add test bundle for x86_64
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16464 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-30 03:01:41 +00:00
jbjohnso 41aa89541c Fix autoula windows scheme to use the delimiter for mac that windows prefers
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16463 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-29 18:08:48 +00:00
immarvin 8a476a618b fix defect #3599 syslog-ng is shutting down in sles xCAT MN Edit, enable the settings that will log to local files in syslog-ng
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16458 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-29 12:21:38 +00:00
lissav 27ba4fcdbe defect 3596
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16452 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-29 11:31:59 +00:00
lissav 4fd57c08e5 defect 3596
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16451 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-29 11:30:30 +00:00
lissav 95b4be91eb defect 3596
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16450 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-29 11:29:22 +00:00
jjhua 8d2eeda1b3 fixed bug 3598 for PCM Ai Lei, support it for rhels5.9.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16447 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-29 07:49:44 +00:00
jjhua c48d82729c remove the code which passes the into the subvars() in Template.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16446 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-29 07:48:48 +00:00
jjhua a2fb35c9c5 fixed bug 3598 for PCM Ai Lei, support it for rhels5.9.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16441 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-29 07:22:22 +00:00
jjhua 3154df9b77 fixed bug 3598 for PCM Ai Lei, support it for rhels5.9.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16440 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-29 07:19:12 +00:00
asirxing 47fbbd2230 Move codes to call makedns and makehosts for kitnoderemove request from 00kitnodebase.pm to profilednodes.pm as other kitnoderemove plugins need the node name for some operations
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16439 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-29 03:51:34 +00:00
jbjohnso aa01feda37 Try to correct autoula function in windows
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16437 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-28 18:21:53 +00:00
lissav a8323e599a use NODE name defined in /opt/xcat/xcatinfo file, if there
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16434 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-28 13:53:47 +00:00
lissav 62e8e445b9 up tablespace of servicenode for DB2 , it is close to the8K limit, if more attributes added we would be over
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16432 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-28 12:28:39 +00:00
lissav ea7577eb8f add NODE=<nodename> to kcmdline
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16430 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-28 12:24:30 +00:00
xq2005 8c4dfd3470 makeroutes support on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16422 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-24 09:48:00 +00:00
ligc 019f6da484 fix for bug 3593: check_options error with makedhcp -s statements
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16419 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-24 09:22:34 +00:00
xq2005 ce63e80e96 change tabs to spaces
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16418 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-24 09:09:01 +00:00
xq2005 91fc845782 routeop support on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16416 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-24 08:38:48 +00:00
xq2005 dbd59da228 change tabs to spaces
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16413 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-24 06:21:42 +00:00
lissav 1f963dc243 fix for 3591
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16410 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-23 19:08:38 +00:00
zhaoertao e0c25f0672 enhancement of "rspconfig noderange USERID=<password>"
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16407 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-23 08:13:22 +00:00
qyin cbdd1d4a9a fix #215702 nodeimport can import the same host info file for switch auto discovery twice or more
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16406 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-23 08:01:58 +00:00
xq2005 273c3098fc change tabs to spaces
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16404 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-23 03:10:33 +00:00
lissav d3590828a7 fix defect 3580/3586
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16402 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-22 18:30:07 +00:00
jbjohnso dd66c4427a Add event log cmdlets to powershell
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16400 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-22 18:15:55 +00:00
jbjohnso 2cb38161a8 Add some more commands, have powershell recognize the multiple natures of data elements in api
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16399 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-22 18:15:50 +00:00
jbjohnso 2660c46a24 Fixes and trimming of exported internal function
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16398 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-22 18:15:45 +00:00
lissav 3ae9f03fe1 remove unused getNodeSpecAttribs routine
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16397 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-22 17:24:31 +00:00
lissav 0ed2145239 improve grep for error
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16394 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-22 17:06:06 +00:00
daniceexi 546bf507ab support the predefined bmc is set in the hosts.otherinterfaces
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16393 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-22 14:58:46 +00:00
lissav b13c713888 support long hostnames
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16390 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-22 12:41:14 +00:00
lissav 29aa9d83a7 cleanup tmp files
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16389 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-22 12:40:06 +00:00
zhaoertao a7537857db fix bug 3583: mkhwconn -s cannnot work for firebird in rh mn
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16386 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-22 06:13:18 +00:00
lissav af3ac58d23 remove version 2
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16384 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-21 18:16:33 +00:00
lissav fb453010c4 fix getpostscript.pm call (noversion)
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16382 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-21 18:11:46 +00:00
lissav 607866fb4a fix defect 16288, verified with Jarrod
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16379 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-21 14:33:15 +00:00
jbjohnso aa5e95f28a Commit powershell files to windows style line wrap in case of notepad
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16377 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-21 13:00:43 +00:00
jbjohnso df158b4411 Try to make powershell module more tolerant of pathing situations
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16376 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-21 13:00:38 +00:00
jwsimpson 57bfbd67ad updates to dhcp.pm to fix the problem with plugins calling it without arguements
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16374 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-21 12:22:17 +00:00
xq2005 4d3bfb86c9 ubuntu provision need the mirror/http/hostname configuration
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16373 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-21 08:28:04 +00:00
sjing 944a84bc0a new otherpkg list for sysclone
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16371 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-21 06:49:15 +00:00
jbjohnso fd942bcf5a Fix problem when request did not have adequate arg in dhcp.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16368 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-20 17:59:46 +00:00
jbjohnso 3456243248 Fix error in vbscript
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16366 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-20 14:56:32 +00:00
bp-sawyers 7731929803 Add genericrange option to noderange function so we can remove NameRange.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16364 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-20 13:14:26 +00:00
lissav ee3e6061f0 Add setup of postgresql
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16362 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-20 11:02:04 +00:00
lissav b784427dbd fix defect 3575
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16358 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-18 10:21:20 +00:00
jbjohnso e439bfa3d9 Note to future self about tabooseq scope
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16357 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-17 20:55:10 +00:00
phamt f4b3f09bb0 Fixed issue with AutoYast where it expects the FCP channel, WWPN, and LUN to all be in lower-case. Otherwise, AutoYast would not find the SCSI/FCP device.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16355 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-17 20:20:59 +00:00
jbjohnso cd354d6634 Have fixupunattend check the process, user, and system environment space for value before giving up (MS env handling is madness)
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16354 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-17 14:28:48 +00:00
jbjohnso 5562af5751 Provide hook for OS volume selection
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16353 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-17 14:28:40 +00:00
zhaoertao 4896b906d4 the feature:enhancement of rspconfig for blacktip blade
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16348 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-17 09:22:32 +00:00
zhaoertao 2e53f21b7d fix bug 3578: "rscan cmm -u|-w" will write information of System p blade into ipmi table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16346 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-17 02:40:15 +00:00
ligc 97f11587b0 fix the issue with XCATHOST=ipv6-lla%eth0:3001 and remote xcatd
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16345 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-17 02:39:16 +00:00
jbjohnso 07da4182ab Should someone decide to switch from generated to static password on vm(s), remove expiry if present
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16342 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 19:52:21 +00:00
jbjohnso 01ab6d41ea Remove debug output from Client
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16339 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 18:30:16 +00:00
lissav f7208c1e81 use new interface to makescript
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16338 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 17:07:33 +00:00
lissav 56d12b7105 add check for nofiles and more than one node
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16335 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 16:45:16 +00:00
lissav 1e4a3631cc more postage removal
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16333 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 16:04:11 +00:00
lissav c176287626 add info
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16332 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 15:59:46 +00:00
lissav e81e433f1e remove debug code
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16330 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 15:45:03 +00:00
lissav e514305d5e remove comment out call to writescript
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16328 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 14:19:26 +00:00
lissav 0170a13ab4 remove writescript
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16327 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 14:18:00 +00:00
jwsimpson daa650686d Update for makedhcp to support query
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16324 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 14:10:05 +00:00
lissav de0872c616 remove postage xCAT command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16323 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 14:09:18 +00:00
lissav a50b572e6e first update for enhance precreatemypostscript handling, more todo
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16320 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 13:55:55 +00:00
jbjohnso f65080fb4b Support LLA with scope index XCATHOST
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16319 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 13:35:10 +00:00
daniceexi b9bac72399 add the man page for nodediscoverdef command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16317 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 13:08:17 +00:00
daniceexi 3dc5351cb4 add the manual type of discovery method
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16315 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 08:37:27 +00:00
daniceexi d10259eed1 add link for nodediscoverdef command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16312 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 08:25:42 +00:00
daniceexi 42cb3d8799 add the nodediscoverdef command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16311 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 08:19:53 +00:00
daniceexi d256906e89 filter off several inside attributes from request
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16310 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 08:19:13 +00:00
jjhua e853c4c7e2 feature-request#157 Some Improvements to the mlnxofed_ib_install script
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16307 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 07:50:06 +00:00
amy0701 2ad903b713 add testcase in bat.bundle
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16305 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-16 07:21:34 +00:00
jbjohnso 32943f0a7a Add very thin support for x222 servers in 'blade.pm', *just* enough to facilitate discovery
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16302 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-15 15:04:53 +00:00
phamt 9a08f260ef Make IP and hostname inputs optional when configuring the group profile.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16300 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-15 14:20:55 +00:00
phamt 4b65890eca Fixed bug where the profile conf file is not updated on 1st edit. Fixed error messages in to use double quotes so that variables are interpreted.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16299 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-15 14:10:28 +00:00
jbjohnso a6c2909603 Fix networkutils to work with CIDR again
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16298 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 15:28:16 +00:00
jbjohnso 06c90dd2e6 Fix problem erroneously requiring per-net config in ipv6 case not required in ipv4 case
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16296 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 15:13:39 +00:00
jbjohnso a5ea4c5332 Fix problem where default gateway was interpreted oddly in makedhcp ipv6
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16294 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 14:52:21 +00:00
amy0701 f2fe9bd17e add testcase chdef_group_p
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16292 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 09:32:00 +00:00
ligc 38f585626d fix for bug 3574: the blank grptype means static nodegroup
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16290 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 07:17:41 +00:00
sjing cac34c9f5a back port sysclone support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16287 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 03:06:00 +00:00
sjing 985de85cad back port sysclone support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16286 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 02:47:44 +00:00
sjing e6970bd97a back port sysclone support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16284 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 02:41:44 +00:00
sjing a392cfbe78 back port sysclone support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16282 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 02:39:51 +00:00
sjing b3a9a398dc back port sysclone support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16280 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 02:33:37 +00:00
daniceexi d302ccb027 add comment to support multiple actions for the nodeset state
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16279 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 02:29:25 +00:00
daniceexi 79a7d3e4cc add comment for why the /etc/mtab needs special case
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16278 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 02:20:47 +00:00
bp-sawyers aca25db4c9 Fix noderange bug 3572 by switching back to jarrod's bracket noderange fix
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16275 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-14 02:18:33 +00:00
lissav 428c90336d Add NODE to the /opt/xcat/xcatinfo file
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16273 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 15:51:46 +00:00
lissav 043303d1d7 defect 3565
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16271 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 13:34:40 +00:00
lissav c600b54122 fix defecct 3554 and 3549
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16270 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 12:17:20 +00:00
lissav 62d58ee68e xdsh will send the node name in the NODE environment variable on execution, used for new precreatepostscript support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16269 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 12:14:03 +00:00
daniceexi d8f8c7e49a change the shift to get the blade server bay from 24 to 18, this may caused by the firmware update
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16268 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 11:23:34 +00:00
daniceexi d1b10a4109 Change the kernel parameter name which passed to localdisk script to indicate the action
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16267 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 11:21:02 +00:00
daniceexi d7c626da34 run localdisk in stateless
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16266 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 11:10:39 +00:00
daniceexi 48b21d9656 defect 3543: fixed the issue that /etc/ cannot be set to tmpfs. It was caused by the /etc/mtab which is a speicfic file which is needed for mount command. And move the localdisk mount point creating to genimage
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16265 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 11:08:43 +00:00
daniceexi f212c3c7b3 change the mount point of localdisk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16264 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 11:03:24 +00:00
daniceexi 75980fabbf Make localdisk script do mount for stateless node. Add log to node:/.sllocal/log/
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16263 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 11:01:31 +00:00
daniceexi 5eb7f30342 create localdisk directories during genimage
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16261 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 09:24:47 +00:00
zhaoertao a95e58f482 fix bug 3562:"rspconfig cmm USERID=<password>" doesn't update password properly for existing hdwr connection
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16260 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 09:23:38 +00:00
daniceexi 082db86c77 support localdisk to run on stateless
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16259 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 09:22:56 +00:00
daniceexi 05415e6588 Change the kernel parameter name which passed to localdisk script to indicate the action
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16258 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 09:20:40 +00:00
daniceexi 15ecb156d4 defect 3346: support that the argument of nodeset could be multiple actions which separated with ,; e.g. runimage=xxx,osimage=xxx
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16257 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 09:15:11 +00:00
xq2005 9736ea127e sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16256 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 09:08:22 +00:00
sjing dfbfa103ec back port sysclone support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16254 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 08:50:34 +00:00
sjing 2e54ebc370 back port sysclone support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16253 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 08:48:46 +00:00
xq2005 0724220b72 sync from the trunk for hardware discovery on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16252 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 08:12:21 +00:00
xq2005 e2055a8251 sync from the trunk for hardware discovery on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16251 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 08:11:11 +00:00
xq2005 88e689b996 build perl-xCAT when build xcat package
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16250 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 08:05:28 +00:00
xq2005 e12bb46487 lsxcatd -v return error revision on debian/ubuntu(bug 3564)
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16246 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-13 07:53:50 +00:00
bp-sawyers 73f0454a44 fix bug 3429 - noderange with multiple brackets do not show all nodes
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16242 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-10 17:40:35 +00:00
nott bcf9e0aff2 add check for blank file name
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16239 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-10 16:50:58 +00:00
lissav a0f0bc1e07 update version number
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16236 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-10 14:49:09 +00:00
xq2005 16521bee18 rollback for 2.8.1 tag
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16229 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-09 01:52:27 +00:00
xq2005 a899468623 rollback fro 2.8.1 tag
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16228 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-09 01:50:07 +00:00
xq2005 a8d2c285e0 roolback for 2.8.1 tag
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16227 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-09 01:48:59 +00:00
mellor a2deab209f remove template directory. added by mistake with HPC kit build files.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16225 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-08 20:41:17 +00:00
mellor c417dedd8c remove ppedev HPC kit build files. moved to git repository in GSA
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16222 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-08 20:07:51 +00:00
mellor 2038645410 remove HPC kit build files. moved to git repository in GSA
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16221 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-08 20:06:04 +00:00
xq2005 4936c5bf4d arp command location is different between redhat and debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16219 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-08 09:53:19 +00:00
xq2005 f6e8475fc0 arp command location is different between redhat and debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16217 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-08 09:50:25 +00:00
xq2005 9b59bb8c1f upload the building packages to sourceforge by default
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16215 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-08 08:27:22 +00:00
ligc 6fc19c33fc backout changes for bug 3429, revision 16191, wait for 2.8.2
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16211 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-07 12:16:21 +00:00
zhaoertao b5a2045b3d fix bug 3552, using mp.id and ipmi.bmc to judge whether it is a x blade.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16209 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-07 10:52:21 +00:00
amy0701 815b733659 add noderange test cases into bundle
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16206 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-07 07:51:24 +00:00
daniceexi b6a22759e0 change filter_nodes subroutine that (renergy relhistogram) goto ipmi.pm and (rspconfig network|textid) goto blade.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16200 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-07 04:34:46 +00:00
daniceexi 0b08676d8c only set the groups attribute to default value when it was null
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16198 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-07 04:22:48 +00:00
amy0701 d4da62ff92 update testcase for noderange_group_intersection and noderange_individual_grp
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16197 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-07 02:41:58 +00:00
daniceexi dce814e616 Change the default bmc name to be (node name)-bmc instead of bmc(#)
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16195 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-07 02:26:40 +00:00
linggao 241de0adc3 added openstack grizzly repository for ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16193 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-06 21:03:44 +00:00
jbjohnso 0ea2f46895 Attempt to correct dual bracketed noderanges
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16191 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-06 18:01:46 +00:00
jbjohnso f6907796af Fix blade to once again work correctly with bladecenter
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16188 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-06 15:25:50 +00:00
jbjohnso d3f9b881f5 Have rspconfig textid work for x86 ngp blades
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16187 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-06 14:50:11 +00:00
jbjohnso a2ac89d215 Fix problem when staticv6 failed to adequately space out a comment
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16186 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-06 14:03:19 +00:00
zhaoertao 02aa34a40e fix bug 3552 rpower/rinv getting incorrect password with Blacktip flex blade check password tables
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16183 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-06 08:48:45 +00:00
jbjohnso 421a20be05 Rely upon storage detection code in ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16180 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-03 21:05:45 +00:00
jbjohnso 562852decd Fixes for ubuntu enhancements
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16179 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-03 21:05:07 +00:00
phamt 9704b4db41 Fixed issue in user table so it parses the policy table correctly. Changed the order of the refresh button in the self-service cnfigure page.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16176 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-03 15:02:06 +00:00
jbjohnso 5b4e678952 Have nic detection happen sooner
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16175 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-03 14:07:18 +00:00
xyye f8068d6b95 remove makedhcp command for adding the unmanagement node
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16172 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-03 05:56:26 +00:00
phamt 111d0ada77 Removed code that adds the any node to the "all" group.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16170 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-02 21:56:53 +00:00
phamt a51ddf27d4 Fixed table ID used when shutdown button is clicked.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16169 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-02 21:44:21 +00:00
phamt 789c6ede3c Disabled SELinux in default kickstart template. Added check in rpower softoff to check if node is pingable, if not proceed to shutdown instead of waiting. Rearranged buttons on action bar in self-service page. Added shutdown button in nodes page to shutdown node gracefully.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16168 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-02 21:24:26 +00:00
bp-sawyers 4646d343f6 added help back into mktoolscenter
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16166 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-02 19:10:20 +00:00
jbjohnso 055629b901 Have debian no longer require setting of noderes.nfsserver
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16164 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-02 18:32:12 +00:00
bp-sawyers c2f9aae59f Updated nodediscover man pages
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16162 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-02 16:43:31 +00:00
lissav c38886fc70 fix defect 3477 PCM
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16157 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-02 11:26:31 +00:00
billwajda 6b5ce463ae added NM_CONTROLLED=no for configib and configeth and changed BOOTPROTO=none for redhat in both files
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16156 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-02 10:59:37 +00:00
jbjohnso e96ada6593 Add storage detection logic to debian deploy
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16154 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-01 21:00:14 +00:00
jbjohnso f9f1d61069 Have debian support support BOOTIF autodetection
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16153 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-01 20:20:36 +00:00
jbjohnso 9a2aee8fbc Fix from Shadd Gallegos on mktoolscenter
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16151 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-01 18:30:47 +00:00
phamt 9a672c7329 Fixed how MAC address prefix is obtained by using VMCP Q VMLAN instead of using VMCP Q V NIC. VMCP Q VMLAN is more accurate for z/VM 6.2 SSI clusters.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16149 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-01 17:16:28 +00:00
phamt 4f8e82198a Changed rpower off to use Image_Deactivate with IMMED flag because without the flag, sometimes the VM would not power off correctly.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16145 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-05-01 14:22:01 +00:00
jbjohnso f5e89691d4 Actually fix LVM with 6.4
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16143 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-30 19:48:48 +00:00
jbjohnso 86f8818f75 Remove senseless indication of primarynic in ubuntu template, this file isn't even read until network is already up
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16141 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-30 19:31:15 +00:00
jbjohnso 962e478345 Fix problem with certain versions of libvirt and lvm storage
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16140 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-30 19:28:14 +00:00
jbjohnso 636f0bd5f6 Fix problem where ubuntu needlessly mandates noderes.primarynic in one place, one to go
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16138 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-30 19:11:30 +00:00
jbjohnso 325b3cedd4 Fix problem with esxi detection of image template availability
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16136 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-30 18:53:14 +00:00
mellor c50fe660e0 defect 3546 add kit framework info to kit.conf files
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16134 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-30 18:42:47 +00:00
jbjohnso de0d1d84ec Fix a problem where partition recipe was incorrectly written out
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16131 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-30 17:48:02 +00:00
mellor 06a0dcb472 defect 3505 - fix manpage typos
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16128 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-30 13:07:18 +00:00
linggao ad0e9d09d4 fixed a defect #3543 running confignics has authority issues on statelite nfs_based cn
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16126 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-29 20:25:27 +00:00
jbjohnso 90c6689438 Fix problem where makedns suddenly required hosts table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16124 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-29 17:58:39 +00:00
phamt 8fa5961b27 Changed nodeset tab to accept osimage argument. Allow z/VM identities to be specified in directory entry. Allow an admin username to log into the main xCAT UI.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16123 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-29 17:13:20 +00:00
phamt 8cb2dd56b9 Fixed how broadcast address is calculated using IP and netmask, instead of relying on ifcfg file.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16122 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-29 16:59:46 +00:00
phamt a25f969d2d Simplified selection of user types when creating an xCAT user from the UI.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16121 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-29 15:37:23 +00:00
phamt 2515cfc4d4 Fixed bug in how jQuery dialogs are closed. If you use dialog('close'), it will only hide the dialog. But if you use dialog('destroy').remove(), the entire dialog will be removed from the page.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16120 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-29 15:08:10 +00:00
zhaoertao e6c6be8827 fix bug 3536 rscan cmm -z for Blacktip blades has wrong hwtype=xblade and missing cons
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16116 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-28 06:21:21 +00:00
xyye d7892547c3 make dns after adding the unmanagement node in profilenodes.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16114 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-28 06:04:19 +00:00
qyin 19c63b2412 fix 215709 nodeimport can use host info file mixed with switch , switchport and mac address
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16112 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-28 05:50:46 +00:00
sjing fa9bb0c3ca fix for bug 3542 - duplicated script name for efibootmgr, so changed it to configefi.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16110 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-28 02:49:30 +00:00
sjing 910948236c fix for bug 3542 - duplicated script name for efibootmgr, so changed it to configefi.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16108 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-28 02:44:06 +00:00
ligc 95bdb18675 fix for bug 3533: rnetboot hang for Power5 servers
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16096 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-27 07:22:59 +00:00
sjing 49667756cb Fix for bug 3538 - sometimes stopsrc -s named takes a longer time to take effect.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16094 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-27 06:04:50 +00:00
qyin 2eff25fb6a #215407 Typo in man page: nodeimport
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16092 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-27 05:43:49 +00:00
zhaoertao 3560655bc6 fix bug 3531: New CMM firmware is adding node # ( textid ) wrapper around textd - breaks rscan -u
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16090 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-27 02:30:38 +00:00
willn256 ce5ec17fcd Make sample kit plugin modules end with 1; and fix buildkit to rename kit plugin files correctly
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16087 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 22:27:54 +00:00
phamt 8acceb8579 Enabled multiple volumes to be removed. Allowed delete button to delete using noderm instead of rmvm if checked.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16085 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 20:19:37 +00:00
jbjohnso f79c178354 Change nextdestiny to use system context rather than nebulous user context in powershell
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16083 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 20:15:15 +00:00
jbjohnso 49e21e3a8d Make local system work and also clean out messages
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16080 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 19:54:58 +00:00
jbjohnso 4ffb6b22a8 Modify xCAT powershell module to:
-Support it's own per-user cert store
-Use more capable .Net x509 management functions
-Work with lower .net requirement

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16079 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 19:54:47 +00:00
phamt 6f94c8dcbe Removed the use of "-f IMMED" when powering off a VM because using smcli Image_Deactivate without the "-f" option powers off the VM more cleanly and accomplished the same thing.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16077 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 15:32:59 +00:00
jbjohnso 0d67ef61e7 Fix breakage where recent changes broke nodeset shell and friends
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16074 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 14:07:02 +00:00
jbjohnso 11f93c43ae Fix issues with bmcsetup
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16073 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 14:06:49 +00:00
lissav dae618c4bb put rsh/rcp deprecated in comments
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16071 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 11:28:19 +00:00
jjhua c546de11e5 fixed bug 3354
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16067 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 02:15:18 +00:00
daniceexi a7a5e0aa70 defect 3520: fixed a typo that using - replace =
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16066 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-26 02:10:57 +00:00
wanghuaz 01be6f53fe Check if the deploy parameter is used by other kitcomponent that is not in the same kit
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16065 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-25 12:59:42 +00:00
immarvin 8bad0490c3 support for addkcmdline of osimage. According to the design, the linuximage:addkcmdline should be appended to kernel arguments of the nodes after "nodeset osimage=".
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16063 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-25 12:15:09 +00:00
sjing 6410db445d fix for bug 3526 - remove litetree.table from inst_root for the update.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16060 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-25 07:54:06 +00:00
jjhua 37234b42cc fixed bug 3490.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16056 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-24 08:10:36 +00:00
immarvin 3c0983f60f 1. fill in the proper value in /etc/sysconfig/clock and set the timezone of the stateless/statelite node with site:timezone
2. copy libnss_files.so.2 from directory lib(for 32bit system) or lib64(for 64 bit system) into initrd 

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16053 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-24 07:57:24 +00:00
jjhua af2e791dc3 fixed the bug 3490. put the insserv message into /dev/null
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16051 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-24 07:51:37 +00:00
linggao 2a38296b67 added --dryrun flag for genimage
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16048 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-23 19:13:15 +00:00
mellor b644f217d6 rebuild gpfs kitcomponents to not include gpfs.src and gpfs.libsrc rpms
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16046 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-23 19:06:57 +00:00
lissav cf51a10163 fix defect 3512
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16045 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-23 18:27:51 +00:00
daniceexi bf18ab507c defect 3516: fixed the typo to handle the getnextdestiny result
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16040 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-23 08:21:35 +00:00
xq2005 5afad2b6c8 fix the SHA1.pm miss problem on ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16038 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-23 02:32:16 +00:00
mellor 722355e373 rebuild teal kits to only include kitcomponents for base,ib,syslog
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16035 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-22 20:17:52 +00:00
jbjohnso fecdc35716 If lzma is older than gzip genesis, prefer newer
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16034 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-22 19:18:53 +00:00
jbjohnso 317676b98b Have ddns.pm call the code that hosts plugin uses to support extra interfaces
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16032 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-22 19:09:36 +00:00
jjhua 6b74b9ae3f fixed one minor issue
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16029 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-22 07:13:24 +00:00
jjhua baddac4d4c remove the xcat-otherpkgs*repo from ospkgs script
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16026 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-22 06:28:24 +00:00
daniceexi 53dfc9e005 Fixed the method to receive http payload with chunk format
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16025 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-19 14:03:11 +00:00
wanghuaz 1e4a158fb4 Remove teal-gpfs and teal-gpfs-sn
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16023 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-19 12:28:59 +00:00
xq2005 08bd9b2907 start ttyS0 in stateless boot on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16022 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-19 12:24:25 +00:00
jjhua d6ada83292 fixed bug 3513
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16017 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-19 05:57:40 +00:00
jbjohnso ab3b74fef4 Fix problem where KMS key not being used as default
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16014 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-17 18:38:31 +00:00
jwsimpson 2c5ce1a401 Update rpower usage to add onstandby and sms
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16011 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-17 14:51:55 +00:00
mellor 16e114ede4 defect 3508 - change teal kitcomponent names to avoid conflicts with product rpms
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16008 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-17 14:09:42 +00:00
jbjohnso b1f539a5e5 Fix openssl template for 'server' to also allowed to be a 'client' to restore hierarchy
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16007 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-17 13:53:47 +00:00
jjhua 9acd1e0a62 fixed the bug when updatenode on ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16005 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-17 08:19:32 +00:00
zhaoertao c03aeddd19 fix bug 3502 rspconfig support for USERID=<password> for CMM in genesis case
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16002 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-17 07:17:42 +00:00
jjhua 1f29d3705d fixed bug 3506, at the beginning of the ospkgs/otherpkgs, only remove the repos which are created by xCAT.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@16000 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-17 07:07:19 +00:00
daniceexi 719ce7458c Add the help for flex and iDataplex support for renergy command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15997 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-17 06:57:24 +00:00
qyin abf2a60062 solution:215058 enable switch auto discovery for PCM
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15994 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-17 06:49:19 +00:00
xq2005 3c0eea3f26 Using debined subroutine on hash object imports warning message
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15993 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-17 06:39:56 +00:00
phamt 574b11fc1b Fixed bug in event log page, where the wrong option flag is specified for the destination directory.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15991 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-16 19:38:11 +00:00
mellor 829dd22b6c added other PE kit files to make this dir complete
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15988 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-16 18:12:48 +00:00
mellor ba2193e39a set PE env var for kit build
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15987 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-16 18:07:22 +00:00
phamt 6336859884 Enabled disk and zFCP pool tables to be generated even if no disk or zFCP pools exit.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15986 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-16 17:49:43 +00:00
mellor 00cd0a4e67 defect 3482 - fix find wildcarding
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15984 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-16 15:16:53 +00:00
mellor 15a76588d6 defect 3503 - remove duplicates and sort output of lskmodules
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15982 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-16 13:19:58 +00:00
amy0701 5075ed8045 update testcases related to makedns
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15980 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-16 08:16:23 +00:00
jjhua ab04cdafc3 only remove the repositories which were created by xCAT for sles
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15979 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-16 05:36:51 +00:00
ligc 093e1cb8e4 fix for bug 3476: set @::finalTypeList based on both CLI and FILEATTR
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15976 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-16 02:48:33 +00:00
lissav 9c89936b69 fix 3477
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15974 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-15 12:30:15 +00:00
xq2005 63b5ea43c9 support pgsql on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15972 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-15 07:13:00 +00:00
ligc 575100ab75 fix for bug 3496: disable SELinux on RHEL, check rc problem
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15970 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-15 04:53:23 +00:00
daniceexi d8b7c905a6 Change how to get the bmc for a predefined node
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15968 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-12 08:12:12 +00:00
daniceexi b7d1915698 Update the code that get the correct switch infor for the install nic
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15967 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-12 08:11:56 +00:00
daniceexi bd8f5021f5 Change the collaboration with sequential discovery for the output of nodediscover* message
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15966 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-12 08:11:39 +00:00
linggao 538e43dfa2 modified puppet kit version
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15962 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-11 20:33:03 +00:00
jbjohnso 66a5a01733 Remove debug output from wcons
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15953 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-11 14:29:18 +00:00
nott 26dcd874de remove use of global variable DELNODE
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15952 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-11 14:29:01 +00:00
jbjohnso e61792e180 Have wcons not call nodels as a subprocess
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15951 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-11 14:28:35 +00:00
jbjohnso 0fc0fbfcff start fixing wcons
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15949 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-11 14:17:09 +00:00
daniceexi f4b76731c4 Add cappingGmin support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15947 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-11 04:21:35 +00:00
daniceexi bda7f19bc4 Add cappingstatus support and support the capping setting for double wide blade
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15946 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-11 03:19:01 +00:00
mellor c8ee86a306 hpc kit build file updates for kit osarch and osbasename updates
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15944 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 22:37:12 +00:00
jbjohnso aa204c02fb Fix problem where psh -f would go more than requested
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15943 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 21:01:47 +00:00
bp-sawyers 4ca934115b fix syntax errors in nodediscoverls and nodediscoverstart pod pages
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15941 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 20:50:53 +00:00
mellor 283d9711e5 add arch and other attrs to full kitname
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15938 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 19:38:57 +00:00
lissav 76ccff5b66 fix defect 3483
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15936 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 15:53:33 +00:00
amy0701 a8094a6ec4 spelling mistake for Script_Post make script_post fail to work
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15933 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 11:39:29 +00:00
jjhua 9c42853e1c remove the debug flage
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15929 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 09:33:45 +00:00
jjhua 1f23d67e4d add some code to make the config_chef_server work during post boot period
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15927 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 09:32:25 +00:00
jjhua 3a7d35f220 1. modifies some comments 2. add the rpm post script
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15924 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 09:23:56 +00:00
jjhua ed369ce3b8 add the rpm version to the kit version # and the kitcomponet version #
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15923 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 09:09:38 +00:00
wanghuaz 2751c2cb43 Updated lskit to 'SEE ALSO' section in manpage of addkit/rmkit/addkitcomp/rmkitcomp/chkkitcomp
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15922 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 06:48:34 +00:00
yinle 5c437d385a fix bug 3462 no any output executing lsslp --flexdiscover. Remove manual information of lsslp --flexdiscover.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15911 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 02:53:57 +00:00
yinle 07ad36c9d2 fix bug 3462 no any output executing lsslp --flexdiscover. Remove the --flexdiscover from help information.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15910 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 02:49:38 +00:00
mellor 8ef2221595 defect 3465 ppedev 1.2.0-2 kits
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15909 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 02:34:05 +00:00
yinle e9caf6e420 Continue to fix bug 3428 lsslp -n does not check xCAT DB properly for current objects, support using mtms to match cmm.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15907 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-10 02:20:37 +00:00
lissav 43a383bd68 fix defect 3477
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15905 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-09 18:24:53 +00:00
mellor 1bb3f61a84 defect 3474 - fix parsing of rpm names for kitpkgdeps
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15900 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-09 13:08:39 +00:00
daniceexi a57b1bbfa6 Update the man page for sequential discovery support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15898 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-09 12:03:02 +00:00
wanghuaz 309b357920 Checkin the partial-teal kit source files
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15894 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-09 10:31:16 +00:00
ligc ac13f9a177 fix for bug 3454: handle the object name like fd59::/64
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15891 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-09 08:19:57 +00:00
jjhua 805e0d5fd1 make it work during postboot period
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15890 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-09 08:03:47 +00:00
immarvin 2226a4e58d replace nfs-utils with nfs-kernel-server in sles11 pkglist
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15886 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-09 06:46:00 +00:00
ligc ceb308e21d fix for bug 3353: remove lsvpd and busybox-anaconda
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15882 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-09 06:31:01 +00:00
daniceexi f7b2205e92 support the regular expression in the hosts table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15874 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 08:37:01 +00:00
immarvin 60f393ea20 add /lib64/libnss_files.so.2 into initrd, this is needed by mount.nfs in sles11.2
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15873 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 08:23:14 +00:00
jjhua edd1ecd3d7 remove the repeated infor
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15869 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 08:14:25 +00:00
zhaoertao 8d54d0c251 update manpage for mkdef|chdef that adding option \'-u\' for them to fill in osimage attributes
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15867 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 07:34:13 +00:00
ligc 19cd9c4766 fix for bug 3470: remove the ifname from the /etc/sysconfig/network/routes
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15866 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 07:29:14 +00:00
ligc ad308476bd fix for bug 3471: print message if the persistent route does not exist
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15863 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 07:11:43 +00:00
daniceexi be14247f0e move the switch info update and nodediscoverydata update before the final communication for restart to avoid the sock missing
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15861 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 06:37:08 +00:00
zhaoertao 002c6f54d5 add \'-u\' for mkdef|chdef command to have osimage find custom files
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15860 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 06:36:12 +00:00
jjhua 612a83d020 remove the -vx from the shell script
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15857 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 06:30:07 +00:00
jjhua cc6acc6bb0 Added code for xCAT chef intergration on Ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15855 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 06:24:24 +00:00
jjhua 3b071e27a0 Added code for xCAT chef intergration on RH
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15854 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 06:20:46 +00:00
jjhua 540dc00882 remove the repositoris whose prefix is -path
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15851 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-08 01:37:27 +00:00
xq2005 4de74e13fb buildkit support on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15850 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-07 08:44:05 +00:00
ligc c308aa725e fix for bug 3476: remove empty nics definition from nics table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15847 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-07 06:53:05 +00:00
asirxing 64bae37fe1 Merge lskit/lskitcomp/lskitdeployparam codes to xCAT 2.8 brunch
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15846 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-07 06:35:15 +00:00
wanghuaz f1471cd5f7 Fixed an error in last checkin.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15845 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-07 06:32:50 +00:00
daniceexi e63dc81a22 Code drop for sequential discovery support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15841 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-06 09:40:39 +00:00
jbjohnso 3e01b29a0d Fix AAsn to not die horribly when non-reference is returned from some function
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15837 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-05 20:51:06 +00:00
phamt 0df98e654c Fixed grep to be case insensitive and find SCSI device using both WPN and LUN, instead of just LUN. A WPN and LUN uniquely identify a device.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15836 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-05 02:35:29 +00:00
jbjohnso 056ee611fd Correct syntax error
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15833 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-04 20:16:12 +00:00
jbjohnso 5d8c72397f Fix typo
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15832 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-04 20:14:18 +00:00
jbjohnso 486f8cf81a Apply methodology from previous commit to a number of other places
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15829 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-04 20:11:12 +00:00
jbjohnso d3107ef14b Simplify a lot of xcat IPC by removing the silly 'endoffreeze' in favor of store_fd and retrieve_fd
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15828 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-04 20:11:05 +00:00
phamt 501b7f1f7e Fixed how default route was specified in autoyast template. Moved 'add SCSI' to disk panel on xCAT-UI because 'add SCSI' creates an EDEV.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15827 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-04 16:01:24 +00:00
jbjohnso f4a9ec312c Fix for template recognition to detect major release generic templates
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15826 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-04 13:04:00 +00:00
jbjohnso d652fa96fb Use a different error code
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15822 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 20:56:11 +00:00
jbjohnso a2205b8fab Have copycds error set exit code on client
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15821 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 20:55:13 +00:00
linggao 8a53557d7d bug fix for puppet kit
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15820 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 20:40:49 +00:00
jbjohnso af9428ed10 Support per-node product keys, defaulting to 'os key' if nothing specified
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15818 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 20:34:26 +00:00
jbjohnso 250336787e Fix nextdestiny powershell script to have WinPE skip trying to retrieve CA certs mid-connection
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15815 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 20:19:18 +00:00
jbjohnso 2702329dda Fix error in esxi plugin
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15813 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 18:20:58 +00:00
xq2005 3cc7478097 pgsqlsetup support postgresql on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15812 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 16:30:24 +00:00
lissav 99dd2a7520 add back the csm to xcat migration tools
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15810 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 13:16:56 +00:00
xq2005 811829c9b5 debian/ubuntu support internet repo for otherpkgs
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15807 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 09:20:33 +00:00
xq2005 04889ca0c2 debian/ubuntu support internet repo for otherpkgs
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15806 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 09:18:55 +00:00
ligc cfcf63be3a fix for bug 3460: add ipv6 default gateway setup for configib
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15803 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 09:16:20 +00:00
zhaoertao 9e50bea3e6 3461 Undefined subroutine &xCAT::FSPUtils::defiend called at /opt/xcat/lib/perl/xCAT/FSPUtils.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15801 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-03 09:07:03 +00:00
phamt bf4b276286 Updated output message of purgerdr option.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15799 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-02 20:34:15 +00:00
phamt 9b378cdf85 Enabled remote Linux repositories to be specified in noderes.nfsserver. When specified, noderes.nfsserver will be used instead of the local /install directory.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15798 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-02 20:26:28 +00:00
jbjohnso cfbefff7c7 Add support for Windows to do autoula mode and indicate non-support of static managed address mode in windows context
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15797 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-02 19:58:03 +00:00
mellor 0cb19bfa2b defect 3385 again - need separate subs for both real kitname and modified kitname
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15794 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-02 19:49:43 +00:00
jbjohnso feadffbc7b Provide a mechanism for bundled xCAT instances to forbid image import without existing templates
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15793 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-02 19:20:09 +00:00
mellor d72811fe49 update kit template with various changes
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15791 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-02 17:56:19 +00:00
mellor 96c92e083a defect 3406 createrepo for RH5 and 3407 correctly handle blank osminorversion value
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15789 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-02 17:39:03 +00:00
mellor b0740da8c4 buildkit man page update for addpkg and other changes
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15784 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-02 13:36:46 +00:00
zhaoertao 83e36d1d07 fix bug:3451 New xCAT Support for mkhwconn -s and sfp for Flex P blades with HMC
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15783 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-02 09:10:20 +00:00
wanghuaz d421ad766a Updated addkitcomp manpage for --noupgrade option
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15781 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-02 05:00:41 +00:00
mellor 486d2c3027 defect 3385 fix string subs in plugins and finish defect 3366 kit version and release subs in addpkgs support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15779 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 21:27:18 +00:00
jbjohnso fefe378467 Rename site value to something more specific
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15777 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 19:11:28 +00:00
jbjohnso d616ef7269 Provide site value to suppress credential check messages
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15776 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 19:11:22 +00:00
nott ee67cada6f more usage msgs and error checking
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15774 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 18:51:06 +00:00
bp-sawyers ce65f31188 fixed typo in regex example in xcatdb man page
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15772 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 18:46:49 +00:00
nott 049afdbdf0 support xCAT long hostname
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15769 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 17:24:37 +00:00
lissav 8b680bb3b6 fix defect 3412
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15767 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 16:50:16 +00:00
wanghuaz 317368df00 Output erros if there is any failure during DB operation, in case DB operation didn't output any error on failures.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15763 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 12:50:20 +00:00
wanghuaz 8428a71e7b Fixing a problem that sles enables all the repos for new #NEW_INSTALL_LIST set, it prevents putting multiple versions of a packages with different repos into otherpkgs dir. Now we only enable the necessary repos for each zypper command
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15762 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 12:11:05 +00:00
wanghuaz 89209d885b Fixing bug 3410: don't remove kitrepo if there is other kitcomponent assigned to the osimage
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15759 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 10:37:42 +00:00
yinle ef7ebb34b8 Modify the man of rscan to support rscan with system-x-nodes in flex.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15756 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 07:57:04 +00:00
yinle 87497e65c5 Modify man page of rspconfig, add support of rspconfig system-x-nodes network=*
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15754 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 07:50:20 +00:00
creativezj 5ea143c734 fix multiple nic error while all nics in same network
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15752 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 07:17:34 +00:00
phamt 41c00b59e2 Fixed bug where argument size check was not correct. Added default mode for chvm --add9336 option.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15750 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-04-01 01:46:31 +00:00
wanghuaz 0bc40f667a Fixing two problems: 1. previously all the repos are enabled for all the yum commands. now we only enable the required repos for each yum command. 2. run yum clean in the diskless image to cleanup the repo meta data. this is required if there are multiple versions for one package name to be installed
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15749 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-31 22:45:18 +00:00
wanghuaz 2091c7a1c7 added addkitcomp --noupgrade option to install multiple PE RTE PTFs.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15746 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-31 22:34:56 +00:00
xq2005 aa807e7dca statelss image support internet repo on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15745 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-31 14:41:00 +00:00
phamt 631fa6d9ca Fixed typo in output string
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15743 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-30 21:47:51 +00:00
phamt 1f07c5c769 Fixed disk format bug where code continues to run even though link is only R/O.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15742 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-30 21:38:55 +00:00
linggao 5165ce4098 Openstack support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15741 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-30 21:15:19 +00:00
wanghuaz e70bea3edb Create osimage with profile compute for management node
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15739 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-30 07:55:41 +00:00
linggao cb3ccba715 bug fix in otherpkgs, keep the repofile because sometimes the error is caused by other repos
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15737 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-30 02:11:14 +00:00
linggao 5ae42f335c Added code for xCAT puppet integration on RH
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15735 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 19:54:27 +00:00
linggao 7211b9c3d5 Added code for xCAT puppet integration on Ubuntu.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15733 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 19:04:31 +00:00
phamt 700b9a6483 Changed mount point during cloning so that multiple clones could be run independently.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15731 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 16:30:41 +00:00
phamt f0cd1b890a Allowed dialog box to show up when adding disks or NICs, even when no disk pool or network exists.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15730 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 15:38:05 +00:00
nott d83a06c0c3 add default for nichostnamesuffixes
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15728 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 13:19:19 +00:00
nott bb7ec57c23 description change for nicaliases - again
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15727 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 12:58:23 +00:00
nott 980e17ea82 description cahnge for nicaliases
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15725 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 12:37:26 +00:00
lissav 3c42ae7c06 fix defect 3426
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15724 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 11:38:14 +00:00
creativezj 44d26e560f support multiple nics in nodeimport
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15722 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 06:00:43 +00:00
xq2005 9a584bdb4b copycds support option -i on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15719 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 03:45:31 +00:00
xq2005 e977c2b2d8 load firmware in debian/ubuntu stateless initrd
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15717 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-29 03:05:24 +00:00
jbjohnso 2e91fbbf48 Have provision for per-node AD admin credentials
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15715 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 20:52:24 +00:00
jbjohnso 082f7f3e3a Make allowances for per-node activedirectory enablement
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15713 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 19:00:56 +00:00
jbjohnso 21bbe861a5 Add entry to allow per-node authentication domain configuration
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15711 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 18:54:03 +00:00
jbjohnso 3ca8c9a561 Now that we can specify domain per node, take out check that would reject a valid config
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15709 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 18:51:09 +00:00
jbjohnso c6005f0dac Add more IPv6 magic to ESXi setup
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15707 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 18:31:15 +00:00
jbjohnso d5ab1780ab Add flag for appliance use to recognize static addressing modes not yet supported in xCAT mainline
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15706 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 18:30:59 +00:00
lissav 5795765011 handle easy regx expressions
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15704 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 12:07:25 +00:00
immarvin 337ca536f0 nfs-utils package not exist in sles11 iso, use nfs-client instead or remove it from pkglist
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15698 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 08:34:58 +00:00
yinle c16a9a31d7 support rspconfig system-x-node network=*
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15693 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 08:04:37 +00:00
yinle cc4b65dfa8 support rspconfig system-x-node network=*
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15692 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 08:01:28 +00:00
yinle dd835f744c support rspconfig system-x-nodes network=*
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15691 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 08:00:21 +00:00
immarvin f21047b44e replace xntp with ntp in sles pkglist
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15686 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 06:18:51 +00:00
immarvin 28e50efbef add ntp to the sles pkglist
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15685 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 06:10:04 +00:00
mellor f5eb7b6713 added kit.release attr
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15681 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 02:34:42 +00:00
mellor 15ad3d4144 rewrote buildkit buildtar and addpkgs for kit verrel substitution support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15679 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 02:30:49 +00:00
ligc a799e2602e fix for bug 3446: add 69 into ports list, chkconfig SuSEfirewall2_init on
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15677 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-28 01:40:54 +00:00
bp-sawyers e748ed903d corrected chain.chain attribute description
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15674 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-27 20:39:49 +00:00
wanghuaz 47bcc75d71 enhanced function Utils->osver() to accept paramerters to output different data. If no parameter, the output will be same as before.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15670 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-27 10:19:30 +00:00
jbjohnso de3aa1ae04 Fix DNS client configuration for Windows when doing static assignment
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15667 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-26 14:38:49 +00:00
jbjohnso 27c9f9dbb3 Fix missing close tag on xml in last windows commit
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15665 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 21:08:19 +00:00
jbjohnso 90ec9da165 Switch to server side fill in attempt for interface identifier in dns client config in windows
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15664 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 20:52:51 +00:00
jbjohnso ce684e0108 Add directive to support alternate DNS server for windows deployments if DHCP is not to be trusted
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15662 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 20:02:31 +00:00
jbjohnso 094aee795f Fix issues with previous commit
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15660 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 19:37:36 +00:00
jbjohnso 1dcd7a42b1 Fix issue where powershell instrumentation fired up with no hope of successfully performing SSL
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15659 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 19:37:29 +00:00
mellor b6260d6a70 new kits for PE RTE 1.3.0.2 and GPFS 3.5.0.9
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15656 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 17:59:46 +00:00
jbjohnso 91d690e502 Fix for anaconda claiming toolscenter oses
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15654 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 17:39:42 +00:00
jbjohnso 95d973258c Have upflag try to use powershell when available instead of exes.
Have xCAT powershell client attempt without a certificate when no client certificate specified

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15652 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:58:09 +00:00
jbjohnso cf0bfb9d11 Show errors in default formatting.
Add function to import exported credential package

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15651 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:58:01 +00:00
jbjohnso df39576937 Finish xcoll, add some more objects to control formatting better, have NodeRange on pipeline attempt to join for chaining after xcoll
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15650 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:57:55 +00:00
jbjohnso e6cee5014a Work towards an xcoll workalike, also likely a xcsv workalike
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15649 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:57:47 +00:00
jbjohnso c1ee6f6383 Add familiar aliases for PS usage
Add more commands
Support pipelined strings and xCATNodeData for indicating noderange

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15648 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:57:42 +00:00
jbjohnso 50a575c952 Add some inital table formatting for typical output
Fix problem where Powershell replaces commas with spaces (hopefully fixed)

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15647 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:57:37 +00:00
jbjohnso 6c97efdae9 Spice things up a little by putting in a vitals and a power test case, testing out the command send command
TODO: repackage the xml object into intended powershell objects
Output types:
-xCATData
-xCATNodeData
-xCATNoderangeData
xCAT Data has error and data not contained within a node
xCATNodeData has error and data contained within a node
xCATNoderangeData will be an aggregation of the above (to be treated differently ps1xml wise hopefully)

The original noderange will be chucked into any of these, for Merge-xCATNodeData to have as a hint maybe

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15646 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:57:30 +00:00
jbjohnso d820388726 Actually have the powershell module successfully be able to run commands
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15645 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:57:22 +00:00
jbjohnso 354269134a Actually have a test case that will get to the permission denied phase
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15644 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:57:16 +00:00
jbjohnso 6ef1671e23 Milestone for powershell client code, can now add the CA and successfully verify server:
PS R:\pst> import-module .\xCAT.psd1
PS R:\pst> Import-xCATCA .\ca-cert.pem
PS R:\pst> Connect-xCAT odin 3001
PS R:\pst>
(commit best reviewed while listening to O Fortuna)

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15643 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:57:10 +00:00
jbjohnso b28f6f307f A little more PowerShell experimentation
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15642 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:57:04 +00:00
jbjohnso 64b30e639c Add a manifest for the powershell xCAT client
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15641 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:56:56 +00:00
jbjohnso 6055da9ab6 Rename xCAT powershell module
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15640 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:56:49 +00:00
jbjohnso 6e36a72117 Modify xCAT Powershell libs to load without warning/error
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15639 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:56:44 +00:00
jbjohnso 4f8cacb6bb Check in more comments and code into the still yet non-functional powershell module
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15638 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:56:39 +00:00
jbjohnso 311e4d2e1d First pass at some xCAT powershell functions to build updatemynodestat/reportip/updateflag out of in name of removing compiled code
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15637 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:56:33 +00:00
jbjohnso 60ced905aa HTTP/1.1 sends headers back more, tolerate that
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15636 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 13:44:59 +00:00
zhaoertao bfe01b3aeb modify "rvitals <flex node> lcds" using pblade_query_lcds to get the lcds info
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15634 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-25 02:52:16 +00:00
nott 3b984994b8 add support for nicaliases
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15631 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-22 14:25:53 +00:00
nott 17d12747a8 add to nicaliases description
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15629 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-22 14:13:36 +00:00
xq2005 29cbd7344e genimage on ubuntu12.04.2 meet package installation error
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15627 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-22 10:21:53 +00:00
phamt b2910a9ff7 Enable graphics tab on xCAT-UI to handle nodes where the nodetype is not specified.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15625 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 21:40:53 +00:00
phamt daada72738 Added new columns into the storage table to handle z/VM's SCSI-FCP devices.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15624 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 20:32:28 +00:00
nott f618da03b0 add nicaliases support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15623 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 19:26:26 +00:00
phamt 994a61b23f Fixed toggle of options to be triggered by input box vs. list item.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15621 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 18:46:00 +00:00
phamt d83ddb7f69 Fixed eventlog tab on xCAT UI to use a textarea instead of input box for log options.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15620 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 18:36:20 +00:00
nott 3759698b55 fix bad hosts file entry - 3439
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15619 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 18:21:32 +00:00
jwsimpson 8b4949d1fd lsslp support for transAM
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15616 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 17:29:43 +00:00
nott 25c43dac30 add bash to aix bundles
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15614 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 17:11:56 +00:00
nott 28a4eccb48 fix rmnimres subroutine
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15612 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 13:58:55 +00:00
xq2005 e65799ab28 delete the uesless genimage.old
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15608 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 08:26:32 +00:00
jjhua c063fe1a6f made some updates in the pkglist for bug 3444
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15606 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 06:57:22 +00:00
ligc 2f1908c0fe update xcatstanzafile manpage to inidicate the attribute might include the character dot (.)
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15603 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 06:49:34 +00:00
ligc 69898aee7a chdef,mkdef enhancements to support nic attributes
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15601 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 06:39:44 +00:00
jjhua 745e92baec fixed bug 3437
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15599 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-21 05:19:26 +00:00
phamt cb171eab7a Cleaned up how smcli calls are logged in syslog.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15597 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-20 20:47:12 +00:00
xq2005 35ea34acc3 support copycds -i on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15596 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-20 08:10:01 +00:00
yinle fee4fccf1b minor fix.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15593 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-20 03:28:50 +00:00
yinle 7fddd47f72 Modify rscan to support system x node for blade.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15592 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-20 03:00:36 +00:00
linggao 170647e000 fixed SF bug#2433
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15591 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 21:18:43 +00:00
lissav 123abffe4f fix for defect 3436
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15589 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 17:59:15 +00:00
jbjohnso c911961b09 HTTP/1.1 seems to be required for RHEV-M to respond right
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15585 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 15:47:36 +00:00
jbjohnso 03a445a74a Fix xCAT-server rpm build srpm problem
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15583 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 14:48:15 +00:00
jbjohnso 7bb722ae35 Add more objdef mappings for table data
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15582 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 14:32:05 +00:00
jbjohnso fc69abc703 Add node/group level nameserver indication to schema
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15581 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 14:31:44 +00:00
jbjohnso 23847c14c7 Have sshd directory contain public keys, as some pieces of software are expecting, whether they should or not
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15579 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 13:35:10 +00:00
jbjohnso c4368dc065 Support per-node ssh host keys if detected - Thanks to Frank Schwichtenberg
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15578 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 13:25:12 +00:00
lissav dfd8ebdf2a add use File::Path used in code,but missing. Result of Utils.pm split. Broke zvm build
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15576 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 13:21:06 +00:00
lissav 6c304ce11c fix for defect 3434
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15574 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 11:15:43 +00:00
xq2005 20c386bac4 setup odbc for mysql on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15572 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 08:55:34 +00:00
xq2005 7d7e447c3d use mysql db on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15569 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 07:43:02 +00:00
immarvin df101c0356 fixed some syntax in storage.rhels6.tmpl, as some variables are no longer supported in the kickstart. rename storage.pglist to storage.pkglist
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15568 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 07:21:57 +00:00
xq2005 16b5f241de use mysql db on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15566 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 07:14:22 +00:00
amy0701 df072efeb1 update testcase for geninitrd
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15563 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-19 06:48:10 +00:00
wanghuaz e88555600a Added the manpage of addkit -i|--inspection option to show the summary of the given kits without adding them.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15560 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-18 08:59:06 +00:00
amy0701 bc1554306b add testcase for statelite installation on x86_64_redhat
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15556 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-18 06:09:52 +00:00
amy0701 a301b0ac25 update testcase for servicenode installation
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15555 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-18 06:03:04 +00:00
amy0701 25bce09a12 add testcase for diskfull install with SN on x86_64 redhat
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15554 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-18 05:58:54 +00:00
amy0701 ba0f3429f7 add testcase for diskless installation with sn on x86_64 redhat
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15553 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-18 05:51:03 +00:00
amy0701 858a39687d add testcase for servicenode installaton for x86_64 redhat
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15552 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-18 05:42:24 +00:00
jwsimpson ce4891f5c2 FSPpower.pm updated to allow sms option
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15541 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-15 21:39:20 +00:00
jbjohnso 21618dde89 Correct Sys::Virt version check
Fix broken LVM behavior when faced with a pre-built LVM VG/PV (as reported by Michael Fenn)

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15536 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-15 19:43:05 +00:00
jwsimpson 8555e39312 lsslp Usage update to add FSP and IMM2 to -s option
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15532 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-15 13:46:24 +00:00
yinle e0e4031f68 fix bug 3428: lsslp -n does not check xCAT DB properly for current objects
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15530 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-15 07:50:43 +00:00
yinle e36818588b fix the issue that lsslp put in the SLP request messages into the "stana" files working with lsslp -z flag
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15525 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-15 06:08:50 +00:00
yinle 74ac16a3ad fix the issue that lsslp put in the SLP request messages into the "stana" files working with lsslp -z flag
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15523 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-15 06:03:54 +00:00
nott 4def0472ed misc cleanup
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15521 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 16:03:11 +00:00
bp-sawyers d3b43b6f9c added author to tools help
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15519 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 14:20:31 +00:00
xq2005 bda8a294b6 use the default pkglist on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15517 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 08:56:03 +00:00
xq2005 e3073a442f use the default pkglist on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15516 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 08:55:31 +00:00
xq2005 e682391071 support comment in the pkglist on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15514 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 08:51:46 +00:00
jjhua 5e1d6d912c Before adding the os repos and otherpkgs repos, check if the repos were already added by xCAT in the previous run, if yes, update these repos; otherwise, create these repos directly. For the os repo added by addsiteyum, it should be deleted by ospkgs and otherpkgs, the ospkg and otherpkgs will add the os repos point to more directories. After ospkg/otherpkgs is done, do not remove the repos.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15510 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 07:46:42 +00:00
jjhua bfcfd7311a Before adding the os repos and otherpkgs repos, check if the repos were already added by xCAT in the previous run, if yes, update these repos; otherwise, create these repos directly. For the os repo added by addsiteyum, it should be deleted by ospkgs and otherpkgs, the ospkg and otherpkgs will add the os repos point to more directories. After ospkg/otherpkgs is done, do not remove the repos.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15509 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 07:46:19 +00:00
ligc fe5e749dfc lsdef enhancements to support nics, display and set nics info more easily
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15508 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 07:44:32 +00:00
ligc f07a2af37c lsdef enhancements to support nics, display and set nics info more easily
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15507 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 07:41:51 +00:00
zhaoertao 0062a95fed update manpage for reventlog <-s>
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15506 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 07:31:26 +00:00
xq2005 0226f26fc6 buildkit support external non_native_pkgs on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15504 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 07:22:28 +00:00
zhaoertao 1ecc7a08db add option '-s' for reventlog to output the event from latest to oldest
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15501 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 07:07:40 +00:00
daniceexi 35f86b5f09 Add the support for flex
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15500 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 06:29:46 +00:00
jjhua 04112294b3 fixed bug 3259, have the addsiteyum be called before running the postscripts, the repos might be needed by some other user customized scripts.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15497 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 02:43:26 +00:00
jjhua 0ceaa7466b fixed bug 3259, disabled the the centos internet repos added by the os.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15496 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 02:31:11 +00:00
daniceexi a0a6db72ff Fix bug with optional persistence where reset no longer survives
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15493 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-14 02:27:30 +00:00
bp-sawyers 199505c28b automatically build readme for tools
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15491 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-13 23:48:24 +00:00
jwsimpson 0fa5e225b0 Updated to skip Flex power blades when "-s CEC" is specified - also corrected model to not filter on 8236 for flex
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15487 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-13 19:20:05 +00:00
linggao 044848b35d fix sf bug #3422 updatenode -P fails to resolve name of mypostscript file on the MN
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15485 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-13 19:12:32 +00:00
nott 1c34bf0180 changes to finding xcat node name
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15483 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-13 18:40:05 +00:00
daniceexi 8bb98b06de Support site key persistkvmguests
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15481 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-13 13:19:09 +00:00
xq2005 fafee79e70 support makeknowhosts on debian/ubuntu
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15480 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-13 10:42:14 +00:00
wanghuaz a3875d16d1 Fixing bug 3372:Don't mount /proc fs since it will confuse the rpm or scripts that they are on diskfull nodes.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15479 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-13 10:14:12 +00:00
xq2005 77f206907b sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15473 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-13 06:39:54 +00:00
sjing 810bf5f8b7 backported from trunk.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15471 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-13 06:07:41 +00:00
phamt e02c1b8b67 Fixed cloning issue where code was looking for a case-sensitive NIC address and not modifying the network configuration correctly. Added logging of smcli calls into syslog to improve debugging. Add loop to find the correct partition with file -s /dev/dasd*. This fixes a cloning issue where flashcopy is not instantaneous and flashed copy volumes do not appear immediately when linked.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15470 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-12 23:10:58 +00:00
jbjohnso a67cacfdbe Add centos6.4 discid
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15469 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-12 18:13:59 +00:00
nott c2bb10e13c add xcat node name to /etc/xcatinfo file
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15467 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-12 16:38:03 +00:00
lissav a7e6eafbac add /share/xcat/tools to the path AIX and Linux, for AIX xcatconfig will also handle the update path
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15465 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-12 13:26:09 +00:00
lissav 86d6fd80b3 add /opt/xcat/share/xcat/tools to the path for AIX
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15462 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-12 12:37:12 +00:00
daniceexi f7571ecb81 defect 3195: change the search pattern to the uxspi binary path
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15458 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-12 11:11:00 +00:00
daniceexi b964b3f563 code drop for flex energy management support through cmm snmp interface
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15457 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-12 10:50:18 +00:00
immarvin 773f4d0fc0 add rhels5.9 support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15454 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-12 08:08:05 +00:00
immarvin 8b57285cc1 add anaconda template for compute.rhel5.ppc64
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15452 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-12 07:39:33 +00:00
wanghuaz 0ded16368b Only ppe_rte_license 1.3.0.0 can be used with PTF1.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15451 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-12 07:38:48 +00:00
nott 716a006d2b fix -m and xcat node name issue
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15447 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-11 19:34:21 +00:00
bp-sawyers 4e91fb6cc7 Backporting brian finleys fix of adding / to var path in genesis-scripts doxcat
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15446 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-11 15:49:32 +00:00
zhaoertao 74db2d9120 snyc from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15445 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-11 01:57:06 +00:00
phamt 10d1f08e23 Added check for return code on Linux dd.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15444 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 22:50:16 +00:00
linggao 611aa5f994 More fix for SF bug #3404 configib for aix
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15443 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 19:50:19 +00:00
phamt 43de2697b3 Backport z/VM code in trunk to 2.8 branch.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15441 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 17:41:44 +00:00
wanghuaz 91fbf65bbf Sync xcat-buildkit files from trunk to 2.8 branch
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15439 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 15:18:12 +00:00
nott 6c2c51d3d5 clarify results of -f and -r options
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15438 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 15:14:27 +00:00
lissav 00c79814f4 Add info to the help
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15436 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 11:37:59 +00:00
lissav b17cbaf52c fixed example to match new location of traceleve*
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15435 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 11:33:27 +00:00
jjhua 5eaf51ad77 add the image name and timestamp into diskless image when it is packed
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15433 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 06:06:39 +00:00
immarvin e9cae5c5d6 correct some format issues
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15432 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 03:31:54 +00:00
immarvin 07295f7953 support genimage -l for dracut mode
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15431 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 03:14:46 +00:00
xq2005 036bab9e21 sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15430 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 03:11:12 +00:00
immarvin a2eb94fd1c support genimage -l for dracut mode
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15429 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 03:10:32 +00:00
jjhua baca52bda8 support multiple paths of pkg for centos compute
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15428 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 03:09:35 +00:00
xq2005 fb420f6330 sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15427 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 03:06:21 +00:00
xq2005 ed1fa52e8a sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15425 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 03:05:08 +00:00
xq2005 7137646f44 sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15424 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 03:04:00 +00:00
xq2005 10e6ad65a4 sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15423 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 03:02:07 +00:00
xq2005 2451236800 sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15422 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 03:00:17 +00:00
xq2005 8bab44fcbc sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15421 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 02:58:06 +00:00
xq2005 ef5351655c sunc from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15420 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 02:56:30 +00:00
xq2005 d641143c50 sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15419 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 02:54:24 +00:00
xq2005 0b3016522b sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15418 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 02:48:36 +00:00
xq2005 4ce55c6175 sync from trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15417 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-08 02:45:16 +00:00
wanghuaz 11964eed4f Create otherpkgdir if it doesn't exist on management node or service node
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15416 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-07 21:00:39 +00:00
bp-sawyers 1416c62968 backport genesis-scripts spec change to not hardcode version
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15414 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-07 20:37:58 +00:00
bp-sawyers 861545f333 update xcatdb man page regex description
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15413 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-07 20:18:48 +00:00
lissav c8ffae5242 fix defect 3403
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15412 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-07 14:29:13 +00:00
lissav 870aec0318 fix defect 3403
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15411 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-07 14:27:59 +00:00
linggao cba4b90473 fixed SF bug #3367 so that imgimport and imgexport will get all the attributes from the osimage and linuximage tables
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15407 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-07 00:19:38 +00:00
linggao 9434376e11 fixed SF bug #3404 configib: Update xCAT IB configuration for AIX IB APAR IV36529
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15404 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-06 20:17:24 +00:00
lissav caa66f419a add sudo dcp -F support SF 3403
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15403 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-06 17:50:22 +00:00
linggao 92b22201f6 fixed SF bug #3398 updatenode -P fails if hostname on the node is FQDN
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15401 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-06 15:20:58 +00:00
xq2005 f688bd1efe fix infinite provision problem after use kit
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15398 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-06 10:31:40 +00:00
immarvin 8a1841c238 prevent remount root filesystem in rw mode during reboot
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15397 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-06 08:50:45 +00:00
sjing 83c02ade0d support imaged provisioning.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15390 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-06 05:27:55 +00:00
phamt cb803eff21 Fixed post-script to echo default gateway to /etc/sysconfig/network/routes file in mkay4z script.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15388 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-05 15:32:24 +00:00
immarvin cbcf638b34 rhels 6.4 support for ppc64 and x86_64
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15386 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-05 07:43:11 +00:00
immarvin fed0c20efd support -i for pping and ppping
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15381 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-05 05:29:49 +00:00
phamt b1b5e12fa4 Moved mkay4z script into /opt/xcat/share/xcat/scripts directory.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15373 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 19:57:00 +00:00
lissav bf8182e9ed fix defect 3401
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15372 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 16:48:06 +00:00
sjing e0b498898d support imaged provisioning.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15369 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 07:39:54 +00:00
sjing 828417286b support imaged provisioning.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15367 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 05:15:38 +00:00
sjing 0f1f11b01a support imaged provisioning.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15366 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 05:13:00 +00:00
sjing 17df46078f support imaged provisioning.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15365 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 05:08:13 +00:00
sjing 988acc9cf9 support imaged provisioning.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15364 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 05:03:52 +00:00
jjhua 1d200f5e4f support multiple paths of osimage on centos6 diskfull installation
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15363 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 03:23:32 +00:00
jjhua 6e64b59a07 support multiple paths of osimage in rhels diskfull installation
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15362 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 03:17:19 +00:00
jjhua 7e375c5162 support multiple paths of osimage in rh diskfull installation
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15361 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 03:09:01 +00:00
daniceexi 233ff4faf1 defect 3389: support the sles with tightvnc
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15359 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-04 03:03:01 +00:00
jwsimpson 59130c5163 Updated lsslp.pm to not report CECs for flex p blades. Also added support for IMM2
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15358 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 22:04:12 +00:00
jbjohnso c18b476889 Have xCAT support ssl parameter settings in site table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15356 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 21:26:35 +00:00
phamt f586f6453b Added range column into print output.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15354 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 21:22:14 +00:00
phamt 016c25940a Fixed nodeset to copy the contents of xcatinstallpost and xcatpostinit1 into the autoyast or kickstart template, allowing postbootscripts to be run.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15352 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 21:00:51 +00:00
nott 64e2391d02 add support for running local install script
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15351 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 19:26:29 +00:00
linggao 8db73414b3 fixed SF bug #3392 rmimage removes tftpboot kernel file that may be used by other images
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15349 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 19:12:27 +00:00
nott ba6778494f new aix software update script
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15345 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 18:25:33 +00:00
lissav d19df65b7a fix defect 3398
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15344 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 17:34:38 +00:00
linggao dfd9d9a7a8 Fixed SF bug #3159 rcons can not work when node.conserver is set to MN
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15341 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 15:29:42 +00:00
lissav 372a951dee adding this new tool from Brian Finley. He put it in trunk
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15340 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:50:43 +00:00
lissav ccd2746668 defect 3397
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15339 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:48:47 +00:00
lissav a6a5ddfca9 defect 3397
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15338 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:47:28 +00:00
lissav 463e95e1cb defect 3397
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15337 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:47:08 +00:00
lissav 0dd99cd1cf defect 3397
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15336 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:46:18 +00:00
lissav 1919c0b25d defect 3397
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15335 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:44:02 +00:00
lissav 76115f17d0 add crontab -l
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15333 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:39:11 +00:00
lissav 1e19da4709 Defect 3397
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15331 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:25:58 +00:00
lissav 739f2f4318 Defect 3397
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15330 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:24:12 +00:00
lissav e469851b25 Defect 3397
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15329 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:23:34 +00:00
lissav 79c8fec75a Defect 3397, make samples directory
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15328 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:15:46 +00:00
lissav 016f967cce add additional ssl settings for xcatd SF 3396
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15327 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 13:07:21 +00:00
jjhua 7901088307 add some information of multiple paths to linuximage.pkgdir
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15325 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 09:15:18 +00:00
jjhua dd7d473d49 support multiple paths of osimage in sles diskfull installation
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15324 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 09:12:20 +00:00
jjhua 1ecd2f5164 support multiple paths of osimage in sles diskfull installation
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15322 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 09:07:58 +00:00
jjhua 841d58be57 support multiple paths of osimage in rh/sles diskfull installation
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15321 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 09:04:02 +00:00
ligc 58e96b4a07 code drop: IPv6 support on Linux
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15319 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-03-01 08:55:03 +00:00
lissav b6d19b4c8e fix defect 3380, add support for NoErrorPrefix, NoWarnPrefix
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15311 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 21:16:30 +00:00
lissav 38d37ad6ff add fanout support defect 3395
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15310 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 21:11:04 +00:00
lissav 2b4030ce0e Support MN in Servicenodetable https://sourceforge.net/apps/mediawiki/xcat/index.php?title=Support_Management_Node_in_the_servicenode_table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15309 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 21:07:29 +00:00
lissav c03ae7778d Support MN in Servicenodetable https://sourceforge.net/apps/mediawiki/xcat/index.php?title=Support_Management_Node_in_the_servicenode_table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15308 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 21:06:08 +00:00
lissav 905ec1d14f Support MN in Servicenodetable https://sourceforge.net/apps/mediawiki/xcat/index.php?title=Support_Management_Node_in_the_servicenode_table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15307 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 21:04:55 +00:00
lissav 0cb0a17479 add fanout support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15306 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 20:55:30 +00:00
lissav 8c7cf3ae29 add fanout support, cleanup and fix defect 3362
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15305 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 20:48:25 +00:00
lissav 5acdc18ced add fanout support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15304 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 20:47:12 +00:00
lissav 191dcde3dc fix defect 3362
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15303 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 20:45:45 +00:00
lissav 102c33be71 Fix 3052 and add sudo for dcp and fix 3380
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15302 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 20:37:19 +00:00
lissav be9f165796 Fix 3052 and add sudo for dcp and fix 3380
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15301 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 20:35:42 +00:00
lissav 7f926c1346 Fix 3052 and add sudo for dcp and fix 3380
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15300 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 20:33:35 +00:00
phamt 80254362a0 Added function to print to syslog.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15299 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 16:07:26 +00:00
bp-sawyers e9c2d13e0c Remove newline in Version file
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15296 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 15:25:11 +00:00
bp-sawyers e747066b32 Update 2.8 branch version to 2.8.1
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15293 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 15:04:29 +00:00
phamt 64cf838838 Search ifcfg file by case-insensitive address.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15292 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-28 14:47:48 +00:00
jbjohnso 6f3e2fb2f0 Revert "Have xCAT support ssl parameter settings in site table"
This reverts commit 7f18ae6d6f.

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15269 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-27 15:19:08 +00:00
jbjohnso 7f18ae6d6f Have xCAT support ssl parameter settings in site table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15266 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-26 21:12:39 +00:00
jbjohnso b906c24816 Certain nmap output with ipv6 could leave nodename with a trailing \n, correct
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15252 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-25 16:26:31 +00:00
phamt 476c3387cc Fixed cloning where fdasd is need for vanilla disks.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15246 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-24 02:02:30 +00:00
phamt ad004fa062 Fixed cloning where fdasd is need for vanilla disks.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15245 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-23 21:00:48 +00:00
jbjohnso 6e96acde8a Correct typo
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15231 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-20 19:27:45 +00:00
jbjohnso 4feb1eacf1 Add objdef for storage.osvolume
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15229 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-20 19:13:15 +00:00
bp-sawyers 9ba0674087 update for latest mcp build
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15206 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-18 22:45:49 +00:00
mellor 77f1b1b726 defect 3371 - fix osimage check for chkkitcomp
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15204 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-18 21:16:51 +00:00
mellor f8967bc0b6 defect 3376 - need to load XCATSITEVAL global in upd listener process
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15202 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-18 20:27:20 +00:00
leiaibj 863ba244c3 The function isValidHostname, it can not detect illegal hostname like 'a=b-c'
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15197 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-18 02:04:08 +00:00
phamt 47ab424f70 Fix MAC address prefix.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15192 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-15 23:11:17 +00:00
phamt bae3e6b789 Fix MAC address prefix.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15190 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-15 22:49:46 +00:00
phamt 093b05b784 Fix dependency issue with z/VM build.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15189 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-15 20:22:31 +00:00
phamt 3948b72c22 Updated rmigrate man page for z/VM.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15186 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-15 18:13:01 +00:00
phamt 093fa0578c Fixed inventory tab.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15184 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-15 17:20:22 +00:00
phamt dcd1acab69 Enable osimage specification on nodeset.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15182 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-14 20:27:37 +00:00
jbjohnso 5dbcb3dd65 Have xCAT WS support credentials via header rather than uri
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15179 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-14 19:19:13 +00:00
phamt 2f218a06f4 Fixed problem updating zFCP pool.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15176 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-14 16:10:08 +00:00
phamt 6c8f3298fa Fixed device address to be lower case because autoyast is case-sensitive.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15175 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-14 15:17:15 +00:00
phamt a4000ce977 Fixed SCSI/FCP devices in nodeset.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15171 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-14 05:19:00 +00:00
phamt 7ba40528e4 Added option to query all accessible LUNs. Fixed query WWPNs.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15170 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-14 04:09:07 +00:00
phamt 7fd00ce8ae Renamed function to open dialog to delete profile. Added new line at end of directory entry.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15167 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-13 19:41:21 +00:00
jbjohnso c2dec7b40b Add some cautionary wording aronud incomplete function
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15166 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-13 17:56:52 +00:00
phamt 4a3919e899 Fixed synchronization issue on self-service page.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15165 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-13 17:24:39 +00:00
lissav 4da96c27a3 add comments about no case
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15163 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-13 12:05:33 +00:00
phamt 72b785338b Fixed add disk to pool.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15160 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-12 22:53:08 +00:00
phamt 711b13383f Added input verification. Fixed add vSwitch option.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15159 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-12 22:15:52 +00:00
jbjohnso 8253aee359 Fix missing mandatory columns in storage table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15144 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-12 15:38:28 +00:00
jbjohnso 07fa06c4dc storage table
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15143 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-12 15:38:19 +00:00
phamt 184487e37e Fixed input value for xCAT UI. Allow code to handle different orders in /etc/hosts.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15142 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-11 22:49:44 +00:00
lissav 05ade551f4 fix bug 3365
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15137 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-11 19:07:08 +00:00
phamt 6aee46151c Fixed input value.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15135 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-11 03:57:23 +00:00
phamt 550b50149c Switched over to using z/VM system names vs. zHCP names.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15134 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-11 03:25:00 +00:00
phamt ba121aef4a Added tooltips. Fixed add/remove VLAN/vSwitch. Updated networks table.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15132 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-11 00:22:33 +00:00
phamt 40a9d41e0b Zero out hanging processes in cookie. Make zFCP devices persistent in udev.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15126 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-08 23:42:49 +00:00
jbjohnso 84ba7a178c Fix mistake in the win2k8r2 template
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15125 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-08 21:21:46 +00:00
jbjohnso e11b310efd Fix windows.pm to be drive letter agnostic in installs
Fix fixupunattend.vbs to not echo

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15124 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-08 21:21:37 +00:00
jbjohnso 232f325351 Fix mistake in variable name in windows.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15123 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-08 21:21:26 +00:00
jbjohnso b56f7e9e94 Make the Windows templates consistently leverage the AD/Local/DisableAdmin behavior
Eliminate the 'UEFI' only templates, have a single template get modified at runtime via a vbscript

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15122 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-08 21:21:14 +00:00
jbjohnso 68b6032dbb Fix Template to add a missing \r to windows templates
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15121 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-08 21:21:01 +00:00
phamt 364e652e59 Fixed update to udev rules for zFCP devices.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15119 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-08 20:42:26 +00:00
phamt 29f32d10ae When assigning free zFCP device channels, check if device channel is in use in the pool.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15116 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-08 17:29:09 +00:00
phamt aba74b7d52 Fixed argument passing delimiter. Added warnings to the UI. Added check for userprefix file.
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15111 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-08 05:54:14 +00:00
leiaibj 1616e26c94 Fix a bug for hostname validation, merge into 2.8 branch
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15108 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-08 01:57:33 +00:00
jbjohnso 86042cc1f4 Add windows to fsm build variant
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15105 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 22:23:31 +00:00
jbjohnso fa2eeecb0d Fix various 'strict' issues in windows.pm
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15102 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 21:31:58 +00:00
jbjohnso 509934b9d5 Give vncviewer an extended period of time to get around to reading the password file before cleaning it up
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15101 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 20:55:17 +00:00
jbjohnso bb90fdf022 Add a script to sub in different mount letters and UEFI/plain partition plans into a unified windows template scheme
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15098 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 19:25:20 +00:00
lissav c24aadccfc remove what should have been a 2.9 checkin
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15092 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 12:38:51 +00:00
lissav cbcb75cdb5 remove what should have been a 2.9 checkin
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15091 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 12:37:58 +00:00
lissav 1e9af7be3b remove what should have been a 2.9 checkin
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15090 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 12:36:47 +00:00
lissav 7c678fd174 add -E hierarchical support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15089 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 12:34:00 +00:00
lissav 982d3f1aed add -E hierarchical support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15088 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 12:32:39 +00:00
lissav e7e4071365 add --fanout on updatenode and code improvements
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15087 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 12:31:18 +00:00
lissav 136e94ab83 add --fanout on updatenode
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15086 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 12:23:59 +00:00
lissav 33193fc495 document --fanout on updatenode
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15085 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 12:23:00 +00:00
lissav 4f6485c841 hierarchical -E support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15084 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-07 12:12:36 +00:00
bp-sawyers e0390d78e9 A https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.8@15081 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
2013-02-06 20:39:40 +00:00
1889 changed files with 98917 additions and 54219 deletions
-14
View File
@@ -1,14 +0,0 @@
xCAT - eXtreme Cloud Administration Toolkit
xCAT is a toolkit for the deployment and administration of clusters.
xCAT documentation is available at: http://xcat.sourceforge.net/
xCAT is made available as open source software under the EPL license:
http://www.opensource.org/licenses/eclipse-1.0.php
+1 -1
View File
@@ -1 +1 @@
2.10
2.8.4
+1 -1
View File
@@ -68,7 +68,7 @@ function makedeb {
}
# build all debian packages
packages="xCAT-client xCAT-nbroot xCAT-nbroot2 perl-xCAT xCAT-server xCAT-UI xCAT xCATsn xCAT-test xCAT-IBMhpc xCAT-rmc xCAT-vlan xCAT-confluent"
packages="xCAT-client xCAT-nbroot xCAT-nbroot2 perl-xCAT xCAT-server xCAT-UI xCAT xCATsn xCAT-test xCAT-IBMhpc xCAT-rmc"
for file in `echo $packages`
do
+27 -75
View File
@@ -53,7 +53,7 @@ for i in $*; do
done
# Supported distributions
dists="saucy trusty utopic"
dists="maverick natty oneiric precise saucy"
c_flag= # xcat-core (trunk-delvel) path
d_flag= # xcat-dep (trunk) path
@@ -86,7 +86,7 @@ if [ "$c_flag" -a "$d_flag" ];then
exit 2
fi
uploader="ligc"
uploader="bp-sawyers"
# Find where this script is located to set some build variables
old_pwd=`pwd`
cd `dirname $0`
@@ -194,39 +194,27 @@ then
if [ ! -d ../../$package_dir_name ];then
mkdir -p "../../$package_dir_name"
fi
packages="xCAT-client xCAT-genesis-scripts perl-xCAT xCAT-server xCAT xCATsn xCAT-test xCAT-buildkit xCAT-vlan xCAT-confluent"
target_archs=(amd64 ppc64el)
packages="xCAT-client xCAT-genesis-scripts perl-xCAT xCAT-server xCAT-UI xCAT xCATsn xCAT-test xCAT-OpenStack xCAT-OpenStack-baremetal"
for file in `echo $packages`
do
file_low=`echo $file | tr '[A-Z]' '[a-z]'`
if [ "$file" = "xCAT" -o "$file" = "xCAT-genesis-scripts" ]; then
target_archs="amd64 ppc64el"
else
target_archs="all"
fi
for target_arch in `echo $target_archs`
do
if grep -q $file $update_log || [ "$BUILDALL" == 1 -o "$file" = "perl-xCAT" ]; then
rm -f ../../$package_dir_name/${file_low}_*.$target_arch.deb
#genesis scripts package, don't remove genesis amd64 files
#rm -f ../../$package_dir_name/${file_low}-amd64_*.deb
cd $file
dch -v $pkg_version -b -c debian/changelog $build_string
if [ "$target_arch" = "all" ]; then
dpkg-buildpackage -uc -us
else
dpkg-buildpackage -uc -us -a$target_arch
fi
rc=$?
if [ $rc -gt 0 ]; then
echo "Error: $file build package failed exit code $rc"
fi
cd -
find $file -maxdepth 3 -type d -name "${file_low}*" | grep debian | xargs rm -rf
find $file -maxdepth 3 -type f -name "files" | grep debian | xargs rm -rf
mv ${file_low}* ../../$package_dir_name/
if grep -q $file $update_log || [ "$BUILDALL" == 1 -o "$file" = "perl-xCAT" ]; then
rm -f ../../$package_dir_name/${file_low}_*.deb
#only for genesis package
rm -f ../../$package_dir_name/${file_low}-amd64_*.deb
cd $file
dch -v $pkg_version -b -c debian/changelog $build_string
dpkg-buildpackage -uc -us
rc=$?
if [ $rc -gt 0 ]; then
echo "Error: $file build package failed exit code $rc"
fi
done
cd -
find $file -maxdepth 3 -type d -name "${file_low}*" | grep debian | xargs rm -rf
find $file -maxdepth 3 -type f -name "files" | grep debian | xargs rm -rf
mv ${file_low}* ../../$package_dir_name/
fi
done
find ../../$package_dir_name/* ! -name *.deb | xargs rm -f
@@ -262,16 +250,11 @@ then
mkdir conf
for dist in $dists; do
if [ "$dist" = "trusty" ] || [ "$dist" = "utopic" ]; then
tmp_out_arch="amd64 ppc64el"
else
tmp_out_arch="amd64"
fi
cat << __EOF__ >> conf/distributions
Origin: xCAT internal repository
Label: xcat-core bazaar repository
Codename: $dist
Architectures: $tmp_out_arch
Architectures: amd64
Components: main
Description: Repository automatically genereted conf
SignWith: yes
@@ -286,29 +269,17 @@ basedir .
__EOF__
#import the deb packages into the repo
amd_files=`ls ../$package_dir_name/*.deb | grep -v "ppc64el"`
all_files=`ls ../$package_dir_name/*.deb`
for dist in $dists; do
if [ "$dist" = "trusty" ] || [ "$dist" = "utopic" ]; then
deb_files=$all_files
else
deb_files=$amd_files
fi
for file in $deb_files; do
for file in `ls ../$package_dir_name/*.deb`; do
reprepro -b ./ includedeb $dist $file;
done
done
#create the mklocalrepo script
cat << '__EOF__' > mklocalrepo.sh
. /etc/lsb-release
cd `dirname $0`
host_arch=`uname -m`
if [ "$host_arch" != "ppc64le" ];then
host_arch="amd64"
else
host_arch="ppc64el"
fi
echo deb [arch=$host_arch] file://"`pwd`" $DISTRIB_CODENAME main > /etc/apt/sources.list.d/xcat-core.list
echo deb file://"`pwd`" $DISTRIB_CODENAME main > /etc/apt/sources.list.d/xcat-core.list
__EOF__
chmod 775 mklocalrepo.sh
@@ -382,16 +353,11 @@ then
#create the conf/distributions file
for dist in $dists; do
if [ "$dist" = "trusty" ] || [ "$dist" = "utopic" ]; then
tmp_out_arch="amd64 ppc64el"
else
tmp_out_arch="amd64"
fi
cat << __EOF__ >> conf/distributions
Origin: xCAT internal repository
Label: xcat-dep bazaar repository
Codename: $dist
Architectures: $tmp_out_arch
Architectures: amd64
Components: main
Description: Repository automatically genereted conf
SignWith: yes
@@ -405,16 +371,8 @@ ask-passphrase
basedir .
__EOF__
#import the deb packages into the repo
amd_files=`ls ../debs/*.deb | grep -v "ppc64el"`
all_files=`ls ../debs/*.deb`
for dist in $dists; do
if [ "$dist" = "trusty" ] || [ "$dist" = "utopic" ]; then
deb_files=$all_files
else
deb_files=$amd_files
fi
for file in $deb_files; do
for file in `ls ../debs/*.deb`; do
reprepro -b ./ includedeb $dist $file;
done
done
@@ -422,13 +380,7 @@ __EOF__
cat << '__EOF__' > mklocalrepo.sh
. /etc/lsb-release
cd `dirname $0`
host_arch=`uname -m`
if [ "$host_arch" != "ppc64le" ];then
host_arch="amd64"
else
host_arch="ppc64el"
fi
echo deb [arch=$host_arch] file://"`pwd`" $DISTRIB_CODENAME main > /etc/apt/sources.list.d/xcat-dep.list
echo deb file://"`pwd`" $DISTRIB_CODENAME main > /etc/apt/sources.list.d/xcat-dep.list
__EOF__
chmod 775 mklocalrepo.sh
@@ -444,7 +396,7 @@ __EOF__
chmod -R g+w xcat-dep
#create the tar ball
dep_tar_name=xcat-dep-ubuntu-snap`date +%Y%m%d`.tar.bz
dep_tar_name=xcat-dep-ubuntu.tar.bz
tar -hjcf $dep_tar_name xcat-dep
chgrp root $dep_tar_name
chmod g+w $dep_tar_name
+29 -51
View File
@@ -12,44 +12,40 @@
# at https://sourceforge.net/account/ssh
# - On Linux: make sure createrepo is installed on the build machine
# - On AIX: Install openssl and openssh installp pkgs and run updtvpkg. Install from http://www.perzl.org/aix/ :
# apr, apr-util, bash, bzip2, db4, expat, gdbm, gettext, glib2, gmp, info, libidn, neon, openssl (won't
# conflict with the installp version - but i don't think you need this), pcre, perl-DBD-SQLite, perl-DBI,
# popt, python, readline, rsynce, sqlite, subversion, unixODBC, zlib.
# Install wget from http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html
# apr, apr-util, bash, bzip2, db4, expat, gdbm, gettext, glib2, gmp, info, libidn, neon, openssl (won't
# conflict with the installp version - but i don't think you need this), pcre, perl-DBD-SQLite, perl-DBI,
# popt, python, readline, rsynce, sqlite, subversion, unixODBC, zlib. Install wget from http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html
# - Run this script from the local svn repository you just created. It will create the other
# directories that are needed.
# Usage: buildcore.sh [attr=value attr=value ...]
# Before running buildcore.sh, you must change the local git repo to the branch you want built, using: git checkout <branch>
# PROMOTE=1 - if the attribute "PROMOTE" is specified, means an official dot release. This does not actually build
# xcat, just uploads the most recent snap build to https://sourceforge.net/projects/xcat/files/xcat/ .
# If not specified, a snap build is assumed, which uploads to https://sourceforge.net/projects/xcat/files/yum/
# or https://sourceforge.net/projects/xcat/files/aix/.
# PREGA=1 - use this option with PROMOTE=1 on a branch that already has a released dot release, but this build is
# a GA candidate build, not to be released yet. This will result in the tarball being uploaded to
# https://sourceforge.net/projects/xcat/files/yum/ or https://sourceforge.net/projects/xcat/files/aix/
# (but the tarball file name will be like a released tarball, not a snap build). When you are ready to
# release this build, use PROMOTE=1 without PREGA
# BUILDALL=1 - build all rpms, whether they changed or not. Should be used for snap builds that are in prep for a release.
# UP=0 or UP=1 - override the default upload behavior
# SVNUP=<filename> - control which rpms get built by specifying a coresvnup file
# GITUP=<filename> - control which rpms get built by specifying a coregitup file
# EMBED=<embedded-environment> - the environment for which a minimal version of xcat should be built, e.g. zvm or flex
# VERBOSE=1 - to see lots of verbose output
# Before running buildcore.sh, you must change the local git repo to the branch you want built, using: git checkout <branch>
# PROMOTE=1 - if the attribute "PROMOTE" is specified, means an official dot release. This does not
# actually build xcat, just uploads the most recent snap build to https://sourceforge.net/projects/xcat/files/xcat/ .
# If not specified, a snap build is assumed, which uploads to https://sourceforge.net/projects/xcat/files/yum/
# or https://sourceforge.net/projects/xcat/files/aix/.
# PREGA=1 - use this option with PROMOTE=1 on a branch that already has a released dot release, but this build is
# a GA candidate build, not to be released yet. This will result in the tarball being uploaded to
# https://sourceforge.net/projects/xcat/files/yum/ or https://sourceforge.net/projects/xcat/files/aix/
# (but the tarball file name will be like a released tarball, not a snap build). When you are ready to
# release this build, use PROMOTE=1 without PREGA
# BUILDALL=1 - build all rpms, whether they changed or not. Should be used for snap builds that are in prep for a release.
# UP=0 or UP=1 - override the default upload behavior
# SVNUP=<filename> - control which rpms get built by specifying a coresvnup file
# GITUP=<filename> - control which rpms get built by specifying a coregitup file
# EMBED=<embedded-environment> - the environment for which a minimal version of xcat should be built, e.g. zvm or flex
# VERBOSE=1 - to see lots of verbose output
# you can change this if you need to
UPLOADUSER=bp-sawyers
FRS=/home/frs/project/x/xc/xcat
# These are the rpms that should be built for each kind of xcat build
ALLBUILD="perl-xCAT xCAT-client xCAT-server xCAT-test xCAT-buildkit xCAT xCATsn xCAT-genesis-scripts xCAT-SoftLayer xCAT-vlan xCAT-confluent"
ALLBUILD="perl-xCAT xCAT-client xCAT-server xCAT-IBMhpc xCAT-rmc xCAT-UI xCAT-test xCAT-buildkit xCAT xCATsn xCAT-genesis-scripts xCAT-OpenStack xCAT-SoftLayer xCAT-OpenStack-baremetal"
ZVMBUILD="perl-xCAT xCAT-server xCAT-UI"
ZVMLINK="xCAT-client xCAT xCATsn"
# xCAT and xCATsn have PCM specific configuration - conserver-xcat, syslinux-xcat
# xCAT-server has PCM specific configuration - RESTAPI(perl-JSON)
# xCAT-client has PCM specific configuration - getxcatdocs(perl-JSON)
PCMBUILD="xCAT xCAT-server xCAT-client xCATsn"
PCMLINK="perl-xCAT xCAT-buildkit xCAT-genesis-scripts-x86_64"
PCMBUILD="xCAT"
PCMLINK="perl-xCAT xCAT-client xCAT-server xCAT-buildkit xCAT-genesis-scripts-x86_64"
# Note: for FSM, the FlexCAT rpm is built separately from gsa/git
FSMBUILD="perl-xCAT xCAT-client xCAT-server"
FSMLINK=""
@@ -241,13 +237,10 @@ if [ "$OSNAME" = "AIX" ]; then
fi
# Build the rest of the noarch rpms
for rpmname in xCAT-client xCAT-server xCAT-IBMhpc xCAT-rmc xCAT-UI xCAT-test xCAT-buildkit xCAT-SoftLayer xCAT-vlan xCAT-confluent; do
for rpmname in xCAT-client xCAT-server xCAT-IBMhpc xCAT-rmc xCAT-UI xCAT-test xCAT-buildkit xCAT-SoftLayer; do
#if [ "$EMBED" = "zvm" -a "$rpmname" != "xCAT-server" -a "$rpmname" != "xCAT-UI" ]; then continue; fi # for zvm embedded env only need to build server and UI
if [[ " $EMBEDBUILD " != *\ $rpmname\ * ]]; then continue; fi
if [ "$OSNAME" = "AIX" -a "$rpmname" = "xCAT-buildkit" ]; then continue; fi # do not build xCAT-buildkit on aix
if [ "$OSNAME" = "AIX" -a "$rpmname" = "xCAT-SoftLayer" ]; then continue; fi # do not build xCAT-softlayer on aix
if [ "$OSNAME" = "AIX" -a "$rpmname" = "xCAT-vlan" ]; then continue; fi # do not build xCAT-vlan on aix
if [ "$OSNAME" = "AIX" -a "$rpmname" = "xCAT-confluent" ]; then continue; fi # do not build xCAT-confluent on aix
if [ "$OSNAME" = "AIX" -a "$rpmname" = "xCAT-buildkit" ]; then continue; fi # do not build xCAT-buildkit on aix
if $GREP $rpmname $GITUP || [ "$BUILDALL" == 1 ]; then
UPLOAD=1
maker $rpmname
@@ -268,8 +261,6 @@ if [ "$OSNAME" != "AIX" ]; then
ORIGFAILEDRPMS="$FAILEDRPMS"
./makerpm xCAT-genesis-scripts x86_64 "$EMBED"
if [ $? -ne 0 ]; then FAILEDRPMS="$FAILEDRPMS xCAT-genesis-scripts-x86_64"; fi
./makerpm xCAT-genesis-scripts ppc64 "$EMBED"
if [ $? -ne 0 ]; then FAILEDRPMS="$FAILEDRPMS xCAT-genesis-scripts-ppc64"; fi
if [ "$FAILEDRPMS" = "$ORIGFAILEDRPMS" ]; then # all succeeded
rm -f $DESTDIR/xCAT-genesis-scripts*rpm
rm -f $SRCDIR/xCAT-genesis-scripts*rpm
@@ -281,8 +272,7 @@ if [ "$OSNAME" != "AIX" ]; then
fi
# Build the xCAT and xCATsn rpms for all platforms
#for rpmname in xCAT xCATsn xCAT-OpenStack xCAT-OpenStack-baremetal; do
for rpmname in xCAT xCATsn; do
for rpmname in xCAT xCATsn xCAT-OpenStack xCAT-OpenStack-baremetal; do
#if [ "$EMBED" = "zvm" ]; then break; fi
if [[ " $EMBEDBUILD " != *\ $rpmname\ * ]]; then continue; fi
if [ $SOMETHINGCHANGED == 1 -o "$BUILDALL" == 1 ]; then # used to be: if $GREP -E "^[UAD] +$rpmname/" $GITUP; then
@@ -293,7 +283,7 @@ for rpmname in xCAT xCATsn; do
./makerpm $rpmname "$EMBED"
if [ $? -ne 0 ]; then FAILEDRPMS="$FAILEDRPMS $rpmname"; fi
else
for arch in x86_64 ppc64 ppc64le s390x; do
for arch in x86_64 ppc64 s390x; do
if [ "$rpmname" = "xCAT-OpenStack" -a "$arch" != "x86_64" ] || [ "$rpmname" = "xCAT-OpenStack-baremetal" -a "$arch" != "x86_64" ] ; then continue; fi # only bld openstack for x86_64 for now
./makerpm $rpmname $arch "$EMBED"
if [ $? -ne 0 ]; then FAILEDRPMS="$FAILEDRPMS $rpmname-$arch"; fi
@@ -362,7 +352,7 @@ if [ "$OSNAME" != "AIX" ]; then
echo '%_signature gpg' >> $MACROS
fi
if ! $GREP '%_gpg_name' $MACROS 2>/dev/null; then
echo '%_gpg_name xCAT Security Key' >> $MACROS
echo '%_gpg_name Jarrod Johnson' >> $MACROS
fi
echo "Signing RPMs..."
build-utils/rpmsign.exp `find $DESTDIR -type f -name '*.rpm'` | grep -v -E '(already contains identical signature|was already signed|rpm --quiet --resign|WARNING: standard input reopened)'
@@ -425,18 +415,7 @@ EOF
#!/bin/sh
cd `dirname $0`
REPOFILE=`basename xCAT-*.repo`
if [[ $REPOFILE == "xCAT-*.repo" ]]; then
echo "ERROR: For xcat-dep, please execute $0 in the correct <os>/<arch> subdirectory"
exit 1
fi
#
# default to RHEL yum, if doesn't exist try Zypper
#
DIRECTORY="/etc/yum.repos.d"
if [[ ! -d ${DIRECTORY} ]]; then
DIRECTORY="/etc/zypp/repos.d"
fi
sed -e 's|baseurl=.*|baseurl=file://'"`pwd`"'|' $REPOFILE | sed -e 's|gpgkey=.*|gpgkey=file://'"`pwd`"'/repodata/repomd.xml.key|' > ${DIRECTORY}/$REPOFILE
sed -e 's|baseurl=.*|baseurl=file://'"`pwd`"'|' $REPOFILE | sed -e 's|gpgkey=.*|gpgkey=file://'"`pwd`"'/repodata/repomd.xml.key|' > /etc/yum.repos.d/$REPOFILE
cd -
EOF2
chmod 775 mklocalrepo.sh
@@ -516,9 +495,8 @@ if [ "$OSNAME" != "AIX" -a "$REL" = "devel" -a "$PROMOTE" != 1 -a -z "$EMBED" ];
rpm2cpio ../$XCATCORE/perl-xCAT-*.$NOARCH.rpm | cpio -id '*.html'
rpm2cpio ../$XCATCORE/xCAT-test-*.$NOARCH.rpm | cpio -id '*.html'
rpm2cpio ../$XCATCORE/xCAT-buildkit-*.$NOARCH.rpm | cpio -id '*.html'
#rpm2cpio ../$XCATCORE/xCAT-OpenStack-*.x86_64.rpm | cpio -id '*.html'
rpm2cpio ../$XCATCORE/xCAT-OpenStack-*.x86_64.rpm | cpio -id '*.html'
rpm2cpio ../$XCATCORE/xCAT-SoftLayer-*.$NOARCH.rpm | cpio -id '*.html'
rpm2cpio ../$XCATCORE/xCAT-vlan-*.$NOARCH.rpm | cpio -id '*.html'
i=0
while [ $((i+=1)) -le 5 ] && ! rsync $verboseflag -r opt/xcat/share/doc/man1 opt/xcat/share/doc/man3 opt/xcat/share/doc/man5 opt/xcat/share/doc/man7 opt/xcat/share/doc/man8 $UPLOADUSER,xcat@web.sourceforge.net:htdocs/
do : ; done
+19 -29
View File
@@ -92,7 +92,7 @@ if [ "$OSNAME" != "AIX" ]; then
echo '%_signature gpg' >> $MACROS
fi
if ! $GREP -q '%_gpg_name' $MACROS 2>/dev/null; then
echo '%_gpg_name xCAT Security Key' >> $MACROS
echo '%_gpg_name Jarrod Johnson' >> $MACROS
fi
# Sign the rpms that are not already signed. The "standard input reopened" warnings are normal.
@@ -138,21 +138,8 @@ if [ "$PERLVER" == "v5.8.2" ]; then
OSVER='5.3'
elif [ "$PERLVER" == "v5.8.8" ]; then
OSVER='6.1'
aixver=`lslpp -lc|grep 'bos.rte:'|head -1|cut -d: -f3`
if [[ $aixver < '6.1.9.0' ]]; then
AIX61Y=0
else
AIX61Y=1
fi
elif [ "$PERLVER" == "v5.10.1" ]; then
OSVER='7.1'
aixver=`lslpp -lc|grep 'bos.rte:'|head -1|cut -d: -f3`
if [[ $aixver < '7.1.3.0' ]]; then
AIX71L=0
else
AIX71L=1
fi
else
echo "Error: the perl version of '$PERLVER' is not one that instoss understands. Exiting..."
exit 2
@@ -169,30 +156,33 @@ echo "Running updtvpkg. This could take a few minutes."
/usr/sbin/updtvpkg
echo "updtvpkg has completed."
# unixODBC is required by pyodbc, so install it first
rpm -Uvh unixODBC*
# Now install the bulk of the rpms, one at a time, in case some are already installed
for i in `ls *.rpm|grep -v -E '^tcl-|^tk-|^expect-|^unixODBC-|^xCAT-UI-deps|^perl-DBD-DB2Lite|^net-snmp'`; do
for i in `ls *.rpm|grep -v -E '^tcl-|^tk-|^expect-|^unixODBC-|^xCAT-UI-deps|^perl-DBD-DB2Lite'`; do
if [ "$i" == "perl-Net-DNS-0.66-1.aix5.3.ppc.rpm" ]; then
opts="--nodeps"
else
opts=""
fi
# On 7.1L and 6.1Y we need a newer version of perl-Net_SSLeay.pm
if [[ $AIX71L -eq 1 || $AIX61Y -eq 1 ]]; then
if [[ $i == perl-Net_SSLeay.pm-1.30-* ]]; then continue; fi # skip the old rpm
else
if [[ $i == perl-Net_SSLeay.pm-1.55-* ]]; then continue; fi # skip the new rpm
fi
# just in case we need it sometime, this next if stmt would mean: if it does not start with perl-DBD-DB2
#if [ "${i#perl-DBD-DB2}" == "$i" ]; then
echo rpm -Uvh $opts $i
rpm -Uvh $opts $i
done
# Have to upgrade all of the net-snmp rpms together because they depend on each other.
# Also, they require bash, so do it after the loop, rather than before
rpm -Uvh net-snmp*
# don't try to install tcl, tk, or expect if they are already installed!
# this section about expect/tcl/tk can be removed once 2.8 releases, because 2.8 no longer requires expect
lslpp -l | grep expect.base > /dev/null 2>&1
if [ $? -gt 0 ]; then
if [ "$OSVER" == "5.3" ]; then
for i in tcl-*.rpm tk-*.rpm expect-*.rpm; do
echo rpm -Uvh $i
rpm -Uvh $i
done
else
echo "The expect.base, tcl.base, and tk.base filesets must also be installed before installing the xCAT RPMs from xcat-core."
fi
fi
EOF
# end of instoss file content ---------------------------------------------
@@ -206,7 +196,7 @@ if [ "$OSNAME" == "AIX" ]; then
else
SYSGRP=root
fi
chgrp -R -h $SYSGRP *
chgrp -R $SYSGRP *
chmod -R g+w *
# Build the tarball
-163
View File
@@ -1,163 +0,0 @@
#######################################################################
#build script for local usage
#used for Linux/AIX/Ubuntu
#
###########################################################################
OSNAME=$(uname)
NAMEALL=$(uname -a)
for i in $*; do
# upper case the variable name
varstring=`echo "$i"|cut -d '=' -f 1|tr '[a-z]' '[A-Z]'`=`echo "$i"|cut -d '=' -f 2`
export $varstring
done
if [ -z "$CURDIR" ]; then
echo "get current directory!"
CURDIR=$(pwd)
fi
echo "CURDIR is $CURDIR"
echo "OSNAME is $OSNAME!"
echo "NAMEALL is $NAMEALL"
grep -i 'SUSE' /etc/issue
if [ $? -eq 0 ]; then
echo "This is a SUSE system!"
OS="SUSE";
fi
ls $CURDIR/makerpm
if [ $? -gt 0 ]; then
echo "Error:no repo exist, exit 1."
exit 1
fi
# Get a lock, so can not do 2 builds at once
exec 8>/var/lock/xcatbld.lock
if ! flock -n 8; then
echo "Can't get lock /var/lock/xcatbld.lock. Someone else must be doing a build right now. Exiting...."
exit 1
fi
#delete old package if there is
rm -rf $CURDIR/build/
cd $CURDIR
echo "==============================================="
echo $NAMEALL | egrep "Ubuntu"
#Check if it is an Ubuntu system
if [ $? -eq 0 ]; then
echo "This is an Ubuntu system"
pkg_type="snap"
build_string="Snap_Build"
cur_date=`date +%Y%m%d`
short_ver=`cat Version|cut -d. -f 1,2`
pkg_version="${short_ver}-${pkg_type}${cur_date}"
mkdir -p $CURDIR/build
for rpmname in xCAT-client xCAT-genesis-scripts perl-xCAT xCAT-server xCAT xCATsn xCAT-test xCAT-vlan; do
rpmname_low=`echo $rpmname | tr '[A-Z]' '[a-z]'`
echo "============================================"
echo "$rpmname_low"
cd $rpmname
dch -v $pkg_version -b -c debian/changelog $build_string
dpkg-buildpackage -uc -us
rc=$?
if [ $rc -gt 0 ]; then
echo "Error: $rpmname build package failed exit code $rc"
fi
cd -
mv ${rpmname_low}* $CURDIR/build
done
#delete all files except .deb file
find $CURDIR/build/* ! -name *.deb | xargs rm -f
else
#This is not an Ubuntu system
echo "This is an $OSNAME system"
if [ "$OS" = "SUSE" ]; then
rm -rf /usr/src/packages/RPMS/noarch/*
rm -rf /usr/src/packages/RPMS/x86_64/*
rm -rf /usr/src/packages/RPMS/ppc64/*
else
rm -rf /root/rpmbuild/RPMS/noarch/*
rm -rf /root/rpmbuild/RPMS/x86_64/*
rm -rf /root/rpmbuild/RPMS/ppc64/*
fi
mkdir -p $CURDIR/build/
#always build perl-xCAT
$CURDIR/makerpm perl-xCAT
# Build the rest of the noarch rpms
for rpmname in xCAT-client xCAT-server xCAT-IBMhpc xCAT-rmc xCAT-test xCAT-buildkit xCAT-vlan; do
if [ "$OSNAME" = "AIX" -a "$rpmname" = "xCAT-buildkit" ]; then continue; fi
$CURDIR/makerpm $rpmname
done
#build xCAT-genesis-scripts if it is x86_64 platform
ARCH=$(uname -p)
if [ "$ARCH" = "x86_64" ]; then
$CURDIR/makerpm xCAT-genesis-scripts x86_64
else
$CURDIR/makerpm xCAT-genesis-scripts ppc64
fi
# Build the xCAT and xCATsn rpms for all platforms
for rpmname in xCAT xCATsn; do
if [ "$OSNAME" = "AIX" ]; then
$CURDIR/makerpm $rpmname
if [ $? -ne 0 ]; then FAILEDRPMS="$FAILEDRPMS $rpmname"; fi
else
for arch in x86_64 ppc64 s390x; do
$CURDIR/makerpm $rpmname $arch
if [ $? -ne 0 ]; then FAILEDRPMS="$FAILEDRPMS $rpmname-$arch"; fi
done
fi
done
if [ "$OS" = "SUSE" ]; then
cp /usr/src/packages/RPMS/noarch/* $CURDIR/build/
cp /usr/src/packages/RPMS/x86_64/* $CURDIR/build/
cp /usr/src/packages/RPMS/ppc64/* $CURDIR/build/
else
cp /root/rpmbuild/RPMS/noarch/* $CURDIR/build/
cp /root/rpmbuild/RPMS/x86_64/* $CURDIR/build/
cp /root/rpmbuild/RPMS/ppc64/* $CURDIR/build/
fi
#begin to create repo for redhat platform
grep -i 'Red' /etc/*release*;
if [ "$OSNAME" != "AIX" -a $? -eq 0 ]; then
cat >$CURDIR/build/xCAT-core.repo << EOF
[xcat-2-core]
name=xCAT 2 Core packages
baseurl=file://$CURDIR/build
enabled=1
gpgcheck=0
EOF
cp $CURDIR/build/xCAT-core.repo /etc/yum.repos.d/
createrepo $CURDIR/build
else
rm -f /etc/zypp/repos.d/xCAT-core.repo
zypper ar file://$CURDIR/build xCAT-core
fi
fi
+2 -20
View File
@@ -85,7 +85,6 @@ function makexcat {
cd `dirname $0`/$RPMNAME
tar --exclude .svn -czf $RPMROOT/SOURCES/license.tar.gz LICENSE.html
cp xcat.conf $RPMROOT/SOURCES
cp xcat.conf.apach24 $RPMROOT/SOURCES
cp xCATSN $RPMROOT/SOURCES
cd - >/dev/null
elif [ "$RPMNAME" = "xCAT-buildkit" ]; then
@@ -106,23 +105,7 @@ function makexcat {
fi
}
# make ironic rpm for ironic baremetal driver
function makeironic {
RPMNAME="$1"
ARCH="$2"
cd `dirname $0`/$RPMNAME
cp -rf ironic_baremetal /tmp/
cd /tmp/ironic_baremetal
git init
git add *
git commit -a -m "generate rpm"
python setup.py bdist_rpm
rm -rf $RPMROOT/RPMS/$ARCH/
mkdir -p $RPMROOT/RPMS/$ARCH/
cp -rf dist/*.rpm $RPMROOT/RPMS/$ARCH/
rm -rf /tmp/ironic_baremetal
}
# Make the xCAT-nbroot-core rpm
function makenbroot {
@@ -222,6 +205,7 @@ else # linux
fi
fi
if [ "$1" = "xCAT" -o "$1" = "xCATsn" -o "$1" = "xCAT-buildkit" -o "$1" = "xCAT-OpenStack" ]; then
exportEmbed $3
makexcat $1 $2
@@ -234,8 +218,6 @@ elif [ "$1" = "xCAT-genesis-builder" ]; then
elif [ "$1" = "xCAT-genesis-scripts" ]; then
exportEmbed $3
makegenesisscripts $1 $2
elif [ "$1" = "xCAT-OpenStack-ironic" ]; then
makeironic $1 $2
else # must be one of the noarch rpms
exportEmbed $2
makenoarch $1
+1 -1
View File
@@ -266,7 +266,7 @@ See http://www.perl.com/doc/manual/html/pod/perlre.html for information on perl
As of xCAT 2.8.1, you can use a modified version of the regular expression support described in the previous section. You do not need to enter the node information (1st part of the expression), it will be derived from the input nodename. You only need to supply the 2nd part of the expression to determine the value to give the attribute. For examples, see
https://sourceforge.net/p/xcat/wiki/Listing_and_Modifying_the_Database/#easy-regular-expressions
https://sourceforge.net/apps/mediawiki/xcat/index.php?title=Listing_and_Modifying_the_Database#Easy_Regular_expressions
=head1 OBJECT DEFINITIONS
+1 -1
View File
@@ -48,7 +48,7 @@ binary-arch: build install
chmod 644 `pwd`/debian/perl-xcat/opt/xcat/share/doc/man5/*
chmod 644 `pwd`/debian/perl-xcat/opt/xcat/share/man/man7/*
chmod 644 `pwd`/debian/perl-xcat/opt/xcat/share/doc/man7/*
./modifyUtils `cat ../Version` `git log -n 1 | head -n 1 | cut -f 2 -d ' '`
./modifyUtils `cat ../Version` `svn info | grep Revision | cut -d" " -f 2`
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
+3 -4
View File
@@ -1,21 +1,20 @@
#!/bin/sh
# Put the version, svn revision #, and build date into the Version function in Version.pm
if [ -z "$2" ]
if [ -z "$1" ]
then
echo "modifyUtils: Error: must specify the xCAT version as an argument" >&2
exit
fi
VER=$1
GITREF="git commit $2, "
BUILDDATE=`date`
#echo ". '(built $BUILDDATE)'"
if [ "$(uname)" = "AIX" ]
then
sed -e s/"#XCATVERSIONSUBHERE"/". '$VER'"/ -e s/"#XCATSVNBUILDSUBHERE"/". ' (${GITREF}built $BUILDDATE)'"/ xCAT/Version.pm >xCAT/Version.pm.new
sed -e s/"#XCATVERSIONSUBHERE"/". '$VER'"/ -e s/"#XCATSVNBUILDSUBHERE"/". ' (built $BUILDDATE)'"/ xCAT/Version.pm >xCAT/Version.pm.new
mv xCAT/Version.pm.new xCAT/Version.pm
else
if [ -f "/etc/debian_version" ];then
@@ -23,5 +22,5 @@ else
else
FILENAME="xCAT/Version.pm"
fi
sed -i -e s/"#XCATVERSIONSUBHERE"/". '$VER'"/ -e s/"#XCATSVNBUILDSUBHERE"/". ' (${GITREF}built $BUILDDATE)'"/ $FILENAME
sed -i -e s/"#XCATVERSIONSUBHERE"/". '$VER'"/ -e s/"#XCATSVNBUILDSUBHERE"/". ' (built $BUILDDATE)'"/ $FILENAME
fi
+1 -3
View File
@@ -23,8 +23,6 @@ Provides: perl-xCAT = %{epoch}:%{version}
Provides perl xCAT libraries for core functionality. Required for all xCAT installations.
Includes xCAT::Table, xCAT::NodeRange, among others.
%define gitinfo %(git log -n 1 | head -n 1 | cut -f 2 -d ' ')
%define zvm %(if [ "$zvm" = "1" ];then echo 1; else echo 0; fi)
%define fsm %(if [ "$fsm" = "1" ];then echo 1; else echo 0; fi)
@@ -38,7 +36,7 @@ Includes xCAT::Table, xCAT::NodeRange, among others.
%if %fsm
%else
# Modify the Version() function in xCAT/Utils.pm to automatically have the correct version
./modifyUtils %{version} %{gitinfo}
./modifyUtils %{version}
# Build the pod version of the man pages for each DB table. It puts them in the man5 and man7 subdirs.
# Then convert the pods to man pages and html pages.
+2 -125
View File
@@ -500,7 +500,6 @@ sub setCFMPkglistFile {
Arguments:
$imagename - the specified linuximage name
@curospkgs - the currently selected OS packages list
$mode - using Fuzzy Matching or Exact Matching to check packages
Returns:
0 - update successfully
1 - update failed
@@ -510,22 +509,13 @@ sub setCFMPkglistFile {
none
Example:
my $ret = CAT::CFMUtils->updateCFMPkglistFile($imagename, @cur_selected_pkgs);
my $ret = CAT::CFMUtils->updateCFMPkglistFile($imagename, @cur_selected_pkgs, 1);
=cut
#-----------------------------------------------------------------------------
sub updateCFMPkglistFile {
my ($class, $img, $ospkgs, $mode) = @_;
if(defined($mode)){
# Exact Matching
$mode = 1;
}else {
# Fuzzy Matching
$mode = 0;
}
my ($class, $img, $ospkgs) = @_;
my @cur_selected = @$ospkgs;
my $cfmpkglist = "/install/osimages/$img/pkglist.cfm";
@@ -559,14 +549,6 @@ sub updateCFMPkglistFile {
my @selected = @$selected_ref;
@basepkgs = xCAT::CFMUtils->arrayops("U", \@basepkgs, \@selected);
}
# Fuzzy Matching
if (not $mode){
my ($ref1, $ref2, $ref3) = xCAT::CFMUtils->updateSelectedPkgs(\@pre_selected, \@pre_removed, \@cur_selected);
@pre_selected = @$ref1;
@pre_removed = @$ref2;
@cur_selected = @$ref3;
}
# get diff between previous and current selected OS packages lists
my @diff = xCAT::CFMUtils->getPkgsDiff(\@pre_selected, \@cur_selected);
@@ -679,48 +661,6 @@ sub getPreOSpkgsList {
return (\@selected, \@removed);
}
#-----------------------------------------------------------------------------
=head3 getPreBaseOSpkgsList
Get previously selected and removed base OS packages lists from pkglist file. Packages named with "example.xxx" should be the base name "example"
Arguments:
$ospkglist - the path for ospkglist file
Returns:
refs for selected and removed OS packages arrays
Globals:
none
Error:
none
Example:
my $pre_selected_ref = xCAT::CFMUtils->getPreOSpkgsList($ospkglist);
=cut
#-----------------------------------------------------------------------------
sub getPreBaseOSpkgsList {
my ($class, $pkglist) = @_;
my ($pre_selected_ref, $pre_removed_ref) = xCAT::CFMUtils->getPreOSpkgsList($pkglist);
my %pre_selected_hash = ();
foreach (@$pre_selected_ref) {
my @names = split(/\./, $_);
my $basename = $names[0];
if ($_ =~ /^$basename\.([^\.]+)$/) {
$pre_selected_hash{$basename} = 1;
}else {
$pre_selected_hash{$_} = 1;
}
}
my @pre_selected = keys %pre_selected_hash;
return \@pre_selected;
}
#-----------------------------------------------------------------------------
=head3 getPkgsDiff
@@ -879,66 +819,3 @@ sub arrayops {
#return (\@union, \@intersection, \@difference);
}
#-----------------------------------------------------------------------------
=head3 updateSelectedPkgs
Update previous selected, previous removed and current selected packages based on fuzzy matching rules. Packages named with "example.i686" should be same with package "example"
Arguments:
\@pre_selected - reference to previous selected packages
\@pre_removed - reference to previous removed packages
\@cur_selected - reference to current selected packages
Returns:
new previous selected, previous removed, current selected packages
Globals:
none
Error:
none
Example:
my ($ref1, $ref2, $ref3) = xCAT::CFMUtils->arrayops(\@pre_selected, \@pre_removed, \@cur_selected);
=cut
#-----------------------------------------------------------------------------
sub updateSelectedPkgs() {
my ($class, $pre_selected_ref, $pre_removed_ref, $cur_selected_ref) = @_;
my %pre_selected_hash = map{$_ => 1} @$pre_selected_ref;
my %pre_removed_hash = map{$_ => 1} @$pre_removed_ref;
my %cur_selected_hash = map{$_ => 1} @$cur_selected_ref;
my %new_pre_selected_hash = %pre_selected_hash;
my %new_pre_removed_hash = %pre_removed_hash;
my %new_cur_selected_hash = %cur_selected_hash;
foreach (keys %cur_selected_hash) {
my $father = $_;
my $flag = 0;
foreach (keys %pre_selected_hash) {
my $child = $_;
if ($child =~ /^$father\.([^\.]+)$/) {
$new_cur_selected_hash{$child} = 1;
$flag = 1;
}
}
if ($flag and not exists $pre_selected_hash{$father}){
delete $new_cur_selected_hash{$father} if exists $new_cur_selected_hash{$father};
}
foreach (keys %pre_removed_hash) {
my $child = $_;
if ($child =~ /^$father\.([^\.]+)$/) {
delete $new_pre_removed_hash{$child} if exists $new_pre_removed_hash{$child};
}
}
}
my @new_cur_selected = keys %new_cur_selected_hash;
my @new_pre_selected = keys %new_pre_selected_hash;
my @new_pre_removed = keys %new_pre_removed_hash;
return (\@new_pre_selected, \@new_pre_removed, \@new_cur_selected);
}
-462
View File
@@ -1,462 +0,0 @@
#! /usr/bin/env perl
# IBM(c) 2014 EPL license http://www.eclipse.org/legal/epl-v10.html
# This package offers subroutines to access CIM server
package xCAT::CIMUtils;
use strict;
use warnings;
use HTTP::Headers;
use HTTP::Request;
use LWP::UserAgent;
use XML::LibXML;
use Data::Dumper;
=head1 HTTP_PARAMS
A hash which includes all the parameters for accessing HTTP server. The valid parameter:
ip: The IP address of the HTTP server
user: The user to access HTTP server.
password: The password for the user.
method: The http method. (GET, PUT, POST, DELETE). Default is GET
protocol: The protocol which will be used to access HTTP server. (http/https). Default is https
format: The format of payload. Default is xml
payload: The payload of http
Example:
my %http_params = ( ip => '192.168.1.1',
port => '5989',
user => 'HMC',
password => 'admin',
method => 'POST',
protocol => 'https');
=cut
=head1 enum_instance ()
Description:
Enumerate CIM instances.
Arguments:
http_params: A reference to HTTP_PARAMS
cim_params: The CIM parameters
classname - a mandatory param to specify the class that enumerate will target to.
Return:
1 - A hash reference. The valid key includes:
rc - The return code. 0 - success. > 0 - fail.
cim_rc - The return code from CIM server.
msg - Output message.
2 - Array of instances, each instance is a hash contains lots of properties.
3 - The name path of instance
=cut
sub enum_instance
{
my $http_params = shift;
unless (ref($http_params)) {
$http_params = shift;
}
my $cim_params = shift;
# This is a mandatory parameter
unless ($cim_params->{classname}) {
return ({rc => 1, msg => "Missed the classname"});
}
unless ($cim_params->{namespace}) {
$cim_params->{namespace} = "ibmsd";
}
# prepare the CIM payload
my $tmpnode;
# create a new doc
my $doc = XML::LibXML->createDocument('1.0','UTF-8');
# create and add the root element
my $root = $doc->createElement("CIM");
$root->setAttribute("CIMVERSION", "2.0");
$root->setAttribute("DTDVERSION", "2.0");
$doc->setDocumentElement($root);
# create and add the MESSAGE element
my $message = $doc->createElement("MESSAGE");
$message->setAttribute("ID", "1000");
$message->setAttribute("PROTOCOLVERSION", "1.0");
$root->addChild($message);
# add a SIMPLE REQUEST
my $simple_request = $doc->createElement("SIMPLEREQ");
$message->addChild($simple_request);
# add an IMETHOD CALL
my $imethod_call = $doc->createElement("IMETHODCALL");
$imethod_call->setAttribute("NAME", "EnumerateInstances");
$simple_request->addChild($imethod_call);
# add the local name space path
my $localnamespacepath = $doc->createElement("LOCALNAMESPACEPATH");
$tmpnode = $doc->createElement("NAMESPACE");
$tmpnode->setAttribute("NAME", "root");
$localnamespacepath->addChild($tmpnode);
$tmpnode = $doc->createElement("NAMESPACE");
$tmpnode->setAttribute("NAME", $cim_params->{namespace});
$localnamespacepath->addChild($tmpnode);
$imethod_call->addChild($localnamespacepath);
# add the target class name
my $param_classname = $doc->createElement("IPARAMVALUE");
$param_classname->setAttribute("NAME", "ClassName");
$imethod_call->addChild($param_classname);
my $classname = $doc->createElement("CLASSNAME");
$classname->setAttribute("NAME", $cim_params->{classname});
$param_classname->addChild($classname);
# add several common parameters
$imethod_call->appendWellBalancedChunk('<IPARAMVALUE NAME="DeepInheritance"><VALUE>TRUE</VALUE></IPARAMVALUE><IPARAMVALUE NAME="LocalOnly"><VALUE>FALSE</VALUE></IPARAMVALUE><IPARAMVALUE NAME="IncludeQualifiers"><VALUE>FALSE</VALUE></IPARAMVALUE><IPARAMVALUE NAME="IncludeClassOrigin"><VALUE>TRUE</VALUE></IPARAMVALUE>');
my $payload = $doc->toString();
# generate http request
my $ret = gen_http_request($http_params, $payload);
if ($ret->{rc}) {
return $ret;
}
# send request to http server
$ret = send_http_request($http_params, $ret->{request});
if ($ret->{rc}) {
return $ret;
}
# parse the http response
my $ret_value;
my $parser = XML::LibXML->new();
my $resp_doc = $parser->parse_string($ret->{payload});
# check the error message from CIM
my $error_node = $resp_doc->getElementsByTagName("ERROR");
if ($error_node) {
my $msg = $error_node->[0]->getAttribute("DESCRIPTION");
my $errorcode = $error_node->[0]->getAttribute("CODE");
return ({rc => 1, cim_rc => $errorcode, msg => $error_node->[0]->getAttribute("DESCRIPTION")." [cim return code: $errorcode]"});
}
# get the name path of the instance, which is used to set property
my @namepath = $resp_doc->getElementsByTagName("INSTANCENAME");
my $namepath_string;
if (@namepath) {
$namepath_string = $namepath[0]->toString();
}
# get all the instance elements
my @instances = $resp_doc->getElementsByTagName("VALUE.NAMEDINSTANCE");
foreach my $instance (@instances) {
# get all the property element for each instance
my @properties = $instance->getElementsByTagName("PROPERTY");
if (my @property_arrays = $instance->getElementsByTagName("PROPERTY.ARRAY")) {
push @properties, @property_arrays;
}
my $ins_value;
foreach my $property (@properties) {
# get name, vlaue and type for each property. (only the one which has value)
if (my $pname = $property->getAttribute("NAME")) {
if (my $pvalue = $property->getAttribute("TYPE")) {
$ins_value->{property}->{$pname}->{type} = $pvalue;
}
if ($property->getElementsByTagName("VALUE.ARRAY")) {
my @nodelist = $property->getElementsByTagName("VALUE");
my @value_array = ();
foreach my $n (@nodelist) {
push @value_array, $n->textContent;
}
$ins_value->{property}->{$pname}->{value} = join(',',@value_array);
} elsif (my $node = $property->getElementsByTagName("VALUE")) {
$ins_value->{property}->{$pname}->{value} = $node->[0]->textContent;
}
}
}
push @{$ret_value}, $ins_value;
}
return ({rc =>0}, $ret_value, $namepath_string);
}
=head1 set_property ()
Description:
Set the property for an instance.
Arguments:
http_params: A reference to HTTP_PARAMS
cim_params: The CIM parameters
namepath - a mandatory param to specify the path of the instance.
It should be returned from 'enum_instance' subroutine.
Return:
1 - A hash reference. The valid key includes:
rc - The return code. 0 - success. > 0 - fail.
cim_rc - The return code from CIM server.
msg - Output message.
=cut
sub set_property
{
my $http_params = shift;
unless (ref($http_params)) {
$http_params = shift;
}
my $cim_params = shift;
# This is a mandatory parameter
unless ($cim_params->{namepath}) {
return ({rc => 1, msg => "Missed the name path for the instance"});
}
unless ($cim_params->{namespace}) {
$cim_params->{namespace} = "ibmsd";
}
# prepare the CIM payload
my $tmpnode;
# create a new doc
my $doc = XML::LibXML->createDocument('1.0','UTF-8');
# create and add the root element
my $root = $doc->createElement("CIM");
$root->setAttribute("CIMVERSION", "2.0");
$root->setAttribute("DTDVERSION", "2.0");
$doc->setDocumentElement($root);
# create and add the MESSAGE element
my $message = $doc->createElement("MESSAGE");
$message->setAttribute("ID", "1000");
$message->setAttribute("PROTOCOLVERSION", "1.0");
$root->addChild($message);
# add a SIMPLE REQUEST
my $simple_request = $doc->createElement("SIMPLEREQ");
$message->addChild($simple_request);
# add an IMETHOD CALL
my $imethod_call = $doc->createElement("IMETHODCALL");
$imethod_call->setAttribute("NAME", "SetProperty");
$simple_request->addChild($imethod_call);
# add the local name space path
my $localnamespacepath = $doc->createElement("LOCALNAMESPACEPATH");
$tmpnode = $doc->createElement("NAMESPACE");
$tmpnode->setAttribute("NAME", "root");
$localnamespacepath->addChild($tmpnode);
$tmpnode = $doc->createElement("NAMESPACE");
$tmpnode->setAttribute("NAME", $cim_params->{namespace});
$localnamespacepath->addChild($tmpnode);
$imethod_call->addChild($localnamespacepath);
# add the target property name
my $param_propertyname = $doc->createElement("IPARAMVALUE");
$param_propertyname->setAttribute("NAME", "PropertyName");
$imethod_call->addChild($param_propertyname);
$tmpnode = $doc->createElement("VALUE");
$tmpnode->appendTextNode($cim_params->{propertyname});
$param_propertyname->addChild($tmpnode);
# add the target property value
my $param_newvaluename = $doc->createElement("IPARAMVALUE");
$param_newvaluename->setAttribute("NAME", "NewValue");
$imethod_call->addChild($param_newvaluename);
$tmpnode = $doc->createElement("VALUE");
$tmpnode->appendTextNode($cim_params->{propertyvalue});
$param_newvaluename->addChild($tmpnode);
# add parameters of instance name path
my $param_namepath = $doc->createElement("IPARAMVALUE");
$param_namepath->setAttribute("NAME", "InstanceName");
$param_namepath->appendWellBalancedChunk($cim_params->{namepath});
$imethod_call->addChild($param_namepath);
my $payload = $doc->toString();
# generate http request
my $ret = gen_http_request($http_params, $payload);
if ($ret->{rc}) {
return $ret;
}
# send request to http server
$ret = send_http_request($http_params, $ret->{request});
if ($ret->{rc}) {
return $ret;
}
# parse the http response
my $ret_value;
my $parser = XML::LibXML->new();
my $resp_doc = $parser->parse_string($ret->{payload});
# check the error message from CIM
my $error_node = $resp_doc->getElementsByTagName("ERROR");
if ($error_node) {
my $msg = $error_node->[0]->getAttribute("DESCRIPTION");
my $errorcode = $error_node->[0]->getAttribute("CODE");
return ({rc => 1, cim_rc => $errorcode, msg => $error_node->[0]->getAttribute("DESCRIPTION")." [cim return code: $errorcode]"});
}
# if no http and cim error, the setting was succeeded
return ($ret);
}
=head1 gen_http_request ()
Description:
Generate a http request.
Arguments:
http_params: A reference to HTTP_PARAMS
payload: The payload for the http request. It can be null if the payload has been set in http_params.
Return:
A hash reference. The valid key includes:
rc - The return code. 0 - success. > 0 - fail.
msg - Output message
request - The generated HTTP::Request object
=cut
sub gen_http_request
{
my $http_params = shift;
my $http_payload = shift;
# check the mandatory parameters
unless (defined ($http_params->{ip}) && defined ($http_params->{port}) && defined($http_params->{user}) && defined($http_params->{password})) {
return ({rc => 1, msg => "Missed the mandatory parameters: ip, port, user or password"});
}
# set the default value for parameters
unless (defined ($http_params->{protocol})) {
$http_params->{protocol} = 'https';
}
unless (defined ($http_params->{format})) {
$http_params->{format} = 'xml';
}
unless (defined ($http_params->{method})) {
$http_params->{method} = 'GET';
}
my $payload = '';
if (defined ($http_params->{payload})) {
$payload = $http_params->{payload};
}
if (defined ($http_payload)) {
unless (ref($http_payload)) { #Todo: support payloasd to be a hash
$payload = $http_payload;
}
}
# create the http head
my $header = HTTP::Headers->new('content-type' => "application/$http_params->{format}",
'Accept' => "application/$http_params->{format}",
'User-Agent' => "xCAT/2",
'Host' => "$http_params->{ip}:$http_params->{port}");
# set the user & password
$header->authorization_basic($http_params->{user}, $http_params->{password});
# set the length of payload
my $plen = length($payload);
$header->push_header('Content-Length' => $plen);
# create the URL
my $url = "$http_params->{protocol}://$http_params->{ip}:$http_params->{port}";
my $request = HTTP::Request->new($http_params->{method}, $url, $header, $payload);
# set the http version
$request->protocol('HTTP/1.1');
return ({rc => 0, request => $request});
}
=head1 send_http_request ()
Description:
Send http request to http server and waiting for the response.
Arguments:
http_params: A reference to HTTP_PARAMS
http_request: A HTTP::Request object
Return:
A hash reference. The valid key includes:
rc - The return code. 0 - success. > 0 - fail.
http_rc - The return code of http. 200, 400 ...
msg - Output message
payload - The http response from http server
=cut
sub send_http_request
{
my $http_params = shift;
my $http_request = shift;
# Load the library LWP::Protocol::https for https support
if ($http_params->{protocol} eq 'https') {
eval { require LWP::Protocol::https};
if ($@) {
return ({rc => 1, msg => "Failed to load perl library LWP::Protocol::https"});
}
}
# create a new HTTP User Agent Object
my $ua = LWP::UserAgent->new(ssl_opts => { verify_hostname => 0, SSL_verify_mode => 0});
if ($http_params->{timeout}) {
$ua->timeout($http_params->{timeout});
} else {
$ua->timeout(10); # the default timeout is 10s
}
if (defined($http_params->{verbose}) && defined ($http_params->{callback})) {
$http_params->{callback}({data => ["\n========CIM Request Start========", $http_request->as_string(), "=======CIM Request End======="]});
}
# send request and receive the response
my $response = $ua->request($http_request);
if (defined($http_params->{verbose}) && defined ($http_params->{callback}) && defined ($response->{_content})) {
$http_params->{callback}({data => ["\n========CIM Response Start========", $response->{_content}, "=======CIM Response End======="]});
}
# check the http response
if (defined ($response) && defined ($response->{_rc}) && defined ($response->{_msg})) {
if ($response->{_rc} eq "200" && $response->{_msg} eq "OK") {
return ({rc => 0, http_rc => $response->{_rc}, msg => "$response->{_msg} [http return code: $response->{_rc}]", payload => $response->{_content}});
}
}
return ({rc => 1, http_rc => $response->{_rc}, msg => $response->{_msg}});
}
1;
+10 -83
View File
@@ -8,11 +8,9 @@ BEGIN
# if AIX - make sure we include perl 5.8.2 in INC path.
# Needed to find perl dependencies shipped in deps tarball.
use Storable qw/nstore_fd fd_retrieve/;
if ($^O =~ /^aix/i) {
unshift(@INC, qw(/usr/opt/perl5/lib/5.8.2/aix-thread-multi /usr/opt/perl5/lib/5.8.2 /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi /usr/opt/perl5/lib/site_perl/5.8.2));
}
use IO::Handle;
my $inet6support;
if ($^O =~ /^aix/i) { # disable AIX IPV6 TODO fix
@@ -29,7 +27,7 @@ if ($inet6support) {
if ($^O =~ /^linux/i) {
# Is IPv6 enabled on the MN or xcat client node at all?
my $ipv6enabled = `ip addr 2> /dev/null | grep inet6`;
my $ipv6enabled = `ip addr | grep inet6`;
if (!$ipv6enabled) {
$inet6support = 0;
}
@@ -79,23 +77,6 @@ sub rspclean {
}
return 0;
}
sub send_request {
my $request = shift;
my $sock = shift;
my $encode = shift;
if ($encode eq "xml") {
my $msg=XMLout($request,RootName=>'xcatrequest',NoAttr=>1,KeyAttr=>[]);
if ($ENV{XCATXMLTRACE}) { print $msg; }
if($ENV{XCATXMLWARNING}) {
validateXML($msg);
}
print $sock $msg;
$sock->flush();
} else {
nstore_fd($request,$sock);
$sock->flush();
}
}
#################################
# submit_request will take an xCAT command and pass it to the xCAT
# server for execution.
@@ -237,10 +218,6 @@ if (ref($request) eq 'HASH') { # the request is an array, not pure XML
}
}
my $client;
my %sslargs;
if (defined($ENV{'XCATSSLVER'})) {
$sslargs{SSL_version} = $ENV{'XCATSSLVER'};
}
if (-r $keyfile and -r $certfile and -r $cafile) {
$client = IO::Socket::SSL->start_SSL($pclient,
SSL_key_file => $keyfile,
@@ -249,7 +226,6 @@ if (ref($request) eq 'HASH') { # the request is an array, not pure XML
SSL_verify_mode => SSL_VERIFY_PEER,
SSL_use_cert => 1,
Timeout => 0,
%sslargs,
);
} else {
$client = IO::Socket::SSL->start_SSL($pclient,
@@ -267,26 +243,20 @@ if (ref($request) eq 'HASH') { # the request is an array, not pure XML
}
my $msg;
my $encode = "xml";
#storable encoding is unsafe, carry on with the unsafe xml scheme
#perhaps one day will support faster schemes
#my $encode = "storable";
#my $straightprint=0;
#if ($ENV{XCATXMLTRACE} or $ENV{XCATXMLWARNING}) { $encode="xml"; }
if (ref($request) eq 'HASH') { # the request is an array, not pure XML
#print $client "xcatencoding: $encode\n";
#my $encok=<$client>;
send_request($request,$client,$encode);
$msg=XMLout($request,RootName=>'xcatrequest',NoAttr=>1,KeyAttr=>[]);
} else { #XML
$straightprint=1;
$msg=$request;
print $client $msg;
}
$SIG{TERM} = $SIG{INT} = sub { send_request({abortcommand=>[1]},$client,$encode); exit 0; };
if ($ENV{XCATXMLTRACE}) { print $msg; }
if($ENV{XCATXMLWARNING}) {
validateXML($msg);
}
$SIG{TERM} = $SIG{INT} = sub { print $client XMLout({abortcommand=>1},RootName=>'xcatrequest',NoAttr=>1,KeyAttr=>[]); exit 0; };
print $client $msg;
my $response;
my $rsp;
my $cleanexit=0;
if ($encode eq 'xml') {
my $massresponse="<massresponse>";
my $nextcoalescetime=time()+1;
my $coalescenow=0;
@@ -340,27 +310,6 @@ if (ref($request) eq 'HASH') { # the request is an array, not pure XML
$massresponse .= "</massresponse>";
$cleanexit = rspclean($massresponse,$callback);
}
} else { #storable encode
my $rsp;
eval { $rsp = fd_retrieve($client); };
SERVERINPUT: while ($rsp) {
my @rsps;
if (ref $rsp eq 'ARRAY') {
@rsps = @$rsp;
} else {
@rsps = ($rsp);
}
foreach (@rsps) {
$callback->($_);
if ($_->{serverdone}) {
$cleanexit=1;
last SERVERINPUT;
}
}
$rsp = undef;
eval { $rsp = fd_retrieve($client); };
}
}
$massresponse="";
unless ($cleanexit) {
print STDERR "ERROR/WARNING: communication with the xCAT server seems to have been ended prematurely\n";
@@ -1164,12 +1113,7 @@ sub handle_response {
#print "printing node\n";
my $node;
foreach $node (@$nodes) {
my $desc;
if (ref($node->{name}) eq 'ARRAY') {
$desc=$node->{name}->[0];
} else {
$desc=$node->{name};
}
my $desc=$node->{name}->[0];
if ($node->{errorcode}) {
if (ref($node->{errorcode}) eq 'ARRAY') {
foreach my $ecode (@{$node->{errorcode}}) {
@@ -1189,24 +1133,7 @@ sub handle_response {
$errflg=1;
}
if ($node->{data}) {
if (ref(\($node->{data})) eq 'SCALAR') {
$desc=$desc.": ".$node->{data};
} elsif (ref($node->{data}) eq 'HASH') {
if ($node->{data}->{desc}) {
if (ref($node->{data}->{desc}) eq 'ARRAY') {
$desc=$desc.": ".$node->{data}->{desc}->[0];
} else {
$desc=$desc.": ".$node->{data}->{desc};
}
}
if ($node->{data}->{contents}) {
if (ref($node->{data}->{contents}) eq 'ARRAY') {
$desc="$desc: ".$node->{data}->{contents}->[0];
} else {
$desc="$desc: ".$node->{data}->{contents};
}
}
} elsif (ref(\($node->{data}->[0])) eq 'SCALAR') {
if (ref(\($node->{data}->[0])) eq 'SCALAR') {
$desc=$desc.": ".$node->{data}->[0];
} else {
if ($node->{data}->[0]->{desc}) {
+26 -48
View File
@@ -598,7 +598,7 @@ sub _execute_dsh
}
else
{
# HERE: This is where the output shows up
# LKV: This is where the output shows up
#print STDOUT @{$output_buffers{$user_target}};
#print STDERR @{$error_buffers{$user_target}};
chomp(@{$output_buffers{$user_target}});
@@ -1020,7 +1020,6 @@ sub fork_fanout_dsh
}
}
# save the original exports, we are going to add the unique node name below
my $firstpass=0;
while (@$targets_waiting
&& (keys(%$targets_active) < $$options{'fanout'}))
{
@@ -1047,7 +1046,6 @@ sub fork_fanout_dsh
}
if ($$options{'environment'})
{
if ($firstpass ==0) { # do the servicenode stuff only once
# if we are on a servicenode need to get the environment file
# from the SNsyncfiledir, not local
if (xCAT::Utils->isServiceNode()) {
@@ -1070,10 +1068,8 @@ sub fork_fanout_dsh
$rsp->{error}->[0] = "File $$options{'environment'} does not exist";
xCAT::MsgUtils->message("E", $rsp, $::CALLBACK);
}
$firstpass=1;
}
# build the xdsh command
push @dsh_command,
# build the xdsh command
push @dsh_command,
"$exportnode$$options{'pre-command'} . $$options{'environment'} ; $$options{'command'}$$options{'post-command'}";
}
@@ -3997,7 +3993,8 @@ sub parse_and_run_dsh
{
$options{'user'} = $ENV{'DSH_TO_USERID'};
}
if ((!(defined($nodes))) && (!(defined($options{'rootimg'}))))
if ((!(defined(@$nodes))) && (!(defined($options{'rootimg'}))))
{ # no nodes and not -i option, error
my $rsp = ();
$rsp->{error}->[0] = "Unless using -i option, noderange is required.";
@@ -4036,7 +4033,7 @@ sub parse_and_run_dsh
{ # from sinv, discard this name
undef @$nodes;
}
if (@$nodes[0])
if (defined(@$nodes))
{
my $rsp = {};
$rsp->{error}->[0] =
@@ -4407,16 +4404,8 @@ sub parse_and_run_dcp
xCAT::MsgUtils->message("E", $rsp, $::CALLBACK, 1);
return;
}
if (@$nodes[0])
{
my $rsp = {};
$rsp->{error}->[0] =
"Input noderange:@$nodes and any other xdsh flags or environment variables are not valid with -i flag.";
xCAT::MsgUtils->message("E", $rsp, $::CALLBACK, 1);
return;
}
}
if ((!(defined($nodes))) && (!(defined($options{'rootimg'}))))
if ((!(defined(@$nodes))) && (!(defined($options{'rootimg'}))))
{ # no nodes and not -i option, error
my $rsp = {};
$rsp->{error}->[0] = "Unless using -i option, noderange is required.";
@@ -4513,7 +4502,7 @@ sub parse_and_run_dcp
#
# build list of nodes
my @nodelist;
if (@$nodes[0])
if (defined(@$nodes))
{ # there are nodes
@nodelist = @$nodes;
$options{'nodes'} = join(',', @nodelist);
@@ -4983,8 +4972,7 @@ sub parse_rsync_input_file_on_MN
$::process_line = 0;
my $destfileisdir;
my $clause=0;
my $addmergescript =0;
my $addappendscript =0;
open(INPUTFILE, "< $input_file") || die "File $input_file does not exist\n";
while (my $line = <INPUTFILE>)
{
@@ -5025,16 +5013,12 @@ sub parse_rsync_input_file_on_MN
# this triggers the running of the appendscript
$::appendscript ="/opt/xcat/share/xcat/scripts/xdcpappend.sh";
}
# add the append script to the sync
if ($addappendscript == 0) { # only add once
my $appscript ="/opt/xcat/share/xcat/scripts/xdcpappend.sh";
my $appendscriptline = "$appscript -> $appscript";
$syncappendscript=1; # syncing the xdcpappend.sh script
&build_append_rsync($appendscriptline,$nodes, $options, $input_file,$rsyncSN, $syncdir,$nodesyncfiledir,$onServiceNode,$syncappendscript);
$addappendscript=1;
}
} # end APPEND clause
my $appscript ="/opt/xcat/share/xcat/scripts/xdcpappend.sh";
my $appendscriptline = "$appscript -> $appscript";
$syncappendscript=1; # syncing the xdcpappend.sh script
&build_append_rsync($appendscriptline,$nodes, $options, $input_file,$rsyncSN, $syncdir,$nodesyncfiledir,$onServiceNode,$syncappendscript);
}
if ($clause =~ /MERGE:/) {
# location of the base merge script
# for MERGE we have to sync the mergescript and the
@@ -5046,16 +5030,12 @@ sub parse_rsync_input_file_on_MN
# this triggers the running of the mergescript
$::mergescript ="/opt/xcat/share/xcat/scripts/xdcpmerge.sh";
}
# add the merge script to the sync
if ($addmergescript == 0) { # only add once
my $mergescript ="/opt/xcat/share/xcat/scripts/xdcpmerge.sh";
my $mergescriptline = "$mergescript -> $mergescript";
$syncmergescript=1; # syncing the xdcpmerge.sh script
&build_merge_rsync($mergescriptline,$nodes, $options, $input_file,$rsyncSN, $syncdir,$nodesyncfiledir,$onServiceNode,$syncmergescript);
$addmergescript=1;
}
} # end MERGE clause
my $mergescript ="/opt/xcat/share/xcat/scripts/xdcpmerge.sh";
my $mergescriptline = "$mergescript -> $mergescript";
$syncmergescript=1; # syncing the xdcpmerge.sh script
&build_merge_rsync($mergescriptline,$nodes, $options, $input_file,$rsyncSN, $syncdir,$nodesyncfiledir,$onServiceNode,$syncmergescript);
}
}
} else { # not processing EXECUTE, EXECUTEALWAYS or APPEND
@@ -5219,7 +5199,6 @@ sub build_append_rsync
push @::appendlines,$line;
}
my $src_file = $1; # append file left of arror
my $orig_src_file = $1; # append file left of arror
# it will be sync'd to $nodesyncfiledir/$append_file
my $dest_file = $nodesyncfiledir;
$dest_file .= $src_file;
@@ -5248,7 +5227,7 @@ sub build_append_rsync
# to pick up files from /var/xcat/syncfiles...
if ($onServiceNode == 1) {
my $newsrcfile = $syncdir; # add SN syndir on front
$newsrcfile .= $orig_src_file;
$newsrcfile .= $src_file;
$src_file=$newsrcfile;
}
# destination file name
@@ -5331,8 +5310,7 @@ sub build_merge_rsync
if ($syncmergescript == 0) { # don't add the xdcpmerge.sh line
push @::mergelines,$line;
}
my $src_file = $1; # merge file left of arrow
my $orig_src_file = $1;
my $src_file = $1; # merge file left of arror
# it will be sync'd to $nodesyncfiledir/$merge_file
my $dest_file = $nodesyncfiledir;
$dest_file .= $src_file;
@@ -5361,7 +5339,7 @@ sub build_merge_rsync
# to pick up files from /var/xcat/syncfiles...
if ($onServiceNode == 1) {
my $newsrcfile = $syncdir; # add SN syndir on front
$newsrcfile .= $orig_src_file;
$newsrcfile .= $src_file;
$src_file=$newsrcfile;
}
# destination file name
@@ -6051,11 +6029,11 @@ sub run_always_rsync_postscripts
# if on the service node need to add the $syncdir directory
# to the path
if (xCAT::Utils->isServiceNode()) {
my $tmps=$syncdir . $ps;
push @args, $tmps;
} else{
push @args, $ps;
my $tmpp=$syncdir . $ps;
$ps=$tmpp;
}
push @args, $ps;
push (@nodes, @{$$dshparms{'postscripts'}{$ps}});
$out=xCAT::Utils->runxcmd( { command => ['xdsh'],
+58
View File
@@ -253,6 +253,64 @@ use strict;
#---------------------------------------------------------------------------
=head3
ifconfig_inet
Builds a list of all IP Addresses bound to the local host and
stores them in a global list
Arguments:
None
Returns:
None
Globals:
@local_inet
Error:
None
Example:
xCAT::DSHCore->ifconfig_inet;
Comments:
Internal routine only
=cut
#---------------------------------------------------------------------------
sub ifconfig_inet
{
my @local_inet = ();
if ($^O eq 'aix')
{
my @ip_address = ();
my @output = `/usr/sbin/ifconfig -a`;
foreach my $line (@output)
{
($line =~ /inet ((\d{1,3}?\.){3}(\d){1,3})\s/o)
&& (push @local_inet, $1);
}
}
elsif ($^O eq 'linux')
{
my @ip_address = ();
my @output = `/sbin/ifconfig -a`;
foreach my $line (@output)
{
($line =~ /inet addr:((\d{1,3}?\.){3}(\d){1,3})\s/o)
&& (push @local_inet, $1);
}
}
}
#---------------------------------------------------------------------------
+1 -1
View File
@@ -407,7 +407,7 @@ sub lshwconn_parse_args
}
if (scalar(@error_type_nodes)) {
my $tmp_nodelist = join ',', @error_type_nodes;
my $link = (scalar(@error_type_nodes) eq '1')? 'is':'are';
my $link = (scalar(@error_type_nodes) == '1')? 'is':'are';
return( ["Node type of node(s) $tmp_nodelist $link not supported for this command in FSPAPI.\n"]);
}
#$nodetypetab->close();
+6 -8
View File
@@ -517,14 +517,12 @@ sub getmacs {
$data.= "\n$_\n";
push @$value, "\n$_\n";
} elsif ( /^ent\s+/ || /^hfi-ent\s+/ ) {
#my @fields = split /\s+/, $_;
#my $mac = $fields[2];
#$mac = format_mac( $mac );
#$fields[2] = $mac;
#$data .= join(" ",@fields)."\n";
#push @$value, join(" ",@fields)."\n";
$data .= "$_\n";
push @$value, "$_\n";
my @fields = split /\s+/, $_;
my $mac = $fields[2];
$mac = format_mac( $mac );
$fields[2] = $mac;
$data .= join(" ",@fields)."\n";
push @$value, join(" ",@fields)."\n";
}
}
push @$res,[$node,$data,0];
+5 -5
View File
@@ -264,7 +264,7 @@ sub temp {
# No frame commands for IVM
#################################
if ( $hwtype eq "ivm" ) {
push @result, [$name,"$prefix Not available (No BPA)",0];
push @result, [$name,"$prefix Not available (No BPA)",1];
next;
}
#################################
@@ -272,14 +272,14 @@ sub temp {
#################################
if ( @$d[4] !~ /^(fsp|lpar|cec)$/ ) {
my $text = "$prefix Only available for CEC/LPAR";
push @result, [$name,$text,0];
push @result, [$name,$text,1];
next;
}
#################################
# Error - No frame
#################################
if ( $mtms eq "0" ) {
push @result, [$name,"$prefix Not available (No BPA)",0];
push @result, [$name,"$prefix Not available (No BPA)",1];
next;
}
#################################
@@ -352,7 +352,7 @@ sub rackenv {
#################################
if ( @$d[4] !~ /^(bpa|frame)$/ ) {
my $text = "$prefix Only available for BPA/Frame";
push @result, [$name,$text,0];
push @result, [$name,$text,1];
next;
}
@@ -435,7 +435,7 @@ sub lcds {
if( $type eq "lpar" ) {
$action = "query_lcds";
} elsif ($type eq "blade") {
$action = "pblade_query_lcds";
$action = "pblade_query_lcds";
} else {
$action = "cec_query_lcds";
}
+80 -335
View File
@@ -16,7 +16,7 @@ use xCAT::Usage;
use xCAT::NodeRange;
use xCAT::FSPUtils;
use xCAT::VMCommon;
use Data::Dumper;
#use Data::Dumper;
use xCAT::MsgUtils qw(verbose_message);
##############################################
# Globals
@@ -48,26 +48,15 @@ sub parse_args {
##########################################################################
# Parse the chvm command line for options and operands
##########################################################################
my @query_array = ();
my %param_list_map = (
'vmcpus' => 'part_get_lpar_processing',
'vmmemory' => 'part_get_lpar_memory',
'add_physlots' => 'part_get_all_io_bus_info',
'del_physlots' => 'part_get_all_io_bus_info',
'add_vmnics' => 'part_get_all_vio_info',
'add_vmstorage' => 'part_get_all_vio_info',
'del_vadapter' => 'part_get_all_vio_info'
);
sub chvm_parse_extra_options {
my $args = shift;
my $opt = shift;
# Partition used attributes #
my @support_ops = qw(vmcpus vmmemory add_physlots vmothersetting add_vmstorage add_vmnics del_vadapter del_physlots);
my @support_ops = qw(vmcpus vmmemory vmphyslots vmothersetting vmstorage vmnics del_vadapter);
if (ref($args) ne 'ARRAY') {
return "$args";
}
my %tmp_hash = ();
foreach (@$args) {
my ($cmd, $value) = split (/\=/, $_);
if (!defined($value)) {
@@ -86,33 +75,17 @@ sub chvm_parse_extra_options {
# return "'$value' invalid";
# }
} elsif (grep(/^$cmd$/, @support_ops)) {
if (exists($param_list_map{$cmd})) {
$tmp_hash{$param_list_map{$cmd}} = 1;
}
if (exists($opt->{p775})) {
return "'$cmd' doesn't work for Power 775 machines.";
} elsif ($cmd eq "del_vadapter") {
if ($value !~ /^\d+$/) {
return "Invalid param '$value', only one slot id can be specified";
}
} elsif ($cmd eq "del_physlots") {
my @tmp_array = split ",",$value;
foreach (@tmp_array) {
unless (/(0x\w{8})/) {
return "'$_' is invalid";
}
}
} elsif ($cmd eq "vmothersetting") {
if ($value =~ /hugepage:\s*(\d+)/i) {
$opt->{huge_page} = $1;
$tmp_hash{'get_huge_page'} = 1;
}
if ($value =~ /bsr:\s*(\d+)/i) {
$opt->{bsr} = $1;
$tmp_hash{'get_cec_bsr'} = 1;
}
next;
} elsif ($cmd eq "add_vmstorage") {
} elsif ($cmd eq "vmstorage") {
if (exists($opt->{vios})) {
if ($value !~ /\d+/) {
return "'$value' is invalid, must be numbers";
@@ -141,13 +114,13 @@ sub chvm_parse_extra_options {
} elsif ($cmd eq "vmmemory") {
if ($value =~ /^([\d|.]+)([G|M]?)\/([\d|.]+)([G|M]?)\/([\d|.]+)([G|M]?)$/i) {
my ($mmin, $mcur, $mmax);
if ($2 eq "G" or $2 eq '') {
if ($2 == "G" or $2 == '') {
$mmin = $1 * 1024;
}
if ($4 eq "G" or $4 eq '') {
if ($4 == "G" or $4 == '') {
$mcur = $3 * 1024;
}
if ($6 eq "G" or $6 eq '') {
if ($6 == "G" or $6 == '') {
$mmax = $5 * 1024;
}
unless ($mmin <= $mcur and $mcur <= $mmax) {
@@ -156,7 +129,7 @@ sub chvm_parse_extra_options {
} else {
return "'$value' is invalid";
}
} elsif ($cmd eq "add_physlots") {
} elsif ($cmd eq "vmphyslots") {
my @tmp_array = split ",",$value;
foreach (@tmp_array) {
unless (/(0x\w{8})/) {
@@ -170,7 +143,7 @@ sub chvm_parse_extra_options {
return "'$_' is invalid";
}
}
} elsif ($cmd eq "add_vmnics") {
} elsif ($cmd eq "vmnics") {
my @tmp_array = split ",", $value;
foreach (@tmp_array) {
unless (/^vlan\d+$/i) {
@@ -184,7 +157,6 @@ sub chvm_parse_extra_options {
}
$opt->{$cmd} = $value;
}
@query_array = keys(%tmp_hash);
return undef;
}
@@ -206,9 +178,8 @@ sub chvm_parse_args {
# Process command-line arguments
#############################################
if ( !defined( $args )) {
#$request->{method} = $cmd;
#return( \%opt );
return ( usage() );
$request->{method} = $cmd;
return( \%opt );
}
#############################################
# Checks case in GetOptions, allows opts
@@ -423,7 +394,7 @@ sub chvm_parse_args {
my $check_chvm_arg = chvm_parse_extra_options(\@ARGV, \%opt);
if (defined($check_chvm_arg)) {
return (usage("Invalid argument: $check_chvm_arg"));
} elsif (($opt{lparname}) && ($opt{lparname} ne '*') && (scalar(@{$request->{node}}) > '1')){
} elsif (($opt{lparname} ne '*') && (scalar(@{$request->{node}}) > '1')){
return(usage( "Invalid argument: must specify '*' for more than one node" ));
}
if ((exists($opt{lparname}) ||exists($opt{huge_page})) &&
@@ -616,6 +587,7 @@ sub mkvm_parse_args {
if ( (!exists( $opt{i} ) || !exists( $opt{r} )) ) {
return(usage());
}
}
$opt{target} = \@{$request->{node}};
my $ppctab = xCAT::Table->new( 'ppc');
unless($ppctab) {
@@ -640,11 +612,9 @@ sub mkvm_parse_args {
return(usage("For Power 775, please make sure the noderange are in one CEC "));
}
}
#if (exists($opt{p775})) {
if (exists($opt{p775})) {
$request->{node} = [$other_p];
$request->{noderange} = $other_p;
#}
}
####################################
# No operands - add command name
@@ -749,7 +719,7 @@ sub lsvm_parse_args {
$Getopt::Long::ignorecase = 0;
Getopt::Long::Configure( "bundling" );
if ( !GetOptions( \%opt, qw(V|verbose l|long p775 updatedb) )) {
if ( !GetOptions( \%opt, qw(V|verbose l|long p775) )) {
return( usage() );
}
if (exists($opt{l}) && !exists($opt{p775})) {
@@ -788,12 +758,11 @@ sub modify {
return op_extra_cmds ($request, $hash) if ($request->{opt}->{lparname} || $request->{opt}->{huge_page});
return ([["Error", "Miss argument\n".$usage_string, 1]]);
}
sub do_op_extra_cmds {
my $request = shift;
my $hash = shift;
my @values = ();
my %lpar_hash = ();
while (my ($mtms, $h) = each(%$hash)) {
my $memhash;
while (my($name, $d) = each(%$h)) {
@@ -803,27 +772,14 @@ sub do_op_extra_cmds {
if ($op eq "lparname") {
$action = "set_lpar_name";
} elsif ($op eq "huge_page") {
my @td = @$d;
@td[0] = 0;
my $tmphash = &query_cec_info_actions($request, $name, \@td, 1, ["get_huge_page"]);
if ($tmphash->{huge_page_avail}) {
if ($param > $tmphash->{huge_page_avail}) {
push @values, [$name, "No enough huge pages, only $tmphash->{huge_page_avail} pages available", 0];
$param = $tmphash->{huge_page_avail};
}
$param = "1/$param/$param";
} else {
push @values, [$name, "No huge page available to configure", 0];
next;
}
$action = "set_huge_page";
} elsif ($op eq "vmcpus") {
$action = "part_set_lpar_pending_proc";
} elsif ($op eq "add_physlots" or $op eq "del_physlots") {
} elsif ($op eq "vmphyslots") {
$action = "set_io_slot_owner_uber";
} elsif ($op eq "del_vadapter") {
$action = "part_clear_vslot_config";
} elsif ($op eq "add_vmnics") {
} elsif ($op eq "vmnics") {
my @vlans = split /,/,$param;
foreach (@vlans) {
if (/vlan(\d+)/i) {
@@ -842,7 +798,7 @@ sub do_op_extra_cmds {
}
}
next;
} elsif ($op eq "add_vmstorage") {
} elsif ($op eq "vmstorage") {
foreach my $v_info (@$param) {
if ($v_info =~ /(\d+),([\w_-]*):(\d+)/) {
my $vios = &find_lpar_id($request, @$d[3], $2);
@@ -864,28 +820,24 @@ sub do_op_extra_cmds {
my @td = @$d;
@td[0] = 0;
$memhash = &query_cec_info_actions($request, $name, \@td, 1, ["part_get_hyp_process_and_mem"]);
unless (scalar keys(%$memhash)) {
push @values, [$mtms, "Can not get hypervisor information", 1];
next;
}
if (!exists($memhash->{run})) {
if ($param =~ /(\d+)([G|M]?)\/(\d+)([G|M]?)\/(\d+)([G|M]?)/i) {
my $memsize = $memhash->{mem_region_size};
my $min = $1;
if ($2 eq "G" or $2 eq '') {
if ($2 == "G" or $2 == '') {
$min = $min * 1024;
}
$min = int($min/$memsize);
$min = $min/$memsize;
my $cur = $3;
if ($4 eq "G" or $4 eq '') {
if ($4 == "G" or $4 == '') {
$cur = $cur * 1024;
}
$cur = int($cur/$memsize);
$cur = $cur/$memsize;
my $max = $5;
if ($6 eq "G" or $6 eq '') {
if ($6 == "G" or $6 == '') {
$max = $max * 1024;
}
$max = int($max/$memsize);
$max = $max/$memsize;
$request->{opt}->{$op} ="$min/$cur/$max";
$param = $request->{opt}->{$op};
} else {
@@ -897,11 +849,7 @@ sub do_op_extra_cmds {
$memhash->{lpar_used_regions} = 0;
my $ret = &deal_with_avail_mem($request, $name, $d, $memhash);
if (ref($ret) eq "ARRAY") {
if (@$ret[2]) {
return ([[@$ret]]);
} else {
push @values, $ret;
}
return ([[@$ret]]);
}
$param = $memhash->{memory};
$action = "part_set_lpar_pending_mem";
@@ -915,32 +863,15 @@ sub do_op_extra_cmds {
}
my $tmp_value = ($param eq '*') ? $name : $param;
xCAT::MsgUtils->verbose_message($request, "$request->{command} $action for node:$name, parm:$tmp_value.");
my @tmpd = @$d;
if ($op eq "del_physlots") {
@tmpd[0] = "-1";
}
my $value = xCAT::FSPUtils::fsp_api_action($request, $name, \@tmpd, $action, 0, $tmp_value);
my $value = xCAT::FSPUtils::fsp_api_action($request, $name, $d, $action, 0, $tmp_value);
if (@$value[1] && ((@$value[1] =~ /Error/i) && (@$value[2] ne '0'))) {
return ([[$name, @$value[1], '1']]) ;
} else {
push @values, [$name, "Success", '0'];
}
}
if (@query_array) {
my $rethash = query_cec_info_actions($request, $name, $d, 1, \@query_array);
unless (scalar keys(%$rethash)) {
push @values, [$mtms, "Can not get hypervisor information", 1];
next;
}
# need to add update db here
$lpar_hash{$name} = $rethash;
$lpar_hash{$name}->{parent} = @$d[3];
}
}
}
if (%lpar_hash) {
update_vm_db($request, \%lpar_hash);
}
return \@values;
}
sub check_node_info {
@@ -1183,7 +1114,7 @@ sub get_cec_lpar_name {
my @value = split(/\n/, $lpar_info);
foreach my $v (@value) {
if($v =~ /lparname:\s*([^\,]*),\s*lparid:\s*([\d]+),/) {
if($2 eq $lparid) {
if($2 == $lparid) {
return $1;
}
}
@@ -1707,7 +1638,7 @@ sub xCATdB {
$profile,
$parent );
return( xCAT::PPCdb::add_ppc( $hwtype, [$values],'','',"FSP" ));
return( xCAT::PPCdb::add_ppc( $hwtype, [$values] ));
}
return undef;
}
@@ -1721,7 +1652,6 @@ my @partition_query_actions = qw(part_get_partition_cap part_get_hyp_process_and
sub parse_part_get_info {
my $hash = shift;
my $data = shift;
my $lparid = shift;
my @array = split /\n/, $data;
foreach my $line (@array) {
chomp($line);
@@ -1738,16 +1668,13 @@ sub parse_part_get_info {
$hash->{process_units_avail} = $2;
} elsif ($line =~ /Authority Lpar id:(\w+)/i) {
$hash->{service_lparid} = $1;
} elsif ($line =~ /(\d+),(\d+),[^,]*,(\w+),\w*\(([\w| |-|_|\/]*)\)/) {
} elsif ($line =~ /(\d+),(\d+),[^,]*,(\w+),\w*\(([\w| |-|_]*)\)/) {
$hash->{bus}->{$3}->{cur_lparid} = $1;
$hash->{bus}->{$3}->{bus_slot} = $2;
$hash->{bus}->{$3}->{des} = $4;
if ($lparid and $lparid eq $1) {
push @{$hash->{lpar_phy_bus}}, $3;
}
} elsif ($line =~ /Phy drc_index:(\w+), Port group: (\w+), Phy port id: (\w+)/) {
$hash->{phy_drc_group_port}->{$1}->{$2}->{$3} = '1';
#} elsif ($line =~ /adapter_id=(\w+),lpar_id=([\d|-]+).*port_group=(\d+),phys_port_id=(\d+).*drc_index=(\w+),.*/) {
} elsif ($line =~ /adapter_id=(\w+),lpar_id=([\d|-]+).*port_group=(\d+),phys_port_id=(\d+).*drc_index=(\w+),.*/) {
if (($2 == -1) && ($4 == 255)) {
$hash->{logic_drc_phydrc}->{$3}->{$5} = $1;
#$hash->{logic_drc_phydrc}->{$5}->{$1} = [$2,$3,$4];
@@ -1760,49 +1687,12 @@ sub parse_part_get_info {
$hash->{lpar0_used_mem} = $2;
$hash->{phy_min_mem_req} = $3;
#print "===>lpar0_used_mem:$hash->{lpar0_used_mem}.\n";
} elsif ($line =~ /Curr Memory (Min|Req|Max):\s*([\d]*)[^\(]*\((\d+)\s*regions\)/) {
if ($1 eq 'Min') {
$hash->{lpar_mem_min} = $2
} elsif ($1 eq 'Max') {
$hash->{lpar_mem_max} = $2;
} else {
$hash->{lpar_mem_req} = $2;
$hash->{lpar_used_regions} = $3;
}
} elsif ($line =~ /Curr Processor (Min|Req|Max):\s*(\d+)/) {
if ($1 eq 'Min') {
$hash->{lpar_cpu_min} = $2;
} elsif ($1 eq 'Max') {
$hash->{lpar_cpu_max} = $2;
} else {
$hash->{lpar_cpu_req} = $2;
}
} elsif ($line =~ /\s*lpar_id=(\d+),type=vSCSI,slot=(\d+),attr=(\d+).*remote_lpar_id=0x(\w+),remote_slot_num=0x(\w+)/) {
if ($3 eq '0') {
my $lparid = hex($4);
my $slotid = hex($5);
push @{$hash->{lpar_vmstorage_client}}, "$lparid:$slotid";
} else {
if (exists($hash->{lpar_vmstorage_server})) {
$hash->{lpar_vmstorage_server}++;
} else {
$hash->{lpar_vmstorage_server} = 1;
}
}
} elsif ($line =~ /\s*lpar_id=(\d+),type=(vEth),slot=(\d+).*port_vlan_id=(\d+),mac_addr=(\w+)/) {
push @{$hash->{lpar_vmnics}}, "vlan$4";
} elsif ($line =~ /Curr Memory Req:[^\(]*\((\d+)\s*regions\)/) {
$hash->{lpar_used_regions} = $1;
} elsif ($line =~ /Available huge page memory\(in pages\):\s*(\d+)/) {
$hash->{huge_page_avail} = $1;
} elsif ($line =~ /Available BSR array:\s*(\d+)/) {
$hash->{cec_bsr_avail} = $1;
} elsif ($line =~ /^\d+\/(\d+)\/\d+$/) {
if ($1 ne 0) {
push @{$hash->{lpar_othersetting}}, "hugepage:$1";
}
} elsif ($line =~ /^(\d+)\.$/) {
if ($1 ne 0) {
push @{$hash->{lpar_othersetting}}, "bsr:$1";
}
}
}
}
@@ -1813,7 +1703,6 @@ sub query_cec_info_actions {
my $td = shift;
my $usage = shift;
my $action_array = shift;
my $lpar_hash = shift;
my $lparid = @$td[0];
my $data;
my @array = ();
@@ -1828,16 +1717,12 @@ sub query_cec_info_actions {
chomp(@$values[1]);
#if ($action eq "part_get_partition_cap" and (@$values[1] =~ /Error:/i or @$values[2] ne 0)) {
if (@$values[1] =~ /Error:/i or @$values[2] ne 0) {
next; #return ([[@$values]]);
return ([[@$values]]);
}
if (@$values[1] =~ /^$/) {
next;
}
if ($usage eq 1 or $usage eq 2) {
&parse_part_get_info(\%hash, @$values[1], $lparid);
}
if ($usage eq 0 or $usage eq 2) {
if ($usage eq 0) {
if ($lparid) {
if ($action eq "lpar_lhea_mac") {
my @output = split /\n/,@$values[1];
@@ -1892,72 +1777,18 @@ sub query_cec_info_actions {
}
#$data .= "@$values[1]\n\n";
push @array, [$name, @$values[1], @$values[2]];
}
}
if ($usage eq 0 or $usage eq 2) {
#return $data;
if ($usage eq 2) {
%$lpar_hash = %hash;
} else {
&parse_part_get_info(\%hash, @$values[1]);
}
}
if ($usage eq 0) {
#return $data;
return \@array;
} else {
return \%hash;
}
}
sub update_vm_db {
my $request = shift;
my $lpar_hash = shift;
my $vm_hd = xCAT::Table->new('vm');
my %name_id_map = ();
my $commit = 0;
foreach (keys (%$lpar_hash)) {
my %db_update = ();
my $node_hash = $lpar_hash->{$_};
if (exists($node_hash->{lpar_cpu_min})) {
$db_update{cpus} = "$node_hash->{lpar_cpu_min}/$node_hash->{lpar_cpu_req}/$node_hash->{lpar_cpu_max}";
}
if (exists($node_hash->{lpar_mem_min})) {
$db_update{memory} = "$node_hash->{lpar_mem_min}/$node_hash->{lpar_mem_req}/$node_hash->{lpar_mem_max}";
}
if (exists($node_hash->{lpar_vmstorage_server})) {
$db_update{storage} = $node_hash->{lpar_vmstorage_server};
} elsif (exists($node_hash->{lpar_vmstorage_client})) {
my @tmp_array = ();
foreach (@{$node_hash->{lpar_vmstorage_client}}) {
if (/(\d+):(\d+)/) {
if (exists($name_id_map{$1})) {
push @tmp_array, "$name_id_map{$1}:$2";
} else {
my $vios_name = &find_lpar_name($request, $node_hash->{parent}, $1);
if (defined($vios_name)) {
$name_id_map{$1} = $vios_name;
push @tmp_array, "$vios_name:$2";
}
}
}
}
$db_update{storage} = join(",",@tmp_array);
}
if (exists($node_hash->{lpar_vmnics})) {
$db_update{nics} = join(",",@{$node_hash->{lpar_vmnics}});
}
if (exists($node_hash->{lpar_phy_bus})) {
$db_update{physlots} = join(",",@{$node_hash->{lpar_phy_bus}});
}
if (exists($node_hash->{lpar_othersetting})) {
$db_update{othersettings} = join(",",@{$node_hash->{lpar_othersetting}});
}
if (%db_update) {
$vm_hd->setNodeAttribs($_,\%db_update);
$commit = 1;
}
}
if ($commit) {
$vm_hd->commit;
}
}
#my @partition_query_actions = qw(part_get_partition_cap part_get_num_of_lpar_slots part_get_hyp_config_process_and_mem part_get_hyp_avail_process_and_mem part_get_service_authority_lpar_id part_get_shared_processing_resource part_get_all_vio_info lpar_lhea_mac part_get_all_io_bus_info part_get_lpar_processing part_get_lpar_memory get_huge_page get_cec_bsr);
sub query_cec_info {
my $request = shift;
@@ -1965,48 +1796,25 @@ sub query_cec_info {
my $args = $request->{opt};
my @td = ();
my @result = ();
my $usage = 0;
my %lpar_hash = ();
#print Dumper($request);
#print Dumper($hash);
while (my ($mtms,$h) = each(%$hash) ) {
while (my ($name, $d) = each (%$h)) {
my %tmp_hash = ();
@td = @$d;
if (@$d[0] == 0 && @$d[4] !~ /lpar|vios/) {
last;
}
#my $rethash = query_cec_info_actions($request, $name, $d, 0, ["part_get_lpar_processing","part_get_lpar_memory","part_get_all_vio_info","lpar_lhea_mac","part_get_all_io_bus_info","get_huge_page","get_cec_bsr"]);
if ($args->{updatedb}) {
$usage = 2;
}
my $rethash = query_cec_info_actions($request, $name, $d, $usage, ["part_get_lpar_processing","part_get_lpar_memory","part_get_all_io_bus_info","part_get_all_vio_info","get_huge_page","get_cec_bsr"], \%tmp_hash);
my $rethash = query_cec_info_actions($request, $name, $d, 0, ["part_get_lpar_processing","part_get_lpar_memory","part_get_all_io_bus_info","part_get_all_vio_info","get_huge_page","get_cec_bsr"]);
#push @result, [$name, $rethash, 0];
#push @result, @$rethash;
if (scalar (@$rethash)) {
push @result, @$rethash;
} else {
push @result, [$name, "No information got", -1];
last;
}
$lpar_hash{$name} = \%tmp_hash;
$lpar_hash{$name}->{parent} = @$d[3];
push @result, @$rethash;
}
if (@td[0] == 0) {
my $rethash = query_cec_info_actions($request, @td[3],\@td, $usage);
if (scalar (@$rethash)) {
push @result, @$rethash;
} else {
push @result, [@td[3], "No information got", -1];
last;
}
my $rethash = query_cec_info_actions($request, @td[3],\@td, 0);
#push @result, [@td[3], $rethash, 0];
#push @result, @$rethash;
push @result, @$rethash;
}
}
if ($args->{updatedb} and %lpar_hash) {
update_vm_db($request, \%lpar_hash);
}
return \@result;
}
@@ -2101,12 +1909,9 @@ sub deal_with_avail_mem {
my $cur_mem_in_G = $lparhash->{hyp_avail_mem} * $lparhash->{mem_region_size} * 1.0 / 1024;
return([$name, "Parse reserverd regions failed, no enough memory, available:$cur_mem_in_G GB.", 1]);
}
if (($cur_avail > 0) and ($cur > $cur_avail)) {
my $cur_avail_in_G = $cur_avail * $lparhash->{mem_region_size} * 1.0 / 1024;
$lparhash->{memory} = "$min/$cur_avail/$max";
unless ($lparhash->{full_par}) {
return([$name, "Available memory is less than required, allocate $cur_avail_in_G GB.", 0]);
}
if ($cur > $cur_avail) {
my $new_cur = $cur_avail;
$lparhash->{memory} = "$min/$new_cur/$max";
}
} else {
return ([$name, "Failed to get hypervisor reserved memory regions.", 1]);
@@ -2126,25 +1931,11 @@ sub find_lpar_id {
return undef;
}
sub find_lpar_name {
my $request = shift;
my $parent = shift;
my $id = shift;
my %mapping = %{$request->{ppc}->{$parent}->{mapping}};
foreach (keys %mapping) {
if ($mapping{$_} eq $id) {
return $_;
}
}
return undef;
}
sub create_lpar {
my $request = shift;
my $name = shift;
my $d = shift;
my $lparhash = shift;
my @ret = ();
my $values;
if (exists($request->{opt}->{vios})) {
$values = xCAT::FSPUtils::fsp_api_action($request, $name, $d, "part_set_lpar_def_state", 0, 0x03);
@@ -2157,7 +1948,7 @@ sub create_lpar {
$values = xCAT::FSPUtils::fsp_api_action($request, $name, $d, "set_lpar_name", 0, $name);
if (@$values[2] ne 0) {
&set_lpar_undefined($request, $name, $d);
return ([[$name, @$values[1], @$values[0]]]);
return ([$name, @$values[1], @$values[0]]);
}
xCAT::FSPUtils::fsp_api_action($request, $name, $d, "part_set_lpar_shared_pool_util_auth");
xCAT::FSPUtils::fsp_api_action($request, $name, $d, "part_set_lpar_group_id");
@@ -2168,7 +1959,7 @@ sub create_lpar {
#$values = xCAT::FSPUtils::fsp_api_action($request, $name, $d, "set_io_slot_owner", 0, join(",",@phy_io_array));
if (@$values[2] ne 0) {
&set_lpar_undefined($request, $name, $d);
return ([[$name, @$values[1], @$values[2]]]);
return ([$name, @$values[1], @$values[2]]);
}
}
if (exists($lparhash->{nics})) {
@@ -2184,7 +1975,7 @@ sub create_lpar {
$values = xCAT::FSPUtils::fsp_api_action($request,$name, $d, "part_set_veth_slot_config",0,"0,$vlanid,$mac");
if (@$values[2] ne 0) {
&set_lpar_undefined($request, $name, $d);
return ([[$name, @$values[1], @$values[2]]]);
return ([$name, @$values[1], @$values[2]]);
}
}
}
@@ -2194,7 +1985,7 @@ sub create_lpar {
$values = xCAT::FSPUtils::fsp_api_action($request,$name, $d, "part_set_vscsi_slot_config",0,$v_info);
if (@$values[2] ne 0) {
&set_lpar_undefined($request, $name, $d);
return ([[$name, @$values[1], @$values[2]]]);
return ([$name, @$values[1], @$values[2]]);
}
}
}
@@ -2225,23 +2016,19 @@ sub create_lpar {
$values = xCAT::FSPUtils::fsp_api_action($request, $name, $d, "part_set_lpar_pending_proc", 0, $lparhash->{cpus});
if (@$values[2] ne 0) {
&set_lpar_undefined($request, $name, $d);
return ([[$name, @$values[1], @$values[2]]]);
return ([$name, @$values[1], @$values[2]]);
}
$values = &deal_with_avail_mem($request, $name, $d,$lparhash);
if (ref($values) eq "ARRAY") {
if (@$values[2]) {
&set_lpar_undefined($request, $name, $d);
return ([[@$values]]);
} else {
push @ret, $values;
}
&set_lpar_undefined($request, $name, $d);
return ([@$values]);
}
#print "======>memory:$lparhash->{memory}.\n";
$values = xCAT::FSPUtils::fsp_api_action($request, $name, $d, "part_set_lpar_pending_mem", 0, $lparhash->{memory});
if (@$values[2] ne 0) {
&set_lpar_undefined($request, $name, $d);
return ([[$name, @$values[1], @$values[2]]]);
return ([$name, @$values[1], @$values[2]]);
}
xCAT::FSPUtils::fsp_api_action($request, $name, $d, "part_set_lpar_comp_modes");
@@ -2256,11 +2043,9 @@ sub create_lpar {
$values = xCAT::FSPUtils::fsp_api_action($request, $name, $d, "part_set_lpar_def_state", 0, 0x02);
}
if (@$values[2] ne 0) {
return ([[$name, @$values[1], @$values[2]]]);
return ([$name, @$values[1], @$values[2]]);
}
push @ret, [$name, "Done", 0];
#return ([$name, "Done", 0]);
return \@ret;
return ([$name, "Done", 0]);
}
sub mkspeclpar {
@@ -2269,13 +2054,12 @@ sub mkspeclpar {
my $opt = $request->{opt};
my $values;
my @result = ();
my %lpar_hash = ();
my $vmtab = xCAT::Table->new( 'vm');
unless($vmtab) {
return([["Error","Cannot open vm table", 1]]);
}
while (my ($mtms, $h) = each (%$hash)) {
my $memhash = undef;
my $memhash;
my @nodes = keys(%$h);
my $ent = $vmtab->getNodesAttribs(\@nodes, ['cpus', 'memory','physlots', 'othersettings', 'storage', 'nics']);
while (my ($name, $d) = each (%$h)) {
@@ -2283,18 +2067,12 @@ sub mkspeclpar {
push @result, [$name, "Node must be LPAR", 1];
last;
}
#if (!exists($memhash->{run}))
#{
if (!exists($memhash->{run})) {
my @td = @$d;
@td[0] = 0;
$memhash = &query_cec_info_actions($request, $name, \@td, 1, ["part_get_hyp_process_and_mem","lpar_lhea_mac","part_get_all_io_bus_info"]);
unless (scalar keys(%$memhash)) {
push @result, [$mtms, "Can not get hypervisor information", 1];
last;
}
#$memhash->{run} = 1;
#}
$memhash->{run} = 1;
}
my $tmp_ent = $ent->{$name}->[0];
if (exists($opt->{vmcpus})) {
$tmp_ent->{cpus} = $opt->{vmcpus};
@@ -2329,40 +2107,28 @@ sub mkspeclpar {
if ($tmp_ent->{cpus} =~ /^(\d+)\/(\d+)\/(\d+)$/) {
unless ($1 <= $2 and $2 <= $3) {
return([[$name, "Parameter for 'vmcpus' is invalid", 1]]);
} elsif ($memhash->{process_units_avail} eq '0') {
push @result, [$name, "No process available", 1];
next;
} elsif ($2 > $memhash->{process_units_avail}) {
my $cur = $memhash->{process_units_avail};
my $min = $1 > $cur ? $cur : $1;
$tmp_ent->{cpus} = "$min/$cur/$3";
push @result, [$name, "Available processor is less than required, allocate $cur processors.", 0];
}
} else {
return([[$name, "Parameter for 'vmcpus' is invalid", 1]]);
}
if ($tmp_ent->{memory} =~ /^([\d|.]+)([G|M]?)\/([\d|.]+)([G|M]?)\/([\d|.]+)([G|M]?)$/i) {
if ($memhash->{hyp_avail_mem} eq '0') {
push @result, [$name, "No memory available", 1];
next;
}
my ($mmin, $mcur, $mmax);
if ($2 eq "G" or $2 eq '') {
if ($2 == "G" or $2 == '') {
$mmin = $1 * 1024;
}
if ($4 eq "G" or $4 eq '') {
if ($4 == "G" or $4 == '') {
$mcur = $3 * 1024;
}
if ($6 eq "G" or $6 eq '') {
if ($6 == "G" or $6 == '') {
$mmax = $5 * 1024;
}
unless ($mmin <= $mcur and $mcur <= $mmax) {
return([[$name, "Parameter for 'vmmemory' is invalid", 1]]);
}
my $memsize = $memhash->{mem_region_size};
$mmin = int(($mmin + $memsize - 1) / $memsize);
$mcur = int(($mcur + $memsize - 1) / $memsize);
$mmax = int(($mmax + $memsize - 1) / $memsize);
$mmin = ($mmin + $memsize) / $memsize;
$mcur = ($mcur + $memsize) / $memsize;
$mmax = ($mmax + $memsize) / $memsize;
$tmp_ent->{memory} = "$mmin/$mcur/$mmax";
$tmp_ent->{mem_region_size} = $memsize;
} else {
@@ -2412,27 +2178,21 @@ sub mkspeclpar {
$tmp_ent->{storage} = \@array;
}
} else {
if (exists($tmp_ent->{storage})) {
my @tmp_array = split ",",$tmp_ent->{storage};
my $storage_array = undef;
foreach (@tmp_array) {
if (/([\w_-]*):(\d+)/) {
my $vios = &find_lpar_id($request, @$d[3], $1);
my $r_slotid = $2;
if (defined($vios)) {
push @$storage_array, "0,$vios,$r_slotid";
} else {
return ([[$name, "Cannot find lparid for Server lpar:$1"]]);
}
} else {
return ([[$name, "Parameter for 'vmstorage' is invalid", 1]]);
if (exists($tmp_ent->{storage}) and $tmp_ent->{storage} !~ /^[\w_-]*:\d+$/) {
return ([[$name, "Parameter for 'vmstorage' is invalid", 1]]);
} elsif (exists($tmp_ent->{storage})) {
if ($tmp_ent->{storage} =~ /([\w_-]*):(\d+)/) {
my $vios = &find_lpar_id($request, @$d[3], $1);
my $r_slotid = $2;
if (!defined($vios)) {
return ([[$name, "Cannot find lparid for Server lpar:$1"]]);
}
$tmp_ent->{storage} = ["0,$vios,$r_slotid"];
}
$tmp_ent->{storage} = $storage_array;
}
}
$tmp_ent->{hyp_config_mem} = $memhash->{hyp_config_mem};
$tmp_ent->{hyp_avail_mem} = $memhash->{hyp_avail_mem};
if (exists($tmp_ent->{othersettings})) {
@@ -2452,23 +2212,11 @@ sub mkspeclpar {
$tmp_ent->{phy_hea} = $memhash->{phy_drc_group_port};
$tmp_ent->{logic_drc_phydrc} = $memhash->{logic_drc_phydrc};
$values = &create_lpar($request, $name, $d, $tmp_ent);
push @result, @$values;
#need to add update db here
my $rethash = query_cec_info_actions($request, $name, $d, 1, ["part_get_lpar_processing","part_get_lpar_memory","part_get_all_vio_info","part_get_all_io_bus_info","get_huge_page","get_cec_bsr"]);
unless (scalar keys(%$rethash)) {
push @result, [$mtms, "Can not get hypervisor information", 1];
next;
}
$lpar_hash{$name} = $rethash;
$lpar_hash{$name}->{parent} = @$d[3];
push @result, $values;
$name = undef;
$d = undef;
}
}
if (%lpar_hash) {
update_vm_db($request, \%lpar_hash);
}
return \@result;
}
@@ -2488,9 +2236,8 @@ sub mkfulllpar {
my @td = @$d;
@td[0] = 0;
$rethash = query_cec_info_actions($request, $name, \@td, 1);
unless (scalar keys(%$rethash)) {
push @result, [$mtms, "Can not get hypervisor information", 1];
next;
if (ref($rethash) ne 'HASH') {
return ([[$mtms, "Cann't get hypervisor info hash", 1]]);
}
$rethash->{run} = 1;
#print Dumper($rethash);
@@ -2500,17 +2247,15 @@ sub mkfulllpar {
$lpar_param{memory} = "1/".$rethash->{hyp_avail_mem}."/".$rethash->{hyp_config_mem};
$lpar_param{hyp_config_mem} = $rethash->{hyp_config_mem};
$lpar_param{hyp_avail_mem} = $rethash->{hyp_avail_mem};
$lpar_param{mem_region_size} = $rethash->{mem_region_size};
my @phy_io_array = keys(%{$rethash->{bus}});
$lpar_param{physlots} = join(",", @phy_io_array);
$lpar_param{huge_page} = "1/".$rethash->{huge_page_avail}."/".$rethash->{huge_page_avail};
$lpar_param{bsr_num} = $rethash->{cec_bsr_avail};
$lpar_param{phy_hea} = $rethash->{phy_drc_group_port};
$lpar_param{logic_drc_phydrc} = $rethash->{logic_drc_phydrc};
$lpar_param{full_par} = 1;
$values = &create_lpar($request, $name, $d, \%lpar_param);
$rethash->{logic_drc_phydrc} = $lpar_param{logic_drc_phydrc};
push @result, @$values;
push @result, $values;
$name = undef;
$d = undef;
}
Executable → Regular
+8 -16
View File
@@ -217,23 +217,14 @@ sub is_me
#my ($b1, $b2, $b3, $b4) = split /\./, $nameIP;
# get all the possible IPs for the node I'm running on
# this is a common subroutine for both AIX and Linux,
# AIX does not have ip command
my $ipcmd;
if ( -f "/sbin/ip" )
{
$ipcmd = "ip addr | grep 'inet'";
}
else
{
$ipcmd = "ifconfig -a | grep 'inet'";
}
my $result = xCAT::Utils->runcmd($ipcmd, -1, 1);
my $ifcmd = "ifconfig -a | grep 'inet'";
my $result = xCAT::Utils->runcmd($ifcmd, -1, 1);
if ($::RUNCMD_RC != 0)
{
my $str="Error running ipcmd";
xCAT::MsgUtils->message("S", $str);
$::VERBOSE = $verb;
my $rsp;
# push @{$rsp->{data}}, "Could not run $ifcmd.\n";
# xCAT::MsgUtils->message("E", $rsp, $callback);
$::VERBOSE = $verb;
return 0;
}
@@ -241,6 +232,7 @@ sub is_me
{
my ($inet, $myIP, $str) = split(" ", $int);
chomp $myIP;
$myIP =~ s/addr://;
$myIP =~ s/\/.*//; # ipv6 address 4000::99/64
$myIP =~ s/\%.*//; # ipv6 address ::1%1/128
@@ -1031,7 +1023,7 @@ sub dolitesetup
$nrange = join(',',@nodel);
}
@flist = xCAT::Utils->runcmd("/opt/xcat/bin/litefile $nrange", -1);
my @flist = xCAT::Utils->runcmd("/opt/xcat/bin/litefile $nrange", -1);
if (scalar(@flist) > 0) {
foreach my $l (@flist) {
my ($j1, $j2, $file) = split /\s+/, $l;
Executable → Regular
+10 -72
View File
@@ -629,8 +629,7 @@ sub get_adap_prop {
$cmd[0] = "\" supported-network-types\" " . $phandle . " get-package-property\r";
$msg[0] = "Status: rc and all supported network types now on stack\n";
#$pattern[0] = "(.*)3 >(.*)";
#$pattern[0] = "3 >";
$pattern[0] = "ok";
$pattern[0] = "3 >";
$newstate[0] = 1;
# state 1, return code and string on stack
@@ -638,8 +637,7 @@ sub get_adap_prop {
$cmd[1] = ".\r";
$msg[1] = "Status: All supported network types now on stack\n";
#$pattern[1] = "(.*)2 >(.*)";
#$pattern[1] = "2 >";
$pattern[1] = "ok";
$pattern[1] = "2 >";
$newstate[1] = 2;
# state 2, data ready to decode
@@ -693,16 +691,6 @@ sub get_adap_prop {
$timeout,
[ qr/$pattern[$state]/i,
sub {
if ($state eq 1) {
if ($rconsole->before() =~ /-\d+/) {
nc_msg($verbose, "Status: Error getting adapter property for phandle=$phandle.\n");
$state = 7;
$rconsole->clear_accum();
$rc = 1;
return 1;
}
}
nc_msg($verbose, $msg[$state]);
$state = $newstate[$state];
$rconsole->clear_accum();
@@ -890,15 +878,6 @@ sub get_mac_addr {
$timeout,
[qr/$pattern[$state]/=>
sub {
if ($state eq 1) {
if ($rconsole->before() =~ /-\d+/) {
nc_msg($verbose, "Status: Error getting MAC address for phandle=$phandle.\n");
$rconsole->clear_accum();
$state = 4;
$rc = 1;
return undef;
}
}
nc_msg($verbose, $msg[$state]);
$state = $newstate[$state];
$rconsole->clear_accum();
@@ -1040,8 +1019,7 @@ sub get_mac_addr {
$cmd[0] = "\" ibm,loc-code\" $phandle get-package-property\r";
$msg[0] = "Status: return code and loc-code now on stack\n";
#$pattern[0] = "(.*)3 >(.*)";
#$pattern[0] = "3 >";
$pattern[0] = "ok";
$pattern[0] = "3 >";
$newstate[0] = 1;
# cmd(1) is a dot (.). This is a stack manipulation command that removes one
@@ -1074,16 +1052,6 @@ sub get_mac_addr {
$timeout,
[qr/$pattern[$state]/=>
sub {
if ($state eq 1) {
if ($rconsole->before() =~ /-\d+/) {
nc_msg($verbose, "Status: Error getting adapter location for phandle=$phandle.");
$rconsole->clear_accum();
$state = 3;
$rc = 1;
return undef;
}
}
nc_msg($verbose, $msg[$state]);
$rconsole->clear_accum();
$state = $newstate[$state];
@@ -1157,19 +1125,10 @@ sub get_mac_addr {
return undef if ($rc eq 1);
}
# Did we find one or more adapters?
my @loc_array = split /\n/,$result[3];
my $found = 0;
$loc_code = '';
foreach my $line ( @loc_array ) {
if ($line =~ /(\w*):(.*):([\w|\.|-]*):/) {
$loc_code .= $3;
$found = 1;
}
}
if ($found) {
$loc_code =~ s/\.$//;
return $loc_code;
} else {
if ($result[3] =~ /(\w*):(.*):(\w*\.\w*\.\w*):/) {
$loc_code = $3;
}else {
return undef;
}
}
@@ -1281,12 +1240,6 @@ sub ping_server{
$msg[3] = "Status: ping return code now on stack\n";
$newstate[3] = 4;
# get the timeout for ping test
my $to4pt;
if ( $ENV{TIMEOUT4PINGTEST} =~ /^\d+$/ ) {
$to4pt = ",$ENV{TIMEOUT4PINGTEST}";
}
#IPv6
if ( $server_ip =~ /:/ ) {
#::1, calculate link local address
@@ -1296,9 +1249,9 @@ sub ping_server{
} else {
$linklocal_ip = $client_ip;
}
$cmd[3] = "ping $full_path_name:ipv6,$server_ip,$linklocal_ip,$gateway_ip$to4pt\r";
$cmd[3] = "ping $full_path_name:ipv6,$server_ip,$linklocal_ip,$gateway_ip\r";
} else {
$cmd[3] = "ping $full_path_name:$server_ip,$client_ip,$gateway_ip$to4pt\r";
$cmd[3] = "ping $full_path_name:$server_ip,$client_ip,$gateway_ip\r";
}
$pattern[3] = ".*ping(.*)ok(.*)0 >(.*)";
@@ -2675,7 +2628,7 @@ sub lparnetbootexp
sub {
$rc = 2;
$rconsole->clear_accum();
nc_msg(1, "Please make sure rcons $node works.\n");
nc_msg($verbose, "Please make sure rcons $node works.\n");
}
],
);
@@ -3047,21 +3000,6 @@ sub lparnetbootexp
$device_type = "physical";
}
if (defined($mac_address)) {
my @newmacs = ();
my @allmacs = split /\|/,$mac_address;
if ( !xCAT::Utils->isAIX() ) {
foreach my $mac_a ( @allmacs ) {
$mac_a = lc($mac_a);
$mac_a =~ s/(\w{2})/$1:/g;
$mac_a =~ s/:$//;
push @newmacs, $mac_a;
}
$mac_address = join("|",@newmacs);
}
}
if($colon) {
nc_msg($verbose, "$adap_type[$i]\:$loc_code\:$mac_address\:$full_path_name_array[$i]\:$ping_result\:$device_type\:\:\:\:\n");
$outputarrayindex++;
+23 -37
View File
@@ -138,9 +138,8 @@ This program module file, supports the xcat messaging and logging
N - Node informational goes to STDOUT
S - Message will be logged to syslog ( severe error)
Note S can be combined with other flags for example
SE logs message to syslog and is sent to STDERR.
SA logs message to syslog and to the auditlog DB table. (only xcatd)
A logs message auditlog DB table only. (only for xcatd)
SE logs message to syslog and is sent to STDERR.
SA logs message to syslog and to the auditlog DB table
V - verbose. This flag is not valid, the calling routine
should check for verbose mode before calling the message
@@ -176,7 +175,7 @@ This program module file, supports the xcat messaging and logging
# Message to Syslog
xCAT::MsgUtils->message('S', "Host $host not responding\n");
# Message to Syslog and auditlog table (only used by xcatd)
# Message to Syslog and auditlog table
# see tabdump -d auditlog
my $rsp = {};
$rsp->{syslogdata}->[0] = "$host not responding\n"; # for syslog
@@ -190,18 +189,6 @@ This program module file, supports the xcat messaging and logging
$rsp->{status} -> [0] = $status;
xCAT::MsgUtils->message('SA', $rsp);
# Message to only auditlog table (only used by xcatd)
# see tabdump -d auditlog
my $rsp = {};
$rsp->{userid} ->[0] = $user;
$rsp->{clientname} -> [0] = $client;
$rsp->{clienttype} -> [0] = $clienttype;
$rsp->{command} -> [0] = $command;
$rsp->{noderange} -> [0] = $noderange;
$rsp->{args} -> [0] = $arguments;
$rsp->{status} -> [0] = $status;
xCAT::MsgUtils->message('A', $rsp);
# Message to Log and Syslog
xCAT::MsgUtils->message('LS', "Host $host not responding\n");
@@ -210,44 +197,44 @@ This program module file, supports the xcat messaging and logging
Use with callback
# Message to callback
my $rsp = {};
my $rsp = {};
$rsp->{data}->[0] = "Job did not run. \n";
xCAT::MsgUtils->message("D", $rsp, $::CALLBACK);
my $rsp = {};
my $rsp = {};
$rsp->{error}->[0] = "No hosts in node list\n";
xCAT::MsgUtils->message("E", $rsp, $::CALLBACK);
my $rsp = {};
$rsp->{node}->[0]->{name}->[0] ="mynode";
$rsp->{node}->[0]->{data}->[0] ="mydata";
xCAT::MsgUtils->message("N", $rsp, $callback);
my $rsp = {};
$rsp->{node}->[0]->{name}->[0] ="mynode";
$rsp->{node}->[0]->{data}->[0] ="mydata";
xCAT::MsgUtils->message("N", $rsp, $callback);
my $rsp = {};
my $rsp = {};
$rsp->{info}->[0] = "No hosts in node list\n";
xCAT::MsgUtils->message("I", $rsp, $::CALLBACK);
my $rsp = {};
my $rsp = {};
$rsp->{sinfo}->[0] = "No hosts in node list\n";
xCAT::MsgUtils->message("IS", $rsp, $::CALLBACK);
my $rsp = {};
my $rsp = {};
$rsp->{warning}->[0] = "No hosts in node list\n";
xCAT::MsgUtils->message("W", $rsp, $::CALLBACK);
my $rsp = {};
my $rsp = {};
$rsp->{error}->[0] = "Host not responding\n";
xCAT::MsgUtils->message("S", $rsp, $::CALLBACK);
# Message to Syslog and callback
my $rsp = {};
my $rsp = {};
$rsp->{error}->[0] = "Host not responding\n";
xCAT::MsgUtils->message("SE", $rsp, $::CALLBACK);
# Message to Syslog and callback
my $rsp = {};
my $rsp = {};
$rsp->{info}->[0] = "Host not responding\n";
xCAT::MsgUtils->message("SI", $rsp, $::CALLBACK);
@@ -287,19 +274,17 @@ sub message
my $call_back = shift; # optional
my $exitcode = shift; # optional
# should be I,IS, D, E, S, SA,A ,LS, W , L,N
# should be I,IS, D, E, S, SA ,LS, W , L,N
# or S(I, D, E, S, W, L,N)
#
# if SA option need to split syslog messages from auditlog entry
# if new SA option need to split syslog messages from auditlog entry
#
my $newrsp;
if (($sev eq 'SA') || ($sev eq 'A'))
{ # if SA ( syslog and auditlog) or A ( only auditlog)then need to pull first entry from $rsp
# for syslog, to preserve old interface
if ($sev eq 'SA')
{ # if SA then need to pull first entry from $rsp
# for syslog, to preserve old interface
$newrsp = $rsp;
if ($sev eq 'SA'){ # syslog and auditlog
$rsp = $newrsp->{syslogdata}->[0];
}
}
my $stdouterrf = \*STDOUT;
my $stdouterrd = '';
@@ -464,10 +449,11 @@ sub message
}
}
# is syslog option requested
# is syslog requested
if ($sev =~ /S/)
{
# If they want this msg to also go to syslog, do that now
eval {
openlog("xCAT", "nofatal,pid", "local4");
@@ -488,7 +474,7 @@ sub message
# if write to auditlog table requested, if not on service node
if (xCAT::Utils->isMN()){
if (($sev eq 'SA') || ($sev eq 'A'))
if ($sev eq 'SA')
{
require xCAT::Table;
my $auditlogentry;
+195 -363
View File
@@ -19,7 +19,6 @@ use File::Path;
use Math::BigInt;
use Socket;
use xCAT::GlobalDef;
#use Data::Dumper;
use strict;
use warnings "all";
my $socket6support = eval { require Socket6 };
@@ -69,14 +68,14 @@ This program module file, is a set of network utilities used by xCAT commands.
#-------------------------------------------------------------------------------
sub getNodeDomains()
{
my $class = shift;
my $class = shift;
my $nodes = shift;
my @nodelist = @$nodes;
my %nodedomains;
# Get the network info for each node
my %nethash = xCAT::DBobjUtils->getNetwkInfo(\@nodelist);
my %nethash = xCAT::DBobjUtils->getNetwkInfo(\@nodelist);
# get the site domain value
my @domains = xCAT::TableUtils->get_site_attribute("domain");
@@ -85,13 +84,12 @@ sub getNodeDomains()
# for each node - set hash value to network domain or default
# to site domain
foreach my $node (@nodelist) {
unless (defined($node)) {next;}
if (defined($nethash{$node}) && $nethash{$node}{domain}) {
$nodedomains{$node} = $nethash{$node}{domain};
} else {
$nodedomains{$node} = $sitedomain;
}
}
if ($nethash{$node}{domain}) {
$nodedomains{$node} = $nethash{$node}{domain};
} else {
$nodedomains{$node} = $sitedomain;
}
}
return \%nodedomains;
}
@@ -644,11 +642,16 @@ sub get_nic_ip
{
my $nic;
my %iphash;
my $cmd = "ifconfig -a";
my $result = `$cmd`;
my $mode = "MULTICAST";
my $payingattention=0;
my $interface;
my $keepcurrentiface;
#############################################
# Error running command
#############################################
if ( !$result ) {
return undef;
}
if (xCAT::Utils->isAIX()) {
##############################################################
@@ -660,14 +663,6 @@ sub get_nic_ip
# en1: ...
#
##############################################################
my $cmd = "ifconfig -a";
my $result = `$cmd`;
#############################################
# Error running command
#############################################
if ( !$result ) {
return undef;
}
my @adapter = split /(\w+\d+):\s+flags=/, $result;
foreach ( @adapter ) {
if ($_ =~ /^(en\d)/) {
@@ -687,39 +682,37 @@ sub get_nic_ip
}
}
}
else { # linux
my @ipoutput = `ip addr`;
#############################################
# Error running command
#############################################
if ( !@ipoutput ) {
return undef;
}
foreach my $line (@ipoutput) {
if ($line =~ /^\d/) { # new interface, new context..
if ($interface and not $keepcurrentiface) {
#don't bother reporting unusable nics
delete $iphash{$interface};
else {
##############################################################
# Should look like this for Linux:
# eth0 Link encap:Ethernet HWaddr 00:02:55:7B:06:30
# inet addr:9.114.154.193 Bcast:9.114.154.223
# inet6 addr: fe80::202:55ff:fe7b:630/64 Scope:Link
# UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
# RX packets:1280982 errors:0 dropped:0 overruns:0 frame:0
# TX packets:3535776 errors:0 dropped:0 overruns:0 carrier:0
# collisions:0 txqueuelen:1000
# RX bytes:343489371 (327.5 MiB) TX bytes:870969610 (830.6 MiB)
# Base address:0x2600 Memory:fbfe0000-fc0000080
#
# eth1 ...
#
##############################################################
my @adapter= split /\n{2,}/, $result;
foreach ( @adapter ) {
if ( !($_ =~ /LOOPBACK / ) and
$_ =~ /UP / and
$_ =~ /$mode / ) {
my @ip = split /\n/;
for my $ent ( @ip ) {
if ($ent =~ /^(eth\d|ib\d|hf\d)\s+/) {
$nic = $1;
}
if ( $ent =~ /^\s*inet addr:\s*(\d+\.\d+\.\d+\.\d+)/ ) {
$iphash{$nic} = $1;
next;
}
}
$keepcurrentiface=0;
if ( !($line =~ /LOOPBACK/ ) and
$line =~ /UP( |,|>)/ and
$line =~ /$mode/ ) {
$payingattention=1;
$line =~ /^([^:]*): ([^:]*):/;
$interface=$2;
} else {
$payingattention=0;
next;
}
}
unless ($payingattention) { next; }
if ($line =~ /inet/) {
$keepcurrentiface=1;
}
if ( $line =~ /^\s*inet \s*(\d+\.\d+\.\d+\.\d+)/ ) {
$iphash{$interface} = $1;
}
}
}
@@ -1098,8 +1091,7 @@ sub my_if_netmap
Error:
none
Example:
my $ip = xCAT::NetworkUtils->my_ip_facing($peerip)
my @ip = xCAT::NetworkUtils->my_ip_facing($peerip) # return multiple
xCAT::NetworkUtils->my_ip_facing
Comments:
none
=cut
@@ -1117,8 +1109,6 @@ sub my_ip_facing
unless ($peernumber) { return undef; }
my $noden = unpack("N", inet_aton($peer));
my @nets = split /\n/, `/sbin/ip addr`;
my @ips;
foreach (@nets)
{
my @elems = split /\s+/;
@@ -1131,19 +1121,10 @@ sub my_ip_facing
my $curn = unpack("N", inet_aton($curnet));
if (($noden & $curmask) == ($curn & $curmask))
{
push @ips, $curnet;
return $curnet;
}
}
if (@ips) {
if (wantarray) {
return @ips;
} else {
return $ips[0];
}
} else {
return undef;
}
return undef;
}
#-------------------------------------------------------------------------------
@@ -1614,124 +1595,56 @@ sub thishostisnot
=cut
#-----------------------------------------------------------------------------
#sub gethost_ips1
#{
# my ($class) = @_;
# my $cmd;
# my @ipaddress;
# $cmd = "ifconfig" . " -a";
# $cmd = $cmd . "| grep \"inet\"";
# my @result = xCAT::Utils->runcmd($cmd, 0);
# if ($::RUNCMD_RC != 0)
# {
# xCAT::MsgUtils->message("S", "Error from $cmd\n");
# exit $::RUNCMD_RC;
# }
# foreach my $addr (@result)
# {
# my @ip;
# if (xCAT::Utils->isLinux())
# {
# if ($addr =~ /inet6/)
# {
# #TODO, Linux ipv6
# }
# else
# {
# my ($inet, $addr1, $Bcast, $Mask) = split(" ", $addr);
# #@ip = split(":", $addr1);
# #push @ipaddress, $ip[1];
# $addr1 =~ s/.*://;
# push @ipaddress, $addr1;
# }
# }
# else
# { #AIX
# if ($addr =~ /inet6/)
# {
# $addr =~ /\s*inet6\s+([\da-fA-F:]+).*\/(\d+)/;
# my $v6ip = $1;
# my $v6mask = $2;
# if ($v6ip)
# {
# push @ipaddress, $v6ip;
# }
# }
# else
# {
# my ($inet, $addr1, $netmask, $mask1, $Bcast, $bcastaddr) =
# split(" ", $addr);
# push @ipaddress, $addr1;
# }
#
# }
# }
# my @names = @ipaddress;
# foreach my $ipaddr (@names)
# {
# my $hostname = xCAT::NetworkUtils->gethostname($ipaddr);
# if ($hostname)
# {
# my @shorthost = split(/\./, $hostname);
# push @ipaddress, $shorthost[0];
# }
# }
#
# return @ipaddress;
#}
sub gethost_ips
{
my ($class) = @_;
my $cmd;
my @ipaddress;
if (xCAT::Utils->isLinux())
$cmd = "ifconfig" . " -a";
$cmd = $cmd . "| grep \"inet\"";
my @result = xCAT::Utils->runcmd($cmd, 0);
if ($::RUNCMD_RC != 0)
{
$cmd="ip -4 --oneline addr show |awk -F ' ' '{print \$4}'|awk -F '/' '{print \$1}'";
my @result =xCAT::Utils->runcmd($cmd);
if ($::RUNCMD_RC != 0)
{
xCAT::MsgUtils->message("S", "Error from $cmd\n");
exit $::RUNCMD_RC;
}
push @ipaddress, @result;
xCAT::MsgUtils->message("S", "Error from $cmd\n");
exit $::RUNCMD_RC;
}
else
{ #AIX
$cmd = "ifconfig" . " -a";
$cmd = $cmd . "| grep \"inet\"";
my @result = xCAT::Utils->runcmd($cmd, 0);
if ($::RUNCMD_RC != 0)
{
xCAT::MsgUtils->message("S", "Error from $cmd\n");
exit $::RUNCMD_RC;
}
foreach my $addr (@result)
{
if ($addr =~ /inet6/)
{
$addr =~ /\s*inet6\s+([\da-fA-F:]+).*\/(\d+)/;
my $v6ip = $1;
my $v6mask = $2;
if ($v6ip)
{
push @ipaddress, $v6ip;
}
}
else
{
my ($inet, $addr1, $netmask, $mask1, $Bcast, $bcastaddr) =
split(" ", $addr);
push @ipaddress, $addr1;
}
foreach my $addr (@result)
{
my @ip;
if (xCAT::Utils->isLinux())
{
if ($addr =~ /inet6/)
{
#TODO, Linux ipv6
}
else
{
my ($inet, $addr1, $Bcast, $Mask) = split(" ", $addr);
@ip = split(":", $addr1);
push @ipaddress, $ip[1];
}
}
else
{ #AIX
if ($addr =~ /inet6/)
{
$addr =~ /\s*inet6\s+([\da-fA-F:]+).*\/(\d+)/;
my $v6ip = $1;
my $v6mask = $2;
if ($v6ip)
{
push @ipaddress, $v6ip;
}
}
else
{
my ($inet, $addr1, $netmask, $mask1, $Bcast, $bcastaddr) =
split(" ", $addr);
push @ipaddress, $addr1;
}
}
}
}
my @names = @ipaddress;
foreach my $ipaddr (@names)
{
@@ -1742,9 +1655,9 @@ sub gethost_ips
push @ipaddress, $shorthost[0];
}
}
return @ipaddress;
}
#-------------------------------------------------------------------------------
=head3 get_subnet_aix
@@ -1920,6 +1833,102 @@ sub validate_ip
}
return([0]);
}
#-------------------------------------------------------------------------------
=head3 getFacingIP
Gets the ip address of the adapter of the localhost that is facing the
the given node.
Assume it is the same as my_ip_facing...
Arguments:
The name of the node that is facing the localhost.
Returns:
The ip address of the adapter that faces the node.
=cut
#-------------------------------------------------------------------------------
sub getFacingIP
{
my ($class, $node) = @_;
my $ip;
my $cmd;
my @ipaddress;
my $nodeip = inet_ntoa(inet_aton($node));
unless ($nodeip =~ /\d+\.\d+\.\d+\.\d+/)
{
return 0; #Not supporting IPv6 here IPV6TODO
}
$cmd = "ifconfig" . " -a";
$cmd = $cmd . "| grep \"inet \"";
my @result = xCAT::Utils->runcmd($cmd, 0);
if ($::RUNCMD_RC != 0)
{
xCAT::MsgUtils->message("S", "Error from $cmd\n");
exit $::RUNCMD_RC;
}
# split node address
my ($n1, $n2, $n3, $n4) = split('\.', $nodeip);
foreach my $addr (@result)
{
my $ip;
my $mask;
if (xCAT::Utils->isLinux())
{
my ($inet, $addr1, $Bcast, $Mask) = split(" ", $addr);
if ((!$addr1) || (!$Mask)) { next; }
my @ips = split(":", $addr1);
my @masks = split(":", $Mask);
$ip = $ips[1];
$mask = $masks[1];
}
else
{ #AIX
my ($inet, $addr1, $netmask, $mask1, $Bcast, $bcastaddr) =
split(" ", $addr);
if ((!$addr1) && (!$mask1)) { next; }
$ip = $addr1;
$mask1 =~ s/0x//;
$mask =
`printf "%d.%d.%d.%d" \$(echo "$mask1" | sed 's/../0x& /g')`;
}
if ($ip && $mask)
{
# split interface IP
my ($h1, $h2, $h3, $h4) = split('\.', $ip);
# split mask
my ($m1, $m2, $m3, $m4) = split('\.', $mask);
# AND this interface IP with the netmask of the network
my $a1 = ((int $h1) & (int $m1));
my $a2 = ((int $h2) & (int $m2));
my $a3 = ((int $h3) & (int $m3));
my $a4 = ((int $h4) & (int $m4));
# AND node IP with the netmask of the network
my $b1 = ((int $n1) & (int $m1));
my $b2 = ((int $n2) & (int $m2));
my $b3 = ((int $n3) & (int $m3));
my $b4 = ((int $n4) & (int $m4));
if (($b1 == $a1) && ($b2 == $a2) && ($b3 == $a3) && ($b4 == $a4))
{
return $ip;
}
}
}
xCAT::MsgUtils->message("S", "Cannot find master for the node $node\n");
return 0;
}
#-------------------------------------------------------------------------------
=head3 isIpaddr
@@ -1972,65 +1981,6 @@ sub isIpaddr
}
}
#-------------------------------------------------------------------------------
=head3 getNodeNameservers
Description:
Get nameservers of specified nodes.
The priority: noderes.nameservers > networks.nameservers > site.nameservers
Arguments:
node: node name list
Returns:
Return a hash ref, of the $nameservers{$node}
undef - Failed to get the nameservers
Globals:
none
Error:
none
Example:
my $nameservers = xCAT::NetworkUtils::getNodeNameservers(\@node);
Comments:
none
=cut
#-------------------------------------------------------------------------------
sub getNodeNameservers{
my $nodes=shift;
if( $nodes =~ /xCAT::NetworkUtils/)
{
$nodes=shift;
}
my @nodelist = @$nodes;
my %nodenameservers;
my $nrtab = xCAT::Table->new('noderes',-create=>0);
my %nrhash = %{$nrtab->getNodesAttribs(\@nodelist,['nameservers'])};
my $nettab = xCAT::Table->new("networks");
my %nethash = xCAT::DBobjUtils->getNetwkInfo( \@nodelist );
my @nameservers = xCAT::TableUtils->get_site_attribute("nameservers");
my $sitenameservers=$nameservers[0];
foreach my $node (@nodelist){
if ($nrhash{$node} and $nrhash{$node}->[0] and $nrhash{$node}->[0]->{nameservers})
{
$nodenameservers{$node}=$nrhash{$node}->[0]->{nameservers};
}elsif($nethash{$node}{nameservers})
{
$nodenameservers{$node}=$nethash{$node}{nameservers};
}elsif($sitenameservers)
{
$nodenameservers{$node}=$sitenameservers;
}
}
return \%nodenameservers;
}
#-------------------------------------------------------------------------------
=head3 getNodeNetworkCfg
@@ -2057,31 +2007,19 @@ sub getNodeNameservers{
sub getNodeNetworkCfg
{
my $node = shift;
if( $node =~ /xCAT::NetworkUtils/)
{
$node =shift;
}
my $nets = xCAT::NetworkUtils::my_nets();
my $ip = xCAT::NetworkUtils->getipaddr($node);
my $mask = undef;
my $gateway = undef;
my $nettab = xCAT::Table->new("networks");
if ($nettab) {
my @nets = $nettab->getAllAttribs('net','mask','gateway');
foreach my $net (@nets) {
if (xCAT::NetworkUtils::isInSameSubnet( $net->{'net'}, $ip, $net->{'mask'}, 0)) {
$gateway=$net->{'gateway'};
$mask=$net->{'mask'};
}
}
for my $net (keys %$nets)
{
my $netname;
($netname,$mask) = split /\//, $net;
last if ( xCAT::NetworkUtils::isInSameSubnet( $netname, $ip, $mask, 1));
}
return ($ip, $node, $gateway, xCAT::NetworkUtils::formatNetmask($mask,0,0));
return ($ip, $node, undef, xCAT::NetworkUtils::formatNetmask($mask,1,0));
}
#-------------------------------------------------------------------------------
=head3 get_hdwr_ip
@@ -2155,13 +2093,7 @@ sub pingNodeStatus {
foreach (@mon_nodes) {
$deadnodes{$_}=1;
}
# get additional options from site table
my @nmap_options = xCAT::TableUtils->get_site_attribute("nmapoptions");
my $more_options = $nmap_options[0];
#call namp
open (NMAP, "nmap -PE --system-dns --send-ip -sP $more_options ". $nodes . " 2> /dev/null|") or die("Cannot open nmap pipe: $!");
open (NMAP, "nmap -PE --system-dns --send-ip -sP ". $nodes . " 2> /dev/null|") or die("Cannot open nmap pipe: $!");
my $node;
while (<NMAP>) {
if (/Host (.*) \(.*\) appears to be up/) {
@@ -2428,106 +2360,6 @@ sub get_all_nicips{
}
}
#-------------------------------------------------------------------------------
=head3 gen_net_boot_params
Description:
This subroutine is used to generate all possible kernel parameters for network boot (rh/sles/ubuntu + diskfull/diskless)
The supported network boot parameters:
ksdevice - Specify network device for Anaconda. For rh6 and earlier. Format: 'ksdevice={$mac|$nicname}'
BOOTIF - Specify network device for Anaconda. The boot device which set by pxe. xCAT also set it if the bootload is not pxe. Format 'BOOTIF={$mac}'
ifname - Specify a interfacename<->mac pair, it will set the interfacename to the interface which has the <mac>. Format 'ifname=$ifname:$mac'
# This will only be generated when linuximage.nodebootif is set.
bootdev - Specify the boot device. Mostly it's used with <ip> parameter and when there are multiple <ip> params. Format 'bootdev={$mac|$ifname}
ip - Specify the network configuration for an interface. Format: 'ip=dhcp', 'ip=$ifname:dhcp'
netdevice - Specify network device for Linuxrc (Suse bootloader). Format: 'netdevice={$mac|$nicname}'
netdev - Specify the interfacename which is used by xCAT diskless boot script to select the network interface. Format: 'netdev=$nicname'
Reference:
Redhat anaconda doc: https://github.com/rhinstaller/anaconda/blob/master/docs/boot-options.txt
Suse Linuxrc do: https://en.opensuse.org/SDB:Linuxrc
Arguments:
$installnic <- node.installnic
$primarynic <- node.primarynic
$macmac <- node.mac
$nodebootif <- linuximage.nodebootif
Returns:
$net_params - The key will be the parameter name, the value for the key will be the parameter value.
Valid Parameter Name:
ksdevice
netdev
netdevice
ip
ifname
BOOTIF
And following two keys also will be returned for reference
mac
nicname
Example:
my $netparams = xCAT::NetworkUtils->gen_net_boot_params($installnic, $primmarynic, $macmac, $nodebootif);
=cut
#-------------------------------------------------------------------------------
sub gen_net_boot_params
{
my $class = shift;
my $installnic = shift;
my $primarynic = shift;
my $macmac = shift;
my $nodebootif = shift;
my $net_params;
# arbitrary use primarynic if installnic is not set
unless ($installnic) {
$installnic = $primarynic;
}
# just use the installnic to generate the nic related kernel parameters
my $mac;
my $nicname;
if ((! defined ($installnic)) || ($installnic eq "") || ($installnic =~ /^mac$/i)) {
$mac = $macmac;
$net_params->{mac} = $mac;
} elsif ($installnic =~ /^[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}$/) {
$mac = $installnic;
$net_params->{mac} = $mac;
$net_params->{setmac} = $mac;
} else {
$mac = $macmac;
$nicname = $installnic;
$net_params->{nicname} = $nicname;
$net_params->{mac} = $mac;
}
if ($nicname) {
$net_params->{ksdevice} = "ksdevice=$nicname";
$net_params->{ip} = "ip=$nicname:dhcp";
$net_params->{netdev} = "netdev=$nicname";
$net_params->{netdevice} = "netdevice=$nicname";
$net_params->{ifname} = "ifname=$nodebootif:$mac";
} elsif ($mac) {
$net_params->{ksdevice} = "ksdevice=$mac";
$net_params->{BOOTIF} = "BOOTIF=$mac";
$net_params->{bootdev} = "bootdev=$mac";
$net_params->{ip} = "ip=dhcp";
if ($nodebootif) {
$net_params->{ifname} = "ifname=$nodebootif:$mac";
}
$net_params->{netdevice} = "netdevice=$mac";
}
return $net_params;
}
1;
-1
View File
@@ -196,7 +196,6 @@ sub expandatom {
$nodelist->_set_use_cache(1);
@allnodeset = $nodelist->getAllAttribs('node','groups');
%allnodehash = map { $_->{node} => 1 } @allnodeset;
$nodelist->_set_use_cache(0); #The {_use_cache} for nodelist table object must be turn off, otherwise it will keep open and affect the Table.pm subroutines like getNodesAttribs when it tries to access nodelist table to get status column.
}
my $verify = (scalar(@_) >= 1 ? shift : 1);
my %options = @_; # additional options
+5 -1
View File
@@ -311,6 +311,9 @@ sub notify {
my ($modname, $path, $suffix) = fileparse($_, ".pm");
# print "modname=$modname, path=$path, suffix=$suffix\n";
if ($suffix =~ /.pm/) { #it is a perl module
my $pid;
if ($pid=xCAT::Utils->xfork()) { }
elsif (defined($pid)) {
my $fname;
if (($path eq "") || ($path eq ".\/")) {
#default path is /opt/xcat/lib/perl/xCAT_monitoring/ if there is no path specified
@@ -325,7 +328,8 @@ sub notify {
else {
${"xCAT_monitoring::".$modname."::"}{processTableChanges}->($action, $tablename, $old_data, $new_data);
}
return 0;
exit 0;
}
}
else { #it is a command
my $pid;
+2 -23
View File
@@ -21,6 +21,7 @@ sub parse_args {
my %opt = ();
my $cmd = $request->{command};
my $args = $request->{arg};
my @VERSION = qw( 2.1 );
#############################################
# Responds with usage statement
@@ -59,8 +60,7 @@ sub parse_args {
# Option -v for version
####################################
if ( exists( $opt{v} )) {
my $version = xCAT::Utils->Version();
return ([$version]);
return( \@VERSION );
}
if ( exists( $opt{s} ) ){
@@ -350,27 +350,6 @@ sub do_rnetboot {
last;
}
}
# Set the boot mode to norm from 'of' (open firmware)
# NOW, only necessary for IVM
my $hwtype = @$exp[2];
if ($hwtype eq "ivm") {
my $server = @$exp[3];
# creat connection first
my @newexp = xCAT::PPCcli::connect( $request, $hwtype, $server );
if (ref($newexp[0]) eq "Expect" ) {
my $cfg = "lpar_id=@$d[0],boot_mode=norm";
# change the boot mode to 'norm'
xCAT::PPCcli::chsyscfg(\@newexp, "prof", $d, $cfg);
xCAT::PPCcli::disconnect(\@newexp);
} else {
my $rsp;
$rsp->{data} = ["Failed to set the boot mode to normal. For rnetboot command, you have to rpower off and then on the node after finishing the OS deployment."];
xCAT::MsgUtils->message("E", $rsp, $request->{callback});
}
}
return $result;
}
+3 -3
View File
@@ -436,9 +436,9 @@ sub sshcfg {
#####################################
# userid@host not found in key file
#####################################
#if ( $sshkey !~ /\s+(\S+\@\S+$)/ ) {
# return( [[$server,"Cannot find userid\@host in '$fname'",RC_ERROR]] );
#}
if ( $sshkey !~ /\s+(\S+\@\S+$)/ ) {
return( [[$server,"Cannot find userid\@host in '$fname'",RC_ERROR]] );
}
my $logon = $1;
#####################################
+1 -1
View File
@@ -156,7 +156,7 @@ sub connect {
# Shell prompt regexp based on HW Type
##################################################
my %prompt = (
hmc => "~>\\s*\$",
hmc => "~> \$",
ivm => "\\\$ \$"
);
##################################################
+1 -1
View File
@@ -339,7 +339,7 @@ sub lshwconn_parse_args
}
if (scalar(@error_type_nodes)) {
my $tmp_nodelist = join ',', @error_type_nodes;
my $link = (scalar(@error_type_nodes) eq '1')? 'is':'are';
my $link = (scalar(@error_type_nodes) == '1')? 'is':'are';
return( ["Node type of node(s) $tmp_nodelist $link not supported for this command.\n"]);
}
$request->{nodetype} = $nodetype;
+2 -8
View File
@@ -75,7 +75,6 @@ sub add_ppc {
my $values = shift;
my $not_overwrite = shift;
my $otherinterfaces = shift;
my $callfile = shift;
my @tabs = qw(ppc vpd nodehm nodelist nodetype hosts mac);
my %db = ();
###################################
@@ -120,12 +119,7 @@ sub add_ppc {
# Specify CEC and Frame's mgt as fsp and bpa
if ( $type =~ /^cec$/) {
if ( $callfile eq "PPC" ) {
$mgt = "hmc";
}
if ( $callfile eq "FSP" ) {
$mgt = "fsp";
}
$mgt = "fsp";
}
if ( $type =~ /^frame$/) {
$mgt = "bpa";
@@ -326,7 +320,7 @@ sub update_lpar {
}
}
if (defined($write)) {
&add_ppc($hwtype, \@write_list,'','',"FSP");
&add_ppc($hwtype, \@write_list);
return ([@update_list,@write_list]);
} else {
foreach ( @tabs ) {
+22 -21
View File
@@ -14,7 +14,7 @@ use xCAT::Usage;
use xCAT::NodeRange;
use xCAT::DBobjUtils;
use xCAT::FSPUtils;
use xCAT::TableUtils;
use xCAT::TableUtils qw(get_site_Master);
%::QUERY_ATTRS = (
'savingstatus' => 1,
'dsavingstatus' => 1,
@@ -223,6 +223,7 @@ sub renergy {
my ($node, $attrs) = %$nodehash;
my $cec_name = @$attrs[2];
my $hw_type = @$attrs[4];
if (!$cec_name) {
return ([[$node, "ERROR: Cannot find the cec name, check the attributes: vpd.serial, vpd.mtm.", 1]]);
@@ -294,43 +295,43 @@ sub renergy {
foreach (@hcps_ip) {
$deadnodes{$_}=1;
}
# get additional options from site table
my @nmap_options = xCAT::TableUtils->get_site_attribute("nmapoptions");
my $more_options = $nmap_options[0];
open (NMAP, "nmap -PE --system-dns --send-ip -sP $more_options ". join(' ',@hcps_ip) . " 2> /dev/null|") or die("Cannot open nmap pipe: $!");
my $node;
open (NMAP, "nmap -PE --system-dns --send-ip -sP ". join(' ',@hcps_ip) . " 2> /dev/null|") or die("Cannot open nmap pipe: $!");
my $node1;
my $msg1;
while (<NMAP>) {
#print "$_\n";
if (/Host (.*) \((.*)\) appears to be up/) {
$node=$2;
unless ($deadnodes{$node}) {
$node1=$2;
unless ($deadnodes{$node1}) {
foreach (keys %deadnodes) {
if ($node =~ /^$_\./) {
$node = $_;
if ($node1 =~ /^$_\./) {
$node1 = $_;
last;
}
}
}
delete $deadnodes{$node};
delete $deadnodes{$node1};
if ($verbose) {
push @return_msg, [$node, $_, 0];
}
push(@pingable_hcp, $node);
} elsif (/Nmap scan report for ([^ ]*)/) {
$node=$1;
push(@pingable_hcp, $node1);
} elsif (/Nmap scan report for ([^ ]*) \((.*)\)/) {
$node1=$2;
$msg1=$_;
} elsif (/Host is up./) {
unless ($deadnodes{$node}) {
unless ($deadnodes{$node1}) {
foreach (keys %deadnodes) {
if ($node =~ /^$_\./) {
$node = $_;
if ($node1 =~ /^$_\./) {
$node1 = $_;
last;
}
}
}
delete $deadnodes{$node};
push(@pingable_hcp, $node);
delete $deadnodes{$node1};
if ($verbose) {
push @return_msg, [$node, "$msg1$_", 0];
}
push(@pingable_hcp, $node1);
}
}
} else {
+6 -10
View File
@@ -144,16 +144,12 @@ sub connect {
##################################
# Set options
##################################
#my $hosttab = xCAT::Table->new( 'hosts' );
#if ( $hosttab) {
# my $hostshash = $hosttab->getNodeAttribs( $server, [qw(ip otherinterfaces)]);
# if ( $hostshash ) {
# $server = $hostshash->{ip};
# }
#}
$server = xCAT::NetworkUtils::getNodeIPaddress( $server );
unless ($server) {
return( "Unable to get IP address for $server" );
my $hosttab = xCAT::Table->new( 'hosts' );
if ( $hosttab) {
my $hostshash = $hosttab->getNodeAttribs( $server, [qw(ip otherinterfaces)]);
if ( $hostshash ) {
$server = $hostshash->{ip};
}
}
# my $serverip = inet_ntoa(inet_aton($server));
my $url = "https://$server/cgi-bin/cgi?form=2";
+2 -2
View File
@@ -347,7 +347,7 @@ sub bus {
#################################
# Output header
#################################
push @result, [$name,"I/O Bus Information", 0];
push @result, [$name,"I/O Bus Information"];
#################################
# Output error
@@ -532,7 +532,7 @@ sub config {
#################################
# Output header
#################################
push @result, [$name,"Machine Configuration Info", 0];
push @result, [$name,"Machine Configuration Info"];
my $i;
foreach ( @prefix ) {
+10 -37
View File
@@ -555,9 +555,6 @@ sub getmacs {
} else {
$type = "virtualio";
}
if ($mac_addr) {
$mac_addr = format_mac($mac_addr);
}
my %att = ();
$att{'MAC_Address'} = ($mac_addr) ? $mac_addr : "N/A";
@@ -630,9 +627,9 @@ sub getmacs {
}
foreach ( @$value ) {
if ( /^#\s?Type/ ) {
$data.= "\n$_\n";
$data.= "\n$_\n";
} else {
$data.= "$_\n";
$data.= format_mac( $_ );
}
}
@@ -759,7 +756,7 @@ sub getmacs {
if ( /^#\s?Type/ ) {
$data.= "\n$_\n";
} elsif ( /^ent\s+/ or /^hfi-ent\s+/ ) {
$data.= "$_\n";
$data.= format_mac( $_ );
}
}
#####################################
@@ -804,8 +801,10 @@ sub cal_mac {
##########################################################################
sub format_mac {
my $mac = shift;
my $data = shift;
$data =~ /^(\S+\s+\S+\s+)(\S+)(\s+.*)$/;
my $mac = $2;
#####################################
# Get adapter mac
#####################################
@@ -814,10 +813,6 @@ sub format_mac {
if ( !xCAT::Utils->isAIX() ) {
foreach my $mac_a ( @macs ) {
if (&checkmac($mac_a)) {
push @newmacs, $mac_a;
next;
}
#################################
# Delineate MAC with colons
#################################
@@ -826,30 +821,14 @@ sub format_mac {
$mac_a =~ s/:$//;
push @newmacs, $mac_a;
}
$mac = join("|",@newmacs);
my $newmac = join("|",@newmacs);
$data =~ s/$mac/$newmac/;
}
return( "$mac\n" );
return( "$data\n" );
}
##########################################################################
# checkmac format
##########################################################################
sub checkmac {
my $mac = shift;
if ( !xCAT::Utils->isAIX()) {
if ($mac =~ /\w{2}:\w{2}:\w{2}:\w{2}:\w{2}:\w{2}/) {
return 1;
} else {
return 0;
}
} else {
return 1;
}
}
##########################################################################
# Write first valid adapter MAC to database
@@ -868,9 +847,6 @@ sub writemac {
# Find first valid adapter
#####################################
foreach ( @$data ) {
unless (&checkmac($_)) {
next;
}
if ( /^ent\s+/ or /^hfi-ent\s+/ ) {
$value = $_;
#####################################
@@ -893,9 +869,6 @@ sub writemac {
#####################################
if ( $pingret ne "successful" ) {
foreach ( @$data ) {
unless (&checkmac($_)) {
next;
}
if ( /^ent\s+/ or /^hfi-ent\s+/ ) {
$value = $_;
$ping_test = 0;
@@ -917,7 +890,7 @@ sub writemac {
#####################################
# Get adapter mac
#####################################
#$value = format_mac( $value );
$value = format_mac( $value );
@fields = split /\s+/, $value;
$mac = $fields[2];
+1 -1
View File
@@ -411,7 +411,7 @@ sub format_output {
# Strip errors for results
#######################################
my @val = grep( !/^#.*: ERROR /, @$values );
xCAT::PPCdb::add_ppc( $hwtype, \@val ,'','',"PPC");
xCAT::PPCdb::add_ppc( $hwtype, \@val );
}
###########################################
+4 -4
View File
@@ -203,7 +203,7 @@ sub voltage {
# Voltages available in frame
#################################
if ( @$d[4] ne "bpa" ) {
push @result, [$name,"$text Only available for BPA",0];
push @result, [$name,"$text Only available for BPA",1];
next;
}
my $volt = enumerate_volt( $exp, $d );
@@ -256,7 +256,7 @@ sub temp {
# No frame commands for IVM
#################################
if ( $hwtype eq "ivm" ) {
push @result, [$name,"$prefix Not available (No BPA)",0];
push @result, [$name,"$prefix Not available (No BPA)",1];
next;
}
#################################
@@ -264,14 +264,14 @@ sub temp {
#################################
if ( @$d[4] !~ /^(fsp|cec|lpar)$/ ) {
my $text = "$prefix Only available for CEC/LPAR";
push @result, [$name,$text,0];
push @result, [$name,$text,1];
next;
}
#################################
# Error - No frame
#################################
if ( $mtms eq "0" ) {
push @result, [$name,"$prefix Not available (No BPA)",0];
push @result, [$name,"$prefix Not available (No BPA)",1];
next;
}
#################################
+1 -1
View File
@@ -1913,7 +1913,7 @@ sub xCATdB {
$profile,
$parent );
return( xCAT::PPCdb::add_ppc( $hwtype, [$values],'','',"PPC" ));
return( xCAT::PPCdb::add_ppc( $hwtype, [$values] ));
}
return undef;
}
+25 -348
View File
@@ -277,7 +277,7 @@ sub get_nodes_nic_attrs{
my $nodes = shift;
my $nicstab = xCAT::Table->new( 'nics');
my $entry = $nicstab->getNodesAttribs($nodes, ['nictypes', 'nichostnamesuffixes', 'nichostnameprefixes', 'niccustomscripts', 'nicnetworks', 'nicips', 'nicextraparams']);
my $entry = $nicstab->getNodesAttribs($nodes, ['nictypes', 'nichostnamesuffixes', 'nichostnameprefixes', 'niccustomscripts', 'nicnetworks', 'nicips']);
my %nicsattrs;
my @nicattrslist;
@@ -361,19 +361,6 @@ sub get_nodes_nic_attrs{
$nicsattrs{$node}{$nicattrs[0]}{'ip'} = $nicattrs[1];
}
}
if($entry->{$node}->[0]->{'nicextraparams'}){
@nicattrslist = split(",", $entry->{$node}->[0]->{'nicextraparams'});
foreach (@nicattrslist){
my @nicattrs;
if ($_ =~ /!/) {
@nicattrs = split("!", $_);
} else {
@nicattrs = split(":", $_);
}
$nicsattrs{$node}{$nicattrs[0]}{'extraparams'} = $nicattrs[1];
}
}
}
return \%nicsattrs;
@@ -666,39 +653,6 @@ sub get_all_cecs
}
}
#-------------------------------------------------------------------------------
=head3 get_all_lparids
Description : Get all LPAR ids in system.
Arguments : ref of all cecs
Returns : ref for LPAR ids hash.
Example :
my $arrayref = xCAT::ProfiledNodeUtils->get_all_lparids(\%allcecs);
=cut
#-------------------------------------------------------------------------------
sub get_all_lparids
{
my $class= shift;
my $cecsref = shift;
my %allcecs = %$cecsref;
my %lparids;
my $ppctab = xCAT::Table->new('ppc');
foreach my $cec (keys %allcecs) {
my @ids = $ppctab->getAllAttribsWhere("hcp = '$cec'", 'id');
foreach (@ids) {
if ( $_->{'id'} ){
$lparids{$cec}{$_->{'id'}} = 0;
}
}
}
$ppctab->close();
return \%lparids;
}
#-------------------------------------------------------------------------------
=head3 is_discover_started
@@ -736,7 +690,6 @@ sub get_nodes_profiles
{
my $class = shift;
my $nodelistref = shift;
my $groupnamemode = shift;
my %profile_dict;
my $nodelisttab = xCAT::Table->new('nodelist');
@@ -756,12 +709,8 @@ sub get_nodes_profiles
if ( $idx == 2 ){
# The group string will like @NetworkProfile_<profile name>
# So, index should +3, 2 for '__', 1 for _.
if ($groupnamemode) {
$profile_dict{$_}{$profile} = $group;
} else{
my $append_index = length($profile) + 3;
$profile_dict{$_}{$profile} = substr $group, $append_index;
}
my $append_index = length($profile) + 3;
$profile_dict{$_}{$profile} = substr $group, $append_index;
last;
}
}
@@ -790,7 +739,7 @@ sub get_imageprofile_prov_method
my $nodetypestab = xCAT::Table->new('nodetype');
my $entry = ($nodetypestab->getAllAttribsWhere("node = '$imgprofilename'", 'ALL' ))[0];
return $entry->{'provmethod'};
my $osimgname = $entry->{'provmethod'};
#my $osimgtab = xCAT::Table->new('osimage');
#my $osimgentry = ($osimgtab->getAllAttribsWhere("imagename = '$osimgname'", 'ALL' ))[0];
@@ -851,20 +800,16 @@ sub check_profile_consistent{
}
}
# Profile consistent keys, arch=>netboot, mgt=>nictype
my %profile_dict = ('x86' => 'xnba','x86_64' => 'xnba', 'ppc64' => 'yaboot',
'fsp' => 'FSP', 'ipmi' => 'BMC');
# Get Imageprofile arch
my $nodetypetab = xCAT::Table->new('nodetype');
my $nodetypeentry = $nodetypetab->getNodeAttribs($imageprofile, ['os','arch']);
my $os = $nodetypeentry->{'os'};
my $nodetypeentry = $nodetypetab->getNodeAttribs($imageprofile, ['arch']);
my $arch = $nodetypeentry->{'arch'};
$nodetypetab->close();
# Get Imageprofile pkgdir
my $osdistroname = $os . "-" . $arch;
my $osdistrotab = xCAT::Table->new('osdistro');
my $osdistroentry = ($osdistrotab->getAllAttribsWhere("osdistroname = '$osdistroname'", 'ALL' ))[0];
my $pkgdir = $osdistroentry->{'dirpaths'};
$osdistrotab->close();
# Get networkprofile netboot and installnic
my $noderestab = xCAT::Table->new('noderes');
my $noderesentry = $noderestab->getNodeAttribs($networkprofile, ['netboot', 'installnic']);
@@ -896,33 +841,16 @@ sub check_profile_consistent{
my $nodetype = undef;
$nodetype = $ntentry->{'nodetype'} if ($ntentry->{'nodetype'});
$ppctab->close();
# Checking whether netboot initrd image for Ubuntu ppc64
# This image should be downloaded from internet
if ($arch =~ /ppc64/i and $os =~ /ubuntu/i and !(-e "$pkgdir/install/netboot/initrd.gz")){
return 0, "The netboot initrd is not found in $pkgdir/install/netboot, please download it firstly.";
}
# Check if exists provision network
if (not ($installnic and exists $netprofile_nicshash{$installnic}{"network"})){
return 0, "Provisioning network not defined for network profile."
}
# Remove check mechanism about arch and netboot attribute
# Attribute 'neboot' will be generated based on arch, management method, os
# Profile consistent keys, arch=>netboot, mgt=>nictype
#my $ppc_netboot = 'yaboot';
#if( $os =~ /rhels7/ ){
# $ppc_netboot = 'grub2';
#}
#my %profile_dict = ('x86' => 'xnba','x86_64' => 'xnba', 'ppc64' => $ppc_netboot,
# 'ppc64el' => $ppc_netboot,
# 'fsp' => 'FSP', 'ipmi' => 'BMC');
# Check if imageprofile is consistent with networkprofile
#if ($profile_dict{$arch} ne $netboot) {
# return 0, "Imageprofile's arch is not consistent with networkprofile's netboot."
#}
if ($profile_dict{$arch} ne $netboot) {
return 0, "Imageprofile's arch is not consistent with networkprofile's netboot."
}
# Check if networkprofile is consistent with hardwareprofile
if (not $hardwareprofile) { # Not define hardwareprofile
@@ -932,29 +860,24 @@ sub check_profile_consistent{
return 0, "$nictype networkprofile must use with hardwareprofile.";
}
}
my %mgt_dict = ('fsp' => 'FSP', 'ipmi' => 'BMC', 'kvm' => '');
if ($mgt eq 'vm') {
return 1, "";
# For nodetype is lpar node, not need to check the nictype as it is not required for lpar node
if (not $nictype and $mgt and $nodetype ne 'lpar' ) {
# define hardwareprofile, not define fsp or bmc networkprofile, and the node type is not lpar
return 0, "$profile_dict{$mgt} hardwareprofile must use with $profile_dict{$mgt} networkprofile.";
}
if ($nodetype eq 'lpar') {
if ($nictype) {
# Can not associate FSP/BMC network if the node type is lpar
return 0, "The node with hardware type $nodetype can not use with $nictype networkprofile.";
}
return 1, ""
if ($profile_dict{$mgt} ne $nictype and $nodetype ne 'lpar') {
# Networkprofile's nictype is not consistent with hadrwareprofile's mgt, and the node type is not lpar
return 0, "Networkprofile's nictype is not consistent with hardwareprofile's mgt.";
}
if ($mgt and $mgt_dict{$mgt} ne $nictype) {
my $errmsg = "$mgt hardwareprofile must use with $mgt_dict{$mgt} networkprofile.";
if ( $mgt eq 'kvm' ) {
$errmsg = "$mgt hardwareprofile must use with non-BMC and non-FSP networkprofile."
}
return 0, $errmsg;
if ($nodetype eq 'lpar' and $nictype eq 'FSP')
{
# can not associate FSP network if the node type is lpar
return 0, "The node with hardware type $nodetype can not use with $nictype networkprofile.";
}
return 1, "";
}
@@ -1216,249 +1139,3 @@ sub check_nicips{
return (0, \%nics_hash, "");
}
#-------------------------------------------------------------------------------
=head3 gen_chain_for_profiles
Description: Generate a chain string based on Network/Hardware/Image profiles.
Arguments: $profiles_hash: The reference for profiles hash.
For example:
$profiles_hash = { 'HardwareProfile' => 'IBM_NeXtScale_M4',
'ImageProfile' => 'rhels6.5-x86_64-stateful-compute',
'NetworkProfile' => 'default_network_profile',
}
$hw_reconfig: the flag shows whether we need re-configure all hardware
relative settings or not: like runcmds, runimg...etc
Returns: ($retcode, $chain)
$retcode = 1. Generate chain failed, $chain stands for error message.
$retcode = 0. Generate chain OK. $chain stands for the chain string.
=cut
#-------------------------------------------------------------------------------
sub gen_chain_for_profiles{
my $class = shift;
my $profiles_hashref = shift;
my $hw_reconfig = shift;
my $final_chain = "";
if (! $profiles_hashref){
return (1, "Missing parameter for gen_chain_for_profiles.");
}
# A node must have at least imageprofile and network profile.
unless (defined $profiles_hashref->{'ImageProfile'}){
return (1, "No imageprofile specified in profiles hash.");
}
unless (defined $profiles_hashref->{'NetworkProfile'}){
return (1, "No networkprofile specified in profiles hash.");
}
my $hwprofile = $profiles_hashref->{'HardwareProfile'};
my $imgprofile = $profiles_hashref->{'ImageProfile'};
my $netprofile = $profiles_hashref->{'NetworkProfile'};
# Get node's provisioning method
my $provmethod = xCAT::ProfiledNodeUtils->get_imageprofile_prov_method($imgprofile);
unless ($provmethod ){
return (1, "Can not get provisioning method for image profile $imgprofile");
}
my $netprofileattr = xCAT::ProfiledNodeUtils->get_nodes_nic_attrs([$netprofile])->{$netprofile};
unless ($netprofileattr){
return (1, "Can not get attributes for network profile $netprofile");
}
$final_chain = 'osimage='.$provmethod.":--noupdateinitrd";
# get the chain attribute from hardwareprofile and insert it to node.
if (defined $hwprofile and $hwprofile and $hw_reconfig){
my $chaintab = xCAT::Table->new('chain');
my $chain = $chaintab->getNodeAttribs($hwprofile, ['chain']);
if (exists $chain->{'chain'}) {
my $hw_chain = $chain->{'chain'};
$final_chain = $hw_chain.',osimage='.$provmethod.":--noupdateinitrd";
}
}
#run bmcsetups.
if ((exists $netprofileattr->{"bmc"}) and $hw_reconfig){
if (index($final_chain, "runcmd=bmcsetup") == -1){
$final_chain = 'runcmd=bmcsetup,'.$final_chain.':reboot4deploy';
}
else{
$final_chain = $final_chain.':reboot4deploy';
}
}
return (0, $final_chain);
}
#-------------------------------------------------------------------------------
=head3 get_all_vmhosts
Description : Get all vm hosts/hypervisor from DB.
Arguments : N/A
Returns : ref for vm hosts/hypervisor hash.
Example :
my $hashref = xCAT::ProfiledNodeUtils->get_all_vmhosts();
=cut
#-------------------------------------------------------------------------------
sub get_all_vmhosts
{
my %vmhostshash;
my $nodelisttab = xCAT::Table->new('nodelist');
# groups like '__Hypervisor_pkvm' means this node is Power KVM hypervisor
my @vmhosts = $nodelisttab->getAllAttribsWhere("groups like '%__Hypervisor_kvm%'", 'node');
foreach (@vmhosts) {
if($_->{'node'}) {
$vmhostshash{$_->{'node'}} = 1;
}
}
$nodelisttab->close();
# Return the ref accordingly
return \%vmhostshash;
}
#-------------------------------------------------------------------------------
=head3 get_netboot_attr
Description : Get netboot attribute for node
Arguments : $imageprofile - image profile name, mandatory. e.g. "__ImageProfile_rhels7.0-x86_64-stateful-mgmtnode"
$hardwareprofile - harware profile name, optional. e.g. "__HardwareProfile_IBM_System_x_M4"
Returns : (returncode, netboot)
returncode=0 - can not get netboot value,netboot is the error message
returncode=1 - can get netboot value,netboot is the right value
=cut
#-------------------------------------------------------------------------------
sub get_netboot_attr{
my $class = shift;
my $imageprofile = shift;
my $hardwareprofile = shift;
my $netboot;
my @nodegrps = xCAT::TableUtils->list_all_node_groups();
unless(grep{ $_ eq $imageprofile} @nodegrps)
{
return 0, "Image profile not defined in DB."
}
$imageprofile =~ s/^__ImageProfile_//;
if ($hardwareprofile){
unless(grep{ $_ eq $hardwareprofile} @nodegrps)
{
return 0, "Hardware profile not defined in DB."
}
$hardwareprofile =~ s/^__HardwareProfile_//;
}
else
{
$hardwareprofile = '*';
}
# Get os name, os major version, osarch
my $osimage_tab = xCAT::Table->new('osimage');
my $osimage_tab_entry = $osimage_tab->getAttribs({'imagename'=> $imageprofile},('osdistroname'));
my $osdistroname = $osimage_tab_entry->{'osdistroname'};
$osimage_tab->close();
my $osdistro_tab = xCAT::Table->new('osdistro');
my $osdistro_tab_entry = $osdistro_tab->getAttribs({'osdistroname'=> $osdistroname},('basename', 'majorversion', 'arch'));
my $os_name = $osdistro_tab_entry->{'basename'};
my $os_major_version = $osdistro_tab_entry->{'majorversion'};
my $os_arch = $osdistro_tab_entry->{'arch'};
$osdistro_tab->close;
# Treate os name rhel,centos,rhelhpc same as rhels
if ($os_name eq 'centos' || $os_name eq 'rhelhpc' || $os_name eq 'rhel')
{
$os_name = 'rhels';
}
# Treate arch ppc64el same as ppc64le,x86 same as x86_64
if ($os_arch eq 'ppc64el')
{
$os_arch = 'ppc64le';
}elsif ($os_arch eq 'x86')
{
$os_arch = 'x86_64';
}
# Rule for netboot attribute.If update the rule,just update %netboot_dict and @condition_array
# It's sequence sensitive: os arch -> os name -> os major version -> hardware profile
# Priority | Arch | OS Name | OS Major Version | Hardware Profile | Noderes.netboot |
# 1 | x86_64/x86 | * | * | * | xnba |
# 2 | ppc64 | rhels | 7 | * | grub2 |
# 3 | | * | * | * | yaboot |
# 4 | ppc64le/el | * | * | IBM_PowerNV | petiboot |
# 5 | | * | * | * | grub2 |
# arch osname version hardware netboot
my %netboot_dict = ( 'x86_64' => 'xnba',
'ppc64' => {
'rhels' => {
'7' => 'grub2',
'*' => 'yaboot',
},
'*' => 'yaboot',
},
'ppc64le' => {
'*' => {
'*' => {
'IBM_PowerNV' => 'petiboot',
'*' => 'grub2',
},
},
},
);
my $condition_array_ref = [$os_arch, $os_name, $os_major_version, $hardwareprofile];
$netboot = cal_netboot(\%netboot_dict, $condition_array_ref);
if($netboot eq '0')
{
return 0, "Can not get the netboot attribute";
}
else
{
return 1, $netboot;
}
}
#-------------------------------------------------------------------------------
=head3 cal_netboot
Description : Calculate netboot attribute by conditions recursively, internal use.
Arguments : $netboot_dict_ref
$condition_array_ref
Returns : netboot
returncode=0 - can not get netboot value
=cut
#-------------------------------------------------------------------------------
sub cal_netboot{
my $netboot_dict_ref = shift;
my $condition_array_ref = shift;
my $condition_array_len = scalar @$condition_array_ref;
if( $condition_array_len == 0 ){
return 0;
}
my $condition = shift @$condition_array_ref;
if( (exists($netboot_dict_ref->{$condition})) || (exists($netboot_dict_ref->{'*'})) )
{
if(!exists($netboot_dict_ref->{$condition}))
{
$condition = '*';
}
if(ref($netboot_dict_ref->{$condition}) eq 'HASH')
{
if($condition_array_len > 1)
{
return cal_netboot($netboot_dict_ref->{$condition}, $condition_array_ref);
}
else
{
return 0;
}
}
else
{
return $netboot_dict_ref->{$condition};
}
}
else
{
return 0;
}
}
-4
View File
@@ -810,10 +810,6 @@ sub senddeviceskeys
# add to the command
$setupcmd .=$key;
$setupcmd .="\"";
# Special case for vios
if ($ENV{DEVICETYPE} eq 'vios') {
$setupcmd = "\"echo $key | tee -a ~/.ssh/authorized_keys2\"";
}
# For each input device
my @nodelist=split(/,/,$nodes);
foreach my $node (@nodelist) {
+4 -8
View File
@@ -116,9 +116,6 @@ sub dodiscover {
send_message($args{reqcallback}, 0, "The rarge is too large and may be time consuming. Broadcast is recommended.");
}
}
#no need to check site.nmapoptions because it specifilly
# uses T5 for certain performance requirement.
`/usr/bin/nmap $range -sn -PE -n --send-ip -T5 `;
my $nmapres = `/usr/bin/nmap $range -PE -p 427 -n --send-ip -T5 `;
foreach my $line (split(/\n\n/,$nmapres)) {
@@ -290,7 +287,7 @@ sub dodiscover {
if ($rethash{$peername}) {
next; #got a dupe, discard
}
my $result = process_slp_packet(packet=>$slpkg,sockaddr=>$pkg,'socket'=>$args{'socket'}, peername=>$peername, callback=>$args{reqcallback});
my $result = process_slp_packet(packet=>$slpkg,sockaddr=>$pkg,'socket'=>$args{'socket'});
if ($result) {
if ($peername =~ /\./) { #ipv4
$peername =~ s/::ffff://;
@@ -374,10 +371,9 @@ sub process_slp_packet {
if ($parsedpacket->{FunctionId} == 2) {#Service Reply
parse_service_reply($parsedpacket->{payload},$parsedpacket);
unless (ref $parsedpacket->{service_urls} and scalar @{$parsedpacket->{service_urls}}) { return undef; }
if ($parsedpacket->{attributes} && get_mac_for_addr($args{peername})) {
#service reply had ext. Stop here if has gotten attributes and got mac.
#continue the unicast request for service attributes if cannot find mac for peernode
return $parsedpacket; #don't bother sending attrrequest, already got it in first packet
if ($parsedpacket->{attributes}) { #service reply had ext
return $parsedpacket; #don't bother sending attrrequest, already got it in first packet
}
my $srvtype = $xid_to_srvtype_map{$parsedpacket->{Xid}};
my $packet = generate_attribute_request(%args,SrvType=>$srvtype);
+10 -68
View File
@@ -650,8 +650,7 @@ sub decode_spd {
8 => "DDR2 SDRAM",
9 => "DDR2 SDRAM FB-DIMM",
10 => "DDR2 SDRAM FB-DIMM PROBE",
11 => "DDR3 SDRAM",
12 => "DDR4 SDRAM",
11 => "DDR3 SDRAM"
);
my %modtypes = (
@@ -669,35 +668,33 @@ sub decode_spd {
1333 => 10600,
1600 => 12800,
1867 => 14900,
2132 => 17000,
2133 => 17000,
2134 => 17000,
);
my %ddrmodcap = (
my %ddr3modcap = (
0 => 256,
1 => 512,
2 => 1024,
3 => 2048,
4 => 4096,
5 => 8192,
6 => 16384,
7 => 32768,
6 => 16384
);
my %ddrdevwidth = (
my %ddr3devwidth = (
0 => 4,
1 => 8,
2 => 16,
3 => 32
);
my %ddrranks = (
my %ddr3ranks = (
0 => 1,
1 => 2,
2 => 3,
3 => 4
);
my %ddrbuswidth = (
my %ddr3buswidth = (
0 => 8,
1 => 16,
2 => 32,
@@ -731,10 +728,10 @@ sub decode_spd {
$rethash->{product}->{name} .= " ECC";
}
$rethash->{product}->{name}.=" ".$modtypes{$spd[3]&0x0f};
my $sdramcap=$ddrmodcap{$spd[4]&0xf};
my $buswidth=$ddrbuswidth{$spd[8]&0b111};
my $sdramwidth=$ddrdevwidth{$spd[7]&0b111};
my $ranks = $ddrranks{($spd[7]&0b111000)>>3};
my $sdramcap=$ddr3modcap{$spd[4]&0xf};
my $buswidth=$ddr3buswidth{$spd[8]&0b111};
my $sdramwidth=$ddr3devwidth{$spd[7]&0b111};
my $ranks = $ddr3ranks{($spd[7]&0b111000)>>3};
my $capacity = $sdramcap/8*$buswidth/$sdramwidth*$ranks;
@@ -772,61 +769,6 @@ sub decode_spd {
# $rawspd .= sprintf("%02X ",$_);
#}
#push @{$rethash->{product}->{extra}},$rawspd;
} elsif ($spd[2] == 12) { #DDR4 spec applies
# spd[125] spd[18] spd[18is sdram min cycle time .. spd125 is fine offset for min time
# mtb and ftb are fixed in ddr4 spd spec.. mtb is always 0.125 ns and ftb is always 0.001 ns
my $speed;
my $clock;
if ($spd[17] == 0) {
my $fineoffset = $spd[125];
if ($fineoffset & 0b10000000) {
#negative value, twos complement
$fineoffset = 0-(($fineoffset ^ 0xff) + 1);
}
$clock = int(2/((0.125*$spd[18] + $fineoffset*0.001)*0.001));
$speed = $speedfromclock{$clock};
unless ($speed) { $speed = "UNKNOWN"; }
} else { # this would mean a different MTB and FTB than spec indicated..
$clock = "UNKNOWN";
$speed = "UNKNOWN";
}
$rethash->{product}->{name}="PC4-".$speed." ($clock MT/s)";
if ($spd[13]&0b11000 == 0b1000) {
$rethash->{product}->{name} .= " ECC";
}
$rethash->{product}->{name}.=" ".$modtypes{$spd[3]&0x0f};
my $sdramcap=$ddrmodcap{$spd[4]&0xf};
my $buswidth=$ddrbuswidth{$spd[13]&0b111};
my $sdramwidth=$ddrdevwidth{$spd[12]&0b111};
my $ranks = $ddrranks{($spd[12]&0b111000)>>3};
my $capacity = $sdramcap/8*$buswidth/$sdramwidth*$ranks;
if ($capacity < 1024) {
$capacity = $capacity."MB";
} else {
$capacity = ($capacity/1024)."GB";
}
$rethash->{product}->{name} = $capacity." ".$rethash->{product}->{name};
$rethash->{product}->{manufacturer} = decode_manufacturer($spd[320],$spd[321]);
$rethash->{product}->{buildlocation} = sprintf("%02x",$spd[322]);
if ($spd[120] != 0 or $spd[121] != 0) {
$rethash->{product}->{builddate} = sprintf("Week %x of 20%02x",$spd[323],$spd[324]);
}
foreach (@spd[329..348]) {
if ($_ > 126 or $_ < 32) {
$rethash->{product}->{model}="Malformed SPD";
}
}
unless ($rethash->{product}->{model}) {
$rethash->{product}->{model}=pack("C*",@spd[329..348]);
}
#my $rawspd="SPD Dump: ";
#foreach (@spd) {
# $rawspd .= sprintf("%02X ",$_);
#}
#push @{$rethash->{product}->{extra}},$rawspd;
} else {
$rethash->{product}->{model}="Unrecognized SPD";
}
+38 -159
View File
@@ -267,14 +267,11 @@ virtsd => {
},
storage => {
cols => [qw(node osvolume size state storagepool hypervisor fcprange volumetag type controller comments disable)],
cols => [qw(node osvolume size state storagepool hypervisor fcprange volumetag comments disable)],
keys => [qw(node)],
table_descr => 'Node storage resources',
descriptions => {
node => 'The node name',
controller => 'The management address to attach/detach new volumes.
In the scenario involving multiple controllers, this data must be
passed as argument rather than by table value',
osvolume => "Specification of what storage to place the node OS image onto. Examples include:
localdisk (Install to first non-FC attached disk)
usbdisk (Install to first USB mass storage device seen)
@@ -284,7 +281,6 @@ storage => {
storagepool => 'Name of storage pool where the volume is assigned.',
hypervisor => 'Name of the hypervisor where the volume is configured.',
fcprange => 'A range of acceptable fibre channels that the volume can use. Examples include: 3B00-3C00;4B00-4C00.',
type => 'The plugin used to drive storage configuration (e.g. svc)',
volumetag => 'A specific tag used to identify the volume in the autoyast or kickstart template.',
comments => 'Any user-written notes.',
disable => "Set to 'yes' or '1' to comment out this row.",
@@ -393,46 +389,7 @@ ipmi => {
descriptions => {
node => 'The node name or group name.',
bmc => 'The hostname of the BMC adapater.',
bmcport => ' In systems with selectable shared/dedicated ethernet ports,
this parameter can be used to specify the preferred port. 0
means use the shared port, 1 means dedicated, blank is to not
assign.
The following special cases exist for IBM System x servers:
For x3755 M3 systems, 0 means use the dedicated port, 1 means
shared, blank is to not assign.
For certain systems which have a mezzaine or ML2 adapter, there is a second
value to include:
For x3750 M4 (Model 8722):
0 2 1st 1Gbps interface for LOM
0 0 1st 10Gbps interface for LOM
0 3 2nd 1Gbps interface for LOM
0 1 2nd 10Gbps interface for LOM
For x3750 M4 (Model 8752), x3850/3950 X6, dx360 M4, x3550 M4, and x3650 M4:
0 Shared (1st onboard interface)
1 Dedicated
2 0 First interface on ML2 or mezzanine adapter
2 1 Second interface on ML2 or mezzanine adapter
2 2 Third interface on ML2 or mezzanine adapter
2 3 Fourth interface on ML2 or mezzanine adapter',
bmcport => 'In systems with selectable shared/dedicated ethernet ports, this parameter can be used to specify the preferred port. 0 means use the shared port, 1 means dedicated, blank is to not assign',
taggedvlan => 'Have bmcsetup place the BMC on the specified vlan tag on a shared netwirk interface. Some network devices may be incompatible with this option',
bmcid => 'Unique identified data used by discovery processes to distinguish known BMCs from unrecognized BMCs',
username => 'The BMC userid. If not specified, the key=ipmi row in the passwd table is used as the default.',
@@ -542,7 +499,7 @@ networks => {
netname => 'Name used to identify this network definition.',
net => 'The network address.',
mask => 'The network mask.',
mgtifname => 'The interface name of the management/service node facing this network. !remote!<nicname> indicates a non-local network on a specific nic for relay DHCP.',
mgtifname => 'The interface name of the management/service node facing this network. !remote! indicates a non-local network for relay DHCP.',
gateway => 'The network gateway. It can be set to an ip address or the keyword <xcatmaster>, the keyword <xcatmaster> indicates the cluster-facing ip address configured on this management node or service node. Leaving this field blank means that there is no gateway for this network.',
dhcpserver => 'The DHCP server that is servicing this network. Required to be explicitly set for pooled service node operation.',
tftpserver => 'The TFTP server that is servicing this network. If not set, the DHCP server is assumed.',
@@ -575,7 +532,7 @@ nodegroup => {
},
},
nodehm => {
cols => [qw(node power mgt cons termserver termport conserver serialport serialspeed serialflow getmac cmdmapping consoleondemand comments disable)],
cols => [qw(node power mgt cons termserver termport conserver serialport serialspeed serialflow getmac cmdmapping comments disable)],
keys => [qw(node)],
tablespace =>'XCATTBS16K',
table_desc => "Settings that control how each node's hardware is managed. Typically, an additional table that is specific to the hardware type of the node contains additional info. E.g. the ipmi, mp, and ppc tables.",
@@ -592,7 +549,6 @@ nodehm => {
serialflow => "The flow control value of the serial port for this node. For SOL this is typically 'hard'.",
getmac => 'The method to use to get MAC address of the node with the getmac command. If not set, the mgt attribute will be used. Valid values: same as values for mgmt attribute.',
cmdmapping => 'The fully qualified name of the file that stores the mapping between PCM hardware management commands and xCAT/third-party hardware management commands for a particular type of hardware device. Only used by PCM.',
consoleondemand => 'This overrides the value from site.consoleondemand; (0=no, 1=yes). Default is the result from site.consoleondemand.',
comments => 'Any user-written notes.',
disable => "Set to 'yes' or '1' to comment out this row.",
},
@@ -611,7 +567,7 @@ nodelist => {
appstatustime =>'The date and time when appstatus was updated.',
primarysn => 'Not used currently. The primary servicenode, used by this node.',
hidden => "Used to hide fsp and bpa definitions, 1 means not show them when running lsdef and nodels",
updatestatus => "The current node update status. Valid states are synced, out-of-sync,syncing,failed.",
updatestatus => "The current node update status. Valid states are synced out-of-sync,syncing,failed.",
updatestatustime => "The date and time when the updatestatus was updated.",
zonename => "The name of the zone to which the node is currently assigned. If undefined, then it is not assigned to any zone. ",
comments => 'Any user-written notes.',
@@ -643,14 +599,14 @@ noderes => {
descriptions => {
node => 'The node name or group name.',
servicenode => 'A comma separated list of node names (as known by the management node) that provides most services for this node. The first service node on the list that is accessible will be used. The 2nd node on the list is generally considered to be the backup service node for this node when running commands like snmove.',
netboot => 'The type of network booting to use for this node. Valid values: pxe or xnba for x86* architecture, yaboot for POWER architecture, grub2-tftp and grub2-http for RHEL7 on Power and all the os deployment on Power LE. Notice: yaboot is not supported from rhels7 on Power,use grub2-tftp or grub2-http instead, the difference between the 2 is the file transfer protocol(i.e, http or tftp)',
netboot => 'The type of network booting to use for this node. Valid values: pxe or xnba for x86* architecture, yaboot for POWER architecture, grub2 for RHEL7 on Power. Notice: yaboot is not supported from rhels7 on Power,use grub2 instead',
tftpserver => 'The TFTP server for this node (as known by this node). If not set, it defaults to networks.tftpserver.',
tftpdir => 'The directory that roots this nodes contents from a tftp and related perspective. Used for NAS offload by using different mountpoints.',
nfsserver => 'The NFS or HTTP server for this node (as known by this node).',
monserver => 'The monitoring aggregation point for this node. The format is "x,y" where x is the ip address as known by the management node and y is the ip address as known by the node.',
nfsdir => 'The path that should be mounted from the NFS server.',
installnic => 'The network adapter on the node that will be used for OS deployment, the installnic can be set to the network adapter name or the mac address or the keyword "mac" which means that the network interface specified by the mac address in the mac table will be used. If not set, primarynic will be used. If primarynic is not set too, the keyword "mac" will be used as default.',
primarynic => 'This attribute will be deprecated. All the used network interface will be determined by installnic. The network adapter on the node that will be used for xCAT management, the primarynic can be set to the network adapter name or the mac address or the keyword "mac" which means that the network interface specified by the mac address in the mac table will be used. Default is eth0.',
installnic => 'The network adapter on the node that will be used for OS deployment, the installnic can be set to the network adapter name or the mac address or the keyword "mac" which means that the network interface specified by the mac address in the mac table will be used. If not set, primarynic will be used.',
primarynic => 'The network adapter on the node that will be used for xCAT management, the primarynic can be set to the network adapter name or the mac address or the keyword "mac" which means that the network interface specified by the mac address in the mac table will be used. Default is eth0.',
discoverynics => 'If specified, force discovery to occur on specific network adapters only, regardless of detected connectivity. Syntax can be simply "eth2,eth3" to restrict discovery to whatever happens to come up as eth2 and eth3, or by driver name such as "bnx2:0,bnx2:1" to specify the first two adapters managed by the bnx2 driver',
cmdinterface => 'Not currently used.',
xcatmaster => 'The hostname of the xCAT service node (as known by this node). This acts as the default value for nfsserver and tftpserver, if they are not set. If xcatmaster is not set, the node will use whoever responds to its boot request as its master. For the directed bootp case for POWER, it will use the management node if xcatmaster is not set.',
@@ -728,7 +684,7 @@ osimage => {
description => 'OS Image Description',
provmethod => 'The provisioning method for node deployment. The valid values are install, netboot,statelite,boottarget,dualboot,sysclone. If boottarget is set, you must set linuximage.boottarget to the name of the boottarget definition. It is not used by AIX.',
rootfstype => 'The filesystem type for the rootfs is used when the provmethod is statelite. The valid values are nfs or ramdisk. The default value is nfs',
osdistroname => 'The name of the OS distro definition. This attribute can be used to specify which OS distro to use, instead of using the osname,osvers,and osarch attributes. For *kit commands, the attribute will be used to read the osdistro table for the osname, osvers, and osarch attributes. If defined, the osname, osvers, and osarch attributes defined in the osimage table will be ignored.',
osdistroname => 'The name of the OS distro definition. This attribute can be used to specify which OS distro to use, instead of using the osname,osvers,and osarch attributes.',
osupdatename => 'A comma-separated list of OS distro updates to apply to this osimage.',
cfmdir => 'CFM directory name for PCM. Set to /install/osimages/<osimage name>/cfmdir by PCM. ',
profile => 'The node usage category. For example compute, service.',
@@ -752,16 +708,16 @@ linuximage => {
table_desc => 'Information about a Linux operating system image that can be used to deploy cluster nodes.',
descriptions => {
imagename => 'The name of this xCAT OS image definition.',
template => 'The fully qualified name of the template file that will be used to create the OS installer configuration file for stateful installations (e.g. kickstart for RedHat, autoyast for SLES).',
template => 'The fully qualified name of the template file that is used to create the kick start file for diskful installation.',
boottarget => 'The name of the boottarget definition. When this attribute is set, xCAT will use the kernel, initrd and kernel params defined in the boottarget definition instead of the default.',
addkcmdline=> 'User specified arguments to be passed to the kernel. The user arguments are appended to xCAT.s default kernel arguments. This attribute is ignored if linuximage.boottarget is set.',
pkglist => 'The fully qualified name of the file that stores the distro packages list that will be included in the image. Make sure that if the pkgs in the pkglist have dependency pkgs, the dependency pkgs should be found in one of the pkgdir',
pkgdir => 'The name of the directory where the distro packages are stored. It could be set multiple paths.The multiple paths must be seperated by ",". The first path in the value of osimage.pkgdir must be the OS base pkg dir path, such as pkgdir=/install/rhels6.2/x86_64,/install/updates . In the os base pkg path, there are default repository data. And in the other pkg path(s), the users should make sure there are repository data. If not, use "createrepo" command to create them. For ubuntu, multiple mirrors can be specified in the pkgdir attribute, the mirrors must be prefixed by the protocol(http/ssh) and delimited with "," between each other.',
pkgdir => 'The name of the directory where the distro packages are stored. It could be set multiple paths.The multiple paths must be seperated by ",". The first path in the value of osimage.pkgdir must be the OS base pkg dir path, such as pkgdir=/install/rhels6.2/x86_64,/install/updates . In the os base pkg path, there are default repository data. And in the other pkg path(s), the users should make sure there are repository data. If not, use "createrepo" command to create them. ',
otherpkglist => 'The fully qualified name of the file that stores non-distro package lists that will be included in the image.',
otherpkgdir => 'The base directory where the non-distro packages are stored. Only 1 local directory supported at present.',
otherpkgdir => 'The base directory where the non-distro packages are stored.',
exlist => 'The fully qualified name of the file that stores the file names and directory names that will be excluded from the image during packimage command. It is used for diskless image only.',
postinstall => 'The fully qualified name of the script file that will be run at the end of the genimage command. It is used for diskless image only.',
rootimgdir => 'The directory name where the image is stored. It is generally used for diskless image. it also can be used in sysclone environment to specify where the image captured from golden client is stored. in sysclone environment, rootimgdir is generally assigned to some default value by xcat, but you can specify your own store directory. just one thing need to be noticed, wherever you save the image, the name of last level directory must be the name of image. for example, if your image name is testimage and you want to save this image under home directoy, rootimgdir should be assigned to value /home/testimage/',
rootimgdir => 'The directory name where the image is stored. It is used for diskless image only.',
kerneldir => 'The directory name where the 3rd-party kernel is stored. It is used for diskless image only.',
nodebootif => 'The network interface the stateless/statelite node will boot over (e.g. eth0)',
otherifce => 'Other network interfaces (e.g. eth1) in the image that should be configured via DHCP',
@@ -771,7 +727,7 @@ linuximage => {
permission => 'The mount permission of /.statelite directory is used, its default value is 755',
dump => qq{The NFS directory to hold the Linux kernel dump file (vmcore) when the node with this image crashes, its format is "nfs://<nfs_server_ip>/<kdump_path>". If you want to use the node's "xcatmaster" (its SN or MN), <nfs_server_ip> can be left blank. For example, "nfs:///<kdump_path>" means the NFS directory to hold the kernel dump file is on the node's SN, or MN if there's no SN.},
crashkernelsize => 'the size that assigned to the kdump kernel. If the kernel size is not set, 256M will be the default value.',
partitionfile => 'The path of the configuration file which will be used to partition the disk for the node. For stateful osimages,two types of files are supported: "<partition file absolute path>" which contains a partitioning definition that will be inserted directly into the generated autoinst configuration file and must be formatted for the corresponding OS installer (e.g. kickstart for RedHat, autoyast for SLES). "s:<partitioning script absolute path>" which specifies a shell script that will be run from the OS installer configuration file %pre section; the script must write the correct partitioning definition into the file /tmp/partitionfile on the node which will be included into the configuration file during the install process. For statelite osimages, partitionfile should specify "<partition file absolute path>"; see the xCAT Statelite documentation for the xCAT defined format of this configuration file.',
partitionfile => 'The path of the configuration file which is used to part the disk for the node. For stateful: two types of value can be set for this attribute. One is "<partition file absolute path>", the content of the partition file must use the corresponding format with the OS type. The other one is "s:<partition file absolute path>", the content of the partition file should be a shell script which must write the partition definition into /tmp/partitionfile on the node. For statelite: the valid value is <partition file absolute path>, refer to the statelite doc for the xCAT defined format of the configuration file.',
driverupdatesrc => 'The source of the drivers which need to be loaded during the boot. Two types of driver update source are supported: Driver update disk and Driver rpm package. The value for this attribute should be comma separated sources. Each source should be the format tab:full_path_of_srouce_file. The tab keyword can be: dud (for Driver update disk) and rpm (for driver rpm). If missing the tab, the rpm format is the default. e.g. dud:/install/dud/dd.img,rpm:/install/rpm/d.rpm',
comments => 'Any user-written notes.',
disable => "Set to 'yes' or '1' to comment out this row.",
@@ -786,7 +742,7 @@ winimage => {
imagename => 'The name of this xCAT OS image definition.',
template => 'The fully qualified name of the template file that is used to create the windows unattend.xml file for diskful installation.',
installto => 'The disk and partition that the Windows will be deployed to. The valid format is <disk>:<partition>. If not set, default value is 0:1 for bios boot mode(legacy) and 0:3 for uefi boot mode; If setting to 1, it means 1:1 for bios boot and 1:3 for uefi boot',
partitionfile => 'The path of partition configuration file. Since the partition configuration for bios boot mode and uefi boot mode are different, this configuration file can include both configurations if you need to support both bios and uefi mode. Either way, you must specify the boot mode in the configuration. Example of partition configuration file: [BIOS]xxxxxxx[UEFI]yyyyyyy. To simplify the setting, you also can set installto in partitionfile with section like [INSTALLTO]0:1',
partitionfile => 'The path of partition configuration file. Since the partition configuration for bios boot mode and uefi boot mode are different, this configuration file should include two parts if customer wants to support both bios and uefi mode. If customer just wants to support one of the modes, specify one of them anyway. Example of partition configuration file: [BIOS]xxxxxxx[UEFI]yyyyyyy. To simplify the setting, you also can set installto in partitionfile with section likes [INSTALLTO]0:1',
winpepath => 'The path of winpe which will be used to boot this image. If the real path is /tftpboot/winboot/winpe1/, the value for winpepath should be set to winboot/winpe1',
comments => 'Any user-written notes.',
disable => "Set to 'yes' or '1' to comment out this row.",
@@ -809,11 +765,11 @@ passwd => {
policy => {
cols => [qw(priority name host commands noderange parameters time rule comments disable)],
keys => [qw(priority)],
table_desc => 'The policy table in the xCAT database controls who has authority to run specific xCAT operations. It is basically the Access Control List (ACL) for xCAT. It is sorted on the priority field before evaluating.',
table_desc => 'The policy table in the xCAT database controls who has authority to run specific xCAT operations. It is basically the Access Control List (ACL) for xCAT.',
descriptions => {
priority => 'The priority value for this rule. This value is used to identify this policy data object (i.e. this rule) The table is sorted on this field with the lower the number the higher the priority. For example 1.0 is higher priority than 4.1 is higher than 4.9.',
priority => 'The priority value for this rule. This value is used to identify this policy data object (i.e. this rule).',
name => 'The username that is allowed to perform the commands specified by this rule. Default is "*" (all users).',
host => 'The host from which users may issue the commands specified by this rule. Default is "*" (all hosts). Only all or one host is supported',
host => 'The host from which users may issue the commands specified by this rule. Default is "*" (all hosts). Only all or one host supported. ',
commands => 'The list of commands that this rule applies to. Default is "*" (all commands).',
noderange => 'The Noderange that this rule applies to. Default is "*" (all nodes). Not supported with the *def commands.',
parameters => 'A regular expression that matches the command parameters (everything except the noderange) that this rule applies to. Default is "*" (all parameters). Not supported with the *def commands.',
@@ -827,11 +783,11 @@ postscripts => {
cols => [qw(node postscripts postbootscripts comments disable)],
keys => [qw(node)],
tablespace =>'XCATTBS16K',
table_desc => 'The scripts that should be run on each node after installation or diskless boot.',
table_desc => ' The scripts that should be run on each node after installation or diskless boot.',
descriptions => {
node => 'The node name or group name.',
postscripts => 'Comma separated list of scripts that should be run on this node after diskfull installation or diskless boot. Each script can take zero or more parameters. For example: "script1 p1 p2,script2,...". xCAT automatically adds the postscripts from the xcatdefaults.postscripts attribute of the table to run first on the nodes after install or diskless boot. For installation of RedHat, CentOS, Fedora, the scripts will be run before the reboot. For installation of SLES, the scripts will be run after the reboot but before the init.d process. For diskless deployment, the scripts will be run at the init.d time, and xCAT will automatically add the list of scripts from the postbootscripts attribute to run after postscripts list. For installation of AIX, the scripts will run after the reboot and acts the same as the postbootscripts attribute. For AIX, use the postbootscripts attribute. Support will be added in the future for the postscripts attribute to run the scripts before the reboot in AIX. ',
postbootscripts => 'Comma separated list of scripts that should be run on this node after diskfull installation or diskless boot. Each script can take zero or more parameters. For example: "script1 p1 p2,script2,...". On AIX these scripts are run during the processing of /etc/inittab. On Linux they are run at the init.d time. xCAT automatically adds the scripts in the xcatdefaults.postbootscripts attribute to run first in the list.',
postbootscripts => 'Comma separated list of scripts that should be run on thisnode after diskfull installation or diskless boot. Each script can take zero or more parameters. For example: "script1 p1 p2,script2,...". On AIX these scripts are run during the processing of /etc/inittab. On Linux they are run at the init.d time. xCAT automatically adds the scripts in the xcatdefaults.postbootscripts attri bute to run first in the list.',
comments => 'Any user-written notes.',
disable => "Set to 'yes' or '1' to comment out this row.",
},
@@ -924,11 +880,8 @@ site => {
" -----------------\n".
"DATABASE ATTRIBUTES\n".
" -----------------\n".
" auditnosyslog: If set to 1, then commands will only be written to the auditlog table.\n".
" This attribute set to 1 and auditskipcmds=ALL means no logging of commands.\n".
" Default is to write to both the auditlog table and syslog.\n".
" auditskipcmds: List of commands and/or client types that will not be\n".
" written to the auditlog table and syslog. See auditnosyslog.\n".
" written to the auditlog table.\n".
" 'ALL' means all cmds will be skipped. If attribute is null, all\n".
" commands will be written.\n".
" clienttype:web would skip all commands from the web client\n".
@@ -946,7 +899,6 @@ site => {
" nodestatus: If set to 'n', the nodelist.status column will not be updated during\n".
" the node deployment, node discovery and power operations. The default is to update.\n\n".
" skiptables: Comma separated list of tables to be skipped by dumpxCATdb\n\n".
" skipvalidatelog: If set to 1, then getcredentials and getpostscripts calls will not be logged in syslog.\n\n".
" -------------\n".
"DHCP ATTRIBUTES\n".
" -------------\n".
@@ -964,11 +916,6 @@ site => {
" '0' value means include all the nodes in the subnet.\n\n".
" pruneservices: Whether to enable service pruning when noderm is run (i.e.\n".
" removing DHCP entries when noderm is executed)\n\n".
" managedaddressmode: The mode of networking configuration during node provision.\n".
" If set to 'static', the network configuration will be configured \n".
" in static mode based on the node and network definition on MN.\n".
" If set to 'dhcp', the network will be configured with dhcp protocol.\n".
" The default is 'dhcp'.\n\n".
" ------------\n".
"DNS ATTRIBUTES\n".
" ------------\n".
@@ -989,22 +936,6 @@ site => {
" \"<xcatmaster>\" to mean the DNS server for each node should be the\n".
" node that is managing it (either its service node or the management\n".
" node).\n\n".
" externaldns: To specify that external dns is used. If externaldns is set to any value\n".
" then, makedns command will not start the local nameserver on xCAT MN. \n".
" Default is to start the local nameserver.\n\n".
" dnsupdaters: The value are \',\' separated string which will be added to the zone config\n".
" section. This is an interface for user to add configuration entries to\n".
" the zone sections in named.conf.\n\n".
" dnsinterfaces: The network interfaces DNS server should listen on. If it is the same\n".
" for all nodes, use a simple comma-separated list of NICs. To\n".
" specify different NICs for different nodes:\n".
" xcatmn|eth1,eth2;service|bond0.\n".
" In this example xcatmn is the name of the xCAT MN, and DNS there\n".
" should listen on eth1 and eth2. On all of the nodes in group\n".
" 'service' DNS should listen on the bond0 nic.\n".
" NOTE: if using this attribute to block certain interfaces, make sure\n".
" the ip maps to your hostname of xCAT MN is not blocked since xCAT needs to\n".
" use this ip to communicate with the local NDS server on MN.\n\n".
" -------------------------\n".
"HARDWARE CONTROL ATTRIBUTES\n".
" -------------------------\n".
@@ -1132,13 +1063,6 @@ site => {
" httpport: The port number that the booting/installing nodes should contact the\n".
" http server on the MN/SN on. It is your responsibility to configure\n".
" the http server to listen on that port - xCAT will not do that.\n\n".
" nmapoptions: Additional options for the nmap command. nmap is used in pping, \n".
" nodestat, xdsh -v and updatenode commands. Sometimes additional \n".
" performance tuning may be needed for nmap due to network traffic.\n".
" For example, if the network response time is too slow, nmap may not\n".
" give stable output. You can increase the timeout value by specifying \n".
" '--min-rtt-timeout 1s'. xCAT will append the options defined here to \n".
" the nmap command.\n\n".
" ntpservers: A comma delimited list of NTP servers for the cluster - often the\n".
" xCAT management node.\n\n".
" svloglocal: if set to 1, syslog on the service node will not get forwarded to the\n".
@@ -1167,10 +1091,6 @@ site => {
" will not interfere.\n\n".
" vmwarereconfigonpower: When set to no, the VMWare plugin will make no effort to\n".
" push vm.cpus/vm.memory updates from xCAT to VMWare.\n\n".
" persistkvmguests: Keep the kvm definition on the kvm hypervisor when you power off\n".
" the kvm guest node. This is useful for you to manually change the \n".
" kvm xml definition file in virsh for debugging. Set anything means\n".
" enable.\n\n".
" --------------------\n".
"XCAT DAEMON ATTRIBUTES\n".
" --------------------\n".
@@ -1181,9 +1101,9 @@ site => {
" locking out admin interactive use. This value works with the\n".
" xcatmaxconnections and xcatmaxbatch attributes. Is not supported on AIX.\n".
" If the value is no, nodes sleep for a random time before contacting\n".
" xcatd, and retry. The default is no.\n".
" xcatd, and retry. On a new install of xcat, this value will be set to yes.\n".
" See the following document for details:\n".
" Hints_and_Tips_for_Large_Scale_Clusters\n\n".
" https://sourceforge.net/apps/mediawiki/xcat/index.php?title=Hints_and_Tips_for_Large_Scale_Clusters\n\n".
" xcatmaxconnections: Number of concurrent xCAT protocol requests before requests\n".
" begin queueing. This applies to both client command requests\n".
" and node requests, e.g. to get postscripts. Default is 64.\n\n".
@@ -1420,7 +1340,7 @@ firmware => {
},
nics => {
cols => [qw(node nicips nichostnamesuffixes nichostnameprefixes nictypes niccustomscripts nicnetworks nicaliases nicextraparams comments disable)],
cols => [qw(node nicips nichostnamesuffixes nichostnameprefixes nictypes niccustomscripts nicnetworks nicaliases comments disable)],
keys => [qw(node)],
tablespace =>'XCATTBS16K',
table_desc => 'Stores NIC details.',
@@ -1457,12 +1377,6 @@ nics => {
Format: eth0!<alias list>,eth1!<alias1 list>|<alias2 list>
For multiple aliases per nic use a space-separated list.
For example: eth0!moe larry curly,eth1!tom|jerry',
nicextraparams => 'Comma-separated list of extra parameters that will be used for each NIC configuration.
If only one ip address is associated with each NIC:
<nic1>!<param1=value1 param2=value2>,<nic2>!<param3=value3>, for example, eth0!MTU=1500,ib0!MTU=65520 CONNECTED_MODE=yes.
If multiple ip addresses are associated with each NIC:
<nic1>!<param1=value1 param2=value2>|<param3=value3>,<nic2>!<param4=value4 param5=value5>|<param6=value6>, for example, eth0!MTU=1500|MTU=1460,ib0!MTU=65520 CONNECTED_MODE=yes.
The xCAT object definition commands support to use nicextraparams.<nicname> as the sub attributes.',
comments => 'Any user-written notes.',
disable => "Set to 'yes' or '1' to comment out this row.",
},
@@ -1584,7 +1498,7 @@ discoverydata => {
method => 'The method which handled the discovery request. The method could be one of: switch, blade, profile, sequential.',
discoverytime => 'The last time that xCAT received the discovery message.',
arch => 'The architecture of the discovered node. e.g. x86_64.',
cpucount => 'The number of cores multiply by threads core supported for the discovered node. e.g. 192.',
cpucount => 'The cpu number of the discovered node. e.g. 32.',
cputype => 'The cpu type of the discovered node. e.g. Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz',
memory => 'The memory size of the discovered node. e.g. 198460852',
mtm => 'The machine type model of the discovered node. e.g. 786310X',
@@ -1638,7 +1552,7 @@ mic => {
hwinv => {
cols => [qw(node cputype cpucount memory disksize comments disable)],
keys => [qw(node)],
table_desc => 'The hareware inventory for the node.',
table_desc => 'The hardware inventory for the node.',
descriptions => {
node => 'The node name or group name.',
cputype => 'The cpu model name for the node.',
@@ -1649,18 +1563,6 @@ hwinv => {
disable => "Set to 'yes' or '1' to comment out this row.",
},
},
token => {
cols => [qw(tokenid username expire comments disable)],
keys => [qw(tokenid)],
table_desc => 'The token of users for authentication.',
descriptions => {
tokenid => 'It is a UUID as an unified identify for the user.',
username => 'The user name.',
expire => 'The expire time for this token.',
comments => 'Any user-provided notes.',
disable => "Set to 'yes' or '1' to comment out this row.",
},
},
); # end of tabspec definition
@@ -2004,10 +1906,6 @@ my @nodeattrs = (
{attr_name => 'serialflow',
tabentry => 'nodehm.serialflow',
access_tabentry => 'nodehm.node=attr:node',
},
{attr_name => 'consoleondemand',
tabentry => 'nodehm.consoleondemand',
access_tabentry => 'nodehm.node=attr:node',
},
##################
# vpd table #
@@ -2389,11 +2287,7 @@ my @nodeattrs = (
tabentry => 'nics.nicaliases',
access_tabentry => 'nics.node=attr:node',
},
{attr_name => 'nicextraparams',
tabentry => 'nics.nicextraparams',
access_tabentry => 'nics.node=attr:node',
},
#######################
######################
# prodkey table #
######################
{attr_name => 'productkey',
@@ -2430,14 +2324,6 @@ my @nodeattrs = (
tabentry => 'storage.osvolume',
access_tabentry => 'storage.node=attr:node',
},
{attr_name => 'storagcontroller',
tabentry => 'storage.controller',
access_tabentry => 'storage.node=attr:node',
},
{attr_name => 'storagetype',
tabentry => 'storage.type',
access_tabentry => 'storage.node=attr:node',
},
######################
# vm table #
######################
@@ -2679,7 +2565,7 @@ my @nodeattrs = (
tabentry => 'hwinv.disksize',
access_tabentry => 'hwinv.node=attr:node',
},
); # end of @nodeattrs that applies to both nodes and groups
@@ -2729,11 +2615,11 @@ my @nodeattrs = (
{attr_name => 'updatestatustime',
tabentry => 'nodelist.updatestatustime',
access_tabentry => 'nodelist.node=attr:node',
},
{attr_name => 'zonename',
},
{attr_name => 'zonename',
tabentry => 'nodelist.zonename',
access_tabentry => 'nodelist.node=attr:node',
},
},
{attr_name => 'usercomment',
tabentry => 'nodelist.comments',
access_tabentry => 'nodelist.node=attr:node',
@@ -3217,6 +3103,11 @@ push(@{$defspec{node}->{'attrs'}}, @nodeattrs);
#########################
# routes table #
#########################
#########################
# route data object #
#########################
# routes table #
#########################
@{$defspec{route}->{'attrs'}} = (
{attr_name => 'routename',
tabentry => 'routes.routename',
@@ -3644,10 +3535,6 @@ push(@{$defspec{group}->{'attrs'}}, @nodeattrs);
tabentry => 'kit.kitdeployparams',
access_tabentry => 'kit.kitname=attr:kitname',
},
{attr_name => 'kitdir',
tabentry => 'kit.kitdir',
access_tabentry => 'kit.kitname=attr:kitname',
},
);
#############################
@@ -3664,8 +3551,8 @@ push(@{$defspec{group}->{'attrs'}}, @nodeattrs);
tabentry => 'kitrepo.kitname',
access_tabentry => 'kitrepo.kitreponame=attr:kitreponame',
},
{attr_name => 'osbasename',
tabentry => 'kitrepo.osbasename',
{attr_name => 'osname',
tabentry => 'kitrepo.osname',
access_tabentry => 'kitrepo.kitreponame=attr:kitreponame',
},
{attr_name => 'osmajorversion',
@@ -3733,10 +3620,6 @@ push(@{$defspec{group}->{'attrs'}}, @nodeattrs);
tabentry => 'kitcomponent.kitpkgdeps',
access_tabentry => 'kitcomponent.kitcompname=attr:kitcompname',
},
{attr_name => 'prerequisite',
tabentry => 'kitcomponent.prerequisite',
access_tabentry => 'kitcomponent.kitcompname=attr:kitcompname',
},
{attr_name => 'driverpacks',
tabentry => 'kitcomponent.driverpacks',
access_tabentry => 'kitcomponent.kitcompname=attr:kitcompname',
@@ -3749,10 +3632,6 @@ push(@{$defspec{group}->{'attrs'}}, @nodeattrs);
tabentry => 'kitcomponent.postbootscripts',
access_tabentry => 'kitcomponent.kitcompname=attr:kitcompname',
},
{attr_name => 'genimage_postinstall',
tabentry => 'kitcomponent.genimage_postinstall',
access_tabentry => 'kitcomponent.kitcompname=attr:kitcompname',
},
{attr_name => 'exlist',
tabentry => 'kitcomponent.exlist',
access_tabentry => 'kitcomponent.kitcompname=attr:kitcompname',
+6 -9
View File
@@ -10,8 +10,12 @@ BEGIN
# if AIX - make sure we include perl 5.8.2 in INC path.
# Needed to find perl dependencies shipped in deps tarball.
if ($^O =~ /^aix/i) {
unshift(@INC, qw(/usr/opt/perl5/lib/5.8.2/aix-thread-multi /usr/opt/perl5/lib/5.8.2 /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi /usr/opt/perl5/lib/site_perl/5.8.2));
}
use lib "/usr/opt/perl5/lib/5.8.2/aix-thread-multi";
use lib "/usr/opt/perl5/lib/5.8.2";
use lib "/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi";
use lib "/usr/opt/perl5/lib/site_perl/5.8.2";
}
use lib "$::XCATROOT/lib/perl";
use strict;
#-----------------------------------------------------------------------------
@@ -185,13 +189,6 @@ sub isServiceReq
if (!exists($servicehash->{'tftpserver'})) {
$servicehash->{'tftpserver'} = 1;
}
# On Ubuntu management node, we disabled the isc-dhcp-server in upstart,
# through file /etc/init/isc-dhcp-server.override, see bug 4399
# however, this causes a new problem, bug 4515
# the fix is to start dhcp server when starting xcatd
if (!exists($servicehash->{'dhcpserver'}) && xCAT::Utils->osver() =~ /ubuntu.*/i) {
$servicehash->{'dhcpserver'} = 1;
}
}
$servicenodetab->close;
+8 -17
View File
@@ -179,10 +179,6 @@ sub init_dbworker {
#setup signal in NotifHandler so that the cache can be updated
xCAT::NotifHandler::setup($$, 0);
# NOTE: There's a bug that sometimes the %SIG is cleaned up by accident, but we cannot figure out when and why
# this happens. The temporary fix is to backup the %SIG and recover it when necessary.
my %SIGbakup = %SIG;
while (not $exitdbthread) {
eval {
my @ready_socks = $clientset->can_read;
@@ -195,7 +191,6 @@ sub init_dbworker {
} else {
eval {
handle_dbc_conn($currcon,$clientset);
unless (%SIG && defined ($SIG{USR1})) { %SIG = %SIGbakup; }
};
if ($@) {
my $err=$@;
@@ -220,9 +215,6 @@ sub init_dbworker {
exit(0);
}
}
# sleep a while to make sure the client process has done
sleep 1.5;
close($dbworkersocket);
unlink($dbsockpath);
exit 0;
@@ -3842,7 +3834,7 @@ sub writeAllEntries
}
my $filename = shift;
my $fh;
my $rc = 0;
my $rc;
# open the file for write
unless (open($fh," > $filename")) {
my $msg="Unable to open $filename for write \n.";
@@ -4021,8 +4013,7 @@ sub output_table {
Example:
my $tabh = xCAT::Table->new($table);
my $recs=$tabh->getEntries("recid"); # returns row with recid max value in database
# and the row with the min value.
my $recs=$tabh->getMAXMINEntries("recid");
Comments:
none
@@ -4040,14 +4031,13 @@ sub getMAXMINEntries
my $rets;
my $query;
my $xcatcfg=get_xcatcfg();
# delimit the disable column based on the DB
my $disable= &delimitcol("disable");
my $qstring;
if ($xcatcfg =~ /^DB2:/) { # for DB2
if ($xcatcfg =~ /^DB2:/) { # for DB2
$qstring = "SELECT MAX (\"$attr\") FROM " . $self->{tabname} . " WHERE " . $disable . " is NULL or " . $disable . " in ('0','no','NO','No','nO')";
} else {
$qstring = "SELECT MAX($attr) FROM " . $self->{tabname} . " WHERE " . $disable . " is NULL or " . $disable . " in ('0','no','NO','No','nO')";
$qstring = "SELECT MAX($attr) FROM " . $self->{tabname} . " WHERE " . $disable . " is NULL or " . $disable . " in ('0','no','NO','No','nO')";
}
$query = $self->{dbh}->prepare($qstring);
@@ -4068,10 +4058,10 @@ sub getMAXMINEntries
}
}
$query->finish();
if ($xcatcfg =~ /^DB2:/) { # for DB2
if ($xcatcfg =~ /^DB2:/) { # for DB2
$qstring = "SELECT MIN (\"$attr\") FROM " . $self->{tabname} . " WHERE " . $disable . " is NULL or " . $disable . " in ('0','no','NO','No','nO')";
} else {
$qstring = "SELECT MIN($attr) FROM " . $self->{tabname} . " WHERE " . $disable . " is NULL or " . $disable . " in ('0','no','NO','No','nO')";
$qstring = "SELECT MIN($attr) FROM " . $self->{tabname} . " WHERE " . $disable . " is NULL or " . $disable . " in ('0','no','NO','No','nO')";
}
$query = $self->{dbh}->prepare($qstring);
@@ -4086,10 +4076,11 @@ sub getMAXMINEntries
} else {
$rets->{"min"} = $data->{$_};
}
last; # better be only one value for min
last; # better be only one value for min
}
}
return $rets;
}
1;
Executable → Regular
+8 -6
View File
@@ -10,8 +10,11 @@ BEGIN
# if AIX - make sure we include perl 5.8.2 in INC path.
# Needed to find perl dependencies shipped in deps tarball.
if ($^O =~ /^aix/i) {
unshift(@INC, qw(/usr/opt/perl5/lib/5.8.2/aix-thread-multi /usr/opt/perl5/lib/5.8.2 /usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi /usr/opt/perl5/lib/site_perl/5.8.2));
}
use lib "/usr/opt/perl5/lib/5.8.2/aix-thread-multi";
use lib "/usr/opt/perl5/lib/5.8.2";
use lib "/usr/opt/perl5/lib/site_perl/5.8.2/aix-thread-multi";
use lib "/usr/opt/perl5/lib/site_perl/5.8.2";
}
use lib "$::XCATROOT/lib/perl";
use strict;
@@ -426,6 +429,7 @@ rmdir \"/tmp/$to_userid\" \n";
# Need to check if nodes are in a zone.
my @zones;
my $tab = xCAT::Table->new("zone");
my @zones;
if ($tab)
{
# if we have zones, need to send the zone keys to each node in the zone
@@ -619,7 +623,7 @@ sub sendkeysTOzones
my ($class, $ref_nodes,$expecttimeout) = @_;
my @nodes=$ref_nodes;
my $n_str = $nodes[0];
@nodes= split(",", $n_str);
my @nodes= split(",", $n_str);
my $rsp = ();
my $cmd;
my $roothome = xCAT::Utils->getHomeDir("root");
@@ -1174,9 +1178,7 @@ sub getAppStatus
my ($class, $nodes_ref, $application) = @_;
my @nodes = @$nodes_ref;
# FIXME: why autocommit matters for a read-only subroutine getNodesAttribs?
# but could not get the appstatus without the autocommit=0
my $nltab = xCAT::Table->new('nodelist', -autocommit => 0);
my $nltab = xCAT::Table->new('nodelist');
my $nodeappstat = $nltab->getNodesAttribs(\@nodes,['appstatus']);
my $ret_nodeappstat;
+13 -22
View File
@@ -18,9 +18,8 @@ use xCAT::Utils;
my %usage = (
"rnetboot" =>
"Usage: rnetboot <noderange> [-s net|hd] [-F] [-f] [-V|--verbose] [-m table.colum==expectedstatus] [-m table.colum==expectedstatus...] [-r <retrycount>] [-t <timeout>]
rnetboot [-h|--help|-v|--version]
zVM specific:
rnetboot <noderange> [ipl= address]",
rnetboot <noderange> [ipl= address]
rnetboot [-h|--help|-v|--version]",
"rpower" =>
"Usage: rpower <noderange> [--nodeps] [on|onstandby|off|suspend|reset|stat|state|boot] [-V|--verbose] [-m table.colum==expectedstatus][-m table.colum==expectedstatus...] [-r <retrycount>] [-t <timeout>]
rpower [-h|--help|-v|--version]
@@ -28,12 +27,10 @@ my %usage = (
rpower <noderange> [boot] [ -c <path to iso> ]
PPC (with IVM or HMC) specific:
rpower <noderange> [--nodeps] [of] [-V|--verbose]
CEC (with HMC) specific:
rpower <noderange> [on|off|reset|boot|onstandby]
LPAR(with HMC) specific:
rpower <noderange> [on|off|reset|stat|state|boot|of|sms|softoff]
PPC (HMC) specific:
rpower <noderange> [onstandby] [-V|--verbose]
CEC(using Direct FSP Management) specific:
rpower <noderange> [on|onstandby|off|stat|state|resetsp]
rpower <noderange> [on|onstandby|off|stat|state|lowpower|resetsp]
Frame(using Direct FSP Management) specific:
rpower <noderange> [stat|state|rackstandby|exit_rackstandby|resetsp]
LPAR(using Direct FSP Management) specific:
@@ -134,7 +131,7 @@ my %usage = (
textid=<*>|
frame=<*>|
ntp=<[ntp],[ip],[frequency],[v3]>
FSP/CEC (using ASM Interface) Specific:
FSP/BPA Common:
rspconfig <noderange> [autopower|iocap|decfg|memdecfg|procdecfg|time|date|spdump|sysdump|network|hostname]
rspconfig <noderange> autopower=<enable|disable>|
iocap=<enable|disable>|
@@ -225,7 +222,7 @@ my %usage = (
lsvm <noderange> [-a|--all]
PPC (using Direct FSP Management) specific:
lsvm <noderange> [-l|--long] --p775
lsvm <noderange>
lsvm <noderange>
zVM specific:
lsvm noderange
lsvm noderange --getnetworknames
@@ -244,10 +241,8 @@ my %usage = (
chvm <noderange> --p775 -i <id> [-m <memory_interleaving>] -r <partition_rule>
chvm <noderange> [lparname=<*|name>]
chvm <noderange> [vmcpus=min/req/max] [vmmemory=min/req/max]
[vmothersetting=hugepage:N,bsr:N]
[add_physlots=drc_index1,drc_index2...]
[add_vmnics=vlan1,vlan2] [add_vmstorage=<N|viosnode:slotid>] [--vios]
chvm <noderange> [del_physlots=drc_index1,drc_index2...]
[vmphyslots=drc_index1,drc_index2...] [vmothersetting=hugepage:N,bsr:N]
[vmnics=vlan1,vlan2] [vmstorage=<N|viosnode:slotid>] [--vios]
chvm <noderange> [del_vadapter=slotid]
VMware specific:
chvm <noderange> [-a size][-d disk][-p disk][--resize disk=size][--cpus count][--mem memory]
@@ -333,16 +328,12 @@ my %usage = (
renergy [-v | --version]
Power 6 server specific :
renergy noderange [-V] { all | { [savingstatus] [cappingstatus] [cappingmaxmin] [cappingvalue] [cappingsoftmin] [averageAC] [averageDC] [ambienttemp] [exhausttemp] [CPUspeed] } }
renergy noderange [-V] { {savingstatus}={on | off} | {cappingstatus}={on | off} | {cappingwatt}=watt | {cappingperc}=percentage }
renergy noderange [-V] { all | { [savingstatus] [cappingstatus] [cappingmaxmin] [cappingvalue] [cappingsoftmin] [averageAC] [averageDC] [ambienttemp] [exhausttemp] [CPUspeed] } }
renergy noderange [-V] { {savingstatus}={on | off} | {cappingstatus}={on | off} | {cappingwatt}=watt | {cappingperc}=percentage }
Power 7 server specific :
renergy noderange [-V] { all | { [savingstatus] [dsavingstatus] [cappingstatus] [cappingmaxmin] [cappingvalue] [cappingsoftmin] [averageAC] [averageDC] [ambienttemp] [exhausttemp] [CPUspeed] [syssbpower] [sysIPLtime] [fsavingstatus] [ffoMin] [ffoVmin] [ffoTurbo] [ffoNorm] [ffovalue] } }
renergy noderange [-V] { {savingstatus}={on | off} | {dsavingstatus}={on-norm | on-maxp | off} | {fsavingstatus}={on | off} | {ffovalue}=MHZ | {cappingstatus}={on | off} | {cappingwatt}=watt | {cappingperc}=percentage }
Power 8 server specific :
renergy noderange [-V] { all | [savingstatus] [dsavingstatus] [averageAC] [averageAChistory] [averageDC] [averageDChistory] [ambienttemp] [ambienttemphistory] [exhausttemp] [exhausttemphistory] [fanspeed] [fanspeedhistory] [CPUspeed] [CPUspeedhistory] [syssbpower] [sysIPLtime] [fsavingstatus] [ffoMin] [ffoVmin] [ffoTurbo] [ffoNorm] [ffovalue]}
renergy noderange [-V] { savingstatus={on | off} | dsavingstatus={on-norm | on-maxp | off} | fsavingstatus={on | off} | ffovalue=MHZ }
renergy noderange [-V] { all | { [savingstatus] [dsavingstatus] [cappingstatus] [cappingmaxmin] [cappingvalue] [cappingsoftmin] [averageAC] [averageDC] [ambienttemp] [exhausttemp] [CPUspeed] [syssbpower] [sysIPLtime] [fsavingstatus] [ffoMin] [ffoVmin] [ffoTurbo] [ffoNorm] [ffovalue] } }
renergy noderange [-V] { {savingstatus}={on | off} | {dsavingstatus}={on-norm | on-maxp | off} | {fsavingstatus}={on | off} | {ffovalue}=MHZ | {cappingstatus}={on | off} | {cappingwatt}=watt | {cappingperc}=percentage }
BladeCenter specific :
For Management Modules:
Executable → Regular
+26 -1063
View File
File diff suppressed because it is too large Load Diff
+2 -13
View File
@@ -18,7 +18,6 @@ require Exporter;
"1341569670.539525" => "centos6.3",#x86
"1362445555.957609" => "centos6.4",#x86_64
"1385726732.061157" => "centos6.5",#x86_64
"1404489053.504589" => "centos7.0",
"1176234647.982657" => "centos5",
"1156364963.862322" => "centos4.4",
"1178480581.024704" => "centos4.5",
@@ -30,7 +29,6 @@ require Exporter;
"1272326751.405938" => "centos5.5",
"1330913492.861127" => "centos5.8",#x86_64
"1357930415.252042" => "centos5.9",#x86_64
"1381776971.473332" => "centos5.10",#x86_64
"1195488871.805863" => "centos4.6",
"1195487524.127458" => "centos4.6",
"1301444731.448392" => "centos5.6",
@@ -67,16 +65,11 @@ require Exporter;
"1359576196.686790" => "rhels6.4", #ppc64
"1384196515.415715" => "rhels6.5", #x86_64
"1384198011.520581" => "rhels6.5", #ppc64
"1411733344.627228" => "rhels6.6", #x86_64
"1411733344.616389" => "rhels6.6", #ppc64
"1285193176.593806" => "rhelhpc6", #x86_64
"1305067719.718814" => "rhelhpc6.1",#x86_64
"1321545261.599847" => "rhelhpc6.2",#x86_64
"1339640148.070971" => "rhelhpc6.3",#x86_64
"1359576195.413831" => "rhelhpc6.4",#x86_64, RHEL ComputeNode
"1384196516.465862" => "rhelhpc6.5",#x86_64, RHEL ComputeNode
"1411733344.599861" => "rhelhpc6.6",#x86_64, RHEL ComputeNode
"1399449226.140088" => "rhelhpc7.0",#x86_64, RHEL ComputeNode
"1194015916.783841" => "fedora8",
"1194015385.299901" => "fedora8",
"1210112435.291709" => "fedora9",
@@ -95,12 +88,8 @@ require Exporter;
"1194512327.501046" => "rhas4.6",
"1241464993.830723" => "rhas4.8", #x86-64
"1273608367.051780" => "SL5.5", #x86_64 DVD ISO
"1299104542.844706" => "SL6", #x86_64 DVD ISO
"1390839789.062069" => "SL6.5", #x86_64 DVD ISO Install
"1394111947.452332" => "pkvm2.1", # ppc64, PowerKVM
"1413749127.352649" => "pkvm2.1.1", # ppc64, PowerKVM
"1273608367.051780" => "SL5.5", #x86_64 DVD ISO
"1299104542.844706" => "SL6", #x86_64 DVD ISO
);
my %numdiscs = (
"1156364963.862322" => 4,
File diff suppressed because it is too large Load Diff
+29 -13
View File
@@ -611,23 +611,39 @@ sub punch2Reader {
# Punch to reader
# VMUR located in different directories on RHEL and SLES
my $out;
my $vmur;
if ( $os =~ m/sles10/i ) {
$out = `ssh -o ConnectTimeout=5 $user\@$hcp "$sudo /sbin/vmur punch $options -u $userId -r $srcFile -N $tgtFile"`;
} elsif ( $os =~ m/rhel/i ) {
$out = `ssh -o ConnectTimeout=5 $user\@$hcp "$sudo /usr/sbin/vmur punch $options -u $userId -r $srcFile -N $tgtFile"`;
$vmur = "/sbin/vmur";
} else {
$out = `ssh -o ConnectTimeout=5 $user\@$hcp "$sudo /usr/sbin/vmur punch $options -u $userId -r $srcFile -N $tgtFile"`;
$vmur = "/usr/sbin/vmur";
}
my $out;
my $done = 0;
until ( $done ) {
$out = `ssh -o ConnectTimeout=5 $user\@$hcp "$sudo $vmur punch $options -u $userId -r $srcFile -N $tgtFile" 2>&1`;
my $rc = $? >> 8;
if ( $rc == 255 ) {
$out = "(Error) Unable to communicate with the zHCP system: $hcp";
$done = 1;
} elsif ( $out =~ m/A concurrent instance of vmur is already active/i ) {
# Recoverable error: retry the command after a delay
xCAT::zvmUtils->printSyslog( "punch2Reader() Punch in use on $hcp, retrying in 15 seconds" );
sleep( 15 );
} else {
# Punch appears successful -- Look for the completion string
my $searchStr = "created and transferred";
if ( !( $out =~ m/$searchStr/i ) ) {
chomp( $out );
$out = "Failed, punch info: '$out'\n";
xCAT::zvmUtils->printSyslog( "punch2Reader() Failed punching $srcFile to $userId from $hcp, info: '$out'" );
} else {
$out = "Done\n";
}
$done = 1;
}
}
# If punch is successful -- Look for this string
my $searchStr = "created and transferred";
if ( !( $out =~ m/$searchStr/i ) ) {
$out = "Failed\n";
} else {
$out = "Done\n";
}
return $out;
}
+214 -132
View File
@@ -289,7 +289,7 @@ sub printLn {
# Print string
my $rsp;
my $type = "I";
if ($str =~ m/error/i) { # Set to print error if the string contains error
if ($str =~ m/(\(error\)|\sfailed)/i) { # Set to print error if the string contains error
$type = "E";
}
@@ -1246,7 +1246,7 @@ sub getArch {
}
# Get host using VMCP
my $arch = `ssh $user\@$node "$sudo uname -p"`;
my $arch = `ssh $user\@$node "$sudo uname -m"`;
return ( xCAT::zvmUtils->trimStr($arch) );
}
@@ -2308,19 +2308,20 @@ sub getUsedFcpDevices {
Arguments : Sudoer user name
Sudo keyword
zHCP hostname
Install root directory
Local directory to remotely mount
Mount access ('ro' for read only, 'rw' for read write)
Directory as known to zHCP (out)
Returns : 0 - Mounted, or zHCP and MN are on the same system
1 - Mount failed
Example : establishMount( $callback, $::SUDOER, $::SUDO, $hcp, "$installRoot/$provMethod", "ro", \$remoteDeployDir );
Example : establishMount( $callback, $::SUDOER, $::SUDO, $hcp, $installRoot, $provMethod, "ro", \$remoteDeployDir );
=cut
#-------------------------------------------------------
sub establishMount {
# Get inputs
my ($class, $callback, $sudoer, $sudo, $hcp, $localDir, $access, $mountedPt) = @_;
my ($class, $callback, $sudoer, $sudo, $hcp, $installRoot, $localDir, $access, $mountedPt) = @_;
my $out;
# If the target system is not on this system then establish the NFS mount point.
@@ -2338,7 +2339,7 @@ sub establishMount {
if ($masterIp eq $hcpIP) {
# xCAT MN and zHCP are on the same box and will use the same directory without the need for an NFS mount.
$$mountedPt = $localDir;
$$mountedPt = "$installRoot/$localDir";
} else {
# Determine the hostname for this management node
my $masterHostname = Sys::Hostname::hostname();
@@ -2347,15 +2348,23 @@ sub establishMount {
$masterHostname = $masterIp;
}
$$mountedPt = "/mnt/$masterHostname$installRoot/$localDir";
# If the mount point already exists then return because we are done.
my $rc = `ssh $sudoer\@$hcp "$sudo mount | grep $$mountedPt > /dev/null; echo \\\$?"`;
if ($rc == 0) {
return 0;
}
xCAT::zvmUtils->printSyslog( "establishMount() Preparing the NFS mount point on zHCP ($hcpIP) to xCAT MN $masterHostname($masterIp) for $localDir" );
# Prepare the staging mount point on zHCP, if they need to be established
$$mountedPt = "/mnt/$masterHostname$localDir";
my $rc = `ssh $sudoer\@$hcp "$sudo mkdir -p $$mountedPt && mount -t nfs -o $access $masterIp:$localDir $$mountedPt; echo \\\$?"`;
$rc = `ssh $sudoer\@$hcp "$sudo mkdir -p $$mountedPt && mount -t nfs -o $access $masterIp:/$localDir $$mountedPt; echo \\\$?"`;
# Return code = 0 (mount succeeded) or 32 (mount already exists)
if ($rc != '0' && $rc != '32') {
# Return code = 0 (mount succeeded)
if ($rc != '0') {
xCAT::zvmUtils->printLn( $callback, "$hcp: (Error) Unable to establish zHCP mount point: $$mountedPt" );
xCAT::zvmUtils->printSyslog( "establishMount() Unable to establish zHCP mount point: $$mountedPt, rc: $rc" );
return 1;
}
}
@@ -2367,9 +2376,12 @@ sub establishMount {
=head3 getFreeRepoSpace
Description : Get the free space of image repository under /install
Description : Get the free space of image repository under /install.
Arguments : Node
Returns : The available space for /install
Returns : The available space for /install (e.g. "2.1G ").
The value is returned as a perl string (e.g. "0 ") to
avoid perl returning null instead of "0" in the case
of no space available.
Example : my $free = getFreeRepoSpace($callback, $node);
=cut
@@ -2393,9 +2405,12 @@ sub getFreeRepoSpace {
if ($master eq $ip) {
# If the master IP and node IP match, then it is the management node
my $out = `$sudo /bin/df -h /install | sed 1d`;
# causing problems on other platforms $out =~ s/\h+/ /g;$out =~ s/\h+/ /g;
$out =~ s/\h+/ /g;
my @results = split(' ', $out);
return ($results[3]);
if ( $results[3] eq "0" ) {
$results[3] = "0M";
}
return $results[3];
}
return;
@@ -2475,12 +2490,12 @@ sub findAndUpdatezFcpPool {
return \%results;
}
# Check WWPN and LUN syntax
if ( $wwpn && ($wwpn =~ /[^0-9a-f;"]/i) ) {
xCAT::zvmUtils->printLn( $callback, "$header: (Error) Invalid world wide portname $wwpn." );
# Owner must be specified if status is used
if ($status =~ m/used/i && !$owner) {
xCAT::zvmUtils->printLn( $callback, "$header: (Error) Owner must be specified if status is used." );
return \%results;
} if ( $lun && ($lun =~ /[^0-9a-f]/i) ) {
xCAT::zvmUtils->printLn( $callback, "$header: (Error) Invalid logical unit number $lun." );
} elsif ($status =~ m/free/i && $owner) {
xCAT::zvmUtils->printLn( $callback, "$header: (Error) Owner must not be specified if status is free." );
return \%results;
}
@@ -2509,6 +2524,15 @@ sub findAndUpdatezFcpPool {
# Make sure WWPN and LUN do not have 0x prefix
$wwpn = xCAT::zvmUtils->replaceStr($wwpn, "0x", "");
$lun = xCAT::zvmUtils->replaceStr($lun, "0x", "");
# Check WWPN and LUN syntax
if ( $wwpn && ($wwpn =~ /[^0-9a-f;"]/i) ) {
xCAT::zvmUtils->printLn( $callback, "$header: (Error) Invalid world wide portname $wwpn." );
return \%results;
} if ( $lun && ($lun =~ /[^0-9a-f]/i) ) {
xCAT::zvmUtils->printLn( $callback, "$header: (Error) Invalid logical unit number $lun." );
return \%results;
}
}
# Find disk pool (create one if non-existent)
@@ -2569,15 +2593,19 @@ sub findAndUpdatezFcpPool {
}
# Do not continue if no devices can be found
if (!$wwpn && !$lun) {
if (!$wwpn || !$lun) {
xCAT::zvmUtils->printLn($callback, "$header: (Error) A suitable device of $size" . "M or larger could not be found");
return \%results;
}
} else {
# Find given WWPN and LUN. Do not continue if device is used
# Find given WWPN and LUN. Do not continue if device is used
my $select = `ssh $user\@$hcp "$sudo cat $zfcpDir/$pool.conf" | grep -i "$wwpn,$lun"`;
chomp($select);
if (!$select) {
xCAT::zvmUtils->printLn($callback, "$header: (Error) zFCP device 0x$wwpn/0x$lun could not be found in zFCP pool $pool");
return \%results;
}
@info = split(',', $select);
if ($size) {
@@ -2585,13 +2613,11 @@ sub findAndUpdatezFcpPool {
# Convert to MegaBytes
$info[3] =~ s/\D//g;
$info[3] = int($info[3]) * 1024
} elsif ($info[3] =~ m/M/i) {
} else {
# Do nothing
$info[3] =~ s/\D//g;
} else {
next;
}
# Do not continue if specified device does not have enough capacity
if ($info[3] < $size) {
xCAT::zvmUtils->printLn($callback, "$header: (Error) FCP device $wwpn/$lun is not large enough");
@@ -2602,7 +2628,7 @@ sub findAndUpdatezFcpPool {
# Find range of the specified disk
$range = $info[4];
}
# If there are multiple paths, take the 1st one
# Handle multi-pathing in postscript because autoyast/kickstart does not support it.
my $origWwpn = $wwpn;
@@ -2612,117 +2638,23 @@ sub findAndUpdatezFcpPool {
}
xCAT::zvmUtils->printLn($callback, "$header: Found FCP device 0x$wwpn/0x$lun");
# Find a free FCP device based on the given range
if ($fcpDevice =~ m/^auto/i) {
my @ranges;
my $min;
my $max;
my $found = 0;
if ($range =~ m/;/i) {
@ranges = split(';', $range);
} else {
push(@ranges, $range);
}
if (!$found) {
# If the node has an eligible FCP device, use it
my @deviceList = xCAT::zvmUtils->getDedicates($callback, $user, $owner);
foreach (@deviceList) {
# Check if this devide is eligible (among the range specified for disk $lun)
@info = split(' ', $_);
my $candidate = $info[2];
foreach (@ranges) {
($min, $max) = split('-', $_);
if (hex($candidate) >= hex($min) && hex($candidate) <= hex($max)) {
$found = 1;
$fcpDevice = uc($candidate);
last;
}
}
if ($found) {
xCAT::zvmUtils->printLn($callback, "$header: Found eligible FCP channel $fcpDevice");
last;
}
}
}
if (!$found) {
# If the node has no eligible FCP device, find a free one for it.
my %usedDevices = xCAT::zvmUtils->getUsedFcpDevices($user, $hcp);
my $hcpUserId = xCAT::zvmCPUtils->getUserId($user, $hcp);
$hcpUserId =~ tr/a-z/A-Z/;
# Find a free FCP channel
$out = `ssh $user\@$hcp "$sudo $dir/smcli System_WWPN_Query -T $hcpUserId" | egrep -i "FCP device number|Status"`;
my @devices = split( "\n", $out );
for (my $i = 0; $i < @devices; $i++) {
# Extract the device number and status
$fcpDevice = $devices[$i];
$fcpDevice =~ s/^FCP device number:(.*)/$1/;
$fcpDevice =~ s/^\s+//;
$fcpDevice =~ s/\s+$//;
$i++;
my $fcpStatus = $devices[$i];
$fcpStatus =~ s/^Status:(.*)/$1/;
$fcpStatus =~ s/^\s+//;
$fcpStatus =~ s/\s+$//;
# Only look at free FCP devices
if ($fcpStatus =~ m/free/i) {
# If the device number is within the specified range, exit out of loop
# Range: 3B00-3C00;4B00-4C00;5E12-5E12
foreach (@ranges) {
($min, $max) = split('-', $_);
if (hex($fcpDevice) >= hex($min) && hex($fcpDevice) <= hex($max)) {
$fcpDevice = uc($fcpDevice);
# Used found FCP channel if not in use or allocated
if (!$usedDevices{$fcpDevice}) {
$found = 1;
last;
}
}
}
}
# Break out of loop if FCP channel is found
if ($found) {
xCAT::zvmUtils->printLn($callback, "$header: Found FCP channel within acceptable range $fcpDevice");
last;
}
}
}
# Do not continue if no FCP channel is found
if (!$found) {
xCAT::zvmUtils->printLn($callback, "$header: (Error) A suitable FCP channel could not be found");
if ( ($status =~ m/used/i) && ($fcpDevice =~ /^auto/i) ) {
# select an eligible FCP device
$fcpDevice = xCAT::zvmUtils->selectFcpDevice($callback, $header, $user, $hcp, $fcpDevice, $range, $owner);
if (!$fcpDevice) {
return \%results;
}
}
# If there are multiple devices (multipathing), take the 1st one
if ($fcpDevice) {
if ($fcpDevice =~ m/;/i) {
@info = split(';', $fcpDevice);
$fcpDevice = xCAT::zvmUtils->trimStr($info[0]);
}
# Make sure channel has a length of 4
while (length($fcpDevice) < 4) {
$fcpDevice = "0" . $fcpDevice;
}
} elsif ($status =~ m/free/i) {
# Owner and FCP channel make no sense when status is free
$fcpDevice = "";
$owner = "";
}
# Mark WWPN and LUN as used, free, or reserved and set the owner/channel appropriately
# This config file keeps track of the owner of each device, which is useful in nodeset
$size = $size . "M";
my $select = `ssh $user\@$hcp "$sudo cat $zfcpDir/$pool.conf" | grep -i "$lun" | grep -i "$wwpn"`;
my $select = `ssh $user\@$hcp "$sudo cat $zfcpDir/$pool.conf" | grep -i "$lun"`;
chomp($select);
if ($select) {
@info = split(',', $select);
@@ -2759,6 +2691,156 @@ sub findAndUpdatezFcpPool {
#-------------------------------------------------------
=head3 selectFcpDevice
Description : Select an eligible FCP device for attaching a zFCP device to a node
Arguments : Message header
User (root or non-root)
zHCP
candidate FCP devices or auto
FCP device range
zFCP device owner
Returns : selected FCP device or empty if no one is selected
Example : my $fcpDevice = xCAT::zvmUtils->selectFcpDevice($callback, $header, $user, $hcp, $fcpDevice, $range, $owner);
=cut
#-------------------------------------------------------
sub selectFcpDevice {
# Get inputs
my ($class, $callback, $header, $user, $hcp, $fcpDevice, $range, $owner) = @_;
# Determine if sudo is used
my $sudo = "sudo";
if ($user eq "root") {
$sudo = "";
}
# Directory where executables are on zHCP
my $dir = "/opt/zhcp/bin";
# Directory where FCP disk pools are on zHCP
my $zfcpDir = "/var/opt/zhcp/zfcp";
my %results = ('rc' => -1); # Default to error
# Check FCP device syntax
if ($fcpDevice && ($fcpDevice !~ /^auto/i) && ($fcpDevice =~ /[^0-9a-f]/i)) {
xCAT::zvmUtils->printLn($callback, "$header: (Error) Invalid FCP channel address $fcpDevice.");
return;
}
# Find a free FCP device based on the given range
if ($fcpDevice =~ m/^auto/i) {
my @ranges;
my $min;
my $max;
my $found = 0;
if ($range =~ m/;/i) {
@ranges = split(';', $range);
} else {
push(@ranges, $range);
}
if (!$found) {
# If the node has an eligible FCP device, use it
my @deviceList = xCAT::zvmUtils->getDedicates($callback, $user, $owner);
foreach (@deviceList) {
# Check if this devide is eligible (among the range specified for disk $lun)
my @info = split(' ', $_);
my $candidate = $info[2];
foreach (@ranges) {
($min, $max) = split('-', $_);
if (hex($candidate) >= hex($min) && hex($candidate) <= hex($max)) {
$found = 1;
$fcpDevice = uc($candidate);
last;
}
}
if ($found) {
xCAT::zvmUtils->printLn($callback, "$header: Found eligible FCP channel $fcpDevice");
last;
}
}
}
if (!$found) {
# If the node has no eligible FCP device, find a free one for it.
my %usedDevices = xCAT::zvmUtils->getUsedFcpDevices($user, $hcp);
my $hcpUserId = xCAT::zvmCPUtils->getUserId($user, $hcp);
$hcpUserId =~ tr/a-z/A-Z/;
# Find a free FCP channel
my $out = `ssh $user\@$hcp "$sudo $dir/smcli System_WWPN_Query -T $hcpUserId" | egrep -i "FCP device number|Status"`;
my @devices = split( "\n", $out );
for (my $i = 0; $i < @devices; $i++) {
# Extract the device number and status
$fcpDevice = $devices[$i];
$fcpDevice =~ s/^FCP device number:(.*)/$1/;
$fcpDevice =~ s/^\s+//;
$fcpDevice =~ s/\s+$//;
$i++;
my $fcpStatus = $devices[$i];
$fcpStatus =~ s/^Status:(.*)/$1/;
$fcpStatus =~ s/^\s+//;
$fcpStatus =~ s/\s+$//;
# Only look at free FCP devices
if ($fcpStatus =~ m/free/i) {
# If the device number is within the specified range, exit out of loop
# Range: 3B00-3C00;4B00-4C00;5E12-5E12
foreach (@ranges) {
($min, $max) = split('-', $_);
if (hex($fcpDevice) >= hex($min) && hex($fcpDevice) <= hex($max)) {
$fcpDevice = uc($fcpDevice);
# Use found FCP channel if not in use or allocated
if (!$usedDevices{$fcpDevice}) {
$found = 1;
last;
}
}
}
}
# Break out of loop if FCP channel is found
if ($found) {
xCAT::zvmUtils->printLn($callback, "$header: Found FCP channel within acceptable range $fcpDevice");
last;
}
}
}
# Do not continue if no FCP channel is found
if (!$found) {
xCAT::zvmUtils->printLn($callback, "$header: (Error) A suitable FCP channel could not be found");
return;
}
}
# If there are multiple devices (multipathing), take the 1st one
if ($fcpDevice) {
if ($fcpDevice =~ m/;/i) {
my @info = split(';', $fcpDevice);
$fcpDevice = xCAT::zvmUtils->trimStr($info[0]);
}
# Make sure channel has a length of 4
while (length($fcpDevice) < 4) {
$fcpDevice = "0" . $fcpDevice;
}
}
return $fcpDevice;
}
#-------------------------------------------------------
=head3 findzFcpDevicePool
Description : Find the zFCP storage pool that contains the given zFCP device
@@ -2807,7 +2889,7 @@ sub findzFcpDevicePool {
WWPN
LUN
Returns : Architecture of node
Example : my $deviceRef = xCAT::zvmUtils->findzFcpDeviceAttr($user, $hcp, $wwpn, $lun);
Example : my $deviceRef = xCAT::zvmUtils->findzFcpDeviceAttr($user, $hcp, $pool, $wwpn, $lun);
=cut
@@ -2827,7 +2909,7 @@ sub findzFcpDeviceAttr {
# Find the SCSI/FCP device
# Entry order: status,wwpn,lun,size,range,owner,channel,tag
my @info = split("\n", `ssh $user\@$hcp "$sudo grep \"$wwpn,$lun\" $zfcpDir/$pool.conf"`);
my @info = split("\n", `ssh $user\@$hcp "$sudo grep -i \"$wwpn,$lun\" $zfcpDir/$pool.conf"`);
my $entry = $info[0];
chomp($entry);
-48
View File
@@ -1,48 +0,0 @@
/* IBM(c) 2013 EPL licens http://www.eclipse.org/legal/epl-v10.html
* Jarrod Johnson - jbjohnso@us.ibm.com
* This program periodically transmits a udp packet to designated xCAT server
* It waits for an 'ok' and then exits
*/
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[]) {
int server;
struct addrinfo hints;
struct addrinfo *results,*cur;
struct timeval timeout;
int canread=0;
char buffer[128];
srand(time(NULL));
memset(&hints,0,sizeof(struct addrinfo));
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_DGRAM;
hints.ai_protocol = IPPROTO_UDP;
fd_set selectset;
getaddrinfo(argv[1],argv[2],&hints,&results);
server = socket(AF_UNSPEC,SOCK_DGRAM,17);
for (cur=results; cur != NULL; cur = cur->ai_next) {
server = socket(cur->ai_family,cur->ai_socktype,cur->ai_protocol);
if (server == -1) continue;
if (connect(server,cur->ai_addr,cur->ai_addrlen) != -1) break;
close(server);
}
FD_ZERO(&selectset);
FD_SET(server,&selectset);
while (1) {
timeout.tv_sec = rand() % 120+60;
timeout.tv_usec = rand() % 10000;
write(server,"resourcerequest: xcatd\n",strlen("resourcerequest: xcatd\n"));
canread = select(FD_SETSIZE,&selectset,NULL,NULL,&timeout);
if (canread) {
read(server,buffer,sizeof(buffer));
if (strncmp(buffer,"resourcerequest: ok",strlen("resourcerequest: ok"))==0) {
exit(0);
}
}
}
}
@@ -1,10 +0,0 @@
# AIX Bundle file for compiler runtime packages
I:xlC.aix61
I:xlC.rte
I:xlfrte
I:xlfrte.aix61
I:xlfrte.msg.en_US
I:xlsmp.aix61.rte
I:xlsmp.msg.en_US.rte
I:xlsmp.rte
@@ -41,8 +41,8 @@ if [ $OS != "AIX" ]; then
mkdir -p /tmp/gpfs_updates
rm -f -R /tmp/gpfs_updates/*
cd /tmp/gpfs_updates
# wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -t 10 -T 60 -nH --cut-dirs=3 ftp://$MASTER/$UPDATES_DIR/*.rpm 2> /tmp/wget.log
wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -t 10 -T 60 -nH --cut-dirs=4 --reject "index.html*" --no-parent http://$MASTER$INSTALL_DIR/$UPDATES_DIR/ 2> /tmp/wget.log
# wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -t 10 -T 60 -nH --cut-dirs=3 ftp://$SITEMASTER/$UPDATES_DIR/*.rpm 2> /tmp/wget.log
wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -t 10 -T 60 -nH --cut-dirs=4 --reject "index.html*" --no-parent http://$SITEMASTER$INSTALL_DIR/$UPDATES_DIR/ 2> /tmp/wget.log
if [ -n "`ls *.rpm 2> /dev/null`" ] ; then
rpm -Uvh *.rpm
fi
@@ -103,7 +103,7 @@ else # assume Linux
fi
if [ ! -e $gpfsprofile.sh ]; then
echo 'export PATH=$PATH:/usr/lpp/mmfs/bin' > $gpfsprofile.sh
echo 'setenv PATH ${PATH}:/usr/lpp/mmfs/bin' > $gpfsprofile.csh
echo 'setenv PATH $PATH:/usr/lpp/mmfs/bin' > $gpfsprofile.csh
# Turn off LANG support since we did not install other msg catalogs
echo 'export LC_CTYPE=POSIX' >> $gpfsprofile.sh
echo 'setenv LC_CTYPE POSIX' >> $gpfsprofile.csh
@@ -62,8 +62,7 @@ else
file=$1
fi
#ifconfig -a | grep 'inet ' | awk ' { print $2 } ' | grep -v 127.0.0.1 |
ip -4 -oneline addr show 2>/dev/null |grep inet | sed -ne "s/.*inet //p"|awk -F ' ' '{print $1}'|awk -F '/' '{print $1}'|
ifconfig -a | grep 'inet ' | awk ' { print $2 } ' | grep -v 127.0.0.1 |
while read my_address ; do
##print "checking $my_address"
grep -q " ${my_address}$" $file
+35 -85
View File
@@ -1,88 +1,38 @@
Eclipse Public License - v 1.0
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: xcat-openstack-baremetal
Source: <url://example.com>
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
Files: *
Copyright: <years> <put author's name and email here>
<years> <likewise for another author>
License: <special license>
<Put the license of the package here indented by 1 space>
<This follows the format of Description: lines in control file>
.
<Including paragraphs>
1. DEFINITIONS
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2014 root <root@unknown>
License: GPL-2+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
"Contribution" means:
a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and
b) in the case of each subsequent Contributor:
i) changes to the Program, and
ii) additions to the Program;
where such changes and/or additions to the Program originate from and are distributed by that particular Contributor. A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf. Contributions do not include additions to the Program which: (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.
"Contributor" means any person or entity that distributes the Program.
"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.
"Program" means the Contributions distributed in accordance with this Agreement.
"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.
2. GRANT OF RIGHTS
a) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.
b) Subject to the terms of this Agreement, each Contributor hereby grants Recipient a non-exclusive, worldwide, royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form. This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents. The patent license shall not apply to any other combinations which include the Contribution. No hardware per se is licensed hereunder.
c) Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity. Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise. As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any. For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.
d) Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement.
3. REQUIREMENTS
A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:
a) it complies with the terms and conditions of this Agreement; and
b) its license agreement:
i) effectively disclaims on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose;
ii) effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits;
iii) states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and
iv) states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.
When the Program is made available in source code form:
a) it must be made available under this Agreement; and
b) a copy of this Agreement must be included with each copy of the Program.
Contributors may not remove or alter any copyright notices contained within the Program.
Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.
4. COMMERCIAL DISTRIBUTION
Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like. While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors. Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering. The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement. In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations. The Indemnified Contributor may participate in any such claim at its own expense.
For example, a Contributor might include the Program in a commercial product offering, Product X. That Contributor is then a Commercial Contributor. If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone. Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.
5. NO WARRANTY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the appropriateness of using and distributing the Program and assumes all risks associated with its exercise of rights under this Agreement , including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, programs or equipment, and unavailability or interruption of operations.
6. DISCLAIMER OF LIABILITY
EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. GENERAL
If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
If Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed.
All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance. If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.
Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted and may only be modified in the following manner. The Agreement Steward reserves the right to publish new versions (including revisions) of this Agreement from time to time. No one other than the Agreement Steward has the right to modify this Agreement. The Eclipse Foundation is the initial Agreement Steward. The Eclipse Foundation may assign the responsibility to serve as the Agreement Steward to a suitable separate entity. Each new version of the Agreement will be given a distinguishing version number. The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new version. Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, by implication, estoppel or otherwise. All rights in the Program not expressly granted under this Agreement are reserved.
This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose. Each party waives its rights to a jury trial in any resulting litigation.
# Please also look if there are files or directories which have a
# different copyright/license attached and list them here.
# Please avoid to pick license terms that are more restrictive than the
# packaged work, as it may make Debian's contributions unacceptable upstream.
+2
View File
@@ -0,0 +1,2 @@
xcat-openstack-baremetal_2.8.4-1_all.deb admin extra
xcat-openstack-baremetal_2.8.4-1_all.deb admin extra
@@ -0,0 +1,201 @@
dh_installdirs
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
dh_installdirs
dh_install
dh_link
dh_installman
dh_compress
dh_installdeb
dh_gencontrol
dh_md5sums
dh_builddeb
dh_builddeb
@@ -67,13 +67,11 @@ sub opsaddbmnode {
my $help;
my $version;
my $verbose;
my $host;
if(!GetOptions(
'h|help' => \$help,
'v|version' => \$version,
'V|verbose' => \$verbose,
's=s' => \$host,
))
{
@@ -245,18 +243,7 @@ sub opsaddbmnode {
$disk = 1;
}
if ($verbose) {
my $rsp;
push @{$rsp->{data}}, "Attributes gathered from the xCAT database:";
push @{$rsp->{data}}, " bmc=$bmc";
push @{$rsp->{data}}, " bmc_user=$bmc_user";
push @{$rsp->{data}}, " bmc_password=$bmc_password";
push @{$rsp->{data}}, " mac=$mac";
push @{$rsp->{data}}, " cpu=$cpu";
push @{$rsp->{data}}, " memory=$memory";
push @{$rsp->{data}}, " disk=$disk";
xCAT::MsgUtils->message("I", $rsp, $callback);
}
#print "$bmc, $bmc_user, $bmc_password, $mac, $cpu, $memory, $disk\n";
#call OpenStack command to add the node into the OpenStack as
#a baremetal node.
@@ -276,14 +263,7 @@ sub opsaddbmnode {
}
$cmd_tmp .= " $host $cpu $memory $disk $mac";
my $cmd = qq~$cmd_tmp~;
if ($verbose) {
my $rsp;
push @{$rsp->{data}}, "The command to run on $host:";
push @{$rsp->{data}}, " $cmd";
push @{$rsp->{data}}, " ";
xCAT::MsgUtils->message("I", $rsp, $callback);
}
my $cmd = qq~source \~/openrc;$cmd_tmp~;
#print "cmd=$cmd\n";
my $output =
xCAT::InstUtils->xcmd($callback, $doreq, "xdsh", [$host], $cmd, 0);
@@ -291,17 +271,8 @@ sub opsaddbmnode {
my $rsp;
push @{$rsp->{data}}, "OpenStack creating baremetal node $node:";
push @{$rsp->{data}}, "$output";
push @{$rsp->{data}}, "The command was: $cmd";
xCAT::MsgUtils->message("E", $rsp, $callback);
} else {
if (($verbose) && ($output)) {
my $rsp;
push @{$rsp->{data}}, "$output";
push @{$rsp->{data}}, " ";
xCAT::MsgUtils->message("I", $rsp, $callback);
}
}
}
}
@@ -325,7 +296,6 @@ sub opsaddimage {
my $help;
my $version;
my $verbose;
#my $cloud;
my $ops_img_names;
my $controller;
@@ -333,7 +303,6 @@ sub opsaddimage {
if(!GetOptions(
'h|help' => \$help,
'v|version' => \$version,
'V|verbose' => \$verbose,
'c=s' => \$controller,
'n=s' => \$ops_img_names,
))
@@ -422,46 +391,16 @@ sub opsaddimage {
}
my $cmd_tmp = "glance image-create --name $new_name --public --disk-format qcow2 --container-format bare --property xcat_image_name=\'$image\' < /tmp/$image.qcow2";
my $cmd = qq~touch /tmp/$image.qcow2;$cmd_tmp~;
if ($verbose) {
my $rsp;
push @{$rsp->{data}}, "The command to run on $controller:";
push @{$rsp->{data}}, " $cmd";
push @{$rsp->{data}}, " ";
xCAT::MsgUtils->message("I", $rsp, $callback);
}
my $cmd = qq~touch /tmp/$image.qcow2;source \~/openrc;$cmd_tmp;rm /tmp/$image.qcow2~;
#print "cmd=$cmd\ncontroller=$controller\n";
my $output =
xCAT::InstUtils->xcmd($callback, $doreq, "xdsh", [$controller], $cmd, 0);
if ($::RUNCMD_RC != 0) {
my $rsp;
push @{$rsp->{data}}, "OpenStack creating image $new_name:";
push @{$rsp->{data}}, "$output";
push @{$rsp->{data}}, "The command was: $cmd";
xCAT::MsgUtils->message("E", $rsp, $callback);
} else {
if (($verbose) && ($output)) {
my $rsp;
push @{$rsp->{data}}, "$output";
push @{$rsp->{data}}, " ";
xCAT::MsgUtils->message("I", $rsp, $callback);
}
}
my $cmd1 = qq~rm /tmp/$image.qcow2~;
if ($verbose) {
my $rsp;
push @{$rsp->{data}}, "The command to run on $controller:";
push @{$rsp->{data}}, " $cmd1";
push @{$rsp->{data}}, " ";
xCAT::MsgUtils->message("I", $rsp, $callback);
}
my $output1 =
xCAT::InstUtils->xcmd($callback, $doreq, "xdsh", [$controller], $cmd1, 0);
if (($verbose) && ($output1)) {
my $rsp;
push @{$rsp->{data}}, "$output1";
push @{$rsp->{data}}, " ";
xCAT::MsgUtils->message("I", $rsp, $callback);
}
}
}
@@ -906,7 +845,7 @@ sub opsaddbmnode_usage {
$rsp->{data}->[0]= "Usage: opsaddbmnode -h";
$rsp->{data}->[1]= " opsaddbmnode -v";
$rsp->{data}->[2]= " opsaddbmnode <noderange> -s <service_host> [-V]";
$rsp->{data}->[2]= " opsaddbmnode <noderange> -s <service_host>";
$cb->($rsp);
}
@@ -924,7 +863,7 @@ sub opsaddimage_usage {
$rsp->{data}->[0]= "Usage: opsaddimage -h";
$rsp->{data}->[1]= " opsaddimage -v";
$rsp->{data}->[2]= " opsaddimage <image1,image2...> [-n <new_name1,new_name2...> -c <controller> [-V]";
$rsp->{data}->[2]= " opsaddimage <image1,image2...> [-n <new_name1,new_name2...> -c <controller>";
$cb->($rsp);
}
@@ -4,7 +4,7 @@ B<opsaddbmnode> - It adds xCAT baremetal nodes to an OpenStack cloud.
=head1 SYNOPSIS
B<opsaddbmnode> I<noderange> B<-s> I<service_host> [B<-V>|B<--verbose>]
B<opsaddbmnode> I<noderange> B<-s> I<service_host>
B<opsaddbmnode> [B<-h>|B<--help>]
@@ -59,8 +59,6 @@ I<noderage> is a comma separated node or node group names.
=item B<-v|--version> The Command Version.
=item B<-V|--verbose> Verbose output.
=back
=head1 RETURN VALUE
@@ -4,7 +4,7 @@ B<opsaddimage> - It adds or removes nodes for the vlan.
=head1 SYNOPSIS
B<opsaddimage> I<image1,image2,...> B<-n> I<new_name1,new_name2,...> [B<-c> I<controller>] [B<-V>|B<--verbose>]
B<opsaddimage> I<image1,image2,...> B<-n> I<new_name1,new_name2,...> [B<-c> I<controller>]
B<opsaddimage> [B<-h>|B<--help>]
@@ -35,8 +35,6 @@ I<image1,image1...> a comma separated xCAT images names.
=item B<-v|--version> The Command Version.
=item B<-V|--verbose> Verbose output.
=back
=head1 RETURN VALUE
@@ -100,8 +100,8 @@ change_host_name()
if [ "$str_os_type" = "sles" ];then
echo "Persistently changing the hostname not implemented yet."
#debian ubuntu and rh7
elif [ -f "/etc/hostname" ];then
#debian ubuntu
elif [ "$str_os_type" = "debian" ];then
conf_file="/etc/hostname"
echo "$str_hostname" > $conf_file
else
@@ -36,8 +36,8 @@ change_host_name()
if [ "$str_os_type" = "sles" ];then
echo "Persistently changing the hostname not implemented yet."
#debian ubuntu and rh7
elif [ -f "/etc/hostname" ];then
#debian ubuntu
elif [ "$str_os_type" = "debian" ];then
conf_file="/etc/hostname"
echo "$str_hostname" > $conf_file
else
+1 -1
View File
@@ -126,7 +126,7 @@ sub getPodList {
# Create the xcat man page that gives a summary description of each xcat cmd.
# Not used
# Not used.
sub writesummarypage {
my $file = shift; # relative path file name of the man page
# the rest of @_ contains the pod files that describe each cmd
@@ -1,6 +0,0 @@
include AUTHORS
include ChangeLog
exclude .gitignore
exclude .gitreview
global-exclude *.pyc
@@ -1,44 +0,0 @@
xCAT Driver for ironic x86/64 machine
==================================
xCAT is a Extreme Cluster/Cloud Administration Toolkit. We can use xcat
to do :
1 hardward discoveery
2 remote hardware control
3 remote sonsole
4 hardware inventory
5 firmware flashing
Ironic is a project in Openstack, it will replace the nova-baremetal in juno release. Ironic's design is very flexable, we can add driver to extend function
without change any code in Openstack. Ironic xCAT driver takes the advantage of xcat and openstack, we can use it to deploy the baremetal machine very easily.
Before using this driver, we must setup the openstack environment at least for two nodes( ironic conductor and neutron network node can't setup on the same node)
Ironic conductor and the baremetal node( waiting for deploy) must in the same vlan
Add the follows in the ironic egg-info entry_points.txt file (ironic.drivers section)
pxe_xcat = ironic.drivers.xcat:XCATBaremetalDriver
When the openstack with ironic is ready, just execute command in the ironic_xcat directory as follows:
$ python setup.py install
Restart the ironic-conductor process
Initialize the xcat environment according to http://sourceforge.net/p/xcat/wiki/XCAT_iDataPlex_Cluster_Quick_Start/
Using xCAT baremetal driver need config site table and run copycds to generate image. The node definition is not requirement.
Ironic use neutron as the network service.
Check the openvswitch config on the network node ,make sure brbm bridge connect to the baremetal node.
==================================================================================
Some Example to use the xCAT baremetal driver.
$touch /tmp/rhelhpc6.5-x86_64-install-compute.qcow2;glance image-create --name rhelhpc6.5-x86_64-install-compute --public --disk-format qcow2 --container-format bare --property xcat_image_name='rhels6.4-x86_64-install-compute' < /tmp/rhelhpc6.5-x86_64-install-compute.qcow2
--name rhelhpc6.5-x86_64-install-compute is the image name in xcat. You can use lsdef -t osimage on the ironic-conductor node which xcat is installed.
$ ironic node-create --driver pxe_xcat -i ipmi_address=xxx.xxx.xxx.xxx -i ipmi_username=userid -i ipmi_password=password -i xcat_node=x3550m4n02 -i xcatmaster=10.1.0.241 -i netboot=xnba -i ipmi_terminal_port=0 -p memory_mb=2048 -p cpus=8
$ ironic port-create --address ff:ff:ff:ff:ff:ff --node_uuid <ironic node uuid>
$ nova boot --flavor baremetal --image <image-id> testing --nic net-id=<internal network id>
@@ -1,25 +0,0 @@
"""xCAT baremtal exceptions.
"""
from oslo.config import cfg
import six
from ironic.openstack.common.gettextutils import _
from ironic.openstack.common import log as logging
from ironic.common.exception import IronicException
LOG = logging.getLogger(__name__)
class xCATCmdFailure(IronicException):
message = _("xcat call failed: %(cmd)s %(node)s %(args)s.")
class xCATDeploymentFailure(IronicException):
message = _("xCAT node deployment failed for node %(node)s:%(error)s")
class GetNetworkFixedIPFailure(IronicException):
message = _("get fixed ip failed for mac %(mac_address)s")
class GetNetworkIdFailure(IronicException):
message = _("get node network in failed for mac %(mac_address)s")
class FailedToGetInfoOnPort(IronicException):
message = _("Show info on port: %(port_id)s failed.")
@@ -1,41 +0,0 @@
"""
Get the network from neutron
This is a xcat patch for the ironic/common/neutron.py
"""
from neutronclient.common import exceptions as neutron_client_exc
from ironic.common import exception
from ironic.openstack.common import log as logging
from ironic.common import neutron
from ironic.drivers.modules import xcat_exception
LOG = logging.getLogger(__name__)
def get_vif_port_info(task, port_id):
""" Get detail port info from neutron with a given port id """
api = neutron.NeutronAPI(task.context)
try:
port_info = api.client.show_port(port_id)
except neutron_client_exc.NeutronClientException:
LOG.exception(_("Failed to get port info %s."), port_id)
raise exception.FailedToGetInfoOnPort(port_id=port_id)
return port_info
def get_ports_info_from_neutron(task):
""" Get neutron port info from neutron about this task """
vifs = neutron.get_node_vif_ids(task)
if not vifs:
LOG.warning(_("No VIFs found for node %(node)s when attempting to "
"update Neutron DHCP BOOT options."),
{'node': task.node.uuid})
return
failures = []
vif_ports_info = {}
for port_id, port_vif in vifs.iteritems():
try:
vif_ports_info[port_id] = get_vif_port_info(task,port_vif)
except xcat_exception.FailedToGetInfoOnPort(port_id=port_vif):
failures.append(port_vif)
return vif_ports_info
@@ -1,462 +0,0 @@
"""
pxe procedure for the xcat baremetal driver
use xcat to config dhcp and tftp
"""
import os
import time
import paramiko
import datetime
from oslo.config import cfg
from ironic.common import exception
from ironic.common import image_service as service
from ironic.common import keystone
from ironic.common import states
from ironic.common import utils
from ironic.conductor import task_manager
from ironic.conductor import utils as manager_utils
from ironic.drivers import base
from ironic.drivers import utils as driver_utils
from ironic.openstack.common import log as logging
from ironic.openstack.common import strutils
from ironic.drivers.modules import xcat_neutron
from ironic.drivers.modules import xcat_util
from ironic.openstack.common import loopingcall
from nova.openstack.common import timeutils
from ironic.openstack.common import lockutils
from ironic.drivers.modules import xcat_exception
pxe_opts = [
cfg.StrOpt('pxe_append_params',
default='nofb nomodeset vga=normal',
help='Additional append parameters for baremetal PXE boot.'),
cfg.StrOpt('default_ephemeral_format',
default='ext4',
help='Default file system format for ephemeral partition, '
'if one is created.'),
]
xcat_opts = [
cfg.StrOpt('network_node_ip',
default='127.0.0.1',
help='IP address of neutron network node'),
cfg.StrOpt('ssh_user',
default='root',
help='Username of neutron network node.'),
cfg.StrOpt('ssh_password',
default='cluster',
help='Password of neutron network node'),
cfg.IntOpt('ssh_port',
default=22,
help='ssh connection port for the neutron '),
cfg.StrOpt('host_filepath',
default='/etc/hosts',
help='host file of server'),
cfg.IntOpt('deploy_timeout',
default=3600,
help='max depolyment time(seconds) for the xcat driver'),
cfg.IntOpt('deploy_checking_interval',
default=30,
help='interval time(seconds) to check the xcat deploy state'),
]
LOG = logging.getLogger(__name__)
CONF = cfg.CONF
CONF.register_opts(pxe_opts, group='pxe')
CONF.register_opts(xcat_opts, group='xcat')
CONF.import_opt('use_ipv6', 'ironic.netconf')
REQUIRED_PROPERTIES = {
'pxe_deploy_kernel': _("UUID (from Glance) of the deployment kernel. "
"Required."),
'pxe_deploy_ramdisk': _("UUID (from Glance) of the ramdisk that is "
"mounted at boot time. Required."),
}
COMMON_PROPERTIES = REQUIRED_PROPERTIES
EM_SEMAPHORE = 'xcat_pxe'
def _check_for_missing_params(info_dict, param_prefix=''):
missing_info = []
for label, value in info_dict.items():
if not value:
missing_info.append(param_prefix + label)
if missing_info:
raise exception.InvalidParameterValue(_(
"Can not validate PXE bootloader. The following parameters "
"were not passed to ironic: %s") % missing_info)
def _parse_driver_info(node):
"""Gets the driver specific Node deployment info.
This method validates whether the 'driver_info' property of the
supplied node contains the required information for this driver to
deploy images to the node.
:param node: a single Node.
:returns: A dict with the driver_info values.
"""
info = node.driver_info
d_info = {}
d_info['xcat_node'] = info.get('xcat_node')
return d_info
def _parse_instance_info(node):
"""Gets the instance specific Node deployment info.
This method validates whether the 'instance_info' property of the
supplied node contains the required information for this driver to
deploy images to the node.
:param node: a single Node.
:returns: A dict with the instance_info values.
"""
info = node.instance_info
i_info = {}
i_info['image_source'] = info.get('image_source')
i_info['root_gb'] = info.get('root_gb')
i_info['image_file'] = i_info['image_source']
_check_for_missing_params(i_info)
# Internal use only
i_info['deploy_key'] = info.get('deploy_key')
i_info['swap_mb'] = info.get('swap_mb', 0)
i_info['ephemeral_gb'] = info.get('ephemeral_gb', 0)
i_info['ephemeral_format'] = info.get('ephemeral_format')
err_msg_invalid = _("Can not validate PXE bootloader. Invalid parameter "
"%(param)s. Reason: %(reason)s")
for param in ('root_gb', 'swap_mb', 'ephemeral_gb'):
try:
int(i_info[param])
except ValueError:
reason = _("'%s' is not an integer value.") % i_info[param]
raise exception.InvalidParameterValue(err_msg_invalid %
{'param': param, 'reason': reason})
if i_info['ephemeral_gb'] and not i_info['ephemeral_format']:
i_info['ephemeral_format'] = CONF.pxe.default_ephemeral_format
preserve_ephemeral = info.get('preserve_ephemeral', False)
try:
i_info['preserve_ephemeral'] = strutils.bool_from_string(
preserve_ephemeral, strict=True)
except ValueError as e:
raise exception.InvalidParameterValue(err_msg_invalid %
{'param': 'preserve_ephemeral', 'reason': e})
return i_info
def _parse_deploy_info(node):
"""Gets the instance and driver specific Node deployment info.
This method validates whether the 'instance_info' and 'driver_info'
property of the supplied node contains the required information for
this driver to deploy images to the node.
:param node: a single Node.
:returns: A dict with the instance_info and driver_info values.
"""
info = {}
info.update(_parse_instance_info(node))
info.update(_parse_driver_info(node))
return info
def _validate_glance_image(ctx, deploy_info):
"""Validate the image in Glance.
Check if the image exist in Glance and if it contains the
'kernel_id' and 'ramdisk_id' properties.
:raises: InvalidParameterValue.
"""
image_id = deploy_info['image_source']
if not image_id:
raise exception.ImageNotFound
class PXEDeploy(base.DeployInterface):
"""PXE Deploy Interface: just a stub until the real driver is ported."""
def get_properties(self):
return COMMON_PROPERTIES
def validate(self, task):
"""Validate the deployment information for the task's node.
:param task: a TaskManager instance containing the node to act on.
:raises: InvalidParameterValue.
"""
node = task.node
if not driver_utils.get_node_mac_addresses(task):
raise exception.InvalidParameterValue(_("Node %s does not have "
"any port associated with it.") % node.uuid)
d_info = _parse_deploy_info(node)
# Try to get the URL of the Ironic API
try:
# TODO(lucasagomes): Validate the format of the URL
CONF.conductor.api_url or keystone.get_service_url()
except (exception.CatalogFailure,
exception.CatalogNotFound,
exception.CatalogUnauthorized):
raise exception.InvalidParameterValue(_(
"Couldn't get the URL of the Ironic API service from the "
"configuration file or keystone catalog."))
_validate_glance_image(task.context, d_info)
@task_manager.require_exclusive_lock
def deploy(self, task):
"""Start deployment of the task's node'.
Config host file and xcat dhcp, generate image info for xcat
and issues a reboot request to the power driver.
This causes the node to boot into the deployment ramdisk and triggers
the next phase of PXE-based deployment via
VendorPassthru._continue_deploy().
:param task: a TaskManager instance containing the node to act on.
:returns: deploy state DEPLOYDONE.
"""
d_info = _parse_deploy_info(task.node)
if not task.node.instance_info.get('fixed_ip_address') or not task.node.instance_info.get('image_name'):
raise exception.InvalidParameterValue
self._config_host_file(d_info,task.node.instance_info.get('fixed_ip_address'))
self._make_dhcp()
self._nodeset_osimage(d_info,task.node.instance_info.get('image_name'))
manager_utils.node_set_boot_device(task, 'pxe', persistent=True)
manager_utils.node_power_action(task, states.REBOOT)
try:
self._wait_for_node_deploy(task)
except xcat_exception.xCATDeploymentFailure:
LOG.info(_("xcat deployment failed"))
return states.ERROR
return states.DEPLOYDONE
@task_manager.require_exclusive_lock
def tear_down(self, task):
"""Tear down a previous deployment on the task's node.
Power off the node. All actual clean-up is done in the clean_up()
method which should be called separately.
:param task: a TaskManager instance containing the node to act on.
:returns: deploy state DELETED.
"""
manager_utils.node_power_action(task, states.POWER_OFF)
return states.DELETED
def prepare(self, task):
"""Prepare the deployment environment for this task's node.
Get the image info from glance, config the mac for the xcat
use ssh and iptables to disable dhcp on network node
:param task: a TaskManager instance containing the node to act on.
"""
# TODO(deva): optimize this if rerun on existing files
d_info = _parse_deploy_info(task.node)
i_info = task.node.instance_info
image_id = d_info['image_source']
try:
glance_service = service.Service(version=1, context=task.context)
image_name = glance_service.show(image_id)['name']
i_info['image_name'] = image_name
except (exception.GlanceConnectionFailed,
exception.ImageNotAuthorized,
exception.Invalid):
LOG.warning(_("Failed to connect to Glance to get the properties "
"of the image %s") % image_id)
node_mac_addresses = driver_utils.get_node_mac_addresses(task)
vif_ports_info = xcat_neutron.get_ports_info_from_neutron(task)
try:
network_info = self._get_deploy_network_info(vif_ports_info, node_mac_addresses)
except (xcat_exception.GetNetworkFixedIPFailure,xcat_exception.GetNetworkIdFailure):
LOG.error(_("Failed to get network info"))
return
if not network_info:
LOG.error(_("Failed to get network info"))
return
fixed_ip_address = network_info['fixed_ip_address']
deploy_mac_address = network_info['mac_address']
network_id = network_info['network_id']
i_info['fixed_ip_address'] = fixed_ip_address
i_info['network_id'] = network_id
i_info['deploy_mac_address'] = deploy_mac_address
# use iptables to drop the dhcp mac of baremetal machine
self._ssh_append_dhcp_rule(CONF.xcat.network_node_ip,CONF.xcat.ssh_port,CONF.xcat.ssh_user,
CONF.xcat.ssh_password,network_id,deploy_mac_address)
self._chdef_node_mac_address(d_info,deploy_mac_address)
def clean_up(self, task):
"""Clean up the deployment environment for the task's node.
Unlinks TFTP and instance images and triggers image cache cleanup.
Removes the TFTP configuration files for this node. As a precaution,
this method also ensures the keystone auth token file was removed.
:param task: a TaskManager instance containing the node to act on.
"""
pass
def take_over(self, task):
pass
def _get_deploy_network_info(self, vif_ports_info, valid_node_mac_addrsses):
"""Get network info from mac address of ironic node.
:param vif_ports_info: info collection from neutron ports
:param valid_node_mac_addrsses: mac address from ironic node
:raises: GetNetworkFixedIpFailure if search the fixed ip from mac address failure
:raises: GetNetworkIdFailure if search the network id from mac address failure
"""
network_info = {}
for port_info in vif_ports_info.values():
if(port_info['port']['mac_address'] in valid_node_mac_addrsses ):
network_info['fixed_ip_address'] = port_info['port']['fixed_ips'][0]['ip_address']
if not network_info['fixed_ip_address']:
raise xcat_exception.GetNetworkFixedIPFailure(mac_address=port_info['port']['mac_address'])
network_info['mac_address'] = port_info['port']['mac_address']
network_info['network_id'] = port_info['port']['network_id']
if not network_info['network_id']:
raise xcat_exception.GetNetworkIdFailure(mac_address=port_info['port']['mac_address'])
network_info['port_id'] = port_info['port']['id']
return network_info
return network_info
def _chdef_node_mac_address(self, driver_info, deploy_mac):
""" run chdef command to set mac address"""
cmd = 'chdef'
args = 'mac='+ deploy_mac
try:
out_err = xcat_util.exec_xcatcmd(driver_info, cmd, args)
LOG.info(_("xcat chdef cmd exetute output: %(out_err)s") % {'out_err':out_err})
except xcat_exception.xCATCmdFailure as e:
LOG.warning(_("xcat chdef failed for node %(xcat_node)s with "
"error: %(error)s.")
% {'xcat_node': driver_info['xcat_node'], 'error': e})
raise exception.IPMIFailure(cmd=cmd)
@lockutils.synchronized(EM_SEMAPHORE, 'xcat-hosts-')
def _config_host_file(self, driver_info, deploy_ip):
""" append node and ip infomation to host file"""
with open(CONF.xcat.host_filepath,"r+") as f:
lines = []
for line in f:
temp = line.split('#')
if temp[0].strip():
host_name = xcat_util._tsplit(temp[0].strip(),(' ','\t'))[1]
if driver_info['xcat_node'] not in host_name:
lines.append(line)
# append a new line to host file
line = "%s\t%s\n" %(deploy_ip,driver_info['xcat_node'])
lines.append(line)
f.seek(0)
f.truncate()
for line in lines:
f.write(line)
def _nodeset_osimage(self, driver_info, image_name):
"""run nodeset command to config the image for the xcat node
:param driver_info: xcat node deploy info
:param image_name: image for the xcat deployment
"""
cmd = 'nodeset'
args = 'osimage='+ image_name
try:
xcat_util.exec_xcatcmd(driver_info, cmd, args)
except xcat_exception.xCATCmdFailure as e:
LOG.warning(_("xcat nodeset failed for node %(xcat_node)s with "
"error: %(error)s.")
% {'xcat_node': driver_info['xcat_node'], 'error': e})
def _make_dhcp(self):
"""run makedhcp command to setup dhcp environment for the xcat node"""
cmd = ['makedhcp',
'-n'
]
try:
out, err = utils.execute(*cmd)
LOG.info(_(" excute cmd: %(cmd)s \n output: %(out)s \n. Error: %(err)s \n"),
{'cmd':cmd,'out': out, 'err': err})
except Exception as e:
LOG.error(_("Unable to execute %(cmd)s. Exception: %(exception)s"),
{'cmd': cmd, 'exception': e})
# makedhcp -a
cmd = ['makedhcp',
'-a'
]
try:
out, err = utils.execute(*cmd)
LOG.info(_(" excute cmd: %(cmd)s \n output: %(out)s \n. Error: %(err)s \n"),
{'cmd':cmd,'out': out, 'err': err})
except Exception as e:
LOG.error(_("Unable to execute %(cmd)s. Exception: %(exception)s"),
{'cmd': cmd, 'exception': e})
def _ssh_append_dhcp_rule(self,ip,port,username,password,network_id,mac_address):
""" drop the dhcp package in network node to avoid of confilct of dhcp """
netns = 'qdhcp-%s' %network_id
append_cmd = 'sudo ip netns exec %s iptables -A INPUT -m mac --mac-source %s -j DROP' % \
(netns,mac_address)
cmd = [append_cmd]
xcat_util.xcat_ssh(ip,port,username,password,cmd)
def _ssh_delete_dhcp_rule(self,ip,port,username,password,network_id,mac_address):
""" delete the iptable rule on network node to recover the environment"""
netns = 'qdhcp-%s' %network_id
cancel_cmd = 'sudo ip netns exec %s iptables -D INPUT -m mac --mac-source %s -j DROP' % \
(netns,mac_address)
cmd = [cancel_cmd]
xcat_util.xcat_ssh(ip,port,username,password,cmd)
def _wait_for_node_deploy(self, task):
"""Wait for xCAT node deployment to complete."""
locals = {'errstr':''}
driver_info = _parse_deploy_info(task.node)
node_mac_addrsses = driver_utils.get_node_mac_addresses(task)
i_info = task.node.instance_info
def _wait_for_deploy():
out,err = xcat_util.exec_xcatcmd(driver_info,'nodels','nodelist.status')
if err:
locals['errstr'] = _("Error returned when quering node status"
" for node %s:%s") % (driver_info['xcat_node'], err)
LOG.warning(locals['errstr'])
raise loopingcall.LoopingCallDone()
if out:
node,status = out.split(": ")
status = status.strip()
if status == "booted":
LOG.info(_("Deployment for node %s completed.")
% driver_info['xcat_node'])
raise loopingcall.LoopingCallDone()
if (CONF.xcat.deploy_timeout and
timeutils.utcnow() > expiration):
locals['errstr'] = _("Timeout while waiting for"
" deployment of node %s.") % driver_info['xcat_node']
LOG.warning(locals['errstr'])
raise loopingcall.LoopingCallDone()
expiration = timeutils.utcnow() + datetime.timedelta(
seconds=CONF.xcat.deploy_timeout)
timer = loopingcall.FixedIntervalLoopingCall(_wait_for_deploy)
# default check every 10 seconds
timer.start(interval=CONF.xcat.deploy_checking_interval).wait()
if locals['errstr']:
raise xcat_exception.xCATDeploymentFailure(locals['errstr'])
# deploy end, delete the dhcp rule for xcat
self._ssh_delete_dhcp_rule(CONF.xcat.network_node_ip,CONF.xcat.ssh_port,CONF.xcat.ssh_user,
CONF.xcat.ssh_password,i_info['network_id'],node_mac_addrsses[0])
@@ -1,444 +0,0 @@
"""
IPMI power manager driver.
"""
import contextlib
import os
import stat
import tempfile
import time
from oslo.config import cfg
from ironic.common import exception
from ironic.common import states
from ironic.common import utils
from ironic.conductor import task_manager
from ironic.drivers import base
from ironic.drivers.modules import console_utils
from ironic.openstack.common import excutils
from ironic.openstack.common import log as logging
from ironic.openstack.common import loopingcall
from ironic.openstack.common import processutils
from ironic.drivers.modules import xcat_exception
from ironic.drivers.modules import xcat_util
CONF = cfg.CONF
CONF.import_opt('retry_timeout',
'ironic.drivers.modules.ipminative',
group='ipmi')
CONF.import_opt('min_command_interval',
'ironic.drivers.modules.ipminative',
group='ipmi')
LOG = logging.getLogger(__name__)
VALID_PRIV_LEVELS = ['ADMINISTRATOR', 'CALLBACK', 'OPERATOR', 'USER']
REQUIRED_PROPERTIES = {
'ipmi_address': _("IP address or hostname of the node. Required.")
}
OPTIONAL_PROPERTIES = {
'ipmi_password': _("password. Optional."),
'ipmi_priv_level': _("privilege level; default is ADMINISTRATOR. One of "
"%s. Optional.") % ', '.join(VALID_PRIV_LEVELS),
'ipmi_username': _("username; default is NULL user. Optional.")
}
COMMON_PROPERTIES = REQUIRED_PROPERTIES.copy()
COMMON_PROPERTIES.update(OPTIONAL_PROPERTIES)
CONSOLE_PROPERTIES = {
'ipmi_terminal_port': _("node's UDP port to connect to. Only required for "
"console access.")
}
TIMING_SUPPORT = None
def _is_timing_supported(is_supported=None):
# shim to allow module variable to be mocked in unit tests
global TIMING_SUPPORT
if (TIMING_SUPPORT is None) and (is_supported is not None):
TIMING_SUPPORT = is_supported
return TIMING_SUPPORT
def check_timing_support():
"""Check the installed version of ipmitool for -N -R option support.
Support was added in 1.8.12 for the -N -R options, which enable
more precise control over timing of ipmi packets. Prior to this,
the default behavior was to retry each command up to 18 times at
1 to 5 second intervals.
http://ipmitool.cvs.sourceforge.net/viewvc/ipmitool/ipmitool/ChangeLog?revision=1.37 # noqa
This method updates the module-level TIMING_SUPPORT variable so that
it is accessible by any driver interface class in this module. It is
intended to be called from the __init__ method of such classes only.
:returns: boolean indicating whether support for -N -R is present
:raises: OSError
"""
if _is_timing_supported() is None:
# Directly check ipmitool for support of -N and -R options. Because
# of the way ipmitool processes' command line options, if the local
# ipmitool does not support setting the timing options, the command
# below will fail.
try:
out, err = utils.execute(*['ipmitool', '-N', '0', '-R', '0', '-h'])
except processutils.ProcessExecutionError:
# the local ipmitool does not support the -N and -R options.
_is_timing_supported(False)
else:
# looks like ipmitool supports timing options.
_is_timing_supported(True)
def _console_pwfile_path(uuid):
"""Return the file path for storing the ipmi password for a console."""
file_name = "%(uuid)s.pw" % {'uuid': uuid}
return os.path.join(tempfile.gettempdir(), file_name)
def _parse_driver_info(node):
"""Gets the parameters required for ipmitool to access the node.
:param node: the Node of interest.
:returns: dictionary of parameters.
:raises: InvalidParameterValue if any required parameters are missing.
"""
info = node.driver_info or {}
address = info.get('ipmi_address')
username = info.get('ipmi_username')
password = info.get('ipmi_password')
port = info.get('ipmi_terminal_port')
priv_level = info.get('ipmi_priv_level', 'ADMINISTRATOR')
xcat_node = info.get('xcat_node')
xcatmaster = info.get('xcatmaster')
netboot = info.get('netboot')
if port:
try:
port = int(port)
except ValueError:
raise exception.InvalidParameterValue(_(
"IPMI terminal port is not an integer."))
if not address:
raise exception.InvalidParameterValue(_(
"IPMI address not supplied to xcat driver."))
if priv_level not in VALID_PRIV_LEVELS:
valid_priv_lvls = ', '.join(VALID_PRIV_LEVELS)
raise exception.InvalidParameterValue(_(
"Invalid privilege level value:%(priv_level)s, the valid value"
" can be one of %(valid_levels)s") %
{'priv_level': priv_level, 'valid_levels': valid_priv_lvls})
if not xcat_node:
raise exception.InvalidParameterValue(_(
"xcat node name not supplied to xcat driver"))
if not xcatmaster:
raise exception.InvalidParameterValue(_(
"xcatmaster not supplied to xcat driver"))
if not netboot:
raise exception.InvalidParameterValue(_(
"netboot not supplied to xcat driver"))
return {
'address': address,
'username': username,
'password': password,
'port': port,
'uuid': node.uuid,
'priv_level': priv_level,
'xcat_node': xcat_node,
'xcatmaster': xcatmaster,
'netboot': netboot
}
def chdef_node(driver_info):
"""Run the chdef command in xcat, config the node
:param driver_info: driver_info for the xcat node
"""
cmd = 'chdef'
args = 'mgt=ipmi' + \
' bmc=' + driver_info['address'] + \
' bmcusername=' + driver_info['username'] + \
' bmcpassword=' + driver_info['password'] + \
' xcatmaster=' + driver_info['xcatmaster']+ \
' netboot=' + driver_info['netboot']+ \
' primarynic=mac'+ \
' installnic=mac'+ \
' monserver=' + driver_info['xcatmaster'] + \
' nfsserver=' + driver_info['xcatmaster'] + \
' serialflow=hard'+ \
' serialspeed=115200' + \
' serialport=' + str(driver_info['port']);
try:
xcat_util.exec_xcatcmd(driver_info, cmd, args)
except xcat_exception.xCATCmdFailure as e:
LOG.warning(_("xcat chdef failed for node %(node_id)s with "
"error: %(error)s.")
% {'node_id': driver_info['uuid'], 'error': e})
def _sleep_time(iter):
"""Return the time-to-sleep for the n'th iteration of a retry loop.
This implementation increases exponentially.
:param iter: iteration number
:returns: number of seconds to sleep
"""
if iter <= 1:
return 1
return iter ** 2
def _set_and_wait(target_state, driver_info):
"""Helper function for DynamicLoopingCall.
This method changes the power state and polls the BMCuntil the desired
power state is reached, or CONF.ipmi.retry_timeout would be exceeded by the
next iteration.
This method assumes the caller knows the current power state and does not
check it prior to changing the power state. Most BMCs should be fine, but
if a driver is concerned, the state should be checked prior to calling this
method.
:param target_state: desired power state
:param driver_info: the ipmitool parameters for accessing a node.
:returns: one of ironic.common.states
:raises: IPMIFailure on an error from ipmitool (from _power_status call).
"""
if target_state == states.POWER_ON:
state_name = "on"
elif target_state == states.POWER_OFF:
state_name = "off"
def _wait(mutable):
try:
# Only issue power change command once
if mutable['iter'] < 0:
xcat_util.exec_xcatcmd(driver_info,'rpower',state_name)
else:
mutable['power'] = _power_status(driver_info)
except Exception:
# Log failures but keep trying
LOG.warning(_("xcat rpower %(state)s failed for node %(node)s."),
{'state': state_name, 'node': driver_info['uuid']})
finally:
mutable['iter'] += 1
if mutable['power'] == target_state:
raise loopingcall.LoopingCallDone()
sleep_time = _sleep_time(mutable['iter'])
if (sleep_time + mutable['total_time']) > CONF.ipmi.retry_timeout:
# Stop if the next loop would exceed maximum retry_timeout
LOG.error(_('xcat rpower %(state)s timed out after '
'%(tries)s retries on node %(node_id)s.'),
{'state': state_name, 'tries': mutable['iter'],
'node_id': driver_info['uuid']})
mutable['power'] = states.ERROR
raise loopingcall.LoopingCallDone()
else:
mutable['total_time'] += sleep_time
return sleep_time
# Use mutable objects so the looped method can change them.
# Start 'iter' from -1 so that the first two checks are one second apart.
status = {'power': None, 'iter': -1, 'total_time': 0}
timer = loopingcall.DynamicLoopingCall(_wait, status)
timer.start().wait()
return status['power']
def _power_on(driver_info):
"""Turn the power ON for this node.
:param driver_info: the xcat parameters for accessing a node.
:returns: one of ironic.common.states POWER_ON or ERROR.
:raises: IPMIFailure on an error from ipmitool (from _power_status call).
"""
return _set_and_wait(states.POWER_ON, driver_info)
def _power_off(driver_info):
"""Turn the power OFF for this node.
:param driver_info: the xcat parameters for accessing a node.
:returns: one of ironic.common.states POWER_OFF or ERROR.
:raises: IPMIFailure on an error from ipmitool (from _power_status call).
"""
return _set_and_wait(states.POWER_OFF, driver_info)
def _power_status(driver_info):
"""Get the power status for a node.
:param driver_info: the xcat access parameters for a node.
:returns: one of ironic.common.states POWER_OFF, POWER_ON or ERROR.
:raises: IPMIFailure on an error from ipmitool.
"""
cmd = "rpower"
try:
out_err = xcat_util.exec_xcatcmd(driver_info,cmd,'status')
except Exception as e:
LOG.warning(_("xcat rpower status failed for node %(node_id)s with "
"error: %(error)s.")
% {'node_id': driver_info['uuid'], 'error': e})
if out_err[0].split(' ')[1].strip() == "on":
return states.POWER_ON
elif out_err[0].split(' ')[1].strip() == "off":
return states.POWER_OFF
else:
return states.ERROR
class XcatPower(base.PowerInterface):
def __init__(self):
try:
check_timing_support()
except OSError:
raise exception.DriverLoadError(
driver=self.__class__.__name__,
reason="Unable to locate usable xcat command in "
"the system path when checking xcat version")
def get_properties(self):
return COMMON_PROPERTIES
def validate(self, task):
"""Validate driver_info for xcat driver.
Check that node['driver_info'] contains IPMI credentials.
:param task: a TaskManager instance containing the node to act on.
:raises: InvalidParameterValue if required ipmi parameters are missing.
"""
driver_info = _parse_driver_info(task.node)
try:
chdef_node(driver_info)
except exception:
LOG.error(_("chdef xcat info error!"))
def get_power_state(self, task):
"""Get the current power state of the task's node.
:param task: a TaskManager instance containing the node to act on.
:returns: one of ironic.common.states POWER_OFF, POWER_ON or ERROR.
"""
driver_info = _parse_driver_info(task.node)
return _power_status(driver_info)
@task_manager.require_exclusive_lock
def set_power_state(self, task, pstate):
"""Turn the power on or off.
:param task: a TaskManager instance containing the node to act on.
:param pstate: The desired power state, one of ironic.common.states
POWER_ON, POWER_OFF.
:raises: InvalidParameterValue if required ipmi parameters are missing
or if an invalid power state was specified.
:raises: PowerStateFailure if the power couldn't be set to pstate.
"""
driver_info = _parse_driver_info(task.node)
if pstate == states.POWER_ON:
state = _power_on(driver_info)
elif pstate == states.POWER_OFF:
state = _power_off(driver_info)
else:
raise exception.InvalidParameterValue(_("set_power_state called "
"with invalid power state %s.") % pstate)
if state != pstate:
raise exception.PowerStateFailure(pstate=pstate)
@task_manager.require_exclusive_lock
def reboot(self, task):
"""Cycles the power to the task's node.
:param task: a TaskManager instance containing the node to act on.
:raises: InvalidParameterValue if required ipmi parameters are missing.
:raises: PowerStateFailure if the final state of the node is not
POWER_ON.
"""
driver_info = _parse_driver_info(task.node)
_power_off(driver_info)
state = _power_on(driver_info)
if state != states.POWER_ON:
raise exception.PowerStateFailure(pstate=states.POWER_ON)
class IPMIShellinaboxConsole(base.ConsoleInterface):
"""A ConsoleInterface that uses ipmitool and shellinabox."""
def __init__(self):
try:
check_timing_support()
except OSError:
raise exception.DriverLoadError(
driver=self.__class__.__name__,
reason="Unable to locate usable xcat command in "
"the system path when checking xcat version")
def get_properties(self):
return COMMON_PROPERTIES
def validate(self, task):
"""Validate the Node console info.
:param task: a task from TaskManager.
:raises: InvalidParameterValue
"""
driver_info = _parse_driver_info(task.node)
if not driver_info['xcat_node']:
raise exception.InvalidParameterValue(_(
"xcat node name not supplied to xcat baremetal driver."))
if not driver_info['port']:
raise exception.InvalidParameterValue(_(
"IPMI terminal port not supplied to IPMI driver."))
def start_console(self, task):
"""Start a remote console for the node."""
driver_info = _parse_driver_info(task.node)
path = _console_pwfile_path(driver_info['uuid'])
pw_file = console_utils.make_persistent_password_file(
path, driver_info['password'])
ipmi_cmd = "/:%(uid)s:%(gid)s:HOME:ipmitool -H %(address)s" \
" -I lanplus -U %(user)s -f %(pwfile)s" \
% {'uid': os.getuid(),
'gid': os.getgid(),
'address': driver_info['address'],
'user': driver_info['username'],
'pwfile': pw_file}
if CONF.debug:
ipmi_cmd += " -v"
ipmi_cmd += " sol activate"
console_utils.start_shellinabox_console(driver_info['uuid'],
driver_info['port'],
ipmi_cmd)
def stop_console(self, task):
"""Stop the remote console session for the node."""
driver_info = _parse_driver_info(task.node)
console_utils.stop_shellinabox_console(driver_info['uuid'])
utils.unlink_without_raise(_console_pwfile_path(driver_info['uuid']))
def get_console(self, task):
"""Get the type and connection information about the console."""
driver_info = _parse_driver_info(task.node)
url = console_utils.get_shellinabox_console_url(driver_info['port'])
return {'type': 'shellinabox', 'url': url}
@@ -1,110 +0,0 @@
"""
util for xcat baremetal driver
exec_xcatcmd
xcat_ssh to excute remote cmd
"""
import paramiko
import time
import socket
from ironic.openstack.common import log as logging
from oslo.config import cfg
from ironic.drivers.modules import xcat_exception
from ironic.common import utils
xcat_opts = [
cfg.IntOpt('ssh_session_timeout',
default=10,
help='ssh session time'),
cfg.FloatOpt('ssh_shell_wait',
default=0.5,
help='wait time for the ssh cmd excute'),
cfg.IntOpt('ssh_buf_size',
default=65535,
help='Maximum size (in charactor) of cache for ssh, '
'including those in use'),
cfg.StrOpt('ssh_key',
default=None,
help='ssh private key to login '),
cfg.StrOpt('ssh_key_pass',
default=None,
help='Maximum size (in charactor) of cache for ssh, '
'including those in use'),
]
LOG = logging.getLogger(__name__)
CONF = cfg.CONF
CONF.register_opts(xcat_opts, group='xcat')
LAST_CMD_TIME = {}
def xcat_ssh(ip,port,username,password,cmd):
""" exec remote command with ssh """
key =None
if CONF.xcat.ssh_key:
try:
key=paramiko.RSAKey.from_private_key_file(CONF.xcat.ssh_key)
except paramiko.PasswordRequiredException:
if not CONF.ssh_key_pass:
raise Exception.message("no pubkey password")
key = paramiko.RSAKey.from_private_key_file(
CONF.xcat.ssh_key, CONF.xcat.ssh_key.ssh_key_pass)
s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
try:
s.connect(ip,port,username=username,password=password,pkey=key,
timeout=CONF.xcat.ssh_session_timeout)
except socket.timeout as e:
LOG.error(_("Unable to connect to the ssh server Exception: %(exception)s"),
{'exception': e})
chan = s.invoke_shell()
output = chan.recv(CONF.xcat.ssh_buf_size)
while not output.rstrip().endswith('#') and not output.rstrip().endswith('$'):
output = chan.recv(CONF.xcat.ssh_buf_size)
for c in cmd :
_xcat_ssh_exec(chan,c,password)
def _xcat_ssh_exec(chan,cmd,password):
""" exec ssh command """
chan.send(cmd + '\n')
time.sleep(CONF.xcat.ssh_shell_wait)
ret = chan.recv(CONF.xcat.ssh_buf_size)
if 'password' in ret and ret.rstrip().endswith(':'):
chan.send(password + '\n')
output = chan.recv(CONF.xcat.ssh_buf_size)
while not output.rstrip().endswith('#') and not output.rstrip().endswith('$'):
output = chan.recv(CONF.xcat.ssh_buf_size)
return output
def _tsplit(string, delimiters):
""" Behaves str.split but supports multiple delimiters. """
delimiters = tuple(delimiters)
stack = [string,]
for delimiter in delimiters:
for i, substring in enumerate(stack):
substack = substring.split(delimiter)
stack.pop(i)
for j, _substring in enumerate(substack):
stack.insert(i+j, _substring)
return stack
def exec_xcatcmd(driver_info, command, args):
""" excute xcat cmd """
cmd = [command,
driver_info['xcat_node']
]
cmd.extend(args.split(" "))
# NOTE: ensure that no communications are excuted more
# often than once every min_command_interval seconds.
time_till_next_poll = CONF.ipmi.min_command_interval - (
time.time() - LAST_CMD_TIME.get(driver_info['xcat_node'], 0))
if time_till_next_poll > 0:
time.sleep(time_till_next_poll)
try:
out, err = utils.execute(*cmd)
if err:
raise xcat_exception.xCATCmdFailure(cmd=cmd,node=driver_info['xcat_node'],
args=args)
finally:
LAST_CMD_TIME[driver_info['xcat_node']] = time.time()
return out, err
@@ -1,27 +0,0 @@
"""
XCATBaremetalDriver
use xcat to deploy a baremetal machine
"""
from ironic.drivers import base
from ironic.drivers.modules import ipmitool
from ironic.drivers.modules import pxe
from ironic.drivers.modules import xcat_pxe
from ironic.drivers import utils
from ironic.drivers.modules import xcat_rpower
class XCATBaremetalDriver(base.BaseDriver):
"""xCAT driver
This driver implements the `core` functionality, combinding
:class:`ironic.drivers.xcat_rpower.XcatPower` for power on/off and reboot with
:class:`ironic.driver.xcat_pxe.PXEDeploy` for image deployment. Implementations are in
those respective classes; this class is merely the glue between them.
"""
def __init__(self):
self.power = xcat_rpower.XcatPower()
self.console = ipmitool.IPMIShellinaboxConsole()
self.deploy = xcat_pxe.PXEDeploy()
self.management = ipmitool.IPMIManagement()
self.vendor = pxe.VendorPassthru()
@@ -1,33 +0,0 @@
[DEFAULT]
# The list of modules to copy from oslo-incubator
module=cliutils
module=config.generator
module=context
module=db
module=db.sqlalchemy
module=db.sqlalchemy.migration_cli
module=eventlet_backdoor
module=excutils
module=fileutils
module=gettextutils
module=importutils
module=jsonutils
module=local
module=lockutils
module=log
module=loopingcall
module=network_utils
module=periodic_task
module=policy
module=processutils
module=service
module=strutils
module=timeutils
module=versionutils
# Tools
# The base module to hold the copy of openstack.common
base=ironic
@@ -1,51 +0,0 @@
[metadata]
name = ironic
version = 2014.2
summary = OpenStack Bare Metal Provisioning
description-file =
README.rst
author = chenglch
author-email = chenglch@cn.ibm.com
home-page = http://xcat.sf.net/
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
Intended Audience :: System Administrators
License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 2.6
[files]
packages =
ironic
[entry_points]
ironic.drivers =
agent_ipmitool = ironic.drivers.agent:AgentAndIPMIToolDriver
agent_pyghmi = ironic.drivers.agent:AgentAndIPMINativeDriver
agent_ssh = ironic.drivers.agent:AgentAndSSHDriver
fake = ironic.drivers.fake:FakeDriver
fake_agent = ironic.drivers.fake:FakeAgentDriver
fake_iboot = ironic.drivers.fake:FakeIBootDriver
fake_ipminative = ironic.drivers.fake:FakeIPMINativeDriver
fake_ipmitool = ironic.drivers.fake:FakeIPMIToolDriver
fake_pxe = ironic.drivers.fake:FakePXEDriver
fake_seamicro = ironic.drivers.fake:FakeSeaMicroDriver
fake_ssh = ironic.drivers.fake:FakeSSHDriver
ilo = ironic.drivers.ilo:IloDriver
pxe_iboot = ironic.drivers.pxe:PXEAndIBootDriver
pxe_ipminative = ironic.drivers.pxe:PXEAndIPMINativeDriver
pxe_ipmitool = ironic.drivers.pxe:PXEAndIPMIToolDriver
pxe_seamicro = ironic.drivers.pxe:PXEAndSeaMicroDriver
pxe_ssh = ironic.drivers.pxe:PXEAndSSHDriver
pxe_xcat = ironic.drivers.xcat:XCATBaremetalDriver
[pbr]
autodoc_index_modules = True
[global]
setup-hooks =
pbr.hooks.setup_hook
@@ -1,22 +0,0 @@
hacking>=0.8.0,<0.9
coverage>=3.6
discover
fixtures>=0.3.14
mock>=1.0
Babel>=1.3
MySQL-python
psycopg2
python-ironicclient
python-subunit>=0.0.18
testrepository>=0.0.18
testtools>=0.9.34
# Doc requirements
sphinx>=1.1.2,!=1.2.0,<1.3
sphinxcontrib-pecanwsme>=0.8
oslosphinx
# Required for Nova unit tests in ironic/nova/tests/ and can be removed
# once the driver code lands in Nova.
http://tarballs.openstack.org/nova/nova-master.tar.gz#egg=nova
mox>=0.5.3
@@ -0,0 +1,15 @@
AllCops:
Excludes:
- test/**
- vendor/**
AlignParameters:
Enabled: false
Encoding:
Enabled: false
HashSyntax:
Enabled: false
LineLength:
Enabled: false
MethodLength:
Max: 30
@@ -0,0 +1,9 @@
rvm:
- 1.9.3
- 2.0.0
before_script:
- bundle exec berks install
script:
- bundle exec foodcritic -f any . --tags ~FC007 --tags ~FC015 --tags ~FC023
# - bundle exec rspec --color --format progress
- bundle exec rubocop
@@ -0,0 +1,7 @@
site :opscode
metadata
group :integration do
cookbook 'apt', '~> 2.0'
cookbook 'yum', '~> 2.0'
end
@@ -0,0 +1,198 @@
apache2 Cookbook Changelog
==========================
This file is used to list changes made in each version of the apache2 cookbook.
v1.8.4
------
### Bug
- **[COOK-3769](https://tickets.opscode.com/browse/COOK-3769)** - Fix a critical bug where the `apache_module` could not enable modules
v1.8.2
------
### Bug
- **[COOK-3766](https://tickets.opscode.com/browse/COOK-3766)** - Fix an issue where the `mod_ssl` recipe fails due to a missing attribute
v1.8.0
------
### Bug
- **[COOK-3680](https://tickets.opscode.com/browse/COOK-3680)** - Update template paths
- **[COOK-3570](https://tickets.opscode.com/browse/COOK-3570)** - Apache cookbook breaks on RHEL / CentOS 6
- **[COOK-2944](https://tickets.opscode.com/browse/COOK-2944)** - Fix foodcritic failures
- **[COOK-2893](https://tickets.opscode.com/browse/COOK-2893)** - Improve mod_auth_openid recipe with guards and idempotency
- **[COOK-2758](https://tickets.opscode.com/browse/COOK-2758)** - Fix use of non-existent attribute
### New Feature
- **[COOK-3665](https://tickets.opscode.com/browse/COOK-3665)** - Add recipe for mod_userdir
- **[COOK-3646](https://tickets.opscode.com/browse/COOK-3646)** - Add recipe for mod_cloudflare
- **[COOK-3213](https://tickets.opscode.com/browse/COOK-3213)** - Add recipe for mod_info
### Improvement
- **[COOK-3656](https://tickets.opscode.com/browse/COOK-3656)** - Parameterize apache2 binary
- **[COOK-3562](https://tickets.opscode.com/browse/COOK-3562)** - Allow mod_proxy settings to be configured as attributes
- **[COOK-3326](https://tickets.opscode.com/browse/COOK-3326)** - Fix default_test to use ServerTokens attribute
- **[COOK-2635](https://tickets.opscode.com/browse/COOK-2635)** - Add support for SVG mime types
- **[COOK-2598](https://tickets.opscode.com/browse/COOK-2598)** - FastCGI Module only works on Debian-based platforms
- **[COOK-1984](https://tickets.opscode.com/browse/COOK-1984)** - Add option to configure the address apache listens to
v1.7.0
------
### Improvement
- [COOK-3073]: make access.log location configurable per-platform
- [COOK-3074]: don't hardcode the error.log location in the default site config
- [COOK-3268]: don't hardcode DocumentRoot and cgi-bin locations in `default_site`
### New Feature
- [COOK-3184]: Add `mod_filter` recipe to Apache2-cookbook
- [COOK-3236]: Add `mod_action` recipe to Apache2-cookbook
v1.6.6
------
1.6.4 had a missed step in the automated release, long live 1.6.6.
### Bug
- [COOK-3018]: apache2_module does duplicate delayed restart of apache2 service when conf = true
- [COOK-3027]: Default site enable true, then false, does not disable default site
- [COOK-3109]: fix apache lib_dir arch attribute regexp
v1.6.2
------
- [COOK-2535] - `mod_auth_openid` requires libtool to run autogen.sh
- [COOK-2667] - Typo in usage documentation
- [COOK-2461] - `apache2::mod_auth_openid` fails on some ubuntu systems
- [COOK-2720] - Apache2 minitest helper function `ran_recipe` is not portable
v1.6.0
------
- [COOK-2372] - apache2 mpm_worker: add ServerLimit attribute (default to 16)
v1.5.0
------
The `mod_auth_openid` attributes are changed. The upstream maintainer deprecated the older release versions, and the source repository has releases available at specific SHA1SUM references. The new attribute, `node['apache']['mod_auth_openid']['ref']` is used to set this.
- [COOK-2198] - `apache::mod_auth_openid` compiles from source, but does not install make on debian/ubuntu
- [COOK-2224] - version conflict between cucumber and other gems
- [COOK-2248] - `apache2::mod_php5` uses `not_if` "which php" without ensuring package 'which' is installed
- [COOK-2269] - Set allow list for mod_status incase external monitor scripts need
- [COOK-2276] - cookbook apache2 documentation regarding listening ports doesn't match default attributes
- [COOK-2296] - `mod_auth_openid` doesn't have tags/releases for the version I need for features and fixes
- [COOK-2323] - Add Oracle linux support
v1.4.2
------
- [COOK-1721] - fix logrotate recipe
v1.4.0
------
- [COOK-1456] - iptables enhancements
- [COOK-1473] - apache2 does not disable default site when setting "`default_site_enabled`" back to false
- [COOK-1824] - the apache2 cookbook needs to specify which binary is used on rhel platform
- [COOK-1916] - Download location wrong for apache2 `mod_auth_openid` >= 0.7
- [COOK-1917] - Improve `mod_auth_openid` recipe to handle module upgrade more gracefully
- [COOK-2029] - apache2 restarts on every run on RHEL and friends, generate-module-list on every run.
- [COOK-2036] - apache2: Cookbook style
v1.3.2
------
- [COOK-1804] - fix `web_app` definition parameter so site can be disabled.
v1.3.0
------
- [COOK-1738] - Better configuration for `mod_include` and some overrides in `web_app` definition
- [COOK-1470] - Change SSL Ciphers to Mitigate BEAST attack
v1.2.0
------
- [COOK-692] - delete package conf.d files in module recipes, for EL
- [COOK-1693] - Foodcritic finding for unnecessary string interpolation
- [COOK-1757] - platform_family and better style / usage practices
v1.1.16
-------
re-releasing as .16 due to error on tag 1.1.14
- [COOK-1466] - add `mod_auth_cas` recipe
- [COOK-1609] - apache2 changes ports.conf twice per run when using apache2::mod_ssl
v1.1.12
-------
- [COOK-1436] - restore apache2 web_app definition
- [COOK-1356] - allow ExtendedStatus via attribute
- [COOK-1403] - add mod_fastcgi recipe
v1.1.10
-------
- [COOK-1315] - allow the default site to not be enabled
- [COOK-1328] - cookbook tests (minitest, cucumber)
v1.1.8
------
- Some platforms with minimal installations that don't have perl won't have a `node['languages']['perl']` attribute, so remove the conditional and rely on the power of idempotence in the package resource.
- [COOK-1214] - address foodcritic warnings
- [COOK-1180] - add `mod_logio` and fix `mod_proxy`
v1.1.6
------
FreeBSD users: This release requires the `freebsd` cookbook. See README.md.
- [COOK-1025] - freebsd support in mod_php5 recipe
v1.1.4
------
- [COOK-1100] - support amazon linux
v1.1.2
------
- [COOK-996] - apache2::mod_php5 can cause PHP and module API mismatches
- [COOK-1083] - return string for v_f_p and use correct value for default
v1.1.0
------
- [COOK-861] - Add `mod_perl` and apreq2
- [COOK-941] - fix `mod_auth_openid` on FreeBSD
- [COOK-1021] - add a commented-out LoadModule directive to keep apxs happy
- [COOK-1022] - consistency for icondir attribute
- [COOK-1023] - fix platform test for attributes
- [COOK-1024] - fix a2enmod script so it runs cleanly on !bash
- [COOK-1026] - fix `error_log` location on FreeBSD
v1.0.8
------
- COOK-548 - directory resource doesn't have backup parameter
v1.0.6
------
- COOK-915 - update to `mod_auth_openid` version 0.6, see __Recipes/mod_auth_openid__ below.
- COOK-548 - Add support for FreeBSD.
v1.0.4
------
- COOK-859 - don't hardcode module paths
v1.0.2
------
- Tickets resolved in this release: COOK-788, COOK-782, COOK-780
v1.0.0
------
- Red Hat family support is greatly improved, all recipes except `god_monitor` converge.
- Recipe `mod_auth_openid` now works on RHEL family distros
- Recipe `mod_php5` will now remove config from package on RHEL family so it doesn't conflict with the cookbook's.
- Added `php5.conf.erb` template for `mod_php5` recipe.
- Create the run state directory for `mod_fcgid` to prevent a startup error on RHEL version 6.
- New attribute `node['apache']['lib_dir']` to handle lib vs lib64 on RHEL family distributions.
- New attribute `node['apache']['group']`.
- Scientific Linux support added.
- Use a file resource instead of the generate-module-list executed perl script on RHEL family.
- "default" site can now be disabled.
- web_app now has an "enable" parameter.
- Support for dav_fs apache module.
- Tickets resolved in this release: COOK-754, COOK-753, COOK-665, COOK-624, COOK-579, COOK-519, COOK-518
- Fix node references in template for a2dissite
- Use proper user and group attributes on files and templates.
- Replace the anemic README.rdoc with this new and improved superpowered README.md :).
@@ -0,0 +1,257 @@
# Contributing to Opscode Cookbooks
We are glad you want to contribute to Opscode Cookbooks! The first
step is the desire to improve the project.
You can find the answers to additional frequently asked questions
[on the wiki](http://wiki.opscode.com/display/chef/How+to+Contribute).
You can find additional information about
[contributing to cookbooks](http://wiki.opscode.com/display/chef/How+to+Contribute+to+Opscode+Cookbooks)
on the wiki as well.
## Quick-contribute
* Create an account on our [bug tracker](http://tickets.opscode.com)
* Sign our contributor agreement (CLA)
[ online](https://secure.echosign.com/public/hostedForm?formid=PJIF5694K6L)
(keep reading if you're contributing on behalf of your employer)
* Create a ticket for your change on the
[bug tracker](http://tickets.opscode.com)
* Link to your patch as a rebased git branch or pull request from the
ticket
* Resolve the ticket as fixed
We regularly review contributions and will get back to you if we have
any suggestions or concerns.
## The Apache License and the CLA/CCLA
Licensing is very important to open source projects, it helps ensure
the software continues to be available under the terms that the author
desired. Chef uses the Apache 2.0 license to strike a balance between
open contribution and allowing you to use the software however you
would like to.
The license tells you what rights you have that are provided by the
copyright holder. It is important that the contributor fully
understands what rights they are licensing and agrees to them.
Sometimes the copyright holder isn't the contributor, most often when
the contributor is doing work for a company.
To make a good faith effort to ensure these criteria are met, Opscode
requires a Contributor License Agreement (CLA) or a Corporate
Contributor License Agreement (CCLA) for all contributions. This is
without exception due to some matters not being related to copyright
and to avoid having to continually check with our lawyers about small
patches.
It only takes a few minutes to complete a CLA, and you retain the
copyright to your contribution.
You can complete our contributor agreement (CLA)
[ online](https://secure.echosign.com/public/hostedForm?formid=PJIF5694K6L).
If you're contributing on behalf of your employer, have your employer
fill out our
[Corporate CLA](https://secure.echosign.com/public/hostedForm?formid=PIE6C7AX856)
instead.
## Ticket Tracker (JIRA)
The [ticket tracker](http://tickets.opscode.com) is the most important
documentation for the code base. It provides significant historical
information, such as:
* Which release a bug fix is included in
* Discussion regarding the design and merits of features
* Error output to aid in finding similar bugs
Each ticket should aim to fix one bug or add one feature.
## Using git
You can get a quick copy of the repository for this cookbook by
running `git clone
git://github.com/opscode-coobkooks/COOKBOOKNAME.git`.
For collaboration purposes, it is best if you create a Github account
and fork the repository to your own account. Once you do this you will
be able to push your changes to your Github repository for others to
see and use.
If you have another repository in your GitHub account named the same
as the cookbook, we suggest you suffix the repository with -cookbook.
### Branches and Commits
You should submit your patch as a git branch named after the ticket,
such as COOK-1337. This is called a _topic branch_ and allows users to
associate a branch of code with the ticket.
It is a best practice to have your commit message have a _summary
line_ that includes the ticket number, followed by an empty line and
then a brief description of the commit. This also helps other
contributors understand the purpose of changes to the code.
[COOK-1757] - platform_family and style
* use platform_family for platform checking
* update notifies syntax to "resource_type[resource_name]" instead of
resources() lookup
* COOK-692 - delete config files dropped off by packages in conf.d
* dropped debian 4 support because all other platforms have the same
values, and it is older than "old stable" debian release
Remember that not all users use Chef in the same way or on the same
operating systems as you, so it is helpful to be clear about your use
case and change so they can understand it even when it doesn't apply
to them.
### Github and Pull Requests
All of Opscode's open source cookbook projects are available on
[Github](http://www.github.com/opscode-cookbooks).
We don't require you to use Github, and we will even take patch diffs
attached to tickets on the tracker. However Github has a lot of
convenient features, such as being able to see a diff of changes
between a pull request and the main repository quickly without
downloading the branch.
If you do choose to use a pull request, please provide a link to the
pull request from the ticket __and__ a link to the ticket from the
pull request. Because pull requests only have two states, open and
closed, we can't easily filter pull requests that are waiting for a
reply from the author for various reasons.
### More information
Additional help with git is available on the
[Working with Git](http://wiki.opscode.com/display/chef/Working+with+Git)
wiki page.
## Functional and Unit Tests
This cookbook is set up to run tests under
[Opscode's test-kitchen](https://github.com/opscode/test-kitchen). It
uses minitest-chef to run integration tests after the node has been
converged to verify that the state of the node.
Test kitchen should run completely without exception using the default
[baseboxes provided by Opscode](https://github.com/opscode/bento).
Because Test Kitchen creates VirtualBox machines and runs through
every configuration in the Kitchenfile, it may take some time for
these tests to complete.
If your changes are only for a specific recipe, run only its
configuration with Test Kitchen. If you are adding a new recipe, or
other functionality such as a LWRP or definition, please add
appropriate tests and ensure they run with Test Kitchen.
If any don't pass, investigate them before submitting your patch.
Any new feature should have unit tests included with the patch with
good code coverage to help protect it from future changes. Similarly,
patches that fix a bug or regression should have a _regression test_.
Simply put, this is a test that would fail without your patch but
passes with it. The goal is to ensure this bug doesn't regress in the
future. Consider a regular expression that doesn't match a certain
pattern that it should, so you provide a patch and a test to ensure
that the part of the code that uses this regular expression works as
expected. Later another contributor may modify this regular expression
in a way that breaks your use cases. The test you wrote will fail,
signalling to them to research your ticket and use case and accounting
for it.
If you need help writing tests, please ask on the Chef Developer's
mailing list, or the #chef-hacking IRC channel.
## Code Review
Opscode regularly reviews code contributions and provides suggestions
for improvement in the code itself or the implementation.
We find contributions by searching the ticket tracker for _resolved_
tickets with a status of _fixed_. If we have feedback we will reopen
the ticket and you should resolve it again when you've made the
changes or have a response to our feedback. When we believe the patch
is ready to be merged, we will tag the _Code Reviewed_ field with
_Reviewed_.
Depending on the project, these tickets are then merged within a week
or two, depending on the current release cycle.
## Release Cycle
The versioning for Opscode Cookbook projects is X.Y.Z.
* X is a major release, which may not be fully compatible with prior
major releases
* Y is a minor release, which adds both new features and bug fixes
* Z is a patch release, which adds just bug fixes
A released version of a cookbook will end in an even number, e.g.
"1.2.4" or "0.8.0". When development for the next version of the
cookbook begins, the "Z" patch number is incremented to the next odd
number, however the next release of the cookbook may be a major or
minor incrementing version.
Releases of Opscode's cookbooks are usually announced on the Chef user
mailing list. Releases of several cookbooks may be batched together
and announced on the [Opscode Blog](http://www.opscode.com/blog).
## Working with the community
These resources will help you learn more about Chef and connect to
other members of the Chef community:
* [chef](http://lists.opscode.com/sympa/info/chef) and
[chef-dev](http://lists.opscode.com/sympa/info/chef-dev) mailing
lists
* #chef and #chef-hacking IRC channels on irc.freenode.net
* [Community Cookbook site](http://community.opscode.com)
* [Chef wiki](http://wiki.opscode.com/display/chef)
* Opscode Chef [product page](http://www.opscode.com/chef)
## Cookbook Contribution Do's and Don't's
Please do include tests for your contribution. If you need help, ask
on the
[chef-dev mailing list](http://lists.opscode.com/sympa/info/chef-dev)
or the
[#chef-hacking IRC channel](http://community.opscode.com/chat/chef-hacking).
Not all platforms that a cookbook supports may be supported by Test
Kitchen. Please provide evidence of testing your contribution if it
isn't trivial so we don't have to duplicate effort in testing. Chef
10.14+ "doc" formatted output is sufficient.
Please do indicate new platform (families) or platform versions in the
commit message, and update the relevant ticket.
If a contribution adds new platforms or platform versions, indicate
such in the body of the commit message(s), and update the relevant
COOK ticket. When writing commit messages, it is helpful for others if
you indicate the COOK ticket. For example:
git commit -m '[COOK-1041] - Updated pool resource to correctly
delete.'
Please do use [foodcritic](http://acrmp.github.com/foodcritic) to
lint-check the cookbook. Except FC007, it should pass all correctness
rules. FC007 is okay as long as the dependent cookbooks are *required*
for the default behavior of the cookbook, such as to support an
uncommon platform, secondary recipe, etc.
Please do ensure that your changes do not break or modify behavior for
other platforms supported by the cookbook. For example if your changes
are for Debian, make sure that they do not break on CentOS.
Please do not modify the version number in the metadata.rb, Opscode
will select the appropriate version based on the release cycle
information above.
Please do not update the CHANGELOG.md for a new version. Not all
changes to a cookbook may be merged and released in the same versions.
Opscode will update the CHANGELOG.md when releasing a new version of
the cookbook.
@@ -0,0 +1,23 @@
# source "https://rubygems.org"
# gem 'cucumber', '~> 1.2.0'
# gem 'httparty', '~> 0.8.3'
# gem 'minitest', '~> 3.0.0'
# gem 'nokogiri', '~> 1.5.0'
# group :kitchen do
# gem 'test-kitchen', '< 1.0'
# end
source 'https://rubygems.org'
gem 'berkshelf', '~> 2.0'
gem 'chefspec', '~> 2.0'
gem 'foodcritic', '~> 3.0'
gem 'rubocop', '~> 0.12'
group :integration do
gem 'test-kitchen', '~> 1.0.0.beta'
gem 'kitchen-vagrant', '~> 0.11'
end
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@@ -0,0 +1,586 @@
apache2 Cookbook
================
[![Build Status](https://secure.travis-ci.org/opscode-cookbooks/apache2.png?branch=master)](http://travis-ci.org/opscode-cookbooks/apache2)
This cookbook provides a complete Debian/Ubuntu style Apache HTTPD
configuration. Non-Debian based distributions such as Red Hat/CentOS,
ArchLinux and others supported by this cookbook will have a
configuration that mimics Debian/Ubuntu style as it is easier to
manage with Chef.
Debian-style Apache configuration uses scripts to manage modules and
sites (vhosts). The scripts are:
* a2ensite
* a2dissite
* a2enmod
* a2dismod
This cookbook ships with templates of these scripts for non
Debian/Ubuntu platforms. The scripts are used in the __Definitions__
below.
Requirements
============
## Ohai and Chef:
* Ohai: 0.6.12+
* Chef: 0.10.10+
As of v1.2.0, this cookbook makes use of `node['platform_family']` to
simplify platform selection logic. This attribute was introduced in
Ohai v0.6.12. The recipe methods were introduced in Chef v0.10.10. If
you must run an older version of Chef or Ohai, use [version 1.1.16 of
this cookbook](http://community.opscode.com/cookbooks/apache2/versions/1_1_16/downloads).
## Cookbooks:
This cookbook doesn't have direct dependencies on other cookbooks, as
none are needed for the default recipe or the general use cases.
Depending on your OS configuration and security policy, you may need
additional recipes or cookbooks for this cookbook's recipes to
converge on the node. In particular, the following Operating System
settings may affect the behavior of this cookbook:
* apt cache outdated
* SELinux enabled
* IPtables
* Compile tools
* 3rd party repositories
On Ubuntu/Debian, use Opscode's `apt` cookbook to ensure the package
cache is updated so Chef can install packages, or consider putting
apt-get in your bootstrap process or
[knife bootstrap template](http://wiki.opscode.com/display/chef/Knife+Bootstrap).
On RHEL, SELinux is enabled by default. The `selinux` cookbook
contains a `permissive` recipe that can be used to set SELinux to
"Permissive" state. Otherwise, additional recipes need to be created
by the user to address SELinux permissions.
The easiest but **certainly not ideal way** to deal with IPtables is
to flush all rules. Opscode does provide an `iptables` cookbook but is
migrating from the approach used there to a more robust solution
utilizing a general "firewall" LWRP that would have an "iptables"
provider. Alternately, you can use ufw, with Opscode's `ufw` and
`firewall` cookbooks to set up rules. See those cookbooks' READMEs for
documentation.
Build/compile tools may not be installed on the system by default.
Some recipes (e.g., `apache2::mod_auth_openid`) build the module from
source. Use Opscode's `build-essential` cookbook to get essential
build packages installed.
On ArchLinux, if you are using the `apache2::mod_auth_openid` recipe,
you also need the `pacman` cookbook for the `pacman_aur` LWRP. Put
`recipe[pacman]` on the node's expanded run list (on the node or in a
role). This is not an explicit dependency because it is only required
for this single recipe and platform; the pacman default recipe
performs `pacman -Sy` to keep pacman's package cache updated.
The `apache2::god_monitor` recipe uses a definition from the `god`
cookbook. Include `recipe[god]` in the node's expanded run list to
ensure that the cookbook is available to the node, and to set up `god`.
## Platforms:
The following platforms and versions are tested and supported using
Opscode's [test-kitchen](http://github.com/opscode/test-kitchen).
* Ubuntu 10.04, 12.04
* CentOS 5.8, 6.3
The following platform families are supported in the code, and are
assumed to work based on the successful testing on Ubuntu and CentOS.
* Debian
* Red Hat (rhel)
* Fedora
* Amazon Linux
The following platforms are also supported in the code, have been
tested manually but are not tested under test-kitchen.
* SUSE/OpenSUSE
* ArchLinux
* FreeBSD
### Notes for RHEL Family:
On Red Hat Enterprise Linux and derivatives, the EPEL repository may
be necessary to install packages used in certain recipes. The
`apache2::default` recipe, however, does not require any additional
repositories. Opscode's `yum` cookbook contains a recipe to add the
EPEL repository. See __Examples__ for more information.
### Notes for FreeBSD:
The `apache2::mod_php5` recipe depends on the `freebsd` cookbook,
which it uses to set the correct options for compiling the `php5` port
from sources. You need to ensure the `freebsd` is in the expanded run
list, or this recipe will fail. We don't set an explicit dependency
because we feel the `freebsd` cookbook is something users would want
on their nodes, and due to the generality of this cookbook we don't
want additional specific dependencies.
Tests
=====
This cookbook in the
[source repository](https://github.com/opscode-cookbooks/apache2)
contains minitest and cucumber tests. This is an initial proof of
concept that will be fleshed out with more supporting infrastructure
at a future time.
Please see the CONTRIBUTING file for information on how to add tests
for your contributions.
Attributes
==========
This cookbook uses many attributes, broken up into a few different
kinds.
Platform specific
-----------------
In order to support the broadest number of platforms, several
attributes are determined based on the node's platform. See the
attributes/default.rb file for default values in the case statement at
the top of the file.
* `node['apache']['dir']` - Location for the Apache configuration
* `node['apache']['log_dir']` - Location for Apache logs
* `node['apache']['error_log']` - Location for the default error log
* `node['apache']['access_log']` - Location for the default access log
* `node['apache']['user']` - User Apache runs as
* `node['apache']['group']` - Group Apache runs as
* `node['apache']['binary']` - Apache httpd server daemon
* `node['apache']['icondir']` - Location for icons
* `node['apache']['cache_dir']` - Location for cached files used by Apache itself or recipes
* `node['apache']['pid_file']` - Location of the PID file for Apache httpd
* `node['apache']['lib_dir']` - Location for shared libraries
* `node['apache']['default_site_enabled']` - Default site enabled. Default is false.
* `node['apache']['ext_status']` - if true, enables ExtendedStatus for `mod_status`
General settings
----------------
These are general settings used in recipes and templates. Default
values are noted.
* `node['apache']['listen_addresses']` - Addresses that httpd should listen on. Default is any ("*").
* `node['apache']['listen_ports']` - Ports that httpd should listen on. Default is port 80.
* `node['apache']['contact']` - Value for ServerAdmin directive. Default "ops@example.com".
* `node['apache']['timeout']` - Value for the Timeout directive. Default is 300.
* `node['apache']['keepalive']` - Value for the KeepAlive directive. Default is On.
* `node['apache']['keepaliverequests']` - Value for MaxKeepAliveRequests. Default is 100.
* `node['apache']['keepalivetimeout']` - Value for the KeepAliveTimeout directive. Default is 5.
* `node['apache']['default_modules']` - Array of module names. Can take "mod_FOO" or "FOO" as names, where FOO is the apache module, e.g. "`mod_status`" or "`status`".
The modules listed in `default_modules` will be included as recipes in `recipe[apache::default]`.
Prefork attributes
------------------
Prefork attributes are used for tuning the Apache HTTPD prefork MPM
configuration.
* `node['apache']['prefork']['startservers']` - initial number of server processes to start. Default is 16.
* `node['apache']['prefork']['minspareservers']` - minimum number of spare server processes. Default 16.
* `node['apache']['prefork']['maxspareservers']` - maximum number of spare server processes. Default 32.
* `node['apache']['prefork']['serverlimit']` - upper limit on configurable server processes. Default 400.
* `node['apache']['prefork']['maxclients']` - Maximum number of simultaneous connections.
* `node['apache']['prefork']['maxrequestsperchild']` - Maximum number of request a child process will handle. Default 10000.
Worker attributes
-----------------
Worker attributes are used for tuning the Apache HTTPD worker MPM
configuration.
* `node['apache']['worker']['startservers']` - Initial number of server processes to start. Default 4
* `node['apache']['worker']['serverlimit']` - upper limit on configurable server processes. Default 16.
* `node['apache']['worker']['maxclients']` - Maximum number of simultaneous connections. Default 1024.
* `node['apache']['worker']['minsparethreads']` - Minimum number of spare worker threads. Default 64
* `node['apache']['worker']['maxsparethreads']` - Maximum number of spare worker threads. Default 192.
* `node['apache']['worker']['maxrequestsperchild']` - Maximum number of requests a child process will handle.
mod\_auth\_openid attributes
----------------------------
The following attributes are in the `attributes/mod_auth_openid.rb`
file. Like all Chef attributes files, they are loaded as well, but
they're logistically unrelated to the others, being specific to the
`mod_auth_openid` recipe.
* `node['apache']['mod_auth_openid']['checksum']` - sha256sum of the tarball containing the source.
* `node['apache']['mod_auth_openid']['ref']` - Any sha, tag, or branch found from https://github.com/bmuller/mod_auth_openid
* `node['apache']['mod_auth_openid']['cache_dir']` - the cache directory is where the sqlite3 database is stored. It is separate so it can be managed as a directory resource.
* `node['apache']['mod_auth_openid']['dblocation']` - filename of the sqlite3 database used for directive `AuthOpenIDDBLocation`, stored in the `cache_dir` by default.
* `node['apache']['mod_auth_openid']['configure_flags']` - optional array of configure flags passed to the `./configure` step in the compilation of the module.
mod\_ssl attributes
-------------------
* `node['apache']['mod_ssl']['cipher_suite']` - sets the
SSLCiphersuite value to the specified string. The default is
considered "sane" but you may need to change it for your local
security policy, e.g. if you have PCI-DSS requirements. Additional
commentary on the
[original pull request](https://github.com/opscode-cookbooks/apache2/pull/15#commitcomment-1605406).
Recipes
=======
Most of the recipes in the cookbook are for enabling Apache modules.
Where additional configuration or behavior is used, it is documented
below in more detail.
The following recipes merely enable the specified module: `mod_alias`,
`mod_basic`, `mod_digest`, `mod_authn_file`, `mod_authnz_ldap`,
`mod_authz_default`, `mod_authz_groupfile`, `mod_authz_host`,
`mod_authz_user`, `mod_autoindex`, `mod_cgi`, `mod_dav_fs`,
`mod_dav_svn`, `mod_deflate`, `mod_dir`, `mod_env`, `mod_expires`,
`mod_headers`, `mod_ldap`, `mod_log_config`, `mod_mime`,
`mod_negotiation`, `mod_proxy`, `mod_proxy_ajp`, `mod_proxy_balancer`,
`mod_proxy_connect`, `mod_proxy_http`, `mod_python`, `mod_rewrite`,
`mod_setenvif`, `mod_status`, `mod_wsgi`, `mod_xsendfile`.
On RHEL Family distributions, certain modules ship with a config file
with the package. The recipes here may delete those configuration
files to ensure they don't conflict with the settings from the
cookbook, which will use per-module configuration in
`/etc/httpd/mods-enabled`.
default
-------
The default recipe does a number of things to set up Apache HTTPd. It
also includes a number of modules based on the attribute
`node['apache']['default_modules']` as recipes.
logrotate
---------
Logrotate adds a logrotate entry for your apache2 logs. This recipe
requires the `logrotate` cookbook; ensure that `recipe[logrotate]` is
in the node's expanded run list.
mod\_auth\_cas
--------------
This recipe installs the proper package and enables the `auth_cas`
module. It can install from source or package. Package is the default,
set the attribute `node['apache']['mod_auth_cas']['from_source']` to
true to enable source installation. Modify the version to install by
changing the attribute
`node['apache']['mod_auth_cas']['source_revision']`. It is a version
tag by default, but could be master, or another tag, or branch.
The module configuration is written out with the `CASCookiePath` set,
otherwise an error loading the module may cause Apache to not start.
**Note**: This recipe does not work on EL 6 platforms unless
epel-testing repository is enabled (outside the scope of this
cookbook), or the package version 1.0.8.1-3.el6 or higher is otherwise
available to the system due to this bug:
https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=708550
mod\_auth\_openid
-----------------
**Changed via COOK-915**
This recipe compiles the module from source. In addition to
`build-essential`, some other packages are included for installation
like the GNU C++ compiler and development headers.
To use the module in your own cookbooks to authenticate systems using
OpenIDs, specify an array of OpenIDs that are allowed to authenticate
with the attribute `node['apache']['allowed_openids']`. Use the
following in a vhost to protect with OpenID authentication:
AuthType OpenID require user <%= node['apache']['allowed_openids'].join(' ') %>
AuthOpenIDDBLocation <%= node['apache']['mod_auth_openid']['dblocation'] %>
Change the DBLocation with the attribute as required; this file is in
a different location than previous versions, see below. It should be a
sane default for most platforms, though, see
`attributes/mod_auth_openid.rb`.
### Changes from COOK-915:
* `AuthType OpenID` instead of `AuthOpenIDEnabled On`.
* `require user` instead of `AuthOpenIDUserProgram`.
* A bug(?) in `mod_auth_openid` causes it to segfault when attempting
to update the database file if the containing directory is not
writable by the HTTPD process owner (e.g., www-data), even if the
file is writable. In order to not interfere with other settings from
the default recipe in this cookbook, the db file is moved.
mod\_fastcgi
------------
Install the fastcgi package and enable the module.
Only work on Debian/Ubuntu
mod\_fcgid
----------
Installs the fcgi package and enables the module. Requires EPEL on
RHEL family.
On RHEL family, this recipe will delete the fcgid.conf and on version
6+, create the /var/run/httpd/mod_fcgid` directory, which prevents the
emergency error:
[emerg] (2)No such file or directory: mod_fcgid: Can't create shared memory for size XX bytes
mod\_php5
--------
Simply installs the appropriate package on Debian, Ubuntu and
ArchLinux.
On Red Hat family distributions including Fedora, the php.conf that
comes with the package is removed. On RHEL platforms less than v6, the
`php53` package is used.
mod\_ssl
--------
Besides installing and enabling `mod_ssl`, this recipe will append
port 443 to the `node['apache']['listen_ports']` attribute array and
update the ports.conf.
god\_monitor
------------
Sets up a `god` monitor for Apache. External requirements are the
`god` and `runit` cookbooks from Opscode. When using this recipe,
include `recipe[god]` in the node's expanded run list to ensure the
client downloads it; `god` depends on runit so that will also be
downloaded.
**Note** This recipe is not tested under test-kitchen yet and is
pending fix in COOK-744.
Definitions
===========
The cookbook provides a few definitions. At some point in the future
these definitions may be refactored into lightweight resources and
providers as suggested by
[foodcritic rule FC015](http://acrmp.github.com/foodcritic/#FC015).
apache\_conf
------------
Sets up configuration file for an Apache module from a template. The
template should be in the same cookbook where the definition is used.
This is used by the `apache_module` definition and is not often used
directly.
This will use a template resource to write the module's configuration
file in the `mods-available` under the Apache configuration directory
(`node['apache']['dir']`). This is a platform-dependent location. See
__apache\_module__.
### Parameters:
* `name` - Name of the template. When used from the `apache_module`,
it will use the same name as the module.
### Examples:
Create `#{node['apache']['dir']}/mods-available/alias.conf`.
apache_conf "alias"
apache\_module
--------------
Enable or disable an Apache module in
`#{node['apache']['dir']}/mods-available` by calling `a2enmod` or
`a2dismod` to manage the symbolic link in
`#{node['apache']['dir']}/mods-enabled`. If the module has a
configuration file, a template should be created in the cookbook where
the definition is used. See __Examples__.
### Parameters:
* `name` - Name of the module enabled or disabled with the `a2enmod` or `a2dismod` scripts.
* `enable` - Default true, which uses `a2enmod` to enable the module. If false, the module will be disabled with `a2dismod`.
* `conf` - Default false. Set to true if the module has a config file, which will use `apache_conf` for the file.
* `filename` - specify the full name of the file, e.g.
### Examples:
Enable the ssl module, which also has a configuration template in `templates/default/mods/ssl.conf.erb`.
apache_module "ssl" do
conf true
end
Enable the php5 module, which has a different filename than the module default:
apache_module "php5" do
filename "libphp5.so"
end
Disable a module:
apache_module "disabled_module" do
enable false
end
See the recipes directory for many more examples of `apache_module`.
apache\_site
------------
Enable or disable a VirtualHost in
`#{node['apache']['dir']}/sites-available` by calling a2ensite or
a2dissite to manage the symbolic link in
`#{node['apache']['dir']}/sites-enabled`.
The template for the site must be managed as a separate resource. To
combine the template with enabling a site, see `web_app`.
### Parameters:
* `name` - Name of the site.
* `enable` - Default true, which uses `a2ensite` to enable the site. If false, the site will be disabled with `a2dissite`.
web\_app
--------
Manage a template resource for a VirtualHost site, and enable it with
`apache_site`. This is commonly done for managing web applications
such as Ruby on Rails, PHP or Django, and the default behavior
reflects that. However it is flexible.
This definition includes some recipes to make sure the system is
configured to have Apache and some sane default modules:
* `apache2`
* `apache2::mod_rewrite`
* `apache2::mod_deflate`
* `apache2::mod_headers`
It will then configure the template (see __Parameters__ and
__Examples__ below), and enable or disable the site per the `enable`
parameter.
### Parameters:
Current parameters used by the definition:
* `name` - The name of the site. The template will be written to
`#{node['apache']['dir']}/sites-available/#{params['name']}.conf`
* `cookbook` - Optional. Cookbook where the source template is. If
this is not defined, Chef will use the named template in the
cookbook where the definition is used.
* `template` - Default `web_app.conf.erb`, source template file.
* `enable` - Default true. Passed to the `apache_site` definition.
Additional parameters can be defined when the definition is called in
a recipe, see __Examples__.
### Examples:
All parameters are passed into the template. You can use whatever you
like. The apache2 cookbook comes with a `web_app.conf.erb` template as
an example. The following parameters are used in the template:
* `server_name` - ServerName directive.
* `server_aliases` - ServerAlias directive. Must be an array of aliases.
* `docroot` - DocumentRoot directive.
* `application_name` - Used in RewriteLog directive. Will be set to the `name` parameter.
* `directory_index` - Allow overriding the default DirectoryIndex setting, optional
* `directory_options` - Override Options on the docroot, for example to add parameters like Includes or Indexes, optional.
* `allow_override` - Modify the AllowOverride directive on the docroot to support apps that need .htaccess to modify configuration or require authentication.
To use the default web_app, for example:
web_app "my_site" do
server_name node['hostname']
server_aliases [node['fqdn'], "my-site.example.com"]
docroot "/srv/www/my_site"
end
The parameters specified will be used as:
* `@params[:server_name]`
* `@params[:server_aliases]`
* `@params[:docroot]`
In the template. When you write your own, the `@` is significant.
For more information about Definitions and parameters, see the
[Chef Wiki](http://wiki.opscode.com/display/chef/Definitions)
Usage
=====
Using this cookbook is relatively straightforward. Add the desired
recipes to the run list of a node, or create a role. Depending on your
environment, you may have multiple roles that use different recipes
from this cookbook. Adjust any attributes as desired. For example, to
create a basic role for web servers that provide both HTTP and HTTPS:
% cat roles/webserver.rb
name "webserver"
description "Systems that serve HTTP and HTTPS"
run_list(
"recipe[apache2]",
"recipe[apache2::mod_ssl]"
)
default_attributes(
"apache" => {
"listen_ports" => ["80", "443"]
}
)
For examples of using the definitions in your own recipes, see their
respective sections above.
License and Authors
===================
* Author:: Adam Jacob <adam@opscode.com>
* Author:: Joshua Timberman <joshua@opscode.com>
* Author:: Bryan McLellan <bryanm@widemile.com>
* Author:: Dave Esposito <esposito@espolinux.corpnet.local>
* Author:: David Abdemoulaie <github@hobodave.com>
* Author:: Edmund Haselwanter <edmund@haselwanter.com>
* Author:: Eric Rochester <err8n@virginia.edu>
* Author:: Jim Browne <jbrowne@42lines.net>
* Author:: Matthew Kent <mkent@magoazul.com>
* Author:: Nathen Harvey <nharvey@customink.com>
* Author:: Ringo De Smet <ringo.de.smet@amplidata.com>
* Author:: Sean OMeara <someara@opscode.com>
* Author:: Seth Chisamore <schisamo@opscode.com>
* Author:: Gilles Devaux <gilles@peerpong.com>
* Copyright:: 2009-2012, Opscode, Inc
* Copyright:: 2011, Atriso
* Copyright:: 2011, CustomInk, LLC.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
@@ -0,0 +1,53 @@
This cookbook uses a variety of testing components:
- Unit tests: [ChefSpec](https://github.com/acrmp/chefspec)
- Integration tests: [Test Kitchen](https://github.com/opscode/test-kitchen)
- Chef Style lints: [Foodcritic](https://github.com/acrmp/foodcritic)
- Ruby Style lints: [Rubocop](https://github.com/bbatsov/rubocop)
Prerequisites
-------------
To develop on this cookbook, you must have a sane Ruby 1.9+ environment. Given the nature of this installation process (and it's variance across multiple operating systems), we will leave this installation process to the user.
You must also have `bundler` installed:
$ gem install bundler
You must also have Vagrant and VirtualBox installed:
- [Vagrant](https://vagrantup.com)
- [VirtualBox](https://virtualbox.org)
Once installed, you must install the `vagrant-berkshelf` plugin:
$ vagrant plugin install vagrant-berkshelf
Development
-----------
1. Clone the git repository from GitHub:
$ git clone git@github.com:opscode-cookbooks/COOKBOOK.git
2. Install the dependencies using bundler:
$ bundle install
3. Create a branch for your changes:
$ git checkout -b my_bug_fix
4. Make any changes
5. Write tests to support those changes. It is highly recommended you write both unit and integration tests.
6. Run the tests:
- `bundle exec rspec`
- `bundle exec foodcritic .`
- `bundle exec rubocop`
- `bundle exec kitchen test`
7. Assuming the tests pass, open a Pull Request on GitHub
8. Open a JIRA ticket for this compontent, linking the JIRA ticket to the Pull Request and visa versa.
9. Mark the JIRA ticket as "Fix Provided"
For more information, see [Opscode's Contribution Guidelines](https://wiki.opscode.com/display/chef/How+to+Contribute).
@@ -0,0 +1,177 @@
#
# Cookbook Name:: apache2
# Attributes:: apache
#
# Copyright 2008-2013, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
default['apache']['root_group'] = 'root'
# Where the various parts of apache are
case node['platform']
when 'redhat', 'centos', 'scientific', 'fedora', 'suse', 'amazon', 'oracle'
default['apache']['package'] = 'httpd'
default['apache']['dir'] = '/etc/httpd'
default['apache']['log_dir'] = '/var/log/httpd'
default['apache']['error_log'] = 'error.log'
default['apache']['access_log'] = 'access.log'
default['apache']['user'] = 'apache'
default['apache']['group'] = 'apache'
default['apache']['binary'] = '/usr/sbin/httpd'
default['apache']['docroot_dir'] = '/var/www/html'
default['apache']['cgibin_dir'] = '/var/www/cgi-bin'
default['apache']['icondir'] = '/var/www/icons'
default['apache']['cache_dir'] = '/var/cache/httpd'
default['apache']['pid_file'] = if node['platform_version'].to_f >= 6
'/var/run/httpd/httpd.pid'
else
'/var/run/httpd.pid'
end
default['apache']['lib_dir'] = node['kernel']['machine'] =~ /^i[36]86$/ ? '/usr/lib/httpd' : '/usr/lib64/httpd'
default['apache']['libexecdir'] = "#{node['apache']['lib_dir']}/modules"
default['apache']['default_site_enabled'] = false
when 'debian', 'ubuntu'
default['apache']['package'] = 'apache2'
default['apache']['dir'] = '/etc/apache2'
default['apache']['log_dir'] = '/var/log/apache2'
default['apache']['error_log'] = 'error.log'
default['apache']['access_log'] = 'access.log'
default['apache']['user'] = 'www-data'
default['apache']['group'] = 'www-data'
default['apache']['binary'] = '/usr/sbin/apache2'
default['apache']['docroot_dir'] = '/var/www'
default['apache']['cgibin_dir'] = '/usr/lib/cgi-bin'
default['apache']['icondir'] = '/usr/share/apache2/icons'
default['apache']['cache_dir'] = '/var/cache/apache2'
default['apache']['pid_file'] = '/var/run/apache2.pid'
default['apache']['lib_dir'] = '/usr/lib/apache2'
default['apache']['libexecdir'] = "#{node['apache']['lib_dir']}/modules"
default['apache']['default_site_enabled'] = false
when 'arch'
default['apache']['package'] = 'apache'
default['apache']['dir'] = '/etc/httpd'
default['apache']['log_dir'] = '/var/log/httpd'
default['apache']['error_log'] = 'error.log'
default['apache']['access_log'] = 'access.log'
default['apache']['user'] = 'http'
default['apache']['group'] = 'http'
default['apache']['binary'] = '/usr/sbin/httpd'
default['apache']['docroot_dir'] = '/srv/http'
default['apache']['cgibin_dir'] = '/usr/share/httpd/cgi-bin'
default['apache']['icondir'] = '/usr/share/httpd/icons'
default['apache']['cache_dir'] = '/var/cache/httpd'
default['apache']['pid_file'] = '/var/run/httpd/httpd.pid'
default['apache']['lib_dir'] = '/usr/lib/httpd'
default['apache']['libexecdir'] = "#{node['apache']['lib_dir']}/modules"
default['apache']['default_site_enabled'] = false
when 'freebsd'
default['apache']['package'] = 'apache22'
default['apache']['dir'] = '/usr/local/etc/apache22'
default['apache']['log_dir'] = '/var/log'
default['apache']['error_log'] = 'httpd-error.log'
default['apache']['access_log'] = 'httpd-access.log'
default['apache']['root_group'] = 'wheel'
default['apache']['user'] = 'www'
default['apache']['group'] = 'www'
default['apache']['binary'] = '/usr/local/sbin/httpd'
default['apache']['docroot_dir'] = '/usr/local/www/apache22/data'
default['apache']['cgibin_dir'] = '/usr/local/www/apache22/cgi-bin'
default['apache']['icondir'] = '/usr/local/www/apache22/icons'
default['apache']['cache_dir'] = '/var/run/apache22'
default['apache']['pid_file'] = '/var/run/httpd.pid'
default['apache']['lib_dir'] = '/usr/local/libexec/apache22'
default['apache']['libexecdir'] = node['apache']['lib_dir']
default['apache']['default_site_enabled'] = false
else
default['apache']['dir'] = '/etc/apache2'
default['apache']['log_dir'] = '/var/log/apache2'
default['apache']['error_log'] = 'error.log'
default['apache']['access_log'] = 'access.log'
default['apache']['user'] = 'www-data'
default['apache']['group'] = 'www-data'
default['apache']['binary'] = '/usr/sbin/apache2'
default['apache']['docroot_dir'] = '/var/www'
default['apache']['cgibin_dir'] = '/usr/lib/cgi-bin'
default['apache']['icondir'] = '/usr/share/apache2/icons'
default['apache']['cache_dir'] = '/var/cache/apache2'
default['apache']['pid_file'] = 'logs/httpd.pid'
default['apache']['lib_dir'] = '/usr/lib/apache2'
default['apache']['libexecdir'] = "#{node['apache']['lib_dir']}/modules"
default['apache']['default_site_enabled'] = false
end
###
# These settings need the unless, since we want them to be tunable,
# and we don't want to override the tunings.
###
# General settings
default['apache']['listen_addresses'] = %w[*]
default['apache']['listen_ports'] = %w[80]
default['apache']['contact'] = 'ops@example.com'
default['apache']['timeout'] = 300
default['apache']['keepalive'] = 'On'
default['apache']['keepaliverequests'] = 100
default['apache']['keepalivetimeout'] = 5
# Security
default['apache']['servertokens'] = 'Prod'
default['apache']['serversignature'] = 'On'
default['apache']['traceenable'] = 'On'
# mod_auth_openids
default['apache']['allowed_openids'] = []
# mod_status Allow list, space seprated list of allowed entries.
default['apache']['status_allow_list'] = 'localhost ip6-localhost'
# mod_status ExtendedStatus, set to 'true' to enable
default['apache']['ext_status'] = false
# mod_info Allow list, space seprated list of allowed entries.
default['apache']['info_allow_list'] = 'localhost ip6-localhost'
# Prefork Attributes
default['apache']['prefork']['startservers'] = 16
default['apache']['prefork']['minspareservers'] = 16
default['apache']['prefork']['maxspareservers'] = 32
default['apache']['prefork']['serverlimit'] = 400
default['apache']['prefork']['maxclients'] = 400
default['apache']['prefork']['maxrequestsperchild'] = 10_000
# Worker Attributes
default['apache']['worker']['startservers'] = 4
default['apache']['worker']['serverlimit'] = 16
default['apache']['worker']['maxclients'] = 1024
default['apache']['worker']['minsparethreads'] = 64
default['apache']['worker']['maxsparethreads'] = 192
default['apache']['worker']['threadsperchild'] = 64
default['apache']['worker']['maxrequestsperchild'] = 0
# mod_proxy settings
default['apache']['proxy']['order'] = 'deny,allow'
default['apache']['proxy']['deny_from'] = 'all'
default['apache']['proxy']['allow_from'] = 'none'
# Default modules to enable via include_recipe
default['apache']['default_modules'] = %w[
status alias auth_basic authn_file authz_default authz_groupfile authz_host authz_user autoindex
dir env mime negotiation setenvif
]
%w[log_config logio].each do |log_mod|
default['apache']['default_modules'] << log_mod if %w[rhel fedora suse arch freebsd].include?(node['platform_family'])
end
@@ -0,0 +1,21 @@
#
# Cookbook Name:: apache2
# Attributes:: mod_auth_cas
#
# Copyright 2013, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
default['apache']['mod_auth_cas']['from_source'] = false
default['apache']['mod_auth_cas']['source_revision'] = 'v1.0.8.1'
@@ -0,0 +1,33 @@
#
# Cookbook Name:: apache2
# Attributes:: mod_auth_cas
#
# Copyright 2013, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
default['apache']['mod_auth_openid']['ref'] = '95043901eab868400937642d9bc55d17e9dd069f'
default['apache']['mod_auth_openid']['source_url'] = "https://github.com/bmuller/mod_auth_openid/archive/#{node['apache']['mod_auth_openid']['ref']}.tar.gz"
default['apache']['mod_auth_openid']['cache_dir'] = '/var/cache/mod_auth_openid'
default['apache']['mod_auth_openid']['dblocation'] = "#{node['apache']['mod_auth_openid']['cache_dir']}/mod_auth_openid.db"
case node['platform_family']
when 'freebsd'
default['apache']['mod_auth_openid']['configure_flags'] = [
'CPPFLAGS=-I/usr/local/include',
'LDFLAGS=-I/usr/local/lib -lsqlite3'
]
else
default['apache']['mod_auth_openid']['configure_flags'] = []
end
@@ -0,0 +1,20 @@
#
# Cookbook Name:: apache2
# Attributes:: mod_fastcgi
#
# Copyright 2013, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
default['apache']['mod_fastcgi']['download_url'] = 'http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz'
@@ -0,0 +1,20 @@
#
# Cookbook Name:: apache2
# Attributes:: mod_ssl
#
# Copyright 2012-2013, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
default['apache']['mod_ssl']['cipher_suite'] = 'RC4-SHA:HIGH:!ADH'
@@ -0,0 +1,26 @@
#
# Cookbook Name:: apache2
# Definition:: apache_conf
#
# Copyright 2008-20013, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
define :apache_conf do
template "#{node['apache']['dir']}/mods-available/#{params[:name]}.conf" do
source "mods/#{params[:name]}.conf.erb"
mode '0644'
notifies :restart, 'service[apache2]'
end
end
@@ -0,0 +1,51 @@
#
# Cookbook Name:: apache2
# Definition:: apache_module
#
# Copyright 2008-2013, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
define :apache_module, :enable => true, :conf => false do
include_recipe 'apache2::default'
params[:filename] = params[:filename] || "mod_#{params[:name]}.so"
params[:module_path] = params[:module_path] || "#{node['apache']['libexecdir']}/#{params[:filename]}"
apache_conf params[:name] if params[:conf]
if platform_family?('rhel', 'fedora', 'arch', 'suse', 'freebsd')
file "#{node['apache']['dir']}/mods-available/#{params[:name]}.load" do
content "LoadModule #{params[:name]}_module #{params[:module_path]}\n"
mode '0644'
end
end
if params[:enable]
execute "a2enmod #{params[:name]}" do
command "/usr/sbin/a2enmod #{params[:name]}"
notifies :restart, 'service[apache2]'
not_if do
::File.symlink?("#{node['apache']['dir']}/mods-enabled/#{params[:name]}.load") &&
(::File.exists?("#{node['apache']['dir']}/mods-available/#{params[:name]}.conf") ? ::File.symlink?("#{node['apache']['dir']}/mods-enabled/#{params[:name]}.conf") : true)
end
end
else
execute "a2dismod #{params[:name]}" do
command "/usr/sbin/a2dismod #{params[:name]}"
notifies :restart, 'service[apache2]'
only_if { ::File.symlink?("#{node['apache']['dir']}/mods-enabled/#{params[:name]}.load") }
end
end
end
@@ -0,0 +1,43 @@
#
# Cookbook Name:: apache2
# Definition:: apache_site
#
# Copyright 2008-2013, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
define :apache_site, :enable => true do
include_recipe 'apache2::default'
if params[:enable]
execute "a2ensite #{params[:name]}" do
command "/usr/sbin/a2ensite #{params[:name]}"
notifies :restart, 'service[apache2]'
not_if do
::File.symlink?("#{node['apache']['dir']}/sites-enabled/#{params[:name]}") ||
::File.symlink?("#{node['apache']['dir']}/sites-enabled/000-#{params[:name]}")
end
only_if { ::File.exists?("#{node['apache']['dir']}/sites-available/#{params[:name]}") }
end
else
execute "a2dissite #{params[:name]}" do
command "/usr/sbin/a2dissite #{params[:name]}"
notifies :restart, 'service[apache2]'
only_if do
::File.symlink?("#{node['apache']['dir']}/sites-enabled/#{params[:name]}") ||
::File.symlink?("#{node['apache']['dir']}/sites-enabled/000-#{params[:name]}")
end
end
end
end
@@ -0,0 +1,48 @@
#
# Cookbook Name:: apache2
# Definition:: web_app
#
# Copyright 2008-2013, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
define :web_app, :template => 'web_app.conf.erb', :enable => true do
application_name = params[:name]
include_recipe 'apache2::default'
include_recipe 'apache2::mod_rewrite'
include_recipe 'apache2::mod_deflate'
include_recipe 'apache2::mod_headers'
template "#{node['apache']['dir']}/sites-available/#{application_name}.conf" do
source params[:template]
owner 'root'
group node['apache']['root_group']
mode '0644'
cookbook params[:cookbook] if params[:cookbook]
variables(
:application_name => application_name,
:params => params
)
if ::File.exists?("#{node['apache']['dir']}/sites-enabled/#{application_name}.conf")
notifies :reload, 'service[apache2]'
end
end
site_enabled = params[:enable]
apache_site "#{params[:name]}.conf" do
enable site_enabled
end
end
@@ -0,0 +1,41 @@
#!/usr/bin/perl
=begin
Generates Ubuntu style module.load files.
./apache2_module_conf_generate.pl /usr/lib64/httpd/modules /etc/httpd/mods-available
ARGV[0] is the apache modules directory, ARGV[1] is where you want 'em.
=cut
use File::Find;
use strict;
use warnings;
die "Must have '/path/to/modules' and '/path/to/modules.load'"
unless $ARGV[0] && $ARGV[1];
find(
{
wanted => sub {
return 1 if $File::Find::name !~ /\.so$/;
my $modfile = $_;
$modfile =~ /(lib|mod_)(.+)\.so$/;
my $modname = $2;
my $filename = "$ARGV[1]/$modname.load";
unless ( -f $filename ) {
open( FILE, ">", $filename ) or die "Cannot open $filename";
print FILE "LoadModule " . $modname . "_module $File::Find::name\n";
close(FILE);
}
},
follow => 1,
},
$ARGV[0]
);
exit 0;
@@ -0,0 +1,76 @@
require File.expand_path('../support/helpers', __FILE__)
describe 'apache2::default' do
include Helpers::Apache
it 'installs apache' do
package(node['apache']['package']).must_be_installed
end
it 'starts apache' do
apache_service.must_be_running
end
it 'enables apache' do
apache_service.must_be_enabled
end
it 'creates the conf.d directory' do
directory("#{node['apache']['dir']}/conf.d").must_exist.with(:mode, '755')
end
it 'creates the logs directory' do
directory(node['apache']['log_dir']).must_exist
end
it 'enables the default site unless it is disabled' do
skip unless node['apache']['default_site_enabled']
file("#{node['apache']['dir']}/sites-enabled/000-default").must_exist
file("#{node['apache']['dir']}/sites-available/default").must_exist
end
it 'ensures the debian-style apache module scripts are present' do
%w{a2ensite a2dissite a2enmod a2dismod}.each do |mod_script|
file("/usr/sbin/#{mod_script}").must_exist
end
end
it 'reports server name only, not detailed version info' do
assert_match(/^ServerTokens #{node['apache']['servertokens']} *$/, File.read("#{node['apache']['dir']}/conf.d/security"))
end
it 'listens on port 80' do
apache_configured_ports.must_include(80)
end
it 'only listens on port 443 when SSL is enabled' do
unless ran_recipe?('apache2::mod_ssl')
apache_configured_ports.wont_include(443)
end
end
it 'reports server name only, not detailed version info' do
file("#{node['apache']['dir']}/conf.d/security").must_match(/^ServerTokens #{node['apache']['servertokens']} *$/)
end
it 'enables default_modules' do
node['apache']['default_modules'].each do |a2mod|
apache_enabled_modules.must_include "#{a2mod}_module"
end
end
describe 'centos' do
it 'ensures no modules are loaded in conf.d' do
Dir["#{node['apache']['dir']}/conf.d/*"].each do |f|
file(f).wont_include 'LoadModule'
end
end
end
describe 'configuration' do
it { config.must_include '# Generated by Chef' }
it { config.must_include %Q{ServerRoot "#{node['apache']['dir']}"} }
it { config.must_include "Include #{node['apache']['dir']}/conf.d/" }
it { apache_config_parses? }
end
end
@@ -0,0 +1,34 @@
#
# Author:: Joshua Timberman <joshua@opscode.com>
# Copyright:: Copyright (c) 2012, Opscode, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
require File.expand_path('../support/helpers', __FILE__)
describe 'apache2::god_monitor' do
include Helpers::Apache
it 'starts god service to supervise apache2' do
service('god').must_be_running
end
it 'creates the god service template for apache' do
file('/etc/god/conf.d/apache2.god').must_exist
end
it 'starts an apache2 service that works like a regular service' do
# to be implemented when COOK-744 is fixed
end
end
@@ -0,0 +1,19 @@
require File.expand_path('../support/helpers', __FILE__)
describe 'apache2::mod_apreq2' do
include Helpers::Apache
it 'enables apreq_module' do
apache_enabled_modules.must_include 'apreq_module'
end
it 'symlinks the module on EL' do
skip unless %w[rhel fedora].include?(node['platform_family'])
libdir = node['kernel']['machine'] == 'x86_64' ? 'lib64' : 'lib'
link(
"/usr/#{libdir}/httpd/modules/mod_apreq.so"
).must_exist.with(
:link_type, :symbolic).and(:to, "/usr/#{libdir}/httpd/modules/mod_apreq2.so"
)
end
end
@@ -0,0 +1,10 @@
require File.expand_path('../support/helpers', __FILE__)
describe 'apache2::mod_auth_cas' do
include Helpers::Apache
it 'enables auth_cas_module' do
skip if %w[rhel fedora].include?(node['platform_family']) && node['platform_version'].to_f > 6.0
apache_enabled_modules.must_include 'auth_cas_module'
end
end

Some files were not shown because too many files have changed in this diff Show More