Gets rid of redundant globals and avoids regenerating an ssh key
for ironic if one exists. Also allows key file to be user-specified,
letting ironic use pregenerated keys.
Change-Id: Iaa6f8918bf14dae2116269a0be5039fc5afaecfa
| ... | ... |
@@ -60,7 +60,7 @@ IRONIC_ENABLED_DRIVERS=${IRONIC_ENABLED_DRIVERS:-fake,pxe_ssh,pxe_ipmitool}
|
| 60 | 60 |
IRONIC_SSH_USERNAME=${IRONIC_SSH_USERNAME:-`whoami`}
|
| 61 | 61 |
IRONIC_SSH_KEY_DIR=${IRONIC_SSH_KEY_DIR:-$IRONIC_DATA_DIR/ssh_keys}
|
| 62 | 62 |
IRONIC_SSH_KEY_FILENAME=${IRONIC_SSH_KEY_FILENAME:-ironic_key}
|
| 63 |
-IRONIC_KEY_FILE=$IRONIC_SSH_KEY_DIR/$IRONIC_SSH_KEY_FILENAME |
|
| 63 |
+IRONIC_KEY_FILE=${IRONIC_KEY_FILE:-$IRONIC_SSH_KEY_DIR/$IRONIC_SSH_KEY_FILENAME}
|
|
| 64 | 64 |
IRONIC_SSH_VIRT_TYPE=${IRONIC_SSH_VIRT_TYPE:-virsh}
|
| 65 | 65 |
IRONIC_TFTPBOOT_DIR=${IRONIC_TFTPBOOT_DIR:-$IRONIC_DATA_DIR/tftpboot}
|
| 66 | 66 |
IRONIC_TFTPSERVER_IP=${IRONIC_TFTPSERVER_IP:-$HOST_IP}
|
| ... | ... |
@@ -632,15 +632,16 @@ function configure_tftpd {
|
| 632 | 632 |
} |
| 633 | 633 |
|
| 634 | 634 |
function configure_ironic_ssh_keypair {
|
| 635 |
- # Generating ssh key pair for stack user |
|
| 636 |
- if [[ ! -d $IRONIC_SSH_KEY_DIR ]]; then |
|
| 637 |
- mkdir -p $IRONIC_SSH_KEY_DIR |
|
| 638 |
- fi |
|
| 639 | 635 |
if [[ ! -d $HOME/.ssh ]]; then |
| 640 | 636 |
mkdir -p $HOME/.ssh |
| 641 | 637 |
chmod 700 $HOME/.ssh |
| 642 | 638 |
fi |
| 643 |
- echo -e 'n\n' | ssh-keygen -q -t rsa -P '' -f $IRONIC_KEY_FILE |
|
| 639 |
+ if [[ ! -e $IRONIC_KEY_FILE ]]; then |
|
| 640 |
+ if [[ ! -d $(dirname $IRONIC_KEY_FILE) ]]; then |
|
| 641 |
+ mkdir -p $(dirname $IRONIC_KEY_FILE) |
|
| 642 |
+ fi |
|
| 643 |
+ echo -e 'n\n' | ssh-keygen -q -t rsa -P '' -f $IRONIC_KEY_FILE |
|
| 644 |
+ fi |
|
| 644 | 645 |
cat $IRONIC_KEY_FILE.pub | tee -a $IRONIC_AUTHORIZED_KEYS_FILE |
| 645 | 646 |
} |
| 646 | 647 |
|
| ... | ... |
@@ -657,7 +658,7 @@ function ironic_ssh_check {
|
| 657 | 657 |
|
| 658 | 658 |
function configure_ironic_auxiliary {
|
| 659 | 659 |
configure_ironic_ssh_keypair |
| 660 |
- ironic_ssh_check $IRONIC_SSH_KEY_DIR/$IRONIC_SSH_KEY_FILENAME $IRONIC_VM_SSH_ADDRESS $IRONIC_VM_SSH_PORT $IRONIC_SSH_USERNAME 10 |
|
| 660 |
+ ironic_ssh_check $IRONIC_KEY_FILE $IRONIC_VM_SSH_ADDRESS $IRONIC_VM_SSH_PORT $IRONIC_SSH_USERNAME 10 |
|
| 661 | 661 |
} |
| 662 | 662 |
|
| 663 | 663 |
function build_ipa_coreos_ramdisk {
|