Please help to patch Storage-17443 for Ginger
Patch branch is bugfix-release-ecs-3.1-Ginger-7468cdof
git checkout Destination branch: bugfix-release-ecs-3.1-Ginger-7468cdof
git pull origin bugfix-release-ecs-3.1-Ginger-7468cdof
enter JIRA found commit :17443
git cherry-pick commit_number
enter container: tools/webstorage/enter.sh .
start build(about 15mins) : ./gradew clean all
scp build/lib/Storageos-blobsvc.jar admin@10.247.198.60:/home/admin
ls
md5sum Storageos-blobsvc.jar
cat MACHINES
viprapplypatch MACHINES Storageos-blobsvc.jar
restart svc : viprexec -c kill `pidof blobsvc`
涉及到权限在命令前加sudo
停止 viprexec -c ` md5sum /opt/Storageos/lib/Storageos-blob.jar`
针对JIRA STORAGE-10000创建一个分支,gitcheckout -b bugfix-STORAGE-10000-branch-name
两种修改同步devkit和windows的方法
1. 在windows, git commit -a -m "some comment"
再git push origin bugfix-STORAGE-10000-branch-name
2. 在devkit上,git pull origin bugfix-STORAGE-10000-branch-name
方法二:
1. 在windows,git diff > temp.diff
2. 在windows,scp temo.diff 到devkit
3. 在devkit上 git apply xxx.diff
Devkit
./gradlew :client:jar (编译client模块)
make clean clobber rpm&& tools/webstorage/deployment.sh SetupViprNodes (Setup ECS Datanodes)
登录container: nsenter -i -m -p -u -t `pidof cm`
查看storageserver进程 ps -ef| grep storageserver
kill进程: kill pidnum 或者 kill `pidof storageserver`
查看进程是否被kill: ps -ef | grepstorageserver
重新启动storageserver进程: /opt/storageos/bin/monitor -u 444 -g 444 -c / -l/opt/storageos/logs/storageserver.out -p /var/run/storageserver.pid -i 40 -I 40/opt/storageos/bin/storageserver \"--config\" /opt/storageos/conf/storageserver.conf\"--partitionconfig\" /data/partitions.json
查看进程是否重新启动: ps -ef | grep storageserver
查看log信息: cd /var/log
vim dataheadsvc.log 或者 tail -F dataheadsvc.log
Apply patch:
1.修改了代码以后
./gradlew clean all
2.替换jar包
在container中的/opt/storageos/lib/目录下(以client为例)
mv storageos-client.jarstorageos-client.jar.old && scp root@10.247.97.202:/opt/MyWorkSpace/EMC/Storage/Quasar/Std/storage/datasvc/libs/client/build/libs/storageos-client.jar .
3.重启service,有两种方法重启进程
方法一: ()
1. servicestorageos_dataservice 速度比较慢
2.用curl http://localhost:9101/stats/dt/DTInitStatDT是否恢复成功
方法二:
1.kill `pidof***`
kill`pidof dataheadsvc`
UT Test
以Client的BufferedFileWriter UT为例
在log4j2.xml 中下面这条语句的意思就是改log level 为DEBUG
<Loggername="com.emc.storageos.data.object" level="DEBUG" />
将改好log4j2.xml放在这里:datasvc/libs/client/src/main/test
运行UT: ./gradlew:client:test -Dtest.single=BufferedFileWriterTest -Plog4jConf=datasvc/libs/client/src/main/test/log4j2.xml
查看log :vi datasvc/libs/client/build/test.log