Package: openstack-deploy Version: 0.25 Severity: important Tags: patch Dear Maintainer,
openstack-deploy all-in-one fails with unavailable packages. It depends on mongodb which is not present in debian buster and also not needed for the openstack-deploy to function. Short Description of changes src/openstack-deploy - Do not install mongodb - Nova service password needed since it is used two different places Could of cource be autogenerated and then used two places - ADMIN_TENANT_ID can be empty. Which also meens that openstack client is not needed as a prerequiste of openstack-deploy src/preseed-lib - wrong if statement for empty MYSQL_HOST - No need for writing /etc/dbconfig-common/${PKG_NAME}.conf Works perfectly well without. - Added more passwords to mysql and db app - Added preparations if MYSQL_HOST is not localhost/127.0.0.1 which is typical if compute node is used - in os_pressed_debconf_and_dbconfig_common use debconf-set first and then install. Instead of using dpkg-reconfigure Also seen must be AFTER setting value both here and a few other places - in function os_install_keystone. Do not install keystone. Let debian do it itself as depenency - os_preseed_nova/os_preseed_neutron NOVA_SERVICE_PASS - Added nova/placements and a few other nova presets. Have not done a binary search to if some of them can be omitted. - A spelling error in os_preseed_set_dbconfig_conf nova-api - Added os_preseed_set_dbconfig_conf nova-placement-api - Added a few presets in os_preseed_heat debian/control - removed puppet-module-puppetlabs-mongodb, since mongodb is not present in buster Patches attached diff --git a/debian/changelog b/debian/changelog index dcee118..3aada5b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +openstack-meta-packages (0.25+nmu1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * changes to get openstack-deploy working + + -- Svein-Erik Skjelbred <svein-e...@skjelbred.com> Mon, 24 Jun 2019 10:25:45 +0200 + openstack-meta-packages (0.25) unstable; urgency=medium * Add puppet-module-panko to openstack-puppet-modules. diff --git a/debian/control b/debian/control index 9f46e73..708f141 100644 --- a/debian/control +++ b/debian/control @@ -210,7 +210,6 @@ Depends: puppet-module-puppetlabs-apache (>= 3.1.0), puppet-module-puppetlabs-concat, puppet-module-puppetlabs-haproxy, - puppet-module-puppetlabs-mongodb, puppet-module-puppetlabs-ntp, puppet-module-puppetlabs-rabbitmq, puppet-module-puppetlabs-rsync, diff --git a/src/openstack-deploy b/src/openstack-deploy index 46b3f01..29ef0a1 100755 --- a/src/openstack-deploy +++ b/src/openstack-deploy @@ -132,7 +132,7 @@ osinstall_install_services () { os_pressed_misc mysql_version osinstall_mysql_server - osinstall_install_if_not_installed mongodb +# osinstall_install_if_not_installed mongodb osinstall_install_if_not_installed rabbitmq-server osinstall_install_if_not_installed ntp osinstall_install_if_not_installed openstack-cloud-services @@ -182,18 +182,21 @@ osinstall_preseed_all () { ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} osinstall_rcvalue RC_NEUTRON_SQL_PASS "Neutron MySQL password [generated-password]: " yes osinstall_rcvalue RC_METADATA_SHARED_SECRET "Metadata proxy shared secret [generated-password]: " yes + # Needed bu both neutron and nova so must be equal + osinstall_rcvalue RC_NOVA_SERVICE_PASS "Nova service password [generated-password]: " yes # Get the tenant_id which is needed by neutron - ADMIN_TENANT_ID=$(openstack --os-tenant-name admin --os-username admin --os-password ${RC_KEYSTONE_ADMINPASS} --os-auth-url http://${RC_KEYSTONE_ENDPOINT_IP}:35357/v2.0 project show admin | grep id | awk '{print $4}') +# ADMIN_TENANT_ID=$(openstack --os-tenant-name admin --os-username admin --os-password ${RC_KEYSTONE_ADMINPASS} --os-auth-url http://${RC_KEYSTONE_ENDPOINT_IP}:35357/v2.0 project show admin | grep id | awk '{print $4}') + ADMIN_TENANT_ID="" # TODO: make it work with any IP for the nova-api server (eg: replace the 127.0.0.1 below) os_preseed_neutron ${RC_NEUTRON_SQL_PASS} ${RC_MYSQL_PASSWORD} ${RC_MYSQL_SERVER_HOSTNAME} \ ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ - ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_METADATA_SHARED_SECRET} http://127.0.0.1:8774/v2 ${ADMIN_TENANT_ID} + ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_METADATA_SHARED_SECRET} http://127.0.0.1:8774/v2 "${ADMIN_TENANT_ID}" ${RC_NOVA_SERVICE_PASS} osinstall_rcvalue RC_NOVA_SQL_PASS "Nova MySQL password [generated-password]: " yes osinstall_rcvalue RC_NOVAAPI_SQL_PASS "Nova API MySQL password [generated-password]: " yes os_preseed_nova ${RC_NOVA_SQL_PASS} ${RC_NOVAAPI_SQL_PASS} ${RC_MYSQL_PASSWORD} ${RC_MYSQL_SERVER_HOSTNAME} \ ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ - ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_METADATA_SHARED_SECRET} + ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_METADATA_SHARED_SECRET} ${RC_NOVA_SERVICE_PASS} osinstall_rcvalue RC_CINDER_SQL_PASS "Cinder MySQL password [generated-password]: " yes os_preseed_cinder ${RC_CINDER_SQL_PASS} ${RC_MYSQL_PASSWORD} ${RC_MYSQL_SERVER_HOSTNAME} \ ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ @@ -212,16 +215,17 @@ osinstall_preseed_all () { } osinstall_preseed_compute () { + osinstall_rcvalue RC_NOVA_SERVICE_PASS "Nova service password [generated-password]: " yes osinstall_rcvalue RC_NOVA_SQL_PASS "Nova MySQL password [generated-password]: " yes os_preseed_nova ${RC_NOVA_SQL_PASS} ${RC_MYSQL_PASSWORD} ${RC_MYSQL_SERVER_HOSTNAME} \ ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ - ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} + ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_NOVA_SERVICE_PASS} os_preseed_ceilometer ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} osinstall_rcvalue RC_NEUTRON_SQL_PASS "Neutron MySQL password [generated-password]: " yes os_preseed_neutron ${RC_NEUTRON_SQL_PASS} ${RC_MYSQL_PASSWORD} ${RC_MYSQL_SERVER_HOSTNAME} \ ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ - ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} + ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_NOVA_SERVICE_PASS} } osinstall_preseed_more_services () { diff --git a/src/preseed-lib b/src/preseed-lib index 0e9c846..fa950e9 100755 --- a/src/preseed-lib +++ b/src/preseed-lib @@ -16,7 +16,9 @@ os_preseed_set_dbconfig_conf () { DB_USER=${5} MYSQL_PASSWORD=${6} if [ -z "${7}" ] ; then - MYSQL_HOST=${7} + MYSQL_HOST="" + else + MYSQL_HOST=${7} fi echo "# automatically generated by the maintainer scripts of ${PKG_NAME} # any changes you make will be preserved, though your comments @@ -95,27 +97,56 @@ dbc_authmethod_user='' ## ## end postgresql specific settings ## -" >/etc/dbconfig-common/${PKG_NAME}.conf +" >/tmp/${PKG_NAME}.conf TMPFILE=$(mktemp -t openstack-preseed-lib.XXXXXX) echo "${PKG_NAME} ${TMPL_NAME}/configure_db boolean true ${PKG_NAME} ${TMPL_NAME}/configure_db seen true -${PKG_NAME} dbconfig-common/dbconfig-install boolean true -${PKG_NAME} dbconfig-common/dbconfig-install seen true -${PKG_NAME} dbconfig-common/dbconfig-reinstall boolean true -${PKG_NAME} dbconfig-common/dbconfig-reinstall seen true -${PKG_NAME} dbconfig-common/dbconfig-upgrade boolean true -${PKG_NAME} dbconfig-common/dbconfig-upgrade seen true +${PKG_NAME} ${TMPL_NAME}/dbconfig-install boolean true +${PKG_NAME} ${TMPL_NAME}/dbconfig-install seen true +${PKG_NAME} ${TMPL_NAME}/dbconfig-reinstall boolean true +${PKG_NAME} ${TMPL_NAME}/dbconfig-reinstall seen true +${PKG_NAME} ${TMPL_NAME}/dbconfig-upgrade boolean true +${PKG_NAME} ${TMPL_NAME}/dbconfig-upgrade seen true ${PKG_NAME} ${PKG_NAME}/database-type select mysql ${PKG_NAME} ${PKG_NAME}/database-type seen true ${PKG_NAME} ${PKG_NAME}/mysql/admin-user string root ${PKG_NAME} ${PKG_NAME}/mysql/admin-user seen true ${PKG_NAME} ${PKG_NAME}/mysql/admin-pass string ${MYSQL_PASSWORD} ${PKG_NAME} ${PKG_NAME}/mysql/admin-pass seen true -${PKG_NAME} ${TMPL_NAME}/configure_db boolean true -${PKG_NAME} ${TMPL_NAME}/configure_db seen true +${PKG_NAME} ${PKG_NAME}/mysql/app-pass password ${SQL_PASS} +${PKG_NAME} ${PKG_NAME}/mysql/app-pass seen true +${PKG_NAME} ${PKG_NAME}/app-password-confirm password ${SQL_PASS} +${PKG_NAME} ${PKG_NAME}/app-password-confirm seen true +${PKG_NAME} ${PKG_NAME}/db/app-user string ${DB_USER} +${PKG_NAME} ${PKG_NAME}/db/app-user seen true +${PKG_NAME} ${PKG_NAME}/db/dbname string ${DB_NAME} +${PKG_NAME} ${PKG_NAME}/db/dbname seen true +${PKG_NAME} ${PKG_NAME}/password-confirm password ${MYSQL_PASSWORD} +${PKG_NAME} ${PKG_NAME}/password-confirm seen true +${PKG_NAME} ${PKG_NAME}/remember-admin-pass boolean true +${PKG_NAME} ${PKG_NAME}/remember-admin-pass seen true +${PKG_NAME} ${PKG_NAME}/dbconfig-reinstall boolean true +${PKG_NAME} ${PKG_NAME}/dbconfig-reinstall seen true " >${TMPFILE} debconf-set-selections ${TMPFILE} rm ${TMPFILE} + if [ "${MYSQL_HOST}" == "127.0.0.1" ] || + [ "${MYSQL_HOST}" == "localhost" ];then + echo "${PKG_NAME} ${PKG_NAME}/mysql/method select Unix socket +${PKG_NAME} ${PKG_NAME}/mysql/method seen true +" | debconf-set-selections + + else + echo "${PKG_NAME} ${PKG_NAME}/mysql/method select TCP/IP +${PKG_NAME} ${PKG_NAME}/mysql/method seen true +${PKG_NAME} ${PKG_NAME}/remote/newhost string ${MYSQL_HOST} +${PKG_NAME} ${PKG_NAME}/remote/newhost seen true +${PKG_NAME} ${PKG_NAME}/remote/host string ${MYSQL_HOST} +${PKG_NAME} ${PKG_NAME}/remote/host seen true +${PKG_NAME} ${PKG_NAME}/remote/port string +${PKG_NAME} ${PKG_NAME}/remote/port seen true +" | debconf-set-selections + fi } os_preseed_endpoint () { @@ -210,7 +241,6 @@ ${PKG_NAME} ${TMPL_NAME}/rabbit-password seen true } os_pressed_debconf_and_dbconfig_common () { - $APTGET install -y debconf dbconfig-common echo "debconf debconf/priority select medium debconf debconf/priority seen true debconf debconf-apt-progress/title string fake @@ -220,17 +250,18 @@ debconf debconf-apt-progress/preparing seen true " | debconf-set-selections dpkg-reconfigure -f noninteractive debconf - echo "dbconfig-common dbconfig-common/remote-questions-default seen true -dbconfig-common dbconfig-common/remote-questions-default boolean true -dbconfig-common dbconfig-common/remember-admin-pass seen true + echo "dbconfig-common dbconfig-common/remote-questions-default boolean true +dbconfig-common dbconfig-common/remote-questions-default seen true dbconfig-common dbconfig-common/remember-admin-pass boolean true +dbconfig-common dbconfig-common/remember-admin-pass seen true " | debconf-set-selections - dpkg-reconfigure -f noninteractive dbconfig-common +# dpkg-reconfigure -f noninteractive dbconfig-common + $APTGET install -y debconf dbconfig-common } os_pressed_man_db () { - echo "man-db man-db/install-setuid seen true -man-db man-db/install-setuid boolean false + echo "man-db man-db/install-setuid boolean false +man-db man-db/install-setuid seen true " | debconf-set-selections || true } @@ -304,7 +335,7 @@ keystone keystone/region-name seen true rm ${TMPFILE} os_preseed_set_dbconfig_conf keystone keystone ${KEYSTONE_SQL_PASS} keystonedb keystone ${MYSQL_PASSWORD} ${MYSQL_HOST} - DEBIAN_FRONTEND=noninteractive $APTGET install -y keystone +# DEBIAN_FRONTEND=noninteractive $APTGET install -y keystone } os_preseed_glance () { @@ -330,7 +361,7 @@ glance-common glance/paste-flavor seen true } os_preseed_nova () { - local NOVA_SQL_PASS NOVA_API_SQL_PASS MYSQL_PASSWORD MYSQL_HOST KEYSTONE_ENDPOINT_IP KEYSTONE_REGION KEYSTONE_ADMIN_PASS KEYSTONE_AUTH_TOKEN RBT_HOST RBT_LOGIN RBT_PASS + local NOVA_SQL_PASS NOVA_API_SQL_PASS MYSQL_PASSWORD MYSQL_HOST KEYSTONE_ENDPOINT_IP KEYSTONE_REGION KEYSTONE_ADMIN_PASS KEYSTONE_AUTH_TOKEN RBT_HOST RBT_LOGIN RBT_PASS NOVA_SERVICE_PASS NOVA_SQL_PASS=${1} NOVA_API_SQL_PASS=${2} MYSQL_PASSWORD=${3} @@ -343,6 +374,7 @@ os_preseed_nova () { RBT_LOGIN=${10} RBT_PASS=${11} METADATA_SHARED_SECRET=${12} + NOVA_SERVICE_PASS=${13} TMPFILE=$(mktemp -t openstack-preseed-lib.XXXXXX) echo "nova-common nova/active-api multiselect osapi_compute, metadata @@ -358,21 +390,40 @@ nova-common nova/neutron_admin_username seen true nova-common nova/neutron_admin_password password ${KEYSTONE_ADMIN_PASS} nova-common nova/neutron_admin_password seen true nova-common nova/metadata_secret password ${METADATA_SHARED_SECRET} -nova-common nova/metadata_secret seen true +nova-common nova/metadata_secret seen true +nova-common nova/my-ip string ${KEYSTONE_ENDPOINT_IP} +nova-common nova/my-ip seen true +nova-common nova/placement_admin_password password ${KEYSTONE_ADMIN_PASS} +nova-common nova/placement_admin_password seen true +nova-common nova/placement_admin_tenant_name string service +nova-common nova/placement_admin_tenant_name seen true +nova-common nova/placement_os_region_name string ${KEYSTONE_REGION} +nova-common nova/placement_os_region_name seen true +nova-common nova/placement_admin_username string placement +nova-common nova/placement_admin_username seen true +nova-common nova/cinder_os_region_name string ${KEYSTONE_REGION} +nova-common nova/cinder_os_region_name seen true +nova-common nova/glance_api_servers string http://${KEYSTONE_ENDPOINT_IP}:9292 +nova-common nova/glance_api_servers seen true +nova-api novaapi/configure_db boolean true +nova-api novaapi/configure_db seen true +nova-placement-api nova-placement-api/configure_db boolean false +nova-placement-api nova-placement-api/configure_db seen true " >${TMPFILE} debconf-set-selections ${TMPFILE} rm ${TMPFILE} - os_preseed_set_dbconfig_conf nova-common nova ${NOVA_SQL_PASS} novadb nova ${MYSQL_PASSWORD} ${MYSQL_HOST} - os_preseed_set_dbconfig_conf nova-api novaapi ${NOVA_API_SQL_PASS} novaapidb novaapi ${MYSQL_PASSWORD} ${MYSQL_HOST} + os_preseed_set_dbconfig_conf nova-common nova ${NOVA_SQL_PASS} novadb nova ${MYSQL_PASSWORD} ${MYSQL_HOST} + os_preseed_set_dbconfig_conf nova-api nova-api ${NOVA_API_SQL_PASS} novaapidb novaapi ${MYSQL_PASSWORD} ${MYSQL_HOST} + os_preseed_set_dbconfig_conf nova-placement-api nova-placement-api ${NOVA_API_SQL_PASS} novaplacementdb novaplacement ${MYSQL_PASSWORD} ${MYSQL_HOST} os_preseed_endpoint nova-api nova ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} ${KEYSTONE_ADMIN_PASS} os_preseed_endpoint nova-placement-api nova-placement-api ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} ${KEYSTONE_ADMIN_PASS} - os_preseed_keystone_authtoken nova-common nova ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} admin admin ${KEYSTONE_ADMIN_PASS} nova service $(dd if=/dev/random bs=64 count=1 2>|/dev/null | md5sum | awk '{print $1}') + os_preseed_keystone_authtoken nova-common nova ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} admin admin ${KEYSTONE_ADMIN_PASS} nova service ${NOVA_SERVICE_PASS} os_preseed_rabbit_creds nova-common nova ${RBT_HOST} ${RBT_LOGIN} ${RBT_PASS} } os_preseed_neutron () { - local NEUTRON_SQL_PASS MYSQL_PASSWORD MYSQL_HOST KEYSTONE_ENDPOINT_IP KEYSTONE_REGION KEYSTONE_ADMIN_PASS KEYSTONE_AUTH_TOKEN RBT_HOST RBT_LOGIN RBT_PASS + local NEUTRON_SQL_PASS MYSQL_PASSWORD MYSQL_HOST KEYSTONE_ENDPOINT_IP KEYSTONE_REGION KEYSTONE_ADMIN_PASS KEYSTONE_AUTH_TOKEN RBT_HOST RBT_LOGIN RBT_PASS NOVA_SERVICE_PASS NEUTRON_SQL_PASS=${1} MYSQL_PASSWORD=${2} MYSQL_HOST=${3} @@ -386,6 +437,7 @@ os_preseed_neutron () { METADATA_SHARED_SECRET=${11} NOVA_URL=${12} NOVA_TENANT_ID=${13} + NOVA_SERVICE_PASS=${14} INSTALL_TYPE="multi-node" if [ "${INSTALL_TYPE}" = "single-node" ] ; then NETWORK_TYPE="local" @@ -408,6 +460,8 @@ neutron-metadata-agent neutron-metadata/metadata_secret password ${METADATA_SHAR neutron-metadata-agent neutron-metadata/metadata_secret seen true neutron-common neutron/nova_url string ${NOVA_URL} neutron-common neutron/nova_url seen true +neutron-common neutron/nova_auth_url string http://${KEYSTONE_ENDPOINT_IP}:5000 +neutron-common neutron/nova_auth_url seen true neutron-common neutron/nova_region string ${KEYSTONE_REGION} neutron-common neutron/nova_region seen true neutron-common neutron/nova_admin_tenant_id string ${NOVA_TENANT_ID} @@ -416,6 +470,8 @@ neutron-common neutron/nova_admin_username string admin neutron-common neutron/nova_admin_username seen true neutron-common neutron/nova_admin_password password ${KEYSTONE_ADMIN_PASS} neutron-common neutron/nova_admin_password seen true +neutron-common neutron/nova_service_password password ${NOVA_SERVICE_PASS} +neutron-common neutron/nova_service_password seen true " >${TMPFILE} debconf-set-selections ${TMPFILE} rm ${TMPFILE} @@ -473,6 +529,19 @@ os_preseed_heat () { RBT_LOGIN=${9} RBT_PASS=${10} + TMPFILE=$(mktemp -t openstack-preseed-lib.XXXXXX) + echo "heat-api heat/configure_api-endpoint boolean true +heat-api heat/configure_api-endpoint seen true +heat-api-cfn heat-api-cfn/api-keystone-admin-password password ${KEYSTONE_ADMIN_PASS} +heat-api-cfn heat-api-cfn/api-keystone-admin-password seen true +heat-api-cfn heat-api-cfn/configure_api-endpoint boolean true +heat-api-cfn heat-api-cfn/configure_api-endpoint seen true +heat-common heat/heat_domain_admin_password password ${KEYSTONE_ADMIN_PASS} +heat-common heat/heat_domain_admin_password seen true +" >${TMPFILE} + debconf-set-selections ${TMPFILE} + rm ${TMPFILE} + os_preseed_set_dbconfig_conf heat-common heat ${HEAT_SQL_PASS} heatdb heat ${MYSQL_PASSWORD} ${MYSQL_HOST} os_preseed_endpoint heat-api heat ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} ${KEYSTONE_ADMIN_PASS} os_preseed_endpoint heat-api-cfn heat-api-cfn ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} ${KEYSTONE_ADMIN_PASS} Regards Svein-Erik Skjelbred -- System Information: Debian Release: 10.0 APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-5-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages openstack-deploy depends on: ii e2fsprogs 1.44.5-1 pn ipcalc <none> pn openstack-pkg-tools <none> pn python-keystoneclient <none> pn xfsprogs <none> openstack-deploy recommends no packages. openstack-deploy suggests no packages.
diff --git a/debian/changelog b/debian/changelog index dcee118..3aada5b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +openstack-meta-packages (0.25+nmu1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * changes to get openstack-deploy working + + -- Svein-Erik Skjelbred <svein-e...@skjelbred.com> Mon, 24 Jun 2019 10:25:45 +0200 + openstack-meta-packages (0.25) unstable; urgency=medium * Add puppet-module-panko to openstack-puppet-modules. diff --git a/debian/control b/debian/control index 9f46e73..708f141 100644 --- a/debian/control +++ b/debian/control @@ -210,7 +210,6 @@ Depends: puppet-module-puppetlabs-apache (>= 3.1.0), puppet-module-puppetlabs-concat, puppet-module-puppetlabs-haproxy, - puppet-module-puppetlabs-mongodb, puppet-module-puppetlabs-ntp, puppet-module-puppetlabs-rabbitmq, puppet-module-puppetlabs-rsync, diff --git a/src/openstack-deploy b/src/openstack-deploy index 46b3f01..29ef0a1 100755 --- a/src/openstack-deploy +++ b/src/openstack-deploy @@ -132,7 +132,7 @@ osinstall_install_services () { os_pressed_misc mysql_version osinstall_mysql_server - osinstall_install_if_not_installed mongodb +# osinstall_install_if_not_installed mongodb osinstall_install_if_not_installed rabbitmq-server osinstall_install_if_not_installed ntp osinstall_install_if_not_installed openstack-cloud-services @@ -182,18 +182,21 @@ osinstall_preseed_all () { ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} osinstall_rcvalue RC_NEUTRON_SQL_PASS "Neutron MySQL password [generated-password]: " yes osinstall_rcvalue RC_METADATA_SHARED_SECRET "Metadata proxy shared secret [generated-password]: " yes + # Needed bu both neutron and nova so must be equal + osinstall_rcvalue RC_NOVA_SERVICE_PASS "Nova service password [generated-password]: " yes # Get the tenant_id which is needed by neutron - ADMIN_TENANT_ID=$(openstack --os-tenant-name admin --os-username admin --os-password ${RC_KEYSTONE_ADMINPASS} --os-auth-url http://${RC_KEYSTONE_ENDPOINT_IP}:35357/v2.0 project show admin | grep id | awk '{print $4}') +# ADMIN_TENANT_ID=$(openstack --os-tenant-name admin --os-username admin --os-password ${RC_KEYSTONE_ADMINPASS} --os-auth-url http://${RC_KEYSTONE_ENDPOINT_IP}:35357/v2.0 project show admin | grep id | awk '{print $4}') + ADMIN_TENANT_ID="" # TODO: make it work with any IP for the nova-api server (eg: replace the 127.0.0.1 below) os_preseed_neutron ${RC_NEUTRON_SQL_PASS} ${RC_MYSQL_PASSWORD} ${RC_MYSQL_SERVER_HOSTNAME} \ ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ - ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_METADATA_SHARED_SECRET} http://127.0.0.1:8774/v2 ${ADMIN_TENANT_ID} + ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_METADATA_SHARED_SECRET} http://127.0.0.1:8774/v2 "${ADMIN_TENANT_ID}" ${RC_NOVA_SERVICE_PASS} osinstall_rcvalue RC_NOVA_SQL_PASS "Nova MySQL password [generated-password]: " yes osinstall_rcvalue RC_NOVAAPI_SQL_PASS "Nova API MySQL password [generated-password]: " yes os_preseed_nova ${RC_NOVA_SQL_PASS} ${RC_NOVAAPI_SQL_PASS} ${RC_MYSQL_PASSWORD} ${RC_MYSQL_SERVER_HOSTNAME} \ ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ - ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_METADATA_SHARED_SECRET} + ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_METADATA_SHARED_SECRET} ${RC_NOVA_SERVICE_PASS} osinstall_rcvalue RC_CINDER_SQL_PASS "Cinder MySQL password [generated-password]: " yes os_preseed_cinder ${RC_CINDER_SQL_PASS} ${RC_MYSQL_PASSWORD} ${RC_MYSQL_SERVER_HOSTNAME} \ ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ @@ -212,16 +215,17 @@ osinstall_preseed_all () { } osinstall_preseed_compute () { + osinstall_rcvalue RC_NOVA_SERVICE_PASS "Nova service password [generated-password]: " yes osinstall_rcvalue RC_NOVA_SQL_PASS "Nova MySQL password [generated-password]: " yes os_preseed_nova ${RC_NOVA_SQL_PASS} ${RC_MYSQL_PASSWORD} ${RC_MYSQL_SERVER_HOSTNAME} \ ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ - ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} + ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_NOVA_SERVICE_PASS} os_preseed_ceilometer ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} osinstall_rcvalue RC_NEUTRON_SQL_PASS "Neutron MySQL password [generated-password]: " yes os_preseed_neutron ${RC_NEUTRON_SQL_PASS} ${RC_MYSQL_PASSWORD} ${RC_MYSQL_SERVER_HOSTNAME} \ ${RC_KEYSTONE_ENDPOINT_IP} ${RC_KEYSTONE_REGION} ${RC_KEYSTONE_ADMINPASS} ${RC_KEYSTONE_AUTHTOKEN} \ - ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} + ${RC_RABIT_HOST} ${RC_RABIT_USER} ${RC_RABIT_PASS} ${RC_NOVA_SERVICE_PASS} } osinstall_preseed_more_services () { diff --git a/src/preseed-lib b/src/preseed-lib index 0e9c846..fa950e9 100755 --- a/src/preseed-lib +++ b/src/preseed-lib @@ -16,7 +16,9 @@ os_preseed_set_dbconfig_conf () { DB_USER=${5} MYSQL_PASSWORD=${6} if [ -z "${7}" ] ; then - MYSQL_HOST=${7} + MYSQL_HOST="" + else + MYSQL_HOST=${7} fi echo "# automatically generated by the maintainer scripts of ${PKG_NAME} # any changes you make will be preserved, though your comments @@ -95,27 +97,56 @@ dbc_authmethod_user='' ## ## end postgresql specific settings ## -" >/etc/dbconfig-common/${PKG_NAME}.conf +" >/tmp/${PKG_NAME}.conf TMPFILE=$(mktemp -t openstack-preseed-lib.XXXXXX) echo "${PKG_NAME} ${TMPL_NAME}/configure_db boolean true ${PKG_NAME} ${TMPL_NAME}/configure_db seen true -${PKG_NAME} dbconfig-common/dbconfig-install boolean true -${PKG_NAME} dbconfig-common/dbconfig-install seen true -${PKG_NAME} dbconfig-common/dbconfig-reinstall boolean true -${PKG_NAME} dbconfig-common/dbconfig-reinstall seen true -${PKG_NAME} dbconfig-common/dbconfig-upgrade boolean true -${PKG_NAME} dbconfig-common/dbconfig-upgrade seen true +${PKG_NAME} ${TMPL_NAME}/dbconfig-install boolean true +${PKG_NAME} ${TMPL_NAME}/dbconfig-install seen true +${PKG_NAME} ${TMPL_NAME}/dbconfig-reinstall boolean true +${PKG_NAME} ${TMPL_NAME}/dbconfig-reinstall seen true +${PKG_NAME} ${TMPL_NAME}/dbconfig-upgrade boolean true +${PKG_NAME} ${TMPL_NAME}/dbconfig-upgrade seen true ${PKG_NAME} ${PKG_NAME}/database-type select mysql ${PKG_NAME} ${PKG_NAME}/database-type seen true ${PKG_NAME} ${PKG_NAME}/mysql/admin-user string root ${PKG_NAME} ${PKG_NAME}/mysql/admin-user seen true ${PKG_NAME} ${PKG_NAME}/mysql/admin-pass string ${MYSQL_PASSWORD} ${PKG_NAME} ${PKG_NAME}/mysql/admin-pass seen true -${PKG_NAME} ${TMPL_NAME}/configure_db boolean true -${PKG_NAME} ${TMPL_NAME}/configure_db seen true +${PKG_NAME} ${PKG_NAME}/mysql/app-pass password ${SQL_PASS} +${PKG_NAME} ${PKG_NAME}/mysql/app-pass seen true +${PKG_NAME} ${PKG_NAME}/app-password-confirm password ${SQL_PASS} +${PKG_NAME} ${PKG_NAME}/app-password-confirm seen true +${PKG_NAME} ${PKG_NAME}/db/app-user string ${DB_USER} +${PKG_NAME} ${PKG_NAME}/db/app-user seen true +${PKG_NAME} ${PKG_NAME}/db/dbname string ${DB_NAME} +${PKG_NAME} ${PKG_NAME}/db/dbname seen true +${PKG_NAME} ${PKG_NAME}/password-confirm password ${MYSQL_PASSWORD} +${PKG_NAME} ${PKG_NAME}/password-confirm seen true +${PKG_NAME} ${PKG_NAME}/remember-admin-pass boolean true +${PKG_NAME} ${PKG_NAME}/remember-admin-pass seen true +${PKG_NAME} ${PKG_NAME}/dbconfig-reinstall boolean true +${PKG_NAME} ${PKG_NAME}/dbconfig-reinstall seen true " >${TMPFILE} debconf-set-selections ${TMPFILE} rm ${TMPFILE} + if [ "${MYSQL_HOST}" == "127.0.0.1" ] || + [ "${MYSQL_HOST}" == "localhost" ];then + echo "${PKG_NAME} ${PKG_NAME}/mysql/method select Unix socket +${PKG_NAME} ${PKG_NAME}/mysql/method seen true +" | debconf-set-selections + + else + echo "${PKG_NAME} ${PKG_NAME}/mysql/method select TCP/IP +${PKG_NAME} ${PKG_NAME}/mysql/method seen true +${PKG_NAME} ${PKG_NAME}/remote/newhost string ${MYSQL_HOST} +${PKG_NAME} ${PKG_NAME}/remote/newhost seen true +${PKG_NAME} ${PKG_NAME}/remote/host string ${MYSQL_HOST} +${PKG_NAME} ${PKG_NAME}/remote/host seen true +${PKG_NAME} ${PKG_NAME}/remote/port string +${PKG_NAME} ${PKG_NAME}/remote/port seen true +" | debconf-set-selections + fi } os_preseed_endpoint () { @@ -210,7 +241,6 @@ ${PKG_NAME} ${TMPL_NAME}/rabbit-password seen true } os_pressed_debconf_and_dbconfig_common () { - $APTGET install -y debconf dbconfig-common echo "debconf debconf/priority select medium debconf debconf/priority seen true debconf debconf-apt-progress/title string fake @@ -220,17 +250,18 @@ debconf debconf-apt-progress/preparing seen true " | debconf-set-selections dpkg-reconfigure -f noninteractive debconf - echo "dbconfig-common dbconfig-common/remote-questions-default seen true -dbconfig-common dbconfig-common/remote-questions-default boolean true -dbconfig-common dbconfig-common/remember-admin-pass seen true + echo "dbconfig-common dbconfig-common/remote-questions-default boolean true +dbconfig-common dbconfig-common/remote-questions-default seen true dbconfig-common dbconfig-common/remember-admin-pass boolean true +dbconfig-common dbconfig-common/remember-admin-pass seen true " | debconf-set-selections - dpkg-reconfigure -f noninteractive dbconfig-common +# dpkg-reconfigure -f noninteractive dbconfig-common + $APTGET install -y debconf dbconfig-common } os_pressed_man_db () { - echo "man-db man-db/install-setuid seen true -man-db man-db/install-setuid boolean false + echo "man-db man-db/install-setuid boolean false +man-db man-db/install-setuid seen true " | debconf-set-selections || true } @@ -304,7 +335,7 @@ keystone keystone/region-name seen true rm ${TMPFILE} os_preseed_set_dbconfig_conf keystone keystone ${KEYSTONE_SQL_PASS} keystonedb keystone ${MYSQL_PASSWORD} ${MYSQL_HOST} - DEBIAN_FRONTEND=noninteractive $APTGET install -y keystone +# DEBIAN_FRONTEND=noninteractive $APTGET install -y keystone } os_preseed_glance () { @@ -330,7 +361,7 @@ glance-common glance/paste-flavor seen true } os_preseed_nova () { - local NOVA_SQL_PASS NOVA_API_SQL_PASS MYSQL_PASSWORD MYSQL_HOST KEYSTONE_ENDPOINT_IP KEYSTONE_REGION KEYSTONE_ADMIN_PASS KEYSTONE_AUTH_TOKEN RBT_HOST RBT_LOGIN RBT_PASS + local NOVA_SQL_PASS NOVA_API_SQL_PASS MYSQL_PASSWORD MYSQL_HOST KEYSTONE_ENDPOINT_IP KEYSTONE_REGION KEYSTONE_ADMIN_PASS KEYSTONE_AUTH_TOKEN RBT_HOST RBT_LOGIN RBT_PASS NOVA_SERVICE_PASS NOVA_SQL_PASS=${1} NOVA_API_SQL_PASS=${2} MYSQL_PASSWORD=${3} @@ -343,6 +374,7 @@ os_preseed_nova () { RBT_LOGIN=${10} RBT_PASS=${11} METADATA_SHARED_SECRET=${12} + NOVA_SERVICE_PASS=${13} TMPFILE=$(mktemp -t openstack-preseed-lib.XXXXXX) echo "nova-common nova/active-api multiselect osapi_compute, metadata @@ -358,21 +390,40 @@ nova-common nova/neutron_admin_username seen true nova-common nova/neutron_admin_password password ${KEYSTONE_ADMIN_PASS} nova-common nova/neutron_admin_password seen true nova-common nova/metadata_secret password ${METADATA_SHARED_SECRET} -nova-common nova/metadata_secret seen true +nova-common nova/metadata_secret seen true +nova-common nova/my-ip string ${KEYSTONE_ENDPOINT_IP} +nova-common nova/my-ip seen true +nova-common nova/placement_admin_password password ${KEYSTONE_ADMIN_PASS} +nova-common nova/placement_admin_password seen true +nova-common nova/placement_admin_tenant_name string service +nova-common nova/placement_admin_tenant_name seen true +nova-common nova/placement_os_region_name string ${KEYSTONE_REGION} +nova-common nova/placement_os_region_name seen true +nova-common nova/placement_admin_username string placement +nova-common nova/placement_admin_username seen true +nova-common nova/cinder_os_region_name string ${KEYSTONE_REGION} +nova-common nova/cinder_os_region_name seen true +nova-common nova/glance_api_servers string http://${KEYSTONE_ENDPOINT_IP}:9292 +nova-common nova/glance_api_servers seen true +nova-api novaapi/configure_db boolean true +nova-api novaapi/configure_db seen true +nova-placement-api nova-placement-api/configure_db boolean false +nova-placement-api nova-placement-api/configure_db seen true " >${TMPFILE} debconf-set-selections ${TMPFILE} rm ${TMPFILE} - os_preseed_set_dbconfig_conf nova-common nova ${NOVA_SQL_PASS} novadb nova ${MYSQL_PASSWORD} ${MYSQL_HOST} - os_preseed_set_dbconfig_conf nova-api novaapi ${NOVA_API_SQL_PASS} novaapidb novaapi ${MYSQL_PASSWORD} ${MYSQL_HOST} + os_preseed_set_dbconfig_conf nova-common nova ${NOVA_SQL_PASS} novadb nova ${MYSQL_PASSWORD} ${MYSQL_HOST} + os_preseed_set_dbconfig_conf nova-api nova-api ${NOVA_API_SQL_PASS} novaapidb novaapi ${MYSQL_PASSWORD} ${MYSQL_HOST} + os_preseed_set_dbconfig_conf nova-placement-api nova-placement-api ${NOVA_API_SQL_PASS} novaplacementdb novaplacement ${MYSQL_PASSWORD} ${MYSQL_HOST} os_preseed_endpoint nova-api nova ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} ${KEYSTONE_ADMIN_PASS} os_preseed_endpoint nova-placement-api nova-placement-api ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} ${KEYSTONE_ADMIN_PASS} - os_preseed_keystone_authtoken nova-common nova ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} admin admin ${KEYSTONE_ADMIN_PASS} nova service $(dd if=/dev/random bs=64 count=1 2>|/dev/null | md5sum | awk '{print $1}') + os_preseed_keystone_authtoken nova-common nova ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} admin admin ${KEYSTONE_ADMIN_PASS} nova service ${NOVA_SERVICE_PASS} os_preseed_rabbit_creds nova-common nova ${RBT_HOST} ${RBT_LOGIN} ${RBT_PASS} } os_preseed_neutron () { - local NEUTRON_SQL_PASS MYSQL_PASSWORD MYSQL_HOST KEYSTONE_ENDPOINT_IP KEYSTONE_REGION KEYSTONE_ADMIN_PASS KEYSTONE_AUTH_TOKEN RBT_HOST RBT_LOGIN RBT_PASS + local NEUTRON_SQL_PASS MYSQL_PASSWORD MYSQL_HOST KEYSTONE_ENDPOINT_IP KEYSTONE_REGION KEYSTONE_ADMIN_PASS KEYSTONE_AUTH_TOKEN RBT_HOST RBT_LOGIN RBT_PASS NOVA_SERVICE_PASS NEUTRON_SQL_PASS=${1} MYSQL_PASSWORD=${2} MYSQL_HOST=${3} @@ -386,6 +437,7 @@ os_preseed_neutron () { METADATA_SHARED_SECRET=${11} NOVA_URL=${12} NOVA_TENANT_ID=${13} + NOVA_SERVICE_PASS=${14} INSTALL_TYPE="multi-node" if [ "${INSTALL_TYPE}" = "single-node" ] ; then NETWORK_TYPE="local" @@ -408,6 +460,8 @@ neutron-metadata-agent neutron-metadata/metadata_secret password ${METADATA_SHAR neutron-metadata-agent neutron-metadata/metadata_secret seen true neutron-common neutron/nova_url string ${NOVA_URL} neutron-common neutron/nova_url seen true +neutron-common neutron/nova_auth_url string http://${KEYSTONE_ENDPOINT_IP}:5000 +neutron-common neutron/nova_auth_url seen true neutron-common neutron/nova_region string ${KEYSTONE_REGION} neutron-common neutron/nova_region seen true neutron-common neutron/nova_admin_tenant_id string ${NOVA_TENANT_ID} @@ -416,6 +470,8 @@ neutron-common neutron/nova_admin_username string admin neutron-common neutron/nova_admin_username seen true neutron-common neutron/nova_admin_password password ${KEYSTONE_ADMIN_PASS} neutron-common neutron/nova_admin_password seen true +neutron-common neutron/nova_service_password password ${NOVA_SERVICE_PASS} +neutron-common neutron/nova_service_password seen true " >${TMPFILE} debconf-set-selections ${TMPFILE} rm ${TMPFILE} @@ -473,6 +529,19 @@ os_preseed_heat () { RBT_LOGIN=${9} RBT_PASS=${10} + TMPFILE=$(mktemp -t openstack-preseed-lib.XXXXXX) + echo "heat-api heat/configure_api-endpoint boolean true +heat-api heat/configure_api-endpoint seen true +heat-api-cfn heat-api-cfn/api-keystone-admin-password password ${KEYSTONE_ADMIN_PASS} +heat-api-cfn heat-api-cfn/api-keystone-admin-password seen true +heat-api-cfn heat-api-cfn/configure_api-endpoint boolean true +heat-api-cfn heat-api-cfn/configure_api-endpoint seen true +heat-common heat/heat_domain_admin_password password ${KEYSTONE_ADMIN_PASS} +heat-common heat/heat_domain_admin_password seen true +" >${TMPFILE} + debconf-set-selections ${TMPFILE} + rm ${TMPFILE} + os_preseed_set_dbconfig_conf heat-common heat ${HEAT_SQL_PASS} heatdb heat ${MYSQL_PASSWORD} ${MYSQL_HOST} os_preseed_endpoint heat-api heat ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} ${KEYSTONE_ADMIN_PASS} os_preseed_endpoint heat-api-cfn heat-api-cfn ${KEYSTONE_ENDPOINT_IP} ${KEYSTONE_REGION} ${KEYSTONE_ADMIN_PASS}