Browse code

Add sudoers.d entry for Ironic conductor

Ironic conductor requires sudo access for ironic-rootwrap.

Change-Id: Ic6f24a864ca0255e2a8e69969f347bcaf8493e1f

Adam Gandelman authored on 2014/04/15 08:14:33
Showing 1 changed files
... ...
@@ -170,6 +170,15 @@ function configure_ironic_api {
170 170
 function configure_ironic_conductor {
171 171
     cp $IRONIC_DIR/etc/ironic/rootwrap.conf $IRONIC_ROOTWRAP_CONF
172 172
     cp -r $IRONIC_DIR/etc/ironic/rootwrap.d $IRONIC_CONF_DIR
173
+    IRONIC_ROOTWRAP=$(get_rootwrap_location ironic)
174
+    ROOTWRAP_ISUDOER_CMD="$IRONIC_ROOTWRAP $IRONIC_CONF_DIR/rootwrap.conf *"
175
+
176
+    # Set up the rootwrap sudoers for ironic
177
+    TEMPFILE=`mktemp`
178
+    echo "$STACK_USER ALL=(root) NOPASSWD: $ROOTWRAP_ISUDOER_CMD" >$TEMPFILE
179
+    chmod 0440 $TEMPFILE
180
+    sudo chown root:root $TEMPFILE
181
+    sudo mv $TEMPFILE /etc/sudoers.d/ironic-rootwrap
173 182
 
174 183
     iniset $IRONIC_CONF_FILE DEFAULT rootwrap_config $IRONIC_ROOTWRAP_CONF
175 184
     iniset $IRONIC_CONF_FILE DEFAULT drivers_whitelist $IRONIC_DRIVERS_WHITELIST