Browse code

Merge "create install_default_policy"

Jenkins authored on 2015/03/20 03:22:51
Showing 2 changed files
... ...
@@ -588,6 +588,28 @@ function get_field {
588 588
     done
589 589
 }
590 590
 
591
+# install default policy
592
+# copy over a default policy.json and policy.d for projects
593
+function install_default_policy {
594
+    local project=$1
595
+    local project_uc=$(echo $1|tr a-z A-Z)
596
+    local conf_dir="${project_uc}_CONF_DIR"
597
+    # eval conf dir to get the variable
598
+    conf_dir="${!conf_dir}"
599
+    local project_dir="${project_uc}_DIR"
600
+    # eval project dir to get the variable
601
+    project_dir="${!project_dir}"
602
+    local sample_conf_dir="${project_dir}/etc/${project}"
603
+    local sample_policy_dir="${project_dir}/etc/${project}/policy.d"
604
+
605
+    # first copy any policy.json
606
+    cp -p $sample_conf_dir/policy.json $conf_dir
607
+    # then optionally copy over policy.d
608
+    if [[ -d $sample_policy_dir ]]; then
609
+        cp -r $sample_policy_dir $conf_dir/policy.d
610
+    fi
611
+}
612
+
591 613
 # Add a policy to a policy.json file
592 614
 # Do nothing if the policy already exists
593 615
 # ``policy_add policy_file policy_name policy_permissions``
... ...
@@ -261,7 +261,7 @@ function configure_nova {
261 261
     fi
262 262
     sudo chown $STACK_USER $NOVA_CONF_DIR
263 263
 
264
-    cp -p $NOVA_DIR/etc/nova/policy.json $NOVA_CONF_DIR
264
+    install_default_policy nova
265 265
 
266 266
     configure_nova_rootwrap
267 267