Skip to content

Commit fba7dc6

Browse files
ibmzachdcrowell77
authored andcommitted
Make patch-bmc use sudo
This commit changes the patch-bmc script to use sudo to execute commands on the remote machine. This is because when executing a command with ssh using service accounts, the user doesn't have permissions to write the file locations necessary to patch the system. Change-Id: I951878064828e26be397c67c6781952301f4905b Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/128959 Reviewed-by: Deborah L McLemore <[email protected]> Reviewed-by: Matt Derksen <[email protected]> Reviewed-by: Isaac Salem <[email protected]> Tested-by: Jenkins OP Build CI <[email protected]> Tested-by: FSP CI Jenkins <[email protected]> Reviewed-by: Matthew Raybuck <[email protected]> Tested-by: Jenkins Server <[email protected]> Tested-by: Jenkins Combined Simics CI <[email protected]> Tested-by: Jenkins OP HW <[email protected]> Tested-by: Hostboot CI <[email protected]> Reviewed-by: Daniel M Crowell <[email protected]>
1 parent 8bd0b49 commit fba7dc6

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

src/build/tools/ebmc/patch-bmc

+12-7
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
# Constants
3131

3232
BMC_PATCH_DIRECTORY=/usr/local/share/hostfw/running/
33-
COPY="rsync -zP"
33+
COPY="rsync -zP --rsync-path=sudo\${IFS}rsync"
3434
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
3535
SSHPASS_SCRIPT="$SCRIPT_DIR/hb_sshpass"
3636
PATCHES_DIR="$PROJECT_ROOT/standalone/pnor"
@@ -92,17 +92,22 @@ function SSHPASS () {
9292
fi
9393
}
9494

95+
function REMOTE_SUDO () {
96+
CMD=$1
97+
SSHPASS ssh "$HOSTNAME" sudo bash -c "\"$CMD\""
98+
}
99+
95100
function PATCH_HBI_HBB () {
96101
# Copy files and create symlinks
97102
SSHPASS $COPY "$PATCHES_DIR/HBI.bin" "$PATCHES_DIR/HBB.bin" "$HOSTNAME":"$BMC_PATCH_DIRECTORY"
98-
SSHPASS ssh "$HOSTNAME" "cd $BMC_PATCH_DIRECTORY && ln -sf HBB.bin HBB && ln -sf HBI.bin HBI"
99-
SSHPASS ssh "$HOSTNAME" "cd $BMC_PATCH_DIRECTORY && ln -sf HBB.bin $HBB.lid && ln -sf HBI.bin $HBI.lid"
103+
REMOTE_SUDO "cd $BMC_PATCH_DIRECTORY && ln -sf HBB.bin HBB && ln -sf HBI.bin HBI"
104+
REMOTE_SUDO "cd $BMC_PATCH_DIRECTORY && ln -sf HBB.bin $HBB.lid && ln -sf HBI.bin $HBI.lid"
100105
}
101106

102107
function PATCH_HBD () {
103108
# Copy files and create symlink
104109
SSHPASS $COPY "$PATCHES_DIR/HBD.bin" "$HOSTNAME":"$BMC_PATCH_DIRECTORY"
105-
SSHPASS ssh "$HOSTNAME" "cd $BMC_PATCH_DIRECTORY && ln -sf HBD.bin HBD && ln -sf HBD.bin $HBD.lid"
110+
REMOTE_SUDO "cd $BMC_PATCH_DIRECTORY && ln -sf HBD.bin HBD && ln -sf HBD.bin $HBD.lid"
106111
}
107112

108113
function PATCH_HBRT () {
@@ -123,11 +128,11 @@ function PATCH_HBRT () {
123128
}
124129

125130
function RESTART_PLDMD () {
126-
SSHPASS ssh "$HOSTNAME" "systemctl restart pldmd"
131+
REMOTE_SUDO "systemctl restart pldmd"
127132
}
128133

129134
function FETCH_LID_IDS_FROM_BMC () {
130-
LID_IDS=$(SSHPASS ssh "$HOSTNAME" pldmtool bios GetBIOSAttributeCurrentValueByHandle -a hb_lid_ids)
135+
LID_IDS=$(REMOTE_SUDO "pldmtool bios GetBIOSAttributeCurrentValueByHandle -a hb_lid_ids")
131136

132137
checkstatus "Fetching LIDs from BMC"
133138

@@ -164,7 +169,7 @@ function CHECK_REPO_FOR_STANDALONE_COMMIT () {
164169

165170
function SHOW_PATCHES_ON_BMC () {
166171
echo 'Current patches:'
167-
SSHPASS ssh "$HOSTNAME" ls -lat /usr/local/share/hostfw/running/
172+
REMOTE_SUDO "ls -lat /usr/local/share/hostfw/running/"
168173
}
169174

170175
# Main

0 commit comments

Comments
 (0)